CollectionsHosted PaymentsTracked Payment QR Codes

Create a tracked QR code

POST
/v1/tracked-payment-qr-codes

Authorization

authorization
AuthorizationBearer <token>

Set Your Secret API Key

In: header

Header Parameters

Idempotency-Key?string

A unique value, eg. a UUID.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

type*string

Payment QR code network.

amount*number

Amount to collect, specified in the currency's minor units (e.g. in SGD, specify 1250 for $12.50).

Range1 <= value <= 20000000
amountEditable?boolean

If set to true, the amount can be edited by the payer when scanning the QR code.

currency*string

Three-letter ISO 4217 currency code in full uppercase.

expirySeconds?integer

The QR code will be valid for this duration, after which payment QR code scanning applications will reject it.

Formatint32
proxyType?string

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.

Value in

  • "MOBILE"
  • "UEN"
  • "VPA"
  • "NRIC"
proxyValue?string

Payment recipient's proxy (e.g. mobile phone number). The value here is determined by proxyType. For the PayNow payment method, proxyValue should follow these formats:

  • 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.
transactionReference*string

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.

Length0 <= length <= 25

Response Body

*/*

curl -X POST "https://example.com/v1/tracked-payment-qr-codes" \  -H "Content-Type: application/json" \  -d '{    "type": "string"  }'
{  "amount": 0,  "amountEditable": true,  "bankAccount": {    "bank": "string",    "bankAccountNumber": "string",    "id": "string"  },  "bankReference": "string",  "createdAt": "string",  "currency": "string",  "expirySeconds": 0,  "id": "string",  "proxyType": "string",  "proxyValue": "string",  "qrCodeImageUrl": "string",  "resultCode": "string",  "status": "string",  "statusSource": "string",  "transactionReference": "string",  "type": "string",  "underlyingResultCode": "string",  "underlyingResultDescription": "string",  "updatedAt": "string"}