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

Cancel payment

Cancels payment by string payment_details_id code.

Endpoint​

POST /payments/cancel

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).

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​

{
"api_key": "api_key_redacted",
"payment_details_id": "pay9x7Q"
}

Downloads​

Responses​

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

Example: success​

{
"status": "success",
"code": 200,
"message": "Payment Cancelled",
"request_id": "request-example-cancel-card",
"payment_details": {
"id": "opaque-payment-id-cancel-card",
"transaction_id": "journey-card-cancel-20260814a",
"amount": "25.00",
"payments_status": {
"paid": "0.00 TTD",
"remaining": "25.00 TTD",
"metadata": []
},
"fees": {
"total": "3.91",
"card_processing": "3.91",
"platform_processing": "0.00",
"agent_processing": "0.00",
"payer_pays": "0.00",
"payee_pays": "0.00",
"merchant_pays": "3.91",
"convenience": "0.00"
},
"currency": "TTD",
"status": "Cancelled",
"timestamps": {
"created_time": "2026-08-14 13:19:00",
"updated_time": "2026-08-14 13:20:00",
"expire_time": "2026-08-14 16:19:00"
},
"payers": [
{
"mobile_number": "+1XXXXXXXXXX",
"amount": "25.00",
"payment_channel": "payment_link",
"payment_method": "card",
"fee": "0.00",
"tip": "0.00",
"tax": "0.00",
"convenience_fee": "0.00",
"status": "Cancelled",
"expire_time": "2026-08-14 16:19:00",
"metadata": "",
"url": "https://sandbox.paywise.co/example-hosted-payment",
"expire_date_time": "2026-08-14 16:19:00"
}
],
"payees": [
{
"mobile_number": "+1XXXXXXXXXX",
"amount": "21.09",
"delay_days": 0,
"fees_covered": 0,
"fee": "3.91"
}
],
"fraud_check_status": "passed"
}
}

400 - Wrapper-normalized response envelope (400)​

Example: error​

{
"status": "error",
"code": 400,
"message": "payment_details_id is required",
"request_id": "f1297691-052b-485d-8474-045b40ea29f9",
"timestamp": "2026-02-11T03:59:45.739Z",
"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.