Introduction
Welcome to 4D Payments SDK, the ultimate suite of components for integrating direct Internet payment processing into applications. The 4D Payments SDK combines the 4D Payments Integrators for FDMS, TSYS, Paymentech, and Global Payments into one comprehensive package for direct payment processing.
CardValidator | The CardValidator component is used to verify that a given credit card number is formatted properly, and could be a valid card number. Validating a card before actually submitting a transaction for authorization can reduce the fees that may be associated with invalid or declined transactions. |
CertMgr | The CertMgr component is used to create, read, and manage certificates. |
EMVKeyMgr | The EMVKeyMgr component simplifies the process of downloading EMV public keys for FDMS Rapid Connect and Paymentech. |
FDMSBenefit | The FDMSBenefit component is used to authorize Electronic Benefits Transfer (EBT) transactions with the FDMS system on the North platform. An EBT transaction is similar to a Debit transaction, using a PIN and KSN, but is used for Food Stamp or Cash Benefit programs. This component allows for simple, direct, secure communication to the First Data platform through a standard Internet connection. |
FDMSDebit | The FDMSDebit component is an advanced tool used to authorize debit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing debit card transactions with a customer PIN very easy. |
FDMSDetailRecord | The FDMSDetailRecord component is a tool used to create off-line Credit or Force transactions to be settled by the FDMSSETTLE component. The FDMSDetailRecord component may also be used to modify the XML aggregates returned by the FDMSRETAIL or FDMSECOMMERCE component's GetDetailAggregate method. |
FDMSECommerce | The FDMSECommerce component is an advanced tool used to authorize credit cards in both Mail Order (Direct Marketing) and eCommerce environments, where the customer is ordering products or services via the telephone or Internet. This component makes authorizing these types of transactions very easy. |
FDMSGiftCard | The FDMSGiftCard component is used to manipulate funds on Stored Value (Gift) Cards with the FDMS Closed Loop Gift Card System. This component supports both card-present and card-not-present gift card transactions, and allows for simple, direct, secure communication to the Datawire gateway to FDMS through a standard Internet connection. This component can be integrated into web pages or stand- alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
FDMSHealthCare | The FDMSHealthCare component is an advanced tool used to authorize FSA cards for healthcare transactions in either a retail or e-commerce/moto environment. This component makes authorizing these types of transactions very easy. Supported Industry Types include retail stores, direct marketing (e-commerce and mail order/phone order) and grocery or food stores. |
FDMSHotel | The FDMSHotel component is an advanced tool used to authorize credit cards in a retail environment, where the customer is purchasing products or services in person. This component makes authorizing these types of transactions very easy. |
FDMSLevel2 | The FDMSLevel2 component is a tool used to create Level2 Corporate Purchasing Card addendum aggregates, which can then be passed to the FDMSSETTLE component and settled. |
FDMSLevel3 | The FDMSLevel3 component is a tool used to create Level 3 Corporate Purchasing Card addendum aggregates, which can then be passed to the FDMSSETTLE component and settled. |
FDMSOmahaBatchMgr | The FDMSOmahaBatchMgr component is used to close batches and also handles the sending of all offline transactions to the FDMS Host. |
FDMSOmahaDetailRecord | The FDMSOmahaDetailRecord component is a tool used to create off-line transactions (Captures, Refunds, Revisions, and Voids) to be settled by the FDMSOmahaBatchMgr component. |
FDMSOmahaECommerce | The FDMSOmahaECommerce component is used to perform Credit card transactions in both Mail Order (Direct Marketing) and eCommerce environments, where the customer is ordering products or services via the telephone or Internet. |
FDMSOmahaRestaurant | The FDMSOmahaRestaurant component is used to perform Credit, Debit, or EBT card transactions in a Restaurant environment, where the customer is purchasing products or services in a restaurant. |
FDMSOmahaRetail | The FDMSOmahaRetail component is used to perform Credit, Debit, or EBT card transactions in a Retail environment, where the customer is purchasing products or services in person. |
FDMSRcBenefit | The FDMSRcBenefit component is used to authorize Electronic Benefits Transfer (EBT) transactions. An EBT transaction is similar to a Debit transaction, using a PIN and KSN, but is used for Food Stamp, Cash Benefit or eWIC programs. This component makes authorizing these types of transactions very easy. Supported Industry Types include retail stores and grocery or food stores. |
FDMSRcDebit | The FDMSRcDebit component is an advanced tool used to authorize debit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing debit card transactions with a customer PIN very easy. |
FDMSRcDetailRecord | The FDMSRcDetailRecord component is a tool used to create off-line Refund or Force/VoiceApproved transactions to be settled by the FDMSRcSettle component. The FDMSRcDetailRecord component may also be used to modify the XML aggregates returned by the FDMSRcRetail or FDMSRcECommerce component's GetDetailAggregate method. |
FDMSRcECommerce | The FDMSRcECommerce component is an advanced tool used to authorize credit cards in both Mail Order (Direct Marketing) and eCommerce environments, where the customer is ordering products or services via the telephone or Internet. This component makes authorizing these types of transactions very easy. |
FDMSRcHealthCare | The FDMSRcHealthCare component is an advanced tool used to authorize FSA/HSA cards for healthcare transactions in either a retail or e-commerce/moto environment. This component makes authorizing these types of transactions very easy. Supported Industry Types include retail stores, direct marketing (e-commerce and mail order/phone order) and grocery or food stores. |
FDMSRcRetail | The FDMSRcRetail component is an advanced tool used to authorize credit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing these types of transactions very easy. Supported Industry Types include retail stores and restaurants. |
FDMSRcSettle | The FDMSRcSettle component is used to do a Batch Settlement on all transactions that were successfully authorized with the FDMSRcECommerce or FDMSRcRetail components. |
FDMSRegister | The FDMSRegister component is a tool used to Register and Activate a merchant account with the Datawire VXN. This allows you to send transactions through the Datawire system to the First Data Merchant Services (FDMS) processor. This component is also used to find the appropriate URLs to which authorizations and settlements will be posted. |
FDMSRetail | The FDMSRetail component is an advanced tool used to authorize credit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing these types of transactions very easy. Supported Industry Types include retail stores, restaurants, and grocery or food stores. |
FDMSReversal | The FDMSREVERSAL component is used to reverse a transaction that was previously authorized using the FDMSRETAIL , FDMSECOMMERCE , or FDMSHEALTHCARE component. This immediately releases the funds in the cardholder's open-to-buy that were blocked by the original authorization. |
FDMSSettle | The FDMSSettle component is used to do a Batch Settlement on all transactions that were successfully authorized with the FDMSECOMMERCE or FDMSRETAIL components. This component may also send Level 2 and Level 3 Corporate Purchasing Card data for better interchange rates. |
GlobalBatchMgr | The GlobalBatchMgr component is used to manage your Global Transport account. It can be used to check the connection to the Server , verify your merchant setup, retrieve a summary of transactions in the current batch, and capture (settle) the current batch. |
GlobalBenefit | The GlobalBenefit component is used to authorize Electronic Benefits Transfer (EBT) transactions with the Global Payments system, using the Global Transport Direct API. This component is supported in the Retail and Restaurant environments, and allows for simple, direct, secure communication to the Global Transport gateway through a standard Internet connection. An EBT transaction is similar to a Debit transaction, using a PIN and Key Sequence Number (KSN), but is used for Food Stamp or Cash Benefit programs. |
GlobalCardValidator | The GlobalCardValidator component is used to verify with Global Payments that a given card number is formatted properly, and could be a valid card number. Validating a card before actually submitting a transaction for authorization can reduce the fees that may be associated with invalid or declined transactions. |
GlobalCharge | The GlobalCharge component is used to authorize credit card transactions with the Global Payments system, using the Global Transport Direct API. This component supports Direct Marketing, e-Commerce, Retail, and Restaurant environments, and allows for simple, direct, secure communication to the Global Transport TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
GlobalDebit | The GlobalDebit component is used to authorize debit card transactions with the Global Payments system, using the Global Transport Direct API. This component is supported in the Retail and Restaurant environments, and allows for simple, direct, secure communication to the Global Transport gateway through a standard Internet connection. This component can be integrated into Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application can be deployed without the need for expensive dedicated TLS/SSL servers. |
GlobalTransactionSearch | The GlobalTransactionSearch component is used to search for transactions made using the Global Transport Direct API. It can search for transactions in the open batch or in any previously closed batch. |
PTechBenefit | The PTechBenefit component is used to authorize Electronic Benefits Transfer (EBT) transactions with the Paymentech NetConnect system on the Tampa platform. An EBT transaction is similar to a Debit transaction, using a PIN and Trace number, but is used for Food Stamp or Cash Benefit programs. This component allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. |
PTechCanadianDebit | The PTechCanadianDebit component is used to authorize face-to-face Interac (Canadian) debit card transactions with the Paymentech NetConnect system on the Tampa platform. This component allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechCharge | The PTechCharge component is used to authorize credit card transactions with the Paymentech NetConnect system on the Tampa platform. This component supports Direct Marketing, e-Commerce, and Retail environments, and allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechDebit | The PTECHDEBIT component is used to complete debit card transactions with the Paymentech NetConnect system on the Tampa platform. This component supports only Retail, Restaurant, and Hotel environments, and allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechDetailRecord | The PTechDetailRecord component is a tool used to create off-line Credit or Force transactions to be settled by the PTECHMANUALSETTLE component. The PTDetailRecord component may also be used to modify the XML aggregates returned by the PTECHCHARGE component's GetDetailAggregate method. |
PTechECommerce | The PTECHECOMMERCE component is an advanced tool used to authorize credit card transactions in both Direct Marketing and E-Commerce environments with the Paymentech NetConnect system on the Tampa platform. It allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechGiftCard | The PTechGiftCard component is used to manipulate funds on Stored Value (Gift) Cards with the Paymentech NetConnect system on the Tampa platform. This component supports card-present gift card transactions, and allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand- alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechHealthCare | The PTECHHEALTHCARE component is designed to be a simple interface for those wishing to add Healthcare Auto- Substantiation (IIAS) support without redesigning their entire payment system. This component can be used for the Retail, Direct Marketing, and E-Commerce IndustryType s. It allows for simple, direct, secure communication to the Paymentech NetConnect (Tampa platform) TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechHostSettle | The PTechHostSettle component is used to manually settle an open Batch with the Paymentech NetConnect system on the Tampa platform. This component supports Direct Marketing, e-Commerce, and Retail environments, and allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechHotel | The PTECHHOTEL component is used to authorize credit card transactions for the Hotel IndustryType with the Paymentech NetConnect system on the Tampa platform. This component creates a simple interface for processing transactions in the Hotel environment. It allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechManualSettle | The PTechManualSettle component is used to do a Batch Settlement on all transactions that were successfully authorized with the PTECHCHARGE component in Terminal Capture mode. |
PTechRetail | The PTECHRETAIL component is used to authorize face-to-face credit card transactions with the Paymentech NetConnect system on the Tampa platform. This component creates a simple interface for processing transactions in the Retail and Restaurant environments. It allows for simple, direct, secure communication to the Paymentech TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
PTechReversal | The PTECHREVERSAL component is used to reverse a transaction that was previously authorized with the Paymentech NetConnect system on the Tampa platform. This immediately releases the funds in the cardholder's open-to-buy that were blocked by the original authorization. |
TSYSBenefit | The TSYSBenefit component is an advanced tool used to authorize Electronic Benefits (EBT) cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing EBT Food Stamp and Cash Benefit transactions (with a customer PIN) very easy. Supported Industry Types include retail stores, restaurants, and grocery stores. |
TSYSDebit | The TSYSDebit component is an advanced tool used to authorize debit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing debit card transactions with a customer PIN very easy. Supported Industry Types include retail stores, restaurants, and grocery stores. |
TSYSDetailRecord | The TSYSDetailRecord component is a tool used to create off-line Credit or Force transactions to be settled by the TSYSSETTLE component. The TSYSDetailRecord component may also be used to modify the XML aggregates returned by the TSYSRETAIL or TSYSECOMMERCE component's GetDetailAggregate method. |
TSYSECommerce | The TSYSECommerce component is an advanced tool used to authorize credit cards in both Mail Order (Direct Marketing) and eCommerce environments, where the customer is ordering products or services via the telephone or Internet. This component makes authorizing these types of transactions very easy. |
TSYSGiftCard | The TSYSGiftCard component is used to manipulate funds on Gift and Prepaid Cards using the Vital/TSYS payment system. This component supports card-present gift card transactions, and allows for simple, direct, secure communication to the Vital/TSYS TLS/SSL gateway through a standard Internet connection. This component can be integrated into web pages or stand- alone Point Of Sale applications. Because all TLS/SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated TLS/SSL servers. |
TSYSHCAdjustment | The TSYSHCAdjustment component is used to adjust a previously authorized transaction. This component makes adjusting transactions very easy. |
TSYSHCBatchMgr | The TSYSHCBatchMgr component is used to manually close batches as well as retrieve details and summaries about batches. This component makes closing batches very easy. |
TSYSHCBenefit | The TSYSHCBenefit component is used to authorize Electronic Benefits (EBT) cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing EBT Food Stamp and Cash Benefit transactions (with a customer PIN) very easy. |
TSYSHCDebit | The TSYSHCDebit component is used to authorize debit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing debit card transactions with a customer PIN very easy. |
TSYSHCECommerce | The TSYSHCECommerce component is used to authorize credit cards in both Mail Order (Direct Marketing) and eCommerce environments, where the customer is ordering products or services via the telephone or Internet. This component makes authorizing these types of transactions very easy. |
TSYSHCLevel3 | The TSYSHCLevel3 component is used to add Level 3 data to a previously authorized transaction. This component makes adding Level 3 data very easy. |
TSYSHCRetail | The TSYSHCRetail component is used to authorize credit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing these types of transactions very easy. |
TSYSHCReversal | The TSYSHCReversal component is used to reverse a previously authorized transaction. This component makes reversing transactions very easy. |
TSYSHCTerminalMgr | The TSYSHCTerminalMgr component is used to authenticate and deactivate POS devices on the TSYS Host Capture System. This component makes authenticating and deactivating POS devices very easy. |
TSYSHCTransactionDetails | The TSYSHCTransactionDetails component is used to retrieve details about authorized transactions. This component makes retrieving transaction details very easy. |
TSYSHealthCare | The TSYSHEALTHCARE component is designed to be a simple interface for those wishing to add Healthcare Auto- Substantiation (IIAS) support without redesigning their entire payment system. This component is used to authorize FSA cards in a Retail environment, where the customer is purchasing products or services in person. Both full and partial authorizations are supported. |
TSYSLevel2 | The TSYSLevel2 component is a tool used to create Level2 Corporate Purchasing Card addendum aggregates, which can then be passed to the TSYSSETTLE component and settled. |
TSYSLevel3 | The TSYSLevel3 component is a tool used to create Level3 Corporate Purchasing Card addendum aggregates, which can then be passed to the TSYSSETTLE component and settled. |
TSYSRetail | The TSYSRetail component is an advanced tool used to authorize credit cards in a Retail environment, where the customer is purchasing products or services in person. This component makes authorizing these types of transactions very easy. Supported Industry Types include retail stores, restaurants, grocery or food stores, Hotels, Auto Rental businesses and Passenger Transport. |
TSYSReversal | The TSYSReversal component is used to reverse transactions that were previously authorized using the TSYSRETAIL , TSYSECOMMERCE , or TSYSHEALTHCARE components. |
TSYSSettle | The TSYSSettle component is used to do a Batch Settlement on all transactions that were successfully authorized with the TSYSECOMMERCE or TSYSRETAIL components. This component may also send Level II and Level III Corporate Purchasing Card data for better interchange rates. |
TSYSTerminalMgr | The TSYSTerminalMgr component is used to authenticate and deactivate POS devices on the TSYS Terminal Capture platform. |
Additional Information
You will always find the latest information about 4D Payments SDK at our web site: www.4dpayments.com. We offer free, fully-functional 30-day trials for all of our products, and our technical support staff are happy to answer any questions you may have during your evaluation.
Please direct all technical questions to support@4dpayments.com. To help support technicians assist you as quickly as possible, please provide an detailed and accurate description of your problem, the results you expected, and the results that you received while using our product. For questions about licensing and pricing, and all other general inquiries, please contact sales@4dpayments.com.
Thank You!
Thank you for choosing 4D Payments SDK for your development needs. We realize that you have a choice among development tools, and that by choosing us you are counting on us to be a key component in your business. We work around the clock to provide you with ongoing enhancements, support, and innovative products; and we will always do our best to exceed your expectations!
PA-DSS Implementation Overview
PA-DSS stands for Payment Application Data Security Standard. PA-DSS is managed by the PCI Security Standards Council. Any payment application that is sold, distributed, or licensed to third parties are subject to the PA-DSS requirements. The key to this program is the PCI DSS, or "Payment Card Industry Data Security Standard." This standard describes how a merchant is to secure electronic data, physical servers, hard drives, employee access to data, and more.
For an entity (merchant, service provider, etc) to be PCI compliant, the application used to authorize credit cards and store customer data must conform to these Payment Application Data Security Standards.
This application is designed to be used to support another application. It can be used to create a PA-DSS compliant secure payment application. This documentation is intended for developers of payment applications to give you instructions on how to implement this application in such a way that it will meet PA-DSS and PCI requirements.
IMPORTANT: You must write your own implementation guide to be supplied with your product to your customers. This guide should not be distributed to your customers (end users), only your implementation guide that you create should be supplied.
All official updates to this product must be obtained from our website at a URL provided by our support staff or via our download page at https://4dpayments.com/download/. To verify that the build is an official build, right click the setup file (setup.exe) and choose properties. From this window select the Digital Signature tab and press the Details button to view details about the digital signature. The text "This digital signature is OK." should be present in this dialog window.
Installation
When installing this product the installer will create files on disk at the location specified during the setup. The default installation location is under a folder at "C:\Program Files\4D Payments". The files written include help files, demos, the uninstall program, and the application itself. Additionally during installation on windows machines a registry key is added under "HKEY_LOCAL_MACHINE/SOFTWARE/DPayments/RT" to hold the license.
Sensitive Authentication Data
This application does not store any authentication data, and has not done so in previous versions. As a result there is no sensitive authentication to delete from previous versions. If your application stores sensitive authentication data you must be sure it is properly deleted. Sensitive authentication data is not required for troubleshooting this product. If sensitive authentication data is received by our support staff it is immediately and permanently deleted. If you or your customer obtain sensitive authentication data as a result of troubleshooting the following rules must be followed:
- Sensitive authentication data (pre-authorization) must only be collected to solve a specific problem
- The data must be stored in a known, specific location with limited access.
- Limit the amount of data to only the amount necessary to solve the issue.
- Sensitive authentication data MUST be encrypted while stored.
- The data must be deleted immediately after it is no longer needed.
If your application stores any cardholder data it must be purged after the customer-defined retention period. It must be stored on servers that are NOT connected to the Internet. You must also document all locations where the data is stored. This application does not store any cardholder data, therefore there are no locations to disclose.
The system on which the application runs must be configured to prevent accidental exposure of sensitive cardholder information. In Windows this includes disabling system backup and restore to prevent inadvertent storage of cardholder data. Additionally the Windows paging file (pagefile.sys) should be cleared during shutdown to prevent unsecured data from being written to disk. In non-Windows systems the swap space should be cleared. To further protect cardholder data in both Windows and non-Windows systems the swap space, or the entire disk, may be encrypted. Any crash dumps from the application may contain cardholder data and must be encrypted if stored.
Cryptographic Keys
Cryptographic keys are used to encrypt cardholder data for storage. This application does not store any cardholder data, as such there are no keys to protect. No previous versions of this application have stored cardholder data, so there were no cryptographic keys in previous versions either.
If your application stores cardholder data you must protect the keys used to encrypt it against disclosure and misuse. Restrict access to the keys to the fewest number of custodians. Store the keys in the fewest possible locations and in the fewest possible forms. You must implement key management procedures to protect the keys (See Appendix B at the bottom of this document). A sample key custodian form can be found here: https://4dpayments.com/wp-content/docs/Sample_Key_Custodian_Form.pdf. If previous versions of your application stored cryptographic key material it must be rendered irretrievable.
Controlling User Ids and Authentication
This application does not provide any account management or authentication options. This application does not use any accounts. If your application allows authentication and provides accounts, you must use unique user IDs and secure authentication for administrative access and access to cardholder data. Secure authentication should be assigned to any default account, even if they are not used. Default accounts should be disabled and should not be used. Access to PCs, servers, and databases with payment applications must also be secured. Access to PCs, servers, and databases with payment applications must be secured by the completion of installation and for any changes after installation. See Appendix A at the bottom of this document for more details.
Logging
This application does not perform any administrative function that are required to be logged. It is your responsibility to implement logging in your application to meet the requirements for PA-DSS validation. You must implement and maintain automated audit trails. Automated audit trails must be implemented for all system components to reconstruct the following events:
- All individual accesses to cardholder data
- All actions taken by any individual with root or administrative privileges
- Access to all audit trails
- Invalid logical access attempts
- Use of identification and authentication mechanisms
- Initialization of the application audit logs
- Creation and deletion of system-level objects
- User identification
- Type of event
- Date and time
- Success or failure indication
- Origination of event
- Identity or name of affected data, system component, or resource
You must also establish and maintain centralized logging. Examples of this functionality may include, but are not limited to:
- Logging via industry standard log file mechanisms such as Common Log File System (CLFS), Syslog, delimited text, etc.
- Provided functionality and documentation to convert the application's proprietary log format into industry standard log formats suitable for centralized logging.
Secure Protocols and Transmission
All communication performed by this product will be performed over SSL. The SSLCipherStrength configuration setting may be specified to force a minimum cipher strength. It is strongly recommended that this be set to a value of 128 to ensure at least 128 bit SSL is used. The SSLStatus event will fire with information about the negotiated SSL parameters which may be inspected to verify the connection was established securely.
In Windows this application relies on the Microsoft CryptoAPI to perform cryptographic functions. In other environments (Mac and Linux) this application relies on OpenSSL to perform cryptographic functions. This application does not have any other dependencies on any services, software, components, or hardware.
Wireless and Public Networks
If the application is used on a wireless or public network the transmission must be properly secured. You must:
- Change wireless vendor defaults, including default wireless encryption keys, passwords for access points, and SNMP community strings
- Change encryption keys anytime anyone with knowledge of the keys leaves the company or changes positions in the company.
- Update firmware on wireless devices to support strong encryption for authentication and transmission.
- Install a firewall between any wireless networks and systems that store cardholder data
- Configure the firewall to deny or control (if such traffic is necessary for business purposes) any traffic from the wireless environment into the cardholder data environment
- NOT use WEP as a security control
- Use industry best practices (for example, IEEE 802.11i) to implement strong encryption for authentication and transmission of cardholder data
Remote Access
This application does not allow remote access in any form. If your application may be accessed remotely, then remote access must be authenticated using a two-factor authentication mechanism. Two-factor authentication consists of a user ID and password and an additional authentication item such as a smart card, token, or PIN). Two forms of one-factor authentication are not sufficient. Examples of two-factor authentication include RADIUS with tokens, or TACAS with tokens.
This application does not deliver remote updates. If your application delivers remote updates via remote access into the customers' systems, instruct the customers to turn on remote-access technologies only when needed for downloads. The technologies must be turned off immediately after download completes. Alternatively, if updates are delivered via VPN or other high-speed connections, instruct customers to properly configure a firewall or a personal firewall product to secure "always-on" connections. The following actions must be taken:
- Establish firewall and router configuration standards that include:
- A formal process for approving and testing all network connections and changes to the firewall and router configurations.
- Current network diagram with all connections to cardholder data, including any wireless networks.
- Requirements for a firewall at each Internet connection and between any demilitarized zone (DMZ) and the internal network zone.
- Description of groups, roles, and responsibilities for logical management of network components.
- Documentation and business justification for use of all services, protocols, and ports allowed, including documentation of security features implemented for those protocols considered to be insecure. Examples of insecure services, protocols, or ports include but are not limited to FTP, Telnet, POP3, IMAP, and SNMP.
- Requirement to review firewall and router rule sets at least every six months.
- Build firewall and router configurations that restrict connections between untrusted networks and any system components in the cardholder data environment. An "untrusted network" is any network that is external to the networks belonging to the entity under review, and/or which is out of the entity's ability to control or manage.
- Restrict inbound and outbound traffic to that which is necessary for the cardholder data environment.
- Secure and synchronize router configuration files.
- Install perimeter firewall between any wireless networks and the cardholder data environment, and configure these firewall to deny or control (if such traffic is necessary for business purposes) any traffic from the wireless environment into the cardholder data environment.
- Prohibit direct public access between the Internet and any system component in the cardholder data environment.
- Implement a DMZ to limit inbound traffic to only system components that provide authorized publicly accessible services, protocols, and ports.
- Limit inbound Internet traffic to IP addresses within the DMZ.
- Do not allow any direct connections between the Internet and the cardholder data environment.
- Do not allow internal addresses to pass from the Internet into the DMZ.
- Do not allow unauthorized outbound traffic from the cardholder data environment to the Internet.
- Implement stateful inspection, also known as dynamic packet filtering. That is, only "established" connections are allowed into the network.
- Place system components that store cardholder data (such as a database) in an internal network zone, segregated from the DMZ and other untrusted networks.
- Do not disclose private IP addresses and routing information to unauthorized parties. Methods to obscure IP addressing may include, but are not limited to:
- Network Address Translation (NAT)
- Placing servers containing cardholder data behind proxy servers/firewalls or content caches
- Removal of filtering of route advertisements for private networks that employ registered addressing
- Internal use of RFC1918 address space instead of registered addresses.
- Install personal firewall software on any mobile and/or employee-owned computers with direct connectivity to the Internet (for example, laptops used by employees), which are used to access the organization's network.
If your application can be accessed remotely, the remote access must be implemented securely. Examples of remote access security features include:
- Change default settings in the remote access software (for example, change default password and use unique passwords for each customer).
- Allow connections only from specific (known) IP/MAC addresses.
- Use strong authentication and complex passwords for logins. See "Appendix A - Unique UserIDs and Secure Authentication".
- Enable encrypted data transmission. Instruct customers to encrypt all non-console administrative access with strong cryptography, using technologies such as SSH, VPN, or SSL/TSLS for web-based management and other non-console administrative access. Telnet or rlogin must never be used for administrative access.
- Enable account lockout after not more than six failed login attempts.
- Configure the system so a remote user must establish a Virtual Private Network (VPN) connection via a firewall before access is allowed.
- Enable the logging function.
- Restrict access to customer passwords to authorized reseller/integrator personnel.
- Establish strong and complex customer passwords. See "Appendix A - Unique UserIDs and Secure Authentication".
This application does not have an administrative interface, therefore encrypting non-console administrative access is not a concern. If your application does have an administrative interface non-console administrative access must be encrypted with strong cryptography, using technologies such as SSH, VPN, or SSL/TSLS for web-based management and other non-console administrative access. Telnet or rlogin must never be used for administrative access.
Messaging
This application does not support messaging. If your application supports messaging encrypt all PANs sent with end-user messaging technologies (for example, e-mail, instant messaging, chat). A solution must be in place that renders the PAN unreadable or implements strong cryptography to encrypt the PANs. Never send unprotected PANs by end-user messaging technologies (for example, e-mail, instant messaging, chat, etc.).
Appendix A - Unique UserIDs and Secure Authentication:
The following guidelines must be adhered to.
- All users must be assigned a unique ID before being allowed to access the system components or cardholder data.
- At least one of the following methods must be used to authenticate all users.
- Something you know, such as a passphrase.
- Something you have, such as a token device or smart card.
- Something you are, such as a biometric.
- The application must not require or use any group, shared, or generic accounts and passwords.
- The application must require changes to user passwords at least every 90 days.
- The application must require a minimum password length of at least seven characters.
- The application must require that passwords contain both numeric and alphabetic characters.
- The application must keep password history and requires that any new password is different than any of the last four passwords used.
- The application limits repeated access attempts by locking out the user account after not more than six logon attempts.
- The application must set the lockout duration to a minimum of 30 minutes or until the administrator enabled the user ID.
- If an existing session has been idle for more than 15 minutes, the application must require the user to re-authenticate to re-activate the session.
Appendix B - Key management Procedures:
Companies that use payment applications must have key management procedures that cover the points listed below. The following requirements and procedures must be addressed:
- The encryption algorithm used must be an industry recognized algorithm (proprietary in-house algorithms are not allowed).
- Generation of strong keys (minimum 128-bit key length)
- Secure key distribution
- Secure key storage
- Periodic changing of keys (as deemed necessary, but at least annually)
- Destruction of old keys
- Replacement of known or suspected compromised keys
- Revocation of old or invalid keys
- Split knowledge and establishment of dual control of keys so that it requires two or three people, each knowing only their part of the key, to reconstruct the whole key)
- Prevention of unauthorized substitution of keys
- Requirement for key custodians to sign a form stating that they understand and accept their key-custodian responsibilities.
Basic Credit Card Information
A credit card number consists of anywhere between 12 and 19 digits (depending upon the credit card type). The first six digits of a credit card number are known as the Issuer Identification Number (IIN) or Bank Identification Number (BIN), which is used to identify which organization issued the card along with other information. The remaining digits make up the account identifier/number with the exception of the last digit, which is the checksum digit used to validate the card number via the LUHN formula.
With the IIN/BIN, one can identify the card type (i.e. Visa, MasterCard, etc.), card level (i.e. business or purchasing card), along with issuer details (such as bank and country). The only type of card information able to be obtained by directly viewing the card number is the card type, as card brands are all assigned the same starting digits (i.e. all Visa cards start with a 4). Therefore the CardValidator component is only able to determine the CardType (along with validating the card number via the LUHN formula and verifying the Expiration Date). The remaining digits of the IIN/BIN are not specifically assigned (based on a formula) for a card issuer or level. Thus we cannot determine this information. However all this information is stored within IIN/BIN databases. There are multiple databases available but often require some sort of subscription to access the data. These are very helpful resources in the case that you need to determine if the card is a commercial card and sending Level2 and Level3 data (which is often associated with lower interchange fees).
Authorization Source Codes
This page lists authorization source codes. This information is not applicable to all processors.
TSYS
This is a list of possible ResponseAuthSource codes. These codes indicate the source of the ResponseApprovalCode.
Code | Description |
6 | Off-line approval: POS device generated. |
7 | Acquirer approval. |
9 | Use for non-authorized transactions; such as credit card credits |
B | Response provided by Visa Transaction Advisor Service. |
E | Off-line approval: authorization code manually keyed. |
F | CAFIS-generated response: Post-Auth.* |
G | Issuer Approval: Post-Auth.* |
H | Exceeds acquirer settlement risk exposure cap. |
N | No authorization required: Below floor limit |
L | Late clearing - authorization previously obtained (clearing beyond 30 days) |
V | Authorization obtained via VisaNet (Issuer or STIP response) |
Space | Default value, if acquirer cannot define it (MC, D, AX) |
Paymentech
This is a list of possible ResponseAuthSource codes. These codes indicate the source of the ResponseApprovalCode.
Code | Description |
1 | STIP (Stand-In Processing): time-out response. |
2 | STIP: amount below issuer limit. |
3 | STIP: issuer in Suppress Inquiry mode. |
4 | STIP: issuer unavailable. |
5 | Issuer generated response. |
6 | Off-line approval: POS device generated. |
7 | Acquirer approval: Base I unavailable. |
8 | Acquirer approval of a referral. |
9 | Use for non-authorized transactions; such as credit card credits. |
D | Referral: authorization code manually keyed. |
E | Off-line approval: authorization code manually keyed. |
F | CAFIS Interface Off-Line Post-Auth.* |
G | Issuer Approval: Post-Auth.* |
T | Advice of a Telcode File change initiated by the VisaPhone Issuer Direct Service. |
AVS Result Codes
This page lists AVS result codes.
TSYS
This is a list of possible ResponseAVSResult codes.
Code | Description |
0 | Approved/Declined - Address verification was not requested or it was requested but the transaction was declined (Visa, MC, Amex, Discover). |
A | Address Match - CustomerAddress matches, CustomerZip does not, or the request does not include the CustomerZip (Visa, Amex, Discover). |
I* | Ver Unavailable - Address information not verified (Discover). |
N | No match - Transaction contained postal/ZIP code only, or street address only, or postal code and street address. Also used when transaction requests AVS but sends no AVS data (Visa, MC, Amex, Discover). |
R | Retry - System unable to process (Visa, MC, Amex, Discover). |
S | Serv Unavailable - Service not supported (MC, Amex, Discover). |
U | Ver Unavailable - No data from Issuer/Authorization platform (Visa, MC, Amex, Discover). |
W | Zip Match - Nine character CustomerZip matches, CustomerAddress does not (MC, Discover). |
X | Exact Match - Nine character CustomerZip and CustomerAddress match (MC, Discover). |
Y | Exact Match - CustomerZip and CustomerAddress match (Visa, MC, Amex, Discover). |
Z | Zip Match - CustomerZip matches; CustomerAddress does not match or street address not included in the request (Visa, MC, Amex, Discover). |
1 | APPROVAL - Cardholder name and ZIP match (Amex only). |
2 | APPROVAL - Cardholder name, address, and ZIP match (Amex only). |
3 | APPROVAL - Cardholder name, address match (Amex only). |
4 | APPROVAL - Cardholder name matches (Amex only). |
5 | APPROVAL - Cardholder name incorrect, ZIP matches (Amex only). |
6 | APPROVAL - Cardholder name incorrect, address and ZIP match (Amex only). |
7 | APPROVAL - Cardholder name incorrect, address matches (Amex only). |
8 | NO MATCH - Cardholder name, address, and ZIP do not match (Amex only). |
*AVS Result Code for International addresses only
Paymentech
This is a list of possible ResponseAVSResult codes.
Code | Description |
0 | Address verification was not requested. |
A | CustomerAddress matches, CustomerZip does not. |
E | AVS error / Ineligible (not a mail/phone order). |
G | Ver Unavailable - Non-US Issuer does not participate. |
I | Ver Unavailable - Address information not verified for international transaction. |
M | Exact Match - CustomerAddress match for international transaction. |
N | No match on CustomerAddress or CustomerZip. |
R | Retry - Issuer system unavailable. |
S | Service not supported by issuer. |
U | Address information is unavailable. |
W | Nine digit CustomerZip matches, CustomerAddress does not. |
X | Exact AVS match, nine digit CustomerZip. |
Y | Exact AVS match, five digit CustomerZip. |
Z | Five digit CustomerZip matches, CustomerAddress does not. |
If supporting international transactions, six additional International Address Verification Service (IAVS) codes are introduced:
B | Street address match for international transaction. Postal code not verified due to incompatible formats (acquirer sent both street address and postal code). |
C | Street address and postal code not verified for international transaction due to incompatible formats (acquirer sent both street address and postal code). |
D | Street addresses and postal codes match for international transaction. |
I | Address information not verified for international transaction. |
M | Street addresses and postal codes match for international transaction. |
P | Postal codes match for international transaction. Street address not verified due to incompatible formats (acquirer sent both street address and postal code). |
FDMS
This is a list of possible ResponseAVSResult codes.
Code | Description |
A | Street address matches, ZIP does not. |
B | Street address matches. Postal code not verified due to incompatible formats (acquirer sent both street address and postal code). |
C | Street address and postal code not verified due to incompatible formats (acquirer sent both street address and postal code). |
D | Street address and postal code match. |
F | Street address and postal code match. (U.K. only) |
G | Address information not verified for international transaction. (Non-US Issuer does not participate) |
I | Address information not verified. |
M | Street address and postal code match. |
N | No match. Transaction contained postal/ZIP code only, or street address only, or both postal code and street address. Also used when transaction requests AVS, but sends no AVS data. |
P | Postal code matches. Postal code and street address were sent but street address not verified due to incompatible formats. |
R | Retry - Issuer system unavailable. |
S | Service not supported by issuer. |
U | Address information is unavailable. |
W | Not applicable. |
Y | Street address and postal code match. |
Z | Postal/ZIP matches; street address does not match or street address not included in the request. |
If supporting international transactions, four additional International Address Verification Service (IAVS) codes are introduced:
D | Street addresses and postal codes match for international transaction. |
I | Address information not verified for international transaction. |
M | Street addresses and postal codes match for international transaction. |
P | Postal codes match for international transaction. Street address not verified due to incompatible formats (acquirer sent both street address and postal code). |
Global Payments
This is a list of possible ResponseAVSResultCode codes.
X | Exact: Address and nine-digit Zip match. |
Y | Yes: Address and five-digit Zip match. |
A | Address: Address matches, Zip does not. |
Z | 5-digit Zip: 5-digit Zip matches, address doesn't. |
W | Whole Zip: 9-digit Zip matches, address doesn't. |
N | No: Neither address nor Zip matches. |
U | Unavailable: Address information not available. |
G | Unavailable: Address information not available for international transaction. |
R | Retry: System unavailable or time-out. |
E | Error: Transaction unintelligible for AVS or edit error found in the message that prevents AVS from being performed. |
S | Not Supported: Issuer doesn't support AVS service. |
B | * Street Match: Street addresses match for international transaction, but postal code doesn't. |
C | * Street Address: Street addresses and postal code not verified for international transaction. |
D | * Match: Street addresses and postal codes match for international transaction. |
I | * Not Verified: Address Information not verified for International transaction. |
M | * Match: Street addresses and postal codes match for international transaction. |
P | * Postal Match: Postal codes match for international transaction, but street address doesn't. |
0 | ** No response sent. |
5 | Invalid AVS response. |
* These values are Visa specific.
** These values are returned by the Global Transport Gateway and not the issuing bank.
Response Codes
This page lists response codes.
TSYS
The following is a list of possible ResponseCode, and ResponseText that may be returned by the TSYS server.
Response Code | Response Text | Definition |
00 | "APPROVAL" | Approved and completed. |
01 | "CALL" | Refer to issuer. |
02 | "CALL" | Refer to issuer - Special condition. |
03 | "TERM ID ERROR" | Invalid Merchant ID. |
04 | "HOLD-CALL" | Pick up card (no fraud). |
05 | "DECLINE" | Do not honor. |
06 | "ERROR" | General error. |
07 | "HOLD-CALL" | Pick up card, special condition (fraud account). |
08 | "APPROVAL" | Honor MasterCard with ID. |
10 | "PARTIAL APPROVAL" | Partial approval for the authorized amount returned in Group III version 022. |
11 | "APPROVAL" | VIP approval. |
12 | "INVALID TRANS" | Invalid transaction. |
13 | "AMOUNT ERROR" | Invalid amount. |
14 | "CARD NO. ERROR" | Invalid card number. |
15 | "NO SUCH ISSUER" | No such issuer. |
19 | "RE ENTER" | Re-enter transaction. |
21 | "NO ACTION TAKEN" | Unable to back out transaction. |
25 | "NO CARD NUMBER" | Unable to locate the account number. |
28 | "NO REPLY" | File is temporarily unavailable. |
30 | "MSG FORMAT ERROR" | Transaction was improperly formatted |
39 | "NO CREDIT ACCT" | No credit account. |
41 | "HOLD-CALL" | Lost card, pick up (fraud account). |
43 | "HOLD-CALL" | Stolen card, pick up (fraud account). |
46 | "CLOSED ACCOUNT" | Closed account. |
51 | "DECLINE" | Insufficient funds. |
52 | "NO CHECK ACCOUNT" | No checking account. |
53 | "NO SAVE ACCOUNT" | No savings account. |
54 | "EXPIRED CARD" | Expired card. |
55 | "WRONG PIN" | Incorrect PIN. |
57 | "SERV NOT ALLOWED" | Transaction not permitted - Card. |
58 | "SERV NOT ALLOWED" | Transaction not permitted - Terminal. |
59 | "SUSPECTED FRAUD" | Suspected fraud. |
61 | "EXC APPR AMT LIM" | Exceeds approval amount limit. |
62 | "DECLINE" | Invalid service code, restricted. |
63 | "SEC VIOLATION" | Security violation. |
65 | "EXC W/D FREQ LIM" | Exceeds withdrawal frequency limit. |
6P | "VERIF DATA FAILD" | Verification data failed. |
75 | "PIN EXCEEDED" | Allowable number of PIN-entry tries exceeded. |
76 | "UNSOLIC REVERSAL" | Unable to locate, no match. |
77 | "NO ACTION TAKEN" | Inconsistent, reversed, or repeat data. |
78 | "NO ACCOUNT" | Blocked, first used transaction from new cardholder, and card not properly unblocked. |
79 | "ALREADY REVERSED" | Already reversed at switch. |
80 | "NO IMPACT" | No Financial impact (used in reversal responses to decline originals). |
81 | "ENCRYPTION ERROR" | Cryptographic error. |
82 | "INCORRECT CVV" | CVV data is not correct Or Offline PIN authentication interrupted. |
83 | "CANT VERIFY PIN" | Cannot verify PIN. |
85 | "CARD OK" | No reason to decline. |
86 | "CANT VERIFY PIN" | Cannot verify PIN. |
91 | "NO REPLY" | Issuer or switch is unavailable. |
92 | "INVALID ROUTING" | Destination not found. |
93 | "DECLINE" | Violation, cannot complete. |
94 | "DUPLICATE TRANS" | Unable to locate, no match. |
96 | "SYSTEM ERROR" | System malfunction. |
A1 | "ACTIVATED" | POS device authentication successful. |
A2 | "NOT ACTIVATED" | POS device authentication not successful. |
A3 | "DEACTIVATED" | POS device deactivation successful. |
B1 | "SRCHG NOT ALLOWD" | Surcharge amount not permitted on debit cards or EBT food stamps. |
B2 | "SRCHG NOT ALLOWD" | Surcharge amount not supported by debit network issuer. |
CV | "FAILURE CV" | Card Type Verification Error. |
D3 | "SECUR CRYPT FAIL" | Transaction failure due to missing or invalid 3D-Secure cryptogram. |
E1 | "ENCR NOT CONFIGD" | Encryption is not configured. |
E2 | "TERM NOT AUTHENT" | Terminal is not authenticated. |
E3 | "DECRYPT FAILURE" | Data could not be decrypted. |
EA | "ACCT LENGTH ERR" | Verification error. |
EB | "CHECK DIGIT ERR" | Verification error. |
EC | "CID FORMAT ERROR" | Verification error. |
H1-H9 | "SERV NOT ALLOWED" | Contact Merchant Services/Technical Support. |
HV | "FAILURE HV" | Hierarchy Verification Error. |
K0 | "TOKEN RESPONSE" | Token request was processed. |
K1 | "TOKEN NOT CONFIG" | Tokenization is not configured. |
K2 | "TERM NOT AUTHENT" | Terminal is not authenticated. |
K3 | "TOKEN FAILURE" | Data could not be de-tokenized. |
M0 | "DOM DBT NOT ALWD" | Mastercard: Canada region-issued Domestic Debit Transaction not allowed. |
N3 | "CASHBACK NOT AVL" | Cashback service not available. |
N4 | "DECLINE" | Exceeds issuer withdrawal limit. |
N7 | "CVV2 MISMATCH" | CVV2 value supplied is invalid. |
P0-P6 | "SERV NOT ALLOWED" | Contact Merchant Services/Technical Support. |
P7 | "MISSING SERIAL NUM" | The terminal has not yet completed the boarding process. The Serial Number has not been set up. |
Q1 | "CARD AUTH FAIL" | Card authentication failed. |
R0 | "STOP RECURRING" | Customer requested stop of specific recurring payment. |
R1 | "STOP RECURRING" | Customer requested stop of all recurring payments from specific merchant. |
R3 | "STOP ALL RECUR" | All recurring payments have been canceled for the card number in the request. |
S0 | "INACTIVE CARD" | The PAN used in the transaction is inactive. |
S1 | "MOD 10 FAIL" | The Mod-10 check failed. |
S5 | "DCLN NO PRE AUTH" | Decline - no preauthorization found. |
S9 | "MAX BALANCE" | Maximum working balance exceeded. |
SA | "SHUT DOWN" | The Authorization Server is shut down. |
SB | "INVALID STATUS" | Invalid card status - status is other than active. |
SC | "UNKNOWN STORE" | Unknown dealer/store code - special edit. |
SD | "TOO MANY RCHRGS" | Maximum number of recharges is exceeded. |
SE | "ALREADY USED" | Card was already used. |
SF | "NOT MANUAL" | Manual transactions not allowed. |
SH | "TYPE UNKNOWN" | Transaction type was unknown. |
SJ | "INVALID TENDER" | An invalid tender type was submitted. |
SK | "CUSTOMER TYPE" | An invalid customer type was submitted. |
SL | "PIN LOCKED" | PIN was locked. |
SM | "MAX REDEMPTS" | The maximum number of redemptions was exceeded. |
SP | "MAX PAN TRIES" | The maximum number of PAN tries was exceeded. |
SR | "ALREADY ISSUED" | The card was already issued. |
SS | "NOT ISSUED" | The card was not issued. |
T0 | "APPROVAL" | First check is OK and has been converted. |
T1 | "CANNOT CONVERT" | The check is OK but cannot be converted. This is a declined transaction. |
T2 | "INVALID ABA" | Invalid ABA number, not an ACH participant. |
T3 | "AMOUNT ERROR" | Amount greater than the limit. |
V1 | "FAILURE VM" | Daily threshold exceeded. |
TSYSTerminalMgr
The following is a list of ResponseCode values that may be returned by the TSYS server when using TSYSTerminalMgr.
Response Code | Definition |
A1 | The device was authenticated. |
A2 | The device was not authenticated. |
A3 | The device was deactivated. |
Paymentech Server Errors:
The following is a list of error codes which may be returned by the Paymentech Server. In the case of a server-side error condition, the ResponseCode property will contain "E", the error code will be contained in the ResponseApprovalCode property, and the description in ResponseText
Paymentech Issuer Errors
ResponseApprovalCode | ResponseText | Description |
200 | Auth Declined | Cardholder's bank did not approve transaction. |
201 | Call Voice Oper | Authorizer needs more information for approval. |
202 | Hold - Call | Card issuer does not want that card used. Call for further instructions. |
203 | Call Voice Oper | Authorizer didn't respond within allotted time. |
204 | Invalid Card No | Account #/mag stripe is invalid. |
205 | Invalid Exp. Date | Expiration date is either incorrect format or prior to today. |
206 | Invalid ICA No | Invalid International Control Account number. |
207 | Invalid ABA No | Invalid American Banking Association number. |
208 | Invalid PIN No | The Personal ID Number for a debit transaction is incorrect. |
209 | Invalid Bank MID | The Bank Merchant ID is incorrect. |
210 | Invalid Term No | The merchant ID is not valid or active. |
211 | Invalid Amount | Amount is either: equal to 0, has no decimal, has decimal in wrong place, or has multiple decimals. |
213 | Invalid Tran Fmt | The transaction format isn't valid, typically invalid SIC code |
214 | Call Voice Oper | Authorization center cannot be reached. |
215 | Lost/Stolen Card | Card has been reported lost or stolen. |
216 | Invalid PIN | Personal ID code is incorrect. |
217 | Over Credit Flr | Amount requested exceeds credit limit. |
218 | Request Denied | Transaction is not valid for this authorizer. |
220 | Not Online to XX | Fatal communications error. |
221 | Auth Down-Retry | Debit authorizer temporarily unavailable. |
222 | Auth Declined | Vehicle not found in positive file. |
223 | Invalid Pin No | Driver # not found in positive file. |
224 | Auth Declined | Card is on private label negative file. |
225 | Card Not Allowed | Merchant does not accept this card. |
226 | PL Setup Reqd | Merchant not set up for Private Label. |
227 | BIN Not Allowed | Merchant cannot accept this Private Label BIN range. |
228 | Card Not Allowed | Merchant cannot accept this card. |
229 | Inv Merc Rstrct Code | Restriction code field contains invalid data. |
230 | Prod Restricted | Merchant attempted a product code not permitted by this merchant. |
231 | Prod Not On File | Merchant attempted a product code that does not exist on host. |
232 | Auth Declined | Invalid card type for Prior Auth sale. |
233 | Auth Declined | Terminal Type not supported. |
234 | Auth Declined | T&E card used for Sale when merchant only allows Auth Only. |
235 | *Request Denied* | Prior Auth selected with no Auth code provided. |
238 | Invalid Driver Number | The Driver Number entered is invalid. |
247 | PIN Not Selected | EBT recipient has not selected a PIN for this card. |
248 | Unmatch Vch Info | Voucher submitted does not match one previously issued. |
248 | CVC2/CID ERROR | CVC2 or CID entered was not valid for the card number. |
249 | Tran Not Defined | This type of transaction is not allowed for this type of card. |
257 | Block Act Not Alwd | The merchant.is not allowed to process Stored Value Block Activations |
258 | Incorrect Act Amt | The activation amount requested does not match the predenominated amount for the card. |
292 | Auth Down - Retry | Authorizer is not responding. |
293 | Auth Busy - Retry | Authorizer not available at this time. |
294 | Auth Busy - Retry | Authorizer not available at this time. |
297 | Auth Error - Retry | Authorizer not available at this time. |
298 | Err - Pls Retry | Debit authorizer experienced an error. |
299 | Err - Pls Retry | Debit authorizer experienced an error. |
Paymentech Format Errors
ResponseApprovalCode | ResponseText | Description |
300 | Invalid Term ID | The length of the merchant ID is incorrect or contains invalid data. |
301 | Invalid Function | Tran code is incorrect or wrong length. |
302 | Invalid Card | Mag stripe contains invalid data or account # is greater than 19 digits |
303 | Invalid Exp. Date | Card has expired, month was not 01-12 or year was not 00-99. |
304 | Invalid Action Code | Action code is longer than 1 digit. |
305 | Amt Entry Error | Amount less than .01 or greater than 99999.99 or contained non- numeric data. |
306 | Invalid PIN | Incorrect PIN block length. |
307 | Invalid Card | Invalid card type or account number. |
308 | Auth # Not Entered | Auth code was not entered on a Prior Auth, Incremental or Rev. |
309 | Invalid Down Pay Ind | Insurance down payment indicator is invalid. |
310 | Policy # Wrong Len | Insurance policy number is incorrect length. |
311 | Invalid Ind Code | Industry type must be RE or DM. |
312 | Invalid Function | Tran code is invalid or contains alpha data. |
313 | Entry Mode Invalid | POS Entry mode is less than 01 or greater than 04. |
314 | Invalid Industry Data | The Industry Specific field contains invalid data. |
315 | Inv Fleet Data | The Fleet Card field contains invalid data. |
316 | Invalid Sys Info | The System Information field contains invalid data. |
317 | Invalid Format | Payment Service indicator or Transaction ID is invalid. |
318 | Inv Transaction Class | Transaction class not "F" for financial transaction. |
319 | Inv PIN Capability | Pin capability code field contains invalid data. |
320 | Inv/Missing Retr Ref | Retrieval Reference # is missing or contains alpha data. |
321 | Inv MSDI | Market Specific Data field contains invalid data. |
322 | Invalid Duration | Market specific data field Duration is 00, blank or missing. |
323 | Inv Pref Cust Ind | Preferred Customer indicator contains invalid data. |
324 | Inv MO/TO Number | Mail/Telephone Order number is invalid (InvoiceNumber must have a value). |
325 | Inv Sale/Chg Des/Folio | Hotel Sale Code, Charge Descriptor or Folio contains invalid data. |
326 | Inv Mult Clr Seq No | Multiple Clearing sequence number is invalid. |
327 | Inv Purch Card Data | Purchasing card field contains invalid data. |
328 | Inv Input/Use VRU | Insurance transaction not from VRU. |
329 | Invalid EC Data 329 | Invalid Electronic Commerce Data. |
330 | INV Function or Multiple FS or Unknown TKN | Indicates system problem, notify Paymentech Network Services or Multiple field separators received without required data or A token of unknown definition was received |
331 | INV TKN Value | Invalid token value was received. |
332 | CVD Data Error | Error with the cardholder verification data received; invalid value or not allowable for this card for this transaction. |
333 | TKN Data Error | Indicates system problem, notify Paymentech Network Services. |
359 | Invalid Sequence Number | The SequenceNumber must be a number between 0 and 2400. |
Paymentech Host / Setup Errors
ResponseApprovalCode | ResponseText | Description |
400 | Invalid Term ID | Merchant ID not found in merchant file. |
401 | Invalid Term ID | Merchant ID not found in terminal file. |
402 | Term Not Active | Active flag for merchant set to "N". |
403 | Invalid Act Code | Merchant not set up for cash advance function. |
404 | Void Not Allowed | The transaction requested for voiding is not an EFT transaction. |
405 | Ref Num Not Found | Transaction requested for reversal not found. |
406 | Proc Error 7 | The host can't clear all transaction records for the requested Batch Release. |
407 | Too Many Batches | There are 999 open batches for this merchant. |
408 | Release Batch | Current batch has 999 records. Release batch before continuing. |
409 | Invalid Function | Debit transaction requested but debit flag is set to "N". |
410 | Invalid Term ID | The Terminal ID portion of the merchant ID is incorrect. |
411 | Invalid Term ID | The maximum retries for this merchant have been exceeded. |
412 | Proc Error 13 | Unable to read reference number file. |
413 | Proc Error 14 | 413 |
414 | Proc Error 15 | 414 |
415 | Invalid Function | 415 |
416 | Invalid Function | Merchant is Authorization Only and a debit record was sent. |
417 | Invalid Function | Private label flag is "N" but a private label account number was sent. |
418 | Please Try Again | Incorrect debit working key. |
419 | Invalid Function | Manually entered transactions are not allowed for this terminal ID. |
420 | Amount Too Large | Maximum sale amount exceeded. |
421 | Amount Too Large | Maximum return amount exceeded. |
422 | Invalid Term ID | Host couldn't read terminal file within specified time. |
423 | Proc Error 24 | Host couldn't read reference number file within specified time. |
424 | Invalid Term ID | Transaction open flag has been set to "Y" within prior 3 minutes. |
425 | Invalid Function | Cash management not allowed for this merchant ID. |
426 | Rev Not Allowed | Host found no batch number matching the one sent. |
427 | Rev Not Allowed | Host found no transactions meeting the specifications sent. |
428 | Dscv Not Allowed | Merchant not set up for Discover transactions. |
429 | Rev Not Allowed | The batch containing the transaction to void has been released. |
430 | Dscv Not Allowed | Merchant not set up for Discover. |
431 | DC Not Allowed | Merchant not set up for Diners Club. |
432 | CB Not Allowed | Merchant not set up for Carte Blanche. |
433 | Invalid Key | No AMEX subscriber number, process control ID or product code set up |
434 | Invalid Key | Future use. |
435 | Failed-Plz Call | Debit transaction being sent to an authorizer not set up on host file. |
436 | Failed-Plz Call | Debit security key does not exist on the security management file. |
437 | Failed-Plz Call | Failure occurred during encryption/decryption of PIN. |
438 | Failed-Plz Call | Error occurred while generating a debit working key. |
439 | Failed-Plz Call | The DB (debit) sponsor institution on the merchant file is not set up on sponsor file. |
440 | Failed-Plz Call | The network set up on the sponsoring bank file for this institution is not set up on the host's network file. |
441 | Failed-Plz Call | The host is unable to communicate with decryption device. |
442 | JCB Not Allowed | JCB CD flag on merchant record not set up for JCB transactions. |
443 | JCB Not Allowed | JCB subscriber number not set up for JCB transactions. |
444 | Bank Not On File | Debit BIN not set up for this merchant in routing table. |
445 | No Sponsor Inst | No valid sponsorship was found on Merchant record. |
446 | Failed Plz Call | Future use. |
447 | WX Not Allowed | Merchant not set up to accept WEX. |
448 | Amount Too Large | Amount exceeds maximum limit. |
449 | Reenter Odometer | Odometer was 000000 or contained non-numeric data. |
450 | Duplicate Tran | No ACK reversal was followed by a duplicate request |
451 | Tran Not Allowed | Requested transaction type is not allowed for this card/merchant. |
452 | Bat Already Rels | Batch has already been released. |
453 | Invalid Rtng Ind | Invalid Routing Indicator field. |
454 | AX Not Allowed | AMEX not allowed. |
999 | Invalid Merchant | Merchant number not on file. |
Paymentech Debit / EBT Specific Errors
ResponseApprovalCode | ResponseText | Description |
602 | Call Voice Op | Auth center cannot be reached. |
692 | Auth Down-Retry | Debit authorizer temporarily unavailable. |
693 | Auth Busy-Retry | Queue for debit authorizer too long. |
694 | Auth Busy-Retry | Debit authorizer not responding in time. |
Paymentech Batch Management Errors (use the ErrorCode configuration setting to retrieve this information from the PTechHostSettle class.
ErrorCode | ResponseText | Description |
105 | Invalid Term ID | Merchant ID on a Batch Inquiry or Release is incorrect. |
106 | Term Not Active | Active flag for the merchant ID is set to N. |
107 | No Transactions | A Batch Inquiry or Release was requested but no open batch exists. |
108 | Bat Already Rels | A second batch release was attempted. |
109 | Batch Not Found | Requested batch does not exist. |
FDMS North/Nashville
The ResponseCaptureFlag property indicates whether the transaction was successful. If True the transaction was successful. If False there was an error and the ResponseApprovalCode contains the error message.
Approval Code | Meaning |
CALL CARD CENTER | System problem. |
CVV2 DECLINED | Association indicated the transaction wasn't approved due to mismatch of the CVV2 value, but would have been approved had the CVV2 values matched. |
DECLINED | Decline the sale. |
EXPIRED CARD | Card is expired. |
HOLD - CALL CTR | Problem with card. |
INV ACCT NUM | Invalid card number or prefix. |
INV CREDIT PLAN | Private label message only. |
INV EXP DATE | Invalid expiration date. |
INV MER ID | Merchant is not set up on Host file. |
INV TERM ID | Terminal is not set up on Host file. |
PLEASE RETRY | System time-out or other generic system error. |
REFERRAL | Referral. |
REFERRAL INV TR2 | Referral - Invalid Track II Data. |
REFERRAL INV TR1 | Referral - Invalid Track I Data. |
SERV NOT ALLOWED | Merchant is not entitled to this card type. |
SYS REJECT | Transaction was rejected by the system due to "batch in progress indicators" being turned on. |
UNSUPPORTED TRAN | Batch Review (Tran Code 97) not supported. |
Global Payments
The current response codes returned by Global Payments are listed below.
ResponseCode property: This value signifies the result of the transaction (i.e. approved, declined, etc). When programmatically validating a transaction's result, this value should ALWAYS be used instead of any response message describing the result. See the table below for a full list of result codes and descriptions.
-100 | Transaction NOT Processed; Generic Host Error. |
0 | Approved. |
2 | Invalid Transaction. |
3 | Invalid Transaction Type. |
3 | Unsupported Transaction Type. |
4 | Invalid Amount. |
4 | Invalid Cash Back Amount. |
5 | Invalid Merchant Information. |
6 | Time Out Waiting for Host Response. |
7 | Field Format Error. See Message and MessageDetail for more info. |
7 | Swiped and Card Present transactions are not supported in Card Not Present markets. |
8 | Not a Transaction Server. |
11 | Client Timeout Waiting for Response. |
12 | Declined. |
14 | Transaction Type Not Supported In This Version. |
19 | Original Transaction Id, PNRef, or Approval Code Not Found. |
20 | Customer Reference Number Not Found. |
22 | Invalid ABA Number. |
23 | Invalid Account Number. |
24 | Invalid Expiration Date. |
25 | Transaction Type Not Supported by Host. |
26 | Invalid Reference Number or PNRef. |
27 | Invalid Receipt Information. |
28 | Invalid Check Holder Name. |
29 | Invalid Check Number. |
30 | Check DL Verification Requires DL State. |
31 | Cannot perform multiple captures on a PreAuth. |
40 | Not Currently Supported. |
50 | Insufficient Funds Available. |
99 | General Error. |
100 | Invalid Transaction Returned from Host. |
101 | Timeout Value too Small or Invalid Time Out Value. |
102 | Processor Not Available. |
103 | Error Reading Response from Host. |
104 | Timeout waiting for Processor Response. |
105 | Credit Error. |
106 | Host Not Available. |
107 | Duplicate Suppression Timeout. |
108 | Void Error/Cannot void a previously voided or settled transaction. |
109 | Timeout Waiting for Host Response. |
110 | Duplicate Transaction. |
111 | Capture Error. |
112 | Failed AVS Check. |
113 | Cannot Exceed Sales Cap / Requested Refund Exceeds Available Refund Amount. |
114 | Cannot refund a voided transaction. |
115 | Sum of Tax, Tip, and Cash Back amount cannot exceed total Amount. |
116 | Unsupported Card Type. |
117 | Only Sales, Repeat Sales, Force Captures, and Post Authorizations can be refunded. |
118 | The amount of a Pre-Auth Complete (Capture) must be less than or equal to the original amount authorized. Please retry. |
200 | A Partial Authorization of a pre-paid card. This is considered an Approved transaction. Check the AuthorizedAmount property for the amount approved. See below for more information. |
1000 | Generic Host Error or General Exception. (Missing or invalid data). See Message and MessageDetail for more info. |
1001 | Invalid Login Information. |
1002 | Insufficient Privilege or Invalid Amount. |
1002 | AVS Only transactions are not supported in E-Commerce markets. |
1002 | Debit/EBT Return transactions must provide the PNRef from the original Sale. Please retry. |
1002 | Zip is required for AVS Only transaction type. |
1003 | Invalid Login Blocked. |
1004 | Invalid Login Deactivated. |
1005 | Transaction Type or Service Not Allowed. |
1006 | Unsupported Processor. |
1007 | Invalid Request Message. |
1008 | Invalid Version / The MAC value is required. |
1010 | Payment Type Not Supported. |
1011 | Error Starting Transaction. |
1012 | Error Finishing Transaction. |
1013 | Error Checking Duplicate. |
1014 | No Records To Settle (in the current batch). |
1015 | No Records To Process (in the current batch). |
ResponseHostCode property: Typically, if the transaction is approved, this will be the batch reference number. If the transaction is declined, the ResponseHostCode will indicate the reason for the decline. The table below lists the possible ResponseHostCode and ResponseMessage combinations for error conditions.
ResponseHostCode | ResponseMessage | Description |
000 | AP | Approved or Completed Successfully. |
000 | AP NEW INFO | Approved with updated cardholder data. |
000 | PARTIAL AP | Only part of the requested amount was approved. |
001 | CALL AE | Refer to American Express. |
001 | CALL DC | Refer to Diners Club. |
001 | CALL DISCOVER | Refer to Discover. |
001 | CALL ND | Call your Visa/MasterCard Voice Authorization Center. |
001 | CALL TK | Refer to TeleCheck. |
001 | CALL XXXXXXXXXX | Call indicated number. |
001 | ISSUER UNAVAIL | Global Payments cannot contact issuing bank for authorization. |
002 | CALL AE | Touchtone capture, won't roll to an operator. |
002 | CALL DC | Touchtone capture, won't roll to an operator. |
002 | CALL DISCOVER | Touchtone capture, won't roll to an operator. |
002 | CALL ND | Touchtone capture, won't roll to an operator. |
002 | CALL XXXXXXXXXX | Touchtone capture, won't roll to an operator. |
002 | ISSUER UNAVAIL | Touchtone capture, won't roll to an operator. |
003 | INVLD MERCH ID | Invalid Merchant ID. |
004 | PIC UP | Authorization Declined. |
005 | DECLINE | Authorization Declined. |
005 | DECLINE NEW INFO | Update cardholder data. |
005 | DECLINE TRY LATER | Try again in 3 days. |
005 | REVK PAY ORDERED | Stop payment of a specific recurring payment. |
005 | STOP PAY ORDERED | Stop all future recurring payments. |
006 | REVERSED | Requested transaction reversal was successful. |
007 | DECLINE-CV2 FAIL | Response for CVV2 failure. Declined. (Visa). |
008 | AP WITH ID | Approved with positive ID. Host does not capture this transaction. |
012 | INVLD TRAN CODE | Processing code entered is incorrect. Please refer to valid processing code. |
013 | INVLD AMOUNT | Amount entered is invalid. |
014 | INVLD ACCT | Account number does not pass issuer's edit checks. |
014 | INVLD CODE ACCT | Valid account number matched with a transaction code for a different card type. |
014 | INVLD CID | American Express CID failure. |
019 | PLEASE RETRY | Retry the transaction. |
054 | INVLD EXP DATE | Expiration date entered is incorrect. |
055 | PIN INVALID | Incorrect PIN entered. |
058 | UNAUTH TRANS | Merchant not set up for transaction code used. |
075 | MAX PIN RETRIES | Maximum PIN number entry attempts exceeded. |
094 | AP DUPE | Transaction entered is a duplicate. |
0C1 | SYSTEM UNAVAILABLE | Global Payments Check System unavailable. |
0N2 | INV AMT MATCH | The amount entered for a void or adjustment transaction does not match the amount stored in the host for that item. |
0N3 | INV ITEM NUM | The item number entered for a void or adjustment transaction is incorrect. |
0N4 | ITEM VOIDED | An adjustment or item review was attempted on a transaction previously voided. |
0N5 | MUST BALANCE NOW | Terminal has not been balanced within time specified in the Global Payments Merchant Master File for this merchant. |
0N6 | USE DUP THEN BAL | Originating device has not been balanced within time specified in the Global Payments Merchant Master File for this merchant, but merchant is set up to perform extra transactions before balancing. |
0N7 | NO DUP FOUND | Override transaction is attempted on a non-duplicated transaction. |
0N8 | INVALID DATA | Format of the transaction is incorrect. |
0NA | NO TRANS FOUND | Reversal transaction is attempted on a transaction that is not in the open batch on the host. |
0NC | AP NOT CAPTURED | Approved but not captured (applies only to credit card transactions)- stand in. |
0NE | AP AUTH-ONLY | Approved but this EDC merchant is not set up to capture this card type (applies only to credit card transactions). |
PART AP AUTH-ONLY | Only part of the requested amount was approved, but this EDC merchant is not set up to capture this card type (applies only to credit card transactions). | |
0P1 | APPROVED | Approved debit card transaction. |
0P2 | DB UNAVAIL 02 | Global Payments is experiencing a problem. |
0P5 | UNAUTH USER | Merchant is not set up for debit on Global Payments Merchant Master File. |
0P6 | INVALID CARD | Invalid card number. |
0T1 | EDC UNAVAILABLE | EDC application down, try later. |
0T2 | DB UNAVAIL 01 | Debit application down, try later. |
121 | EXCEEDS MAX AMT | Exceeds withdrawal amount limit. |
121 | EXCEEDS MAX AMT | Exceeds withdrawal amount limit. |
ResponseCVVResultCode property: This value is only applicable to credit card transactions. The card verification number is typically printed on the back of the card and not embossed on the front. It is used as an extra authentication method for "card not present" transactions. When programmatically validating a CV Result, this value should ALWAYS be used instead of any formatted response message describing the result, contained in the ResponseCVVResultMessage property.
The following table lists the possible CVV result codes:
Value | Description |
M | CVV2/CVC2/CID Match |
N | CVV2/CVC2/CID No Match |
P | Not Processed |
S | Issuer indicates that the CV data should be present on the card, but the merchant has indicated that the CV data is not present on the card. |
U | Unknown / Issuer has not certified for CV or issuer has not provided Visa/MasterCard with the |
CV | encryption keys. |
X | Server Provider did not respond |
ResponseAVSResultCode property: When programmatically validating an AVS Result, this value should ALWAYS be used instead of any formatted ResponseAVSResultMessage describing the result. The following table lists the possible AVS result codes:
X | Exact: Address and nine-digit Zip match. |
Y | Yes: Address and five-digit Zip match. |
A | Address: Address matches, Zip does not. |
Z | 5-digit Zip: 5-digit Zip matches, address doesn't. |
W | Whole Zip: 9-digit Zip matches, address doesn't. |
N | No: Neither address nor Zip matches. |
U | Unavailable: Address information not available. |
G | Unavailable: Address information not available for international transaction. |
R | Retry: System unavailable or time-out. |
E | Error: Transaction unintelligible for AVS or edit error found in the message that prevents AVS from being performed. |
S | Not Supported: Issuer doesn't support AVS service. |
B | * Street Match: Street addresses match for international transaction, but postal code doesn't. |
C | * Street Address: Street addresses and postal code not verified for international transaction. |
D | * Match: Street addresses and postal codes match for international transaction. |
I | * Not Verified: Address Information not verified for International transaction. |
M | * Match: Street addresses and postal codes match for international transaction. |
P | * Postal Match: Postal codes match for international transaction, but street address doesn't. |
0 | ** No response sent. |
5 | Invalid AVS response. |
* These values are Visa specific.
** These values are returned by the Global Transport Gateway and not the issuing bank.
FDMS Rapid Connect
Possible response codes returned by FDMS Rapid Connect are listed below along with a textual description.
Code | Description |
000 | Approved |
001 | Schema Validation Error |
002 | Approved for partial amount |
003 | Approved VIP |
100 | Do not honor |
101 | Expired card |
102 | Suspected fraud |
104 | Restricted card |
105 | Call acquirer's security department |
106 | Allowable PIN tries exceeded |
107 | Call for authorization |
108 | Refer to issuer's special conditions |
109 | Invalid merchant. The merchant is not in the merchant database or the merchant is not permitted to use this particular card |
110 | Invalid amount |
114 | Invalid account type |
116 | Not sufficient funds |
117 | Incorrect PIN |
118 | No card record |
119 | Transaction not permitted to cardholder |
120 | Transaction not permitted to terminal |
121 | Exceeds withdrawal amount |
122 | Security violation |
123 | Exceeds withdrawal frequency limit |
124 | Violation of law |
129 | Suspected counterfeit card |
130 | Invalid terminal |
131 | Invalid account number |
132 | Unmatched card expiry date |
150 | Invalid merchant set up |
151 | Activation failed |
152 | Exceeds limit |
153 | Already redeemed |
154 | Over monthly limit |
155 | Recharge amount exceeded |
156 | Max number of recharges exceeded |
157 | Invalid entry |
208 | Lost card |
209 | Stolen card |
302 | Account closed. The account was closed, probably because the account balance was $0.00 |
303 | Unknown account. The account could not be located in the account table |
304 | Inactive account. The account has not been activated by an approved location |
308 | Already active. The card is already active and does not need to be reactivated |
311 | Not lost or stolen |
315 | Bad mag stripe. The mag stripe could not be parsed for account information |
316 | Incorrect location. There was a problem with the merchant location |
317 | Max balance exceeded. The transaction, if completed, would cause the account balance to be exceeded by the max_balance as specified in the promotion. Some merchants set the max_balance to a value twice the max transaction amount |
318 | Invalid amount. There was a problem with the amount field in the transaction format - more or less than min/max amounts specified in the promotion for that transaction |
319 | Invalid clerk. The clerk field was either missing, when required, or the content did not match the requirements |
320 | Invalid password |
321 | Invalid new password. The new password does not meet the minimum security criteria |
322 | Exceeded account reloads. The clerk/user/location was only permitted to reload some number of accounts. That number was exceeded. (See your Business Manager in order to extend this limit.) |
323 | Password retry exceeded. The user account has been frozen because the user attempted access and was denied. Seek management assistance |
326 | Incorrect transaction version or format number for POS transactions |
327 | Request not permitted by this account |
328 | Request not permitted by this merchant location |
329 | Bad_repay_date |
330 | Bad checksum. The checksum provided is incorrect |
331 | Balance not available (denial). Due to an internal First Data Prepaid Closed Loop issue, information from this account could not be retrieved |
332 | Account locked |
333 | No previous transaction. The void or reversal transaction could not be matched to a previous (original) transaction. In the case of a pre-auth redemption, the corresponding locking transaction could not be identified |
334 | Already reversed |
336 | Bad Authorization ID. The Authorization ID test failed |
337 | Too many transactions requested |
338 | No transactions available/no more transactions available. There are no transactions for this account or there are no transactions as determined by the specified first transaction number |
339 | Transaction history not available |
340 | New password required |
341 | Invalid status change. The status change requested (e.g. lost/stolen, freeze active card) cannot be performed |
342 | Void of activation after account activity |
343 | No phone service. Attempted a calling card transaction on an account which is not configured for calling card activity |
344 | Internet access disabled |
355 | Invalid currency. The provided currency is invalid |
357 | Currency conversion error |
359 | The terminal transaction number did not match (on a void or reversal). |
367 | Target embossed card entered and Transaction count entered do not match |
368 | No account link |
369 | Invalid time zone |
370 | Account on hold |
372 | Promo location restricted |
373 | Invalid Card Account |
374 | Product code(s) restricted |
375 | Bad Post Date. The Post Date is not a valid date. |
376 | Account status is void lock |
377 | Already active and reloadable |
378 | Account is Purged. The Account record was purged from the database. |
380 | Bulk activation error |
381 | Bulk activation un-attempted error |
382 | Bulk activation package amount error |
383 | Store location zero not allowed |
384 | Account row locked |
385 | Accepted but not yet processed |
401 | Offer Processing Error |
402 | TransArmor Service Unavailable |
403 | TransArmor Invalid Token or Account Number |
404 | TransArmor Key Error |
500 | Decline |
501 | Date of Birth Error for Check Processing |
502 | Invalid State Code |
503 | New Account Information |
504 | Do not try again |
505 | Please retry |
506 | Invalid Checking Account Number |
507 | New Account Information available |
508 | Try again later - Declined: Association's payment cancellation advice code provided. Applies to recurring authorizations only. These are examples of what may have occurred: the account is over the credit limit try again in 72 hours. |
509 | Do not try again - Applies to recurring authorizations only. The card has expired |
510 | New Account Information - Applies to recurring authorizations only. The card has expired |
511 | Try again later - Applies to recurring authorizations only. The card has expired. Get the new expiration date and try again. |
512 | Service not allowed |
513 | Decline. Transaction not permitted to acquirer or terminal |
514 | Do not try again - Applies to recurring authorizations only. There was security violation |
515 | Declined. No term record on First Data system |
516 | Please retry - Reasons for this error are one of the following: Format Error, Unable to route transaction, Switch or issuer unavailable, System Busy, Timeout |
517 | CVV2 Declined |
518 | Invalid account/date or sales date in future |
519 | Invalid Effective Date |
520 | Reversal Rejected. Do not try again. |
521 | Enter lesser amount |
522 | Cash Back greater than total Transaction amount |
523 | Crypto box is offline |
524 | Debit Switch unavailable Timeout Retry - Communications link to debit/EBT network gateway is down or responded with a "System Malfunction (96)" message |
525 | Debit/EBT network gateway cannot get through to the ISSUER. |
526 | Undefined Card - Debit/EBT network gateway cannot route card based on Merchant Entitlement |
527 | Network Response indicates that Merchant ID / SE is invalid |
528 | Debit/EBT transaction count exceeds pre-determined limit in specified time/ Withdrawal limit exceeded. |
529 | Resubmission of transaction violates debit/EBT network frequency |
530 | The authorizing network has a problem decrypting the cryptogram in the request |
532 | The DUKPT Base Derivation key is missing or incorrect in the PIN pad, or PIN key synchronization error. |
540 | Edit Honor |
541 | No Savings Account |
542 | DUKPT: An error while processing the PIN block that is not related to the point-of-sale equipment. Contact the Help Desk for assistance. |
550 | Invalid Vehicle |
551 | Invalid Driver |
552 | Invalid Product |
553 | Exceeds transaction total limit per product class. |
554 | Over daily limit |
555 | Invalid Date/Time |
556 | Exceeds quantity |
557 | Invalid prompt entry |
558 | Invalid Track 2 data |
559 | Voyager ID problem |
560 | Invalid Odometer |
561 | Invalid Restriction Code |
562 | Pay at pump not allowed |
563 | Over fuel limit |
564 | Over cash limit |
565 | Fuel price error |
566 | Y or N required |
567 | Over repair limit |
568 | Over additive limit |
569 | Invalid user |
701 | Approved EMV Key Load |
702 | EMV Key Download Error |
703 | Approved EMV Key Load, more key load data pending |
704 | Pick Up Card |
708 | Honor With Authentication |
721 | Invalid ZIP Code |
722 | Invalid value in the field |
723 | Driver's License or ID is Required |
724 | Referred - Not Active |
726 | Unable to Locate Record On File |
727 | Refer - Call Authorization (Checks only) |
728 | Referred - Skip Trace Info |
729 | Hard Negative Info On File |
731 | Rejected Lost/Stolen Checks |
740 | Totals Unavailable |
767 | Hard Capture; Pick Up |
771 | Amount Too Large |
772 | Duplicate Return |
773 | Unsuccessful |
774 | Duplicate Reversal |
775 | Subsystem Unavailable |
776 | Duplicate Completion |
782 | Count Exceeds Limit |
785 | No reason to decline. |
790 | Not approved. Used only in Visa bill/recurring payment. Merchant must not resubmit same transaction but may continue billing process in subsequent billing period. |
791 | Not approved. Used only in Visa bill/recurring payment. Merchant must stop recurring payment requests. |
792 | See attendant. |
801 | Over merchandise limit |
802 | Imprint card |
803 | Not on file |
804 | Fuel only |
805 | Velocity exceeded |
806 | Authorization ID needed |
807 | Over non-fuel limit |
808 | Invalid location |
809 | Over card velocity count |
810 | Over card velocity amount |
811 | Over issuer velocity count |
812 | Over issuer velocity amount |
813 | Over merchant daily velocity count |
814 | Over merchant daily velocity amount |
815 | Over merchant daily velocity both |
816 | Over merchant product velocity amount |
817 | Over merchant product velocity count |
818 | Over merchant product velocity both |
819 | Over chain daily velocity count |
820 | Over chain daily velocity amount |
821 | Over chain daily velocity both |
822 | Over chain product velocity count |
823 | Over chain product velocity both |
824 | Over chain product velocity amount |
825 | No chain ID for chain merchant |
826 | Signature required |
902 | Invalid transaction. This card or terminal is not permitted to perform this transaction, or the transaction type is invalid, or First Data is unable to route a refund request to the network. |
904 | Format error. |
906 | System Error. There is a problem with the host processing system. Call your helpdesk or operations support. |
907 | Card issuer or switch inoperative |
908 | Transaction destination not found. |
909 | System malfunction |
911 | Card issuer timed out |
913 | Duplicate transaction. |
914 | Void/Full Reversal requests in which the Original Authorization was not found. |
915 | Timeout Reversal not supported Resend the original transaction. |
920 | Security H/W or S/W error - try again |
921 | Security H/W or S/W error - no action |
923 | Request in progress |
924 | Limit check failed |
940 | Error. |
941 | Invalid issuer |
942 | Customer cancellation |
944 | Invalid response |
950 | Violation of business arrangement |
954 | CCV failed. |
958 | CCV2 failed |
959 | CAV failed |
963 | Acquirer channel unavailable |
Returned ACI Codes
This page lists ACI codes. This information is not applicable to all processors.
TSYS
This is a list of possible ResponseReturnedACI values. Please note that many of these return values result from features not available in any of the currently supported Industry Types.
Value | Description |
A | CPS qualified. |
D | Visa Electronic Data Quality Program (EDQP) transaction (not CPS). |
E | CPS qualified and Card Acceptor Data was supplied in the authorization request. |
F | CPS qualified for Visa Account Funding Transactions. |
I | CPS qualified incremental authorization request. |
J | Card Not Present, Recurring Bill Payment. |
C | CPS qualified for a self-service automated fuel dispense. |
K | CPS qualified and included an address verification request in the authorization request (Unable to read magnetic stripe). |
M | Meets national payment service requirements with no address verification: Direct Marketing. |
N | Not CPS qualified. |
P | CPS qualified and accepted for Preferred Customer qualification or 3D Secure validation failure for T&E transaction. |
R | Recurring or Installment Payments, Healthcare and select developing market MCCs may submit the ACI of R to bypass AVS requirements. |
S | CPS attempted for Preferred e-Commerce (3D Secure). |
T | Transaction cannot participate in CPS. |
U | CPS qualified for Preferred e-Commerce (3D Secure). |
V | CPS qualified and included an address verification request in the authorization request. |
W | CPS qualified for Basic e-Commerce (Non-3D Secure). |
space | If "Y" sent and transaction not qualified (VAS downgrade). |
FDMS
The following is a list of all returned ACI values. Please note that many of these return values result from features not available in any of the currently supported Industry Types.
Value | Description |
I | Incremental to a previously approved authorization |
P | Preferred Customer (auto rental, hotel, and transport) |
Y | Transaction is requesting service in CPS/2000 Received by issuer on first authorization, saved in terminal, and returned on reversal and settlement transactions: |
" " | (Space) Transaction not submitted for REPS processing |
A | Normal qualified |
C | Qualified, customer-activated terminal |
E | Qualified Retail |
F | Card Not Present (Account Funding - with AVS and CVV2) |
I | Qualified incremental |
J | Card not present - Recurring bill payment |
K | Qualified CPS/Retail Key Entry (AVS is required with K) |
N | Not qualified |
P | Qualified Preferred |
R | AVS not Required - Only available to VISA Health Care and Select Developing Markets |
S | Card Not Present (E-Commerce - 3D Secure Attempt) |
T | Transaction cannot participate in CPS programs |
V | Qualified Address Verification |
U | Card Not Present (E-Commerce - 3D Secure) |
W | Card Not Present (E-Commerce - Non 3D Secure w/AVS) |
Card Level Result Codes
This page lists Card Level Result codes. This information is not applicable to all processors.
TSYS
This is a list of possible ResponseCardLevel values.
Value (^ = space) | Description |
A^ | Visa Traditional |
AX | American Express Card |
B^ | Visa Traditional Rewards |
C^ | Visa Signature |
D^ | Visa Signature Preferred |
DI | Discover Card |
DN | Diners Card |
E^ | Proprietary ATM |
F^ | Visa Classic |
G^ | Visa Business |
G1 | Visa Signature Business |
G2 | Reserved |
G3 | Visa Business Enhanced, Visa Platinum Business |
G4 | Visa Infinite Business, Visa Infinite Privilege Business (Canada) |
G5 | Visa Business Rewards |
H^ | Reserved |
I^ | Visa Infinite |
J^, J1, J2, J4 | Reserved |
I1 | Visa Infinite Privilege |
J3 | Visa Healthcare |
JC | JCB Card |
K^ | Visa Corporate T&E |
K1 | Visa GSC Corporate T&E |
L^ | Electron |
M^ | Mastercard |
N^ | Visa Platinum |
N1 | Visa Rewards |
N2 | Visa Select |
P^ | Visa Gold |
Q^ | Private Label |
Q1 | Reserved |
Q2 | Private Label Basic |
Q3 | Private Label Standard |
Q4 | Private Label Enhanced |
Q5 | Private Label Specialized |
Q6 | Private Label Premium |
R^ | Proprietary |
S^ | Visa Purchasing |
S1 | Visa Purchasing with Fleet (outside of Canada), Visa Fleet (cards issued in Canada) |
S2 | Visa GSA Purchasing |
S3 | Visa GSA Purchasing with Fleet |
S4 | Commercial Loan |
S5 | Commercial Transport EBT |
S6 | Business Loan |
S7 | Reserved |
T^ | Reserved |
U^ | Visa Travel Money |
V^ | V Pay |
V1 | Reserved |
W^ | Reserved |
X^ | Visa B2B Virtual Payments |
Y^ | Reserved |
Z^ | Reserved |
Paymentech
Visa Card Level Results Code:
Code | Meaning |
Spaces | Not applicable |
A^ | Visa Traditional |
AX* | American Express |
B^ | Visa Traditional Rewards |
C^ | Visa Signature |
D^ | Visa Infinite |
DI* | Discover |
E^ | Reserved |
F^ | Reserved |
G^ | Visa Business Card |
G1 | Visa Signature Business |
G2 | Visa Business Check Card |
H^ | Classic Visa Check Card |
I^ | Visa Commerce |
J^ | Reserved |
J1 | Visa General Prepaid |
J2 | Visa Prepaid Gift Card |
J3 | Visa Prepaid Healthcare |
J4 | Visa Prepaid Commercial |
K^ | Visa Corporate Card |
K1 | Visa GSA Corporate T&E |
L^ | Reserved |
M^* | MasterCard/EuroCard and Diners |
N^ - P^ | Reserved |
Q^ | Private Label |
Q1 | Private Label Prepaid |
R^ | Proprietary Card |
S^ | Visa Purchasing Card |
S1 | Visa Fleet |
S2 | Visa GSA Purchasing |
S3 | Visa GSA Purchasing with Fleet |
T^ | Reserved/Interlink |
U^ | Visa TravelMoney |
W^ - Z^ | Reserved |
0^ - 9^ | Reserved |
^ | Space |
* | Valid only when the transaction was re-routed to Visa for authorization. |
Testing Information
This page provides testing information for the various processors.
TSYS test account information
The following Merchant 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.
MerchantBankId | "999995" |
MerchantCategoryCode | "5999" |
MerchantName | "4DPAYMENTS" |
MerchantNumber | "999999999911" |
MerchantServicePhone | "800-1234567" |
MerchantState | "NC" |
MerchantStoreNumber | "0011" |
MerchantTerminalNumber | "9911" |
MerchantZip | "27609" |
MerchantTimeZone | "705" |
AgentBankNumber (for settlement) | "000000" |
AgentChainNumber (for settlement) | "111111" |
TerminalId (for settlement) | "00000001" |
TSYS Test Host Authorization Values for Regular Credit Card Transactions:
Request Value | Response Code | Response 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 |
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
CustomerZip | Response 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 |
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 Value | Response Approval Code | Response 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 Value | Response Approval Code | Response 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 class is a tool used to Register and Activate a merchant account with the Datawire VXN. This class 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 classs 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 i = 0 To FDMSRegister.ServiceProvidersCount - 1
FDMSRegister.Ping(FDMSRegister.ServiceProviders[i])
Debug.Print(FDMSRegister.ServiceProviders[i] & " = " & FDMSRegister.PingResponseTime)
Next
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 class to submit transactions using the FDMSECommerce, FDMSRetail, and FDMSSettle classs.
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 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 FDMSRcResponseCode. 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:
Industry | UserId | Password | VendorNumber |
E-Commerce | 4dpayments_ecom | Passw0rd | 718 |
MOTO | 4dpayments_moto | Passw0rd | 732 |
Retail | 4dpayments_retail | Passw0rd | 719 |
Restaurant | 4dpayments_restaurant | Passw0rd | 711 |
VendorNumber is only required when using GlobalTransactionSearch.
Note that for testing Server must be set to "https://certapia.globalpay.com".