APIDOCS Virtual Account/Briva Online SNAP BI V1.0

API Information

Title

API Virtual Account/Briva Online

Version

v1.0

URL Sandbox

https://sandbox.partner.api.bri.co.id

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
  • Penambahan daftar informasi CHANNEL-ID 
  • Perubahan X-EXTERNAL-ID format dan length
  • Penambahan deskripsi pada endpoint Payment field trxId
  • Penambahan catatan transaksi timeout
v2.2 v1.0 11 Aug 2023 Halaman ini
  • update informati rekonsiliasi menggunakan virtualAccountNo dan trxDateTime yang semula trxId
v2.3 v1.0 04 Sep 2023 Halaman ini
  • update informasi validasi trxId
v2.4 v1.0 13 Sep 2023 Halaman ini
  • update informasi deskripsi field trxId
  • update informasi deskripsi field inquiryRequestId
  • update informasi deskripsi field paymentRequestId

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.

 

briva online

 

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 StatementAccount 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
(kalau devportal BI partnerServiceId + customerNo)

____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
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

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 +
customerNo or virtualAccountNo

___777770000000000001

virtualAccountName

String

Alphanumeric

M

255

Nama Pelanggan

John Doe

paidAmount

Object

 

M

 

 

 

> value

String

Numeric

M

16,2

Jumlah transaksi.
Nominal diinput oleh pelanggan dengan 2 desimal

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