VeriSign Payment Services



Similar documents
Payflow Pro Developer s Guide

Payflow Pro Developer s Guide

Website Payments Pro Payflow Edition Developer s Guide

VeriSign Payment Services

VeriSign Payment Services

Payflow Link User s Guide

Volume PLANETAUTHORIZE PAYMENT GATEWAY. vtiger CRM Payment Module. User Guide

Enabling Secure Payment Processing On Your Site. A guide to accepting and managing online payments for e-commerce

Payflow Recurring Billing Service User s Guide

Recurring Billing Service User s Guide

Testing Transactions

Processor Setup Guide

Payflow Link User s Guide

Merchant Web Services API

Processor Setup Guide

Payflow Link Recurring Billing Service User s Guide

Gateway Developer Guide and Reference

Merchant Integration Guide

VeriSign Payment Services

Table of Contents. Revision

Virtual Terminal User s Guide

Merchant e-solutions Payment Gateway Back Office User Guide. Merchant e-solutions January 2011 Version 2.5

Virtual Terminal User s Guide

... What is USAePay? How does USAePay work? The Basics. Recurring Billing. Developer s Center

Merchant Integration Guide

CyberSource Business Center Simple Order API

Authorize.Net Mobile Application

Authorize.Net Mobile Application

How To Use Paypal Manager Online Helpdesk For A Business

User s Guide Simple Order API Version 1.14 May 2005

Order Processing Guide

Virtual Terminal User s Guide

Document Version Copyright Pivotal Payments Inc. All Rights Reserved. Visit us at:

&\EHU6RXUFH 3D\PHQW 0DQDJHU API Reference Guide July 2001

JCharge White Paper. Merchant, Acquirer, Bank, Authorization Network

Network Merchants Inc (NMI) Integration Resources. Direct Post API Documentation April 2010

Gateway Direct Post API

Getting Started. Quick Reference Guide for Payment Processing

Ecommerce Setup Wizard Site Setup Wizards

Payflow Fraud Protection Services User s Guide

OnSite 7.0 Setting Up A Merchant Account

Merchant One Payment Systems Integration Resources. Direct Post API Documentation June 2007

PayWithIt for Android Devices User Guide Version 1.0.0

VeriSign PKI Client Government Edition v 1.5. VeriSign PKI Client Government. VeriSign PKI Client VeriSign, Inc. Government.

MiGS Virtual Payment Client Integration Guide. July 2011 Software version: MR 27

An access number, dialed by a modem, that lets a computer communicate with an Internet Service Provider (ISP) or some other service provider.

Oracle ipayment. Concepts and Procedures. Release 11i. August 2000 Part No. A

Title Page. Credit Card Services. User Guide. August CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA Phone:

Fax Cover Sheet and Application Checklist Attention: Craig Storms Company: Authorize.Net

Credit Card Advantage 7.0

Yahoo! Merchant Solutions. Order Processing Guide

BUSINESS GUIDE. Online Payment Processing. What You Need to Know

Card-Present Transactions Implementation Guide Version 1.0

Virtual Terminal User Guide

Merchant Web Services API Advanced Integration Method (AIM)

Process Transaction API

CREDIT CARD PROCESSING GLOSSARY OF TERMS

Realex Payments Integration Guide - Ecommerce Remote Integration. Version: v1.1

10 Steps to Secure & PCI Compliant Credit Card Processing in Oracle Receivables

itransact Gateway Fast Start Guide

Benefits of Integrated Credit Card Processing Within Microsoft Dynamics GP. White Paper

Getting Started with PayPal Manager

Response Code Details

PayPal Payments Pro Payflow Edition - Recurring Payments Developer s Guide

etrust Audit Using the Recorder for Check Point FireWall-1 1.5

Version 15.3 (October 2009)

ANZ egate Virtual Payment Client

Netswipe Processing Implementation

Merchant Guide to the Visa Address Verification Service

Realex Payments. Magento Community / Enterprise Plugin. Configuration Guide. Version: 1.1

Advanced Integration Method (AIM) Developer Guide

Online Payment Processing What You Need to Know. PayPal Business Guide

Payment Collection Gateway V+POS. User Guide NSB

Fraud Detection. Configuration Guide for the Fraud Detection Module v epdq 2014, All rights reserved.

Card-Present Transactions

Credit Card Processing with Element Payment Services. Release 8.7.9

PAYMENT GATEWAY AND OPTIONAL MERCHANT ACCOUNT SETUP FORM

PROCESS TRANSACTION API

Advanced Integration Method (AIM) Developer Guide

How To Accept Credit Cards From A Credit Card Provider

Credit Card Advantage 7.0 User Guide

Credit Card Processing

The Wells Fargo Payment Gateway Business Center. User Guide

CREDIT CARD PROCESSING POLICY AND PROCEDURES

University Policy Accepting Credit Cards to Conduct University Business

Merchant Account Glossary of Terms

ecommerce Advantage 7.0 User Guide

WineWeb: Payment Gateway Guide

University Policy Accepting and Handling Payment Cards to Conduct University Business

Advanced Integration Method (AIM) Developer Guide

PaymentCardXpress - Executive Overview

Payment Cardholder Data Handling Procedures (required to accept any credit card payments)

Credit Card Processing

WS_FTP Server. User s Guide. Software Version 3.1. Ipswitch, Inc.

A: This will depend on a number of factors. Things to consider and discuss with a member of our ANZ Merchant Services team are:

Virtual Payment Client Integration Reference. April 2009 Software version:

Java Web Services SDK

Fax Cover Sheet and Application Checklist Attention: Sarah Oldham Company: Authorize.Net

Extended Validation SSL

Transcription:

DEVELOPER S GUIDE VeriSign Payment Services Payflow Pro Developer s Guide VeriSign, Inc. 00016773/Rev. 3

