Static QRIS

Static QRIS

1. Generating a Static QR code

Generation of Static QRIS is a one-time process, Clients only need to generate from Brick dashboard. Client can Sign-in and open the QRIS section from the left panel. Clients need to generate new Merchant from Add Merchant CTA.

Once user add a merchant then it will show in list as above and status will be non-verified. Users need to click needs to click on three "vertical dots" under "Action section" and click of "Verifiy Static QRIS", Once user clicks on verify static QRIS sections then one google docs will open. clients need to provide the requested data asked in google docs.
After Submission of google docs static QRIS will be generated in 1-2 working days and will be notified via email. Clients can download the static QRIS from the merchant list page via clicking three "vertical dots" under action section.

2. Callback notification

Brick notifies you when the user has already made the payment via callbacks (you will be able to set up the Virtual account callback in the Brick Dashboard )

The callback will be received once payment is made by the end user.

{
  "data": {
    "id": "QR_XXXX",
    "referenceId": "XXXX",
    "amount": 32000,
    "status": "PAID",
    "createdAt": "2024-03-13T14:12:25.000+07:00",
    "paidAt": "2024-03-13T14:12:26.212+07:00",
    "qrisType": "STATIC",
    "merchant": "merchant_name",
    "merchantNmid": "merchant_Nmid"
  }
}

📘

Setting up your QRIS callback URL

For now setting up callback QRIS need to be done manually. You can contact Brick team to setup your QRIS callback URL.

3. Status check for QR Codes

This APIs will help clients to initialize the status update from their side, They have to pass on the transactions referenceId and gets the update.

curl --location 'https://sandbox.onebrick.io/stg/v2/payments/gs/qris/static/{{referenceId}}' \
--header 'publicAccessToken: Bearer {{publicAccessToken}}'

You will get the response like below

{
    "status": 200,
    "data": {
        "referenceId": "XXXX",
        "id": "QR_XXXX",
        "amount": 32000,
        "status": "completed",
        "qrData": "",
        "paidAt": "2024-03-05T01:51:01.000+07:00",
        "type": "STATIC",
        "merchant": "merchant_name",
        "merchantNmid": "merchant_Nmid"
    },
    "metaData": {
        "source": "API",
        "entity": "Payment"
    },
    "error": null
}

QRIS status available are processing, paid, expired, and cancelled.

4. Static QRIS Get Merchant Details

These APIs will help clients get the bulk merchant details list from their side. They have to pass the right token, and they will get the details of the list.

curl --request GET \
     --url https://sandbox.onebrick.io/v2/payments/gs/qris/merchant/id \
     --header 'accept: application/json' \
     --header 'publicAccessToken: Bearer {{publicAccessToken}}'

You will get the response like below

{
  "status": 200,
  "data": {
    "id": 25,
    "name": "Brick Qris Merchant",
    "email": "[email protected]",
    "ownerName": "Brick",
    "address": "JL Tulodong",
    "nmid": "ID2020088800402",
    "qrisImageUrl": "{{url_qr_code_merchant}}",
    "status": "VERIFIED"
  },
  "metaData": {
    "source": "API",
    "entity": "Payment"
  },
  "error": null
}

5. Static QRIS Get Merchant List

These APIs will help clients get the bulk merchant list from their side. They have to pass the right token, and they will get the list.

curl --request GET \
     --url https://sandbox.onebrick.io/v2/payments/gs/qris/merchant/bulk \
     --header 'accept: application/json' \
     --header 'publicAccessToken: Bearer {{publicAccessToken}}'

You will get the response like below

{
    "status": 200,
    "data": [
        {
            "id": 25,
            "name": "Brick Qris Merchant",
            "email": "[email protected]",
            "ownerName": "Brick",
            "address": "JL Tulodong",
            "nmid": "ID2020088800402",
            "qrisImageUrl": "{{url_qr_code_merchant}}",
            "status": "VERIFIED"
        }
    ],
    "metaData": {
        "source": "API",
        "entity": "Payment"
    },
    "error": null