QRIS Merchant Presented Mode (MPM) Dynamic

API Information

Title

QRIS Merchat Presented Mode (MPM) Dynamic 

Version

v1.0

URL Sandbox

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

URL Production

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

Version Control

API Version

Date

Link to document

Description

v1.0

11 Mei 2022

this pages

Baseline version.

Product Description

Product Overview

Onboard Details here

This document aims to explain the specifications of the QRIS Dynamic - MPM Outbound development API with the merchant scheme of the QRIS issuer, the customer uses the tool to scan the QRIS merchant. Then BRI sends notifications/callbacks according to predetermined specifications.

Endpoint

B. Generate QR

Endpoint Description

API Generate QR used to generate used to generate QR MPM Dynamic

General Information

HTTP Method

POST

Path

/v1.0/qr-dynamic-mpm/qr-mpm-generate-qr

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Format

Mandatory

Length

Description

Authorization

Authorization

Alphanumeric

M

 

Bearer {Token}

X-TIMESTAMP

BRI - timestamp

Datetime

M

 

Timestamp ISO8601 format

X-SIGNATURE

BRI - Signature

Alphanumeric

M

 

HMAC_SHA512

Content-Type

application/json

Alpha

M

 

application/json

X-PARTNER-ID

 

Alphanumeric

M

36

 

CHANNEL-ID

 

Alpha

M

5

 

X-EXTRENAL-ID

 

Numeric

M

36

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

partnerReferenceNo

String

M

6

Identification of transactions in the customer service system

1234567890133

amount

Object

M

 

Details for the object amount are listed in the table below

 

merchantId

String

M

64

Unique ID owned by each merchant

00007100010926

terminalId

String

M

16

Terminal ID

213141251124

Request Structure in Object "amount"

Field

Data Type

Mandatory

Length

Description

Example

value

Decimal

M

18

The net amount of the transaction. If it is IDR then the value includes 2 decimal places. for example IDR 10,000,- will be placed with 10000.00

123456.00

currency

String

M

3

3 digit ISO Currency code

IDR

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

7

Response code

HTTP status code + service code + case code

2004700

responseMessage

String

M

150

Response description

Successfull

partnerReferenceNo

String

M

6

Transaction identification number on the customer service system

1234567890133

qrContent

String

M

512

QR String MPM

0002xxxxxxxxxx

referenceNo

String

M

12

Transaction identification number on the service provider's system.

409676201434

Request & Response Payload Sample

Request :


    {
        "partnerReferenceNo": "1234567890133",
        "amount": {
            "value": "123456.00",
            "currency": "IDR"
        },
        "merchantId": "00007100010926",
        "terminalId": "213141251124"
    }
           
    

Normal Response:

        {
            "responseCode": "2004700",
            "responseMessage": "Successful",
            "partnerReferenceNo": "1234567890133",
            "qrContent": "0002XXXXXXXXX",
            "referenceNo": "409676201434"
        }
                  
    

C. Inquiry Payment

Endpoint Description

Endpoint Inquiry Payment used to inquiry payment QR MPM Dinamis

General Information

HTTP Method

POST

Path

/v1.0/qr-dynamic-mpm/qr-mpm-query

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Format

Mandatory

Length

Description

Authorization

Authorization

Alphanumeric

M

 

Bearer {Token}

X-TIMESTAMP

BRI - timestamp

Datetime

M

 

Timestamp ISO8601 format

X-SIGNATURE

BRI - Signature

Alphanumeric

M

 

HMAC_SHA512

Content-Type

application/json

Alpha

M

 

application/json

X-PARTNER-ID

 

Alphanumeric

M

36

 

CHANNEL-ID

 

Alpha

M

5

 

X-EXTRENAL-ID

 

Numeric

M

36

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

originalReferenceNo

String

M

64

Transaction identification number on service provider system

000008526955

serviceCode

String

M

2

Transaction type indicator (service code from the original request transaction)

17

additionalInfo

Object

M

 

The details for the additionalInfo object are listed in the table below

 

Request Structure in Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

terminalId

String

M

16

Terminal ID

10049258

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

7

Response code

HTTP status code + service code + case code

2005100

responseMessage

String

M

150

Response description

Successful

originalReferenceNo

String

C

64

Transaction identification number on the service provider system

000008526955

serviceCode

String

M

2

Service code

17

latestTransactionStatus

String

M

2

00 - Success

01 - Initiated

02 - Paying

03 - Pending

04 - Refunded

05 - Canceled

06 - Failed

07 - Not found

00

transactionStatusDesc

String

O

50

Description of transaction status

Successfully

amount

Object

M

 

The details for the amount object are listed in the table below

 

terminalId

String

O

16

Terminal ID

10049258

additionalInfo

Object

O

 

The details for the additionalInfo object are listed in the table below

 

Response Structure in Object "amount"

Field

Data Type

Mandatory

Length

Description

Example

value

Decimal

M

18

The net amount of the transaction. If it is IDR then the value includes 2 decimal places. for example IDR 10,000,- will be placed with 10000.00

1500100

currency

String

M

3

3 digit ISO Currency code

IDR

Response Structure in Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

customerName

String

O

 

Customer name

I GEDE TONI DHARMAWAN

customerNumber

String

O

 

Customer nubmer

9360015723456789

invoiceNumber

String

O

 

Invoice number

10009121031000912103

issuerName

String

O

 

Issuer name

Finnet 2

mpan

String

O

 

PAN merchant from original Payment QR

9360000201102921379

Request & Response Payload Sample

Request :


    {
        "originalReferenceNo":"000008526955",
        "serviceCode":"17",
        "additionalInfo":{
            "terminalId": "10049258"
        }
     }     
    

Normal Response:

        {
            "responseCode": "2005100",
            "responseMessage": "Successful",
            "originalReferenceNo": "000008526955",
            "serviceCode": "17",
            "latestTransactionStatus": "00",
            "transactionStatusDesc": "Successfully",
            "amount": {
            "value": "1500100",
            "currency": "IDR"
            },
            "terminalId": "10049258",
            "additionalInfo": {
            "customerName": "I GEDE TONI DHARMAWAN",
            "customerNumber": "9360015723456789",
            "invoiceNumber": "10009121031000912103",
            "issuerName": "Finnet 2",
            "mpan": "9360000201102921379"
            }
        }
                 
    

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

00

Success

Successfull

Success

202

00

Pending

Transaction still on process

Transaction is in progress

202

00

Pending

Request on progress

Payment is being processed/failed

400

01

Failed

Invalid Field Format {field name}

Invalid Format

403

00

Failed

Transaction Expired

Refunds are no longer possible

403

02

Failed

Exceeds Transaction Amount Limit

Nominal exceeds the limit

403

15

Failed

Transaction Not Permitted. Invalid Data. Abort Process

Invalid Data. Abort Process

403

15

Failed

Transaction Not Permitted. QR Expired

QR Expired

403

23

Failed

Account Limit Exceed

Accumulated Nominal Exceeding Limit

404

01

Failed

Transaction Not Found

Data not found

404

08

Failed

Invalid Merchant

Invalid Merchant

404

11

Failed

Invalid Card/Account/Customer [info]/Virtual Account

Invalid CPAN

404

12

Failed

Invalid Bill

Invalid transaction / invalid number

404

13

Failed

Invalid Amount

Invalid Amount

404

14

Failed

Paid Bill

The transaction has been paid / the transaction has been refunded

500

01

Failed

Internal Server Error

Retrieve Data Failed

500

01

Failed

Internal Server Error

Database Error