How PayNow Works – Complete Guide
Everything about Singapore's instant payment system: proxy types, EMV QR format, editable amounts, SGQR and the ASEAN cross-border network.
Try the PayNow Generator →What is PayNow?
PayNow is Singapore's national instant payment system, launched in July 2017 by the Association of Banks in Singapore (ABS) under oversight of the Monetary Authority of Singapore (MAS). Built on top of Singapore's FAST (Fast And Secure Transfers) infrastructure, PayNow allows any two Singapore bank account holders to transfer money in seconds using a simple proxy identifier — no account numbers required.
The central innovation of PayNow is its proxy registry: instead of requiring the recipient's bank account number and routing code, the sender simply enters a mobile number, NRIC/FIN, or UEN. The system looks up the linked bank account and routes the payment in real time. This abstraction makes payments as easy as sending a message — and equally instant.
PayNow has achieved remarkable adoption. With approximately 4 million registered users in a country of 5.9 million residents, penetration is among the highest of any instant payment system globally. Monthly transaction volumes exceed S$10 billion. The system operates 24/7/365 — including public holidays — with zero transaction fees for personal transfers.
PayNow QR codes are encoded using the EMV Merchant Presented Mode (MPM) standard with Application Identifier (AID) SG.PAYNOW in EMV tag ID 26. The currency is always Singapore Dollar (SGD, code 702). Two unique features distinguish PayNow QR from other EMV-based systems: the editable amount flag and the expiry date field, both encoded as sub-tags within tag 26.
How PayNow Works – Step by Step
- 1
Merchant displays PayNow QR code
Static QR codes (open amount) are printed or shown at the counter. Dynamic codes with preset amounts are generated per transaction for e-commerce and invoices. Both types can include an expiry date.
- 2
Customer opens any PayNow-enabled app
DBS PayLah!, OCBC Pay Anyone, UOB Mighty, GrabPay, Singtel Dash, or any Singapore bank app — all are fully interoperable through the ABS/MAS PayNow network.
- 3
Customer scans the PayNow QR code
The app scanner parses the EMV payload and extracts the AID (SG.PAYNOW), proxy type, proxy value, amount, and any editable or expiry flags.
- 4
Amount pre-fills (or customer enters it)
If a dynamic QR was scanned, the amount is pre-filled. If the editable flag is set, the customer can modify the amount. For static QR codes, the customer enters the payment amount.
- 5
Customer authenticates via banking app
Authentication (PIN, biometrics, or transaction password) is completed within the customer's own banking app. No credentials are transmitted to the merchant or encoded in the QR code.
- 6
FAST routes and settles the payment
Singapore's FAST infrastructure processes the interbank transfer in near real-time. Settlement is final and irrevocable — no chargebacks.
- 7
Both parties receive confirmation
Payer receives a transaction success notification with reference number. Merchant receives instant credit notification via SMS and in-app alert.
PayNow Proxy Types Explained
PayNow identifies payment recipients through proxy identifiers— human-readable addresses that map to bank accounts in the ABS PayNow registry. The proxy type is encoded as sub-tag 01 within EMV tag 26 of the PayNow QR payload.
| Type | Tag | Format | Example | Use Case |
|---|---|---|---|---|
| Mobile Number | 0 | +65XXXXXXXX | 91234567 → +6591234567 | P2P transfers, most common for individuals |
| NRIC / FIN | 1 | [S/T/F/G]XXXXXXXZ | S1234567D | Citizens, PRs and long-term pass holders |
| UEN (Business) | 2 | 9–10 chars ending with letter | 201912345K | Companies, charities, government agencies |
The PayNow QR Payload – EMV Format
A PayNow QR code encodes a sequence of TLV (Tag-Length-Value) fields as a single ASCII string following the EMV MPM specification. Here is a complete example of a dynamic PayNow QR code (UEN proxy, fixed amount of S$12.50):
000201 010212 2957 0009SG.PAYNOW 010210 020201912345K 030100 041020261231 52040000 5303702 541212.50 5802SG 5910Ahmad Store 6009Singapore 6304A1B2
Spaces and line breaks are for readability only. Notice tag 26 sub-tag 03 (editable = “0” means fixed amount) and sub-tag 04 (expiry = 20261231 = December 31, 2026). These are unique PayNow extensions to the EMV standard. Tag 63 holds the 4-char CRC16-CCITT hex.
| Tag ID | Field Name | Example | Required | Description |
|---|---|---|---|---|
| 00 | Payload Format Indicator | 01 | Required | Always "01" – EMV Merchant Presented Mode |
| 01 | Initiation Method | 11 or 12 | Required | 11 = static (payer enters amount), 12 = dynamic (amount in QR) |
| 26 | Merchant Account – PayNow | SG.PAYNOW + proxy | Required | AID: SG.PAYNOW; sub-tags 01 = proxy type, 02 = proxy value, 03 = editable, 04 = expiry |
| 52 | Merchant Category Code | 0000 | Required | ISO 18245 MCC (0000 = not assigned for P2P) |
| 53 | Transaction Currency | 702 | Required | ISO 4217 numeric code for Singapore Dollar (SGD) |
| 54 | Transaction Amount | 12.50 | Optional | Present in dynamic QR only; omitted in static codes |
| 58 | Country Code | SG | Required | ISO 3166-1 alpha-2 – Singapore |
| 59 | Merchant Name | Ahmad Store | Required | Displayed on payer confirmation screen, max 25 characters |
| 60 | Merchant City | Singapore | Required | City of the merchant |
| 62 | Additional Data Field | reference | Optional | Optional bill number or transaction reference |
| 63 | CRC | 4-digit hex | Required | CRC16-CCITT checksum of entire payload including "6304" |
Editable Amount & Expiry Features
PayNow QR introduces two features not present in most other EMV QR standards: the editable amount flag and the expiry date. Both are encoded as sub-tags within EMV tag ID 26.
Editable Amount (sub-tag 03)
03 → "0"Amount is fixed. Payer cannot modify the preset value. Used for exact-amount invoices.03 → "1"Amount is editable. Payer can change it before confirming. Useful for shared bills or tips.Expiry Date (sub-tag 04)
Format: YYYYMMDD
Example: 20261231 = Dec 31 2026
After the expiry date, the QR code is no longer valid. The payer's app will show an error if scanning an expired code. Useful for event payments, time-limited offers, or invoices with due dates.
PayNow's Global Cross-Border Network
MAS has been at the forefront of ASEAN cross-border payment integration. Singapore's PayNow was the first payment system in the world to establish a bilateral real-time cross-border link (with Thailand's PromptPay in April 2021). The network has since expanded significantly.
Malaysia
Since 2021DuitNow · Most active ASEAN corridor; SGD↔MYR
Thailand
Since 2021PromptPay · World's first bilateral real-time linkage
India
Since 2021UPI · SGD↔INR; Singapore-India remittance
Indonesia
Since 2023QRIS · SGD↔IDR; ASEAN QR expansion
Philippines
Since 2023QR Ph · SGD↔PHP bilateral linkage
These linkages allow, for example, a Malaysian tourist in Singapore to scan a PayNow QR code with their Maybank or CIMB app — paying in MYR while the Singapore merchant receives SGD. Currency conversion happens automatically through the linked central banks' FX infrastructure. No cash, no currency exchange, no fees beyond the prevailing exchange rate.
Supported Banks & Wallets
All MAS-licensed banks and major e-wallets participate in PayNow. Every app is fully interoperable — a payment from DBS PayLah! arrives instantly in a Singtel Dash wallet. The ABS manages the PayNow proxy registry that connects all participants.
SGQR – Singapore's Unified QR Standard
SGQR (Singapore QR) was launched in September 2018 — just two months after PayNow QR — to solve a problem familiar to anyone who has visited a hawker centre or retail shop: multiple QR code stickers from different payment providers cluttering the counter. SGQR consolidates up to 27 different payment schemes into a single, standardised QR label.
Under SGQR, a merchant displays one QR code that simultaneously encodes PayNow, Nets (debit), GrabPay, and other supported payment schemes. The customer's app reads the entire SGQR payload and automatically activates the appropriate payment scheme — if you open GrabPay, it pays via GrabPay; if you open DBS, it pays via PayNow. There is no need for separate stickers.
SGQR is a superset of PayNow QR: a valid SGQR code always contains a PayNow payload, but a standalone PayNow QR code is not necessarily a full SGQR code. For basic merchant use, a pure PayNow QR code (as generated by qrpayhub.com) is sufficient and accepted by all PayNow-enabled apps.
Key distinction
A PayNow QR code (generated by qrpayhub.com) works with all PayNow-enabled apps. An SGQR label (issued by NETS/ABS) additionally includes Nets, NETS Flashpay, and other Singapore-specific schemes in the same QR. For most online and informal use cases, a PayNow QR is all you need.
Ready to generate your PayNow QR Code?
Free, instant, works with DBS, OCBC, UOB, GrabPay and all Singapore payment apps.
Open PayNow Generator →