4D Payments SDK 2016 .NET Edition
4D Payments SDK 2016 .NET Edition
Questions / Feedback?

Testing Information

This page provides testing information for the various processors.

TSYS test account information

The following TSYSMerchant information may be used to test transactions. Note that the TSYS server will route the test account (indicated by the MerchantBankId) to a test server. If the test system is off-line, you will receive a "Bad BIN or Host Disconnect" error. This error is returned whenever the live server does not recognize a MerchantBankId.

TSYSMerchant.BankId "999995"
TSYSMerchant.CategoryCode "5999"
TSYSMerchant.Name "4DPAYMENTS"
TSYSMerchant.Number "999999999911"
TSYSMerchant.ServicePhone "800-1234567"
TSYSMerchant.State "NC"
TSYSMerchant.StoreNumber "0011"
TSYSMerchant.TerminalNumber "9911"
TSYSMerchant.Zip "27609"
TSYSMerchant.TimeZone "705"
AgentBankNumber (for settlement) "000000"
AgentChainNumber (for settlement) "111111"
TerminalId (for settlement) "00000001"


TSYS Test Host Authorization Values for Regular Credit Card Transactions:

Request ValueResponse CodeResponse Text
$0.00 13 Amount Error
$0.01 01 Call
$0.02 02 Call
$0.03 28 No Reply
$0.04 91 No Reply
$0.05 04 Hold - Call
$0.06 07 Hold - Call
$0.07 41 Hold - Call
$0.08 43 Hold - Call
$0.09 EA Account Length Error
$0.10 79 Already Reversed
$0.11 13 Amount Error
$0.12 83 Can't Verify PIN
$0.13 86 Can't Verify PIN
$0.14 14 Card No Error
$0.15 82 Cashback Not APP
$0.16 N3 Cashback Not Avl
$0.17 06 Check Digit Error
$0.18 EC CID Format Error
$0.19 80 Date Error
$0.20 05 Decline
$0.21 51 Decline
$0.22 N4 Decline
$0.23 61 Decline
$0.24 62 Decline
$0.25 65 Decline
$0.26 93 Decline
$0.27 81 Encryption Error
$0.28 06 Error XXXX
$0.29 54 Expired Card
$0.30 92 Invalid Routing
$0.31 12 Invalid Trans
$0.32 78 No Account
$0.33 21 No action taken
$0.34 76 No action taken
$0.35 77 No action taken
$0.36 52 No Check Account
$0.37 39 No Credit Acct
$0.38 53 No Save Acct
$0.39 15 No Such Issuer
$0.40 75 PIN Exceeded
$0.41 19 RE-ENTER
$0.42 63 SEC Violation
$0.43 57 Serv Not Allowed
$0.44 58 Serv Not Allowed
$0.45 96 System Error
$0.46 03 Term ID Error
$0.47 55 Wrong PIN
$0.48 N7 CVV Mismatch
$0.49 85 Card OK
$0.50* VITAL X APPROVAL
$0.80 00 (space) CAVV result code
$0.81 00 0' CAVV result code
$0.82 00 1' CAVV result code
$0.83 00 2' CAVV result code
$0.84 00 3' CAVV result code
$0.85 00 4' CAVV result code
$0.86 00 D' For Commercial Card -Visa Commerce

* Used for a debit switching. The amount provokes the host into sending "V" as the NetworkId instead of "G". If the NetworkId contains a "V" (or a "5"), this indicates the transaction was processed as a credit card purchase transaction even though it was originally submitted as a debit transaction. Therefore, the transaction must be settled as a credit card (non-debit) transaction.


Visa Commercial Card Group III Responses

Request Value Response Code Text Response
$0.51 001B VITAL X (approval)
$0.52 001R VITAL X (approval)
$0.53 001S VITAL X (approval)
$0.86 001D VITAL X (approval)


MasterCard Commercial Card Group III Responses

Card Number Response Code Text Response
552500000000005 001R VITAL X (approval)
5472060000000000 001B VITAL X (approval)
5550000000000003 001S VITAL X (approval)


          

Visa Infinite / Visa Signature Card Auth. Transaction Amount Limits (Cert box testing)

For testing, submit a Visa card transaction for $444,444.44 only.


Large Ticket - Commercial Card

For testing, submit a Visa card for $10,000,000.00 only.


Card Verification Value Test Responses (CVV2)

CVV2 Request Value CVV Result Response Text
998 (MasterCard) M VITAL X (approval)
xxx (MasterCard) N7 CVC2 MISMATCH
xxx (VISA) N7 CVV MISMATCH
9997 (AMEX) (no response) VITAL X (approval)
xxxx (AMEX) EC CID FORMAT ERROR
999 (VISA) M VITAL X (approval)


        

Address Verification Service Responses

CustomerZipResponse Code Response Text
85284 Z Zip Match
99999 U Ver Unavailable
99998 G Ver Unavailable
999970001 B Address Match
999970002 C Serv Unavailable
999970003 D Exact Match
999970004 I Ver Unavailable
999970005 M Exact Match
999970006 P Zip Match
999970007 A Address Match
999970008 Y Exact Match

