Description
Simplify payments, build trust, and get paid faster with Singapore’s favourite payment method.
Halfborg QR Payments for PayNow for WooCommerce is the hassle-free way to accept Singapore’s trusted PayNow payment method in your WooCommerce store. At checkout, the plugin generates a dynamic PayNow QR code — pre-filled with the payment amount, your PayNow mobile number, and the WooCommerce order number — that customers scan with any Singapore banking app to pay you directly.
PayNow is the go-to payment method for millions of Singaporeans, and this plugin lets you tap into it in minutes.
Free and Premium
The free plugin is fully functional with no order or value limits — accept unlimited PayNow payments to your registered mobile number, show the QR on the order-received page, and embed the PayNow QR directly in order-confirmation emails.
Premium (a separate licensed upgrade, sold via Freemius) adds features for businesses that want more:
- Accept by business UEN with your business name shown on the QR code, and VPA recipients (e.g. GRAB, DASH).
- Reports & analytics — PayNow orders by status, paid vs awaiting payment, time to confirm, flagged issues, and a payment-method report across all gateways, with CSV export.
- Reconciliation — confirm or flag PayNow orders as paid from a dedicated screen (single and bulk actions).
You never need Premium to accept PayNow — the free plugin is complete on its own.
Why merchants choose this plugin
- No commissions: customer payments go directly to your bank account.
- Instant confirmation: your bank notifies you (usually by SMS) the moment a payment arrives, so you can fulfil right away.
- Easy reconciliation: each payment carries the WooCommerce order number, so you always know which payment belongs to which order.
- Familiar for customers: they pay with their own banking app (DBS digibank, OCBC, UOB TMRW, and more).
- Works everywhere: the QR code displays cleanly on desktop, laptop, and mobile, and is also emailed to the customer so they can pay at their convenience.
Why this instead of Stripe?
Stripe can also accept PayNow and offers deeper automation, but it takes a commission on every transaction and holds your funds before paying out. With this plugin there are no commissions — the money goes straight to your bank account, and every transaction is tagged with the WooCommerce order number for easy tracking.
How it works
- The customer chooses PayNow at checkout. The plugin generates a dynamic PayNow QR code pre-filled with the amount, your PayNow mobile number, and the order number.
- The customer scans the QR code with their banking app and pays.
- Your bank confirms the payment (most send an SMS), and you mark the order as paid. (Premium adds a dedicated PayNow Reconciliation page for confirming and flagging orders, with single and bulk actions.)
(Premium adds business UEN and VPA recipients.)
Who it’s for
Singapore-based WooCommerce stores of any size — small business owners, freelancers, and established e-commerce sellers who sell to Singaporean customers.
Key features (free)
- Quick setup: get started in under 5 minutes, no coding — just add your PayNow mobile number.
- Unlimited PayNow payments by mobile number, with no monthly order or value cap.
- Customisable QR size, colour, and the on-screen instructions shown to customers.
- QR code on the order-received page.
- WooCommerce checkout blocks support.
Premium adds
- Business UEN recipients (with your business name on the QR) and VPA suffixes (e.g. GRAB, DASH).
- Reports & analytics with CSV export (PayNow status breakdown plus an all-gateways payment-method report).
- PayNow Reconciliation page to confirm, flag, and unflag orders as paid (single and bulk actions).
Requirements
- WordPress 6.0 or higher
- WooCommerce (7.0.2 or higher recommended)
- PHP 7.4 or higher
- Store currency set to Singapore Dollar (SGD)
- A mobile number registered for PayNow with your bank (business UEN/VPA recipients are available in Premium)
External services
PayNow QR codes are generated entirely on your own server. No payment, order, or customer data is sent to any third party to create the QR codes.
This plugin uses Freemius to handle licence management, plugin updates, and optional opt-in usage analytics. When you activate the plugin, Freemius shows an opt-in screen that you may accept or skip. If you opt in, Freemius may collect basic environment information (such as your site URL, WordPress and PHP versions, active plugins and theme, and your administrator email) to support licensing, updates, and product improvement. The plugin is fully functional whether or not you opt in.
- Freemius Privacy Policy: https://freemius.com/privacy/
- Freemius Terms of Service: https://freemius.com/terms/
Screenshots