VeriSign Payment Services Payflow Pro Developer s Guide Copyright 1998-2005 VeriSign, Inc. All rights reserved. The information in this document belongs to VeriSign. It may not be used, reproduced or disclosed without the written approval of VeriSign. DISCLAIMER AND LIMITATION OF LIABILITY VeriSign, Inc. has made efforts to ensure the accuracy and completeness of the information in this document. However,VeriSign, Inc. makes no warranties of any kind (whether express, implied or statutory) with respect to the information contained herein.verisign, Inc. assumes no liability to any party for any loss or damage (whether direct or indirect) caused by any errors, omissions, or statements of any kind contained in this document. Further, VeriSign, Inc. assumes no liability arising from the application or use of the product or service described herein and specifically disclaims any representation that the products or services described herein do not infringe upon any existing or future intellectual property rights. Nothing herein grants the reader any license to make, use, or sell equipment or products constructed in accordance with this document. Finally, all rights and privileges related to any intellectual property right described herein are vested in the patent, trademark, or service mark owner, and no other person may exercise such rights without express permission, authority, or license secured from the patent, trademark, or service mark owner. VeriSign Inc. reserves the right to make changes to any information herein without further notice. TRADEMARKS VeriSign, the VeriSign logo, VeriSign Intelligence and Control Services, VeriSign Trust Network, Go Secure!, OnSite, and other trademarks, service marks, and logos are registered or unregistered trademarks of VeriSign and its subsidiaries in the United States and in foreign countries. Other trademarks and service marks in this document are the property of their respective owners. This document supports VeriSign Payment Services 4 and all subsequent releases unless otherwise indicated in a new edition or release notes. This document may describe features and/or functionality that are not present in your software or your service agreement. Contact your account representative to learn more about what is available with this VeriSign product. If you need help using this product, contact customer support. vps-support@verisign.com 1.888.883.9770 Publication date: March 2005 ii VeriSign, Inc. 00016773/Rev. 3

Summary of Revisions Summary of Revisions VeriSign Payment Services Payflow Pro Developer s Guide VeriSign, Inc. 00016773/Rev. 3 The following changes were made to this document since the last version: Throughout document Chapter 2, Installing and Configuring the Payflow Pro APIs Chapter 3, Performing Credit Card Transactions Chapter 4, Responses to Credit Card Transaction Requests Updated document cover and page layout. Added Support for FDMS North processor. Added support for AMEX APAC processor. Changed the parameter name SHIPTOCOUNTRY to the correct name, COUNTRYCODE. Identified certification versions supported by the SDK. Added TRANSSTATE to the verbosity settings in Table 3-3 on page 24. Updated the list of fields that are copied in credit transactions. Added two new RESULT codes (150 and 151) to Table 4-2 on page 48. Redefined the format of a PNREF value (Payflow Pro), also referred to as a Transaction ID value (Payflow Link), to more accurately reflect the flexibility of its design to support future expansion. See PNREF Format on page 47. VeriSign, Inc. 00016773/Rev. 2 The following changes were made to this document since the last revision. Tax exempt Purchasing card transactions The usage of the TAXAMT and TAXEXEMPT values in marking transactions as exempt from tax has been clarified. See Appendix D, Submitting Purchasing Card Level 2 and Level 3 Transactions. VeriSign, Inc. 00016773/Rev. 3 iii

VeriSign Payment Services Payflow Pro Developer s Guide iv VeriSign, Inc. 00016773/Rev. 3

DEVELOPER S GUIDE 1 ------------------------------------ Contents + Summary of Revisions...................... iii + Chapter 1 Introduction...................... 1 About Payflow Pro.......................... 1 How Payflow Pro Works.................... 1 Payflow Pro Advantages.................... 3 Pre-integrated Solutions...................... 3 Supported Processing Platforms............... 4 Supported Credit Cards...................... 4 Accepting a New Credit Card Type........... 4 Supported Payment Types.................... 5 Payflow Recurring Billing Service............... 6 Customer Support.......................... 6 VeriSign Payment Services................. 6 Processor Contact Information: Transaction Settlement............................. 6 About this Document........................ 8 Related Document.......................... 9 About Security............................. 9 1. VeriSign, Inc. 00016773/Rev. 3 v

VeriSign Payment Services Payflow Pro Developer s Guide + Chapter 2 Installing and Configuring the Payflow Pro APIs....................... 11 Before You Begin........................... 11 Supported Platforms...................... 12 Preparing the Payflow Pro Client Application..... 12 + Chapter 3 Performing Credit Card Transactions 13 About Credit Card Processing................. 14 Obtaining an Internet Merchant Account....... 14 Planning Your Payflow Pro Integration........ 15 E-commerce Indicator (ECI)................ 16 Credit Card Transaction Format............... 17 Command Syntax Guidelines............... 18 Parameters Used in Credit Card Transactions.... 19 Viewing Processor-specific Transaction Results: Verbosity............................... 23 Supported Verbosity Settings............... 23 Changing the Verbosity Setting.............. 26 Values Required by All Transaction Types....... 26 Submitting Sale Transactions................. 27 Additional Required Parameters for Sale Transactions.......................... 27 Example Sale Transaction Parameter List...... 27 Submitting Credit Transactions................ 27 Additional Required Parameters for Credit Transactions.......................... 27 Fields Copied From the Original Transaction into the Credit Transaction................... 28 Example Credit Transaction Parameter List.... 29 Submitting Void Transactions................. 29 Additional Required Parameters for Void Transactions...................... 29 Fields Copied From the Original Transaction into the Void Transaction....................... 29 Example Void Transaction Parameter List...... 30 Submitting Voice Authorization Transactions..... 30 Additional Required Parameters for Voice Authorization Transactions............... 31 vi VeriSign, Inc. 00016773/Rev. 3

Contents Example Voice Authorization Transaction Parameter List......................... 31 Submitting Inquiry Transactions............... 31 Using the PNREF to Perform Inquiry Transactions.......................... 31 Using the CUSTREF to Perform Inquiry Transactions.......................... 31 Example Inquiry Transaction Parameter List, Using the CUSTREF.................... 32 Submitting Authorization/Delayed Capture Transactions............................ 32 Additional Required Parameters for Authorization Transactions.......................... 32 Additional Required Parameters for Delayed Capture Transactions................... 32 Fields Copied From the Authorization Transaction into the Delayed Capture Transaction....... 33 Delayed Capture Transaction: Capturing Transactions for Lower Amounts........... 34 Delayed Capture Transaction: Capturing Transactions for Higher Amounts.......... 34 Delayed Capture Transaction: Error Handling and Retransmittal.......................... 35 Submitting Purchasing Card Transactions....... 35 Submitting Reference Transactions............ 35 Transaction Types that can be Used as the Original Transaction..................... 36 Fields Copied From Reference Transactions... 36 Example Reference Transaction............. 37 Using Address Verification Service (AVS)........ 38 Processing Platforms Supporting AVS.......... 38 Example AVS Request Parameter List........ 39 Example AVS Response................... 39 Card Security Code (CSC) Validation........... 40 Processing Platforms and Credit Cards Supporting CSC........................ 40 CSC Results............................ 41 Example CVV2 Request................... 42 Example CVV2MATCH Response........... 42 Submitting Card-Present (Swipe) Transactions... 42 VeriSign, Inc. 00016773/Rev. 3 vii

