APIDOCS Virtual Account/Briva Online SNAP BI V1.0
API Information
Title |
API Virtual Account/Briva Online |
---|---|
Version |
v1.0 |
URL Sandbox |
|
URL Production |
Kendali Versi
Versi Doc |
Versi API |
Tanggal |
Tautan Dokumen |
Deskripsi |
---|---|---|---|---|
v1.0 |
v1.0 |
14 Desember 2021 |
Halaman ini |
Baseline version. |
v2.0 |
v1.0 |
25 Apr 2022 |
Halaman ini |
Update field format |
v2.1 | v1.0 | 20 Mar 2023 | Halaman ini |
|
v2.2 | v1.0 | 11 Aug 2023 | Halaman ini |
|
v2.3 | v1.0 | 04 Sep 2023 | Halaman ini |
|
v2.4 | v1.0 | 13 Sep 2023 | Halaman ini |
|
Deksripsi Produk
Gambaran Produk
Fitur layanan virtual account BRI (BRIVA) untuk mempermudah dan mempercepat aktivitas keuangan yang memiliki keunggulan dibandingkan transfer manual, misalnya tidak perlu melakukan konfirmasi pembayaran secara manual karena akan terverifikasi secara otomatis.
Notes
- BRI memberikan rentang waktu maksimal kurang dari 10 detik (< 10 detik) untuk setiap pengiriman transaksi hit, apabila melebihi waktu yang telah ditentukan maka transaksi tersebut dinyatakan timeout.
- Transaksi yang dinyatakan timeout perlu untuk dilakukan prosedur rekonsiliasi BRIAPI menggunakan API Account Statement, Account Statement CMS, atau MT940 File sesuai pada laman berikut (https://developers.bri.co.id/id/docs/prosedur-rekonsiliasi).
- BRI mengirimkan field trxId yang bersifat unique pada setiap transaksi, Partner perlu adanya validasi field trxId agar tidak terdapat flaging payment yang duplicate.
- Parameter rekonsiliasi yang dapat digunakan pada produk BRIVA Online SNAP BI adalah field virtualAccountNo dan trxDateTime pada endpoint Payment.
Header Structure
Key |
Value |
Format |
Mandatory |
Length |
Deskripsi |
---|---|---|---|---|---|
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
Endpoint ini digunakan untuk melakukan inquiry VA ke rekanan BRI
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 |
Turunan dari X PARTNER ID, mirip dengan kode perusahaan, 8 digit left padding space. partnerServiceId + customerNo or virtualAccountNo |
____77777 |
customerNo |
String |
Numeric |
M |
13 Note: SNAP BI length (20) |
Nomor uniik (hingga 20 digit). partnerServiceId + customerNo or virtualAccountNo |
0000000000001 |
virtualAccountNo |
String |
Numeric |
M |
28 |
partnerServiceId (8 digit left padding space) + customerNo (hingga 20 digit). partnerServiceId + customerNo or virtualAccountNo |
____777770000000000001 |
amount |
Object |
|
O |
|
|
|
> value |
String |
Numeric |
M |
16,2 |
Jumlah transaksi. Nominal diinput oleh pelanggan dengan 2 desimal (Bank BRI menetapkan nilai ini menjadi 0. Nilai ini dihasilkan oleh Mitra) |
0.00 |
>currency |
String |
Alphabet |
M |
3 |
Mata Uang |
IDR |
trxDateInit |
Date |
Numeric |
O |
25 |
Tanggal waktu sistem PJP internal dengan zona waktu, yang mengikuti standar ISO-8601 |
2021-11-25T15:01:07+07:00 |
channelCode |
Integer |
Numeric |
O |
4 |
Channel code berdasarkan ISO 18245 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 |
Code Bank BRI. Format : 0002 |
002 |
passApp |
String |
Alphanumeric |
O |
64 |
Kunci dari pihak ketiga untuk mengakses API seperti client secret |
b7aee423dc7489dfa868426e5c950c677925f3b9 |
inquiryRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI length (128) |
Unique identifier untuk Inquiry. |
065ad3ca-2490-4432-8a29-0a9a7ce4904b |
additionalInfo |
Object |
|
O |
|
|
|
>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier dari pihak ketiga untuk mengakses 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) |
Nomor unik (hingga 20 digits). partnerServi ceId + customerNo or virtualAccountNo |
0000000000001 |
>virtualAccountNo |
String |
Numeric |
M |
18 |
Nomor BRIVA . Format : partnerServiceId + customerNo |
___777770000000000001 |
>virtualAccountName |
String |
Alphanumeric |
M |
255 |
Nama Pelanggan |
John Doe |
>inquiryRequestId |
String |
Alphanumeric |
M |
128 |
dari Inquiry Request |
e3bcb9a2-e253-40c6-aa77-d72cc138b744 |
>totalAmount |
Object |
|
M Note : SNAP BI (O) |
|
|
|
>>value |
String |
Numeric |
M |
16,2 |
Jumlah transaksi. jumlah total 2 desimal (ISO 4217 ) |
200000.00 |
>>currency |
String |
|
M |
3 |
Mata Uang |
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 dari pihak ketiga untuk mengakses API |
TEST |
>>info1 |
String |
Alphanumeric |
O |
20 |
Catatan dari mitra |
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 |
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending/suspend dan perlu dilakukan pengecekan
B. Payment
Endpoint Description
Endpoint ini digunakan untuk menandai pembayaran VA ke mitra BRI
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 |
Turunan dari X PARTNER ID, mirip dengan kode perusahaan, 8 digit left padding space. partnerServiceId + customerNo or virtualAccountNo |
____77777 |
customerNo |
String |
Numeric |
M |
13 Note: SNAPBI Length (20) |
Nomor Unik (hingga 20 digits). partnerServiceId + customerNo or virtualAccou ntNo |
0000000000001 |
virtualAccountNo |
String |
Numeric |
M |
28 |
partnerServiceId (8 digit left padding space) + customerNo (hingga 20 digits). partnerServiceId + |
___777770000000000001 |
virtualAccountName |
String |
Alphanumeric |
M |
255 |
Nama Pelanggan |
John Doe |
paidAmount |
Object |
|
M |
|
|
|
> value |
String |
Numeric |
M |
16,2 |
Jumlah transaksi. |
10001.00 |
>currency |
String |
Alphabet |
M |
3 |
Mata Uang |
IDR |
trxDateTime |
Date |
Numeric |
O |
25 |
Tanggal waktu sistem PJP internal dengan zona waktu, yang mengikuti standar ISO-8601 |
2021-11-25T22:56:31+07:00 |
channelCode |
Integer |
Numeric |
O |
4 |
Channel code berdasarkan ISO 18245 Channel code BRI mengacu pada : 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 |
Kode Bank BRI. Format : 0002 |
002 |
trxId |
String |
Numeric |
C |
64 |
Unique identifier untuk transaksi. |
2132902068917559061 |
paymentRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI Length (128)
|
Unique identifier. jika pembayaran datang dari proses Inquiry, nilai harus sama dengan inquiryRequestId |
e3bcb9a2-e253-40c6-aa77-d72cc138b744 |
hashedSourceAccountNo |
String |
Hash Base64 |
O |
32 |
nomor akun sumber di hash |
kmlm234k2nnsoebr997 |
additionalInfo |
Object |
|
O |
|
|
|
>passApp |
String |
Alphanumeric |
O |
64 |
kunci dari pihak ketiga untuk akses API |
b7aee423dc7489dfa868426e5c950c677925f3b9 |
>idApp |
String |
Alphanumeric |
O |
8 |
Bank identifier dari pihak ketiga untuk akses 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 |
|
Detai data akun virtual |
|
>partnerServiceId |
String |
Numeric |
M |
8 |
Turunan dari f X- PARTNER- ID , mirip dengan kode perusahaan. partnerServiceId + customerNo atau virtualAccountNo |
___77777 |
>customerNo |
String |
Numeric |
M |
13 Note: SNAP BI length (20) |
Nomor unik (hingaa 20 digit). partnerServiceId + customerNo atau virtualAccountNo |
0000000000001 |
>virtualAccountNo |
String |
Numeric |
M |
28 |
Nomor BRIVA. Format : partnerServiceId + customerNo |
___777770000000000001 |
>virtualAccountName |
String |
Alphanumeric |
M |
255 |
Nama Pelanggan |
John Doe |
>paymentRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI length (128) |
Dari permintaan pembayaran |
e3bcb9a2-e253-40c6-aa77-d72cc138b744 |
>paidAmount |
Object |
|
O |
|
|
|
>>value |
String |
Numeric |
M |
16,2 |
Jumlah transaksi dari permintaan pembayaran |
10001.00 |
>>currency |
String |
Alphabet |
M |
3 |
Mata Uang |
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 |
Kunci dari pihak ketiga untuk mengakses API |
b7aee423dc7489dfa868426e5c950c677925f3b9 |
>>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier dari pihak ketiga untuk mengakses 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 |
|
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending/suspend dan perlu dilakukan pengecekan