APIDOCS Virtual Account/Briva Online SNAP BI V1.0
API Information
Title |
API Virtual Account/Briva Online |
---|---|
Version |
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 |
25 Apr 2022 |
this pages |
Update field format |
v2.1 | v1.0 | 20 Mar 2023 | this pages |
|
v2.2 | v1.0 | 11 Aug 2023 | this pages |
|
v2.3 | v1.0 | 04 Sep 2023 | this pages |
|
v2.4 | v1.0 | 13 Sep 2023 | 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.
Notes
- BRI provides a maximum time span of less than 10 s (<10 s) for each transaction, if it exceeds the specified time, the transaction is timeout.
- Transactions that are declared timeout need to carry out the BRIAPI reconciliation procedure using the API Account Statement, CMS Account Statement, or MT940 File according to the following page (https://developers.bri.co.id/en/docs/reconciliation-procedure)
- The reconciliation parameter that can be used on BRIVA Online SNAP BI are field virtualAccountNo and trxDateTime on the Payment endpoint
- Please check your account statement for any pending/suspend status responses.
Header Structure
Key |
Value |
Format |
Mandatory |
Length |
Description |
---|---|---|---|---|---|
Authorization |
Authorization |
|
M |
|
Bearer {Token} |
X-TIMESTAMP |
BRI - Timestamp |
|
M |
|
Format Timestamp ISO8601 |
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 |
Channel code BRI refers to: 00001 : teller 00002 : ATM 00003 : IB/NBMB/Brilink Mobile 00004 : SMSB 00005 : CMS/IBIZ 00006 : EDC 00007 : RTGS 00008 : OTHER 00009 : API |
X-EXTERNAL-ID |
|
Numeric |
M |
36 |
numeric |
Endpoint
A. Inquiry
Endpoint Description
This endpoint is used to make VA inquiries to BRI partners
General Information
HTTP Method |
POST |
---|---|
Path |
snap/v1.0/transfer-va/inquiry |
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 X PARTNER ID, similar to company code, 8 digit left padding space. partnerServiceId + customerNo or virtualAccountNo |
____77777 |
customerNo |
String |
Numeric |
M |
13 Note: SNAP BI length (20) |
Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccountNo |
0000000000001 |
virtualAccountNo |
String |
Numeric |
M |
28 |
partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo (kalau devportal BI partnerServiceId + customerNo) |
____777770000000000001 |
amount |
Object |
|
O |
|
|
|
> value |
String |
Numeric |
M |
16,2 |
Transaction Amount. Nominal inputted by Customer with 2 decimal (Bank BRI set this value to 0. This value is generated by Partner) |
0.00 |
>currency |
String |
Alphabet |
M |
3 |
Currency |
IDR |
trxDateInit |
Date |
Numeric |
O |
25 |
PJP internal system datetime with timezone, which follows the ISO-8601 standard |
2021-11-25T15:01:07+07:00 |
channelCode |
Integer |
Numeric |
O |
4 |
Channel code based on ISO 18245 Channel code BRI refers to: 1 ; teller 2 ; ATM 3 : IB/NBMB/Brilink Mobile 4 : SMSB 5 : CMS/IBIZ 6 : EDC 7 : RTGS 8 : OTHER 9 : API |
1 |
sourceBankCode |
String |
Numeric |
O |
3 |
Bank code BRI. Format : 0002 |
002 |
passApp |
String |
Alphanumeric |
O |
64 |
Key from 3rd parties to access API like client secret |
b7aee423dc7489dfa868426e5c950c677925f3b9 |
inquiryRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI length (128) |
Unique identifier for this Inquiry. |
065ad3ca-2490-4432-8a29-0a9a7ce4904b |
additionalInfo |
Object |
|
O |
|
|
|
>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier from 3rd parties to access API |
TEST |
Response Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Response code |
2002400 |
responseMessage |
String |
Alphabet |
M |
150 |
Response description |
Successful |
virtualAccountData |
Object |
|
M |
|
Detail virtual account data |
|
>partnerServiceId |
String |
Numeric |
M |
8 |
Derivative of X- PARTNER- ID , similar to company code. partnerServiceId + customerNo or virtualAccou ntNo |
___77777 |
>customerNo |
String |
Numeric |
M |
13 Note: SNAP BI length (20) |
Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccou ntNo |
0000000000001 |
>virtualAccountNo |
String |
Numeric |
M |
18 |
BRIVA number. Format : partnerServiceId + customerNo |
___777770000000000001 |
>virtualAccountName |
String |
Alphanumeric |
M |
255 |
customer name |
John Doe |
>inquiryRequestId |
String |
Alphanumeric |
M |
128 |
From Inquiry Request |
e3bcb9a2-e253-40c6-aa77-d72cc138b744 |
>totalAmount |
Object |
|
M Note : SNAP BI (O) |
|
|
|
>>value |
String |
Numeric |
M |
16,2 |
Transaction Amount. Total Amount with 2 decimal (ISO 4217 ) |
200000.00 |
>>currency |
String |
|
M |
3 |
Currency |
IDR |
>inquiryStatus |
String |
Numeric |
O |
2 |
|
00 |
>inquiryReason |
Object |
|
O |
|
|
|
>>english |
String |
Alphabet |
O |
64 |
|
Success |
>>indonesia |
String |
Alphabet |
O |
64 |
|
Sukses |
>additionalInfo |
String |
|
O |
|
|
|
>>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier from 3rd parties to access API |
TEST |
>>info1 |
String |
Alphanumeric |
O |
20 |
remark |
info 1 harus diisi |
Request & Response Payload Sample
Request
{ "partnerServiceId": " 77777", "customerNo": "0000000000001", "virtualAccountNo": " 777770000000000001", "trxDateInit": "2021-11-25T22:01:07+07:00", "channelCode": 1, "sourceBankCode": "002", "passApp": "b7aee423dc7489dfa868426e5c950c677925", "inquiryRequestId": "e3bcb9a2-e253-40c6-aa77-d72cc138b744", "additionalInfo": { "idApp": "TEST" } }
Normal Response :
{ "responseCode": "2002400", "responseMessage": "Successful", "virtualAccountData": { "partnerServiceId": " 77777", "customerNo": "0000000000001", "virtualAccountNo": " 777770000000000001", "virtualAccountName": "John Doe", "inquiryRequestId": "e3bcb9a2-e253-40c6-aa77-d72cc138b744", "totalAmount": { "value": "200000.00", "currency": "IDR" }, "inquiryStatus": "00", "inquiryReason": { "english": "Success", "indonesia": "Sukses" }, "additionalInfo": { "idApp": "TEST", "info1": "info 1 harus diisi" } } }
Error Response :
{ "responseCode": "4042414", "responseMessage": "Paid Bill" }
List of Error/Response Code
HTTP Status |
Service Code |
Case Code |
Status |
Response Message |
Description |
---|---|---|---|---|---|
200 |
24 |
00 |
Success |
Successful |
|
400 |
24 |
00 |
Failed |
Bad Request | |
400 |
24 |
01 |
Failed | Invalid Field Format | |
400 |
24 |
02 |
Failed | Invalid Mandatory Field | |
401 |
24 |
00 |
Failed | Unauthorized. (Reason) | |
401 |
24 |
01 |
Failed | Invalid Token (B2B) | |
404 |
24 |
11 |
Failed | Invalid Card/Account/Customer [info]/Virtual Account | |
404 |
24 |
12 |
Failed | Invalid Bill/Virtual Account not Found | |
404 |
24 |
14 |
Failed |
Paid Bill |
|
404 |
24 |
19 |
Failed | Invalid Bill/Virtual Account | |
409 |
24 |
00 |
Failed |
Conflict |
|
500 |
24 |
00 |
Failed |
General Error |
|
504 |
24 |
00 |
Failed | Timeout |
Any error response not listed in the BRIAPI response list is considered pending/suspend and requires further investigation.
B. Payment
Endpoint Description
This endpoint is used for flagging VA payments to BRI partners
General Information
HTTP Method |
POST |
---|---|
Path |
snap/v1.0/transfer-va/payment |
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 X-PARTNER-ID , similar to company code, 8 digit left padding space. partnerServiceId + customerNo or virtualAccountNo |
____77777 |
customerNo |
String |
Numeric |
M |
13 Note: SNAPBI Length (20) |
Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccou ntNo |
0000000000001 |
virtualAccountNo |
String |
Numeric |
M |
28 |
partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
___777770000000000001 |
virtualAccountName |
String |
Alphanumeric |
M |
255 |
Customer name |
John Doe |
paidAmount |
Object |
|
M |
|
|
|
> value |
String |
Numeric |
M |
16,2 |
Transaction Amount. Nominal inputted by Customer with 2 |
10001.00 |
>currency |
String |
Alphabet |
M |
3 |
Currency |
IDR |
trxDateTime |
Date |
Numeric |
O |
25 |
PJP internal system datetime with timezone, which follows the ISO-8601 standard |
2021-11-25T22:56:31+07:00 |
channelCode |
Integer |
Numeric |
O |
4 |
Channel code based on ISO 18245 Channel code BRI refers to: 1 : teller 2 : ATM 3 : IB/NBMB/Brilink Mobile 4 : SMSB 5 : CMS/IBIZ 6 : EDC 7 : RTGS 8 : OTHER 9 : API |
1 |
sourceBankCode |
String |
Numeric |
O |
3 |
Bank code BRI. Format : 0002 |
002 |
trxId |
String |
Numeric |
C |
64 |
Identifier of transaction. |
2132902068917559061 |
paymentRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI Length (128)
|
Unique identifier. If Payment comes from the Inquiry process, this value must be the same with inquiryRequestId. |
e3bcb9a2-e253-40c6-aa77-d72cc138b744 |
hashedSourceAccountNo |
String |
Hash Base64 |
O |
32 |
Source account number in hash |
kmlm234k2nnsoebr997 |
additionalInfo |
Object |
|
O |
|
|
|
>passApp |
String |
Alphanumeric |
O |
64 |
Key from 3rd parties to access API |
b7aee423dc7489dfa868426e5c950c677925f3b9 |
>idApp |
String |
Alphanumeric |
O |
8 |
Bank identifier from 3rd parties to access API |
TEST |
Response Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Response code |
2002500 |
responseMessage |
String |
|
M |
150 |
Response description |
Successful |
virtualAccountData |
Object |
|
M |
|
Detail virtual account data |
|
>partnerServiceId |
String |
Numeric |
M |
8 |
Derivative of X- PARTNER- ID , similar to company code. partnerServiceId + customerNo or virtualAccou ntNo |
___77777 |
>customerNo |
String |
Numeric |
M |
13 Note: SNAP BI length (20) |
Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccou ntNo |
0000000000001 |
>virtualAccountNo |
String |
Numeric |
M |
28 |
BRIVA number. Format : partnerServiceId + customerNo |
___777770000000000001 |
>virtualAccountName |
String |
Alphanumeric |
M |
255 |
Customer Name |
John Doe |
>paymentRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI length (128) |
From Payment Request |
e3bcb9a2-e253-40c6-aa77-d72cc138b744 |
>paidAmount |
Object |
|
O |
|
|
|
>>value |
String |
Numeric |
M |
16,2 |
Transaction Amount. From Payment Request |
10001.00 |
>>currency |
String |
Alphabet |
M |
3 |
Currency |
IDR |
>paymentFlagStatus |
Object |
Numeric |
O |
2 |
Status for Payment Flag from Partner 00 = Success 01 = Reject 02 = Timeout |
00 |
>paymentFlagReason |
String |
|
O |
|
|
|
>>english |
String |
Alphabet |
O |
|
|
Success |
>>indonesia |
String |
Alphabet |
O |
|
|
Sukses |
additionalInfo |
Object |
|
O |
|
|
|
>passApp |
String |
Alphanumeric |
O |
64 |
Key from 3rd parties to access API |
b7aee423dc7489dfa868426e5c950c677925f3b9 |
>>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier from 3rd parties to access API |
TEST |
>>info1 |
String |
Alphanumeric |
O |
20 |
Catatan dari mitra |
Test |
Request & Response Payload Sample
Request
{ "partnerServiceId": " 77777", "customerNo": "0000000000001", "virtualAccountNo": " 777770000000000003", "virtualAccountName": "John Doe", "paidAmount": { "value": "10001.00", "currency": "IDR" }, "trxDateTime": "2021-11-25T22:56:31+07:00", "channelCode": 1, "sourceBankCode": "002", "trxId": "2132902068917559061", "paymentRequestId": "e3bcb9a2-e253-40c6-aa77-d72cc138b744", "hashedSourceAccountNo": "kmlm234k2nnsoebr997", "additionalInfo": { "idApp": "TEST", "passApp": "b7aee423dc7489dfa868426e5c950c677925f3b9" } }
Normal Response :
{ "responseCode": "2002500", "responseMessage": "Successful", "virtualAccountData": { "partnerServiceId": " 77777", "customerNo": "0000000000001", "virtualAccountNo": " 777770000000000001", "virtualAccountName": "John Doe", "paymentRequestId": "e3bcb9a2-e253-40c6-aa77-d72cc138b744", "paidAmount": { "value": "10001.00", "currency": "IDR" }, "paymentFlagStatus": "00", "paymentFlagReason": { "english": "Success", "indonesia": "Sukses" }, "additionalInfo": { "idApp": "TEST", "passApp": "b7aee423dc7489dfa868426e5c950c677925f3b9", "info1": "info 1 harus diisi" } } }
Error Response :
{ "responseCode": "4042512", "responseMessage": "Invalid Bill/Virtual Account [Reason]" }
List of Error/Response Code
HTTP Status |
Service Code |
Case Code |
Status |
Response Message |
Description |
---|---|---|---|---|---|
200 |
25 |
00 |
Success |
Successful |
|
400 |
25 |
00 |
Reversal | Bad Request |
|
400 |
25 |
01 |
Reversal |
Invalid Field Format |
|
400 |
25 |
02 |
Reversal |
Invalid Mandatory Field |
|
401 |
25 |
00 |
Reversal |
Unauthorized. (Reason) |
|
401 |
25 |
01 |
Reversal |
Invalid Token (B2B) |
|
404 |
25 |
12 |
Reversal |
Invalid Bill/Virtual Account not Found |
|
404 |
25 |
13 |
Reversal |
Invalid Amount |
|
404 |
25 |
14 |
Reversal |
Paid Bill |
|
404 |
25 |
19 |
Reversal |
Invalid Bill/Virtual Account |
|
409 |
25 |
00 |
Reversal |
Conflict |
|
500 |
25 |
00 |
Suspend |
General Error |
|
504 |
25 |
00 |
Suspend |
Timeout |
|
Any error response not listed in the BRIAPI response list is considered pending/suspend and requires further investigation.