Cardless Cash Withdrawal
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.1 |
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. |
v1.1 | v1.1 | September 9th 2022 | this pages |
|
Product Description
Product Overview
The growth of digital transactions in Indonesia has encouraged BRI to innovate in providing convenience transactions for the public. The increased usage of financial mobile applications is one of the factors of changes behaviour to fulfilling daily transactions. Therefore, BRI offers cardless cash withdrawal features at ATM & CRM BRI machines that can be used by BRI customers and BRI business partners. Business partners who have collaborated with BRI can take advantage of this service to provide cash withdrawals feature through BRI ATMs/CRMs for their user. User of BRI Business Partners can enter the virtual account number that is displayed on the Business Partner’s application then use it to access the cardless cash withdrawal feature at BRI ATMs/CRMs. With this service, users of the Business Partner application can conveniently withdraw their wallet balances in cash at BRI ATMs throughout Indonesia.
It is an API product provided by BRI and third parties (BRI business partners) that allows third party's customer 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 :
{ "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 |
18 |
Virtual Account Number |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID |
|
atmLocation | String | O | Location ATM |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
2 |
Response Code |
- |
responseMessage |
String |
M |
50 |
Response message |
|
msisdn |
String |
M |
18 |
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 :
{ "token":"9203310116", "msisdn":"8118821681", "merchantTrxID":"1000000007", "atmLocation":"KCK. 0206-CRM Hitachi" }
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":"02", "responseMessage":"Invalid PartnerId" }
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 |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
C. Cardless Reversal
Endpoint Description
API Cardless Reversal is an API that is used to make a reversal to a 3rd party in the event of a failure during the cash withdrawal process.
General Information
HTTP Method |
POST |
---|---|
Path |
http://{base_url_partner}/v1/cardless/reversal |
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 |
18 |
Virtual Account Number |
|
merchantTrxID |
String |
M |
25 |
Merchant Transaction ID |
|
amount |
String |
O |
22 |
Transaction Amount | |
trxDate |
String |
O |
23 |
Transaction Date (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 |
18 |
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 |
Request & Response Payload Sample
Request :
{ "token":"999995678", "amount":"10000.00", "msisdn":"0816789012", "merchantTrxID":"000777", "trxDate":"2019-10-14 15:20:40.043" }
Normal Response :
{ "responseCode":"00", "responseMessage":"success", "amount":"10000.00", "msisdn":"0816789012", "merchantTrxID":"000777", "trxDate":"2019-10-16 15:20:40.043" }
Error Response :
{ "responseCode":"02", "responseMessage":"Invalid PartnerId" }
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 |
Reversal Failed |
400 |
12 |
Failed |
Invalid Request/Unauthorized/Invalid Signature |
Reversal Failed |
400 |
14 |
Failed |
Virtual Account Not Found |
Reversal Failed |
400 |
22 |
Failed |
Original Transaction Id not Found |
Reversal Failed |
400 |
68 |
Failed |
Timeout |
Reversal Failed |
400 |
99 |
Failed |
Undefined Error |
Reversal Failed |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.