5.2 PAYNOW

PayNow is Singapore's real-time payment network, managed by the Association Bank of Singapore (ABS) and overseen by the Monetary Authority of Singapore (MAS) , which allows users to do instant money transfers using their mobile number, Singapore National Registration Identity Card (NRIC), and Foreign Identification Number (FIN). This QR payment method is currently very popular and familiar to shoppers, and is also cost-saving for merchants, as its cost is generally lower than cards in Singapore.

ScenarioCategoryPayment methodPayment productIntegration typeAuthenticationRedirect TypeCode TypePre-authPartial RefundCancellation supported
ONLINE/OFFLINEBank TransferPAYNOWDYNAMIC_QRAPI, POS--Order code-YES-
OFFLINEBank TransferPAYNOWSTATIC_QREMVCO_QR--Static code-YES-
Payment ProductDescription
DYNAMIC_QRMerchant-Presented Mode Payment product. One code value can only be used for one transaction. For example, the order code displayed on the merchant's terminal screen or printed on the cashier's receipt. After the user scans the code, the user usually does not need to enter the transaction amount to initiate the payment.
STATIC_QRMerchant-Presented Mode Payment product. With the STATIC_QR Payment product, users can scan the STATIC_QR generated by the merchant and enter the payment amount to complete the payment. Merchants do not need to apply an updated QR code or purchase any equipment for collecting payment if merchants join the UPAS network.

Experience and integration process

CapabilitiesAPIsDescription
Initiate a paymentPAY
Refund a paymentREFUND
Inquiry transaction resultDETAIL
Notify transaction resultNOTIFICATION

Initiate a payment

FieldDescriptionRequired
paymentMethodMust be "PAYNOW"M
productMust be "DYNAMIC_QR", the "STATIC_QR" only support in EMVCO_QRM
expireAtMust be more than 5 minutes after the payment request is sent. Format is "yyyy-mm-dd hh:mm:ss"M
amountCurrently support between 0.1and 20000 SGDM
currencyPaynow only supports SGDM

Handle the payment result

  • DYNAMIC_QR
    1. To complete the payment, present the QR code image(payAction, "type": "QRCODE", "qrCodeData" ) to the shopper for scanning. To display a Base64 encoded image in both Android and iOS, you'll need to decode the Base64 string into a format that can be displayed as an image, such as a Bitmap on Android and a UIImage on iOS.
    2. After the shopper completes the payment, wait the NOTIFICATION or submit a DETAIL request for the payment result.
  • STATIC_QR
    1. After the shopper completes the payment, wait the NOTIFICATION for the payment result.