---
title: Terugbetalingen
description: Terugbetalingen via Coinetic: aanvraag met POST /v1/refunds, regels voor bedrag en adres, uitvoering vanuit uw wallet, statussen en webhook refund.sent.
url: https://coinetic.money/nl/docs/refunds/
lang: nl
---

# Terugbetalingen

Een terugbetaling is een overboeking terug naar de klant: bij een geannuleerde order, een overbetaling of een onderbetaling na de vervaldatum. U maakt die aan met een aanvraag via de API of in het dashboard.

## Wie het geld verstuurt

Dat hangt af van het veld `executor` in de aanvraag:

- **`merchant` — de betaling kwam binnen op uw wallet** (het normale geval). Coinetic beheert uw geld niet: u verstuurt de overboeking naar de klant zelf en registreert de transactiehash.
- **`platform` — de betaling kwam binnen op een wallet van het platform.** U vraagt de terugbetaling alleen aan; een operator van Coinetic controleert het adres, keurt de aanvraag goed en verstuurt het bedrag.

## Regels

- **Alleen in de asset van de betaling.** Betaalde de klant USDT op TRON, dan ontvangt hij USDT op TRON. Er wordt niet omgewisseld.
- **Niet meer dan er is betaald** — zie `refundable_amount` van de factuur. In delen mag, tot 20 openstaande aanvragen per factuur.
- **Het adres ligt op het netwerk van de betaling.** Het wordt gecontroleerd op het formaat van het netwerk (EVM — EIP-55-checksum). Adressen van Coinetic zelf worden niet geaccepteerd.
- **Een betaalde factuur blijft betaald.** Hoeveel er is terugbetaald, staat in `refunded_amount`.
- **Een onbetaalde factuur wordt door een terugbetaling definitief gesloten**, ook bij een gedeeltelijke: de factuur wordt `cancelled` en latere bijbetalingen betalen de order niet meer. Controleer de status van de factuur vóór de aanvraag.

## Een aanvraag aanmaken

`POST /v1/refunds`

```http
POST /v1/refunds
Idempotency-Key: refund-ORDER-1001-1
Content-Type: application/json

{"invoice_id":"inv_x7k2…","amount_minor":"10500000","address":"TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE","reason":"Annulering order ORDER-1001"}
```

| Veld | Verplicht | Waarde |
| --- | --- | --- |
| `invoice_id` | ja | Een factuur van uw winkel |
| `amount_minor` | ja | **Kleinste eenheden** als string (`"10500000"` = 10,5 USDT bij 6 decimalen) of `"full"` — het volledige beschikbare bedrag |
| `address` | ja | Adres van de klant op het netwerk van de betaling |
| `reason` | nee | Reden, maximaal 500 tekens |

## Terugbetalen vanuit uw wallet

- Stuur de klant het `amount` uit de aanvraag vanuit uw eigen wallet, in de asset en op het netwerk van de betaling (de netwerkkosten betaalt u).
- Registreer de transactiehash:

```http
POST /v1/refunds/{id}/executed
Idempotency-Key: refund-exec-ORDER-1001-1
Content-Type: application/json

{"tx_hash":"0x5c50…","ack_status_change":false}
```

De aanvraag gaat naar `reported`. Op EVM-netwerken (Ethereum, BSC, Polygon, Base, Arbitrum) vindt Coinetic de bevestigde transactie zelf in de blockchain en zet de aanvraag op `sent`, met de webhook `refund.sent`. Voor Bitcoin, Litecoin, TRON en Solana is er nog geen automatische controle — de aanvraag blijft `reported`.

Bedacht u zich — `POST /v1/refunds/{id}/cancel` met een reden: het bedrag is dan weer beschikbaar voor terugbetaling.

## Statussen

| Status | Betekenis |
| --- | --- |
| `requested` | Aanvraag ontvangen |
| `approved` | Goedgekeurd door een operator (alleen `executor: platform`) |
| `reported` | U hebt de hash doorgegeven, we wachten op bevestiging in het netwerk |
| `sent` | Geld verstuurd, `tx_hash` — de transactie in het netwerk |
| `rejected` | Afgewezen of geannuleerd, de reden staat in `reject_reason` |

Een afwijzing wordt niet via een webhook gemeld — controleer openstaande aanvragen periodiek: `GET /v1/refunds?status=requested`.

## In de sandbox

`POST /v1/refunds/{id}/simulate` doorloopt het hele traject in één keer: de aanvraag wordt `sent` met een test-`tx_hash` en u ontvangt `refund.sent`. In productie bestaat deze route niet.
