Skip to content

Refunds

POST /payment-refund refunds the full amount of an APPROVED payment, once.

{ "merchantIdentifier": "6c63548f-f85d-4e85-a15f-9edd60e6c8dc", "paymentUuid": "pay_8f2c1d0e5a7b" }

Use the processor’s id (paymentUuid from the create response), not transactionUuid.

{ "success": true, "message": "OK", "data": { "paymentUuid": "<refund record id>", "refundUuid": "<processor refund id>" } }
success message Meaning
true OK The refund completed immediately.
true PENDING The processor accepted the refund and will settle it later (CyberSource does this). Follow it with a lookup or the postback (type: REFUND). Another refund of the same payment is refused until it settles.
false ERROR The processor gave no outcome or rejected the refund.
Status Reason
400 Payment is not APPROVED, is already refunded, a refund is in progress, or the processor does not support refunds
404 No such payment for your merchant

Not every processor supports refunds. The FTD processor does not, so test refunds against a processor that does.