VeriSign Payment Services Payflow Pro Developer s Guide Supported Processing Platforms............. 43 Card-present Transaction Syntax............ 43 Example Card-present Transaction Parameter List......................... 43 Logging Transaction Information............... 43 + Chapter 4 Responses to Credit Card Transaction Requests 45 Contents of a Response to a Credit Card Transaction Request................................ 45 PNREF Value............................. 46 PNREF Format.......................... 47 RESULT Codes and RESPMSG Values......... 47 RESULT Values for Transaction Declines or Errors.............................. 48 RESULT Values for Communications Errors.... 53 + Chapter 5 Testing Payflow Pro Credit Card Transactions 55 Testing Guidelines.......................... 55 Credit Card Numbers Used for Testing.......... 56 Testing Result Codes Responses.............. 56 VeriSign Result Codes Returned Based on Transaction Amount..................... 57 Alternative Methods for Generating Specific Result Codes................................ 58 Testing Address Verification Service (AVS)...... 60 Testing Card Security Code (CVV2)............ 60 Testing TeleCheck Transactions............... 61 + Chapter 6 Activating Your Payflow Account.... 63 + Appendix A Processors Requiring Additional Transaction Parameters65 American Express.......................... 65 Additional Credit Card Parameters, American Express...................... 66 First Data Merchant Services (FDMS) Nashville... 67 Additional Credit Card Parameters, FDMS Nashville........................ 67 viii VeriSign, Inc. 00016773/Rev. 3

Contents First Data Merchant Services (FDMS) North...... 69 First Data Merchant Services (FDMS) South..... 69 Additional Credit Card Parameters, FDMS South.......................... 69 Nova.................................... 70 Additional Credit Card Parameters, Nova...... 70 Paymentech............................... 71 Additional Credit Card Parameters, Paymentech........................... 71 Vital..................................... 73 Additional Credit Card Parameters, Vital....... 73 + Appendix B Performing TeleCheck Electronic Check Transactions75 TeleCheck Contact Information................ 75 TeleCheck Transaction Syntax................ 75 Command Syntax Guidelines............... 77 TeleCheck Parameters...................... 77 Required Parameters..................... 78 Testing TeleCheck Transactions............... 80 Test Transaction Server................... 81 Example Test Transaction.................. 81 Preparing for TeleCheck Production Transactions. 81 Logging Transaction Information............... 82 + Appendix C Responses to TeleCheck Transaction Requests................................. 83 HOSTCODE Values........................ 83 + Appendix D Submitting Purchasing Card Level 2 and Level 3 Transactions.................... 87 About Purchasing Cards..................... 87 About Program Levels....................... 88 Accepted BIN Ranges..................... 88 Performing American Express Purchasing Card Transactions Through the American Express Processor.............................. 89 Supported Transaction Types............... 89 Avoiding Downgrade...................... 89 VeriSign, Inc. 00016773/Rev. 3 ix

VeriSign Payment Services Payflow Pro Developer s Guide Submitting Successful Level 3 Transactions.... 89 Edit Check.............................. 90 Accepted BIN Ranges..................... 90 American Express Level 2 Transaction Data... 91 Example American Express Level 2 Transaction Parameter List......................... 91 American Express Level 3 Transaction Data.... 91 Example American Express Level 3 SDK Transaction Parameter List............... 94 Example American Express Level 3 XMLPay Transaction........................... 94 Performing Purchasing Card Transactions, First Data Merchant Services (FDMS) Nashville......... 99 Performing Purchasing Card Transactions, First Data Merchant Services (FDMS) North........... 101 Purchase Card Line Item Parameters, FDMS North......................... 102 Performing Purchasing Card Transactions, First Data Merchant Services (FDMS) South... 103 Purchase Card Line Item Parameters, FDMS South......................... 105 FDMS South Purchase Card Level 2 and 3 Example Parameter List................. 106 FDMS South Line Item Parameter Example... 106 Performing Purchasing Card Transactions, Global Payments - Central...................... 107 Global Payments - Central Level 2 Parameters. 107 Example Global Payments - Central Level 2 Visa or MasterCard Transaction Parameter List.. 107 Performing Purchasing Card Transactions, Global Payments - East......................... 107 Global Payments - East Level 2 Parameters... 108 Example Global Payments - East Level 2 Visa or MasterCard Transaction Parameter List.... 108 Performing Purchasing Card Transactions, Nova. 108 Nova Level 2 Parameters................. 109 Additional Parameters, Nova............... 109 Example Nova Level 2 Transaction Parameter List........................ 110 Performing Level 2 Purchasing Card Transactions, Paymentech............................ 110 x VeriSign, Inc. 00016773/Rev. 3

Contents Paymentech Level 2 Parameters........... 110 Example Paymentech Level 2 Transactions... 111 Performing Level 2 Purchasing Card Transactions, Vital.................................. 111 Vital Level 2 Transaction Data.............. 111 Example Vital Level 2 Visa Transaction Parameter List........................ 112 Performing Level 3 Purchasing Card Transactions, Paymentech............................ 112 Paymentech Level 2 Transaction Data (Required for Level 3).................. 112 Paymentech Level 3 MasterCard Transaction Data...................... 112 Paymentech Level 3 Visa Transaction Data... 114 Example Paymentech Level 3 Transaction Parameter Lists....................... 115 Performing Level 3 MasterCard Transactions, Vital.................................. 115 Vital Level 2 MasterCard Transaction Data for Line-Item Transactions (Required for Level 3) 115 Vital Level 3 MasterCard Extended Data..... 117 Vital Level 3 MasterCard Line-item Detail Records 118 Example Vital Level 3 MasterCard Transaction Parameter List........................ 118 Performing Level 3 Visa Transactions, Vital..... 118 Vital Level 2 Visa Transaction Data for Line-Item Transactions (Required for Level 3)....... 120 Vital Level 3 Visa Extended Data........... 120 Vital Level 3 Visa Line-item Detail Records... 122 Example Vital Level 3 Visa Transaction Parameter List........................ 122 + Appendix E Additional Reporting Parameters.. 123 + Appendix F XMLPay....................... 127 About XMLPay............................ 127 XMLPay 2.0 Core Specification Document...... 127 VeriSign, Inc. 00016773/Rev. 3 xi

