Docs
Payment
QRIS
Create QRIS Dynamic

Create QRIS Dynamic

The Create QRIS Dynamic API is used to generate a dynamic QRIS (Quick Response Code Indonesian Standard) for a transaction. This QR code is used by customers to scan and make payments.

Endpoint URL

https://api.zipay.co.id/payment/qr/create

Request

  • URL: https://api.zipay.co.id/payment/qr/create
  • Method: POST
  • Headers:
    • Content-Type: application/json
    • Authorization: Bearer <YOUR_BEARER_TOKEN>

Request Body

Example Request

{
  "amount": 10000,
  "externalId": "INIEXTERNALID1234",
  "merchantId": "3",
  "signature": "a15d881d91aa6ba66f2eef1215602fdbf38a16a2d85113697f798e2fc8783aee"
}

You need to specify the amount, an externalId for tracking the transaction, and your merchantId. Once the QR code is generated, the user can scan it and proceed with the payment.

The request requires a signature to ensure the security and authenticity of the transaction. Once the QRIS is created, the response will include details such as the generated QR string, transaction status, and expiration time.

FieldMandatoryDescription
amountYesThe amount of money to be paid by the customer (in Indonesian Rupiah) associated with the QRIS transaction.
externalIdYesA unique identifier provided by the client for the transaction.
merchantIdYesThe unique identifier of the merchant where the payment will be processed.
signatureYesA hashed string generated based on secret information known by both the client and the server, ensuring the request is authorized and tamper-proof. Click here to view the category IDs

Response

If the QRIS dynamic code is successfully generated, the API will return a response containing the details of the transaction, including the generated QR string.

Example Response

{
  "status": 200,
  "success": true,
  "data": {
    "uuid": "686c6ab1-9a3a-469a-a271-4bf171e34ca0",
    "amount": 10000,
    "externalId": "INIEXTERNALID1234",
    "status": "ACTIVE",
    "qrString": "00020101021226640012ID.ZIPAY.WWW01189360082500823836930215ZPM1420312346170303UMI51420012ID.ZIPAY.WWW0215ZPM1420312346170303UMI5204653253033605802ID5917ZHX GUITAR STORE36015JAKARTA SELATAN61051214062210517INIEXTERNALID123463042F19",
    "merchantId": "3",
    "merchantName": "ZHX GUITAR STORE3",
    "expired_at": "2024-08-02 14:22:59"
  }
}
FieldDescription
statusThe HTTP status code of the response. A value of 200 indicates that the request was successful.
successIndicates whether the API call was successful (true or false).
uuidA unique identifier for the QRIS transaction.
amountThe amount to be paid (in IDR)
externalIdThe unique identifier for the transaction, provided in the request.
statusThe status of the QRIS transaction. Typically, ACTIVE means the QR code is ready for scanning and payment.
qrStringThe actual QRIS string that can be rendered as a QR code for the user to scan.
merchantIdThe unique identifier of the merchant that was passed in the request.
merchantNameThe name of the merchant associated with the merchantId.
expired_atThe expiration timestamp of the generated QR code. After this time, the QR code is no longer valid for payment.