title: Authorize.net CIM Duplicate Transaction Window
body: <p>I'm working with Authorize.net's Customer Information Manager API (CIM). My test case is centered around a user giving the wrong address during checkout.</p>
  
  <p>My application will attempt to create a customer profile each time the user submits the form:</p>
  
  <pre><code>$txrq = new AuthorizeNetCIM;
  $txrsp = $txrq-&gt;createCustomerProfileTransaction("AuthCapture", $transaction, 'x_duplicate_window=0');
  </code></pre>
  
  <p>I've tried setting passing <code>x_duplicate_window</code> as you can see above to "Extra Options," which, in the SDK, is the following part of the request:</p>
  
  <pre><code>&lt;extraOptions&gt;&lt;![CDATA[' . $this-&gt;_extraOptions . ']]&gt;&lt;/extraOptions&gt;
  </code></pre>
  
  <p>No matter what value I use for x_duplicate_window, authorize.net will always return an error until the default time has passed.</p>
  
  <pre><code>AuthorizeNet Error: Response Code: 3 Response Subcode: 1 Response Reason Code: 11 Response Reason Text: A duplicate transaction has been submitted.
  </code></pre>
  
  <p>I worry if one of our (potential) users tries to submit the wrong address, realizes his or her error, and then gets greeted with 3 more additional minutes of errors while the transaction timeout occurs.</p>