VeriSign Payment Services Payflow Pro Developer s Guide + Appendix G ISO Country Codes............. 129 + Appendix H Codes Used by FDMS South Only.137 MasterCard Country Codes.................. 137 Visa Country Codes........................ 142 Units of Measure.......................... 147 FDMS South Currency Codes and Decimal Positions.............................. 153 + Appendix I Ensuring Safe Storage and Use of Passwords155 Overview of the Risks...................... 155 Fraud Prevention Resources................. 156 Overview of the Example Password Encryption Program............................... 156 Included Files........................... 156 Requirements........................... 157 Encrypting the Password.................... 157 Submitting Transactions Using the Encrypted Password.............................. 158 Code Listings............................. 158 encrypt.pl Code Listing................... 158 PFProEncrypt.java Code Listing............ 159 securetest.pl Code Listing................. 162 PFProSecure.java Code Listing............. 163 + Appendix J Frequently Asked Questions...... 167 xii VeriSign, Inc. 00016773/Rev. 3

rte Chap CHAPTER 1 1Introduction VeriSign Payflow Pro is a high performance TCP/IP-based Internet payment solution. Payflow Pro is pre-integrated with leading e-commerce solutions and is also available as a downloadable software development kit (SDK). About Payflow Pro The Payflow Pro client resides on your computer system and is available on all major Web server platforms in a variety of formats to support integration requirements. It is available as a C library (.dll/.so), binary executable, Java library, COM object, Java Native Interface, and Perl Module Interface. Payflow Pro is multi-threaded and allows multiple concurrent transactions from a single client. It can be integrated as a Web-based or a non-web-based application. It does not require the HTTP protocol to run, which allows for greater flexibility in configuration and reduced processing overhead for higher performance. How Payflow Pro Works Payflow Pro uses a client/server architecture to transfer transaction data from you to the processing networks, and then returns the authorization results to you. Payflow VeriSign, Inc. 00016773/Rev. 3 1

VeriSign Payment Services Payflow Pro Developer s Guide Pro can process real-time credit card transactions and other transaction types to most of the financial processing centers in the United States. Merchant VeriSign Custom Web Applications Shopping Carts Bill Presentment Solutions Internet Enabled Legacy Systems TCP/IP SSL Merchant Payflow Pro software development kit Internet VeriSign Payflow payment gateway Figure 1-1 Payflow Pro transaction flow 1 The Payflow Pro client encrypts each transaction request using the latest Secure Sockets Layer (SSL) encryption and establishes a secure link with the VeriSign Payflow server over the Internet. 2 The VeriSign Payflow server, a multi-threaded processing environment, receives the request and transmits it (over a secure private network) to the appropriate financial processing network for real-time payment authorization. 3 The response (approved/declined, and so on) is received from the financial network and is returned in the same session to the Payflow Pro client. 4 The Payflow Pro client completes each transaction session by transparently sending a transaction receipt to the VeriSign server before disconnecting the session. The entire process is a real-time synchronous transaction. Once connected, the transaction is immediately processed and the answer returned in about three seconds. Payflow Pro does not affect or define the time periods of authorizations, nor does it influence the approval or denial of a transaction by the issuer. When integrating with Payflow Pro, you need only be concerned with passing all the required data for transaction authorization. For transactions that you want to be settled (close batch), the operation is handled by VeriSign. 2 VeriSign, Inc. 00016773/Rev. 3

Chapter 1 Introduction Payflow Pro Advantages + Configurable to any e-commerce application. Payflow Pro is ideal for enterprise merchants who require complete customizability for a controlled buyer experience. + Easy to install and implement. Downloadable from VeriSign s Web site, Payflow Pro can be easily integrated into a customized e-commerce solution in a matter of hours. + Integration versatility. Payflow Pro can be integrated as an application library or can be run using CGI scripts. Pre-integrated Solutions Payflow Pro is integrated with the majority of third-party shopping carts and e-commerce applications. + For a list of shopping carts compatible with Payflow Pro, see http://www.verisign.com/products-services/payment-processing/ shopping-cart-service-list.html + Some VeriSign integrations are included with the third-party solution. For a list of e-commerce applications compatible with Payflow Pro, see http://www.verisign.com/products-services/payment-processing/ development-platform-partners.html + The following VeriSign integrations are available from VeriSign Manager s Download page (https://payments.verisign.com/manager): BEA Weblogic IBM Websphere Payment Manager Macromedia Cold Fusion Microsoft Commerce Server 2000 and 2002 Miva Oracle ipayment VeriSign, Inc. 00016773/Rev. 3 3

VeriSign Payment Services Payflow Pro Developer s Guide Supported Processing Platforms Payflow Pro supports the following processing platforms: American Express Phoenix American Express APAC First Data Merchant Services (FDMS) Nashville First Data Merchant Services (FDMS) North First Data Merchant Services (FDMS) South First Data Resources (FDR) Australia Global Payments Central Global Payments East Nova Paymentech New Hampshire First Data TeleCheck Vital Supported Credit Cards Payflow Pro supports multiple credit card types, including: American Express/Optima Diners Club Discover/Novus JCB MasterCard Visa Accepting a New Credit Card Type To accept a new credit card type, the Primary or Secondary Contact person for the Payflow account should follow these steps: 1 Contact your Acquiring bank (the merchant bank that holds your Internet Merchant Account) and ask them to add the new card type to your Internet Merchant account. If your account is partnered with American Express, you must first obtain a Visa/MasterCard merchant account to accept other card types. 2 When the Acquiring bank notifies you that you can accept the new card type, contact VeriSign Customer Support at 1-888-883-9770. Ask the representative to 4 VeriSign, Inc. 00016773/Rev. 3

