Reply
Highlighted
Contributor
Posts: 10
Registered: ‎09-03-2009

Duplicate Transactions AIM

 

Greetings All,

 

Which fields in an AIM request make it unique to avoid a 'duplication' errored response?  I'm testing with a pre-populated form (just to save time) and including x_invoice_number in the request, but still getting the duplication error.  I tried including based on THIS post, but to no avail.

 

I've checked the Imp Guide, but couldn't find this clearly spelled out there.  Have I missed it? 

 

Any info from the group is appreciated!

 

 

 

 

 

Highlighted
Regular Contributor
Posts: 75
Registered: ‎09-04-2009

Re: Duplicate Transactions AIM

I think in general it would be the same amount and card number within a specified timespan, but the interval isn't all that long (a minute, perhaps?).  When I test, I select "Auth only" - don't know if that makes a difference.

Steve
Highlighted
Contributor
Posts: 10
Registered: ‎09-03-2009

Re: Duplicate Transactions AIM

Thanks for the response!

 

And that makes sense.  If I set x_duplicate_window to anything and wait that long, then I don't get the error.  However, I was wondering if there's another field I can include that would genuinely be tran specific and that would not generate the error if it's initiated before the window closes.

 

Highlighted
Trusted Contributor
Posts: 451
Registered: ‎08-21-2009

Re: Duplicate Transactions AIM

Response Reason Code: 11

Response Reason Text: A duplicate transaction has been submitted.

Notes: A transaction with identical amount and credit card information was submitted within the Duplicate Transaction Window.

The error message "Duplicate Transaction" indicates that a transaction request was submitted within a few minutes of a previous attempt with the same information. Authorize.Net® identifies duplicate transactions by matching the data provided with the transaction.

The data fields that are validated are:

API Login ID

  x_login
Credit Card Number   x_card_num
Expiration Date   x_exp_date
Transaction Type   x_type
Bank Account Number   x_bank_acct_num

Routing Number

  x_bank_aba_code
Purchase Order Number   x_po_num
Amount   x_amount
Invoice Number   x_invoice_num
Customer ID   x_cust_id
First Name   x_first_name
Last Name   x_last_name
Company   x_company
Address   x_address
City   x_city
State   x_state
Postal Code   x_zip
Country   x_country
Duplicate Window   x_duplicate_window

If any of the fields change from one transaction to the next, Authorize.Net will not view the transactions as duplicates.

The duplicate transaction window will always be two minutes for all transactions submitted through the Virtual Terminal. If you wish to adjust the duplicate transaction window for transactions submitted from your software, such as a website or shopping cart, you may do so by adding the field x_duplicate_window to your website script.

If you are unable to adjust or add this variable to your shopping cart settings, please contact your shopping cart support team for additional assistance in this regard. The variable x_duplicate_window tells us, in seconds, how much time we should check for duplicates after a transaction is submitted.

 

The largest value we will accept for x_duplicate_window is 28800, which equals eight hours. If a value greater than 28800 sent, the payment gateway will default to 28800. If x_duplicate_window is set to 0 or to a negative number, no duplicate transaction window will be enforced for your software's transactions. If no value is sent, the default value of 120 (two minutes) would be used.

 

For example, if you wished to set a duplicate transaction window of five minutes, you would set x_duplicate_window to 300, as there are 300 seconds in five minutes.

 

Note: By submitting x_duplicate_window with your online transactions, we will return further details along with this error response, including:

• The original transaction ID that was duplicated;

AVS and CVV responses for the original transaction;

• The original authorization code, if the transaction was authorized;

• The MD5 hash, if a MD5 hash value was generated for the original transaction.

If you do not submit the x_duplicate_window field, we will not return any details from the original transaction, even if you submit a duplicate transaction.