Interbank Transfer
API Information
Title |
API Account Inquiry/Interbank Transfer |
---|---|
Version |
v2.0 |
URL Sandbox |
|
URL Production |
Version Control
Document Version |
API Version |
Date |
Document Link |
Description |
---|---|---|---|---|
v1.0 | v1.0 |
7 December 2021 |
Baseline version |
|
v1.1 | v1.0 | 4 September 2024 | Here | Baseline version |
v1.2 | v1.0 | 20 February 2025 | Here |
|
v2.0 | v2.0 | 22 September 2025 | This pages |
|
Product Description
Product Overview
This feature is used to transfer funds from one Non-PJP Service User account, PJP PIAS, or PJP AIS Institutions Other Than Banks, at PJP AIS Bank to the destination account at another PJP AIS Bank through the intermediation of Payment Infrastructure Provider (PIP) such as GPN or BI-FAST.
Endpoint
A. Eksternal Account Inquiry
This endpoint is used to validate the destination account number and name before performing Interbank or BI-FAST book-entry.
General Information
HTTP Method |
POST |
---|---|
Path |
|
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Format |
Mandatory |
Length |
Description |
---|---|---|---|---|---|
Authorization |
Authorization |
String |
M |
|
Bearer {Token} |
X-TIMESTAMP |
timestamp |
Datetime |
M |
|
Format Timestamp ISO8601 |
X-SIGNATURE |
signature |
String |
M |
|
HMAC_SHA512 |
Content-type |
application/json |
|
M |
|
application/json |
X-PARTNER-ID |
|
Alphanumeric |
M |
36 |
|
CHANNEL-ID |
|
Alphanumeric |
M |
5 |
|
X-EXTERNAL-ID |
|
Numeric |
M |
36 |
|
Request Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|---|
beneficiaryBankCode |
String |
Numeric |
C |
8 |
Destination Bank Code |
|
beneficiaryAccountNo |
String |
AlfaNumeric |
M |
34 |
Other bank account for transaction (real account/proxy resolution) note : Use the @ sign if using proxy resolution. Ex : @bankbri@corp.bri.co.id (for proxy resolution email) or @6285733347341 (for proxy resolution phone number). Proxy resolution specifically for BIFAST Inquiry |
|
additionalInfo |
Object |
O |
||||
>serviceCode |
String |
Numeric |
M |
2 |
|
|
>deviceId |
String |
Alphanumeric |
O |
|||
>channel |
String |
Alphanumeric |
O |
Response Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Response code |
2000000 |
responseMessage |
String |
Alphanumeric |
M |
250 |
Response Message |
Successful |
referenceNo |
String |
Numeric |
O Note : SNAP BI (C) |
35 Note : SNAP BI length (64) |
Transaction identification on the service provider system. Must be filled in after the transaction is successful |
2020102977770000000009 |
beneficiaryAccountName |
String |
Alphanumeric |
M |
100 |
Recipient Account Name |
John Doe |
beneficiaryAccountNo |
String |
Numeric |
M |
34 |
Recipient Account Number |
|
beneficiaryBankCode |
String |
Numeric |
O |
8 |
Recipient Bank Code |
|
currency |
String |
Alphanumeric |
O |
3 |
Currency |
IDR |
additionalInfo |
Object |
O |
||||
>externalId |
String |
O |
12 |
|||
>registrationId |
String |
O |
Registration ID |
|||
>receiverName |
String |
O |
Name of account holder for transaction destination |
|||
>accountNumber |
String |
O |
Account number, this response will appear if the inquiry uses proxy resolution |
888801000157508 |
||
>beneficiaryAccountType |
String |
O |
Account number type |
|||
>receiverType |
String |
Numeric |
O |
2 |
Types of recipients
|
|
>receiverIdentityNumber |
String |
Numeric |
O |
Recipient ID number |
||
>receiverResidentStatus |
String |
O |
2 |
Types of recipient population status
|
||
>receiverTownName |
String |
Numeric |
O |
4 |
||
>deviceId |
String |
Alphanumeric |
O |
12345679237 |
||
>channel |
String |
Alphanumeric |
O |
mobilephone |
Request & Response Payload Sample
Request Inquiry Real Account:
{ "beneficiaryBankCode": "002", "beneficiaryAccountNo": "888801000157508", "additionalInfo": { "serviceCode": "16", "deviceId": "12345679237", "channel": "mobilephone" } }
Request Inquiry Proxy Account:
{ "beneficiaryBankCode": "", "beneficiaryAccountNo": "@6285733347341", "additionalInfo": { "serviceCode": "81", "deviceId": "12345679237", "channel": "mobilephone" } }
Normal Response Real Account:
{ "responseCode": "2001600", "responseMessage": "Successful", "referenceNo": "202203070000000001", "beneficiaryAccountName": "Dummy", "beneficiaryAccountNo": "888801000157508", "beneficiaryBankCode": "002", "beneficiaryBankName": "Bank BRI", "currency": "IDR", "additionalInfo": { "channel": "mobilephone", "deviceId": "12345679237" } }
Normal Response Proxy Account:
{ "responseCode": "2008100", "responseMessage": "Successful", "referenceNo": "202203070000000001", "beneficiaryAccountName": "Dummy", "beneficiaryAccountNo": "888801000157508", "beneficiaryBankCode": "002", "beneficiaryBankName": "Bank BRI", "currency": "IDR", "additionalInfo": { "channel": "mobilephone", "deviceId": "12345679237", "externalId": "53296848727", "registrationId": "0001230075", "receiverName": "KR DUMMY ACCOUNT TBXXXXXXXXXXXXXXXXXXXXX", "beneficiaryAccountType": "SVGS", "accountNumber": "020601000988301", "receiverType": "02", "receiverResidentStatus": "01", "receiverIdentityNumber": "1216728398362819", "receiverTownName": "0300" } }
Error Response :
{ "responseCode": "4001601", "responseMessage": "Invalid Field Format beneficiaryAccountCode" }
List of Error/Response Code
*Note: The XX value will be filled with 16 (for interbank account inquiry) and 81 (for BIFAST account inquiry)
HTTP Status |
Service Code |
Code |
Status |
Response Description |
Deskripsi |
---|---|---|---|---|---|
200 |
XX |
00 |
Sukses |
Successful |
|
400 |
XX |
01 |
Failed |
Invalid Field Format {fieldName} |
|
400 |
XX |
02 |
Failed |
Invalid Mandatory Field {fieldName} |
|
401 |
XX |
00 |
Failed |
Unauthorized. Client |
|
403 |
XX |
02 |
Failed |
Exceeds Transaction Amount Limit |
|
403 |
XX |
09 |
Failed |
Dormant Account |
|
403 |
XX |
13 |
Failed |
Insufficient Funds |
|
403 |
XX |
15 |
Failed |
Transaction Not Permitted. [reason] |
|
403 |
XX |
18 |
Failed |
Inactive Card/Account/Customer |
|
404 |
XX |
11 |
Failed |
Invalid Card/Account/Customer[info]/Virtual Account |
|
409 |
XX |
00 |
Failed |
Conflict |
|
500 |
XX |
00 |
Pending |
General Error |
|
500 |
XX |
01 |
Pending |
Internal Server Error |
|
500 |
XX |
02 |
Pending |
External Server Error |
|
504 |
XX |
00 |
Pending |
Timeout |
B. Transfer Interbank
This endpoint is used to transfer funds from one Non-PJP Service User account, PJP PIAS, or PJP AIS Institutions Other Than Banks, at PJP AIS Bank to the destination account at another PJP AIS Bank through the intermediary of Payment Infrastructure Provider (PIP) such as GPN or BI-FAST.
General Information
HTTP Method |
POST |
---|---|
Path |
|
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Format |
Mandatory |
Length |
Deskripsi |
---|---|---|---|---|---|
Authorization |
Authorization |
String |
M |
|
Bearer {Token} |
X-TIMESTAMP |
timestamp |
Datetime |
M |
|
Format Timestamp ISO8601 |
X-SIGNATURE |
signature |
String |
M |
|
HMAC_SHA512 |
Content-type |
application/json |
|
M |
|
application/json |
X-PARTNER-ID |
|
Alphanumeric |
M |
36 |
|
CHANNEL-ID |
|
Alphanumeric |
M |
5 |
|
X-EXTERNAL-ID |
|
Numeric |
M |
36 |
|
Request Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
partnerReferenceNo |
String |
Alphanumeric |
M |
Note : SNAP BI Length (64) |
Identification of transactions on the service provider system |
2020102900000000000001 |
amount |
Object |
M |
||||
>value |
String (ISO4 217) |
Decimal |
M |
15,2 Note : SNAP BI Length (16,2) |
The net amount of the transaction, if in rupiah, then the value includes 2 decimal places. For example, 10,000 will be 10000.00 |
10000.00 |
>currency |
String |
Alphanumeric |
M |
3 |
Currency |
IDR |
beneficiaryAccountName |
String |
Alphanumeric |
C |
100 |
Recipient account name |
John Doe |
beneficiaryAccountNo |
String |
Numeric |
M |
34 |
Recipient account |
|
beneficiaryAddress |
String |
Alphanumeric |
O |
100 |
Recipient address |
Manila |
beneficiaryBankCode |
String |
Numeric |
C |
8 |
Recipient Bank Code |
|
beneficiaryBankName |
String |
Alphanumeric |
O |
50 |
Recipient Bank Name |
BRI |
beneficiaryEmail |
String |
Alphanumeric |
O |
50 |
Recipient Email |
|
customerReference |
String |
Alphanumeric |
O |
Note : SNAP BI Length (30) |
Reference Number / Referral No. / Transaction ID |
10052022 |
sourceAccountNo |
String |
Numeric |
M |
15 Note : SNAP BI Length (19) |
Source account number |
888801000157520 |
transactionDate |
String |
Datetime |
M |
25 |
transaction date : ISO 8601 |
2024-07-02T11:25:24+07:00 |
additionalInfo |
Object |
O |
Additional information |
|||
>deviceId |
String |
Alphanumeric |
C |
1234579237 |
||
>channel |
String |
Alphanumeric |
C |
mobilephone |
||
>serviceCode |
String |
Numeric |
M |
2 |
|
|
>referenceNo |
String |
Alphanumeric |
C |
35 |
Unique reference number obtained from the results of the BI-Fast Account Information Inquiry |
|
>externalId |
String |
Alphanumeric |
C |
12 |
BRI external ID obtained from the results of the BI-Fast Account Information Inquiry |
|
>senderIdentityNumber |
String |
Varchar |
C |
100 |
Transaction sender's ID card number |
|
>paymentInfo |
String |
O |
140 |
Transaction details |
||
>senderType |
String |
Numeric |
C |
2 |
Transaction sender type, select one from the list below:
|
|
>senderResidentStatus |
String |
Numeric |
C |
2 |
Residential status of the transaction sender, select one from the list below:
|
|
>senderTownName |
String |
Varchar |
C |
100 |
City of origin of the transaction sender |
|
>isRdn |
String |
Boolean |
O |
Can be filled with true (for RDN accounts) or false (for non-RDN accounts) Note: Only for serviceCode 80 |
true |
|
originatorInfos |
Array of Objects |
O |
The Originator Customer Account Details.To be filled if there is a request from the sender or if the consent from sender has been granted.
|
|||
>originatorCustomerNo |
String |
O |
34 |
Originator customer account number |
9990100000 3301 |
|
>originatorCustomerName |
String |
O |
100 |
Originator customer account name |
Iin |
|
>originatorBankCode |
String |
O |
11 |
Originator Bank Code |
002 |
Response Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Response code |
2001800 |
responseMessage |
String |
Alphanumeric |
M |
150 |
Response deskripsi |
Successful |
referenceNo |
String |
Numeric |
O Note : SNAP BI (C) |
35 Note : SNAP BI Length (64) |
Identify the transaction on the service provider system. Must be filled in after the transaction is successful |
2021120 |
partnerReferenceNo |
String |
Alphanumeric |
O |
|
Transaction identification on the customer service system |
2020102900000000000001 |
amount |
Object |
O |
||||
>value |
String (ISO4217) |
Decimal |
M |
15,2 Note : SNAP BI Length (16,2) |
The net amount of the transaction, if in rupiah, then the value includes 2 decimal places. For example, 10,000 will be 10000.00 |
10000.00 |
>currency |
String |
Alphanumeric |
M |
3 |
Currency |
IDR |
beneficiaryAccountNo |
String |
Numeric |
M |
34 Note : SNAP BI Length (19) |
Recipient account number |
|
beneficiaryBankCode |
String |
Numeric |
O |
8 |
Recipient bank code |
|
sourceAccountNo |
String |
Numeric |
O |
15 Note : SNAP BI Length (19) |
Source account number |
888801000157520 |
additionalInfo |
Object |
O |
Additional information |
|||
>deviceId |
String |
Alphanumeric |
O |
12345679237 |
||
>channel |
String |
Alphanumeric |
O |
mobilephone |
||
>originalReferenceNo |
String |
C |
40 |
The unique original reference number of the transfer transaction made will appear in the TLBD2 remark on the bank statement. |
||
>journalSequence |
String |
C |
7 |
Journal sequence of transaction bookkeeping |
||
>externalId |
String |
C |
12 |
BRI external ID from the transfer transaction made |
||
>customerReference |
String |
O |
28 |
Unique transaction reference number from the institution |
||
>isRdn |
String |
Boolean |
O |
Can be filled with true (for RDN accounts) or false (for non-RDN accounts) Note: Only for serviceCode 80 |
true |
|
originatorInfos |
Array Object |
O |
Rincian Akun Pelanggan Originator. Hal ini tunduk pada Pasal 8 ayat 5 Undang-Undang No. 3 Tahun 2011 tentang Transfer Dana. Juga periksa ketentuan lain, seperti peraturan PPATK. |
|||
>originatorCustomerNo |
String |
O |
Originator customer account number |
99901000003302 |
||
>originatorCustomerName |
String |
O |
Originator customer account name |
Rid |
||
>originatorBankCode |
String |
O |
Originator Bank Code |
003 |
Request & Response Payload Sample
{ "partnerReferenceNo": "20211130000000001", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountName": "Dummy", "beneficiaryAccountNo": "888801000187508", "beneficiaryAddress": "Palembang", "beneficiaryBankCode": "002", "beneficiaryBankName": "Bank BRI", "beneficiaryEmail": "dummy.email@domain.com", "customerReference": "10052023", "sourceAccountNo": "988901000187608", "transactionDate": "2022-11-07T15:19:24+07:00", "additionalInfo": { "deviceId": "12345679237", "channel": "mobilephone" }, "originatorInfos" : [ { "originatorCustomerNo": "99901000003302", "originatorCustomerName": "John Doe", "originatorBankCode": "003" } ] }
Normal Request Interbank:
{ "partnerReferenceNo": "20211130000000001", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountName": "Dummy", "beneficiaryAccountNo": "888801000134789", "beneficiaryAddress": "Lorem City", "beneficiaryBankCode": "002", "beneficiaryBankName": "Bank Lorem Ipsum", "beneficiaryEmail": "dummy.email@domain.com", "customerReference": "10052023", "sourceAccountNo": "988901000987654", "transactionDate": "2022-11-07T15:19:24+07:00", "additionalInfo": { "deviceId": "98765432101", "channel": "mobilephone" }, "originatorInfos": [ { "originatorCustomerNo": "99901000004567", "originatorCustomerName": "John Doe", "originatorBankCode": "003" } ] }
Normal Request BIFAST:
{ "partnerReferenceNo": "20211130000000001", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountName": "Dummy", "beneficiaryAccountNo": "888801000134789", "beneficiaryAddress": "Lorem City", "beneficiaryBankCode": "002", "beneficiaryBankName": "Bank Lorem Ipsum", "beneficiaryEmail": "dummy.email@domain.com", "customerReference": "10052023", "sourceAccountNo": "988901000987654", "transactionDate": "2022-11-07T15:19:24+07:00", "additionalInfo": { "deviceId": "98765432101", "channel": "mobilephone", "serviceCode": "80", "referenceNo": "20220128BRINIDJA51050000065", "externalId": "11122334455", "senderIdentityNumber": "3216549876543210", "paymentInfo": "testing bifast", "senderType": "01", "senderResidentStatus": "01", "senderTownName": "Lorem Town", "isRdn": "true" } }
Normal Response Interbank:
{ "responseCode": "2001800", "responseMessage": "Successful", "referenceNo": "202401250000000003", "partnerReferenceNo": "20211130000000001", "amount": { "currency": "IDR", "value": "10000.00" }, "beneficiaryAccountNo": "888801000187508", "beneficiaryBankCode": "002", "sourceAccountNo": "988901000187608", "additionalInfo": { "channel": "mobilephone", "deviceId": "12345679237" } "originatorInfos" : [ { "originatorCustomerNo": "99901000003302", "originatorCustomerName": "Rid", "originatorBankCode": "003" } ] }
Normal Response BIFAST:
{ "responseCode": "2008000", "responseMessage": "Successful", "referenceNo": "202401250000000003", "partnerReferenceNo": "20211130000000001", "amount": { "currency": "IDR", "value": "10000.00" }, "beneficiaryAccountNo": "888801000187508", "beneficiaryBankCode": "002", "sourceAccountNo": "988901000187608", "additionalInfo": { "channel": "mobilephone", "deviceId": "12345679237", "originalReferenceNo": "20220128BRINIDJA010O9900025482", "journalSequence": "8809100", "externalId": "93394989193", "customerReference": "2022012800012", "isRdn":"true" } }
Error Response :
{ "responseCode": "4001801", "responseMessage": "Invalid Field Format transactionDate" }
List of Error/Response Code
*Note: The XX value will be filled with 18 (for interbank transfer) and 80 (for BIFAST transfer).
HTTP Status |
Service Code |
Code |
Status |
Response Description |
Description |
---|---|---|---|---|---|
200 |
XX |
00 |
Sukses |
Successful |
|
400 |
XX |
01 |
Failed |
Invalid Field Format {fieldName} |
|
400 |
XX |
02 |
Failed |
Invalid Mandatory Field {fieldName} |
|
401 |
XX |
00 |
Failed |
Unauthorized. Client |
|
403 |
XX |
02 |
Failed |
Exceeds Transaction Amount Limit |
|
403 |
XX |
09 |
Failed |
Dormant Account |
|
403 |
XX |
14 |
Failed |
Insufficient Funds |
|
403 |
XX |
15 |
Failed |
Transaction Not Permitted. [reason] |
|
403 |
XX |
16 |
Pending |
Suspend Transaction |
|
403 |
XX |
18 |
Failed |
Inactive Card/Account/Customer |
|
404 |
XX |
00 |
Failed |
Invalid Transaction Status |
|
404 |
XX |
11 |
Failed |
Invalid Card/Account/Customer[info]/Virtual Account |
|
404 |
XX |
13 |
Failed |
Invalid Amount |
|
409 |
XX |
00 |
Failed |
Conflict |
|
409 |
XX |
01 |
Failed |
Duplicate partnerReferenceNo |
|
500 |
XX |
00 |
Pending |
General Error |
|
500 |
XX |
01 |
Pending |
Internal Server Error |
|
500 |
XX |
02 |
Pending |
External Server Error |
|
504 |
XX |
00 |
Pending |
Timeout |