Installation
From your WordPress dashboard:
- Go to Plugins Add New and search for “Halfborg QR Payments for PayNow”.
- Click Install Now, then Activate.
Or upload manually:
- Download the plugin zip file.
- In WordPress admin, go to Plugins Add New Upload Plugin.
- Choose the zip file and click Install Now, then Activate.
After activating:
- Set your store currency to Singapore Dollar (SGD).
- Go to WooCommerce Settings Payments PayNow and enable it.
- Enter your PayNow-registered mobile number and save.
FAQ
-
Is this plugin really free?
-
Yes. The free plugin is fully functional with no order or value limits — accept as many PayNow payments as you like to your registered mobile number, at no cost.
-
The free plugin accepts unlimited PayNow payments by mobile number and shows the QR on the order-received page and in order-confirmation emails. Premium is a separate licensed upgrade that adds business UEN and VPA recipients (with your business name on the QR), reports and analytics with CSV export, and a PayNow reconciliation page (single and bulk confirm/flag actions). You never need Premium to accept PayNow.
-
Can I accept PayNow to a business UEN?
-
Accepting payment to a personal mobile number works in the free plugin. Accepting payment to a business UEN (with your business name shown on the QR code) and to VPA recipients such as GRAB or DASH is available in Premium.
-
Is PayNow secure?
-
Yes. PayNow is widely trusted in Singapore, and payments go directly to your bank account.
-
Do I need to apply for PayNow from my bank?
-
Yes. Register your UEN (or mobile number) for PayNow with your bank to start accepting payments.
-
How fast can I get set up?
-
Under 5 minutes, with no technical skills required.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Halfborg QR Payments for PayNow for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Halfborg QR Payments for PayNow for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.48
- The order reconciliation feature is now fully removed from the free build (its code ships only in the premium version), so the free version no longer contains any locked functionality. Free installs show an upgrade preview, premium installs are unchanged.
- Namespaced the bundled PHP QR Code library and gave all of the plugin’s classes the consistent
SGPayNowQRprefix, to meet WordPress.org’s unique-naming requirement. The WooCommerce payment gateway id is unchanged, so existing settings and past orders are unaffected, and PayNow QR code generation is byte-for-byte unchanged. - The “reset to defaults” gateway action now saves through WooCommerce’s own settings API.
1.47
- The PayNow QR code is now embedded in order-confirmation emails on the free version too (previously premium-only).
- Reports and order reconciliation are now premium features; the free version shows a preview with an upgrade prompt.
- Renamed the plugin to “Halfborg QR Payments for PayNow for WooCommerce” (new slug and text domain) for WordPress.org directory compliance.
- Internal cleanup: renamed plugin constants, script handles, and helper functions to a unique prefix to avoid naming collisions. The payment gateway id is unchanged, so existing settings and past orders are unaffected.
- The checkout badge styling is now enqueued via wp_enqueue_style instead of printed inline.
- Declared WooCommerce as a required plugin via the “Requires Plugins” header.
- Hardened the bundled PHP QR Code library: disabled its file caching/logging (no files are written inside the plugin folder), removed unused debug output, and replaced a deprecated GD call. PayNow QR code generation is unchanged.
- Fixed: PayNow QR not shown on the WooCommerce block checkout when using the mobile-number payment type.
- WordPress.org compliance hardening: output escaping, input sanitisation, and internationalisation (translators comments) throughout, plus a translation template (languages/halfborg-qr-payments-for-paynow-for-woocommerce.pot). Trimmed unused files (demo, build tools, TCPDF binding) from the bundled PHP QR Code library.
1.42
- Bug fix: improve compatibility with PHP 8
1.41
- New feature: PayNow Reconciliation page for faster manual confirmation of payment received
1.40
- Bug fixes for PayNow logo showing as HTML in order confirmation
1.39
- Bug fixes for scanning by Maybank
1.38
- Bug fixes for scanning by DBS Digibank and UOB Infinity
1.37
- Bug fixes
1.36
- Support UEN and mobile numbers with VPA e.g. GRAB, DASH
- Fix paynow logo appearing in admin order details and emails
1.35
- Support mobile number as PayNow recipient
1.34
- Support 12 digit UEN numbers
1.33
- Add paynow badge to payment option
1.32
- Added monthly plan
1.3
- Support for woocommerce checkout blocks
