---
title: "PayNow QR"
source_url: https://docs.rapyd.net/en/paynow-qr.html
lang: en
---

# PayNow QR

Transfer bank funds in Singapore using a QR code.

### What Is PayNow QR?

PayNow is an electronic payment method in Singapore using QR (Quick Response) codes to make direct bank transfers to merchants and person-to-person transfers. It allows users to transfer funds from one bank account to another in Singapore through FAST. The service is free to all retail customers.

Participating banks include:

- Bank of China
- Citibank Singapore Limited
- DBS Bank/POSB Credit Card
- HSBC Bank (Singapore) Limited
- ICICI Bank Limited Singapore
- Maybank Singapore Limited
- OCBC Bank
- Standard Chartered Bank (Singapore) Limited
- United Overseas Bank

### User Experience

A consumer adds a product to the cart and continues to the checkout page. The consumer chooses to pay with PayNow. The consumer is then redirected the Rapyd Checkout page, or the merchant shows the PayNow QR on their page using the QR returned in the Rapyd API, [Create Payment](https://docs.rapyd.net/en/create-payment.md "Create Payment").

1. Consumer selects the PayNow method and a QR code is presented.
2. Consumer logs into their bank’s mobile banking app and scans the QR code.
3. The consumer can also load the QR image if they save the QR in photos.

   ![643e7f19525fb.png](image/img-247f0681309f58bbe0ff42a1203b07e6.png)
4. Consumer confirms the funds transfer on their mobile banking app.

   ![643e7f1cb549f.png](image/img-1bb25c704f9fcbd2fdeb420b0f369f18.png)
5. Once the payment is complete, Rapyd sends a completed payment [webhook](https://docs.rapyd.net/build-with-rapyd/reference/webhooks) to you. You can notify the user of any confirmed details.

### PayNow QR Details

| Payment Method Category | Bank Transfer |
| --- | --- |
| Payment Request String | PMT = sg_paynow_bank  PMT Name = paynow |
| Country | Singapore |
| Presentment Currency | SGD |
| Refunds/Reversal | Yes, refunds are only supported up to 30 days from the original transaction.  If refunds are initiated more than 30 days from the original transaction, refunds will fail.  Refer to [Client Portal](https://dashboard.rapyd.net/login) to view refunds. |
| Recurring Payments | No |
| Disputes/Chargebacks | No |
| Transaction Limits | Max: $200,000 SDG, or depends on bank limits  Note: PayNow transfer may require Transaction Signing (2FA) for higher amounts. Please check with your bank. |
| Settlement Timeframe | Same Day |
| Rapyd Guide | See [Bank Transfers](https://docs.rapyd.net/en/bank-transfers.md "Bank Transfers") |

### Create Payment

Create a payment to send funds where the QR code is returned in the [Create Payment](https://docs.rapyd.net/en/create-payment.md "Create Payment") API response.

- - Response

    - ```
      //Request POST https://sandboxapi.rapyd.net/v1/payments

      {
      "amount": 10, 
      "currency": "SGD", 
      "payment_method": {
        "type": "sg_paynow_bank",
        "fields": {}
        } 
      }
      ```

**Note**: The PayNow QR code will return in `**visual_codes.payNowQR**` in the API response as base64 png encoded format.

### Create Checkout Page

You can create a checkout page which will display the PayNow QR on the URL page.

- - Request

    - ```
      //Request POST https://sandboxapi.rapyd.net/v1/checkout

      {
      "complete_payment_url": "www.merchant.com/complete",
      "error_payment_url": "www.merchant.com/cancel", "payment_method_types_include":[ 
       "sg_paynow_bank"] 
      }
      ```

### Redirect to Rapyd Checkout Page

You can set up the merchant page to redirect the consumer to a Rapyd checkout page. After the QR is scanned, the user needs to click on the Finish button which will redirect the user to the `complete_payment_url`. You will receive the webhook (`payment_completed`) before showing the status to the user.

### Add Expiration Date

You can add an expiration date to your PayNow QR codes. If the consumer doesn’t scan and send a payment within the given time the attempt will fail.

![643e7f1e46be5.png](image/img-1f72491a6d09f2e1340df26e3152c929.png)

Request

[Create Checkout Page](https://docs.rapyd.net/en/create-checkout-page.md "Create Checkout Page") describes the parameters in the request.

- - Request

    - ```
      {
          "amount": 123.45,
          "complete_payment_url": "http://example.com/complete",
          "country": "SG",
          "currency": "SGD",
          "error_payment_url": "http://example.com/error",
          "merchant_reference_id": "950ae8c6-78",
          "cardholder_preferred_currency": true,
          "language": "en",
          "metadata": {
              "merchant_defined": true
          },
          "payment_method_types_include": [
              "sg_paynow_bank"
          ],
          "expiration": 1611384431,
          "payment_method_types_exclude": []
      ```

Response

[Checkout Page Object](https://docs.rapyd.net/en/checkout-page.md "Checkout Page") describes the fields in the response.

- The page returns in `redirect_url` expiration date returns in `page_expiration`

- - Response

    - ```
      {
          "status": {
              "error_code": "",
              "status": "SUCCESS",
              "message": "",
              "response_code": "",
              "operation_id": "9e749eb7-6ffa-4497-9876-247eacf98b6b"
          },
          "data": {
              "id": "checkout_01e57a11472c3868937d8e072d7f56d2",
              "country": "SG",
              "currency": "SGD",
              "amount": 123.45,
              "status": "NEW",
              "payment": {
                  "id": "",
                  "amount": 123.45,
                  "original_amount": 0,
                  "is_partial": false,
                  "currency_code": "SGD",
                  "country_code": "SG",
                  "status": "",
                  "description": "Payment via Checkout",
                  "merchant_reference_id": "950ae8c6-78",
                  "customer_token": "",
                  "expiration": 1611384431,
                  "captured": false,
                  "refunded": false,
                  "refunded_amount": 0,
                  "receipt_email": "",
                  "redirect_url": "",
                  "complete_payment_url": "http://example.com/complete",
                  "error_payment_url": "http://example.com/error",
                  "receipt_number": "",
                  "flow_type": "",
                  "address": null,
                  "statement_descriptor": "",
                  "transaction_id": "",
                  "created_at": 0,
                  "metadata": {
                      "merchant_defined": true
                  },
                  "failure_code": "",
                  "failure_message": "",
                  "paid": false,
                  "paid_at": 0,
                  "dispute": null,
                  "refunds": null,
                  "order": null,
                  "outcome": null,
                  "visual_codes": {},
                  "textual_codes": {},
                  "instructions": {},
                  "ewallet_id": null,
                  "ewallets": [],
                  "payment_method_options": {},
                  "payment_method_type": "",
                  "payment_method_type_category": "bank_transfer",
                  "fx_rate": "",
                  "merchant_requested_currency": null,
                  "merchant_requested_amount": null,
                  "payment_fees": null,
                  "invoice": "",
                  "escrow": null
              },
              "payment_method_type": "",
              "payment_method_type_categories": null,
              "payment_method_types_include": [
                  "sg_paynow_bank"
              ],
              "payment_method_types_exclude": [],
              "customer": "",
              "customer_default_payment_method": "",
              "customer_data": null,
              "country_name": "Singapore",
              "merchant_color": "",
              "merchant_website": "http://rapyd.net",
              "merchant_logo": "",
              "merchant_alias": "Test Merchant",
              "merchant_customer_support": {
                  "email": null,
                  "url": null,
                  "phone_number": null
              },
       
              "language": "en",
              "complete_checkout_url": "",
              "cancel_checkout_url": "",
              "redirect_url": "https://sandboxcheckout.rapyd.net?token=checkout_01e57a11472c3868937d8e072d7f56d2",
              "timestamp": 1612562418,
              "page_expiration": 1613772018,
              "cart_items": [],
              "complete_checkout_auto_redirect": false
          }
      }
      ```
