Anda di halaman 1dari 7

BRIVA Online v1.

BRIVA Online

API Information
Title BRIVA Online v1.0

Version v1.0

URL Sandbox Disediakan oleh partner sesuai dengan standar BRI

URL Production Disediakan oleh partner sesuai dengan standar BRI

Version Control

API Version Date Link to document Description

v1.0 29 Juni 2021 this pages Baseline version.

v1.0 8 Agustus 2021 this pages Add response code for signature and header timestamp

Product Description

Product Overview
BRIVA Online adalah produk yang bisa digunakan oleh partner untuk mengimplementasikan BRI Virtual Account, di mana billing ada di sisi
partner (nomor VA, jumlah tagihan dll).

URL Terms
Dalam service ini URL akan diprovide oleh partner yang accessible dari internet. Untuk URL yang di provide juga harus ada 2 yaitu untuk
environment sandbox dan production.

Contoh:

Partner A mempunyai base url https://service-partner.co.id/api, nanti path nya harus harus mengikuti ketentuan pada table General Information
dan menjadi seperti tabel dibawah ini:

Endpoint URL

Inquiry https://service-partner.co.id/api/request-inquiry

Payment https://service-partner.co.id/api/request-payment

Endpoint

A. Inquiry BRIVA Online


Endpoint Description
Endpoint ini disediakan oleh partner, yang akan digunakan oleh BRI untuk melakukan inquiry detail VA (tagihan dll) ke partner.

General Information

HTTP Method POST

Path /request-inquiry

Tipe Format JSON

Authentication Signature

Header Structure

Key Value Mandatory Length Description Example

Content-Type application/json M - - -

BRI-Timestamp M - Timestamp in ISO8601 format (UTC+0) -

BRI-Signature Signature M - - -

Authorization Bearer Token M - - -

Request Structure

Field Data Type Mandatory Length Description Example

brivaNo String M 15 Nomor BRIVA untuk 123463556633525


transaksi

Response Structure

Field Data Type Mandatory Length Description Example

responseCode String M 4 Kode respon 0000

responseDescription String M 100 Deskripsi kode respon Success

data Object M Data detail respon

billAmount Numeric M 10 Nominal tagihan 1400000

billName String M 20 Nama customer student04

billInfo String M 20 Info detail tagihan Tagihan Semesteran

brivaNo String M 15 Nomor BRIVA unutk 888880001100044


transaksi

transactionDateTime Datetime M Tanggal dan waktu 20160920084020


transaksi e.g:
yyyyMMddHHmmss

Request & Response Payload Sample


Request:

"brivaNo": "123463556633525”

Normal Response:

"responseCode": "0000",

"responseDescription": "Success",

