Generate
Generates a new MPM dynamic QRIS for the specified account. The returned transaction has status = open and contains the QR payload in qr_data, which should be rendered as a QR code for the customer to scan.
amountmust be within the minimum and maximum limits configured for the merchant.expired_atis optional. When omitted, the QRIS expires 1 hour after creation.- The account must be active. Managed sub accounts that have not completed KYB verification cannot generate QRIS.
- The final payment status is delivered via callback to the merchant’s registered callback URL, including
merchant_reff_no. It can also be checked via the inquiry-status or show endpoint using the returnedid.
Idempotency. This endpoint is not idempotent. merchant_reff_no is stored as a free-form merchant reference and is not checked for uniqueness; sending the same request again (including with the same merchant_reff_no) creates a new, separate QRIS transaction. If the response to a generate request is lost (e.g. network timeout), first look up the transaction via GET /api/v1.0/qris-dynamic/{account_id} filtered by created_at_from/created_at_to and amount, and match merchant_reff_no on the returned items, before generating a new QRIS. An unpaid QRIS expires automatically at expired_at and does not result in any funds movement.
This endpoint is rate limited per merchant; requests above the limit are rejected with HTTP 429.
Authorizations
JWT issued by POST /api/v1.1/access-token/b2b. Send Authorization: Bearer <token>.
Merchant API key (Credential.api_key). Required on every request.
Path Parameters
ULID of the account that will receive the QRIS payment. Must belong to the authenticated merchant and be active. Account ULID
"01H9X8ZK3M7QF4N2VTB6RYJWPC"
Body
Payment amount for the dynamic QRIS. Minimum and maximum limits depend on merchant configuration.
10000
Optional expiration datetime. Must be later than the current time. A value without timezone offset is interpreted as Asia/Jakarta (WIB, UTC+7). Defaults to 1 hour after creation when omitted.
"2024-05-13T00:00:00+07:00"
Optional merchant reference number, returned on the transaction resource and in callbacks. Not checked for uniqueness: reusing a value does not prevent a new QRIS from being created.
255"INV20240513001"
