Fund Transfer Internal v3.1
Per 1 November 2023 produk ini sudah tidak mendapat support untuk pengembangan, pengguna dapat menggunakan produk versi SNAP BI disini
Apa Itu Transfer Antar Rekening BRI?
Dalam menjalani sebuah bisnis, kebutuhan untuk melakukan transfer agar perusahaan bisa berjalan dengan lancar amat beragam, mulai dari melakukan transaksi bisnis, mengirimkan payroll, maupun melakukan pembayaran administrasi perusahaan.
Semenjak hadirnya open banking dari BRI atau BRIAPI, seluruh kegiatan transfer untuk memenuhi kebutuhan bisnis dapat dilakukan secara praktis dan mudah, langsung dasbor bisnis Anda. Hal tersebut bisa direalisasikan dengan penggunaan API Transfer Antar Rekening BRI. Dengan API ini, Anda dapat menyelesaikan segala hal terkait keuangan perusahaan cukup dengan beberapa klik saja, tanpa perlu bepergian ke kantor cabang.
Informasi API
Judul |
Fund Transfer Internal v3.1 |
---|---|
Version |
v3.1 |
URL Sandbox |
https://sandbox.partner.api.bri.co.id/v3.1/transfer/internal |
URL Production |
https://partner.api.bri.co.id/v3.1/transfer/internal |
Kendali Versi
Versi Dok |
Versi API |
Tanggal |
Tautan Dokumen |
Deskripsi |
---|---|---|---|---|
v1.0 |
v3.1 |
1 Juli 2018 |
- |
Versi Awal |
v2.0 | v3.1 | 1 Februari 2019 | - | Perubahan Struktur dan URL |
v3.0 |
v3.1 |
12 Maret 2021 |
Perubahan Struktur dan URL, penambahan penjelasan dan Response Code |
|
v3.0 |
v3.1 |
12 April 2021 |
Perubahan URL Sandbox |
|
v3.1 |
v3.1 |
9 July 2021 |
di halaman ini |
Perubahan struktur API dan response code |
Deskripsi Produk
Gambaran Produk
API ini memungkinkan partner untuk melakukan transfer dana antara dua rekening BRI (transfer internal). Rekening sumber adalah rekening milik partner. API transfer dana ini hanya bisa dilakukan untuk rekening giro dan rekening tabungan.
Flow API
Endpoint
A. Validasi Akun
Penjelasan Endpoint
Layanan ini digunakan untuk melakukan inquiry informasi rekening Debet dan Kredit yang akan digunakan untuk melakukan instruksi Fund Transfer. Rekening yang dapat di inquiry adalah rekening giro dan simpanan yang sudah terdaftar sebelumnya.
Informasi Umum
HTTP Method |
POST |
---|---|
Path |
/accounts |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
M |
|
Access Token |
|
BRI-Timestamp |
|
M |
|
Timestamp dengan format ISO8601 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
Content-Type |
application/json |
M |
|
|
|
Request Structure
Field |
Data Type |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|
sourceAccount |
String |
M |
15 |
Rekening sumber transaksi
|
020601000003301 |
beneficiaryaccount |
String |
M |
15 |
Rekening tujuan transaksi |
020601000003333 |
Response Structure
Field | Data Type | Mandatory | Length | Deskripsi | Contoh |
---|---|---|---|---|---|
responseCode | String | M | 4 | Response Code | 0100 |
responseDescription | String | M | Deskripsi response message | Inquiry success | |
errorDescription | String | M | Deskripsi pesan error | String kosong untuk inquiry sukses. Selain itu, silahkan lihat list error/response code. | |
data | Array | M | Berisi kosong jika response error "data":{} | ||
sourceAccount | String | M | Rekening sumber transaksi | 020601000255504 | |
sourceAccountName | String | M | Nama rekening sumber transaksi | Jane Doe | |
sourceAccountStatus | String | M | Status rekening sumber transaksi | Rekening Aktif | |
sourceAccountBalance | String | M | Saldo rekening sumber transaksi | 1000000.00 | |
beneficiaryAccount | String | M | Rekening tujuan transaksi | 020601000003333 | |
beneficiaryAccountName | String | M | Nama rekening tujuan | John Doe | |
beneficiaryAccountStatus | String | M | Status rekening tujuan transaksi | Rekening Aktif |
Request & Response Payload Sample
Request :
curl --location --request POST 'https://sandbox.partner.api.bri.co.id/v3.1/transfer/internal/accounts' \ --header 'BRI-Timestamp: ((TIMESTAMP))' \ --header 'BRI-Signature: ((SIGNATURE))' \ --header 'Content-Type: application/json' \ --data-raw '{ "sourceAccount": "020601000255504", "beneficiaryAccount": "0206010060313061" }'
Normal Response :
{ "responseCode": "0100", "responseDescription": "Inquiry success", "errorDescription": "", "data": { "sourceAccount": "020601000255504", "sourceAccountName": "Jane Doe", "sourceAccountStatus": "Rekening Aktif", "sourceAccountBalance": "8631682596.05", "beneficiaryAccount": "020601006031306", "beneficiaryAccountName": "John Doe", "beneficiaryAccountStatus": "Rekening Aktif" } }
Error Response :
{ "responseCode": "0101", "responseDescription": "Inquiry failed", "errorDescription": "InqRekAsal: Nomor Rekening Tidak Dikenal & InqRekTujuan: 0000020601006031306", "data": { "sourceAccount": "020601023500255504", "beneficiaryAccount": "020601006031306" } }
List of Error/Response Code
Response Code |
Response Description |
Error Description |
Status |
Deskripsi |
---|---|---|---|---|
0100 |
Inquiry Success |
- |
Success |
Inquiry sukses, data berhasil didapatkan. |
0101 |
Inquiry failed |
InqRekAsal: <Error Detail> & InqRekTujuan: <Error Detail> |
Failed |
|
0102 |
Inquiry timeout |
- |
Failed |
|
0103 |
Inquiry can not be processed |
Source account/beneficiary account must be a number |
Failed |
|
0104 |
Inquiry can not be processed |
Your IP & key has not been registerd |
Failed |
|
0105 |
Inquiry can not be processed |
Inquiry data must not be empty |
Failed |
|
0106 |
Inquiry can not be processed |
Source account/beneficiary account must not be empty |
Failed |
|
0109 |
Inquiry can not be processed |
Member ID/participant account not found |
Failed |
|
0110 |
Inquiry can not be processed |
Branch code/source account not found |
Failed |
|
0111 |
Inquiry can not be processed |
Source account/beneficiary account is not registered |
Failed |
|
0112 |
Inquiry can not be processed |
Reference number is not registered |
Failed |
|
81 |
Throw an exception |
*any error description |
Failed |
Unhandled error |
0007 |
Inquiry can not be processed |
Username (institution code) must not be empty |
Failed |
Username, password dan rekening sumber yang dipakai akan dikonfigurasikan di BRIAPI. Jika mendapat error ini, silahkan kontak tim kami melalui email. |
0008 |
Inquiry can not be processed |
Invalid username (institution code) or password (institution key) |
Failed |
|
0009 |
Inquiry can not be processed |
Password (institution key) must not be empty |
Failed |
|
0010 |
Inquiry can not be processed |
Wrong password (institution key). Please enter your correct password |
Failed |
|
0011 |
Inquiry can not be processed |
Accounts not registered in institutional accounts |
Failed |
|
0012 |
Inquiry can not be processed |
Wrong password (institution key). Please enter your correct password |
Failed |
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan
Notes: Silahkan lihat juga halaman "Common Errors" untuk daftar kesalahan umum di BRIAPI
B. Transfer
Penjelasan Endpoint
Endpoint ini digunakan untuk melakukan permintaan transfer dana antara dua rekening BRI. Ada limit total total transaksi dan limit transaksi harian yang akan ditetapkan oleh BRI.
Informasi Umum
HTTP Method |
POST |
---|---|
Path |
- |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Deskripsi |
---|---|---|---|---|
Authorization |
Bearer {token} |
M |
Access Token |
|
BRI-Timestamp |
M |
Timestamp dengan format 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 yang unik, dikirim oleh partner |
20210202126111111111 |
source |
String |
M |
15 |
Rekening sumber |
020601000255504 |
beneficiary |
String |
M |
15 |
Rekening tujuan |
020601006031306 |
amount |
String |
M |
15 |
Nominal transfer Format ##.## |
10000.00 |
feeType |
String |
M |
|
OUR
Fee dibebankan kepada pengirim (default) BEN Fee dibebankan kepada penerima SHA|1000 Fee dibagi antara pengirim dan penerima, dengan pengirim dibebankan Rp 1000 dan penerima dibebankan sisanya |
OUR |
transaction |
String |
M |
19 |
Tanggal dan waktu transaksi, format: dd-MM-yyyy HH:mm:ss |
09-03-2021 15:08:00 |
remark |
String |
M |
40 |
Remark transaksi. Untuk keperluan identifikasi transaksi, mohon untuk mencantumkan nilai unik di dalam remark (dapat menggunkaan noReferral). Ini akan muncul di rekening koran. |
REMARK TEST 20210202126111111111 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|
responseCode |
String |
M |
|
Response code |
0200 |
responseDescription |
String |
M |
|
Response description |
Cek Status Sukses |
errorDescription |
String |
M |
|
Error description |
Reference number is already used |
journalSeq |
String |
M |
|
Journal sequence |
8020001 |
Request & Response Payload Sample
Request :
curl --location --request POST 'https://sandbox.partner.api.bri.co.id/v3.1/transfer/internal' \ --header 'BRI-Timestamp: ((TIMESTAMP))' \ --header 'BRI-Signature: ((SIGNATURE))' \ --header 'Content-Type: application/json' \ --data-raw '{ "noReferral": "20210202126111111111", "sourceAccount": "020601000255504", "beneficiaryAccount": "020601006031306", "amount": "10000.00", "feeType": "OUR", "transactionDateTime": "09-03-2021 15:08:00", "remark": "REMARK TEST" }'
Normal Response :
{ "responseCode": "0200", "responseDescription": "Payment Success", "errorDescription": "", "journalSeq": "8020001" }
Error Response:
{ "responseCode": "0299", "responseDescription": "Payment Failed", "errorDescription": "Reference number is not valid" }
List of Error/Response Code
Response Code | Response Description | Error Description | Status | Deskripsi |
---|---|---|---|---|
0200 | Payment Success | Transaksi sukses diindikasikan oleh response code ini | ||
0401 | Payment Failed | invalid source account or beneficiary account format | Failed | |
0402 | Payment Failed | field source account or beneficiary account is mandatory | Failed | |
0403 | Payment Failed | Account not active | Failed | |
0404 | Payment Failed | Account not found | Failed | |
0411 | Payment Failed | Insufficient Balance | Failed | |
0412 | Payment Failed | Transaction is not allowed | Failed | |
0413 | Payment Failed | Request Failed | Failed | |
0414 | Payment Failed | Payment Failed | Failed | |
0415 | Payment Failed | Invalid Request Format | Failed | |
0202 | Payment can not be processed | Payment Timeout | Pending | Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
0288 | Payment can not be processed | Transaction is being processed | Pending | Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
0298 | Payment Failed | Remark is not valid | Failed | |
0299 | Payment Failed | Reference number is not valid | Failed | |
0902 | Unexpected Error | Unexpected Error | Pending | Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan
Notes: Silahkan lihat juga halaman "Common Errors" untuk daftar kesalahan umum di BRIAPI.
C. Check Status
Catatan: Layanan pengecekan status hanya dapat dilakukan di luar periode Akhir Hari (EOD). Untuk setiap transaksi transfer yang dilakukan pada periode EOD yang menghasilkan time-out atau respons tertunda, pengecekan akun dapat dilakukan pada pukul 8 pagi Waktu Indonesia Barat.
Penjelasan Endpoint
Endpoint ini digunakan untuk mengecek status dari transaksi yang telah dilakukan. Gunakan ini jika ketika melakukan transaksi tidak mendapatkan response atau error yang jelas, seperti: time out. Untuk diperhatikan bahwa response dari endpoint ini tidak menggambarkan status akhir dari proses transfer. Setelah mendapatkan 'internalTransferStatus" dan "internalTransferErrorMessage" di body response, silahkan lihat daftar error code di endpoint Transfer, untuk mengidentifikasi apakah transaksi Anda sukses, gagal, atau Pending. Sebagai alternatif yang lebih valid, partner bisa menggunakan endpoint Check Status Rekening Koran.
Informasi Umum
HTTP Method | POST |
---|---|
Path | /check |
Tipe Format | 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 | Decription | Example |
---|---|---|---|---|---|
noReferral | String | M | 20 | Nomor referensi unik yang digunakan di transaksi | 20210202126111111111 |
Response Structure
Field | Data Type | Mandatory | Length | Description | Example |
---|---|---|---|---|---|
responseCode | String | M | 4 | response code | 0300 |
responseDescription | String | M | response description | Cek Status Sukses | |
errorDescription | String | Error Description | String kosong untuk inquiry sukses. Selain itu, silahkan lihat daftar error/response code | ||
data | Array | M | berisi informasi response dari transaksi | Kosong untuk response error "Data":{} | |
noReferral | String | M | Nomor referensi unik yang digunakan di transaksi | 20210202126111111111 | |
journalSeq | String | M | Journal sequence | 8020001 | |
internalTransferStatus | String | M | Response/Error code dari proses transfer. Silahkan lihat daftar error code di endpoint Transfer untuk penjelasan lebih lengkap. | 0412 | |
internalTransferErrorMessage | String | M | Response/Error Description dari proses transfer. Silahkan lihat daftar error code di endpoint Transfer untuk penjelasan lebih lengkap. | Transaction is not allowed |
Request & Response Payload Sample
Request :
curl -X POST 'https://sandbox.partner.api.bri.co.id/v3.1/transfer/internal/check' \ -H 'Authorization: Bearer {{TOKEN}}' \ -H 'X-BRI-Signature: {{SIGNATURE}}' \ -H 'BRI-Timestamp: {{TIMESTAMP}}' \ -H 'Content-Type: application/json' \ -d '{ "noReferral": "20180212002" }'
Normal Response :
{ "responseCode":"0300", "responseDescription":"Cek Status Sukses", "errorDescription":"", "data": { "noReferral":"20210202126111111111" "journalSeq":"8020001", "internalTransferStatus":"0200", "internalTransferErrorMessage":"", } }
Error Response:
{ "responseCode":"0307", "responseDescription":"Reference number not found", "errorDescription":"", "data":{} }
List of Error/Response Code
Response Code | Response Description | Error Description | Status | Description |
---|---|---|---|---|
0300 | Status check success | Success | Cek status sukses, dan data berhasil diterima. | |
0304 | Status check data must not be empty | Failed | ||
0307 | Reference number not found | Pending | Jika mendapat response code ini, anda perlu melihat file settlement atau rekening koran untuk memvalidasi nomor referensi | |
0308 | Status check failed | Failed | Silahkan ulangi check status | |
0388 | Transaction status is pending, please check again tomorrow at 08:00AM WIB | Failed | Silahkan ulangi check status | |
0399 | There was an error, please consult with your administrator | Failed | ||
0299 | Payment Failed | Reference number is not valid | Failed | |
0601 | - | Invalid token | Failed | |
0602 | - | Invalid signature | Failed | |
0902 | Unexpected Error | Unexpected Error | Pending | Mohon untuk melakukan pengecekan rekening koran untuk melihat status transfer. |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
Notes: Please see also the "Common Errors" page for a list of common errors in BRIAPI.
D. Cek Status Rekening Koran
notes : Layanan check status rekening koran untuk saat ini hanya tersedia di luar periode jam EOD (End Of Day). Untuk transaksi transfer yang dilakukan di jam EOD kemudian mendapatkan timeout / Pending, pengecekan status dapat dilakukan mulai jam 08.00 WIB.
Penjelasan Endpoint
Endpoint ini digunakan untuk mengetahui status transaksi pemindahbukuan (transfer) antar rekening BRI yang dilakukan sebelumnya berdasarkan hasil pengecekan ke rekening koran. Pengecekan dapat dilakukan setelah 15 menit dari waktu transaksi.
Informasi Umum
HTTP Method | POST |
---|---|
Path | /check-rekening |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key | Value | Mandatory | Length | Deskripsi | Contoh |
---|---|---|---|---|---|
Authorization | Bearer {token} | M | Access Token | ||
BRI-Timestamp | M | Timestamp dengan format ISO8601 | |||
BRI-Signature | 64 | Signature | |||
Content-Type | application/json | M |
Request Structure
Field | Data Type | Mandatory | Length | Deskripsi | Contoh |
---|---|---|---|---|---|
noReferral | String | M | 20 | Nomor referensi unik yang digunakan di transaksi | ABCD2021033112369 |
transactionDate | String | M | 10 | Tanggal dilakukan transaksi | 01-04-2021 |
Response Structure
Field | Data Type | Mandatory | Length | Deskripsi | Contoh | |
---|---|---|---|---|---|---|
responseCode | String | M | 4 | response code | 0300 | |
responseDescription | String | M | response description | Status check success | ||
errorDescription | String | Error Description | String kosong untuk inquiry sukses. Selain itu, silahkan lihat daftar error/response code | |||
data | Array | M | berisi informasi response dari transaksi | Kosong untuk response error "Data":{} | ||
noReferral | String | M | Nomor referensi unik yang digunakan di transaksi | ABCD2021033112369 | ||
journalSeq | String | M | Journal sequence | 7001302 | ||
amount | String | M | Nominal transfer Format ##.## | 1000.00 | ||
remark | String | M | Remark transaksi. Untuk keperluan identifikasi transaksi. | REMARK TEST BRIAPI | ||
internalTransfer Status |
String | M | 4 | Response/Error code dari proses transfer. Silahkan lihat daftar error code di endpoint Transfer untuk penjelasan lebih lengkap. | 0412 | |
internalTransferErrorMessage | String | M |
|
Transaction is not allowed |
Request & Response Payload Sample
Request :
curl --location --request POST ''\''https://sandbox.partner.api.bri.co.id/v3.1/transfer/internal/check-rekening' \ --header 'BRI-Timestamp: ((TIMESTAMP))' \ --header 'BRI-Signature: ((SIGNATURE))' \ --header 'Content-Type: application/json' \ --data-raw '{ "noReferral": "ABCD2021033112369", "transactionDate": "01-04-2021" }'
Normal Response :
{ "responseCode": "0300", "responseDescription": "Status check success", "data": { "noReferral": "ABCD2021033112345", "journalSeq": "7021301", "amount": "10000.00", "remark": "REMARK TEST BRIAPI", "internalTransferStatus": "0200", "internalTransferDescription": "Payment success" } }
Error Response:
{ "responseCode": "0212", "responseDescription": "Request can not be processed", "errorDescription": "Invalid format transaction datetime", "data": {} }
List of Transfer Status
Gunakan parameter ini untuk menentukan apakah transaksi yang dilakukan sukses atau gagal
Code (internalTransferStatus) | Response Description (internalTransferDescription) | Status | Deskripsi |
---|---|---|---|
0200 | Payment success | Success | Transaksi sukses |
0201 | Payment failed | Failed | Transaksi gagal |
0388 | Transaction status is pending, please check again tomorrow at 08:00AM WIB | Pending | Silahkan ulangi check status |
List of Error/Response Code
Response Code | Response Description | Error Description | Status | Deskripsi |
---|---|---|---|---|
0300 | Status check success | Success | Cek status sukses, dan data berhasil diterima. Lihat field internalTransferStatus dan internalTransferDescription di tabel di atas untuk menentukan transaksi sukses atau gagal. | |
0307 | Reference number not found | Failed | ||
0388 | Transaction status is pending, please check again tomorrow at 08:00AM WIB | Pending | Silahkan ulangi check status. Jike mendapat error ini di jam End Of Day, silahkan mengulangi di hari berikutnya | |
0210 | Request can not be processed | Reference number must not be empty | Failed | Reference number must not be empty |
0212 | Request can not be processed | Invalid format transaction datetime | Failed | Invalid format transaction datetime |
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan
Notes: Silahkan lihat juga halaman "Common Errors" untuk daftar kesalahan umum di BRIAPI.
E. Rekonsiliasi
Sebagai syarat utama partner agar bisa menggunakan environment production API Transfer Internal, partner wajib melakukan proses rekonsiliasi menggunakan API Riwayat Transaksi atau menggunakan file mt940 yang disediakan pada H+1. Cara penggunaan dan pengajuan mt940 dapat dilihat pada halaman berikut [Link].
F. Informasi Tambahan
Partner juga harus melihat common error BRIAPI yang berlaku untuk seluruh produk BRIAPI, dan melakukan penanganan error sesuai dengan deskripsi yang dicantumkan.