Duplicate Transaction Checking
Go straight to the section you need.
A-9 Duplicate Transaction Checking
Duplicate transaction checking prevents transaction requests from accidentally processing more than once. This can happen if a Customer refreshes your checkout page or clicks a button that issues a new transaction request. While duplicate checking can help prevent repeat transactions from going through, we recommend talking with your developers to see whether changes can be made to your form to reduce the likelihood of this occurring (eg disabling the Submit button after it has been clicked).
To help prevent duplicate transactions, each transaction can specify a time window during which previous transactions will be checked to see whether they could be possible duplicates.
This time window is specified using the duplicateDelay field. The value for this field can range from 0 to 9999 seconds (approx. 2 ¾ hours).
If the transaction request does not include the duplicateDelay field or specifies a value of zero, then a default delay of 300 seconds (5 minutes) is used.
The following fields are used in transaction comparison and must be the same for a transaction to be regarded as a duplicate:
- xref (if provided in lieu of card details)
- cardNumber (may be specified indirectly via cross reference)
If a transaction is regarded as being a duplicate, then a responseCode of 65554 (REQUEST DUPLICATE) will be returned.