Guide d'action
Sache exactement quel prélèvement a échoué, quand et pourquoi
POST
/v1/events · invoice.payment_failedÉmets un event `invoice.payment_failed` à chaque tentative de prélèvement échouée, capture initiale, retry, ou après mise à jour de carte.
Quand l'émettre
Dans le handler webhook pour `invoice.payment_failed` ou `charge.failed`, scopé à l'organisation du client.
Payload d'exemple
await recalled.events.create({
action: "invoice.payment_failed",
actor: { id: user.id, email: user.email },
organization: user.organizationId,
metadata: {
amount: "value",
currency: "value",
reason: "value"
},
});Metadata à inclure
Garde les metadata plates et cohérentes dans ton service pour que recherche et exports CSV fonctionnent bien.
| Clé | Rôle |
|---|---|
amount | Montant qui a échoué, en plus petite unité |
currency | Code ISO 4217 |
reason | card_declined, insufficient_funds, expired_card, do_not_honor |
providerEventId | Stripe evt_xxx ou équivalent |
Rétention recommandée
Garder au moins 18 mois pour gérer les litiges et les enquêtes de relance.