Version 3.2.2 Technical Copyright 2010. VeriFone, Inc. All rights reserved.
Notice October 2011 VeriFone, Inc. All rights reserved. VeriFone, the VeriFone logo, PAYware, PAYware Transact, and VeriShield Protect are either trademarks or registered trademarks of VeriFone in the United States and/or other countries. All features and specifications are subject to change without notice. Microsoft is a registered trademark and Windows is a trademark of Microsoft Corporation. Other brands and their products are trademarks or registered trademarks of their respective holders and should be noted as such. VeriFone, Inc. 8001 Chatham Center Drive Suite 500 Savannah, GA 31405 Savannah Sales Office: (800) 725-9264 Savannah Office Fax: (912) 527-4596 www.verifone.com - 2 -
Table of Contents Notice... 2 Overview... 5 Why PAYware Transact?... 5 Features... 6 Simplified... 6 Flexibility... 6 Speed... 6 Functionality... 6 Security... 6 What s New in PAYware Transact 3.2.2... 7 New Networks... 7 Network Enhancements... 8 Other... 9 Requirements for PAYware Transact... 10 Operating Systems... 10 Databases... 10 Processors... 11 PAYware Transact Options... 12 PAYware Transact Components... 13 The PAYware Transact Engine... 13 The PAYware Transact Integration Guide and API Reference... 13 The PAYware Transact Application... 13 IBM System i Users... 13 Sample PAYware Transact Clients... 13 PAYware Transact Installation and Configuration Tools... 14 Reporting... 14 Benchmarks... 15 Integration Techniques... 16 TCP/IP Socket Integration... 16 PAYware Transact Java API Integration... 17 Included Sample Clients... 18 Name Value Pair Client... 18 Perl Virtual Terminal... 19 Java Client... 20 RPG Client... 21 Contact Information... 22-3 -
Mailing Address... 22 Telephone... 22 Web Site... 22-4 -
Overview VeriFone s PAYware Transact, part of the PAYware suite of software products, is a powerful, highly customizable software solution that supports enterprise level transaction processing for businesses of any size. PAYware Transact supports high volume processing by providing multi-threaded TCP/IP connectivity directly to processing companies. Depending on the processing company uses, PAYware Transact can support all of the most popular payment methods, including credit cards, debit cards, checks, EBT cards, commercial cards, and gift cards. PAYware Transact's per-transaction speed is limited only by the speed of the communications medium and processing power of the machine(s) on which it resides. PAYware Transact was designed to be integrated into any e-commerce, MOTO (Mail Order/Telephone Order), Restaurant, or traditional Point-Of-Sale application, regardless of operating system or development platform. Why PAYware Transact? PAYware Transact is independent of operating system, database, or payment processor therefore a multitude of various merchants can use PAYware Transact as the payment engine behind their existing order entry systems, ERP systems, or accounting programs. Its multi-threaded processing capability also allows for added throughput as merchants transaction volumes grow. Because PAYware Transact is hosted by the merchant, VeriFone does not charge monthly or per transaction fees and merchants can use their existing relationship with their current processors by processing directly to that specific processor. PAYware Transact provides the connectivity and communications to facilitate the processing of credit cards, debit cards, gift cards, EBT cards, and check transactions and it is easy to see why PAYware Transact is the payment application of choice for resellers, developers, and merchants. - 5 -
Features Simplified Installation Configuration IBM System i Integration XML API for ease of integration Flexibility Accepts all major credit cards Real time or batch transaction processing Highly scalable and flexible to accommodate high levels of growth and activity Supports a wide range of processors and connection methods Developers can integrate hardware devices like PIN Pads, Check Readers, and Card Readers to take advantage of all payment types Process Credit, Debit, EBT, Purchasing Card (II & III), Fleet, Stored Value/Loyalty, Private Label cards, and Check Transactions Speed Thread pooling allows faster transaction processing by efficiently allocating resources within PAYware Transact Internet connectivity using SSL and point-to-point connectivity to processing network Functionality Smart Settlement, automatically detects errors in settling, quarantines those errors and resubmits until the settlement file is successfully transmitted Load balancing with Microsoft SQL Server, MySQL, and Oracle Designed for client-server, integrated solutions Security Compliance with Payment Application Data Security Standards 1.2 (PA-DSS) requirements Offers VeriShield Protect advanced data encryption solution as a PAYware Transact Premier option to eliminate usable cardholder data from card swipe to processing Sun JCE encryption for data storage CVV2/CVC2/CID for fraud reduction in card-not-present environments AVS (Address Verification Services) reduces fraud as well as keeping you compliant in order to receive the lowest rates for processing manually keyed transactions Multi-tiered permissions for users Luhn algorithm for validation of card numbers SSL and Point-to-Point connectivity for processing over the public internet - 6 -
What s New in PAYware Transact 3.2.2 New Networks First Data North-Nash (Terminal capture): Supported Features: Industry Types o Retail o Restaurant Connectivity o TCP/IP SSL o TCP/IP Frame o Dial Transaction Types o Credit o PIN Debit o EBT o Check Verification Additional Features Purchase card Level II (Visa/MasterCard) CVV2/CVC2/CID American Express/CID Discover AVS with Street and ZIP Code Discover, VISA, & MasterCard Reversal Support Installment payments and recurring billing indicator VISA Bill Pay FSA/HRA support Partial authorization supported for pre-paid credit card Valutec: Supported Features: Industry Types o Retail o Restaurant Connectivity o TCP/IP SSL o Dial Gift Card Support o Activation o Add Value - 7 -
o Balance Inquiry o Sale o Restaurant Application o Replace o Void o Deactivate with refund o Previous Day Totals o Current Day Totals Loyalty Card, Auto Rewards, & Promotional Card Support o Activation o Add Value o Balance Inquiry o Sale o Retail Application o Replace o Void o Deactivate with refund o Previous Day Totals o Current Day Totals Network Enhancements Chase Paymentech Tampa (host capture): Customer Activated Terminal (CAT) support for swiped transactions for the following: o Credit Sale o Credit Pre-Auth o Debit Sale o EBT Sale o Gift Sale FSA/HRA support Credit Partial Reversal Debit Partial Approvals & Balance Response Prepaid Partial Approvals & Balance Response CVD2 (Security code on back of gift card) in Gift Balance Inquiry ECHO (host capture): Electronic Check POP and ARC options. Removed requirement for CHECK_NUM (all check transactions) - 8 -
Global Payments East (host capture): FSA/HRA support TSYS (terminal capture): MC Credit & Prepaid Reversal MC Credit Partial Reversal MC Prepaid Partial Approvals & Balance Response Discover Card Partial Auth Discover Partial Reversal Discover Full Reversal Other Terminal Management Enhancements RDM7000 Device Support Check image upload to Secure Payment Systems Check image encryption IBM System i dataqueue API to TIM for connection to PAYware Connect XML transaction format using a sockets API connection support Local Settlement Segmenting Segmented local settlement enhancement will attempt to recover and continue settlement if the database connection fails. In the event of a secondary update failure, PAYware Transact will attempt to roll back the transactions to an open batch state. Database Schema Change TERM_THRD_EXC.CLIENT_ID's data type has changed from int to varchar (16) - 9 -
Requirements for PAYware Transact Operating Systems PAYware Transact has been successfully tested on the following operating systems supporting Java Virtual Machine: Windows 2000 Family Windows 2003 Server Unix Linux IBM System i Version 5 Release 3 or higher Please note that PAYware Transact runs on operating systems with a Sun Java Virtual Machine. Databases PAYware Transact has been successfully tested with the following SQL-compliant database products: Microsoft SQL Server (2000, 2005 Enterprise, 2005 Express, 2008 [32-bit and 64 bit]) Oracle MySQL IBM DB2 (for use with System i only) PostgreSQL - 10 -
Processors PAYware Transact has been certified with the following processors: Processor Host or Communication Type(s) Terminal American Express Terminal TCP/IP SSL, Dial BancServ Host TCP/IP SSL BAMS FACTS Terminal Dial/IP SSL Certegy N/A TCP/IP Lease Line Chase Paymentech Salem Terminal TCP/IP Lease Line, Dial Chase Paymentech Tampa Host TCP/IP SSL, TCP/IP Lease Line, Dial Citi Private Label Terminal TCP/IP Lease Line ECHO Host TCP/IP SSL Elavon Host TCP/IP SSL Fifth-Third Cincinnati Host & Terminal TCP/IP Lease Line Fifth-Third St. Petersburg Host & Terminal TCP/IP SSL, TCP/IP Lease Line, Dial First Data Atlanta Host TCP/IP SSL First Data Nashville Terminal TCP/IP Lease Line First Data North Terminal TCP/IP SSL, TCP/IP Lease Line First Data North-Nash Terminal TCP/IP SSL, TCP/IP Lease Line First Data Omaha Hybrid TCP/IP Lease Line First Data South Terminal TCP/IP Lease Line First Data ValueLink Host TCP IP SSL, Dial Givex Host TCP/IP SSL Global Payments East Host & Terminal TCP/IP VPN, TCP/IP Lease Line, Dial Heartland Payment Systems Terminal TCP/IP SSL, Dial RBS WorldPay Host & Terminal TCP/IP SSL, Dial Secure Payment Systems Terminal TCP/IP SSL SVS Host TCP/IP SSL TSYS Terminal TCP/IP SSL, TCP/IP Lease Line, Dial Valutec Host TCP/IP SSL, Dial *****New Processors are added routinely. - 11 -
PAYware Transact Options PAYware Transact is available in Standard or Premier editions to more precisely match the functionality to your needs PAYware Transact Standard includes: Single processor Multi-threaded capability PAYware Transact DevKit Built-in reporting Settlement management PAYware Transact Premier includes: Single processor Multi-threaded capability PAYware Transact DevKit Built-in reporting Settlement management All of the above, plus: BIN management Store and forward Terminal Management VeriShield Protect option (available separately) Benefit Ability to process transactions to a single payment processor Ability to send concurrent transactions to the payment processor. Maintains speed of service during multiple transactions. Toolkit for developers for PAYware Transact development and customization. Graphical User Interface (GUI) provides real-time printing of transaction reports and audit reports, as well as the creation of customized reports that meet a company s unique requirements. Streamlines processing with tools like automatic settlement and manually-scheduled settlement, and allows for the suspension, restoration, or voiding of individual transactions within a batch. Gives merchants the power to save money by encouraging debit transactions, prompting for the customer's PIN instead of allowing the selection of a payment type. Captures and store transactions until user-defined settings are met, then attempts to authorize those transactions and handle processing errors. Provides a secure and easy way to interface PAYware Transact with POS system hardware, third- party applications, and payment devices. VeriShield Protect is an advanced end-to-end encryption solution that eliminates usable cardholder data from POS applications, networks and servers using format preserving encryption that is transparent to the retailer s network systems. - 12 -
PAYware Transact Components When you purchase PAYware Transact you will receive the following suite of components: The PAYware Transact Engine This is the core of PAYware Transact. Through the engine, PAYware Transact communicates securely and directly with payment processing companies via SSL, leased line/frame relay, and dial. The PAYware Transact Integration Guide and API Reference The PAYware Transact Integration Guide and PAYware Transact API Reference are included with the purchase of PAYware Transact. The PAYware Transact Integration Guide and the PAYware Transact API Reference will assist with integration to PAYware Transact. PAYware Transact supports four main integration methods: 1) Socket Method (via XML or Name/Value Pairs) 2) Data Queue Method (for RPG Programmers /IBM System i Users) 3) Direct Java Method (via Java Hashtables) The PAYware Transact Application The PAYware Transact Application is a production grade server used when integrating via the Socket Method, File Drop Method, or Data Queue Method. Integrating a client application to the server is recommended. In all instances, the client passes API requests to the PAYware Transact Application using XML or name/value pairs. The PAYware Transact Application also supports secure SSL connectivity with Java clients. IBM System i Users An enhanced version of the PAYware Transact Application is available for IBM System i users. This version has the same functionality of the standard PAYware Transact Application and also includes a Data Queue Server that provides a native RPG Data Structure for PAYware Transact. Sample PAYware Transact Clients The sample PAYware Transact clients demonstrate how end-users would use PAYware Transact in e-commerce, MOTO, restaurant, or retail environments. Java, Visual Basic, Perl, and RPG clients are included. The source code for the sample PAYware Transact clients is provided. These clients can be modified with your site specific information for testing but are not designed for production use. - 13 -
PAYware Transact Installation and Configuration Tools These tools allow merchants and developers to install PAYware Transact and to add/update configuration, account, and merchant settings. Reporting Standard reporting through the PAYware Transact API is available. Transaction Summary, Transaction Detail, Pre-Settlement Summary, and Post-Settlement Results are just a few of the reports that PAYware Transact provides. - 14 -
Benchmarks Because PAYware Transact is multi-threaded, it is possible to create a new thread for each transaction request. Typically, a single transaction requires about 2-3 seconds to process in an Internet environment. Note: Some Internet transactions require an additional second to complete if RSA certificates are used. Most processing networks do not require this level of security. However, there are exceptions; consult with the processor to find out its requirements. PAYware Transact is designed to deliver 2-3 second throughput on the Internet for each thread launched. For example, if PAYware Transact is configured with 20 threads for merchant XYZ, and there are 20 payment processing requests made at the same time (all users press a pay now key at the same time) then all of the users can expect a 2-3 second response time. Benchmarks The transaction statistics below were run in the following environment: OS: Windows 2003 Server Standard Edition Database: MS SQL 2000 RAM: 4 GB Credit Card Processing Environment: Host based network Connection: TCP/IP SSL Thread Count: 1 Server OS CPU RAM PAYware Transact Windows Server 2003 Quad Core Xeon 2.66GHz 4 GB DDR2 Database Server Windows Server 2003 Quad Core Xeon 2.66GHz 4 GB DDR2 Test Client #1 Windows XP Pro SP2 Pentium 4 Dual 3.40 GHz 1.5 GB DDR2 Number of Sales Capture Time (in seconds) 1 1 10 10 100 96 500 508 1000 1017 These benchmarks are for illustrative purposes. Performance depends greatly on the hardware, software, connection limitations of each user environment. Response times vary from processor to processor; these variances can also affect transaction processing times. - 15 -
Integration Techniques PAYware Transact is designed to support integration using any programming language. The PAYware Transact Application is provided for this purpose. If the PAYware Transact Application will be used, integration may be done using name/value pairs (ASCII text strings) or XML. The interfaces that the PAYware Transact Application supports are TCP/IP sockets, the File Drop method, or IBM System i Data Queues. TCP/IP Socket Integration Integration with the name/value pair API requires a working knowledge of TCP/IP socket programming. Typically, socket interaction requires a server application listening for a client connection. You will need to create a client process or application that will connect to the PAYware Transact Application. Included with PAYware Transact are sample applications such as Java client application, a Java Servlet, a Perl Virtual Terminal, an RPG sample, and a Perl Web Administration Tool. Syntax Example To send a string to the PAYware Transact Application to perform a credit transaction, one would build the following string: CommandString= CLIENT_ID 100010001 USER_ID MANAGER USER_PW PAYware Transact FUNCTION_TYPE PAYMENT COMMAND SALE PAYMENT_TYPE CREDIT ACCT_NUM 4005550000000019 EXP_MONTH 12 EXP_YEAR 09 TRANS_AMOUNT 1.00. The same transaction can also be in formatted using XML. <TRANSACTION> <CLIENT_ID>100010001</CLIENT_ID> <USER_ID>MANAGER</USER_ID> <USER_PW>PAYware Transact</USER_PW> <FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE> <COMMAND>SALE</COMMAND> <PAYMENT_TYPE>CREDIT</PAYMENT_TYPE> <ACCT_NUM>4005550000000019</ACCT_NUM> <EXP_MONTH>12</EXP_MONTH> <EXP_YEAR>09</EXP_YEAR> <TRANS_AMOUNT>1.00</TRANS_AMOUNT> - 16 -
</TRANSACTION> PAYware Transact Java API Integration Java developers may want to integrate directly to the PAYware Transact Engine's Java API. By utilizing the Java API, integrators may use three methods to process transactions. 1. Set the Java classpath to include all files with the extension.jar in the \<RiTAHome>\lib\rita and \other directories. Also add the PAYware Transact home directory to the classpath (on Windows systems, this would be c:\rita, for example). 2. Create an instance of the PAYware Transact class. // First instantiation RiTA myrita = new RiTA ("PasswordForIniFile"); OR Note: Upon the creation of the first instance of PAYware Transact within a Java application, you must include the password used to encrypt the rita.ini file as the sole argument for the PAYware Transact constructor. Subsequent instances should be created without any arguments in the constructor. // All other instantiations RiTA myrita = new RiTA (); 3. Create a java.util.hashtable: Hashtable ht = new Hashtable(); 4. Populate the Hashtable with the needed name value pairs described in the PAYware Transact API Reference: ht.put("name","value");....continue to input value pairs. 5. Call the method setinputproperties() passing the Hashtable as the argument: myrita.setinputproperties(ht); 6. Call the method execute() passing a Boolean argument of true for synchronous, false for asynchronous transaction processing: myrita.execute(true); 7. Call the method getoutputproperties(), which will return a java.util.hashtable of name/value pairs described in the API Reference: Hashtable htout = MyRiTA.getOutputProperties(); 8. To view/read the results: Object value = htout.get("name"); - 17 -
Included Sample Clients Included with PAYware Transact are sample clients with open-source code. These clients can be modified with your site specific information for testing but are not designed for production use. Name Value Pair Client The Name/Value Pair Client is a Visual Basic client provided to enable quick and basic testing of PAYware Transact. It has been pre-programmed with test card information for TSYS. Before going live, you can work with your processor of choice to obtain testing information. The client is flexible enough that you can use it for any processor by simply entering the appropriate card information. The Name/Value Pair Client communicates with the PAYware Transact Application via PAIR (name/value pairs) mode only. This client communicates with the PAYware Transact Application in SSL or non-ssl mode. The Name/Value Pair Client is provided only as a sample interface to the PAYware Transact Application and to test the PAYware Transact Application install. **Note: XML can also be used with the NVP client. - 18 -
Perl Virtual Terminal The Perl Virtual Terminal is included with PAYware Transact. This Web-based Virtual Terminal communicates with the PAYware Transact Application via PAIR (name/value pairs) mode only. This client communicates with the PAYware Transact Application in non-ssl mode only. The Virtual Terminal is provided only as a sample interface to the PAYware Transact Application and to test your PAYware Transact Application install. You should modify the Virtual Terminal or create your own when integrating. - 19 -
Java Client A sample Java Client is included with PAYware Transact. This client communicates with the PAYware Transact Application. This client can communicate with the PAYware Transact Application either via PAIR (name/value pairs) or OBJECT (Java objects) mode. The client can also communicate via SSL or non-ssl. The PAYware Transact Client is provided as a sample interface to the PAYware Transact Application and to test your PAYware Transact Application install. - 20 -
RPG Client The sample IBM System i client is provided to demonstrate green screen transaction processing using data queues. This client, written in RPG, submits transactions to PAYware Transact via the data queue server. This sample contains the RPG source code to assist integrators when writing their integration to PAYware Transact.. - 21 -
Contact Information Mailing Address VeriFone, Inc. 8001 Chatham Center Drive Suite 500 Savannah, GA 31405 Telephone Savannah Sales Office: (800) 725-9264 Savannah Office Fax: (912) 527-4533 Web Site www.verifone.com - 22 -