Create a payment QR code
POST/payment-qr-code
Request
- application/json
Body
- PayNowPaymentQrCode
- DuitNowPaymentQrCode
MOBILE
proxy type: A valid Singapore mobile number including the country code (+65): +65XXXXXXXX. E.g: +6592345678.UEN
proxy type: A valid Unique Entity Number (UEN) issued by ACRA. E.g: 202303536E.VPA
proxy type: A valid Virtual Payment Address (VPA) issued by a non-bank Financial Institution (e.g. digital wallets). The exact format is determined by the issuer. E.g: +6592345678#ACME.
oneOf
Possible values: [PAYNOW
]
Type of the payment QR code
Possible values: [MOBILE
, UEN
, VPA
]
Type of the payment recipient's proxy (e.g. mobile phone number). This determines the value in
proxyValue
. E.g. if you specify UEN
here, proxyValue
should be a valid UEN.
Payment recipient's proxy (e.g. mobile phone number). The value here is determined by proxyType
. E.g. if you specify UEN
in proxyType
, this should be a valid UEN.
For PayNow payment method, proxyValue
should follow these formats:
Amount to collect, specified in the currency's minor units (e.g. in SGD, specify 1250 for $12.50).
Possible values: [SGD
]
Three-letter ISO 4217 currency code in full uppercase. Must be a supported currency.
Default value: 900
The QR code will be valid for this duration, after which payment QR code scanning applications will reject it.
Possible values: <= 25 characters
An identifier for this payment, typically unique. The same value will appear in the corresponding transaction notification and bank statement entry, allowing you to reconcile with this payment.
If set to true, the amount can be edited by the payer when scanning the QR code.
Possible values: [DUITNOW
]
Type of the payment QR code
The internal account ID to be linked to the QR ID.
Amount to collect, specified in the currency's minor units (e.g. in MYR, specify 1250 for MYR 12.50).
Possible values: [MYR
]
Three-letter ISO 4217 currency code in full uppercase. Must be MYR for DuitNow.
Default value: 900
The QR code will be valid for this duration, after which payment QR code scanning applications will reject it.
Possible values: <= 25 characters
An identifier for this payment, typically unique. The same value will appear in the corresponding transaction notification and bank statement entry, allowing you to reconcile with this payment.
Responses
- 200
OK
Response Headers
Acme-Mode
string
Has the value LIVE if the data exists in live production mode or the value TEST if the data exists in test sandbox mode.
- application/json
- Schema
- Example (from schema)
Schema
MOBILE
proxy type: A valid Singapore mobile number including the country code (+65): +65XXXXXXXX. E.g: +6592345678.UEN
proxy type: A valid Unique Entity Number (UEN) issued by ACRA. E.g: 202303536E.VPA
proxy type: A valid Virtual Payment Address (VPA) issued by a non-bank Financial Institution (e.g. digital wallets). The exact format is determined by the issuer. E.g: +6592345678#ACME.
Possible values: [PAYNOW
, DUITNOW
]
Type of the payment QR code
Possible values: [MOBILE
, UEN
, VPA
]
Type of the payment recipient's proxy (e.g. mobile phone number). This determines the value in
proxyValue
. E.g. if you specify UEN
here, proxyValue
should be a valid UEN.
For DUITNOW
type, this value will always be null
.
Payment recipient's proxy (e.g. mobile phone number). The value here is determined by proxyType
. E.g. if you specify UEN
in proxyType
, this should be a valid UEN.
For PayNow payment method, proxyValue
should follow these formats:
For DUITNOW
type, this value will always be null
.
Amount to collect, specified in the currency's minor units (e.g. in SGD, specify 1250 for $12.50).
Possible values: [SGD
, MYR
]
Three-letter ISO 4217 currency code in full uppercase. Must be a supported currency.
Default value: 900
The QR code will be valid for this duration, after which payment QR code scanning applications will reject it.
Possible values: <= 25 characters
An identifier for this payment, typically unique. The same value will appear in the corresponding transaction notification and bank statement entry, allowing you to reconcile with this payment.
If set to true, the amount can be edited by the payer when scanning the QR code.
For DUITNOW
type, this value will always be false
.
The URL of the generated QR code image.
{
"type": "PAYNOW",
"proxyType": "MOBILE",
"proxyValue": "+6592345678",
"amount": 4200,
"currency": "SGD",
"expirySeconds": 900,
"transactionReference": "INV10042",
"amountEditable": false,
"qrCodeImageUrl": "https://example.com/4e5bd255-eb38-4760-b1ec-fdaf1a44ee65.png"
}