How PayNow Works โ Complete Guide to Singapore Payments
Everything about Singapore's instant payment system: proxy types, EMV QR format, editable amount, expiry date, SGQR and the ASEAN cross-border network.
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. PayNow has achieved remarkable adoption โ with approximately 4 million registered users in a country of 5.9 million residents. Monthly transaction volumes exceed S$10 billion. The system operates 24/7/365 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: 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. 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 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 it. For static QR codes, the customer enters the 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.
- 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. Mobile Number (tag 0) uses the Singapore +65 format (e.g. 91234567 โ +6591234567) and is most common for P2P transfers. NRIC/FIN (tag 1) uses the 9-character Singapore identity number format [S/T/F/G]XXXXXXXZ for citizens, PRs and long-term pass holders. UEN (Unique Entity Number, tag 2) uses a 9โ10 character format ending with a letter for companies, charities, and government agencies. 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. The Application Identifier SG.PAYNOW is placed in sub-tag 00 of EMV tag 26. Sub-tag 01 encodes the proxy type (0=mobile, 1=NRIC/FIN, 2=UEN), sub-tag 02 contains the proxy value, sub-tag 03 contains the editable flag (0=fixed, 1=editable), and sub-tag 04 contains the optional expiry date in YYYYMMDD format. The transaction currency is SGD (ISO 4217 code 702). Country code is SG. Point of Initiation 11 = static, 12 = dynamic. Tag 63 holds the 4-character CRC16-CCITT hex checksum.
000201 010212 2957 0009SG.PAYNOW 010210 020201912345K 030100 041020261231 52040000 5303702 541212.50 5802SG 5910Ahmad Store 6009Singapore 6304A1B2
| 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 Date
PayNow QR introduces two features not present in most other EMV QR standards: the editable amount flag (sub-tag 03) and the expiry date (sub-tag 04). The editable flag '0' means the amount is fixed โ the payer cannot modify the preset value, useful for exact-amount invoices. Flag '1' means editable โ the payer can change the amount before confirming, useful for shared bills or tips. The expiry date is encoded in YYYYMMDD format (e.g. 20261231 = December 31, 2026). After the expiry date, the QR code is no longer valid โ the payer's app will show an error. Useful for event payments, time-limited offers, or invoices with due dates.
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. Useful for event payments, time-limited offers, or invoices with due dates.
Global 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 to Malaysia (DuitNow, since 2021), India (UPI, since 2021), Indonesia (QRIS, since 2023), and the Philippines (QR Ph, since 2023). 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.
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
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. Major banks include DBS/POSB (PayLah!), OCBC (Pay Anyone), UOB (Mighty), Standard Chartered, Citibank SG, HSBC Singapore, Maybank SG, Bank of China SG, and ICBC Singapore. E-wallets include GrabPay and Singtel Dash.
SGQR โ Singapore's Unified QR Standard
SGQR (Singapore QR) was launched in September 2018 to solve the problem of multiple QR code stickers from different payment providers cluttering merchant counters. 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, GrabPay, and other supported payment schemes. The customer's app reads the entire SGQR payload and automatically activates the appropriate payment scheme. 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.