Upload
tranthien
View
216
Download
1
Embed Size (px)
Citation preview
Version 3.2.2
Technical White Paper
© Copyright 2010. VeriFone, Inc. All rights reserved.
- 2 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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
- 3 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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
- 4 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
Mailing Address ....................................................................................... 22 Telephone ............................................................................................. 22 Web Site ............................................................................................... 22
- 5 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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.
- 6 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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
- 7 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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
- 8 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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)
- 9 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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)
- 10 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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
- 11 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
Processors
PAYware Transact has been certified with the following processors:
Processor Host or Terminal
Communication Type(s)
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.
- 12 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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:
PAYware Transact Premier includes:
Benefit
Single processor Single processor Ability to process transactions to a single payment processor
Multi-threaded capability Multi-threaded capability
Ability to send concurrent transactions to the payment processor. Maintains speed of service during multiple transactions.
PAYware Transact DevKit PAYware Transact DevKit Toolkit for developers for PAYware Transact development and customization.
Built-in reporting Built-in reporting
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.
Settlement management Settlement management
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.
All of the above, plus:
BIN management
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.
Store and forward
Captures and store transactions until user-defined settings are met, then attempts to authorize those transactions and handle processing errors.
Terminal Management
Provides a secure and easy way to interface PAYware Transact with POS system hardware, third- party applications, and payment devices.
VeriShield Protect option (available separately)
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.
- 13 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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.
- 14 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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.
- 15 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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.
- 16 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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>
- 17 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
</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"); 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.
OR // 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");
- 18 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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.
- 19 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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.
- 20 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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.
- 21 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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..
- 22 -
PAYware Transact, Version 3.2.2 White Paper
Updated 03/25/2010
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