CollectionsHosted PaymentsTracked Payment QR Codes

Perform a direct lookup of a tracked QR code

Performs a real-time lookup of a previously generated, tracked PayNow QR code by querying the bank directly. This API verifies the payment status against the bank's transaction records, independently of Acme's internal tracking. It is particularly useful in scenarios where:

Currently, this API supports PayNow in Singapore and requires an active API subscription with the respective banks.

POST
/v1/tracked-payment-qr-codes/lookup

Authorization

authorization
AuthorizationBearer <token>

Set Your Secret API Key

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

id*string

Unique identifier for the object.

Length1 <= length

Response Body

*/*

application/json

application/json

curl -X POST "https://example.com/v1/tracked-payment-qr-codes/lookup" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "string"
  }'

The result of a direct lookup at the bank. statusSource shows the status came from the lookup rather than a credit notification.

{
  "id": "qrpymt_0J7QB3YB2P791",
  "status": "SUCCEEDED",
  "type": "PAYNOW",
  "proxyType": "UEN",
  "proxyValue": "202303536E",
  "amount": 1250,
  "currency": "SGD",
  "expirySeconds": 900,
  "transactionReference": "QR-10042",
  "amountEditable": false,
  "qrCodeImageUrl": "https://acme-paynow-qr-code.s3.ap-southeast-1.amazonaws.com/qr/QR-10042.png",
  "resultCode": null,
  "underlyingResultCode": "ACTC",
  "underlyingResultDescription": "Accepted Technical Validation",
  "bankReference": "20260909UOVBSGSGBRT3721482",
  "bankAccount": {
    "id": "intacc_0H3BQY9BK1FCG",
    "bank": "UOVBSGSGXXX",
    "bankAccountNumber": "0052312891"
  },
  "statusSource": "BANK_LOOKUP",
  "createdAt": "2026-09-09T07:21:19.281000Z",
  "updatedAt": "2026-09-09T07:40:02.118644Z"
}