APIDOCS Virtual Account Briva Online SNAP BI

API Information

Title

API Virtual Account/Briva Online

Version

v1.0

URL Sandbox

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

URL Production

 

Version Control

Doc Version

API Version

Date

Link to document

Description

v1.0

v1.0

14 Desember 2021

this page

Baseline version.

v2.0

v1.0

25 April 2022

this page

Update field format

v2.1

v1.0

20 Mar 2023

this page

  • Update CHANNEL-ID information list
  • Change X-EXTERNAL-ID format and length
  • Add description on endpoint Payment field trxId
  • Add information about timeout transaction

v2.2

v1.0

11 Aug 2023

this page

  • Update information of reconciliation use virtualAccountNo and trxDateTime instead of trxId

v2.3

v1.0

04 Sep 2023

this page

  • Update information of validate trxId
v2.4 v1.0 13 Sep 2023 this page
  • update information of field trxId description
  • update information of field inquiryRequestId description
  • update information of field paymentRequestId description

Product Description

Product Overview

The BRI virtual account service feature (BRIVA) to simplify and speed up financial activities which has advantages compared to manual transfers, for example, there is no need to confirm payments manually because they will be verified automatically.

 

briva online

 

Notes

  • BRI provides a maximum time span of less than 10 s (<10 s) for each transaction, if it exceeds the specified time, the transaction is timeout.
  • Transactions that are declared timeout need to carry out the BRIAPI reconciliation procedure using the API Account Statement, CMS Account Statement, or MT940 File according to the following page (https://developers.bri.co.id/en/docs/reconciliation-procedure)
  • BRI sends a unique trxId field so that there are no duplicate payment.
  • The reconciliation parameter that can be used on BRIVA Online SNAP BI are field virtualAccountNo and trxDateTime on the Payment endpoint

 

Header Structure

Key

Value

Format

Mandatory

Length

Description

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

This endpoint is used to make VA inquiries to BRI partners

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

Derivative of X PARTNER ID, similar to company code, 8 digit left padding space. partnerServiceId + customerNo or virtualAccountNo

____77777

customerNo

String

Numeric

M

13

Note: SNAP BI

length

(20)

Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccountNo

0000000

000001

virtualAccountNo

String

Numeric

M

28

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo

(kalau devportal BI partnerServiceId + customerNo)

____777770000

000000001

amount

Object

 

O

 

 

 

> value

String

Numeric

M

16,2

Transaction Amount.

Nominal inputted by Customer with 2 decimal

(Bank BRI set this value to 0. This value is generated by Partner)

0.00

>currency

String

Alphabet

M

3

Currency

IDR

trxDateInit

Date

Numeric

O

25

PJP internal system datetime with timezone, which follows the ISO-8601 standard

2021-11-

25T15:01:07

+07:00

channelCode

Integer

Numeric

O

4

Channel code based on ISO 18245

1

channelCode

Integer

Numeric

O

4

Channel code based on ISO 18245

Channel code BRI refers to:

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

Bank code BRI. Format : 0002

002

sourceBankCode

String

Numeric

O

3

Bank code BRI. Format : 0002

002

passApp

String

Alphanumeric

O

64

Key from 3rd parties to access API like client secret

b7aee423dc74

89dfa8684

26e5c950c67

7925f3b9

inquiryRequestId

String

Alphanumeric

M

36

Note: SNAP BI

length

(128)

Unique identifier for this Inquiry.

065ad3ca-24

90-4432-8a29

-0a9a7ce4904b

additionalInfo

Object

 

O

 

 

 

>idApp

String

Alphanumeric

M

8

Bank identifier from 3rd parties to access 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)

Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccou ntNo

000000

0000001

>virtualAccountNo

String

Numeric

M

18

BRIVA number. Format : partnerServiceId + customerNo

___77777000

0000000001

>virtualAccountName

String

Alphanumeric

M

255

customer name

John Doe

>inquiryRequestId

String

Alphanumeric

M

128

