Interbank Transfer
API Information
Title |
API Account Inquiry/Interbank Transfer |
---|---|
Version |
v1.0 |
URL Sandbox |
|
URL Production |
Version Control
API Version |
Date |
Document Link |
Description |
---|---|---|---|
v2.0 |
4 September 2024 |
This page |
Baseline version |
v3.0 | 20 Feb 2025 | This page | Change object originatorInfos Request and Response Transfer Interbank |
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 |
Contoh |
---|---|---|---|---|---|---|
beneficiaryBankCode |
String |
Numeric |
M |
3 Note : SNAP BI length (8) |
Destination Bank Code |
002 |
beneficiaryAccountNo |
String |
Numeric |
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 |
888801000157508 |
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 |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Response code |
2000000 |
responseMessage |
String |
Alphanumeric |
M |
250 |
response Message |
Successful |
referenceNo |
String |
Numeric |
O Note : SNAP BI (C) |
20 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 |
3 Note: SNAP BI length (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 |
|
|
12345 679237 |
>channel |
String |
Alphanumeric |
O |
|
|
mobilephone |
Request & Response Payload Sample
Request Inquiry Real Account: :
{ "beneficiaryBankCode": "002", "beneficiaryAccountNo": "888801000157508", "additionalInfo": { "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
HTTP Status |
Service Code |
Code |
Status |
ResponseDescription |
Description |
---|---|---|---|---|---|
200 |
16 |
00 |
Sukses |
Successful |
|
400 |
16 |
01 |
Gagal |
Invalid Field Format {fieldName} |
|
400 |
16 |
02 |
Gagal |
Invalid Mandatory Field {fieldName} |
|
401 |
16 |
00 |
Gagal |
Unauthorized. Client |
|
403 |
16 |
15 |
Gagal |
Transaction Not Permitted. [reason] |
|
403 |
16 |
16 |
Pending |
Suspend Transaction |
|
403 |
16 |
18 |
Gagal |
Inactive Card/Account/Customer |
|
404 |
18 |
11 |
Gagal |
Invalid Card/Account/Customer[info]/Virtual Account |
|
500 |
16 |
00 |
Pending |
General Error |
|
504 |
16 |
00 |
Pending |
Timeout |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
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 |
Description |
Example |
---|---|---|---|---|---|---|
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 |
M |
100 |
Recipient account name |
John Doe |
beneficiaryAccountNo |
String |
Numeric |
M |
16 Note : SNAP BI Length (34) |
Recipient account |
|
beneficiaryAddress |
String |
Alphanumeric |
O |
100 |
Recipient address |
Manila |
beneficiaryBankCode |
String |
Numeric |
M |
3 Note : SNAP BI Length (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 |
2021-11-25 |
additionalInfo |
Object |
|
O |
|
Additional information |
|
>deviceId |
String |
Alphanumeric |
M |
|
|
1234579237 |
>channel |
String |
Alphanumeric |
M |
|
|
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 | Customer Account Details of the Originator To be filled in if requested by the sender or if the sender's consent has been given. |
|||
>originatorCustomerNo | String | O | 34 |
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.
|
9990100000 3301 | |
>originatorCustomerName | String | O | 100 | Originatorcustomer account name | Iin | |
>originatorBankCode | String | O | 11 | Originator Bank Code | 002 |
Response Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Response code |
2001800 |
responseMessage |
String |
Alphanumeric |
M |
150 |
Response description |
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 |
202112 |
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 |
Customer Account Details of the Originator. This is subject to Article 8 paragraph 5 of Law No. 3 of 2011 concerning Fund Transfers. Also, check other provisions, such as regulations from the Indonesian Financial Transaction Reports and Analysis Center (PPATK). |
|||
>originatorCustomerNo | String | O | Originator customer account number | |||
>originatorCustomerName | String | Originatorcustomer account name | Rid | |||
>originatorBankCode | String | O | Originator Bank Code | 003 |
Request & Response Payload Sample
Normal Request Interbank:
{ "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 BIFAST:
{ "partnerReferenceNo": "20211130000000001", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountName": "Dummy", "beneficiaryAccountNo": "888801000187508", "beneficiaryAddress": "Lorem City", "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", "serviceCode": "80", "referenceNo": "20220128BRINIDJA51050000065", "externalId": "53394951711", "senderIdentityNumber": "3515085211930002", "paymentInfo": "testing bifast", "senderType": "01", "senderResidentStatus": "01", "senderTownName": "0300", "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 transaction date" }
List of Error/Response Code
HTTP Status |
Service Code |
Code |
Status |
ResponseDescription |
Description |
---|---|---|---|---|---|
200 |
18 |
00 |
Success |
Successful |
|
202 |
18 |
00 |
In Progress |
Request In Progress |
|
400 |
18 |
01 |
Gagal |
Invalid Field Format {fieldName} |
|
400 |
18 |
02 |
Gagal |
Invalid Mandatory Field {fieldName} |
|
401 |
18 |
00 |
Gagal |
Unauthorized. Client |
|
403 |
18 |
02 |
Gagal |
Exceeds Transaction Amount Limit |
|
403 |
18 |
14 |
Gagal |
Insufficient Funds |
|
403 |
18 |
15 |
Gagal |
Transaction Not Permitted. [reason] |
|
403 |
18 |
16 |
Pending |
Suspend Transaction |
|
403 |
18 |
18 |
Gagal |
Inactive Card/Account/Customer |
|
404 |
18 |
11 |
Gagal |
Invalid Card/Account/Customer[info]/Virtual Account |
|
404 |
18 |
13 |
Gagal |
Invalid Amount |
|
409 |
18 |
00 |
Gagal |
Conflict |
|
500 |
18 |
00 |
Pending |
General Error |
|
504 |
18 |
00 |
Pending |
Timeout |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.