APIDOCS Virtual Account/Briva Online SNAP BI

Permudah Bisnis Anda dengan BRIAPI

Tonton videonya dan lihat bagaimana BRIAPI dapat membuat bisnis Anda menjadi lebih efisien dengan BRIVA Online BRI.

Buat API Sekarang

 

Informasi API

Title

API Virtual Account/Briva Online

Version

v2.0

URL Sandbox

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

URL Production

 

Kendali Versi

Versi Dok

Versi API

Tanggal

Tautan Dokumen

Deskripsi

v1.0

v1.0

04 Desember 2021

Disini

Baseline version.

v2.0

v1.0

25 April 2022

Disini

Update field format

v2.1

v1.0

20 Maret 2023

Disini

  • 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 Agustus 2023

Disini

  • Update informasi rekonsiliasi menggunakan virtualAccountNo dan trxDateTime yang semula trxId

v2.3

v1.0

04 September 2023

Disini

  • Update informasi validasi trxId
v2.4 v1.0 13 September 2023 Disini
  • Update informasi deskripsi field trxId
  • Update informasi deskripsi field inquiryRequestId
  • Update informasi deskripsi field paymentRequestId
v2.5 v2.0 22 November 2023 Halaman ini
  • Menambahkan list response code pada endpoint Inquiry dan Payment
  • Mengubah note dari product overview
  • Menambahkan note mandatory pada object totalAmount
  • Merubah deskripsi dari field trxId pada request Payment

 

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 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)
  • Parameter rekonsiliasi yang dapat digunakan pada produk BRIVA Online SNAP BI adalah field virtualAccountNo, totalAmount dan trxDateTime pada endpoint Payment.
  • Silahkan periksa rekening koran anda jika anda mendapatkan status response pending/suspend.

 

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

.../{{version}}/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

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

Notes:

SNAP BI

(28)

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

Response Message

Status

Mandatory

200

24

00

Success

Success

M

202

24

00

Request in Progress

Failed 

O

400

24

01

Bad Request

Failed

M

400

24

01

Invalid Field Format {field name}

Failed

M

400

24

02

Invalid Mandatory Field {field name}

Failed

M

401

24

00

Unauthorized. [reason]

Failed

M

401

24

01

Invalid Token (B2B) Failed M

401

24

02

Invalid Customer Token

Failed

O

401

24

03

Token Not Found (B2B)

Failed

O

401

24

04

Customer Token Not Found

Failed

O

401

73

00

Unauthorized. [reason]

Failed

O

401

73

01

Invalid Token (B2B)

Failed

O

401

73

02

Invalid Customer Token Failed O
401 73 03 Token Not Found (B2B) Failed O
401 73 04 Customer Token Not Found Failed O
403 24 00 Transaction Expired Failed O
403 24 01 Feature Not Allowed [Reason] Failed O
403 24 02 Exceeds Transaction Amount Limit Failed O
403 24 03 Suspected Fraud Failed O
403 24 04 Activity Count Limit Exceeded Failed O
403 24 05 Do Not Honor Failed O
403 24 06 Feature Not Allowed At This Time. [reason] Failed O
403 24 07 Card Blocked Failed O
403 24 08 Card Expired Failed O
403 24 09 Dormant Account Failed O
403 24 10 Need To Set Token Limit     Failed O
403 24 11 OTP Blocked Failed O
403 24 12 OTP Lifetime Expired     Failed  O
403 24 13 OTP Sent To Cardholer     Failed O
403 24 14 Insufficient Funds Failed O
403 24 15 Transaction Not Permitted.[reason] Failed O
403 24 16 Suspend Transaction Failed O
403 24 17 Token Limit Exceeded Failed O
403 24 18 Inactive Card/Account/Customer Failed O
403 24 19 Merchant Blacklisted Failed O
403 24 20 Merchant Limit Exceed Failed O
403 24 21 Set Limit Not Allowed Failed O
403 24 22 Token Limit Invalid Failed O
403 24 23 Account Limit Exceed Failed O
404 24 00 Invalid Transaction Status Failed O
404 24 01 Transaction Not Found Failed O
404 24 02 Invalid Routing Failed O
404 24 03 Bank Not Supported By Switch Failed O
404 24 04 Transaction Cancelled Failed O
404 24 05 Merchant Is Not Registered For Card Registration Services Failed O
404 24 06 Need To Request OTP Failed O
404 24 07 Journey Not Found Failed O
404 24 08 Invalid Merchant Failed O
404 24 09 No Issuer Failed O
404 24 10 Invalid API Transition Failed O
404 24 11 Invalid Card/Account/Customer [info]/Virtual Account Failed O
404 24 12 Invalid Bill/Virtual Account [Reason] Failed M
404 24 13 Invalid Amount Failed O
404 24 14 Paid Bill Failed M
404 24 15 Invalid OTP Failed O
404 24 16 Partner Not Found Failed O
404 24 17 Invalid Terminal Failed O
404 24 18 Inconsistent Request Failed O
404 24 19 Invalid Bill/Virtual Account Failed M
405 24 00 Requested Function Is Not Supported Failed O
405 24 01 Requested Opearation Is Not Allowed Failed O
409 24 00 Conflict Failed M
409 24 01 Duplicate partnerReferenceNo Failed O
429 24 00 Too Many Requests Failed O
500 24 00 General Error Failed M
500 24 01 Internal Server Error Failed O
500 24 02 External Server Error Failed O
504 24 00 Timeout Failed M
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

