QRIS Merchant Presented Mode (MPM) Dinamis

Informasi API Information

Title

QRIS Merchant Presented Mode (MPM) Dinamis 

Version

v1.0

URL Sandbox

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

URL Production

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

Kendali Versi

API Version

Date

Link to document

Description

v1.0

11 Mei 2022

Halaman Ini

Versi Dasar.

Deskripsi ProdukProduct Description

Product Overview

Materi Onboard: https://intip.in/materiqris

Dokumen ini bertujuan untuk menjelaskan spesifikasi API dari pengembangan QRIS Dinamis - MPM dengan skema merchant mengeluarkan QRIS, nasabah menggunakan alat untuk memindai / scan QRIS merchant. Kemudian dari BRI mengiriman notifikasi / callback sesuai dengan spesifikasi yang telah ditentukan.

Endpoint

B. Generate QR

Endpoint Description

API Generate QR digunakan untuk melakukan generate QR MPM Dinamis

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

Deskripsi

Authorization

Authorization

Alphanumeric

M

 

Bearer {Token}

X-TIMESTAMP

BRI - timestamp

Datetime

M

 

Format Timestamp ISO8601

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

Identifikasi transaksi pada sistem layanan konsumen

1234567890133

amount

Object

M

 

Detail isian dari object amount terdapat pada tabel dibawah ini

 

merchantId

String

M

64

ID unik yang dimiliki oleh setiap merchant

00007100010926

terminalId

String

M

16

ID terminal

213141251124

Request Structure dalam Object "amount"

Field

Data Type

Mandatory

Length

Description

Example

value

Decimal

M

18

Jumlah bersih dari transaksi. Jika itu IDR maka nilainya termasuk 2 angka desimal. misalnya Rp 10.000,- akan ditempatkan dengan 10000.00

123456.00

currency

String

M

3

3 digit kode ISO Currency

IDR

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

7

Kode response

HTTP status code + service code + case code

2004700

responseMessage

String

M

150

Deskripsi response

Successfull

partnerReferenceNo

String

M

6

Nomor identifikasi transaksi pada sistem layanan konsumen

1234567890133

qrContent

String

M

512

QR String MPM

0002xxxxxxxxxx

referenceNo

String

M

12

Nomor identifikasi transaksi pada sistem penyedia layanan.

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

Deskripsi

Authorization

Authorization

Alphanumeric

M

 

Bearer {Token}

X-TIMESTAMP

BRI - timestamp

Datetime

M

 

Format Timestamp ISO8601

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

Nomor identifikasi transaksi pada sistem penyedia layanan

000008526955

serviceCode

String

M

2

Indikator jenis transaksi (kode service dari transaksi request asli)

17

additionalInfo

Object

M

 

Detail isian dari object additionalInfo terdapat pada tabel dibawah ini

 

Request Structure dalam Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

terminalId

String

M

16

ID Terminal

10049258

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

7

Kode Response

HTTP status code + service code + case code

2005100

responseMessage

String

M

150

Deskripsi Response

Successful

originalReferenceNo

String

C

64

Nomor Identifikasi transaksi pada sistem penyedia layanan

000008526955

serviceCode

String

M

2

Kode Service

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

Deskripsi dari status transaksi

Successfully

amount

Object

M

 

Detail isian dari object additionalInfo terdapat pada tabel dibawah ini

 

terminalId

String

O

16

Indentifikasi terminal

10049258

additionalInfo

Object

O

 

Detail isian dari object additionalInfo terdapat pada tabel dibawah ini

 

Response Structure dalam Object "amount"

Field

Data Type

Mandatory

Length

Description

Example

value

Decimal

M

18

Jumlah bersih dari transaksi. Jika itu IDR maka nilainya termasuk 2 angka desimal. misalnya Rp 10.000,- akan ditempatkan dengan 10000.00

1500100

currency

String

M

3

3 digit kode ISO Currency

IDR

Response Structure dalam Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

customerName

String

O

 

Nama konsumen

I GEDE TONI DHARMAWAN

customerNumber

String

O

 

Nomor konsumen

9360015723456789

invoiceNumber

String

O

 

Nomor invoice

10009121031000912103

issuerName

String

O

 

Nama issuer

Finnet 2

mpan

String

O

 

Merchant PAN dari original Payment QR

9360000201102921379

Request & Response Payload Sample


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

Sukses

Successfull

Sukses

202

00

Pending

Transaction still on process

Transaksi sedang dalam proses

202

00

Pending

Request on progress

Payment sedang di proses / gagal

400

01

Gagal

Invalid Field Format {field name}

Invalid Format

403

00

Gagal

Transaction Expired

Refund sudah tidak bisa dilakukan

403

02

Gagal

Exceeds Transaction Amount Limit

Nominal melebihi limit

403

15

Gagal

Transaction Not Permitted. Invalid Data. Abort Process

Invalid Data. Abort Process

403

15

Gagal

Transaction Not Permitted. QR Expired

QR Expired

403

23

Gagal

Account Limit Exceed

Akumulasi Nominal Melebihi Limit

404

01

Gagal

Transaction Not Found

Data Tidak Ditemukan

404

08

Gagal

Invalid Merchant

Invalid Merchant

404

11

Gagal

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

Invalid CPAN

404

12

Gagal

Invalid Bill

Invalid transaction / invalid number

404

13

Gagal

Invalid Amount

Invalid Amount

404

14

Gagal

Paid Bill

Transaksi Sudah Terbayar / Transaksi sudah terefund

500

01

Gagal

Internal Server Error

Retrieve Data Failed

500

01

Gagal

Internal Server Error

Database Error