QRIS Merchant Presented Mode (MPM) Static

API Information

Title

QRIS Merchant Presented Mode (MPM) Static 

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

18 January 2022

this pages

Baseline version.

Product Description

Product Overview

Onboard Details here

This document aims to explain the API specifications of the development of Static QRIS which aims to open API facilities for BRI QRIS Static Merchant so that it can be used on Third Party Apps. Because the current QRIS Static user and password are still easy to guess.

Endpoint

A.Authentication

BRIAPI uses the OAuth 2 Authorization Framework to grant a third-party access to user accounts on an HTTP service. Before requesting our API, you have to retrieve a token by calling the Get Token endpoint.

To ensure API request safety, BRIAPI generates signatures to assure that the request or response cannot be intercepted and imitated by unauthorized users. This signature is generated using the SHA256-HMAC algorithm.

B.Generate URL

Endpoint Description

API Generate URL used to generate the login URL to the QRIS Static system.

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-generate-url

Type Format

JSON

Authentication

OAuth 2.0

 

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

Partner ID provided by partner

123123

X-EXTERNAL-ID

 

M

-

External ID that is unique for each transaction

098761

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

redirectUri

String

M

 

Redirect URL

https://thirdparty.co.id

state

String

M

 

State

121

 

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Response code

2004700

responseMes sage

String

M

-

Response description

Successful

url

String

M

-

URL

http://10.35.65.136/qris-oauth/public/login? token=14c49711e04387cb00406f9d229d0361

additionalInfo

Object

M

-

Details for the object additionalInfo are listed in the table below

 

 

Response Structure in Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Transaction type

generate_url

 

Request & Response Payload Sample

Request :

{
  "redirectUri": "https://thirdparty.co.id",
  "state":"121"
}

Normal Response :

{
    "responseCode":"2004700",
    "responseMessage":"Successful",
    "url": "http://10.35.65.136/qris-oauth/public/login?token=14c49711e04387cb00406f9d229d0361",
    "additionalInfo":
   
    {
            "trxType": "generate_url"
    }
}

Error Response :

{
    "responseCode": "5004700",
    "responseMessage": "General Error"
}

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Success

500

5004700

Failed

General Error

General Error

500

5004701

Failed

Unknown Error

Another Error

C.Get Merchant Key

Endpoint Description

API Get Merchant Key used to get the merchant key from the login code.

 

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-get-merchant-id

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

Partner ID provided by partner

123123

X-EXTERNAL-ID

 

M

-

External ID that is unique for each transaction

098761

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

code

String

M

-

Code

123456789012345678901

234567890AB

 

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Response code

2004700

responseMessage

String

M

-

Response description

success

merchantId

String

M

-

Merchant ID

051035c359b7a5d2858568894065d720

createdDate

String

M

-

Created date

2021-12-15 00:00:00

token

String

M

-

Token

2824dd9df782c7ec86773f128263a467

tokenExpired

String

M

-

Token expired

2021-12-31 01:10:23=

state

String

M

-

State

null

additionalInfo

Object

M

-

Details for the object additionalInfo are listed in the table below

 

Response Structure in Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Transaction type

get_mkey_by_token

mpan

String

M

-

MPAN

9360000200100971691

 

Request & Response Payload Sample

Request :

{ "code":"123456789012345678901234567890AB" }

Normal Response :

 

{
    "responseCode": "2004700",
    "responseMessage": "success",
    "merchantId": "051035c359b7a5d2858568894065d720",
    "createdDate": "2021-12-15 00:00:00",
    "token": "2824dd9df782c7ec86773f128263a467",
    "tokenExpired": "2021-12-31 01:10:23",
    "state": null,
    "additionalInfo": {
        "trxType": "get_mkey_by_token",
        "mpan": "9360000200100971691",
    }
}   

Error Response :

{
    "responseCode": "4044708",
    "responseMessage": "Invalid Merchant"
}

List of Error/Response Code

 

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Success

404

4044708

Failed

Invalid Merchant

Invalid merchant

500

5004701

Failed

Unknown Error

Another error

D.Get QR By Merchant Key

Endpoint Description

API Get QR By Merchant Key used to generate static QR based on merchant key.

 

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-generate-qr

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

Partner ID provided by partner

123123

X-EXTERNAL-ID

 

M

-

External ID that is unique for each transaction

098761

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

merchantId

String

M

-

Merchant ID

223456789012345678901

234567890AB

 

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Response code

