Integration




Test Amount Range

As part of testing, the amount ranges specified below can be used to trigger specific response codes from the server. Any valid account number and properly formatted billing address can be used for the test.

When working with test amount ranges, pay attention to the asterisks in the table below:
*D08/D21 response codes apply only in the cases when CSC/PIN code has been submitted. Otherwise, A01 Approved is returned.
**This range is designated to test partial authorizations. Note that A05 Partially Approved response can be received under the condition if isPartialAuthorization field value is submitted as 1 and transactionIndustryType is submitted as either Retail or Restaurant, otherwise A01 Approved response is received.
***This range is designated to test chargebacks and reversals. In this scenario, the original transition is approved (A01 Approved is received in the response), but after a realtime transaction cycle is closed (batches settled for direct debit), a chargeback (for Z01 code) or chargeback and reversal is generated.
****This range is designated to test rejects. In this scenario, the original transition is approved (A01 Approved is received in the response), but after processing, the reject with D27 response code is generated.
Note:
The amounts ending with 7 (for example, x.x7 dollars) are designated to test chargebacks. In this scenario, A01 approval code is received in the response, but after a realtime transaction cycle is closed, a chargeback is generated with Z02 code.
The amounts ending with 8 (for example, x.x8 dollars) are designated to test chargeback reversals. In this scenario, A01 approval code is received in the response, but after a realtime transaction cycle is closed, a chargeback reversal is generated with Z01 code.

Sale/Sale-auth

Amount Range Payment Card Direct Debit
In dollars In cents Response code Response message Response code Response message
70.00 – 74.99 7000 – 7499 D01 Denied by customer's bank R01 Insufficient Funds
75.00 – 79.99 7500 – 7999 D02 Invalid Expiration Date R02 Account Closed
75.00 – 79.99 7500 – 7999 D02 Invalid Expiration Date R02 Account Closed
80.00 – 84.99 8000 – 8499 D03 Insufficient Funds R03 No Account
85.00 – 89.99 8500 – 8999 D04 Hold - Pick up card R04 Invalid Account Number
90.00 – 94.99 9000 – 9499 D05 Invalid card number R05 Unauthorized Debit to Consumer Account Using Corporate SEC Code
95.00 – 99.99 9500 – 9999 D06 No account R07 Revoked Authorization
100.00 - 104.99 10000 – 10499 D08* CSC is invalid R10 Advised as Unauthorized, Item is Ineligible, Notice not provided, Signatures not Genuine, or Item Altered, Improper Source Document, Amount of Entry not Accurately Obtained
105.00 - 109.99 10500 – 10999 D09 Duplicate Transaction R16 Account Frozen
110.00 - 114.99 11000 - 11499 D10 Card reported lost/stolen R51 Item is Ineligible; Notice not Provided; Signature Not Genuine; Item Altered; Amount of Entry not Accurately Obtained
115.00 - 119.99 11500 - 11999 D16 Card is Expired R99 Transaction rejected by processor
120.00 - 124.99 12000 - 12499 D17 Re-enter Transaction
125.00 - 129.99 12000 - 12499 D18 Bad Amount
130.00 - 134.99 13000 - 13499 D21* Pin Try Exceeded
135.00 – 139.99 13500 – 13999 D27 Transaction Error
140.00 – 144.99 14500 - 14999 D29 Card is restricted
150.00 – 159.99 15000 – 15999 A05** Partially Approved
160.00 – 169.99 16000 – 16999 Z02*** Chargeback received
170.00 – 174.99 17000 - 17499 D30 Call for Authorization
175.00 – 179.99 17500 - 17999 D33 Incorrect merchant setup
180.00 – 184.99 18000 – 18499 D41 Processing Error
185.00 – 189.99 18500 – 18999 E02 Processing Network Unavailable
190.00 – 194.99 19000 – 19499 Z01*** Reversal received
195.00 – 199.99 19500 – 19999 D27**** Transaction Error


Credit (Credit Cards)

When working with test amount ranges, pay attention to the asterisks in the table below:
*This range is designated to test rejects. In this scenario, A02 approval code is received in the response but after a realtime transaction cycle is closed (batches settled for direct debit), a reject is generated for transactions with the indicated amount range.

Amount Range (in dollars) Amount Range (in cents) Response Code Response Message
90.00 – 94.99 9000 – 9499 D05 Invalid card number
95.00 – 99.99 9500 – 9999 D06 No account
135.00 – 139.99 13500 – 13999 D27* Transaction Error
180.00 – 184.99 18000 – 18499 D41 Processing Error
185.00 – 189.99 18500 – 18999 E02 Processing Network Unavailable


Credit (Direct Debit)

Note that in scenarios below, the original transaction is approved (A02 Credit Posted code is returned), but after the realtime transaction cycle is closed, the return is generated.

Amount Range (in dollars) Amount Range (in cents) Response Code Response Message
75.00 – 79.99 7500 – 7999 R02 Invalid card number
80.00 – 84.99 8000 – 8499 R03 No Account
85.00 – 89.99 8500 – 8999 R04 Invalid Account Number
115.00 – 119.99 11500 – 11999 R99 Transaction rejected by processor

Processing Delay 

As part of testing, there may be a need to emulate system behavior in cases when processing takes unusually longer time period as well as to verify the behavior in case of timeout of the platform being integrated with the gateway. In order to accomplish that, a delay directive has to be specified in the memo field according to the format below:
#wait[delay-period]x#, where
  • #wait...# is a tag indicating to the emulator it is desired to have a processing delay;
  • [delay-period] is a period in seconds for which processing is going to be delayed;
  • x is an optional indicator, the presence of which will cause a timeout error at the end of the delay.

Using the tag described above it is possible to emulate the delay and timeout situations while working with either the host emulator or a processor’s test server. The following behavior should be expected from the system while testing these scenarios:
  • Delay – the transaction will be delayed for processing for the indicated time period, meaning that after the timeout period has passed the transaction will get submitted for processing and an appropriate response will be returned back. Note that when the host emulator is used, the response will be generated according to the amount range specified in the API request. When the processor’s test server is used, the response will be generated according to the rules of that processor.
    For example, to delay the response for 60 seconds, the memo field should be submitted as follows: memo=#wait60#.
  • Timeout – the transaction will be delayed for processing for the indicated time period, however, the transaction will not get submitted for subsequent processing and a timeout error response will be returned back.
    For example, to delay the response for 180 seconds and receive a timeout, the memo field should be submitted as follows: memo=#wait180x#