Learn about PayNow, a real time payment network popular in Singapore. #
PayNow is a real-time payment network in Singapore managed by the Association Bank of Singapore (ABS) and overseen by the Monetary Authority of Singapore (MAS). It enables both consumers and businesses to register for the service using various identifiers such as their mobile number, Singapore NRIC/FIN, UEN business registration number, or Virtual Payment Address (VPA for NFI accounts, which includes eWallets). Once registered, users can easily transfer SGD funds from one bank or e-wallet account to another within Singapore through the FAST network. FAST is a regulated and standardized payment rails system that ensures seamless interoperability between different payment providers.
Features #
Processing currencies | SGD |
---|---|
Settlement currencies | USD |
Minimum transaction amount | 1 THB |
Maximum transaction amount | 5,000 THB |
Refunds | ✅ |
Partial Refunds | ✅ |
Multiple partial refund | ✅ |
Chargeback | ❌ |
Payment flow #
Integration Method #
Payment method enumeration values: paynow
There are two integration methods for PayNow
- Direct API
- Checkout
Direct API #
How to integration #
For direct API integration, you can create a PaymentIntent and get url in only one step. The following is the demo of creating payment intent:
Create a PaymentIntent on your server and specify the amount to collect and a supported currency.
Notably, For Paynow, you also need to collect the customer’s name
, country
and email
in payment_method_data.billing_details
.
If you have an existing Payment Intents integration, add bank_transfer_uk
to the list of payment method types.
Request Create a PaymentIntent
{
"amount":1000,
"currency":"SGD",
"payment_method_data" : {
"type":"paynow",
"billing_details":{
"address": {
"country": "SG"
},
"name": "Tom Elis",
"email": "[email protected]"
}
},
"description": "product description",
"quantity": 2,
"return_url":"https://your.website"
}
Response
{
"id": "pi_1686226704999120896",
"object": "payment_intent",
"created": 1690862750000,
"livemode": true,
"currency": "SGD",
"amount": 1000,
"status": "requires_action",
"description": "product description",
"quantity": 2,
"client_secret": "pi_1686226704999120896_secret_nz79AKtKGcxWr2gUxEsFXrM1",
"next_action": {
"type": "paynow_handle_redirect",
"paynow_handle_redirect": {
"url": "https://pay.tazapay.com/marketplace/paymentdetails/0Pq7kWaNrGrjxYiaqsfchBD3bR0K4obPc7W4EtdSmt6y9BHpRLFBYdPzUWx59sHR"
}
},
"payment_method_types": [
"paynow"
],
"confirmation_method": "automatic",
"return_url": "https://your.website",
"payment_method": "pm_1686226704869097472",
"capture_method": "automatic"
}
Checkout #
Create a seesion #
Request Create a Session
{
"cancel_url": "www.wooshpay.com",
"mode": "payment",
"success_url": "https://wooshpay.com/",
"payment_method_types":["paynow"],
"line_items": [
{
"price_data": {
"currency": "SGD",
"unit_amount": 10000000,
"nickname": "apple",
"product_data": {
"name": "apple"
},
"billing_scheme": "testscheme",
"lookup_key": "test_lookup_key"
},
"quantity": 1
}
]
}
Response
{
"id": "cs_1686257953583136768",
"object": "checkout.session",
"created": 1690870200000,
"livemode": false,
"currency": "SGD",
"customer": "",
"mode": "payment",
"status": "open",
"url": "https://checkouttest.wooshpay.com/pay/cs_test_1686257953583136768?key=cGtfdGVzdF9OVEUyTlRjNU5ESXpNalUxTXpNME56ZzVNVE14T2pNemIxTTJhVVZrTmtOdmFsWlBSRTFuVFc1SVREaFljREUyT0RReE1Ua3lNamd6TVRR",
"cancel_url": "www.wooshpay.com",
"line_items": {
"object": "list",
"data": [
{
"id": "li_1686257953620885504",
"object": "item",
"currency": "SGD",
"description": "apple",
"price": {
"id": "price_1686257953633468416",
"object": "price",
"created": 1690870200000,
"livemode": false,
"active": false,
"currency": "SGD",
"nickname": "apple",
"product": {
"id": "prod_1686257953646051328",
"object": "product",
"created": 1690870200000,
"livemode": false,
"active": false,
"name": "apple",
"updated": 1690870200000
},
"type": "one_time",
"unit_amount": 10000000,
"billing_scheme": "per_unit",
"lookup_key": "test_lookup_key"
},
"quantity": 1,
"amount_subtotal": 10000000,
"amount_total": 10000000
}
]
},
"payment_intent": "pi_1686257953868349440",
"payment_method_types": [
"paynow"
],
"payment_status": "unpaid",
"success_url": "https://wooshpay.com/",
"amount_subtotal": 10000000,
"amount_total": 10000000,
"billing_address_collection": "auto",
"expires_at": 1690956599952,
"payment_link": "",
"client_secret": "pi_1686257953868349440_secret_BKuEOd8kJq0cxvZszocDlfjb"
}
Next step #
You can add more features to your integration as needed
Create a Webhook #
Listen to events on your WooshPay account so your integration can automatically trigger reactions. Create a webhook that mainly focuses on enabled_events and url.
Create a Refund #
Create a refund to repay funds to your customer. You can also perform partial refunds, but not every payment method supports them. A partial refund is when you refund only part of the original transaction amount.