Cardless Cash Withdraw v1.0
What is Cardless Cash Withdrawal?
The rapid growth of digital transactions in Indonesia has encouraged BRI to innovate in providing convenience for transactions to the public. The increase in the use of mobile financial applications is one of the factors for changing people's behavior in fulfilling daily transaction life. With these conditions, BRI offers cardless cash withdrawal features at ATM machines and BRI CRM which can be done by BRI customers and BRI business partners. Business partners who have collaborated with BRI can take advantage of this service to make it easier for users to make cash withdrawals through BRI ATMs/CRMs. Service users from BRI Business Partners can enter the virtual account number that is displayed on the Business Partner application and then use it to access the cardless cash withdrawal feature available at BRI ATMs/CRMs. With this service, users of the Business Partner application can comfortably withdraw wallet balances in cash at BRI ATMs throughout Indonesia.
API Information
Title |
Cardless Cash Withdraw |
---|---|
Version |
v1.0 |
URL Sandbox |
Provided by Partner |
URL Production |
Version Control
Doc Version |
API Version |
Date |
Link to document |
Description |
---|---|---|---|---|
v1.0 |
v1.0 |
October 11th 2021 |
this pages |
Baseline version. |
Product Description
Product Overview
It is an API product provided by BRI and third parties (BRI business partners) that allows BRI customers to withdraw cash without a card at BRI ATMs through third-party applications. Third parties can create APIs based on the following specifications on third-party systems so that BRI can make API calls.
Endpoint
A. Auth Token
Endpoint Description
API Get Token Cardless Withdrawal used to get OAuth2.0 tokens for making signatures.
General Information
HTTP Method |
POST |
---|---|
Path |
http://{base_url_partner}/v1/cardless/token |
Type Format |
JSON |
Authentication |
- |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
- |
- |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
providerId |
String |
M |
- |
||
secretKey |
String |
M |
- |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
accessToken |
String |
M |
- |
- |
|
responseCode |
String |
M |
- |
||
responseMessage |
String |
M |
- |
||
expiredIn |
String |
M |
- |
expired token in second |
Request & Response Payload Sample
Request type:
{ "providerId":"QwErTy123", "secretKey":"PoIuY098" }
Normal Response :
{ "responseCode":"00", "responseMessage":"success", "accessToken":"lfbo1985ujlnbviovQOUB12oifnfiqIO", "expiredIn":"180" }
Error Response :
{ "responseCode":"01" "responseMessage":"Invalid providerId or secretKey" }
List of Error/Response Code
HTTP Status |
Code |
Status |
Response Description |
Description |
---|---|---|---|---|
200 |
00 |
Success |
Success |
Success if you get RC 00, otherwise it fails |
400 |
01 |
Failed |
Invalid providerId or secretKey |
Transaction Failed |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
B. Cardless Withdrawal
Endpoint Description
API Cardless Withdrawal is an API that is used to update data to 3rd parties for cash withdrawal processed at ATMs.
General Information
HTTP Method |
POST |
---|---|
Path |
http://{base_url_partner}/v1/cardless/withdrawal |
Type Format |
JSON |
Authentication |
Bearer Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
signature |
signature |
M |
- |
Signature https://developers.bri.co.id/docs/dokumentasi#signature |
|
timestamp |
ISO 8601 |
- |
|||
Content-Type |
application/json |
M |
- |
- |
- |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
token |
String |
M |
9 |
OTP Code |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
2 |
Response Code |
- |
responseMessage |
String |
M |
50 |
Response message |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
amount |
String |
M |
22 |
Transaction Amount |
|
trxDate |
String |
M |
23 |
Transaction Date (Format: yyyy-MM-dd HH:mm:ss.fff) |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID, unique for each transaction |
|
linkRefNum |
String |
M |
25 |
Reference Number |
Request & Response Payload Sample
Request type:
{ "token":"9203310116", "msisdn":"8118821681", "merchantTrxID":"1000000007" }
Normal Response :
{ "responseCode":"00", "responseMessage":"success", "msisdn":"8118821681", "amount":"50000.00", "trxDate":"2019-10-14 15:20:40.043", "merchantTrxID":"0000000007", "linkRefNum":"5GP7L02UR75GP7L02UR7" }
Error Response :
{ "responseCode":"14", "responseMessage":"virtual account not found" }
List of Error/Response Code
HTTP Status |
Code |
Status |
Response Description |
Description |
---|---|---|---|---|
200 |
00 |
Success |
success |
Success if you get RC 00, otherwise it fails |
400 |
12 |
Failed |
Invalid Request/Unauthorized/Invalid Signature |
Transaction Failed |
400 |
14 |
Failed |
Virtual Account Not Found |
Transaction Failed |
400 |
16 |
Failed |
Token Expired |
Transaction Failed |
400 |
18 |
Failed |
Insufficient Balance |
Transaction Failed |
400 |
20 |
Failed |
Duplicate Transaction Id |
Transaction Failed |
400 |
68 |
Failed |
Timeout |
Transaction Failed |
400 |
99 |
Failed |
Undefined Error |
Transaction Failed |
HTTP Method |
POST |
---|---|
Path |
http://{base_url_partner}/v1/cardless/withdrawal |
Type Format |
JSON |
Authentication |
Bearer Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
signature |
signature |
M |
- |
Signature https://developers.bri.co.id/docs/dokumentasi#signature |
|
timestamp |
ISO 8601 |
- |
|||
Content-Type |
application/json |
M |
- |
- |
- |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
token |
String |
M |
9 |
OTP Code |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
2 |
Response Code |
- |
responseMessage |
String |
M |
50 |
Response message |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
amount |
String |
M |
22 |
Transaction Amount |
|
trxDate |
String |
M |
23 |
Transaction Date (Format: yyyy-MM-dd HH:mm:ss.fff) |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID, unique for each transaction |
|
linkRefNum |
String |
M |
25 |
Reference Number |
Request & Response Payload Sample
Request type:
{
"token":"9203310116",
"msisdn":"8118821681",
"merchantTrxID":"1000000007"
}
Normal Response :
{ "responseCode":"00", "responseMessage":"success", "msisdn":"8118821681", "amount":"50000.00", "trxDate":"2019-10-14 15:20:40.043", "merchantTrxID":"0000000007", "linkRefNum":"5GP7L02UR75GP7L02UR7" }
Error Response :
{ "responseCode":"14", "responseMessage":"virtual account not found" }
List of Error/Response Code
HTTP Status |
Code |
Status |
Response Description |
Description |
---|---|---|---|---|
200 |
00 |
Success |
success |
Success if you get RC 00, otherwise it fails |
400 |
02 |
Failed |
Invalid PartnerId |
Transaction Failed |
400 |
12 |
Failed |
Invalid Request/Unauthorized/Invalid Signature |
Transaction Failed |
400 |
14 |
Failed |
Virtual Account Not Found |
Transaction Failed |
400 |
16 |
Failed |
Token Expired |
Transaction Failed |
400 |
18 |
Failed |
Insufficient Balance |
Transaction Failed |
400 |
20 |
Failed |
Duplicate Transaction Id |
Transaction Failed |
400 |
68 |
Failed |
Timeout |
Transaction Failed |
400 |
99 |
Failed |
Undefined Error |
Transaction Failed |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
C. Cardless Reversal
Endpoint Description
API Cardless Withdrawal is an API that is used to update data to 3rd parties for cash withdrawal processed at ATMs.
General Information
HTTP Method |
POST |
---|---|
Path |
http://{base_url_partner}/v1/cardless/withdrawal |
Type Format |
JSON |
Authentication |
Bearer Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
signature |
signature |
M |
- |
Signature https://developers.bri.co.id/docs/dokumentasi#signature |
|
timestamp |
ISO 8601 |
- |
|||
Content-Type |
application/json |
M |
- |
- |
- |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
token |
String |
M |
9 |
OTP Code |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID |
|
Amount |
String |
O |
22 |
Nominal transaction |
|
trxdate |
String |
O |
22 |
Date Transaction (Format yyyy-mm-dd HH:mm.ss.fff) |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
2 |
Response Code |
- |
responseMessage |
String |
M |
50 |
Response message |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
amount |
String |
O |
22 |
Transaction Amount |
|
trxDate |
String |
O |
23 |
Transaction Date (Format: yyyy-MM-dd HH:mm:ss.fff) |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID, unique for each transaction |
|
linkRefNum |
String |
M |
25 |
Reference Number |
Request & Response Payload Sample
Request type:
{ "token":"9203310116", "msisdn":"8118821681", "merchantTrxID":"1000000007" }
Normal Response :
{ "responseCode":"00", "responseMessage":"success", "msisdn":"8118821681", "amount":"50000.00", "trxDate":"2019-10-14 15:20:40.043", "merchantTrxID":"0000000007", "linkRefNum":"5GP7L02UR75GP7L02UR7" }
Error Response :
{ "responseCode":"14", "responseMessage":"virtual account not found" }
List of Error/Response Code
HTTP Status |
Code |
Status |
Response Description |
Description |
---|---|---|---|---|
200 |
00 |
Success |
success |
Success if you get RC 00, otherwise it fails |
400 |
12 |
Failed |
Invalid Request/Unauthorized/Invalid Signature |
Transaction Failed |
400 |
14 |
Failed |
Virtual Account Not Found |
Transaction Failed |
400 |
16 |
Failed |
Token Expired |
Transaction Failed |
400 |
18 |
Failed |
Insufficient Balance |
Transaction Failed |
400 |
20 |
Failed |
Duplicate Transaction Id |
Transaction Failed |
400 |
68 |
Failed |
Timeout |
Transaction Failed |
400 |
99 |
Failed |
Undefined Error |
Transaction Failed |
Header Structure
HTTP Method |
POST |
---|---|
Path |
http://{base_url_partner}/v1/cardless/withdrawal |
Type Format |
JSON |
Authentication |
Bearer Token |
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
signature |
signature |
M |
- |
Signature https://developers.bri.co.id/docs/dokumentasi#signature |
|
timestamp |
ISO 8601 |
- |
|||
Content-Type |
application/json |
M |
- |
- |
- |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
token |
String |
M |
9 |
OTP Code |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
2 |
Response Code |
- |
responseMessage |
String |
M |
50 |
Response message |
|
msisdn |
String |
M |
13 |
Virtual Account Number |
|
amount |
String |
O |
22 |
Transaction Amount |
|
trxDate |
String |
O |
23 |
Transaction Date (Format: yyyy-MM-dd HH:mm:ss.fff) |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID, unique for each transaction |
|
linkRefNum |
String |
M |
25 |
Reference Number |
Request & Response Payload Sample
Request type:
{
"token":"9203310116",
"msisdn":"8118821681",
"merchantTrxID":"1000000007"
}
Normal Response :
{ "responseCode":"00", "responseMessage":"success", "msisdn":"8118821681", "amount":"50000.00", "trxDate":"2019-10-14 15:20:40.043", "merchantTrxID":"0000000007", "linkRefNum":"5GP7L02UR75GP7L02UR7" }
Error Response :
{ "responseCode":"14", "responseMessage":"virtual account not found" }
List of Error/Response Code
HTTP Status |
Code |
Status |
Response Description |
Description |
---|---|---|---|---|
200 |
00 |
Success |
success |
Success if you get RC 00, otherwise it fails |
400 |
02 |
Failed |
Invalid PartnerId |
Transaction Failed |
400 |
12 |
Failed |
Invalid Request/Unauthorized/Invalid Signature |
Transaction Failed |
400 |
14 |
Failed |
Virtual Account Not Found |
Transaction Failed |
400 |
16 |
Failed |
Token Expired |
Transaction Failed |
400 |
18 |
Failed |
Insufficient Balance |
Transaction Failed |
400 |
20 |
Failed |
Duplicate Transaction Id |
Transaction Failed |
400 |
68 |
Failed |
Timeout |
Transaction Failed |
400 |
99 |
Failed |
Undefined Error |
Transaction Failed |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.