Developer's Guide
Table Of Contents
- Content
- Preface
- Introducing the Gateway Checkout Solutions
- Secure Token
- Configuring Hosted Checkout Pages
- Payflow SDK
- Sending a Simple Transaction to the Server
- Submitting Credit Card Transactions
- Obtaining an Internet Merchant Account
- About Credit Card Processing
- Credit Card Features
- Planning Your Gateway Integration
- Core Credit Card Parameters
- Submitting Account Verifications
- Submitting Authorization/Delayed Capture Transactions
- Submitting Balance Inquiry Transactions
- Submitting Card Present (SWIPE) Transactions
- Submitting Credit Transactions
- Submitting Inquiry Transactions
- When To Use an Inquiry Transaction
- Required Parameters When Using the PNREF
- Inquiry Transaction Parameter String Using the PNREF
- Required Parameters When Using the CUSTREF
- Inquiry Transaction Parameter String Using the CUSTREF
- Required Parameters When Using the Secure Token
- Inquiry Parameter String Using the Secure Token
- Submitting Partial Authorizations
- Submitting Purchasing Card Transactions
- Submitting Reference Transactions (Tokenization)
- Submitting Sale Transactions
- Submitting Soft Merchant Information
- Submitting Voice Authorization Transactions
- Submitting Void Transactions
- Using Address Verification Service
- Using Card Security Code
- Testing Transactions
- Transaction Responses
- Processors Requiring Additional Transaction Parameters
- American Express Additional Credit Card Parameters
- Elavon Additional Credit Card Parameters
- First Data Merchant Services Nashville, Additional Credit Card Parameters
- First Data Merchant Services North, Additional Credit Card Parameters
- Heartland, Additional Credit Card Parameters
- Litle Additional Credit Card Parameters
- Merchant e-Solutions, Additional Credit Card Parameters
- Paymentech Salem (New Hampshire) Additional Credit Card Parameters for American Express
- PayPal Credit Card Transaction Request Parameters
- SecureNet Additional Credit Card Parameters for American Express
- Vantiv Additional Credit Card Parameters
- WorldPay Additional Credit Card Parameters
- TeleCheck Electronic Check Processing
- Submitting Purchasing Card Level 2 and 3 Transactions
- About Purchasing Cards
- About Program Levels
- About American Express Purchasing Card Transactions
- American Express Purchasing Card Transaction Processing
- Elavon (Formerly Nova) Purchasing Card Transaction Processing
- First Data Merchant Services (FDMS) Nashville Purchasing Card Transaction Processing
- First Data Merchant Services (FDMS) North Purchasing Card Transaction Processing
- First Data Merchant Services South (FDMS) Purchasing Card Transaction Processing
- Global Payments - Central Purchasing Card Transaction Processing
- Global Payments - East Purchasing Card Transaction Processing
- Heartland Purchasing Card Transaction Processing
- Litle Purchasing Card Transaction Processing
- Merchant e-Solutions Purchasing Card Transaction Processing
- Paymentech Salem (New Hampshire) Purchasing Card Transaction Processing
- Paymentech Tampa Level 2 Purchasing Card Transaction Processing
- SecureNet Purchasing Card Transaction Processing
- TSYS Acquiring Solutions Purchasing Card Transaction Processing
- Vantiv Purchasing Card Transaction Processing
- WorldPay Purchasing Cards Transaction Processing
- Payflow Header Parameters
- VERBOSITY: Processor-Specific Transaction Results
- ISO Country Codes
- Codes Used by FDMS South Only
- PayPal Acquirer
- Additional Processor Information
- Payflow Link Migration
- Payflow Gateway MagTek Parameters
Payflow Header Parameters
Posting Transactions Directly Without the Payflow SDK
D
210 07 February 2013 Gateway Developer Guide and Reference
Required Payflow Headers
Header Name Description
X-VPS-REQUEST-ID (Required) A unique identifier for each request, whether the request is a single
name-value transaction or an XMLPay 2.0 document with multiple
transactions. This identifier is associated with all the transactions in that
particular request.
X-VPS-REQUEST-ID is made up of 1 to 32 printable characters. You must
provide the X-VPS-REQUEST-ID value in the transaction request. The server
uses the X-VPS-REQUEST-ID to check for duplicate transaction requests.
When a transaction request is received, the server checks the requests table to
see if the X-VPS-REQUEST-ID has been used before by this merchant.
If the X-VPS-REQUEST-ID has been used before, the server views it as a retry
transaction and the transaction is treated as a duplicate. The response to the
original transaction request is returned and “DUPLICATE=1” is appended to the
response indicating that this transaction is a duplicate. In Manager, you will see
these DUPLICATE transactions with a TENDER type of “N”.
IMPORTANT: If you send in a NEW transaction with a previously used X-
VPS-REQUEST-ID, the server ignores the new data and returns
the response to the original transaction associated with that X-
VPS-REQUEST-ID.
It is VERY IMPORTANT that you check for DUPLICATE=1 and if you receive
it and the transaction is not a re-attempt of the original request of a failed
transaction, you must change the Request ID.
If the X-VPS-REQUEST-ID has not been used before, the server stores the X-
VPS-REQUEST-ID to ensure that the X-VPS-REQUEST-ID is not reused and
then runs the associated transactions. Duplicate checking is designed for short-
term retries (a few minutes to a few hours after the original transaction). The X-
VPS-REQUEST-ID is stored for a minimum of 7 to 8 days; however, retries
should not be sent so long after the original transaction.
NOTE: Any transaction with an ID older than 8 days will be treated as a new
transaction.
The X-VPS-REQUEST-ID check is only available if the database is up and
available. If for some reason the database is down, transactions (authorizations
and sales) will continue to be processed as normal; however, DUPLICATE=-1
(negative one) will be returned to alert you that the database is down and there
is no duplicate check being performed.
NOTE: Buyer Authentication: E-Verify Enrollment, Z-Validate Authentication
transactions and PayPal Express Checkout: SetExpressCheckout and
GetExpressCheckout transactions do not use duplicate suppression and
will not return DUPLICATE=1
X-VPS-CLIENT-TIMEOUT (Required) Time-out value in seconds. A transaction times out if the elapsed
time between ending the original transaction request and receiving the
transaction response exceeds the value of X-VPS-CLIENT-TIMEOUT. The
default value is 45.