APIDOCS Virtual Account/Briva Online SNAP BI
Informasi API
Title |
API Virtual Account/Briva Online |
---|---|
Version |
v1.0 |
URL Sandbox |
|
URL Production |
Kendali Versi
Versi Dok |
Versi API |
Tanggal |
Tautan Dokumen |
Deskripsi |
---|---|---|---|---|
v1.0 |
v1.0 |
14 Desember 2021 |
Halaman ini |
Baseline version. |
v2.0 |
v1.0 |
25 April 2022 |
Halaman ini |
Update field format |
v2.1 |
v1.0 |
20 Maret 2023 |
Halaman ini |
|
v2.2 |
v1.0 |
11 Agustus 2023 |
Halaman ini |
|
v2.3 |
v1.0 |
04 September 2023 |
Halaman ini |
|
v2.4 | v1.0 | 13 September 2023 | Halaman ini |
|
Deskripsi 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.
Catatan :
- BRI memberikan rentang wtu maksimaakl 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, Acco unt 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 |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
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 0) + customerNo (hingga 20 digit).partnerServiceId + customerNo or virtualAccountNo (kalau devportal BI partnerServiceId + customerNo) |
____7777700000000000 01 |
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 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 |
Code Bank BRI. Format : 0002 |
002 |
passApp |
String |
Alphanumeric |
O |
64 |
Kunci dari pihak ketiga untuk mengakses API seperti client secret |
b7aee423dc7489dfa868 426e5c950c677925f3b9 |
inquiryRequestId |
String |
Alphanumeric |
M |
36 Note: SNAP BI length (128) |
Unique identifier untuk Inquiry. |
065ad3ca-2490-44 328a29-0a9a7ce4904b |
additional Info |
Object |
|
O |
|
|
|
>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier dari pihak ketiga untuk mengakses API |
TEST |
Response Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Respons code |
2002400 |
responseMessage |
String |
Alphabet |
M |
150 |
Respons deskripsi |
Successful |
virtualAccountData |
Object |
|
M |
|
Detail data akun virtual |
|
>partnerServiceId |
String |
Numeric |
M |
8 |
Derivative of X- PARTNER- ID , mirip dengan kode perusahaan partnerServiceId + customerNo or virtualAccountNo |
____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 |
___111870000000000001 |
>virtualAccountName |
String |
Alphanumeric |
M |
255 |
Nama pelanggan |
John Doe |
>inquiryRequestId |
String |
Alphanumeric |
M |
128 |
dari Inquiry Request |
65eb36a8-377f-4c17-89e9-146ed755d188 |
>totalAmount |
Object |
|
M |
|
|
|
>>value |
String |
Numeric |
M |
16,2 |
Jumlah transaksi. jumlah total 2 desimal (ISO 4217 ) |
940000 |
>>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 |
|
|
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 Message |
Deskripsi |
---|---|---|---|---|---|
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 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 |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
partnerServiceId |
String |
Numeric |
M |
8 |
Turunan dari X PARTNER ID, mirip dengan kode perusahaan, 8 digit left padding space. partnerServiceId + customerNo or virtualAccountNo |
____77777 |
customer No |
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 0) + customerNo (hingga 20 digits). partnerServiceId + customerNo or virtualAccountNo |
___777770000000000003 |
virtualAccountName |
String |
Alphanumeric |
O |
255 |
Nama Pelanggan |
John Doe |
paidAmount |
Object |
|
M |
|
|
10001 |
>value |
String |
Numeric |
M |
16,2 |
Jumlah transaksi. Nominal diinput oleh pelanggan dengan 2 desimal |
10000.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 |
2022-02-28T22:38: 25+07:00 |
channelCode |
Integer |
Numeric |
O |
4 |
Channel code berdasarkan ISO 18245 Chanel 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 |
72064b48-c277-4f98-ae27-feb4a0a89d83 |
hashedSourceAccountNo |
String |
Hase Base64 |
O |
32 |
nomor akun sumber di hash |
abcdefghijklmnop qrstuvwxyz123456 |
additionalInfo |
Object |
|
O |
|
|
|
>passApp |
String |
Alphanumeric |
O |
64 |
kunci dari pihak ketiga untuk akses API |
b7aee423dc7489dfa86 8426e5c950c677925f3b9 |
>idApp |
String |
Alphanumeric |
O |
8 |
Bank identifier dari pihak ketiga untuk akses API |
TEST |
Response Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Response code |
2002500 |
responseMessage |
String |
|
M |
150 |
Response description |
Successful |
virtualAccountData |
Object |
|
M |
|
Detail data akun vertual |
|
>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 |
f55fa7fe-d55a-4954-934f-21c08a051a87 |
>paidAmount |
Object |
|
O |
|
|
|
>>value |
String |
Numeric |
M |
16,2 |
Jumlah transaksi dari permintaan pembayaran |
10001 |
>>currency |
String |
Alphabet |
M |
3 |
Mata Uang |
IDR |
>paymentFlagStatus |
String |
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 |
b7aee423dc7489dfa86842 6e5c950c677925f3b9 |
>idApp |
String |
Alphanumeric |
M |
8 |
Bank identifier dari pihak ketiga untuk mengakses API |
TEST |
>>info1 |
String |
Alphanumeric |
O |
|
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" }
List of Error/Response Code
HTTP Status |
Response Code |
Case Code |
Status |
Response Description |
Deskripsi |
---|---|---|---|---|---|
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 |
Ivalid 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 dan perlu dilakukan pengecekan