2004700

responseMess age

String

M

-

Response description

Request has been processed successfully

referenceNo

String

M

-

Reference number

2020102977770000000009

partnerRefere nceNo

String

M

-

Partner reference number

2020102900000000000001

qrContent

String

M

-

QR Content

https://www.investopedia.com/terms/q/quick-response-qr-code. asp

qrImage

String

M

-

QR Image

TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpc yByZWFzb24sIGJ1dCAuLi4=

merchantName

String

M

-

Merchant name

Baso Malang

additionalInfo

Object

M

-

Details for the object additionalInfo are listed in the table below

 

 

Response Structure in Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Transaction type

GetQRByMkey

merchantCity

String

M

-

Merchant location (city)

BANYUWANGI

 

Request & Response Payload Sample

Request :

{   "merchantId": "223456789012345678901234567890AB" }

Normal Response :

        {
            "responseCode": "2004700",
           "responseMessage": "Request has been processed successfully",
           "referenceNo": "2020102977770000000009",
           "partnerReferenceNo": "2020102900000000000001",
           "qrContent": "https://www.investopedia.com/terms/q/quick-response-qr-code.asp",
           "qrImage": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCAuLi4=",
           "merchantName": "Baso Malang",
           "additionalInfo":
           {
             "trxType": "GetQRByMkey",
             "merchantCity": "BANYUWANGI"
            }
        }   
        

Error Response :

        {
            "responseCode": "4044708",
            "responseMessage": "Invalid Merchant"
        }
        

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Success

404

4044708

Failed

Invalid Merchant

Invalid merchant

500

5004701

Failed

Unknown Error

Another error

E.List Transaction By Five Merchant Key

Endpoint Description

API List Transaction By Last Five Merchant Key used to get the last five QRIS Static transaction data.

 

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-get-last-five-transaction

Type Format

JSON

Authentication

OAuth 2.0

 

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

Partner ID provided by partner

123123

X-EXTERNAL-ID

 

M

-

External ID that is unique for each transaction

098761

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

merchantId

String

M

-

Merchant ID

323456789012345678901

234567890AB

 

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Response code

2004700

responseMessage

String

M

-

Response description

Request has been processed successfully

transactionList

Array

M

-

Details for the Array transactionList are listed in the table below

 

additionalInfo

Object

M

-

Details for the object additionalInfo are listed in the table below

 

 

Response Structure in Array"transactionList"

Field

Data Type

Mandatory

Length

Description

Example

trxDate

String

M

-

Transaction date

2021-12-22 13:53:37

referenceNum

String

M

-

Reference number

 

id

String

M

-

ID

1380149

trxAmount

String

M

-

Transaction amount

20000

issName

String

M

-

ISS name

 

invoiceNumber

String

M

-

Invoice number

 

cpan

String

M

-

cpan

 

 

Response Structure Object"additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Transaction type

ListTrxLastFive_mkey

 

Request & Response Payload Sample

Request :

{   "merchantId": "051035c359b7a5d2858568894065d720" }

Normal Response :

{
   "responseCode": "2004700",
   "responseMessage": "Request has been processed successfully",
   "transactionList":
  [
    {
       "trxDate": "2021-12-22 13:53:37",
       "referenceNum": null,
       "id": 1380149,
       "trxAmount": "20000",
       "issName": null,
       "invoiceNumber": "0",
       "cpan": null
    }
    {
       "trxDate": "2021-12-22 13:49:47",
       "referenceNum": null,
       "id": 1380148,
       "trxAmount": "12000",
       "issName": null,
       "invoiceNumber": "0",
       "cpan": null
    },
    {
      "trxDate": "2021-12-22 13:48:39",
      "referenceNum": null,
      "id": 1380147,
      "trxAmount": "12000",
      "issName": null,
      "invoiceNumber": null,
      "cpan": null
    },
    {
      "trxDate": "2021-12-22 13:46:06",
      "referenceNum": null,
      "id": 1380146,
      "trxAmount": "10000",
      "issName": null,
      "invoiceNumber": null,
      "cpan": null
    },
    {
      "trxDate": "2021-12-21 14:43:00",
      "referenceNum": null,
      "id": 1380138,
      "trxAmount": "125000",
      "issName": null,
      "invoiceNumber": "0",
      "cpan": null
  }
],
"additionalInfo":

 {
      "trxType": "ListTrxLastFive_mkey"
 } 
}   

Error Response :

