<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: &amp;quot;A duplicate transaction has been submitted&amp;quot; error while doing new Customer Payment Pr in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94236#M58289</link>
    <description>&lt;P&gt;I also tried to set unique string to the `refId` field - no luck, still receive duplicate error.&lt;/P&gt;</description>
    <pubDate>Mon, 06 Oct 2025 14:57:35 GMT</pubDate>
    <dc:creator>onlylastride</dc:creator>
    <dc:date>2025-10-06T14:57:35Z</dc:date>
    <item>
      <title>"A duplicate transaction has been submitted" error while doing new Customer Payment Profile request</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94147#M58220</link>
      <description>&lt;P&gt;Hello.&lt;/P&gt;&lt;P&gt;I have the following issue:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Customer enters his credit card number with wron CVV and tries to place order.&lt;/LI&gt;&lt;LI&gt;I create customer profile&lt;/LI&gt;&lt;LI&gt;I create Customer Payment Profile with "validationMode: liveMode"&lt;/LI&gt;&lt;LI&gt;I get error: "&lt;STRONG&gt;E00027 - This transaction has been declined.&lt;/STRONG&gt;"&lt;/LI&gt;&lt;LI&gt;Customers see some error and enters correct CVV and sends an order again.&lt;/LI&gt;&lt;LI&gt;I try again to create Customer Payment Profile&amp;nbsp;with "validationMode: liveMode"&lt;/LI&gt;&lt;LI&gt;I get the following error: "&lt;STRONG&gt;E00027 - A duplicate transaction has been submitted.&lt;/STRONG&gt;".&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;And customer should wait for 2 minutes for placing order.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My question:&lt;/STRONG&gt; how can I mitigate the issue with duplicate transaction? I didn't find option to set custom "duplicateWindow" to Customer Pyament Profile request.&lt;/P&gt;&lt;P&gt;I tried to use "validattionMode: test" and it worked BUT it successfully charged the credit card even I enter wrong CVV code. It's unacceptable&lt;/P&gt;</description>
      <pubDate>Thu, 02 Oct 2025 14:12:09 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94147#M58220</guid>
      <dc:creator>onlylastride</dc:creator>
      <dc:date>2025-10-02T14:12:09Z</dc:date>
    </item>
    <item>
      <title>Re: "A duplicate transaction has been submitted" error while doing new Customer Payment Pr</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94160#M58226</link>
      <description>&lt;P&gt;The &lt;STRONG&gt;“duplicate transaction”&lt;/STRONG&gt; error happens because Authorize.Net blocks repeat payment requests within a short time window (default 120 seconds).&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Fix options:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Turn off duplicate transaction check&lt;/STRONG&gt; → Call Authorize.Net API without the default duplicateWindow, or set it to 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Add unique order IDs&lt;/STRONG&gt; → Pass a unique refId or invoiceNumber with each request so that the system doesn’t think it’s the same payment.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Use validationMode: testMode for card validation only&lt;/STRONG&gt;, then run the actual charge after the customer corrects their details.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&amp;lt;!-- Ready-to-paste HTML answer for forum or docs --&amp;gt;&lt;BR /&gt;&amp;lt;!doctype html&amp;gt;&lt;BR /&gt;&amp;lt;html lang="en"&amp;gt;&lt;BR /&gt;&amp;lt;head&amp;gt;&lt;BR /&gt;&amp;lt;meta charset="utf-8" /&amp;gt;&lt;BR /&gt;&amp;lt;title&amp;gt;Fix: "A duplicate transaction has been submitted" (Authorize.Net)&amp;lt;/title&amp;gt;&lt;BR /&gt;&amp;lt;meta name="viewport" content="width=device-width,initial-scale=1" /&amp;gt;&lt;BR /&gt;&amp;lt;style&amp;gt;&lt;BR /&gt;body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial; line-height:1.5; color:#111; padding:18px; max-width:760px; }&lt;BR /&gt;h1 { font-size:1.15rem; margin-bottom:8px; }&lt;BR /&gt;p { margin:8px 0; }&lt;BR /&gt;code, pre { background:#f6f6f6; padding:8px; border-radius:6px; display:block; white-space:pre-wrap; }&lt;BR /&gt;.steps { margin:12px 0; }&lt;BR /&gt;.hint { font-size:0.95rem; color:#444; margin-top:10px; }&lt;BR /&gt;&amp;lt;/style&amp;gt;&lt;BR /&gt;&amp;lt;/head&amp;gt;&lt;BR /&gt;&amp;lt;body&amp;gt;&lt;BR /&gt;&amp;lt;h1&amp;gt;Quick fix: "A duplicate transaction has been submitted" (Authorize.Net)&amp;lt;/h1&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;&lt;BR /&gt;The duplicate error occurs because Authorize.Net blocks repeated transaction submissions that look identical within a short window (default ~120s).&lt;BR /&gt;The easiest, reliable fixes are listed below — use one or more to avoid the E00027 error.&lt;BR /&gt;&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div class="steps"&amp;gt;&lt;BR /&gt;&amp;lt;strong&amp;gt;Short &amp;amp;amp; practical steps:&amp;lt;/strong&amp;gt;&lt;BR /&gt;&amp;lt;ol&amp;gt;&lt;BR /&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Attach a unique order id&amp;lt;/strong&amp;gt; to every attempt (use &amp;lt;code&amp;gt;order.invoiceNumber&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;refId&amp;lt;/code&amp;gt;). This tells Authorize.Net each retry is a distinct transaction.&amp;lt;/li&amp;gt;&lt;BR /&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Use validation only when needed:&amp;lt;/strong&amp;gt; For CVV correction flows, consider &amp;lt;code&amp;gt;validationMode: testMode&amp;lt;/code&amp;gt; or do a lightweight &amp;lt;em&amp;gt;authorization-only&amp;lt;/em&amp;gt; for validation, then run the real charge after customer confirms details.&amp;lt;/li&amp;gt;&lt;BR /&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Handle the E00027 response gracefully:&amp;lt;/strong&amp;gt; If you get E00027, generate a new invoice/refId and re-submit the payment (or prompt the user and retry server-side after short delay).&amp;lt;/li&amp;gt;&lt;BR /&gt;&amp;lt;/ol&amp;gt;&lt;BR /&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Example JSON (concept):&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;BR /&gt;&amp;lt;pre&amp;gt;&lt;BR /&gt;{&lt;BR /&gt;"createCustomerPaymentProfileRequest": {&lt;BR /&gt;"merchantAuthentication": {&lt;BR /&gt;"name": "YOUR_API_LOGIN",&lt;BR /&gt;"transactionKey": "YOUR_TRANSACTION_KEY"&lt;BR /&gt;},&lt;BR /&gt;"customerProfileId": "12345678",&lt;BR /&gt;"paymentProfile": {&lt;BR /&gt;"billTo": { "firstName":"John", "lastName":"Doe" },&lt;BR /&gt;"payment": {&lt;BR /&gt;"creditCard": {&lt;BR /&gt;"cardNumber": "4111111111111111",&lt;BR /&gt;"expirationDate": "2026-12",&lt;BR /&gt;"cardCode": "123"&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;},&lt;BR /&gt;"validationMode": "liveMode",&lt;BR /&gt;"refId": "order-20251003-160920" /* &amp;lt;- make this unique for every attempt */&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&amp;lt;/pre&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Server-side retry pseudocode:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;BR /&gt;&amp;lt;pre&amp;gt;&lt;BR /&gt;try {&lt;BR /&gt;submitCreateCustomerPaymentProfile(payload);&lt;BR /&gt;} catch (err) {&lt;BR /&gt;if (err.code === 'E00027') {&lt;BR /&gt;// generate a new unique refId/invoiceNumber and retry once&lt;BR /&gt;payload.refId = 'order-' + Date.now();&lt;BR /&gt;submitCreateCustomerPaymentProfile(payload);&lt;BR /&gt;} else {&lt;BR /&gt;throw err;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&amp;lt;/pre&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p class="hint"&amp;gt;&lt;BR /&gt;&amp;lt;strong&amp;gt;Why this works:&amp;lt;/strong&amp;gt; Platforms like Crunchyroll attach unique transaction/invoice IDs to each payment attempt and separate validation from the final charge. That prevents accidental duplicate detection when a user retries with corrected CVV — follow the same pattern to make your flow smooth and user-friendly.&lt;BR /&gt;&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p class="hint"&amp;gt;&lt;BR /&gt;If you want, I can convert the above into a short 2–3 line forum comment (HTML or plain text) you can paste directly into Q&amp;amp;amp;A sites.&lt;BR /&gt;&amp;lt;/p&amp;gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;HR /&gt;&lt;H3&gt;Crunchyroll Relevance&lt;/H3&gt;&lt;P&gt;This is the same reason why platforms like &lt;A href="https://crunchyapkpro.com/blogs-best-crunchyroll-alternatives/" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Crunchyroll’s payment system&lt;/STRONG&gt;&lt;/A&gt; rarely give duplicate charge errors&amp;nbsp; they &lt;STRONG&gt;always attach a unique transaction ID&lt;/STRONG&gt; to every payment attempt. That way, even if a customer enters wrong CVV or retries quickly, the system doesn’t confuse it with the previous request.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2025 05:45:58 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94160#M58226</guid>
      <dc:creator>Maxcole</dc:creator>
      <dc:date>2025-10-03T05:45:58Z</dc:date>
    </item>
    <item>
      <title>Re: "A duplicate transaction has been submitted" error while doing new Customer Payment Pr</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94161#M58227</link>
      <description>&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;The duplicate transaction error happens because Authorize.Net blocks repeat payment requests within a short time window (default 120 seconds). To fix this you can disable the duplicate transaction check by setting duplicateWindow to 0, add a unique refId or invoiceNumber with each request, or use validationMode testMode only for card validation and then run the actual charge after the customer corrects their details. Another option is to handle the E00027 error with a short retry delay. This is similar to how &lt;A href="https://crunchyapkpro.com/blogs-best-crunchyroll-alternatives/" target="_self"&gt;Crunchyroll payment system&lt;/A&gt; works by always attaching a unique transaction ID to every payment attempt so even if a customer retries quickly it is not treated as a duplicate.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 03 Oct 2025 06:03:56 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94161#M58227</guid>
      <dc:creator>Maxcole</dc:creator>
      <dc:date>2025-10-03T06:03:56Z</dc:date>
    </item>
    <item>
      <title>Re: "A duplicate transaction has been submitted" error while doing new Customer Payment Pr</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94196#M58250</link>
      <description>&lt;P&gt;&lt;SPAN&gt;`duplicateWindow` option is not available while doing the "Create Customer Payment Profile" request.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Oct 2025 08:22:12 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94196#M58250</guid>
      <dc:creator>onlylastride</dc:creator>
      <dc:date>2025-10-06T08:22:12Z</dc:date>
    </item>
    <item>
      <title>Re: "A duplicate transaction has been submitted" error while doing new Customer Payment Pr</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94236#M58289</link>
      <description>&lt;P&gt;I also tried to set unique string to the `refId` field - no luck, still receive duplicate error.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Oct 2025 14:57:35 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/quot-A-duplicate-transaction-has-been-submitted-quot-error-while/m-p/94236#M58289</guid>
      <dc:creator>onlylastride</dc:creator>
      <dc:date>2025-10-06T14:57:35Z</dc:date>
    </item>
  </channel>
</rss>

