APIDOCS Virtual Account Briva Online SNAP BI
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 page |
Baseline version. |
v2.0 |
v1.0 |
25 April 2022 |
this page |
Update field format |
v2.1 |
v1.0 |
20 Mar 2023 |
this page |
|
v2.2 |
v1.0 |
11 Aug 2023 |
this page |
|
v2.3 |
v1.0 |
04 Sep 2023 |
this page |
|
v2.4 | v1.0 | 13 Sep 2023 | this page |
|
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)
- BRI sends a unique trxId field so that there are no duplicate payment.
- The reconciliation parameter that can be used on BRIVA Online SNAP BI are field virtualAccountNo and trxDateTime on the Payment endpoint
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 |
0000000 000001 |
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) |
____777770000 000000001 |
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 |
1 |
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 |
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 |
b7aee423dc74 89dfa8684 26e5c950c67 7925f3b9 |
inquiryRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI length (128) |
Unique identifier for this Inquiry. |
065ad3ca-24 90-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 |
000000 0000001 |
>virtualAccountNo |
String |
Numeric |
M |
18 |
BRIVA number. Format : partnerServiceId + customerNo |
___77777000 0000000001 |
>virtualAccountName |
String |
Alphanumeric |
M |
255 |
customer name |
John Doe |
>inquiryRequestId |
String |
Alphanumeric |
M |
128 |
From Inquiry Request |
65eb36a8 -377f-4c17- 89e9-146 ed755d188 |
>totalAmount |
Object |
|
M |
|
|
|
>>value |
String |
Numeric |
M |
16,2 |
Transaction Amount. Total Amount with 2 decimal (ISO 4217 ) |
940000 |
>>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 |
|
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": "Invalid Bill" }
List of Error/Response Code
HTTP Status |
Service Code |
Case Code |
Status |
Response Description |
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 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 |
0000000 000001 |
virtualAccountNo |
String |
Numeric |
M |
28 |
partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
___77777000 0000000003 |
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 decimal |
10000 .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-25T 22:38:25+07:00 |
channelCode |
Integer |
Numeric |
O |
4 |
Channel code based on ISO 18245 |
1 |
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 |
Unique 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 |
abcdefghijkl mnopqrstuv wxyz123456 |
additionalInfo |
Object |
|
O |
|
|
|
>passApp |
String |
Alphanumeric |
M |
64 |
Key from 3rd parties to access API |
b7aee423dc7 489dfa868426e5 c950c677925f3b9 |
>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 |
000000 0000001 |
>virtualAccountNo |
String |
Numeric |
M |
28 |
BRIVA number. Format : partnerServiceId + customerNo |
___77777000 0000000001 |
>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 |
Object |
|
|
|
|
|
>>english |
String |
Alphabet |
O |
|
|
Success |
>>indonesia |
String |
Alphabet |
O |
|
|
Sukses |
>additionalInfo |
Object |
|
O |
|
|
|
>>passApp |
String |
Alphanumeric |
M |
64 |
Key from 3rd parties to access API |
b7aee423dc74895 c950c677925f3b9 |
>>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier from 3rd parties to access API |
TEST |
>>info1 |
String |
Alphanumeric |
O |
|
Remark |
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": "4042414", "responseMessage": "Paid Bill" }
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 and requires further investigation.