Card decline code
duplicate_transaction: Duplicate transaction
A payment with the same amount and card was made very recently. Check whether the customer has already paid before retrying.
What duplicate_transaction means
duplicate_transaction means the issuer saw an identical charge moments ago and blocked this one to avoid a double charge.
Should you retry the payment?
Look for a recent successful payment. Retry only if there is none.
How to recover a subscription payment declined with duplicate_transaction
- Check for a recent successful payment for the same invoice.
- If none exists, retry later.
What to tell the customer
Usually no message needed.
"Hi Sam, we noticed a duplicate payment attempt and stopped it so you weren't charged twice. No action needed."
More wording for every situation is in our dunning email templates.
How Revnio handles duplicate_transaction
Revnio records duplicate_transaction on the failed payment, follows your retry schedule (by default 1, 3, 5 and 7 days, adjusted for the customer's value and plan, and moved to weekday business hours), and emails the customer a secure link to pay or update their card. WhatsApp (Pro plan) reminders follow if the email is not clicked. The Insights page shows how often each decline code recovers for you. On Paddle, Paddle runs the payment retries itself and Revnio handles the customer outreach.
Decline codes are returned by the card issuer through your payment processor. Code names here follow Stripe's; Chargebee and Paddle surface the same issuer reasons with their own wording. Last reviewed 2026-10-15.
Frequently asked questions
What does decline code duplicate_transaction mean?
A payment with the same amount and card was made very recently. Check whether the customer has already paid before retrying.
Should I retry a payment declined with duplicate_transaction?
Check first. Look for a recent successful payment. Retry only if there is none.
Can Revnio recover payments declined with duplicate_transaction?
Revnio picks up the failed payment from Stripe, Chargebee or Paddle, adjusts retry timing to the decline code, and reaches the customer by email and WhatsApp (SMS is coming soon) with a secure link to pay or update their card.
Recover failed payments on autopilot
Revnio retries failed payments at the right time and reaches customers by email and WhatsApp until the card is fixed. Works with Stripe, Chargebee and Paddle.
Related
- processing_errorSomething went wrong while processing the card, on the network or the issuer side. It is temporary and usually succeeds on retry.
- reenter_transactionThe issuer could not process the payment for an unknown reason and asks for it to be submitted again. A retry usually works.
- generic_declineThe payment was declined for an unspecified reason. Stripe also returns generic_decline when its own fraud screening blocks a charge, and for lost, stolen or fraudulent cards it reports to customers.
- All decline codesEvery common card decline code, grouped by what to do next.
- Dunning email templatesCopy-ready emails for each kind of failed payment.