Scheduled maintenanceScheduled maintenance: PayWise infrastructure maintenance is planned from Friday, October 9 at 7:00 p.m. ET through Monday, October 12 at 8:00 a.m. ET. Sandbox and Production services may experience intermittent interruptions during this period. Existing PayWise service URLs and SFTP hostnames will remain unchanged.
Skip to main content

Get payment status

Fetches payment status by string payment_details_id code.

Using Checkout Builder​

After you send a payment request from the Checkout Builder, use the returned payment_details.id string as payment_details_id with:

GET /payments/status?version=2024-10-01&api_key=<your_api_key>&payment_details_id=<payment_details_id>

Endpoint​

GET /payments/status

Query Parameters​

  • version (string, required) - API contract version. Use exactly 2024-10-01.
  • diagnostics (boolean, optional) - Non-production docs only. Set true to include extra diagnostic metadata (for example observed_client_ip).
  • api_key (string, required)
  • payment_details_id (string, required)

Header Parameters​

  • PW-subscription-key (string, required)
  • PW-origin-country (string, required)
  • PW-request-date (string, required) - UTC request timestamp formatted as YYYY-MM-DD HH:mm:ss.
  • PW-ip-address (string, required)
  • User-Agent (string, required)

Header Constraints​

KeyDescriptionExampleData typeRequirementField Length
PW-subscription-keyDeveloper key available after portal registration. Production key is shared on request.eed0d85c530c4b26a91d09b783d8fab3stringmandatory32
PW-origin-countryISO Alpha-2 country code where the transaction is created.TTstringmandatory2
PW-request-dateCurrent request timestamp. Format: YYYY-MM-DD HH:mm:ss (UTC).2014-10-08 16:01:31stringmandatory19
PW-ip-addressFixed institution IP used for PayWise network-level validation.255.255.255.255stringconditional8-16
User-AgentIn programmable environments, this avoids running into Cloudflare issues.Mozilla/5.0 (Windows NT 10.0; Win64; x64)stringmandatory255

Request Body​

No JSON request body.

Downloads​

Callback and Notify Payloads​

GET /payments/status returns the same request-level transaction snapshot shape used by the frozen completed and cancelled callback fixtures.

The current contract evidence distinguishes these surfaces:

  • Status lookup: synchronous polling by payment_details_id
  • Callback: request-level snapshot with fields such as status, payments_status, fees, timestamps, payers, and payees
  • Notify: lighter event payloads with event_type, transaction_id, status, timestamp, and either a payer or payee object

Example notify event:

{
"event_type": "payment_completed",
"transaction_id": "merchant-order-w9J2m",
"status": "PAID",
"payer": {
"mobile_number": "+1XXXXXXXXXX",
"amount": 25,
"payment_method": "wallet",
"currency": "TTD"
},
"timestamp": "2026-08-01T14:05:30Z",
"description": "Payer[x] has paid"
}

Example initiation notify event:

{
"event_type": "payment_initiated",
"transaction_id": "merchant-order-a8Q3x",
"status": "INITIATED",
"payer": {
"name": "John Doe",
"mobile_number": "+1XXXXXXXXXX",
"amount": 25,
"currency": "TTD"
},
"timestamp": "2026-08-01T14:00:00Z",
"description": "Payment links issued to a Payer[x]"
}

Treat notify as event delivery and /payments/status as the source of truth for the latest normalized request state.

Responses​

200 - Wrapper-normalized response envelope (success cases).​

Example: success​

{
"status": "success",
"code": 200,
"message": "Payment status fetched successfully",
"request_id": "03cc465a-1bdd-4548-838c-562c6bc8b67f",
"timestamp": "2026-02-11T03:59:45.617Z",
"transaction_request": {
"id": "checkout_demo_20260326_0001",
"status": "succeeded"
},
"payment_details": {
"id": "paydet_demo_20260326_0001",
"status": "paid",
"currency": "TTD",
"amount": "25.00"
},
"payers": [
{
"mobile_number": "+1XXXXXXXXXX",
"payment_channel": "payment_link",
"payment_method": "card",
"status": "paid"
}
],
"observed_client_ip": {
"request_ip": "172.64.80.1",
"socket_remote_address": "172.64.80.1"
}
}

Notes​

This endpoint page is generated from openapi/pw-wrappers.2024-10-01.yaml.