Accept payments — Refunds & chargebacks

Accept payments

Refunds & chargebacks

A refund returns the paid amount to the buyer. The refund payload is simple: you provide the charge, the wallet and the amount.

POST/api/v1/bank/wallet/charge/<charge_uuid>/refund/<wallet_uuid>/

Refunds a charge. Send the body with only the amount (partial) and, optionally, a dedicated webhook URL.

Request
POST /bank/wallet/charge/c3d4e5f6-7a8b-9c0d-1e2f-3a4b5c6d7e8f/refund/00000000-0000-0000-0000-000000000000/
Authorization: Bearer <token>
Content-Type: application/json

{
  "amount": 199.90,
  "webhook_refund_url": "https://your-store.com/webhook/refund"
}
Response
{
  "charge_uuid": "c3d4e5f6-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
  "local_currency": 199.90,
  "currency": "BRL",
  "usd_currency": 36.34,
  "type": "credit_card",
  "date": "2026-09-14 15:10:22",
  "description": "Order #1234",
  "due_date": "2026-09-30",
  "status": "refunding",
  "message": "Refund in progress"
}

Chargebacks

When the buyer disputes the charge with the issuing bank, the charge enters chargeback. The platform manages the dispute and you follow it through chargeback_won and chargeback_lost.

  • Chargeback received: chargeback status. No API action needed.
  • Chargeback won: chargeback_won status — the amount is kept.
  • Chargeback lost: chargeback_lost status — the amount is returned.
  • Reduce chargebacks with Zeroauth, tokenization and 3DS (see card services).