Chapter 1 Introduction add the new card type to your Payflow account. The representative will verify your identity and perform the update. IMPORTANT! For your security, VeriSign recommends that you keep your password secure and do not communicate it to others. VeriSign will never ask you for your password. Your account will start accepting the new card type in 24-48 hours. Special Case: American Express Either the Primary or Secondary contact (listed under the Account Info section in VeriSign Manager) must e-mail your VeriSign login ID and the following processor setup information to vps-support@verisign.com. Processor Setup Information + Merchant ID number / SE number. 9 to 11 digits + SIC (Category Code). 4 digits + Business Name. maximum 20 characters + Business City. maximum 18 characters + Business State. 2 characters Once VeriSign updates the information, you are notified by return e-mail and your account becomes active at the top of the next hour. VeriSign recommends that you test your account with a real credit card before allowing the public to use the new card type. Supported Payment Types Payflow Pro supports multiple payment types in a single installation, including: + Credit cards + Electronic check (TeleCheck) + Check cards + Purchasing cards (also referred to as commercial cards, corporate cards, procurement cards, or business cards) Level II and Level III + Automated Clearing House (ACH). For information on performing ACH transactions, contact your VeriSign Sales Representative at paymentsales@verisign.com VeriSign, Inc. 00016773/Rev. 3 5

VeriSign Payment Services Payflow Pro Developer s Guide Payflow Recurring Billing Service VeriSign s Payflow Recurring Billing Service is a scheduled payment solution that enables you to automatically bill your customers at regular intervals for example, a monthly fee of $42 for 36 months with an initial fee of $129. You enroll separately for the Payflow Recurring Billing Service. Using Payflow Pro to define and manage recurring transactions is fully described in VeriSign Payflow Recurring Billing Service Guide for Payflow Pro. Customer Support For problems with transaction processing or your connection to VeriSign, contact: VeriSign Payment Services Online Information: http://www.verisign.com/products-services/payment-processing/index.ht ml http://www.verisign.com/support/payflow/pro/index.html E-mail Mail vps-support@verisign.com VeriSign Payment Services Attn: Customer Support 487 E. Middlefield Rd. Mountain View, CA 94043 Phone 1.888.883.9770 Processor Contact Information: Transaction Settlement For questions regarding transaction settlement, contact your processor: American Express 19640 N. 31st Avenue Phoenix, AX 85027 (800) 297-5555 First Data Merchant Services (FDMS) Nashville First Data Corporation 2525 Perimeter Place Drive Suite 123 (800) 647-3722 6 VeriSign, Inc. 00016773/Rev. 3

Chapter 1 Introduction First Data Merchant Services (FDMS) North First Data Merchant Services 1307 Walt Whitman Road Melville, New York 11747 First Data Merchant Services (FDMS) South First Data Corporation Business Payment Services Group 4000 Coral Ridge Drive Coral Springs, FL 33065 (800) 326-2217 Global Payments East Global Payments Inc. Four Corporate Square Atlanta, Georgia 30329-2010 800-622-2318 Main corporate number: 404-235-4400 Global Payments Central Global Payments Inc. 2045 Westport Center Dr. St. Louis, MO 63146 (314) 989-3300 product.integration@globalpay.com Nova Information Systems, Inc. Knoxville Operations Center 7300 Chapman Highway Knoxville, TN 37920-6609 (800) 725-1243 Paymentech, Inc. 4 Northeastern Blvd. Salem, NH 03079 (800) 782-1266 TeleCheck Merchant Services P.O. Box 4513 Houston, TX 77210-4513 (800) 366-1054 (Merchant Services) VeriSign, Inc. 00016773/Rev. 3 7

VeriSign Payment Services Payflow Pro Developer s Guide Vital Visanet Processing Services 8320 South Hardy Road Tempe, AZ 85284 (800) 847-2772 (Merchant Help Desk) Wells Fargo Bank Merchant Card Services 1200 Montego Way Walnut Creek, California 94598 About this Document This document is organized as follows: + Chapter 2, Installing and Configuring the Payflow Pro APIs, shows a typical Payflow Pro installation procedure for NT and UNIX. + Chapter 3, Performing Credit Card Transactions, discusses credit card transaction syntax and parameters and describes how to perform transactions. + Chapter 4, Responses to Credit Card Transaction Requests, describes the responses to credit card transaction requests. + Chapter 5, Testing Payflow Pro Credit Card Transactions, describes how to test your Payflow Pro integration for credit card transactions. + Chapter 6, Activating Your Payflow Account, specifies the steps you follow when you are ready to accept live transactions with Payflow Pro. + Appendix A, Processors Requiring Additional Transaction Parameters, lists processors and their processor-specific parameters. + Appendix B, Performing TeleCheck Electronic Check Transactions, discusses TeleCheck transaction syntax and parameters and describes how to perform transactions. In addition, this chapter describes testing your TeleCheck integration. + Appendix C, Responses to TeleCheck Transaction Requests, describes the responses to TeleCheck transaction requests. + Appendix D, Submitting Purchasing Card Level 2 and Level 3 Transactions. VeriSign Payment Services supports passing Purchasing Card Level 2 information (such as purchase order number, tax amount, and charge description) in the settlement file. 8 VeriSign, Inc. 00016773/Rev. 3

Chapter 1 Introduction + Appendix E, Additional Reporting Parameters, details the parameters that can be passed to VeriSign for reporting purposes. + Appendix F, XMLPay, briefly describes XMLPay and tells where you may obtain a copy of VeriSign Payment Services XMLPay 2.0 Core Specification. + Appendix G, ISO Country Codes, lists Country Codes, Units of Measure, and Currency Codes. + Appendix H, Codes Used by FDMS South Only, lists codes used only by First Data Merchant Services (FDMS) South. + Appendix I, Ensuring Safe Storage and Use of Passwords, describes the example Payflow Pro Encrypted Password program. + Appendix J, Frequently Asked Questions, contains answers to the most commonly asked questions about Payflow Pro. Related Document VeriSign Manager User s Guide describes the use of VeriSign Manager the Web-based administration tool that you use to process transactions manually, issue credits, and generate reports. About Security It is your responsibility to protect your passwords and other confidential data and to implement security safeguards on your Web site and in your organization, or to ensure that your hosting company or internal Web operations team is implementing them on your behalf. You or your ISP/shopping cart provider should be able to adhere to security requirements as protective as those described at: http://www.verisign.com/support/payflow/security.html VeriSign, Inc. 00016773/Rev. 3 9

