Compte rendu d’incident
Échecs de paiement lors de l'autorisation
Résumé
Entre 09:12 et 10:07 UTC, environ une tentative de paiement sur trois a échoué. Une modification de configuration chez notre prestataire de paiement a fait expirer les demandes d'autorisation, et la livraison des webhooks a pris du retard derrière les nouvelles tentatives pendant une partie de ce temps.
Impact
- 55 minutes d'autorisations de paiement en échec ou lentes.
- Environ 34 % des tentatives de paiement ont renvoyé une erreur. La plupart des clients qui ont réessayé ont pu payer.
- La livraison des webhooks a été retardée de 20 minutes au plus. Aucun webhook n'a été perdu.
Chronologie (UTC)
- 09:12 Le taux d'erreurs au paiement commence à monter.
- 09:16 L'ingénieur d'astreinte est alerté et commence l'analyse.
- 09:31 Le prestataire confirme une modification de configuration de son côté.
- 09:46 La modification est annulée et le taux d'erreurs commence à baisser.
- 10:07 Le paiement est stable depuis 30 minutes. Les webhooks retardés sont rejoués.
Cause racine
Le prestataire a raccourci son délai d'autorisation. Notre client attendait encore l'ancien délai, plus long : les requêtes se sont accumulées puis ont échoué ensemble.
Ce que nous changeons
- Aligner le délai de notre client sur celui du prestataire, et échouer vite avec un message clair invitant à réessayer.
- Alerter sur la latence des autorisations, pas seulement sur le taux d'erreurs.
- Convenir avec le prestataire d'un préavis pour toute modification de configuration.