Stripe decline code
duplicate_transactionThe issuer detected what appears to be a duplicate of a recent transaction.
Type
Recoverable
Frequency
Rareduplicate_transaction is returned when the card network sees a second identical charge attempt within a short window. This is usually the result of a missing idempotency key or a retry without backoff in your integration.
Do not retry the exact same charge. If you genuinely need to charge again (e.g., a new subscription period), make sure the amount, currency, or idempotency key is different.
No outreach needed in most cases. Debug your integration first.
Temporary issue. The card is still valid. High recovery rate with proper retry timing.
Pass an Idempotency-Key header with a unique value (e.g., a UUID) on every charge request. Stripe will return the same response for duplicate requests, preventing duplicate charges.
How Rebounce handles duplicate_transaction
Rebounce classifies every failed payment by its Stripe decline code and applies the optimal recovery strategy automatically. For duplicate_transaction, that means intelligent retries at the right times. Multi-channel follow-up through email, SMS, WhatsApp, and in-app banners ensures the customer actually sees the message.