Fund Transfer External v2.0-2
Fund Transfer Eksternal v2.0
API Information
Title |
Other Bank Fund Transfer |
---|---|
Version |
v2 |
URL Sandbox |
https://sandbox.partner.api.bri.co.id/v2/transfer/external |
URL Production |
https://partner.api.bri.co.id/v2/transfer/external |
Version Control
Doc Version |
API Version |
Date |
Link to document |
Description |
---|---|---|---|---|
v1 |
v2 |
1 February 2019 |
Initial version |
|
v2 |
v2 |
12 Maret 2021 |
this page |
Added explanation and response code |
v2 |
v2 |
12 April 2021 |
this page |
Sandbox URL changes |
Product Description
Product Overview
This API allows you to transfer funds from your BRI account (only current and savings accounts ) to another bank account. The source account must be your company account.
Flow API
Endpoint
Account Validation
Description
This API allows you to transfer funds from your BRI account (current and savings accounts only) to other bank accounts. The source account must be your company account.
General Information
HTTP Method |
GET |
---|---|
Path |
/accounts?bankcode={bankcode}&beneficiaryaccount={beneficiary account} |
Format Type |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
M |
- |
Access Token |
- |
BRI-Timestamp |
- |
M |
- |
Timestamp in ISO8601 format |
- |
BRI-Signature |
- |
M |
64 |
Signature |
- |
Content-Type |
application/json |
M |
- |
- |
- |
Query Param Structure
Sample of HTTP request:
https://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts?bankcode={{bankcode}&beneficiaryaccount={{beneficiaryaccount}}
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
bankcode |
numeric |
M |
3 |
Destination bank code |
014 |
beneficiaryaccount |
numeric |
M |
15 |
destination account |
8888123123 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
4 |
response code |
0600 |
responseDescription |
String |
M |
- |
response description |
Inquiry success |
errorDescription |
String |
M for error response |
- |
Error Description |
Beneficiary account must be a number |
Name |
String |
M for success response |
- |
Destination account name |
- |
Request & Response Payload Sample
Request :
curl -x GET 'https://partner.api.bri.co.id/sandbox/v2/transfer/external /accounts?bankcode= {{bankcode}&beneficiaryaccount={{beneficiaryaccount}}' \ -H 'Authorization: Bearer {{TOKEN}}' \ -H 'BRI-Signature: {{SIGNATURE}}' \ -H 'BRI-Timestamp: {{TIMESTAMP}}'
Normal Response:
{ "responseCode":"0600", "responseDescription":"Inquiry Success", "Name":"Dummy Account" }
Error Response:
{ "responseCode": "0601", "responseDescription": "Inquiry can not be processed", "errorDescription": "Beneficiary account must be a number" }
List of Error/Response Code
Response Code |
Response Description |
Error Description |
Status |
Description |
---|---|---|---|---|
0600 |
Inquiry Success |
- |
Success |
Inquiry was successful, data was successfully obtained |
0601 |
Inquiry can not be processed |
Beneficiary account must be a number |
Failed |
- |
0602 |
Inquiry can not be processed |
Bank code/beneficiary account must not be empty |
Failed |
- |
0603 |
Inquiry can not be processed |
Bank code must be a number |
Failed |
- |
0604 |
Inquiry can not be processed |
Your IP & key has not been registered |
Failed |
- |
0605 |
Inquiry can not be processed |
This feature cannot be used |
Failed |
- |
0607 |
Inquiry can not be processed |
Connection lost |
Failed |
- |
0608 |
Inquiry can not be processed |
Transaction timeout |
Failed |
- |
0609 |
Inquiry can not be processed |
Beneficiary account not found |
Failed |
- |
0613 |
Inquiry can not be processed |
Connection lost |
Failed |
- |
Transfer
Description
This endpoint is used to request transfer from a BRI account (current or savings account) to other bank account. The maximum amount of total transactions and daily transactions will be determined by BRI.
General Information
HTTP Method |
POST |
---|---|
Path |
External |
Format Type |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
M |
- |
Access Token |
- |
BRI-Timestamp |
- |
M |
- |
Timestamp in ISO8601 format |
- |
BRI-Signature |
- |
M |
64 |
Signature |
- |
Content-Type |
application/json |
M |
- |
- |
- |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
noReferral |
String |
M |
20 |
Unique reference number |
20180212002 |
bankCode |
Numeric |
M |
3 |
Destination bank code |
014 |
sourceAccount |
String |
M |
15 |
source account |
888801000003301 |
beneficiaryAccount |
String |
M |
15 |
Beneficiary Account |
8888123123 |
beneficiaryAccountName |
String |
M |
40 |
Destination account name. The value in it must exactly match the name obtained from the Account Validation endpoint. |
"DUMMY NAME PRM" |
amount |
String |
M |
- |
Nominal Format ##.## |
10000.00 (sepuluh ribu) |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Response Code |
String |
M |
Response Code |
0700 |
|
Response Description |
String |
M |
Response Description |
Payment Success |
|
Error Description |
String |
M |
Error description |
Payment data must not be empty |
|
JournalSeq |
String |
M |
Journal sequence |
3289331 |
Request & Response Payload Sample
Request :
curl -X POST 'https://partner.api.bri.co.id/sandbox/v2/transfer/external' \ -H 'Authorization: Bearer {{TOKEN}}' \ -H 'X-BRI-Signature: {{SIGNATURE}}' \ -H 'BRI-Timestamp: {{TIMESTAMP}}' \ -H 'Content-Type: application/json' \ -d '{ "noReferral": "20180212002", "bankCode": "014", "sourceAccount":"888801000003301", "beneficiaryAccount":"12345678", "beneficiaryAccountName":"Dummy Account Name", "amount":"1000.00" }'
Normal Response :
{ "responseCode":"0700", "responseDescription":"Payment Success", "errorDescription":"", "JournalSeq":"3289331" }
Error Response :
{ "responseCode":"0701", "responseDescription":"Payment can not be processed", "errorDescription":"Source account/beneficiary account must be a number" }
List of Error/Response Code
NOTE: For a response code other than SUCCESS case, please use the 3 columns Response Code, Response Description and Error Description to identify the transaction status FAILED or PENDING.
Response Code |
Response Description |
Error Description |
Status |
Description |
---|---|---|---|---|
0700 |
Payment success |
- |
Success |
Use this to indicate a successful transaction. |
0601 |
Payment can not be processed |
Beneficiary account must be a number |
Failed |
- |
0602 |
Payment can not be processed |
Bank code/beneficiary account must not be empty |
Failed |
- |
0603 |
Payment can not be processed |
Bank code must be a number |
Failed |
- |
0604 |
Payment can not be processed |
Your IP & key has not been registered |
Failed |
- |
0605 |
Payment can not be processed |
This feature cannot be used |
Failed |
- |
0606 |
Payment can not be processed |
Transaction failed during standing mode |
Failed |
- |
0607 |
Payment can not be processed |
Connection lost |
Failed |
- |
0608 |
Payment can not be processed |
Transaction timeout |
Failed |
- |
0610 |
Payment can not be processed |
Transaction timeout |
Pending / Need To Check |
Please check the bank statement to see the transfer status. |
0611 |
Payment can not be processed |
Duplicate sequence transaction |
Failed |
- |
0612 |
Payment can not be processed |
Debit account number not found |
Failed |
- |
0613 |
Payment can not be processed |
Connection lost |
Failed |
- |
0614 |
Payment can not be processed |
Insufficient Balance |
Failed |
- |
0615 |
Payment can not be processed |
Duplicate sequence transaction |
Failed |
- |
0616 |
Payment can not be processed |
Transaction exceeds the limit |
Failed |
- |
0617 |
Payment can not be processed |
Brinets connection is lost |
Failed |
- |
0618 |
Payment can not be processed |
Close account number |
Failed |
- |
0619 |
Payment can not be processed |
Passive account number |
Failed |
- |
0620 |
Payment can not be processed |
Transaction is being processed |
Pending / Need To Check |
Please check the bank statement to see the transfer status. |
0701 |
Payment can not be processed |
Source account/beneficiary account must be a number |
Failed |
- |
0702 |
Payment can not be processed |
Payment data must not be empty |
Failed |
- |
0703 |
Payment can not be processed |
Amount must be a number |
Failed |
- |
0704 |
Payment can not be processed |
Amount must be more than 0 |
Failed |
- |
0705 |
Payment can not be processed |
Reference number is already used |
Failed |
- |
0706 |
Payment can not be processed |
Bank code must be a number |
Failed |
- |
0707 |
Payment can not be processed |
Connection lost, didn't get any response. Please try again |
Failed |
- |
0708 |
Payment can not be processed |
Incorrect beneficiary account name |
Failed |
- |
0709 |
Payment can not be processed |
Invalid length source account |
Failed |
- |
0788 |
Payment can not be processed |
Transaction is being processed |
Pending / Need To Check |
Please check the bank statement to see the transfer status. |
81 |
Throw an exception |
(*All error description) |
Pending / Need To Check |
Please check the bank statement to see the transfer status. |
Get HTML Error or HTTP Error |
Pending / Need To Check |
Please check the bank statement to see the transfer status. |
||
Get No Response (Null) |
Pending / Need To Check |
Please check the bank statement to see the transfer status. |
||
Get response (response code, response desc, error desc) that not listed above |
Pending / Need To Check |
Set the transaction to Pending / Need To Check, and contact our team. |
NOTE : Above, the response code in the Account Validation endpoint reappears. This is because, in the Transfer endpoint, our system accesses the Account Validation to validate the name of the destination account. If the names don't match, an error will be sent.
List Bank Code
Endpoint Explanation
This endpoint is used to get a list of available bank codes
General Information
HTTP Method |
GET |
---|---|
Path |
/external/accounts |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Query Param Structure
Sample HTTP request:
GET https://partner.api.bri.co.id/sandbox/v2/transfer/external/accounts
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
4 |
response code |
0600 |
responseDescription |
String |
M |
- |
response description |
Inquiry success |
errorDescription |
String |
M |
- |
Error Description |
Beneficiary account must be a number |
Data |
String |
M |
- |
the data contains a list of bank codes and bank names |
"Data" : [ { "BankCode" : "008", "BankName" : "BANK MANDIRI" }, { "BankCode" : "009", "BankName" : "BANK BNI" } ] |
Request & Response Payload Sample
Request :
curl -x GET 'https://partner.api.bri.co.id/sandbox/v2/transfer/external/accounts' \ -H 'Authorization: Bearer {{TOKEN}}' \ -H 'BRI-Signature: {{SIGNATURE}}' \ -H 'BRI-Timestamp: {{TIMESTAMP}}'
Normal Response :
{ "responseCode": "00", "responseDescription": "SUCCESS", "errorDescription": "", "Data" : [ { "BankCode" : "008", "BankName" : "BANK MANDIRI" }, { "BankCode" : "009", "BankName" : "BANK BNI" } ] }
Additional Notes:
In this product we do not provide a "Check Status" endpoint.