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

buka docs

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".