Stati delle transazioni
Ogni riga di transazione nella dashboard ha uno di questi stati. Lo stato riflette l'evento più recente di quella transazione; rimborsi e contestazioni aggiornano la riga esistente invece di inserirne una nuova accanto.
| Stato | Significato |
|---|---|
succeeded | Pagamento completato. Il denaro è sul tuo account (al netto delle commissioni del provider). |
pending | Il pagamento è in corso. Comune con i metodi di pagamento asincroni (ACH, alcuni metodi cripto) dove la conferma richiede da minuti a ore. |
failed | Il pagamento non si è completato: carta rifiutata, autorizzazione scaduta, rifiuto definitivo. Non si è mosso denaro. |
partial | Il cliente ha pagato meno di quanto fatturato (comune quando un cliente cripto invia un importo ridotto dalle commissioni di rete). L'amount della riga riflette ciò che è stato effettivamente ricevuto; controlla metadata.invoicedAmount per quanto era stato richiesto. |
refunded | Il denaro è stato restituito al cliente, in tutto o in parte. L'amount della riga è l'importo rimborsato; i rimborsi possono avvenire giorni o settimane dopo il pagamento originale. |
disputed | Il cliente (o la sua banca) ha aperto una contestazione o un chargeback. Controlla l'interfaccia del provider per la finestra di risposta. Il metadata.reason della riga porta la classificazione del provider testualmente. |
pending_manual | Una transazione con pagamento per posta è in attesa della tua conferma fisica. Vedi la prossima sezione. |
manual_canceled | Hai fatto clic su Annulla su una riga di pagamento per posta in sospeso prima che il pagamento del cliente arrivasse. |
manual_expired | Una riga di pagamento per posta in sospeso è rimasta 30 giorni senza conferma ed è scaduta automaticamente. |
manual_revoked | Hai confermato la ricezione di un pagamento per posta ma in seguito hai annullato la conferma (ad esempio, il pagamento si è rivelato non valido). La riga torna da succeeded a questo stato terminale. |
Rimborsi, contestazioni, pagamenti parziali
Coin Moebius ascolta questi eventi del provider e aggiorna la riga di transazione originale nella dashboard. In particolare:
- Rimborsi: l'evento
charge.refundeddi Stripe (rimborsi totali o parziali, inclusoamount_refundedcosì i rimborsi parziali mostrano la parte restituita). L'IPNrefundeddi NOWPayments. Lo stato della riga passa arefunded, l'amountriflette l'importo rimborsato, emetadata.originalChargeId/metadata.originalAmountportano il contesto del pagamento originale. - Contestazioni (chargeback): l'evento
charge.dispute.createddi Stripe. Lo stato della riga passa adisputed. Il motivo dichiarato dal provider passa testualmente ametadata.reason, puoi mostrarlo nella tua interfaccia come preferisci. - Pagamenti parziali: l'IPN
partially_paiddi NOWPayments. Lo stato della riga passa apartial. L'amountriflette ciò che è stato effettivamente ricevuto (actually_paid);metadata.invoicedAmountè quanto era stato richiesto.
Nella v1, questi eventi sono mostrati nella dashboard e tramite l'endpoint /status. Una versione futura aggiungerà notifiche email e un inoltratore di webhook in uscita così il tuo backend potrà reagire automaticamente. Per ora, imposta un piccolo lavoro di polling (vedi la prossima sezione) o controlla la dashboard.