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
amountMontant qui a échoué, en plus petite unité
currencyCode ISO 4217
reasoncard_declined, insufficient_funds, expired_card, do_not_honor
providerEventIdStripe evt_xxx ou équivalent
Rétention recommandée

Garder au moins 18 mois pour gérer les litiges et les enquêtes de relance.

Actions liées