Rimborsi
Restituire tutto o parte di un incasso.
Creare un rimborso
POST /v1/refunds
| Campo | Obbligatorio | Descrizione |
|---|---|---|
payment_id |
sì | L'incasso originale: il suo identificativo o il suo riferimento |
amount_minor |
— | Stringa, in unità minori. Assente = il saldo residuo |
reason |
— | customer_request, duplicate, fraudulent o other |
description |
— | Testo libero, visibile nella dashboard |
Il rimborso è un'operazione a pieno titolo: un proprio id, un proprio stato, un proprio evento
webhook (refund.success / refund.failed).
Regole
- Si rimborsa solo un incasso riuscito.
- La somma dei rimborsi non può superare l'importo incassato — oltre, l'API risponde
422 refund_exceeds_refundable. - Le commissioni d'incasso non vengono restituite: restano a suo carico.
- Un rimborso parziale lascia l'incasso originale consultabile, con il suo storico completo.
- I fondi sono prelevati dal suo saldo disponibile al momento della chiamata, come per un pagamento.
Una chiave di idempotenza per rimborso. Mai l'identificativo del pagamento originale: un incasso può essere rimborsato in più volte, e una chiave che porti l'identificativo del padre farebbe passare il secondo rimborso parziale per una ripetizione del primo.
Leggere ed elencare
GET /v1/refunds/{id}
GET /v1/refunds — elenco; ?payment_id= per un solo incasso
GET /v1/payments/{id}/refunds — i rimborsi di un incasso
GET /v1/payments/{id}/refunds e GET /v1/refunds?payment_id= restituiscono lo stesso oggetto
dell'elenco, con la stessa paginazione. L'incasso si indica con il suo identificativo o il suo
riferimento; quello di un altro account risponde 404 sulla sotto-risorsa e un elenco vuoto sul filtro.
Codici di rifiuto
Un rimborso rifiutato risponde 422, nella consueta busta di errore:
| Codice | Significato |
|---|---|
refund_exceeds_refundable |
L'importo supera quanto resta rimborsabile. L'errore riporta amount_refundable_minor. |
wave_partial_refund_window_closed |
Incasso Wave: il termine per il rimborso parziale è scaduto; è possibile solo il rimborso totale, se nulla è stato rimborsato. |
wave_partial_refunds_disabled |
I rimborsi parziali Wave non sono attivi; il rimborso totale resta possibile. |
wave_refund_window_closed |
Incasso Wave già rimborsato in parte e termine scaduto: nessun altro rimborso. |
payer_not_found |
Wave non indica il pagatore: un rimborso parziale, versato al pagatore, non può partire. |
insufficient_funds |
Il suo saldo disponibile non copre il rimborso. |
Wave: rimborsi parziali
Wave rimborsa una transazione solo per intero. Un rimborso parziale di un incasso Wave viene quindi
versato al numero Wave del pagatore, e solo entro il termine indicato da partial_refund_deadline
sull'incasso. Dopo quel termine è possibile solo il rimborso totale, e solo se nulla è stato rimborsato.