../{{version}}/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

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

 

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

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

info 1 diisi

Request & Response Payload Sample

 

Request

{
   "partnerServiceId":"   77777",
   "customerNo":"0000000000001",
   "virtualAccountNo":"   777770000000000001",
   "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 diisi"
   }
}

Error Response :

{
    "responseCode": "4042512",
    "responseMessage": "Invalid Bill/Virtual Account [Reason]"
}  

List of Error/Response Code

HTTP Status

Service Code

Case Code

Response Message

Status

Mandatory

200

25

00

Success

Successful

M

202

25

00

Request In Progress

Reversal

O

400

25

00

Bad Request

Reversal

M

400

25

01

Invalid Field Format {field name}

Reversal

M

400

25

02

Invalid Mandatory Field {field name}

Reversal

M

401

25

00

Unauthorized. [reason]

Reversal

M

401

25

01

Invalid Token (B2B)

Reversal

M

401

25

02

Invalid Customer Token

Reversal

O

401

25

03

Token Not Found (B2B)

Reversal

O

401

25

04

Customer Token Not Found

Reversal

O

403

25

00

Transaction Expired

Reversal

O

403

25

01

Feature Not Allowed [Reason]

Reversal

O

403

25

02

Exceeds Transaction Amount Limit

Reversal

O

403 25 03 Suspected Fraud Reversal O
403 25 04 Activity Count Limit Exceeded Reversal O
403 25 05 Do Not Honor Reversal O
403 25 06 Feature Not Allowed At This Time. [reason] Reversal O
403 25 07 Card Blocked Reversal O
403 25 08 Card Expired Reversal O
403 25 09 Dormant Account Reversal O
403 25 10 Need To Set Token Limit Reversal O
403 25 11 OTP Blocked Reversal O
403 25 12 OTP Lifetime Expired Reversal O
403 25 13 OTP Sent To Cardholer Reversal O
403 25 14 Insufficient Funds Reversal O
403 25 15 Transaction Not Permitted.[reason] Reversal O
403 25 16 Suspend Transaction Reversal O
403 25 17 Token Limit Exceeded Reversal O
403 25 18 Inactive Card/Account/Customer Reversal O
403 25 19 Merchant Blacklisted Reversal O
403 25 20 Merchant Limit Exceed Reversal O
403 25 21 Set Limit Not Allowed Reversal O
403 25 22 Token Limit Invalid Reversal O
403 25 23 Account Limit Exceed Reversal O
404 25 00 Invalid Transaction Status Reversal O
404 25 01 Transaction Not Found Reversal O
404 25 02 Invalid Routing Reversal O
404 25 03 Bank Not Supported By Switch Reversal O
404 25 04 Transaction Cancelled Reversal O
404 25 05 Merchant Is Not Registered For Card Registration Services Reversal O
404 25 06 Need To Request OTP Reversal O
404 25 07 Journey Not Found Reversal O
404 25 08 Invalid Merchant Reversal O
404 25 09 No Issuer Reversal O
404 25 10 Invalid API Transition Reversal O
404 25 11 Invalid Card/Account/Customer [info]/Virtual Account Reversal O
404 25 12 Invalid Bill/Virtual Account [Reason] Reversal M
404 25 13 Invalid Amount Reversal M
404 25 14 Paid Bill Reversal M
404 25 15 Invalid OTP Reversal O
404 25 16 Partner Not Found Reversal O
404 25 17 Invalid Terminal Reversal O
404 25 18 Inconsistent Request Reversal O
404 25 19 Invalid Bill/Virtual Account Reversal M
405 25 00 Requested Function Is Not Supported Reversal O
405 25 01 Requested Opearation Is Not Allowed Reversal O
409 25 00 Conflict Reversal M
409 25 01 Duplicate partnerReferenceNo Reversal O
429 25 00 Too Many Requests Suspend O
500 25 00 General Error Suspend M
500 25 01 Internal Server Error Suspend O
500 25 02 External Server Error Suspend O
504 25 00 Timeout Suspend M
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending/suspend dan perlu dilakukan pengecekan