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 buka docs 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://sandbox.partner.api.bri.co.id/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://sandbox.partner.api.bri.co.id/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 NAME PRM                "
        }
         

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 PRM                "
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://sandbox.partner.api.bri.co.id/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 NAME PRM                ",
                    "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 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.

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

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://sandbox.partner.api.bri.co.id/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://sandbox.partner.api.bri.co.id/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".