Skip to content

Refunds

Refund a succeeded payment, fully or partially.

A refund is asynchronous. Only succeeded payments can be refunded.

Secret key required

Refunds require the secret key (sk...).

Marketplaces: acting on behalf of a subaccount

Platforms can refund a connected subaccount's payment by sending an X-Sync header alongside their own key (requires the refunds capability) — see Subaccounts for the full contract and error cases.

Endpoints

MethodPathDescription
POST/refundsCreate a refund
GET/refundsList refunds
GET/refunds/{id}Retrieve a refund

Lifecycle

Refund lifecycle

pendingprocessingsent to operator, webhook refund.processingsucceededwebhook refund.succeeded
Terminal statesfailedwebhook refund_failedcancelledwebhook refund.cancelled

Events

EventTrigger
refund_createdRefund created (note: underscore, not dot-separated)
refund.processingRefund submitted to the operator
refund.succeededRefund confirmed
refund_failedRefund failed (note: underscore, not dot-separated)
refund.cancelledRefund cancelled