Codex · III

Statuts et remboursements

Statuts de transaction

Chaque ligne de transaction du tableau de bord a l'un de ces statuts. Le statut reflète l'événement le plus récent pour cette transaction ; les remboursements et litiges mettent à jour la ligne existante plutôt que d'en insérer une jumelle.

StatutSignification
succeededPaiement finalisé. L'argent est dans votre compte (net des frais de fournisseur).
pendingPaiement en cours. Fréquent avec les modes de paiement asynchrones (ACH, certains rails crypto) où la confirmation prend de quelques minutes à quelques heures.
failedLe paiement n'a pas abouti : carte refusée, autorisation expirée, rejet ferme. Aucun argent n'a bougé.
partialL'acheteur a payé moins que facturé (fréquent quand un acheteur crypto envoie un montant réduit des frais de réseau). Le amount de la ligne reflète ce qui a réellement été reçu ; consultez metadata.invoicedAmount pour ce qui a été demandé.
refundedL'argent a été rendu à l'acheteur, en totalité ou en partie. Le amount de la ligne est le montant remboursé ; les remboursements peuvent survenir des jours ou des semaines après le paiement initial.
disputedL'acheteur (ou sa banque) a ouvert un litige ou une rétrofacturation. Consultez l'interface du fournisseur pour le délai de réponse. Le metadata.reason de la ligne porte la classification du fournisseur telle quelle.
pending_manualUne transaction de paiement par courrier attend votre confirmation physique. Voir la section suivante.
manual_canceledVous avez cliqué sur Annuler sur une ligne de paiement par courrier en attente avant l'arrivée du paiement de l'acheteur.
manual_expiredUne ligne de paiement par courrier en attente est restée 30 jours sans confirmation et a expiré automatiquement.
manual_revokedVous avez confirmé la réception d'un paiement par courrier mais avez ensuite annulé la confirmation (par ex. le paiement s'est avéré invalide). La ligne passe de succeeded à cet état terminal.

Remboursements, litiges, paiements partiels

Coin Moebius écoute ces événements de fournisseur et met à jour la ligne de transaction originale dans le tableau de bord. Plus précisément :

  • Remboursements : l'événement charge.refunded de Stripe (remboursements complets ou partiels, y compris amount_refunded pour que les remboursements partiels montrent la part rendue). L'IPN refunded de NOWPayments. Le statut de la ligne bascule à refunded, le amount reflète le montant remboursé, et metadata.originalChargeId / metadata.originalAmount portent le contexte du paiement initial.
  • Litiges (rétrofacturations) : l'événement charge.dispute.created de Stripe. Le statut de la ligne bascule à disputed. Le motif indiqué par le fournisseur passe dans metadata.reason tel quel, vous pouvez l'afficher dans votre propre interface comme bon vous semble.
  • Paiements partiels : l'IPN partially_paid de NOWPayments. Le statut de la ligne bascule à partial. Le amount reflète ce qui a réellement été reçu (actually_paid) ; metadata.invoicedAmount est ce qui a été demandé.

En v1, ces événements sont exposés dans le tableau de bord et via l'endpoint /status. Une version future ajoutera des notifications par e-mail et un relais de webhook sortant pour que votre propre backend puisse réagir automatiquement. Pour l'instant, mettez en place une petite tâche de sondage (voir la section suivante) ou consultez le tableau de bord.

Prêt à le brancher ?

Le palier gratuit couvre la plupart des sites et ne demande jamais de carte.