Fund Transfer External v2.0
Per 1 November 2023 produk ini sudah tidak mendapat support untuk pengembangan, pengguna dapat menggunakan produk versi SNAP BI disini
Apa itu Transfer ke Bank Lain?
Dengan terus bertambahnya jumlah bank milik negara maupun swasta di Indonesia, Kebutuhan untuk melakukan transfer juga semakin kompleks. Tak hanya sebatas transfer antar rekening, namun juga transfer ke bank lain.
Untuk memberikan kemudahan dan kenyamanan saat pebisnis membutuhkan layanan transfer ke bank lain, Bank BRI melalui BRIAPI menyediakan API Transfer ke Bank Lain. Dengan API ini, Anda dapat memindahkan sejumlah dana tertentu ke penerima dengan rekening di bank lain secara lebih praktis, tanpa perlu pergi ke kantor cabang BRI ataupun mesin ATM. Dikarenakan, hal tersebut bisa dilakukan dari sistem dasbor perusahaan Anda.
Informasi API
Judul |
Fund Transfer External v2.0 |
---|---|
Version |
v2.0 |
URL Sandbox |
https://partner.api.bri.co.id/sandbox/v2/transfer/external |
URL Production |
https://partner.api.bri.co.id/v2/transfer/external |
Kendali Versi
Versi Dok |
Version API |
Tanggal |
Tautan Dokumen |
Deskripsi |
---|---|---|---|---|
v1.0 |
v2.0 |
1 February 2019 |
Versi Awal |
|
v2.0 |
v2.0 |
12 Maret 2021 |
halaman ini |
Penambahan penjelasan dan response code |
v2.0 |
v2.0 |
12 April 2021 |
halaman ini |
Perubahan URL Sandbox |
Deskripsi Produk
Gambaran Produk
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. Validasi Akun
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
Informasi Umum
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 |
Deskripsi |
Contoh |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
M |
- |
Akses Token |
- |
BRI-Timestamp |
- |
M |
- |
Format Timestamp ISO8601 |
- |
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 |
Deskripsi |
Contoh |
---|---|---|---|---|---|
bankcode |
numeric |
M |
3 |
Kode Bank Tujuan |
014 |
beneficiaryaccount |
numeric |
M |
15 |
Rekening Tujuan |
8888123123 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Deskripsi |
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 |
John Doe |
Request & Response Payload Sample
Request :
curl curl --location --request GET 'https://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts?bankcode=014&beneficiaryaccount=8888123123' \ --header 'BRI-Timestamp: 2021-07-07T08:19:34.098Z' \ --header 'BRI-Signature: jhkhdLnEkemAhSf683xxxxxM6qWwCAydQnrry5rB0=' \ --header 'Authorization: Bearer xMbxPT4lxxxxxxbmOH3otgev8SXZX'
Normal Response:
{ "responseCode":"0600", "responseDescription":"Inquiry Success", "Name":"John Doe" }
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 |
Deskripsi |
---|---|---|---|---|
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 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 |
- |
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan
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.
Informasi Umum
HTTP Method |
POST |
---|---|
Path |
/external |
Format Type |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
M |
- |
Akses Token |
- |
BRI-Timestamp |
- |
M |
- |
Format Timestamp ISO8601 |
- |
BRI-Signature |
- |
M |
64 |
Signature |
- |
Content-Type |
application/json |
M |
- |
- |
- |
Request Structure
Field | Data Type | Mandatory | Length | Deskripsi | 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. | John Doe |
amount | String | M | - | Nominal Format ##.## | 10000.00 (sepuluh ribu) |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Deskripsi |
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 --location --request POST 'https://sandbox.partner.api.bri.co.id/v2/transfer/external' \ --header 'Content-Type: application/json' \ --header 'BRI-Timestamp: 2021-07-07T08:23:21.275Z' \ --header 'BRI-Signature: VeLehqlexxxxxxxWRhibH+l6EwLIWASYTsK8Xkz5dzc=' \ --header 'Authorization: Bearer xMbxxxxxxxtlbmOH3otgev8SXZX' \ --data-raw '{ "noReferral": "22222222", "bankCode": "014", "sourceAccount":"888801000003301", "beneficiaryAccount":"12345678", "beneficiaryAccountName":"John Doe", ", "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
NOTES: 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 | Deskripsi |
---|---|---|---|---|
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. |
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan
NOTE : 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
Informasi Umum
HTTP Method |
GET |
---|---|
Path |
/external/accounts |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Query Param Structure
Sample HTTP request:
GET https://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts
Response Structure
Field |
Data Type |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|
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 --location --request GET 'https://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts' \ --header 'BRI-Timestamp: 2021-07-13T09:39:47.674Z' \ --header 'BRI-Signature: COBQovNoz4zNBdahRS5E43590Hkk8ldlJWXKXCNwLeg=' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Bearer GwkfOMbySQHkgqLfYmwjw3oGautp'
Normal Response :
{ "responseCode": "00", "responseDescription": "Get list other bank success", "errorDescription": "", "Data": [ { "BankCode": "008", "Bankname": "BANK MANDIRI" }, { "BankCode": "009", "Bankname": "BANK BNI" } ] }
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan
Catatan Tambahan:
Di produk ini kami tidak menyediakan endpoint "Check Status".