Skip to content
Loading keys…

Refunds

Refund a succeeded payment, fully or partially.

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

private key required

Refunds require the private 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

Refunds scoped to one payment

To list only the refunds on a specific payment, use GET /payments/{id}/refunds instead, same objects, pre-filtered. This page (/refunds) is the canonical, top-level resource: use it to create a refund or look one up by its own id.

Lifecycle

Events

EventTrigger
refund.createdRefund created
refund.processingRefund submitted to the operator. Live only: a sandbox refund is created processing and never sends it
refund.succeededRefund confirmed
refund.failedRefund failed
refund.cancelledStopped by Wajub before it was sent. Sent once API version 2026-10-12 is current, as refund.failed until then
refund.updatedA live refund's execution_mode or manual_reason changed. Who sends a live refund

What did you think of this content?