Choose Your Integration Path
Last updated: Sept 18th, 8:36pm
There are two integration paths for Payflow Pro:
- Payflow Software Development Kit (SDK). The Payflow SDK is available as a .NET or Java library. PayPal recommends using the SDKs to simplify your integration.
- Build your own API to connect to PayPal directly. Customize your Payflow Pro instance by creating simple transactions that include connection parameters, user parameters, and transaction data parameters in name-value pair format. This page describes the required parameters.
Requirements for simple transactions
- Name-Value pairs
- Payflow connection parameters
- User parameter data
- Transaction data
- Format other Payflow Gateway transactions
Name-Value pairs
Name-value pair (NVP) is the format you use to specify the parameter information you send in a transaction request to the Payflow server. A name-value pair consists of the parameter name and its value. The equal sign (=
) is a special character that associates the name and its value:
1PARAMNAME=value
Typically, you send several name-value pairs as a parameter string to the server. The ampersand (&
) is a special character that separates each name-value pair in the parameter string:
1PARAM1NAME=value&PARAM2NAME=value&PARAM3NAME=value
Special characters and syntax guidelines
Because the ampersand and equal sign characters have special meanings, they are invalid in a name-value pair value.
To include special characters in the value portion 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.
Invalid | Valid |
---|---|
COMPANYNAME=Ruff & Johnson |
COMPANYNAME[14]=Ruff & Johnson |
COMMENT1=Level=5 |
COMMENT1[7]=Level=5 |
Follow these special character and syntax guidelines when you create name-value pairs:
- Do not use spaces in values.
- Do not place quotation marks within the body of the NVP parameter string.
- Separate all NVPs with an ampersand.
- Set the
VERBOSITY
transaction parameter toHIGH
to have the response return detailed information. Act upon the returned values that you need for the transaction. - If you duplicate a parameter in your NVP string, the last item will always be the one used and the others will be discarded.
- Do not URL encode Name-Value parameter data because it can cause problems with authentication and reporting.
Incorrect:
1TRXTYPE%3DS%26TENDER%3DC%26USER%3DMerchantUserID%26PWD%3DPwd4Gateway%26PARTNER%3DPayPal%26ACCT%3D5105105105105100%26EXPDATE%3D1215%26AMT%3D23.45%26COMMENT1%3DAirport+Shuttle%26BILLTOFIRSTNAME%3DJamie%26BILLTOLASTNAME%3DMiller%26BILLTOSTREET%3D123+Main+St.%26BILLTOCITY%3DSan+Jose%26BILLTOSTATE%3DCA%26BILLTOZIP%3D951311234%26BILLTOCOUNTRY%3DUS2%26CVV2%3D123%26CUSTIP%3D0.0.0.0
Correct:
1TRXTYPE=S&TENDER=C&USER=MerchantUserID&PWD=Pwd4Gateway&PARTNER=PayPal&ACCT=5105105105105100&EXPDATE=1215&AMT=23.452&COMMENT1=Airport Shuttle&BILLTOFIRSTNAME=Jamie&BILLTOLASTNAME=Miller&BILLTOSTREET=123 Main St.&BILLTOCITY=San Jose3&BILLTOSTATE=CA&BILLTOZIP=951311234&BILLTOCOUNTRY=840&CVV2=123&CUSTIP=0.0.0.0
Payflow connection parameters
The Payflow SDK passes connection parameters to define the connection to the Payflow server.
Pass the connection parameters in the format and syntax required by the Payflow SDK and programming language that you are using. See your integration documentation for details.
Parameter | Required | Description/Value |
---|---|---|
HOSTADDRESS |
Yes | Gateway server name |
HOSTPORT |
Yes | Use port 443 |
TIMEOUT |
Yes | Time-out period for the transaction. PayPal recommends a minimum time-out value of 30 seconds; the client begins tracking from the time that it sends the transaction request to the server. |
PROXYADDRESS |
No | Proxy server address. Use the PROXY parameters for servers behind a firewall. Contact your network administrator for these values. |
PROXYPORT |
No | Proxy server port |
PROXYLOGON |
No | Proxy server log on ID |
PROXYPASSWORD |
No | Proxy server log on password |
In addition to the connection parameters, you must pass the NVP parameters that specify the payment information for the transaction.
User parameter data
All Gateway transactions require user parameters.
Parameter | Required | Description | Limitations |
---|---|---|---|
USER |
Yes | If you set up one or more additional users on the account, this value is the ID of the user authorized to process transactions. If, however, you have not set up additional users on the account, USER has the same value as VENDOR | 64 alphanumeric, case-sensitive characters |
VENDOR |
Yes | Your merchant login ID that you created when you registered for the account. | 64 alphanumeric, case-sensitive characters |
PARTNER |
Yes | The ID provided to you by the authorized PayPal Reseller who registered you for the Gateway gateway. If you purchased your account directly from PayPal, use PayPal. | 64 alphanumeric, case-sensitive characters |
PWD |
Yes | The password that you defined while registering for the account. | 6 to 32 alphanumeric, case-sensitive characters |
Transaction parameter data
In addition to the required connection and user parameters, each transaction type requires other parameters and can include a number of optional parameters.
For example, to perform a sale transaction involving a credit card, pass these parameters:
Name | Value Description |
---|---|
TRXTYPE |
The type of the transaction, such as S for Sale |
TENDER |
The method of payment, such as C for credit card |
ACCT |
The buyer's credit card number |
AMT |
The amount of the sale, including two decimal places and without a comma separator |
EXPDATE |
The expiration date of the credit card |
This example shows a typical name-value pair string for a sale transaction. Besides the required sale transaction parameters, the string includes other Payflow parameters typically included in a sale transaction.
1TRXTYPE=S&TENDER=C&USER=MerchantUserID&VENDOR=MerchantUserID&&PWD=Pwd4Gateway&PARTNER=PayPal&ACCT=5105105105105100&EXPDATE=1215&AMT=23.45&COMMENT1=AirportShuttle&BILLTOFIRSTNAME=Jamie&BILLTOLASTNAME=Miller&BILLTOSTREET=123 Main St.&BILLTOCITY=SanJose&BILLTOSTATE=CA&BILLTOZIP=9513112342&BILLTOCOUNTRY=840&CVV2=123&CUSTIP=0.0.0.0&VERBOSITY=HIGH
Format other Payflow Gateway transactions
For details on how to format other Payflow transactions, see the examples in the next step or see Submitting Credit Card Transactions for more types.
For information on credit card parameters, see Core Credit Card Parameters.
Next
Additional information
- Advanced features: