This is a Money Out operation. Each payment debits funds from your Singapay account and credits the destination QRIS merchant via the switching network (Jalin, Alto, or Rintis).
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.
Recommended flow
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.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.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.API overview
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v2.0/qris/issuer/mpm/inquiry-merchant | Decode qr_data and retrieve verified QRIS merchant details. |
POST | /api/v2.0/qris/issuer/mpm/payment-credit | Initiate a payment credit to the QRIS merchant. |
POST | /api/v2.0/qris/status/{account_id} | Query the status of a QRIS transaction by reference_number. |
POST, accept application/json, and require OAuth 2.0 Bearer Token authentication.
Transaction status
| Status | Description |
|---|---|
pending | Payment initiated, awaiting confirmation from the switching network. |
success | Payment successfully credited to the merchant. |
failed | Payment failed — check the response code for the reason. |
Important notes
Always inquiry before payment
Always inquiry before payment
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.
Switching network support
Switching network support
Singapay routes QRIS issuer payments through supported switching networks — Jalin, Alto, and Rintis. The routing is handled automatically based on the merchant’s QRIS data.
QR code format
QR code format
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.Reference number for tracking
Reference number for tracking
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.Signature required
Signature required
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.
