Skip to main content
The QRIS Issuer (Money Out) API lets your platform act as an issuer — sending payments from your Singapay account to any QRIS MPM (Merchant Presented Mode) merchant. The customer scans the merchant’s QR code, your system decodes it, confirms the merchant details, and initiates the credit payment through Singapay’s switching network integration.
This is a Money Out operation. Each payment debits funds from your Singapay account and credits the destination QRIS merchant via the supported switching network.

Merchant lookup

Decode any QRIS MPM code and retrieve verified merchant details before committing to a payment.

Instant credit

Initiate a payment credit transaction directly to the merchant via Indonesia’s QRIS switching network.

Status tracking

Query the latest transaction status at any point after payment initiation.

1

Scan and decode QR code

Customer scans the merchant’s QRIS MPM code. Your system captures the raw qr_data string from the QR code.
2

Inquiry merchant

Call QRIS Issuer MPM — Inquiry Merchant with the qr_data. Singapay decodes the QR, retrieves merchant details (name, NMID, category), and returns the verified merchant info. Present this to the customer for confirmation.
3

Initiate payment credit

Once the customer confirms, call QRIS Issuer MPM — Payment Credit with the confirmed amount and merchant details. A reference_number is returned to track the transaction.
4

Check transaction status

Use QRIS — Inquiry Transaction Status with the reference_number to verify the final transaction outcome — especially for pending or in-process payments.

API overview

All endpoints use POST, accept application/json, and require OAuth 2.0 Bearer Token authentication.

Transaction status


Important notes

Always call Inquiry Merchant before initiating a payment. This validates the QR code, retrieves the correct merchant details, and lets the customer confirm before funds are debited.
Singapay routes QRIS issuer payments through its supported switching networks. The routing is handled automatically based on the merchant’s QRIS data.
The qr_data field accepts the raw string decoded from the merchant’s QR code — the full QRIS MPM payload. Do not modify or truncate the string before sending.
Store the reference_number returned from the payment credit call. Use it with Inquiry Transaction Status to safely check the outcome and handle retries without creating duplicate transactions.
Payment Credit and Inquiry Status endpoints require an additional X-Signature and X-Timestamp header. See Authentication for signing requirements.

Available endpoints

QRIS Issuer MPM — Inquiry Merchant

Decode qr_data and retrieve verified merchant details from the QRIS switching network.

QRIS Issuer MPM — Payment Credit

Initiate a payment credit to the destination QRIS merchant.

QRIS — Inquiry Transaction Status

Query the current status of a QRIS transaction by reference number.
All endpoints require authentication. See Authentication.