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 (Refund) 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
- Information for the PayPal Acquirer
- 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
- Cielo Payments, 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
- Payflow Header Parameters
- 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
- Cielo Payments 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
- VERBOSITY: Processor-Specific Transaction Results
- Country Codes
- Codes Used by FDMS South Only
- Additional Processor Information
- Payflow Link Migration
- Payflow Gateway MagTek Parameters
- Payflow Gateway FAQs
Payflow Header Parameters
Posting Transactions Directly Without the Payflow SDK
C
156 07 January 2014 Gateway Developer Guide and Reference
Posting Transactions Directly Without the Payflow SDK
The Payflow SDK is recommended for .NET and Java users, to simplify the Payflow
integration. Developers who prefer to write code in other programming languages can go to
the PayPal Labs integration wizard web site (
https://devtools-paypal.com/integrationwizard/.). The
wizard generates customizable code samples in languages such as PHP.
Developers also have the option to post transactions directly to the Payflow servers using the
Payflow message protocol, without the need to install an SDK. This section describes the
HTTP headers that are required to post transactions directly to the Payflow servers.
The Payflow Message Protocol
What is the Payflow message protocol and what are its advantages?
PayPal’s Payflow message protocol is an HTTP-compatible protocol for transactions. The
HTTP-compliant implementation of this protocol has the following goals:
It enhances flexibility to developers integrating with the Payflow Service. Merchants can
use the protocol in either of these ways:
– Using a Payflow SDK such as .NET or Java that uses this protocol.
– Integrating this protocol directly into your own client application without using an SDK.
– It increases reliability through adherence to open standards.
– Built-in tools to prevent duplicate transactions and authorizations.
The Payflow message protocol provides the underlying transport for application-level
transactions, using either the Payflow name-value pair or XMLPay 2.0 format. All
transaction data as documented in this guide is embedded in the body of a standard HTTPS
POST and POSTed to the URLs specified.
What is the disadvantage of building your own integration?
Since you are building your own integration, you will need to add your own error handling,
retry logic and duplicate transaction handling within your code.
NOTE: If you prefer not to write your own client, you can use the .NET SDK, which can also
be used with classic ASP, or the Java SDK if appropriate. See
“Payflow SDK” on
page 51 for more information about the SDKs.
What code changes are required when migrating from a previous Payflow SDKs to this
service?
The Payflow HTTPS service uses the same name-value-pair parameters or XMLPay schema
as found in the current SDKs. The the only code change needed is the way you communicate
with the Payflow servers. Instead of using an SDK to send the data, you will use the methods
available in your programming language of choice to send the data via HTTPS. For example,
if you use PHP, you might choose to use cURL.