VeriSign Payment Services Payflow Pro Developer s Guide IMPORTANT! To enable you to test Payflow Pro, VeriSign provides sample transaction scripts that you customize with your VeriSign account information and password. Because the password is initially stored in the text of the program, it is vulnerable. Do not use VeriSign's test scripts in your production environment. To minimize fraud, machine passwords should always be encrypted. You must write a program that encrypts and decrypts your Payflow Pro account password. Appendix I, Ensuring Safe Storage and Use of Passwords, describes an example method for encrypting your Payflow Pro password and enabling your application to access and decrypt the password when submitting Payflow Pro transactions. 10 VeriSign, Inc. 00016773/Rev. 3

rte Chap CHAPTER 2 2Installing and Configuring the Payflow Pro APIs The Payflow Pro software development kit (SDK) is available either as a standalone client that you can integrate with your Web store using CGI scripts or as a set of APIs for direct integration with your application. Note The functionality introduced in this version of the SDK is available only to clients using V3 certification. It is not backward compatible to earlier versions. This chapter provides instructions for downloading the SDK appropriate to your platform. IMPORTANT! Full API documentation is included with each SDK. Before You Begin If you plan to integrate the Payflow Pro APIs yourself: You should be familiar with Web development tools and procedures. If you are not, consider letting one of VeriSign s Web development partners help you. You can find a VeriSign Web development partner at: http://www.verisign.com/products-services/payment-processing/ development-platform-partners.html If you require assistance integrating the Payflow Pro APIs: Consider using a shopping cart that integrates Payflow Pro. You can find more information at: http://www.verisign.com/products-services/payment-processing/ shopping-cart-service-list.html VeriSign, Inc. 00016773/Rev. 3 11

