BRIVA Push Notification

Notifikasi

Endpoint Description

Fitur ini akan memberikan notifikasi kepada partner ketika terdapat pembayaran virtual account. Notifikasi ini tidak terdapat proses untuk retry ketika gagal melakukan flagging, sehingga kami sarankan agar tetap melakukan validasi get report untuk transaksi yang telah dibayar tetapi tidak mendapatkan notifikasi Untuk menggunakan fitur ini, partner harus menyediakan url endpoint untuk menerima notifikasi dari BRI, dengan spesifikasi sebagai berikut:

Flow API

push notif flow api

General Information

HTTP Method POST
Path Provided by Partner
Tipe Format JSON
Authentication  

Header Structure

Key

Value

Mandatory

Length

Description

Example

Authorization

alphanum

M

 

Token OAuth 2.0

https://developers.bri.co.id
/docs/dokumentasi#token

 

BRI-Signature

alphanum

M

 

Signature

https://developers.bri.co.id
/docs/dokumentasi#signature

 

BRI-Timestamp

alphanum

M

 

Timestamp

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

brivaNo

String

M

14

VA Number : [CorporateCode]*+[CustomerCode]** *[Corporate Code] : corporate code created by BRI (numeric[5]) **[Customer Code] : customer code created by 3rd parties (Numeric [Max 13])

 

billAmount

String

M

18

Jumlah Tagihan

 

transactionDateTime

String

M

10

Inquiry request time (Format:yyyyMMddHHmmss)

 

journalSeq

String

M

30

Unique ID for each transaction

 

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseDescription

String

M

     

responseCode

String

M

 

0000 = Success, 0101 = Failed, 0102 = Invalid Signature

 

Request & Response Payload Sample

Request

{
    "brivaNo":"8888001256798654",
    "billAmount":"22000",
    "transactionDateTime":"20201005102753",
    "journalSeq":"2027912345671234567"
}

curl --location -g --request POST '{url}/api/v1.0/notification' \
    --header 'BRI-Signature: VaJc6t6Bqjewhgia+QvNoTAEBgX9eEhaBYxPAhSulEM=' \
    --header 'BRI-Timestamp: 2021-08-26T09:40:48.818Z' \
    --header 'Authorization: Bearer UdD1UeIon4GEfuBgYdvf1h0m3Qxu' \
    --header 'Content-Type: application/json' \
    --data-raw '{
       "brivaNo": "8888001256798654",
       "billAmount": "22000",
       "transactionDateTime": "20201005102753",
       "journalSeq": "2027912345671234567"
    }'

Briva WS Notif adalah service yang disediakan oleh BRI untuk memberikan notifikasi kepada partner ketika terdapat pembayaran virtual account.

Agar partner mendapatkan notifikasi dari BRI, terdapat beberapa spesifikasi yang harus disesuaikan oleh partner adalah sebagai berikut:

  1. Header Structure Parameter-parameter yang harus disediakan oleh partner pada header adalah sebagai berikut:
    • BRI-Signature Untuk memastikan bahwa data yang dikirimkan adalah asli dan tidak dapat disanggah, partner harus membuat signature yang kemudian akan di verifikasi oleh BRI. Cara membuat signature, partner dapat merefer ke halaman web https://developers.bri.co.id/docs/dokumentasi#signature
    • BRI-Timestamp Waktu saat mengirimkan request API. Format waktu harus mengikuti format ISO8601 (yyyy-MM-ddTHH:mm:ss.SSSZ).
    • Authorization Token yang akan dikirimkan oleh tim BRIAPI, setelah melakukan registrasi partner URL.
    • Content-Type Type JSON pada Content-Type dilengkapi dengan application/json.

    Parameter-parameter yang harus disediakan oleh partner pada body request adalah sebagai berikut:

    • brivaNo, adalah nomor virtual account, String dengan maksimal karakter adalah 14. Ketentuan Nomor VA :

      [CorporateCode]*+[CustomerCode]** *

      [CorporateCode] : kode perusahaan yang dibuat oleh BRI (numeric [5])

      [CustomerCode] : kode pelanggan yang dibuat oleh 3rd party (numeric [Max 13 karakter])

    • billAmount, adalah jumlah tagihan, String dengan maksimal karakter adalah 18
    • transactionDateTime, adalah waktu saat request inquiry, dengan format: yyyyMMddHHmmss
    • journalSeq, adalah ID unik yang dimiliki oleh setiap transaksi, String dengan maksimal karakter adalah 30.

Normal Response


{   
    "responseCode": "0000",
    "responseDescription": "Success"
}

Error Response


{
    "responseCode": "0101",
    "responseDescription": "Failed"
}

Simulation