---
title: "Create a dynamic PayNow payment"
method: POST
path: "/payments/paynow"
---

# Create a dynamic PayNow payment

`POST /payments/paynow`

[Available in Production/Sandbox environment] Create a dynamic (one-off) PayNow to accept payments from your customers.

## Headers

- `X-XFERS-APP-API-KEY` string, required
- `X-PUBLIC-KEY-ID` string
- `X-TIMESTAMP` string
- `X-NONCE` string
- `X-SIGNATURE` string

## Request body

- object
  - `data` object
    - `attributes` object
      - `referenceId` string, required — Your internal reference ID, e.g. customer ID or invoice ID. Please note that it has to be unique for each request.<br>Regex: `/^\s*.{1,191}\s*$/`
      - `amount` number, float, required — Transaction amount for this PayNow payment(Must be a positive float with max 2 decimal place)<br>Regex: `/^(?=.*[1-9])\d+(\.\d{1,2})?$/`
      - `expiresAt` string, required — ISO8601 format in UTC e.g. `2024-03-27T10:59:53Z`. Expiry must be between 5 minutes and 30 days.<br>Regex: `/^(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d):([0-5]\d)(\.\d+)?(Z|([+-]([01]\d|2[0-3]):([0-5]\d)))?)?)?)?$/i`

## Response `200`

200

- object
  - `data` object
    - `id` string — PayNow contract ID.
    - `type` string — Request type.
    - `attributes` object
      - `status` string — Transaction status.
      - `currency` string — Transaction currency.
      - `amount` string — Transaction amount for this PayNow payment.
      - `createdAt` string — Timestamp when the transaction was created.
      - `expiresAt` string — Timestamp when the transaction QR expires.
      - `referenceId` string — Your internal reference ID, e.g. customer ID or invoice ID.
      - `fees` string — Additional transaction fees charged.
      - `senderInformation` object — Sender information.
        - `accountHolderName` unknown
        - `accountNumber` unknown
        - `bankShortCode` unknown
        - `bankName` unknown
        - `endToEndRef` unknown
        - `swiftBic` unknown
        - `transactionRemarks` unknown
        - `additionalInfo` unknown
      - `paymentMethod` object
        - `id` string — PayNow payment method ID.
        - `type` string — Payment method type.
        - `virtualPaymentAddress` unknown
        - `base64EncodedImage` string — Base64-encoded PayNow QR image for the PayNow payment method.
        - `qrCodeData` string, nullable — Raw QR code data string. Returns null unless the PayNow QR ASCII feature is enabled for the account owner.
        - `referenceId` string — Reference ID of the PayNow QR code.
        - `externalReference` string — External reference identifier from the payment provider.
        - `expiresAt` string — Timestamp when the dynamic PayNow QR code expires.
      - `customerProfile` object — Customer profile details.
        - `id` string — Associated customer profile ID.

---

[API](https://skmtc.net/straitsx/apis/straitsx-sandbox-base-url.md) · [All operations](https://skmtc.net/straitsx/apis/straitsx-sandbox-base-url/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/straitsx/straitsx-sandbox-base-url/revisions/9ceee2969aeb/schema)
