Authorize.Net · Decline codes
What does Authorize.Net 11 “A duplicate transaction has been submitted” mean?
Checked
Authorize.Net response reason code 11 means a transaction request with the same information was submitted within two minutes of a previous attempt. Authorize.Net matches fields such as card number, amount, invoice number and billing details; if any field changes, it is not treated as a duplicate. Check whether the first attempt was approved before charging again.
- Type
- Error (duplicate check)
- Who declined
- Authorize.Net's duplicate filter
- Retry
- Not immediately. Check whether the first attempt went through.
- Shopper action
- Check for a confirmation email before paying again.
- Merchant action
- Look for the earlier transaction; adjust duplicateWindow only if needed.
What PlatformDTC does
PlatformDTC gives every Authorize.Net subscription renewal and refund its own idempotency key and records it, so a repeated renewal or refund request returns the recorded result instead of reaching Authorize.Net a second time and tripping code 11. If a renewal still gets code 11, usually because a second subscription on the same card was billed the same amount moments earlier, it is tried once more 48 hours or more later rather than treated as a dead card.
Why it happens
Double-clicks, a page refresh, or software retrying after a slow response can all resend the same transaction. Authorize.Net blocks it to stop the card being charged twice.
What the shopper can do
Before paying again, check your email and bank app; the first payment may already have worked.
What the store can do
Authorize.Net's guidance: the window is always two minutes in the Virtual Terminal, and software can change it with the duplicateWindow field (in seconds). Lowering it is rarely the right fix; stop the double submission instead.
For developers
errors[0].errorCode "11". Fields compared include login, cardNumber, expirationDate, transactionType, amount, invoiceNumber, customer id, name, company and address fields. Send duplicateWindow in transactionSettings to change the window.
Frequently asked questions
- How long is Authorize.Net's duplicate window for code 11?
- Two minutes by default, and always two minutes in the Virtual Terminal; integrations can set duplicateWindow in seconds.
- Was the shopper charged twice when they saw code 11?
- No. Code 11 is the second attempt being blocked; check whether the first one was approved.
Sources
- Authorize.Net Response Code Tool (response reason codes) — Authorize.Net
- Authorize.Net response codes (JSON list behind the Response Code Tool) — Authorize.Net
- Authorize.Net API reference: createTransactionResponse fields — Authorize.Net
Related
- 318 — The processor rejected the request as a duplicate of an earlier transaction.
- 2 — The card issuer, or the processor on its behalf, refused the payment without a specific reason.
- 17 — Your Authorize.Net gateway is not set up to accept this card brand.
- 28 — Your processor platform is not set up to accept this card brand.
- 56 — The account only processes eChecks, so card payments are refused.
- 39 — The currency sent is not the one your Authorize.Net account is set up for.
- 49 — The amount is above the maximum transaction amount allowed on your account.