Card on File
Manual Cancel Payment
POST
/
api
/
payments
/
card
/
payment-request
/
{paymentRequestId}
/
cancel
curl --request POST \
--url https://api.atoa.me/api/payments/card/payment-request/{paymentRequestId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"cancelledReasonCode": "Requested by customer",
"cancelledReasonDescription": "Customer no longer needs the item"
}'
{
"success": true,
"message": "Payment cancelled successfully"
}
Cancel a previously authorized card payment. This releases the hold on the customer’s card.
Only applicable for MANUAL_CAPTURE and CAPTURE_BEFORE_EXPIRY payments that have not yet been captured. Cannot cancel AUTO_CAPTURE or already captured payments.
Authorization
Bearer <accessSecret>
Path Parameters
paymentRequestId
string
requiredThe payment request ID from the Charge Saved Card response.
Request Body Schema
cancelledReasonCode
string
Reason for cancellation.
cancelledReasonDescription
string
Additional cancellation notes. Max 60 characters. Required when cancelledReasonCode is Other.
Response
success
boolean
true if the payment was cancelled successfully.
message
string
Confirmation message.
curl --request POST \
--url https://api.atoa.me/api/payments/card/payment-request/{paymentRequestId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"cancelledReasonCode": "Requested by customer",
"cancelledReasonDescription": "Customer no longer needs the item"
}'
{
"success": true,
"message": "Payment cancelled successfully"
}