Authorize.Net · Decline codes
What does Authorize.Net 318 “A duplicate transaction has been submitted (processor)” mean?
Checked
Authorize.Net response reason code 318, "A duplicate transaction has been submitted", is the processor-issued version of code 11: the processor, not Authorize.Net's own filter, decided the request duplicates an earlier one. Look for the earlier transaction before trying again, so the customer is not charged twice once both settle.
- Type
- Error (duplicate check)
- Who declined
- The card processor
- Retry
- Not until you have checked the earlier transaction.
- Shopper action
- Check whether the first payment went through.
- Merchant action
- Find the original transaction before charging again.
What PlatformDTC does
PlatformDTC never resends a code 318 payment at checkout, and its renewal ledger returns the recorded result for a repeated renewal request rather than sending Authorize.Net a second charge. A renewal that still gets 318 is tried once more 48 hours or more later, outside the duplicate window.
Why it happens
The processor applies its own duplicate detection and rejected this request as a repeat.
What the store can do
Search the Merchant Interface for a transaction with the same amount and card shortly before this one.
For developers
errors[0].errorCode "318" (processor-issued twin of 11). Changing duplicateWindow does not affect the processor's own check.
Frequently asked questions
- Does duplicateWindow fix Authorize.Net code 318?
- No. That setting controls Authorize.Net's filter (code 11); 318 comes from the processor.
- Should I resubmit after Authorize.Net code 318?
- Only after confirming the earlier transaction did not go through.
Sources
- Authorize.Net Response Code Tool (response reason codes) — Authorize.Net
- Authorize.Net response codes (JSON list behind the Response Code Tool) — Authorize.Net
Related
- 11 — An identical transaction was sent within the duplicate window (two minutes by default).
- 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.
- 5 — The amount field was missing or not a valid number.