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 |
halaman ini |
Penambahan penjelasan dan response code |
v2 |
v2 |
12 April 2021 |
halaman ini |
Perubahan URL Sandbox |
Penjelasan Produk
Product Overview
API ini memungkinkan Anda untuk melakukan transfer dana dari rekening BRI (hanya rekening giro dan tabungan) ke rekening bank lain. Rekening sumber harus rekening perusahaan Anda.
Flow API
Endpoint
A. Account Validation
Penjelasan Endpoint
Endpoint ini digunakan untuk memvalidasi rekening tujuan yang digunakan untuk transaksi. Biasanya, ini dipanggil sebelum melakukan permintaan transfer untuk memastikan rekening sumber (khususnya nama) sudah benar
General Information
HTTP Method |
GET |
---|---|
Path |
/accounts?bankcode={bankcode}&beneficiaryaccount={beneficiary account} |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Contoh |
---|---|---|---|---|---|
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://partner.api.bri.co.id/sandbox/v2/transfer/external/accounts?bankcode={{bankcode}&beneficiaryaccount{{beneficiaryaccount}}
Field |
Data Type |
Mandatory |
Length |
Description |
Contoh |
---|---|---|---|---|---|
bankcode |
numeric |
M |
3 |
Kode bank tujuan |
014 |
beneficiaryaccount |
numeric |
M |
15 |
rekening tujuan |
8888123123 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Contoh |
---|---|---|---|---|---|
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 |
- |
nama rekening tujuan |
- |
Request & Response Payload Sample
Request :curl -x GET 'https://partner.api.bri.co.id/sandboxx/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 sukses, data berhasil didapatkan |
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 registerd |
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 |
- |
B. Transfer
Penjelasan Endpoint
Endpoint ini digunakan untuk melakukan permintaan transfer dari rekening BRI (rekening giro atau tabungan) ke rekening bank lain. Jumlah maksimum batas total transaksi dan batas harian akan ditentukan oleh BRI.
General Information
HTTP Method |
POST |
---|---|
Path |
external |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Contoh |
---|---|---|---|---|---|
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 |
Contoh |
---|---|---|---|---|---|
noReferral |
String |
M |
20 |
Nomor referensi unik |
20180212002 |
bankCode |
Numeric |
M |
3 |
Kode bank tujuan |
014 |
sourceAccount |
String |
M |
15 |
rekening sumber |
888801000003301 |
beneficiaryAccount |
String |
M |
15 |
rekening tujuan |
8888123123 |
beneficiaryAccountName |
String |
M |
40 |
nama rekening tujuan. Nilai di dalamnya harus sama persis dengan nama yang didapat dari endpoint Account Validation. |
Dummy Name Account |
amount |
String |
M |
- |
Nominal Format ##.## |
10000.00 (sepuluh ribu) |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Contoh |
---|---|---|---|---|---|
responseCode |
String |
M |
Response code |
0700 |
|
responseDescription |
String |
M |
Response description |
Payment Success |
|
errorDescription |
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
CATATAN: Untuk kasus response code selain SUKSES, gunakan 3 field Response Code, Response Description dan Error Description untuk mengidentifikasi status transaksi GAGAL atau PENDING
Response Code |
Response Description |
Error Description |
Status |
Description |
---|---|---|---|---|
0700 |
Payment success |
- |
Success |
Gunakan ini untuk mengindikasikan transaksi sukses. |
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 registerd |
Failed |
- |
0605 |
Payment can not be processed |
This feature cannot be used |
Failed |
- |
0606 |
Payment can not be processed |
Transaction failed during standin 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 |
Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
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 |
Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
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 |
Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
81 |
Throw an exception |
(*All error description) |
Pending / Need To Check |
Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
Get HTML Error or HTTP Error |
Pending / Need To Check |
Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
||
Get No Response (Null) |
Pending / Need To Check |
Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
||
Get response (response code, response desc, error desc) that not listed above |
Pending / Need To Check |
Set transaksi menjadi Pending / Need To Check, dan kontak ke tim kami. |
CATATAN : Di atas, response code yang ada di endpoint Account Validation muncul kembali. Hal ini dikarenakan, karena di dalam endpoint Transfer, sistem kami mengakses Account Validation untuk memvalidasi nama rekening tujuan. Jika nama tidak cocok, akan dikirimkan error.
C. List Bank code
Penjelasan Endpoint
Endpoint ini digunakan untuk mendapatkan daftar kode bank yang tersedia
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 |
- |
data berisi daftar kode bank dan nama bank |
"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" } ] }
Catatan Tambahan:
Di produk ini kami tidak menyediakan endpoint "Check Status".
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.