"data": {

"billAmount": "40000",

"billName": "Rina",

"billInfo": "Uang Semester",

"brivaNo": "123463556633525",

"transactionDateTime": "2020100805550667"

Error Response:

"responseCode": "0002",

"responseDescription": "Bill Not Found",

"data": {

"billAmount": "",

"billName": "",

"billInfo": "",

"brivaNo": "123458103822",

"transactionDateTime": "2020091604530618"

List of Error/Response Code

HTTP Status Code Response Description Description

200 0000 Success Success

200 0001 Already Paid Failed

200 0002 Bill Not Found Failed

200 0003 Bill Expired Failed

500 0009 General Error Failed

401 0602 Invalid Signature Failed


B. Payment BRIVA Online

Endpoint Description
Endpoint ini disediakan oleh partner, yang akan digunakan oleh BRI untuk melakukan flagging ke partner ketika ada pembayaran VA dari custom
er.

General Information

HTTP Method POST

Path /request-payment

Tipe Format JSON

Authentication Signature

Header Structure

Key Value Mandatory Length Description Example

Content-Type application/json M - - -

BRI-Timestamp M - Timestamp in ISO8601 format (UTC+0) -

BRI-Signature Signature M - - -

Authorization Bearer Token M - - -

Request Structure

Field Data Type Mandatory Length Description Example

brivaNo Number M 15 Nomor BRIVA untuk 123463556633525


transaksi

billAmount Number M 10 Nominal transaksi 1250000

transactionDateTime Datetime M Tanggal dan waktu 20160920084020


transaksi
e.g:
yyyyMMddHHmmss

journalSeq Number M 30 BRI Journal Seq ini 12345


bersifat unique

Response Structure

Field Data Type Mandatory Length Description Example

responseCode String M 4 Kode respon 0000

responseDescription String M 100 Deskripsi kode respon Success

data Object M Data detail respon

idTransaction String M 30 Kode unik transaksi student04


dari client

brivaNo String M 15 Nomor BRIVA unutk 888880001100044


transaksi

transactionDateTime Datetime M Tanggal dan waktu 20160920084020


transaksi e.g:
yyyyMMddHHmmss
billAmount Numeric M 10 Nominal tagihan 1400000

Request & Response Payload Sample

Request:

"brivaNo": "123458103822",

"billAmount": "1250000",

"transactionDateTime": "20160920084020",

"journalSeq": "12345"

"responseCode": "0000",

"responseDescription": "Success",

"data": {

"idTransaction": "3556633525",

"brivaNo": "123463556633525",

"transactionDateTime": "354531321",

"billAmount": "40000"

Error Response:

"responseCode": "0002",

"responseDescription": "BrivaNum Doesn't Exist",

"data": {

"idTransaction": "",

"brivaNo": "123458103822",

"transactionDateTime": "20160920084020",

"billAmount": "1250000"

List of Error/Response Code

HTTP Status Code Response Description Description

200 0000 Success Flagging Success

200 0001 BrivaNum can't be null Flagging Failed

200 0002 BrivaNum Doesn't Exist Flagging Failed


200 0003 Bill already paid Flagging Failed

200 0004 Invalid Payment Amount Flagging Failed

504 0020 Timeout database connection Flagging Failed

500 0021 Database Error Flagging Failed

401 0602 Invalid Signature Flagging Failed

C. Signature
Signature memastikan data yang dikirimkan adalah asli dan tidak bisa disanggah. Signature dihasilkan oleh pemakai layanan dan diverifikasi
oleh penerima layanan.

Signature dibentuk dari payload yang sudah ditentukan, dengan mengimplementasikan algoritma SHA256-HMAC dengan Consumer Key sebag
ai kuncinya. Kemudian, akan dilakukan enkripsi dari signature ini dengan menggunakan Base64. Hasil akhirnya akan diletakkan di atribut BRI-
Signature di Header.

Payload
Payload tergabung dari path, verb, token, timestamp, and body. Contoh payload:

path=https://service-vendor.tcd-dev.id/api/briapi/request-inquiry&verb=GET&token=Bearer R04XSUbnm1GXNmDiXx9ysWMpFWBr

&timestamp=2019-01-02T13:14:15.678Z&body=

Detailnya akan dijelaskan dibawah ini:

1. Path
Nilai dari path diperoleh dari URL partner yang di hit BRI

Contoh:

https://service-vendor.tcd-dev.id/api/briapi/request-inquiry

2. Verb
HTTP method harus huruf kapital, i.e. GET, POST, PUT, PATCH, and DELETE.

3. Token
Token yang digunakan diambil dari header Authorization. Token ini akan dikirimkan oleh tim BRIAPI, setelah melakukan resgistrasi partner URL

Contoh:

Bearer R04XSUbnm1GXNmDiXx9ysWMpFWBr

4. Timestamp
Waktu saat mengirimkan request API. Format waktu harus mengikuti ISO8601 format (yyyy-MM-ddTHH:mm:ss.SSSZ).

Example:

2019-01-02T13:14:15.678Z

Timestamp must be in UTC or GMT +0 timezone.

5. Body
Body saat mengirimkan request API . Contoh:

&body={"hello":"world"}
Jika tidak ada body requestnya, misalkan menggunakan method GET, biarkan saja kosong. Contoh:

&body=

Anda mungkin juga menyukai