{
    "responseCode": "4044701",
    "responseMessage": "Transaction Not Found"
}

List of Error/Response Code

 

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Success

404

4044701

Failed

Transaction Not Found

Transaction Not Found

404

4044708

Failed

Invalid Merchant

Invalid Merchant

400

4004700

Failed

Bad Request

Bad Request

500

5004701

Failed

Unknown Error

Another error

F.List Transaction By Merchant Key

Endpoint Description

API List Transaction By Merchant Key used to get QRIS Static transaction data.

 

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-get-transaction

Type Format

JSON

Authentication

OAuth 2.0

 

Header Structure

 

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

Partner ID provided by partner

123123

X-EXTERNAL-ID

 

M

-

External ID that is unique for each transaction

098761

 

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

merchantId

String

M

-

Merchant ID

423456789012345678901

234567890AF

page

String

M

-

Page

1

limit

String

M

-

Page limit

10

dateFrom

String

M

-

Search start date

2020-02-06

dateUntil

String

M

-

Search end date

2020-02-07

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Response code

2004700

responseMessage

String

M

-

Response description

Request has been processed successfully

transactionList

Array

M

-

Details for the array transactionList are listed in the table below

 

page

Object

M

-

Details for the object page are listed in the table below

 

additionalInfo

Object

M

-

Details for the object additionalInfo are listed in the table below

 

 

Response Structure in Array"transactionList"

Field

Data Type

Mandatory

Length

Description

Example

trxDate

String

M

-

Transaction date

2021-12-22 13:53:37

referenceNum

String

M

-

Reference number

 

id

String

M

-

ID

1380149

trxAmount

String

M

-

Transaction amount

20000

issName

String

M

-

ISS Name

 

invoiceNumber

String

M

-

Invoice number

 

cpan

String

M

-

cpan

 

 

Response Structure in Object"page"

Field

Data Type

Mandatory

Length

Description

Example

totalRecord

Number

M

-

Total record

5

totalPage

Number

M

-

Total page

1

recordPerPage

String

M

-

Record per page

10

currentPage

String

M

-

Current page

1

startRecord

Number

M

-

Start record

1

 

Response Structure in Object"additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Transaction type

ListTrxLastFive_mkey

 

Request & Response Payload Sample

Request :

{   "merchantId":"423456789012345678901234567890AF",   "page": "1",   "limit":"10",   "dateFrom":"2020-02-06",   "dateUntil":"2020-02-07" }

Normal Response :

{
    "responseCode": "2004700",
    "responseMessage": "Request has been processed successfully",
    "transactionList":
  
    [
          {
               "trxDate": "2021-12-22 13:53:37",
               "referenceNum": null,
               "id": 1380149,
               "trxAmount": "20000",
               "issName": null,
               "invoiceNumber": "0",
               "cpan": null
          },
          {
               "trxDate": "2021-12-22 13:49:47",
               "referenceNum": null,
               "id": 1380148,
               "trxAmount": "12000",
               "issName": null,
               "invoiceNumber": "0",
               "cpan": null
          },
          {
               "trxDate": "2021-12-22 13:48:39",
               "referenceNum": null,
               "id": 1380147,
               "trxAmount": "12000",
               "issName": null,
               "invoiceNumber": null,
               "cpan": null
           },
           {
               "trxDate": "2021-12-22 13:46:06",
               "referenceNum": null,
               "id": 1380146,
               "trxAmount": "10000",
               "issName": null,
               "invoiceNumber": null,
               "cpan": null
           },
           {
               "trxDate": "2021-12-21 14:43:00",
               "trxDate": "2021-12-21 14:43:00",
               "id": 1380138,
               "trxAmount": "125000",
               "issName": null,
               "invoiceNumber": "0",
               "cpan": null
            }
      ],
       "page":
          {
              "totalRecord": 5,
              "totalPage": 1,
              "recordPerPage": "10",
              "currentPage": "1",
              "startRecord": 1
          },
          "additionalInfo":
          {
                    "trxType": "ListTrxLastFive_mkey"
          }     
}   

Error Response :

{
   "responseCode": "4044701",
    "responseMessage": "Transaction Not Found"
}

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Success

404

4044701

Failed

Transaction Not Found

Transaction Not Found

404

4044708

Failed

Invalid Merchant

Invalid Merchant

400

4004700

Failed

Bad Request

Bad Request

500

5004701

Failed

Unknown Error

Another error