Create, test, and check dynamic QRIS QR Codes for customer payments. Dynamic QR Codes are generated per transaction and should be reconciled through callbacks or status inquiry.
Generate Dynamic QR Code
Create a dynamic QRIS QR Code for a specific payment amount and reference ID. Use this endpoint when every customer transaction needs a unique QR payload for payment collection. The response includes QR data that can be rendered in your checkout flow, while final payment state should be confirmed through callbacks or the dynamic QR status endpoint.
Generate Dynamic QR Code › Request Body
referenceIdUnique reference of Transactions from client side(Maximum length of 25 characters)
amountAmount that clients wants to transfer
validityPeriodMinimum 600 seconds (10 minutes), maximum 86,400 seconds (24 hours) from the creation time. If not set, the default value will be 86,400 seconds (24 hours)
Generate Dynamic QR Code › Responses
200
statuserrorStatus for Dynamic QR Code
Check the latest status of a dynamic QRIS transaction by reference ID. Use this endpoint when your system needs to confirm whether a QR payment is still processing, paid, expired, or unresolved. It complements callbacks and is useful for reconciliation jobs, customer support checks, and payment confirmation screens.
path Parameters
referenceIdUnique referenceId of Transactions
Status for Dynamic QR Code › Responses
200
statuserrorQR Code Testing in Sandbox
Simulate QRIS payment status changes in the sandbox environment so your team can test callback handling and reconciliation before production. Use this endpoint after generating a sandbox dynamic QR Code to move the transaction into a desired test state. Do not use it for production payments or live customer transactions.
QR Code Testing in Sandbox › Request Body
referenceIdUnique referenceId of Transactions
statusThe status that want to be achieved (PAID/COMPLETED)
QR Code Testing in Sandbox › Responses
200
statusdataerror