*Use "8320" for the CustomerAddress in all of the above cases.


Test Card Numbers: (Use any future expiration date)

Visa 4012000010000
MasterCard 5499740000000057
Discover 6011000991001201
Amex 371449635392376
Diners 38555565010005

Paymentech test account information

The following Merchant information may be used to test transactions. Note that the you must use the test server URL as in the code below.

    PTechCharge1.Server = "https://netconnectvar1.chasepaymentech.com/NetConnect/controller"
    PTechCharge1.MerchantNumber = txtMerchantNumber.Text
    PTechCharge1.TerminalNumber = txtTerminalNumber.Text
    PTechCharge1.ClientNumber = txtClientNumber.Text
    PTechCharge1.UserId = txtUserId.Text
    PTechCharge1.Password = txtPassword.Text
    

Server "https://netconnectvar1.chasepaymentech.com/NetConnect/controller"
MerchantNumber "700000000125"
TerminalNumber "001"
ClientNumber "0002"
UserId "4dpayments01"
Password "4dpaymentspw01"


The following amounts may be sent to test various responses from Paymentech. As a note, with the test server only the first three characters of the Response Approval Code should be checked as the server will append the cents portion of the amount to the approval code to indicate what value caused the error. Paymentech Test Host Capture Authorization Values for Regular Credit Card Transactions:

Request ValueResponse Approval CodeResponse Text
$x.01 200 AUTH. DECLINED
$x.02 201 CALL VOICE OPER
$x.03 202 HOLD - CALL
$x.04 203 CALL VOICE OPER
$x.05 204 INVALID CARD NO
$x.06 205 INVALID EXP DATE
$x.07 206 INVALID ICA NO
$x.08 207 INVALID ABA NO
$x.09 208 INVALID PIN NO
$x.10 209 INVALID BANK MID
$x.11 210 INVALID TERM NO
$x.12 211 INVALID AMOUNT
$x.13 212 INVALID STATE CD
$x.14 213 INVALID TRAN FMT
$x.15 214 CALL VOICE OPER
$x.16 215 LOST/STOLEN CARD
$x.17 216 INVALID PIN
$x.18 217 OVER CREDIT FLR
$x.19 218 *REQUEST DENIED*
$x.20 220 NOT ONLINE TO ??
$x.21 221 DOWN - PLS RETRY
$x.22 222 AUTH. DECLINED
$x.23 223 INVALID PIN NO
$x.24 224 AUTH. DECLINED
$x.25 225 CARD NOT ALLOWED
$x.59 NA DECLINED PER CARDHOLDER
$x.92 292 DOWN - PLS RETRY
$x.93 293 BUSY - PLS RETRY
$x.94 294 BUSY - PLS RETRY
$x.97 297 ERROR - RETRY
$x.98 298 ERROR - RETRY
$x.99 299 ERROR - RETRY

Paymentech Test Terminal Capture Authorization Values for Regular Credit Card Transactions:

Request ValueResponse Approval CodeResponse Text
$x.01 200 AUTH. DECLINED
$x.02 201 CALL VOICE OPER
$x.03 202 HOLD - CALL
$x.04 203 CALL VOICE OPER
$x.05 204 INVALID CARD NO
$x.06 205 INVALID EXP DATE
$x.07 206 INVALID ICA NO
$x.08 207 INVALID ABA NO
$x.09 208 INVALID PIN NO
$x.10 209 INVALID BANK MID
$x.11 210 INVALID TERM NO
$x.12 211 INVALID AMOUNT
$x.13 212 INVALID STATE CD
$x.14 213 INVALID TRAN FMT
$x.15 214 CALL VOICE OPER
$x.16 215 LOST/STOLEN CARD
$x.17 216 INVALID PIN
$x.18 217 OVER CREDIT FLR
$x.19 218 *REQUEST DENIED*
$x.20 220 NOT ONLINE TO ??
$x.21 218 *REQUEST DENIED*
$x.22 218 *REQUEST DENIED*
$x.23 218 *REQUEST DENIED*
$x.24 218 *REQUEST DENIED*
$x.25 218 *REQUEST DENIED*
$x.59 NA DECLINED PER CARDHOLDER
$x.92 218 *REQUEST DENIED*
$x.93 218 *REQUEST DENIED*
$x.94 218 *REQUEST DENIED*
$x.97 218 *REQUEST DENIED*
$x.98 218 *REQUEST DENIED*
$x.99 218 *REQUEST DENIED*

FDMS

FDMS does not provide public testing facilities. You must contact FDMS to obtain a test account. Once you have an account you must also setup Datawire (unless you are using FDMS Omaha via a direct connection).

The FDMSRegister component is a tool used to Register and Activate a merchant account with the Datawire VXN. This component communicates with the Datawire VXN transaction transport network, and allows you to set up your account so that credit card transactions made with the FDMSECommerce, FDMSRetail, and FDMSSettle components will pass through Datawire and ultimately reach the First Data Merchant Services (FDMS) transaction processor. Before you can charge a single credit card, you must Register and Activate your FDMS account, and then run a ServiceDiscovery to find acceptable URLs, which you will ultimately use to send credit card authorizations.

