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_amountvan 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
cancelleden latere bijbetalingen betalen de order niet meer. Controleer de status van de factuur vóór de aanvraag.
Een aanvraag aanmaken
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
amountuit de aanvraag vanuit uw eigen wallet, in de asset en op het netwerk van de betaling (de netwerkkosten betaalt u). - Registreer de transactiehash:
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.