Terminals APIs

Integration




Integration Overview 

The integration within the gateway can be tested using data presented below.

Test Cards and Bank Accounts 

The accounts below are accepted by the host emulator's validation mechanism and, thus, can be used for preliminary testing. They are also used as part of the certification process. In case if it is necessary to test the tokenization process, it is possible to use the test card/bank account numbers listed below and live card/bank account numbers. For more details review this note.

Card Type Card Brand Card Number Expiration Date Token (Simple) Token (Extended)
Credit VISA 4111111111111111 0422 VC84632147254611111111 XVC01P0000000084632147254611114111001111
Credit MasterCard 5499740000000057 0422 MC32541698745800570057 XMC01P0000000032541698745800575499000057
Credit Discover 6011000991001201 0422 DC65874123589012011201 XDC01P0000000065874123589012016011001201
Credit AmEx 371449635392376 0422 AC21548730012123762376 XAC01P0000000021548730012123763714002376
Debit VISA 4217651111111119 0422 VD57543852138455552229 XVD01P0000000029832298045816474217001119
Debit MasterCard 5149612222222229 0422 MD48963129999944441119 XMD01P0000000062379363405796695149002229

Country Bank Account Number Token (Simple) Token (Extended) Routing Number Account Type
US 4099999992 BC11190000010030019992 XBC00P0000000011190000010030014099009992 021000021 Checking
AU 7694200031 BC12345667081067830031 XBC00P0000000012345667081067837694000031 093088 Checking
CA 5682100032 BC12345644275009280032 XBC00P0000000012345644275009285682000032 053133052 Checking

Test Amount Ranges 

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.

Sale/Sale-auth

Amount Range Credit Card Direct Debit
In dollars In cents Response code Response message Response code Response message
5.00 – 69.99 500 – 6999 A01 Approved A01 Approved
70.00 – 79.99 7000 – 7999 D05 Invalid card number R05 Unauthorized debit to consumer using corporate sec code
80.00 – 89.99 8000 – 8999 D10 Card reported lost/stolen R02 Account closed
90.00 – 99.99 9000 – 9999 D30* Call for Authorization* R08 Stop payment or stop on source document
100.00 – 109.99 10000 – 10999 D04 Hold - Pick up card R16 Account frozen
110.00 – 119.99 11000 - 11999 D08 CSC is invalid R03 Unauthorized debit to consumer using corporate sec code
120.00 – 129.99 12000 – 12999 D03 Insufficient Funds R01 Insufficient Funds
130.00 – 139.99 13000 – 13999 E02 Processing Network Unavailable E02 Processing Network Unavailable
140.00 – 149.99 14002 – 14999 E09 Processing Network Error E09 Processing Network Error
150.00 – 159.99 15000 – 15999 A05** Partially Approved** A01 Approved
160.00 – 169.99 16000 – 16999 D24*** Chargeback received*** A01 Approved
170.00 – 179.99 17000 – 17999 D27**** Transaction Error**** A01 Approved

*This range is designated to test voice authorization. Sale/sale-auth transaction with the amount that equals to $90.00-99.99 results in D30 decline code, however, if the approvalCode field value is specified as 012345 within the request, A01 approval code is received.

**This range is designated to test partial authorizations. When a sale transaction with this amount range is submitted, it is approved partially. Approved amount is $10 less than the originally requested amount.

***This range is designated to test chargebacks. In this scenario, A01 approval code is received in the response but after a cycle is closed (batches settled for direct debit), a chargeback is generated for transactions with the indicated amount range.

****'This range is designated to test rejects. In this scenario, A01 approval code is received in the response but after a cycle is closed (batches settled for direct debit), a reject is generated for transactions with the indicated amount range.

Credit

Amount Range (in dollars) Amount Range (in cents) Response Code Response Message
5.00 – 69.99 500- 6999 A02 Credit Posted
170.00 – 179.99 17000 – 17999 D27* Transaction Error*

*This range is designated to test rejects. In this scenario, A01 approval code is received in the response but after a cycle is closed (batches settled for direct debit), a reject is generated for transactions with the indicated amount range.

Track Data (SafeNet Luna encrypted) 

Card Number Track Data (SafeNet Luna encrypted)
4111111111111111 029400850000000004160CE5C31E355F172C98994C142A49491B87DD2DAD5605A5394D111621706E21621602C9BAB1A9A0A1F8580604D5D9BB9B0D8CA3D90431373033629949003A0002E000E5760E03

EMV Data Samples 

Card Number Card Type Account Data
5413330089020110 MasterCard 4F07A0000000041010500A4D41535445524341524457115413330089020110D2512601079360805F820230008407A0000000041010950500000000009A031412309B02E8009C01005F2A0208405F3401039F02060000000015009F0607A00000000410109F090200029F10120210A00000000000000000000000000000FF9F120A4D6173746572436172649F1A0208409F1E0838303234373639329F21031107349F2608264E8FDAE6E596D69F2701809F3303E0B8C89F34034103029F3501229F360200019F37049B82EA999F3901059F4005F000F0A0019F4104000000139F530152
6510000000000141 Discover 4F07A00000015230105008444953434F56455257136510000000000141D16122011000071700000F5A0865100000000001415F200D434152442F494D4147452031345F24030812315F280208405F300202015F3401019F1A0208409F1E083830323437363932
4761739001010119 Visa 4F07A0000000031010500B564953412043524544495457114761739001010119D151220117589893895A0847617390010101195F201A56495341204143515549524552205445535420434152442030315F24031512315F280208405F300202015F3401019F120F4352454449544F20444520564953419F1A0208409F1E083830323437363932
374245001721009 Amex 4F08A0000000250108015010414D45524943414E20455850524553535713374245001721009D181020113101234500000F82025C008408A000000025010801950542800000009A031501199B02E8009C01005F2A0208405F3401009F02060000000015009F0608A0000000250108019F0902008C9F100706020103A400009F1A0208409F1E0838303234373639329F21032343539F2608F378EC2EA1C2B6AF9F2701809F3303E0B8C89F34034103029F3501229F360200019F370439D8850F9F3901059F4005F000F0A0019F4104000000179F530152

Tokenization 

As part of testing, there may be a need to emulate the tokenization of card numbers. This can be done in two ways:

1) Using test card numbers. For this type of testing the host emulator is used. In this case, the scenario looks as follows:

2) Using live card numbers. For this type of testing a tokenization appliance is used. In this case, the scenario looks as follows:
  • a tokenization provider profile of the merchant/account that is going to be used for testing is set to StrongAuth or another tokenization appliance that the gateway is integrated with;
  • live card numbers are used;
  • to emulate a general tokenization API call, the tokenization request can be submitted;
  • to emulate a tokenization API call for HPP, the tokenization request via HPP can be submitted.

CSC Verification 

As part of testing, the CSC codes specified below can be used to trigger specific CSC response codes from the server.

CSC Code CSC Response Code Response Message
111 M Matches
222 N Not matches
333 P Not processed
444 S Should be present
555 U Issuer is not certified

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#