The first thing you must do is Register your merchant account. First Data Merchant Services will provide you with a MerchantNumber and a MerchantTerminalNumber, which are required for registering with Datawire. If you are registering on the Rapid Connect platform you must also set the GroupId configuration setting. In addition, you will need to set the TransactionNumber with a unique value (the TransactionNumber should be incremented for each transaction you send to the Datawire VXN). The example below also sets the URL to point to the Datawire test server.


  FDMSRegister.MerchantNumber = "000000999990";
  FDMSRegister.MerchantTerminalNumber = "555555";
  //FDMSRegister.Config("GroupId=FDMS_Assigned_GroupId"); //Rapid Connect Only
  FDMSRegister.TransactionNumber = "0000001V002500" 'any unique number will do; check TransactionNumber property for format
  FDMSRegister.URL = "https://stagingsupport.datawire.net/staging_expresso/SRS.do"
  FDMSRegister.Register()

If the registration was successful, the DatawireStatus will contain "OK", and the DatawireId will contain the new Id which you must save and send with every subsequent transaction. The PrimaryDiscoveryURL and SecondaryDiscoveryURL properties will also be filled after a successful authorization. These URLs should be saved for later, and used to perform ServiceDiscovery.

After registering, you must immediately Activate the merchant. If you wait too long, your registration will time out, and you will have to contact Datawire to have them reset your account so that you may register again. When activating the merchant, the same properties are required as for the Register method, with the addition of the DatawireId property. Since the call to Register filled the DatawireId property with the correct value, all we need to do now is:


  FDMSRegister.TransactionNumber = "0000002V002500" 'any unique number will do; check TransactionNumber property for format
  FDMSRegister.Activate()

After registering and activating the account, you may now move on to Service Discovery. The Register method will return both a PrimaryDiscoveryURL and a SecondaryDiscoveryURL. Use these URLs with the ServiceDiscovery method to retrieve a list of valid transaction URLs. For instance:


  FDMSRegister.ServiceDiscovery("https://staging1.datawire.net/sd")

After a successful ServiceDiscovery the DatawireStatus will be "OK". The discovered URLs will be listed in the ServiceProviders array property. At this time, you should Ping each of these URLs and sort them in order of fastest to slowest response time. You will use the URL with the fastest response time to authorize transactions with FDMSRetail or FDMSECommerce. If the first URL stops responding, you should remove the URL and switch to the next URL in the list. The following example shows how to ping each of the ServiceProviders (you must save and sort the results yourself).


  for (int i = 0; i < FDMSRegister.ServiceProviders.Length; i++) {
	  FDMSRegister.Ping(FDMSRegister.ServiceProviders[i]);
		Console.WriteLine(FDMSRegister.ServiceProviders[i] + " = " + FDMSRegister.PingResponseTime);
	}

If your list of servers becomes empty, perform ServiceDiscovery and the subsequent steps to re-populate the list of available servers.

You may now use the DatawireId and the Service Provider URLs retrieved by this component to submit transactions using the FDMSECommerce, FDMSRetail, and FDMSSettle components.

FDMS Rapid Connect Test Cards

The Rapid Connect Sandbox also provides test cards that can be used for ad hoc testing.

PIN Debit 4017779991113335
Visa 4761530001111118
EBT 5076800002222223
MasterCard 5137221111116668
Discover 6011208701117775
Amex 371030089111338
Diners Club 36185900011112
JCB 3566002345432153

The TransactionAmount also may have a special meaning.

  • The value "4567" ($45.67) will result in a No Host Response to simulate Time-out Reversal testing.
  • Values below "10000" ($100.00) will receive an approved response.
  • Values above "10000" ($100.00) will receive a specific error. The last 3 digits of the value represent the 3 digit Code. For instance to receive a response with error code 106 the amount should be "10116" ($101.16).

Global Payments test account information

The following merchant information may be used to test transactions. Note that the you must use the test server URL as in the code below.

    GlobalCharge1.Server = "https://certapia.globalpay.com"
    GlobalCharge1.UserId = "4dpayments_ecom"
    GlobalCharge1.Password = "Passw0rd"
Since Global Payments separates industry types by UserId, there are several UserId values that can be used for testing depending upon the type of transaction you want to test. These are:

IndustryUserIdPasswordVendorNumber
E-Commerce4dpayments_ecomPassw0rd718
MOTO4dpayments_motoPassw0rd732
Retail4dpayments_retailPassw0rd719
Restaurant4dpayments_restaurantPassw0rd711

VendorNumber is only required when using GlobalTransactionSearch.

Note that for testing Server must be set to "https://certapia.globalpay.com".

 
 
Copyright (c) 2020 4D Payments Inc. - All rights reserved.
4D Payments SDK 2016 .NET Edition - Version 16.0 [Build 7502]