APIDOCS Virtual Account/Transfer to VA SNAP BI
Informasi API
|
Judul |
APIdocs Virtual Account/Transfer to VA |
|---|---|
|
Versi |
v1.0 |
|
URL Sandbox |
|
|
URL Production |
Version Control
|
Doc Version |
API Version |
Date |
Link to Document |
Description |
|---|---|---|---|---|
|
v1.0 |
v1.0 |
14 Desember 2021 |
this pages |
Baseline version. |
|
v2.0 |
v1.0 |
12 May 2022 |
this pages |
Update field format |
| v2.1 | v1.0 | 05 Jan 2023 | this pages | Update length |
| v3.0 | v1.0 | 10 Mar 2023 | this pages | Changing the path on Inquiry Payment to VA from Intrabank and Payment To VA Intrabank |
| v4.0 | v1.0 | 24 Jan 2024 | this pages |
|
| v4.1 | v1.0 | 24 September 2025 | this pages |
|
Product Description
Product Overview
The BRI virtual account service feature (BRIVA) to simplify and speed up financial activities which has advantages compared to manual transfers, for example, there is no need to confirm payments manually because they will be verified automatically.
Header Structure
|
Key |
Value |
Format |
Mandatory |
Length |
Deskripsi |
|---|---|---|---|---|---|
|
Authorization |
Authorization |
|
M |
|
Bearer {Token} |
|
X-TIMESTAMP |
BRI - Timestamp |
|
M |
|
|
|
X-SIGNATURE |
BRI - Signature |
|
M |
|
HMAC_SHA512 |
|
Content-type |
application/json |
|
M |
|
application/json |
|
X-PARTNER-ID |
|
Alphanumeric |
M |
36 |
|
|
CHANNEL-ID |
|
Numeric |
M |
5 |
|
|
X-EXTERNAL-ID |
|
Numeric |
M |
9 |
|
Endpoint
A. Inquiry Payment to VA from Intrabank
Endpoint Description
This endpoint is used to validate virtual accounts
General Information
|
HTTP Method |
POST |
|---|---|
|
Path |
snap/v1.0/transfer-va/inquiry-intrabank |
|
Tipe Format |
JSON |
|
Authentication |
OAuth 2.0 with Access Token |
Request Structure
|
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
|---|---|---|---|---|---|---|
|
partnerServiceId |
String |
Numeric |
M |
8 |
Derivative of XPARTNERID , similar to company code, 8 digit left padding space. partnerServi ceId + customerNo or virtualAccountNo |
___77777 |
|
customerNo |
String |
Numeric |
M |
13 |
Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
20098115 |
|
virtualAccountNo |
String |
Numeric |
M |
21 |
partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
___7777720098115 |
Response Structure
|
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
|---|---|---|---|---|---|---|
|
responseCode |
String |
Numeric |
M |
7 |
response code |
2003200 |
|
responseMessage |
String |
Alphabet |
M |
150 |
response description |
Successful |
|
virtualAccountData |
Object |
|
M |
|
|
|
|
>partnerServiceId |
String |
Numeric |
M |
8 |
Derivative of X-PARTNER-ID , similar to company code, 8 digit left padding 0. partnerServiceId + customerNo or virtualAccountNo |
___77777 |
|
>customerNo |
String |
Numeric |
M |
13 |
Unique number up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
20098115 |
|
>virtualAccountNo |
String |
Numeric |
M |
21 |
partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo
|
___7777720098115 |
|
>virtualAccountName |
String |
Alphanumeric |
M Notes : SNAP BI (O) |
250 |
Customer Name |
Jokul Doe |
|
>totalAmount |
Object |
|
M SNAP BI (O) |
|
|
|
|
>>value |
String |
Numeric |
M |
15,2
|
Transaction Amount. Transaction Amount. |
10000.00 |
|
>>currency |
String |
Alphabet |
M |
3 |
currency |
IDR |
|
>additionalInfo |
Object |
|
O |
|
|
|
|
>>feeVirtualAccount |
String |
Numeric |
O |
|
Virtual account service fee to be charged to the partner |
|
| >>feeFundTransfer | String | Numeric | O | Fund transfer fee to be charged to the partner | ||
| >>currency | String | Alphabet | O | 3 | Fee currency code | IDR |
|
>>description |
String |
Alphanumeric |
O |
40 |
Additional remarks regarding the transaction |
Keterangan |
Request & Response Payload Sample
Request
{
"partnerServiceId": "77777",
"customerNo": "20098115",
"virtualAccountNo": "7777720098115"
}
Normal Response :
{
"responseCode": "2003200",
"responseMessage": "Successful",
"virtualAccountData": {
"partnerServiceId": " 77777",
"customerNo": "20098115",
"virtualAccountNo": " 7777720098115",
"virtualAccountName": "Jokul Doe",
"totalAmount": {
"value": "20000.00",
"currency": "IDR"
},
"additionalInfo": {
"feeVirtualAccount": "200.00",
"feeFundTransfer": "150.00",
"currency": "IDR",
"description": "testing 1"
}
}
}
Error Response :
{
"responseCode": "5043200",
"responseMessage": "Timeout"
}
List of Error/Response Code
|
HTTP Status |
Service Code |
Case Code |
Status |
Response Description |
Description |
|---|---|---|---|---|---|
|
200 |
32 |
00 |
Success |
Successful |
|
|
400 |
32 |
00 |
Failed |
Bad Request |
|
|
400 |
32 |
01 |
Failed |
Invalid Field Format |
|
|
400 |
32 |
02 |
Failed |
Invalid Mandatory Field |
|
|
404 |
32 |
12 |
Failed |
Invalid Bill/Virtual Account |
|
|
404 |
32 |
14 |
Failed |
Paid Bill |
|
|
404 |
32 |
19 |
Failed |
Expired Bill |
|
|
409 |
32 |
00 |
Failed |
Conflict |
|
|
504 |
32 |
00 |
Failed |
Timeout |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation
B. Payment To VA Intrabank
Endpoint Description
This endpoint is used to make a transfer to a virtual account
General Information
|
HTTP Method |
POST |
|---|---|
|
Path |
snap/v1.0/transfer-va/payment-intrabank |
|
Tipe Format |
JSON |
|
Authentication |
OAuth 2.0 with Access Token |
Request Structure
|
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
|---|---|---|---|---|---|---|
|
partnerServiceId |
String |
Numeric |
M |
8 |
Derivative of X- PARTNER- ID , similar to company code. partnerServiceId + customerNo or virtualAccountNo |
__77777 |
|
customerNo |
String |
Numeric |
M |
13 |
Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
20098115 |
|
virtualAccountNo |
String |
Numeric |
M |
21 |
partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
___7777720098115 |
|
virtualAccountName |
String |
Alphanumeric |
M Notes : SNAP BI (O) |
250
|
Customer Name |
Jokul Doe |
|
sourceAccountNo |
String |
Numeric |
M Notes : SNAP BI (O) |
15 |
Source account number |
001901000032531 |
|
partnerReferenceNo |
String |
Numeric |
M |
28 Notes : SNAP BI length (128) |
Unique identifier for this Payment. Generated by Partner. |
2261110858 |
|
paidAmount |
Object |
|
M |
|
||
|
>value |
String |
Numeric |
M |
15,2 |
Transaction Amount. |
10000.00 |
|
>currency |
String |
Alphabet |
M |
3 |
Currency |
IDR |
|
trxDateTime |
Date |
Numeric |
M Notes : SNAP BI (O) |
25 |
PJP internal system datetime with timezone, which follows the ISO-8601 standard |
2023-10-25T17:26:00+07:00 |
Response Structure
|
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
|---|---|---|---|---|---|---|
|
responseCode |
String |
Numeric |
M |
7 |
response code |
2003300 |
|
responseMessage |
String |
Alphabet |
M |
150 |
response description |
Successful |
|
virtualAccountData |
Object |
|
M |
|
||
|
>partnerServiceId |
String |
Numeric |
M |
8 |
Derivative of X-PARTNER-ID , similar to company code, 8 digit left padding 0. partnerServiceId + customerNo or virtualAccountNo |
___77777 |
|
>customerNo |
String |
Numeric |
M |
13 |
Unique number up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
20098115 |
|
>virtualAccountNo |
String |
Numeric |
M |
21 |
partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
___7777720098115 |
|
>virtualAccountName |
String |
Alphanumeric |
M |
250 Notes : SNAP BI length (255) |
Customer Name |
Jokul Doe |
|
>partnerReferenceNo |
String |
Numeric |
M | 28
Notes : SNAP BI length (128) |
From request payment |
2261110858 |
|
>paymentRequestId |
String |
Numeric |
M
Notes : SNAP BI (O) |
11
Notes : SNAP BI length (128) |
Unique Identifier for Payment | 1705545600 |
| >trxDateTime | Date | Numeric | O | 25 | PJP internal system datetime with timezone, which follows the ISO-8601 standard | 2023-10-25T17:26:00+07:00 |
|
>paidAmount |
Object |
|
O |
|
|
|
| >>value |
String |
Numeric |
M |
15,2 Notes : SNAP BI length (16,2) |
Transaction Amount. From Payment Request. |
10000.00 |
| >>currency | String | Alphabet | M | 3 | From Payment Request | IDR |
| >additionalInfo | Object | O | ||||
| >>feeVirtualAccount | String | Numeric | O | Virtual account service fee to be charged to the partner | ||
| >>feeFundTransfer | String | Numeric | O | Fund transfer fee to be charged to the partner | ||
| >>currency | String | Alphabet | O | 3 | Currency | IDR |
| >>description | String | Alphanumeric | O | 40 | Deskripsi tambahan untuk pembuatan briva | keterangan |
Request & Response Payload Sample
Request
{
"partnerServiceId": " 77777",
"customerNo": "20098115",
"virtualAccountNo": " 7777720098115",
"virtualAccountName": "Jokul Doe",
"sourceAccountNo": "001901000032531",
"partnerReferenceNo": "2261110858",
"trxDateTime": "2023-10-25T17:26:00+07:00",
"paidAmount": {
"value": "10000.00",
"currency": "IDR"
}
}
Normal Response :
{
"responseCode": "2003300",
"responseMessage": "Successful",
"virtualAccountData": {
"partnerServiceId": " 77777",
"customerNo": "20098115",
"virtualAccountNo": " 7777720098115",
"virtualAccountName": "Jokul Doe",
"paymentRequestId": "216532984984",
"partnerReferenceNo": "2261110858",
"trxDateTime": "2025-09-23T17:26:00+07:00",
"paidAmount": {
"value": "20000.00",
"currency": "IDR"
},
"additionalInfo": {
"feeVirtualAccount": "200.00",
"feeFundTransfer": "150.00",
"currency": "IDR",
"description": "testing 1"
}
}
}
Error Response :
{
"responseCode": "4003301",
"responseMessage": "Invalid Field Format virtualAccountNo"
}
List of Error/Response Code
|
HTTP Status |
Service Code |
Case Code |
Status |
Response Description |
Description |
|---|---|---|---|---|---|
|
200 |
33 |
00 |
Success |
Success |
|
|
400 |
33 |
00 |
Failed |
Bad Request |
|
|
400 |
33 |
01 |
Failed |
Invalid Field Format |
|
|
400 |
33 |
02 |
Failed |
Invalid Mandatory Field |
|
|
403 |
33 |
02 |
Failed |
Exceeds Transaction Amount Limit |
|
|
403 |
33 |
09 |
Failed |
Dormant Account |
|
|
403 |
33 |
14 |
Failed |
Insufficient Funds |
|
|
403 |
33 |
15 |
Failed |
Transaction Not Permitted |
|
|
403 |
33 |
16 |
Pending |
Suspend Transaction |
|
|
403 |
33 |
18 |
Failed |
Inactive Card/Account/Customer |
|
|
404 |
33 |
11 |
Failed |
Invalid Card/Account/Customer [info]/Virtual Account |
|
|
404 |
33 |
12 |
Failed |
Invalid Bill/Virtual Account |
|
|
404 |
33 |
13 |
Failed |
Invalid Amount |
|
|
404 |
33 |
14 |
Failed |
Paid Bill |
|
|
404 |
33 |
19 |
Failed |
Expired Bill |
|
|
409 |
33 |
00 |
Failed |
Conflict |
|
|
500 |
33 |
00 |
Pending |
General Error |
|
|
504 |
33 |
00 |
Pending |
Timeout |
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation