Create a payment QR code
POST/payment-qr-code
Request
- application/json
Body
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
]
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.
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
]
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.
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"
}