CleonPay

Refunds

Return money to a customer, where the scheme allows it.

POST /v1/refunds
{
  "payment_id": "3743881d-0fce-416c-b3de-8bc3f5d414b1",
  "amount": 500,
  "reason": "Item returned"
}

Omit amount to refund the full remaining balance. Partial refunds may be repeated up to the original amount.

Rules that differ by method

MethodRefunds
iDEAL, Bancontact, MB WAYFull and partial, 365 days
Przelewy24Full and partial, 90 days, then the customer claims from P24
CardsFull and partial, 180 days
MultibancoNot possible
paysafecardPayouts only, never a refund
A payment must settle first. Money that has not arrived cannot be sent back. Refunding an authorised-but-unsettled payment returns payment_not_settled. Cancel it instead if the customer has not paid.

Reversal: voiding a card payment

POST /v1/payments/{id}/reverse
{
  "reason": "Order cancelled before dispatch"
}

A reversal voids a card payment before it settles at the scheme, rather than returning settled funds. It is the full amount only, it is usually free where a refund carries a scheme cost, and the customer sees the charge drop off instead of a separate credit. Use it the same day, while the payment is still reversible; once it has settled, use a refund. On acquirers that draw no distinction, a reversal simply behaves like a full refund.

A reversal is recorded as a full refund, so it appears in the refund endpoints below and the fee accrual unwinds the same way. A partial amount is refused with reversal_must_be_full.

GET /v1/payments/{id}/refunds
GET /v1/refunds
GET /v1/refunds/{id}