VeriSign Payment Services Payflow Pro Developer s Guide Supported Platforms Payflow Pro is available on all major Web server platforms in a variety of formats to support your integration requirements. It is available as a C library (.dll/.so), binary executable, Java library, COM object, Java Native Interface, and Perl Module Interface. Table 2-1 Payflow Pro supported platforms AIX 4.3 RedHat Linux 7.x, 8.x, 9.x BSDI 4.0 FreeBSD 4.x HP-UX 11.0 Solaris 2.6/Intel Solaris 2.6/Sparc Win32 Java 1.2, 1.3, 1.4 Preparing the Payflow Pro Client Application Follow these steps to download and install the Payflow Pro application. Step 1 Download the Payflow Pro SDK From the Download section of the VeriSign Manager (https://payments.verisign.com/manager), download the Payflow Pro SDK appropriate for your platform. Step 2 Extract the files to a local directory Step 3 Configure your firewall Enable inbound traffic for SSL (port 443). Step 4 Set the certificate path To enable the client to authenticate the VeriSign Payment Services server, you must set the path to include the certs directory (included with the SDK that you downloaded). For specific information on setting the certificate path, see the Readme file and example applications in the SDK. Step 5 Read the Readme file The readme.txt file includes integration information and samples that illustrate how to use the client in your development environment. 12 VeriSign, Inc. 00016773/Rev. 3

rte Chap CHAPTER 3 3Performing Credit Card Transactions This chapter describes the process of performing credit card transactions. Responses to transaction requests are described in Chapter 4, Responses to Credit Card Transaction Requests. Using Payflow Pro to define and manage recurring transactions is fully described in VeriSign Payflow Recurring Billing Service Guide for Payflow Pro. Note For information on TeleCheck transactions, skip this chapter and see Appendix B, Performing TeleCheck Electronic Check Transactions. In This Chapter + About Credit Card Processing on page 14. + Credit Card Transaction Format on page 17. + Parameters Used in Credit Card Transactions on page 19. + Values Required by All Transaction Types on page 26. + Submitting Sale Transactions on page 27. + Submitting Credit Transactions on page 27. + Submitting Void Transactions on page 29. + Submitting Voice Authorization Transactions on page 30. + Submitting Inquiry Transactions on page 31. + Submitting Authorization/Delayed Capture Transactions on page 32. + Submitting Purchasing Card Transactions on page 35. + Submitting Reference Transactions on page 35. + Using Address Verification Service (AVS) on page 38. VeriSign, Inc. 00016773/Rev. 3 13

VeriSign Payment Services Payflow Pro Developer s Guide + Card Security Code (CSC) Validation on page 40. + Submitting Card-Present (Swipe) Transactions on page 42. + Logging Transaction Information on page 43. About Credit Card Processing Credit card processing occurs in two steps a real-time Authorization and a capture (settlement) of the funds that were authorized. As discussed below, you perform these two steps either as a single transaction or as two transactions, depending on your business model. For an Authorization, VeriSign sends the transaction information to a credit card processor who routes the transaction through the financial networks to the cardholder s issuing bank. The issuing bank checks whether the card is valid, evaluates whether sufficient credit exists, checks values such as Address Verification Service and Card Security Codes (discussed below), and returns a response: Approval, Decline, Referral, or others. You receive the response a few seconds after you submit the transaction to VeriSign. If the Authorization is approved, the bank temporarily reserves credit for the amount of the transaction to prepare to capture (fulfill) the transaction. The hold on funds typically lasts for about a week. Note You cannot remove a hold on funds through the processing networks you must contact the issuing bank to lift a hold early. Capturing a transaction (also known as settling a transaction) actually transfers the funds to your bank. At least once a day, VeriSign gathers all transactions that are flagged to be settled and sends them in a batch file to the processor. The processor then charges the issuing bank and transfers the funds to your bank. It typically takes a few days before the money is actually available in your account, depending on your bank. Obtaining an Internet Merchant Account To accept credit cards over the Internet, you need a special account called an Internet Merchant Account. Your account provider or acquiring bank works with a VeriSign-supported credit card processor, such as First Data, Vital, or Paymentech. To use Payflow Pro to accept live credit cards, you must provide certain details about your account to VeriSign during the Go Live part of the enrollment process. 14 VeriSign, Inc. 00016773/Rev. 3

Chapter 3 Performing Credit Card Transactions Note An Internet Merchant Account is separate from a merchant account used for in-person retail transactions due to the different risk profile for card-not-present (e-commerce) transactions. VeriSign has partnered with several Internet Merchant Account providers to make applying easy. Contact your VeriSign representative for more information. Planning Your Payflow Pro Integration In designing your Payflow Pro integration, you should evaluate the following: + Whether to use a one-step or two-step transaction process. One-step: Submit a Sale transaction, which performs the Authorization and (if successful) then flags the transaction for settlement. Two-step: Perform an Authorization-only transaction and then later perform a Delayed Capture transaction. The Delayed Capture transaction can be for the same amount as the original transaction or for a lower amount. (In the case of a split shipment, you can perform a Delayed Capture transaction for the initial shipment and a reference transaction for the final payment. These transaction types are described in this chapter.) According to card association rules, most physical goods merchants should use a two-step process, since settlement should occur when the goods are fulfilled or shipped. A two-step process is also useful if you want to evaluate information in the response, such as whether the issuer verifies the billing address, and so on. Electronic goods merchants, who fulfill the order immediately, can use the one-step process. Check with your Internet Merchant Account provider for suggestions on the best method for you. + Whether or how to use risk management tools such as Address Verification Service (AVS) and card security code (CSC). For AVS, if the data is submitted with the initial transaction, the issuer checks the street address and/or the ZIP (postal) code against the billing address on file for the consumer. AVS is described on page 38. CSC refers to a 3- or 4-digit number that appears on the back of most credit cards. On American Express, the number appears above and to the right of the embossed card number. CSC is known by other names, such as CVV2 and CID, depending on the type of card. If CSC data is submitted, the issuer can notify you VeriSign, Inc. 00016773/Rev. 3 15

VeriSign Payment Services Payflow Pro Developer s Guide whether the number matches the number assigned to the card. CSC is described on page 40. It may also be possible to implement additional safeguards yourself or to use a fraud service from VeriSign. You might want to discuss risk management with your Internet Merchant Account provider. + Store information in your local database or use VeriSign Manager reports to manage the data. You may want to store shipping information in your system, or you may prefer to send the information to VeriSign with the transaction and report on it later. Note VeriSign recommends that you do not store credit card numbers. If you must store numbers, encrypt and store them behind properly configured firewalls. You should also consider whether and how to use the merchant-defined fields COMMENT1 and COMMENT2 to help tie VeriSign reports to your orders/customers or to report on other information about the transaction. + If or how you want to integrate with other systems, such as order fulfillment, customer service, and so on. You may wish to connect these systems directly to Payflow Pro for capturing funds, issuing refunds/credits, and so on. Alternatively, you may prefer to perform these steps manually using VeriSign Manager. Either way, VeriSign recommends that you monitor transaction activity using VeriSign Manager. + You may want to discuss, with your Internet Merchant Acquirer, practices that help you to obtain the most advantageous rates. E-commerce Indicator (ECI) Some processors support a software flag called E-commerce Indicator (ECI) that indicates that the associated transaction is an Internet transaction. Payflow Pro complies with ECI basic requirements for all supported processors. If you use VeriSign s Buyer Authentication Service, then the ECI values reflects the Authentication status. See VeriSign User s Guide for Payflow Pro with Fraud Protection Services. 16 VeriSign, Inc. 00016773/Rev. 3

Chapter 3 Performing Credit Card Transactions Credit Card Transaction Format Note The examples in this chapter use the syntax of the pfpro executable client. Other Payflow Pro clients differ in where and how the parameter values are set, but the meaning and uses are the same. Use the following syntax when calling the Payflow Pro client (pfpro) to process a transaction. Table 3-1 describes the arguments to the command. pfpro <HostAddress> <HostPort> <ParmList> <TimeOut> <ProxyAddress> <ProxyPort> <ProxyLogon> <ProxyPassword> For example: pfpro test-payflow.verisign.com 443 TRXTYPE=S&TENDER=C&PARTNER=VeriSign&VENDOR=SuperMerchant&U SER=SuperMerchant&PWD=x1y2z3&ACCT=5555555555554444&EXPDATE=03 08&AMT=123.00 30 Table 3-1 Arguments to the pfpro executable client Argument Required Description HOSTADDRESS Yes VeriSign s host name. For live transactions, use payflow.verisign.com For testing purposes use test-payflow.verisign.com HOSTPORT Yes Use port 443 PARMLIST Yes The ParmList is the list of parameters that specify the payment information for the transaction. The quotation marks at the beginning and end are required. In the example, the ParmList is: TRXTYPE=S&TENDER=C&PARTNER=VeriSign&VENDOR =SuperMerchant&USER=SuperMerchant&PWD=x1y2z3&A CCT=5555555555554444&EXPDATE=0308&AMT=123.00 The content of the ParmList varies by the type of transaction being processed. For example, a Void transaction requires a different set of parameters than does a Sale transaction. Parameters Used in Credit Card Transactions on page 19 defines the parameters used to create credit card transactions. Values Required by All Transaction Types on page 26 lists the parameters required by each transaction type. VeriSign, Inc. 00016773/Rev. 3 17

VeriSign Payment Services Payflow Pro Developer s Guide Table 3-1 Arguments to the pfpro executable client (Continued) Argument Required Description TIMEOUT Yes Time-out period for the transaction. The minimum recommended time-out value is 30 seconds. The VeriSign client begins tracking from the time that it sends the transaction request to the VeriSign server. PROXYADDRESS No Proxy server address. Use the PROXY parameters for servers behind a firewall. Your network administrator can provide the values. PROXYPORT No Proxy server port PROXYLOGON No Proxy server logon ID PROXYPASSWORD No Proxy server logon password Command Syntax Guidelines Follow these guidelines: + The command must be a single string with no line breaks. + Spaces are allowed in values + Enclose the ParmList in quotation marks ( ). + Quotation marks ( ) are not allowed within the body of the ParmList. + Separate all name/value pairs in the ParmList using an ampersand (&). + Payflow Pro supports UTF-8 format for values passed in name/value pairs. + Calling pfpro without the required parameters results in an error message. Using Special Characters in Values Because the ampersand (&) and equal sign (=) characters have special meanings in the ParmList, name/value pairs like the following examples are not valid: NAME=Ruff & Johnson COMMENT1=Level=5 To use special characters in the value of a name/value pair, use a length tag. The length tag specifies the exact number of characters and spaces that appear in the value. The following name/value pairs are valid: NAME[14]=Ruff & Johnson COMMENT1[7]=Level=5 18 VeriSign, Inc. 00016773/Rev. 3

Chapter 3 Performing Credit Card Transactions Note Quotation marks ( ) are not allowed even if you use a length tag. Parameters Used in Credit Card Transactions All credit card processors accept the parameters listed in Table 3-2 (required and optional parameters are noted). Values Required by All Transaction Types on page 26 lists the parameters required for each transaction type. Note Some processors require yet additional parameters. See Appendix A, Processors Requiring Additional Transaction Parameters, for details on your processor s requirements. Appendix E, Additional Reporting Parameters, provides a list of parameters that you can pass for reporting purposes. Table 3-2 Credit-card transaction parameters Parameter Description Required Type Max. Length ACCT AMT The credit card or purchase card number may not contain spaces, non-numeric characters, or dashes. For example, ACCT=5555555555554444 Amount (US Dollars) U.S. based currency. Specify the exact amount to the cent using a decimal point use 34.00, not 34. Do not include comma separators use 1199.95 not 1,199.95. Your processor and/or Internet merchant account provider may stipulate a maximum amount. Yes 1 Numeric 19 Yes 1 Numeric USD only 10 AUTHCODE AUTHCODE is returned only for approved Voice Authorization transactions. AUTHCODE is the approval code obtained over the phone from the processing network. req d for Voice Authoriza tion only. Alphanumeric 6 COMMENT1 Merchant-defined value for reporting and auditing purposes. No Alphanumeric 128 COMMENT2 Merchant-defined value for reporting and auditing purposes. No Alphanumeric 128 VeriSign, Inc. 00016773/Rev. 3 19

VeriSign Payment Services Payflow Pro Developer s Guide Table 3-2 Credit-card transaction parameters (Continued) Parameter Description Required Type Max. Length CUSTREF Merchant-defined identifier for reporting and auditing purposes. For example, you can set CUSTREF to the invoice number. No Alphanumeric 12 You can use CUSTREF when performing Inquiry transactions. To ensure that you can always access the correct transaction when performing an Inquiry, you must provide a unique CUSTREF when submitting any transaction, including retries. See STARTTIME and ENDTIME. CVV2 A 3- or 4-digit code that is printed (not imprinted) on the back of a credit card. Used as partial assurance that the card is in the buyer s possession. No Alphanumeric 4 See Card Security Code (CSC) Validation on page 40. ENDTIME EXPDATE Optional for Inquiry transactions when using CUSTREF to specify the transaction. ENDTIME specifies the end of the time period during which the transaction specified by the CUSTREF occurred. See STARTTIME. ENDTIME must be less than 30 days after STARTTIME. An inquiry cannot be performed across a date range greater than 30 days. If you set ENDTIME, and not STARTTIME, then STARTTIME is defaulted to 30 days before ENDTIME. If neither STARTTIME nor ENDTIME is specified, then the system searches the last 30 days. Format: yyyymmddhhmmss Expiration date of the credit card in mmyy format. For example, 0308 represents March 2008. No Numeric 14 Yes 1 Numeric 4 NAME or FIRSTNAME Account holder's name. This single field holds all of the person s name information. No, but recommended Alphanumeric upperca se 30 20 VeriSign, Inc. 00016773/Rev. 3

Chapter 3 Performing Credit Card Transactions Table 3-2 Credit-card transaction parameters (Continued) Parameter Description Required Type Max. Length ORIGID Yes 1 12 The ID of the original transaction that is being referenced. This ID is returned by the PNREF parameter and appears as the Transaction ID in VeriSign Manager reports. ORIGID is case-sensitive. Alphanumeric PARTNER The authorized VeriSign Reseller that registered you for the Payflow Pro service provided you with a Partner ID. If you registered yourself, use VeriSign. Yes Alphanumeric 12 Case-sensitive. PWD Case-sensitive 6- to 32-character password that you defined while registering for the account. Yes Alphanumeric 32 STARTTIME Optional for Inquiry transactions when using CUSTREF to specify the transaction. STARTTIME specifies the beginning of the time period during which the transaction specified by the CUSTREF occurred. See ENDTIME. If you set STARTTIME, and not ENDTIME, then ENDTIME is defaulted to 30 days after STARTTIME. If neither STARTTIME nor ENDTIME is specified, then the system searches the last 30 days. Format: yyyymmddhhmmss No Numeric 14 STREET The cardholder s street address (number and street name). No Alphanumeric 30 The STREET address is verified by the AVS service (described in page 38.) VeriSign, Inc. 00016773/Rev. 3 21

VeriSign Payment Services Payflow Pro Developer s Guide Table 3-2 Credit-card transaction parameters (Continued) Parameter Description Required Type Max. Length SWIPE Used to pass the Track 1 or Track 2 data (the card s magnetic stripe information) for card-present transactions. Include either Track 1 or Track 2 data not both. If Track 1 is physically damaged, the POS application can send Track 2 data instead. Required only for cardpresent transactions Alphanumeric The track data includes the disallowed = (equal sign) character. To enable you to use the data, the SWIPE parameter must include a length tag specifying the number of characters in the track data. For this reason, in addition to passing the track data, the POS application must count the characters in the track data and pass that number. Length tags are described in Using Special Characters in Values on page 18. TENDER The tender type (method of payment). Use the value C for credit card transactions. Yes Alpha 1 TRXTYPE A single character indicating the type of transaction to perform: TRXTYPE=S indicates a Sale transaction, C: Credit, A: Authorization, D: Delayed Capture, V: Void, F: Voice Authorization, I: Inquiry. Yes Alpha 1 USER Your login name. The examples in this document use USER=SuperMerchant. Yes Alphanumeric 64 This value is case-sensitive. You created the login name while registering for your Payflow account. Currently, USER takes the same value as VENDOR. In a future release, each account will allow multiple users. The USER parameter will then specify the particular user. VENDOR Your login name. The examples in this document use VENDOR=SuperMerchant. Yes Alphanumeric 64 This value is case-sensitive. You created the login name while registering for your Payflow account. 22 VeriSign, Inc. 00016773/Rev. 3