From Inquiry Request

65eb36a8

-377f-4c17-

89e9-146

ed755d188

>totalAmount

Object

 

M

 

 

 

>>value

String

Numeric

M

16,2

Transaction Amount. Total Amount with 2 decimal (ISO 4217 )

940000

>>currency

String

 

M

3

Currency

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 from 3rd parties to access API

TEST

>>info1

String

Alphanumeric

O

 

remark

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 Description

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  
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.

B. Payment

Endpoint Description

This endpoint is used for flagging VA payments to BRI partners

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

Derivative of X-PARTNER-ID , similar to company code, 8 digit left padding

space. partnerServiceId + customerNo

or virtualAccountNo

____77777

customerNo

String

Numeric

M

13

Note:

SNAPBI

Length

(20)

Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccou ntNo

0000000

000001

virtualAccountNo

String

Numeric

M

28

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId +

customerNo or virtualAccountNo

___77777000

0000000003

virtualAccountName

String

Alphanumeric

M

255

Customer name

John Doe

paidAmount

Object

 

M

 

 

 

>value

String

Numeric

M

16,2

Transaction Amount.

Nominal inputted by Customer with 2 decimal

10000

.00

>currency

String

Alphabet

M

3

Currency

IDR

trxDateTime

Date

Numeric

O

25

PJP internal system datetime with timezone, which follows the ISO-8601 standard

2021-11-25T

22:38:25+07:00

channelCode

Integer

Numeric

O

4

Channel code based on ISO 18245

1

channelCode

Integer

Numeric

O

4

Channel code based on ISO 18245

Channel code BRI refers to:

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

Bank code BRI. Format : 0002

002

trxId

String

Numeric

C

64

Unique identifier of transaction.

2132902068917559061

paymentRequestId

String

Alphanumeric

M

36

Note:

SNAP BI

Length

(128)

 

Unique identifier. If Payment comes from the Inquiry process, this value must be the same with inquiryRequestId.

e3bcb9a2-e253-40c6

-aa77-d72cc138b744

hashedSourceAccountNo

String

Hash Base64

O

32

Source account number in hash

abcdefghijkl

mnopqrstuv

wxyz123456

additionalInfo

Object

 

O

 

 

 

>passApp

String

Alphanumeric

M

64

Key from 3rd parties to access API

b7aee423dc7

489dfa868426e5

c950c677925f3b9

>idApp

String

Alphanumeric

O

8

Bank identifier from 3rd parties to access 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 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)

Unique number (up to 20 digits). partnerServi ceId + customerNo or virtualAccou ntNo

000000

0000001

>virtualAccountNo

String

Numeric

M

28

BRIVA number. Format : partnerServiceId + customerNo

___77777000

0000000001

>virtualAccountName

String

Alphanumeric

M

255

Customer Name

John Doe

>paymentRequestId

String

Alphanumeric

M

36

Note: SNAP BI

length

(128)

From Payment Request

e3bcb9a2-e253

-40c6-aa77-

d72cc138b744

>paidAmount

Object

 

O

 

 

 

>>value

String

Numeric

M

16,2

Transaction Amount. From Payment Request

10001.00

>>currency

String

Alphabet

M

3

Currency

IDR

>paymentFlagStatus

Object

Numeric

O

2

Status for Payment Flag from Partner

00 = Success 01 = Reject 02 = Timeout

00

>paymentFlagReason

Object

 

 

 

 

 

>>english

String

Alphabet

O

 

 

Success

>>indonesia

String

Alphabet

O

 

 

Sukses

>additionalInfo

Object

 

O

 

 

 

>>passApp

String

Alphanumeric

M

64

Key from 3rd parties to access API

b7aee423dc74895

c950c677925f3b9

>>idApp

String

Alphanumeric

M

8

Bank identifier from 3rd parties to access API

TEST

>>info1

String

Alphanumeric

O

 

Remark

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": "4042414", "responseMessage": "Paid Bill"
        }
        

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

 

Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.