advertisement
Name-Value Pair API
Developer Guide and
Reference
Last updated: June 2008
PayPal Name-Value Pair API Developer Guide and Reference
Document Number: 100018.en_US-200806
© 2008 PayPal, Inc. All rights reserved. PayPal is a registered trademark of PayPal, Inc. The PayPal logo is a trademark of PayPal, Inc. Other trademarks and brands are the property of their respective owners.
The information in this document belongs to PayPal, Inc. It may not be used, reproduced or disclosed without the written approval of PayPal, Inc.
Copyright © PayPal. All rights reserved. PayPal S.à r.l. et Cie, S.C.A., Société en Commandite par Actions. Registered office: 22-24 Boulevard Royal, L-
2449, Luxembourg, R.C.S. Luxembourg B 118 349
Consumer advisory: The PayPal™ payment service is regarded as a stored value facility under Singapore law. As such, it does not require the approval of the Monetary Authority of Singapore. You are advised to read the terms and conditions carefully.
Notice of non-liability:
PayPal, Inc. is providing the information in this document to you “AS-IS” with all faults. PayPal, Inc. makes no warranties of any kind (whether express, implied or statutory) with respect to the information contained herein. PayPal, Inc. assumes no liability for damages (whether direct or indirect), caused by errors or omissions, or resulting from the use of this document or the information contained in this document or resulting from the application or use of the product or service described herein. PayPal, Inc. reserves the right to make changes to any information herein without further notice.
Contents
This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapter 1 PayPal NVP API Overview . . . . . . . . . . . . . . . . . . 11
Introducing the PayPal NVP API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Integrating with the PayPal API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Basic Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Create a Web Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Get API Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Create and Post the Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Interpret the Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Taking Your Application Live . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Set Up a PayPal Business Account . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Set Up API Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Modify Your Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Technical Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Request-Response Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Request Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Response Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Posting Using HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
API Servers for API Signature Security . . . . . . . . . . . . . . . . . . . . . . . . . 18
API Servers for API Certificate Security . . . . . . . . . . . . . . . . . . . . . . . . . 18
Chapter 2 Authorization and Capture API Operation Reference . . . . 19
DoCapture API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
DoCapture Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
DoCapture Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
DoAuthorization API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
DoAuthorization Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
DoAuthorization Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
DoReauthorization API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Name-Value Pair API Developer Guide and Reference
June 2008
3
Contents
4
DoReauthorization Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
DoReauthorization Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
DoVoid API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
DoVoid Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
DoVoid Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Chapter 3 DoDirectPayment API . . . . . . . . . . . . . . . . . . . . 27
DoDirectPayment Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
DoDirectPayment Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Chapter 4 Express Checkout API Operations . . . . . . . . . . . . . 39
SetExpressCheckout API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
SetExpressCheckout Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
SetExpressCheckout Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
GetExpressCheckoutDetails API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
GetExpressCheckoutDetails Request . . . . . . . . . . . . . . . . . . . . . . . . . . 50
GetExpressCheckoutDetails Response . . . . . . . . . . . . . . . . . . . . . . . . . 50
DoExpressCheckoutPayment API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
DoExpressCheckoutPayment Request . . . . . . . . . . . . . . . . . . . . . . . . . 57
DoExpressCheckoutPayment Response . . . . . . . . . . . . . . . . . . . . . . . . 62
Chapter 5 GetTransactionDetails API . . . . . . . . . . . . . . . . . 67
GetTransactionDetails Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
GetTransactionDetails Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Chapter 6 MassPay API . . . . . . . . . . . . . . . . . . . . . . . . . 77
MassPay Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
MassPay Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Chapter 7 RefundTransaction API . . . . . . . . . . . . . . . . . . . 81
RefundTransaction Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
RefundTransaction Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Chapter 8 TransactionSearch API . . . . . . . . . . . . . . . . . . . 83
TransactionSearch Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
June 2008
Name-Value Pair API Developer Guide and Reference
Contents
TransactionSearch Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Chapter 9 Recurring Payments and Reference Transactions API
CreateRecurringPaymentsProfile API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
CreateRecurringPaymentsProfile Request . . . . . . . . . . . . . . . . . . . . . . . 87
CreateRecurringPaymentsProfile Response . . . . . . . . . . . . . . . . . . . . . . 97
GetRecurringPaymentsProfileDetails API . . . . . . . . . . . . . . . . . . . . . . . . . . 98
GetRecurringPaymentsProfileDetails Request . . . . . . . . . . . . . . . . . . . . . 98
GetRecurringPaymentsProfileDetails Response . . . . . . . . . . . . . . . . . . . . 98
ManageRecurringPaymentsProfileStatus API . . . . . . . . . . . . . . . . . . . . . . . .105
ManageRecurringPaymentsProfileStatus Request . . . . . . . . . . . . . . . . . . .106
ManageRecurringPaymentsProfileStatus Response . . . . . . . . . . . . . . . . . .106
BillOutstandingAmount API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
BillOutstandingAmount Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
BillOutstandingAmount Response . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
UpdateRecurringPaymentsProfile API . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
UpdateRecurringPaymentsProfile Request . . . . . . . . . . . . . . . . . . . . . . .108
UpdateRecurringPaymentsProfile Response . . . . . . . . . . . . . . . . . . . . . .113
SetCustomerBillingAgreement API . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
SetCustomerBillingAgreement Request . . . . . . . . . . . . . . . . . . . . . . . . .114
SetCustomerBillingAgreement Response . . . . . . . . . . . . . . . . . . . . . . . .117
GetBillingAgreementCustomerDetails API . . . . . . . . . . . . . . . . . . . . . . . . . .117
GetBillingAgreementCustomerDetails Request . . . . . . . . . . . . . . . . . . . . .118
GetBillingAgreementCustomerDetails Response . . . . . . . . . . . . . . . . . . . .118
DoReferenceTransaction API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
DoReferenceTransaction Request. . . . . . . . . . . . . . . . . . . . . . . . . . . .120
DoReferenceTransaction Response. . . . . . . . . . . . . . . . . . . . . . . . . . .128
Chapter 10 DoNonReferencedCredit API . . . . . . . . . . . . . . . 135
DoNonReferencedCredit Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
DoNonReferencedCredit Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
Chapter 11 Fraud Management Filters API Operations . . . . . . . . 139
Fraud Management Filters API Prerequisites . . . . . . . . . . . . . . . . . . . . . . . .139
ManagePendingTransactionStatus API . . . . . . . . . . . . . . . . . . . . . . . . . . .140
ManagePendingTransactionStatus Request. . . . . . . . . . . . . . . . . . . . . . .141
Name-Value Pair API Developer Guide and Reference
June 2008
5
6
Contents
ManagePendingTransactionStatus Response. . . . . . . . . . . . . . . . . . . . . .141
Chapter 12 GetBalance API . . . . . . . . . . . . . . . . . . . . . . 143
GetBalance Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
GetBalance Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
Chapter 13 AddressVerify API . . . . . . . . . . . . . . . . . . . . . 145
AddressVerify Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
AddressVerify Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
Chapter A API Error Codes . . . . . . . . . . . . . . . . . . . . . . 149
General API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
Validation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Direct Payment API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
SetExpressCheckout API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
GetExpressCheckoutDetails API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . .175
DoExpressCheckoutPayment API Errors . . . . . . . . . . . . . . . . . . . . . . . . . .177
Authorization and Capture API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
GetTransactionDetails API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
TransactionSearch API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
RefundTransaction API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
Mass Pay API Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Recurring Payments Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
SetCustomerBillingAgreement Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
GetBillingAgreementCustomerDetails Errors . . . . . . . . . . . . . . . . . . . . . . . .204
CreateBillingAgreement Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
UpdateBillingAgreement Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
DoReferenceTransaction Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
AddressVerify API Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
ManagePendingTransactionStatus API Errors . . . . . . . . . . . . . . . . . . . . . . . .213
Chapter B Country Codes . . . . . . . . . . . . . . . . . . . . . . 215
Chapter C State and Province Codes . . . . . . . . . . . . . . . . . 225
June 2008
Name-Value Pair API Developer Guide and Reference
Contents
Chapter D Currency Codes . . . . . . . . . . . . . . . . . . . . . . 229
Chapter E AVS and CVV2 Response Codes . . . . . . . . . . . . . 231
AVS Response Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
CVV2 Response Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
Name-Value Pair API Developer Guide and Reference
June 2008
7
Contents
8
June 2008
Name-Value Pair API Developer Guide and Reference
Preface
This Document
The PayPal Name-Value Pair API Developer Guide and Reference describes the PayPal
Name-Value Pair API.
Intended Audience
The PayPal Name-Value Pair API Developer Guide and Reference is written for web developers who are implementing solutions using the Name-Value Pair API.
Revision History
Revision history for PayPal Name-Value Pair API Developer Guide and Reference.
T
ABLE
P.1 Revision History
Date
June 2008
April 2008
February 2008
January 2008
September 2007
August 2007
Description
Rearranged material, added error codes, and moved some material to the
Express Checkout Integration Guide.
Added Fraud Management Filters information. Changed recurring payments information.
Added that ther VERSION parameter must be 50.0 in the API call to use recurring payments. z z z z
Added billing agreement fields to SetExpressCheckout for recurring payments
Updated CreateRecurringPaymentsProfile for new recurring payments features.
Added new recurring payments APIs
Added DoNonReferencedCredit API z z z
Update eBay auctions for Express Checkout section
Added fields for the giropay payment method to Express Checkout APIs
Added Direct Payment error 10571.
Added recurring payments concepts, modified SetExpressCheckout,
DoExpressCheckoutPayment, DoReferenceTransaction, and added additional DoReferenceTransaction error codes.
Name-Value Pair API Developer Guide and Reference
June 2008
9
Revision History
T
ABLE
P.1 Revision History
Date
April 2007
February 2007
December 2006
October 2006
Description
Added Recurring Payments APIs: SetCustomerBillingAgreement,
GetBillingAgreementCustomerDetails, and
CreateRecurringPaymentsProfile.
Bug fixes including updating Line Item Details for Direct Payment and Express
Checkout APIs, changing some parameters to optional in DoDirectPayment, adding SHIPTOCOUNTRYCODE, and adding Switch/Solo codes for AVS and
CVV2.
Updates for bug fixes.
First public release.
10
June 2008
Name-Value Pair API Developer Guide and Reference
1
PayPal NVP API Overview
This chapter describes the PayPal Name-Value Pair (NVP) API at a high level and contains the following sections: z z
“Introducing the PayPal NVP API” on page 11
z z
“Taking Your Application Live” on page 13
“Technical Details” on page 14
Introducing the PayPal NVP API
The PayPal NVP API is a simple programmatic interface that allows you, the merchant, to access PayPal’s business functionality to: z z z
Accept PayPal in checkout on your website using Express Checkout.
Charge a credit card using Direct Payment.
Capture payments previously authorized through Express Checkout, Direct Payment, or
Website Payments Standard.
z z z z z
Reauthorize or void previous authorizations.
Pay one or more recipients using Mass Payment.
Issue full refunds or multiple partial refunds.
Search transactions using a start date or other criteria.
View details of a specific transaction.
The PayPal NVP API makes it easy to add PayPal to your web application. You construct an
NVP string and post it to the PayPal server using HTTPS. PayPal posts back a reponse in NVP format.
Integrating with the PayPal API
You can develop with the PayPal NVP API using two different approaches:
Name-Value Pair API Developer Guide and Reference
June 2008
11
12
PayPal NVP API Overview
Basic Steps
Integrate Directly
You can integrate directly with the PayPal NVP API using the programming language of your choice. This is the most straightforward and flexible approach. You can download web samples that show how to integrate directly using Classic ASP, PHP, and ColdFusion.
Integrate Using an SDK
You can integrate with the NVP API using a software development kit (SDK). SDKs are provided for Java and ASP.NET. The SDKs provide simple functions for integrating with the
NVP API.
Basic Steps
This section describes the basic steps for programming with the PayPal NVP API.
During application development, your application communicates with the PayPal Sandbox test
environment. “Taking Your Application Live” on page 13
describes how to move your application to the live PayPal environment.
Create a Web Application
Your NVP API implementation usually runs in a web application. You can write your own application or use one of the samples as a starting point.
Get API Credentials
To access the PayPal API, you need API credentials, either an API signature or API certificate, that identify you.
Use the following sample API signature and password in your sample programs that run in the
PayPal Sandbox test environment.
N O T E
:
If you are using the samples, this signature is already in the code.
Details of the Sample API Signature
API username sdk-three_api1.sdk.com
API password
QFZCWN5HZM8VBG7Q
API signature
A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU
Create and Post the Request
Create an NVP request string and post it to PayPal sandbox server. Add code to your web application to do the following tasks:
June 2008
Name-Value Pair API Developer Guide and Reference
PayPal NVP API Overview
Taking Your Application Live
1. URL-encode the name and value parameters in the request to ensure correct transmission
of all characters. This is described in “URL-Encoding” on page 14
.
2. Construct the NVP API request string as described in
“Request Format” on page 15 . The
NVP format is described in
.
3. Post the NVP request to the PayPal Sandbox as described in
“Posting Using HTTPS” on page 18 .
Interpret the Response
PayPal processes your request and posts back a reponse in NVP format. Add code to your web application to do the following tasks:
1. Receive the HTTP post response, and extract the NVP string.
2. URL-decode the parameter values as described in
3. Take appropriate action for successful and failed reponses.
Taking Your Application Live
After you have finished coding and testing your application, deploy your application to the live PayPal server using your PayPal business account and API credentials for that account.
Set Up a PayPal Business Account
When you are ready to deploy your application to the live PayPal server, create a PayPal business account on www.paypal.com
..
Set Up API Credentials
To use the APIs, you need a set of credentials to identify yourself to PayPal. Create an API signature for your business account.
For instructions on setting up API credentials for the business account, go to https://www.paypal.com/IntegrationCenter/ic_certificate.html
.
I M P O R T A N T
:
If you are using API signature, you must protect the API signature values in your implementation. Consider storing these values in a secure location other than your web server document root and setting the file permissions so that only the system user that executes your ecommerce application can access it.
The sample code does not store these values securely. The sample code should
never be used in production.
N O T E
:
While API signature is recommended, you can also use API certificate.
Name-Value Pair API Developer Guide and Reference
June 2008
13
14
PayPal NVP API Overview
Technical Details
Modify Your Code
In your application, change the following items from the PayPal Sandbox values to the live
PayPal server values: z z
The server address in the URL. (See
“Posting Using HTTPS” on page 18
.)
API credentials you set up in “Set Up API Credentials” on page 13
.
Technical Details
This section describes details of the technologies used by the PayPal NVP API.
Request-Response Model
When you use the PayPal NVP API, you post an NVP request to PayPal, and PayPal posts back an NVP response.
URL Format
The request and response are in URL-encoded format, which is defined by the Worldwide Web
Consortium (W3C). URL is defined as part of the URI specification. Find out more about URI at http://www.w3.org/Addressing/ .
NVP Format
NVP is a way of specifying names and values in a string. NVP is the informal name for the query in the URI specification. The NVP string is appended to the URL.
An NVP string conforms to the following guidelines: z
The name is separated from the value by an equal sign (=). For example: z
FIRSTNAME=Robert
Name-value pairs are separated by an ampersand (&). For example: z
FIRSTNAME=Robert&MIDDLENAME=Herbert&LASTNAME=Moore
The values for each field in an NVP string are URL-encoded.
URL-Encoding
The request and response are URL-encoded. URL-encoding ensures that you can transmit special characters, characters that are not allowed in a URL, and characters that have special meaning in a URL, such as the equal sign and ampersand. For example, the following NVP string:
NAME=Robert Moore&COMPANY=R. H. Moore & Associates is URL-coded as follows:
June 2008
Name-Value Pair API Developer Guide and Reference
PayPal NVP API Overview
Technical Details
NAME=Robert+Moore&COMPANY=R%2E+H%2E+Moore+%26+Associates
Use the following methods to URL-encode or URL-decode your NVP strings:
URL-Encoding Methods
Language
ASP.NET
Encode
Classic ASP
Java
PHP
ColdFusion
Decode
Encode
Decode
Encode
Decode
Encode
Decode
Encode
Decode
Method
System.Web.HttpUtility.UrlEncode(buffer,
Encoding.Default)
System.Web.HttpUtility.UrlDecode(buffer,
Encoding.Default)
Server.URLEncode
No built-in function. Several implementation examples are available on the
Internet.
java.net.URLEncoder.encode
java.net.URLDecoder.decode
urlencode() urldecode()
URLEncodedFormatstring [, charset ]
URLDecodeurlEncodedString[, charset])
Request Format
Each NVP request consists of required and optional parameters and their values. Parameter names are not case sensitive. The examples in this document use UPPERCASE for parameter names and divide the parameters into required security parameters and body parameters.
General Format of a Request
Required Security
Parameters
USER=apiUsername&PWD=apiPassword&SIGNATURE=apiSignature&SUBJ
ECT=optionalThirdPartyEmailAddress&VERSION=3.2
The following parameters are always required:
USER
PWD
VERSION
N O T E
:
The examples show the required security parameters like this:
[requiredSecurityParameters]
Body Parameters
&METHOD=methodName&otherRequiredAndOptionalParameters
Name-Value Pair API Developer Guide and Reference
June 2008
15
16
PayPal NVP API Overview
Technical Details
In practice, you need to concatenate all parameters and values into a single URL-encoded string. After the METHOD parameter, you can specify the parameters in any order.
Security Parameters
The security parameters are described below. These are your PayPal API credentials.
Required Security Parameters: API Credentials
Parameter Value
USER
PWD
VERSION=
<current version>
SIGNATURE
SUBJECT
(Required) Your PayPal API Username.
(Required) Your PayPal API Password.
(Required) Version number of the NVP API service, such as 51.0.
(Optional) Your PayPal API signature string.
If you use an API certificate, do not include this parameter.
(Optional) Email address of a PayPal account that has granted you permission to make this call.
Set this parameter only if you are calling an API on a different user’s behalf.
I M P O R T A N T
:
You must protect the values for USER, PWD, and SIGNATURE in your implementation. Consider storing these values in a secure location other than your web server document root and setting the file permissions so that only the system user that executes your ecommerce application can access it.
The sample code does not store these values securely. The sample code should never be used in production.
You may see sample code where these values are stored in an HTML form.
The following is an example of what you should NOT do in production:
<form method=post action=https://api-3t.sandbox.paypal.com/nvp>
<!-- UNPROTECTED VALUES. DO NOT USE IN PRODUCTION! -->
<input type=hidden name=USER value=xxxxxx.paypal.com>
<input type=hidden name=PWD value=abcdefg>
<input type=hidden name=SIGNATURE value=xxxxxxxxxxxxxxx>
...
</form>
API Parameters
The request body must contain the name of the API method in the METHOD parameter. In addition, each method has required and optional parameters:
METHOD=methodName&requiredAndOptionalParameters
June 2008
Name-Value Pair API Developer Guide and Reference
PayPal NVP API Overview
Technical Details
Response Format
A response from the PayPal servers is a URL-encoded name-value pair string, just like the request, except it has the following general format.
General Format of a Successful Response
Success Response Fields
API Response Fields
ACK=Success&TIMESTAMP=date/timeOfResponse
&CORRELATIONID=debuggingToken&VERSION=3.200000
&BUILD=buildNumber
&NAME1=value1&NAME2=value2&NAME3=value3&...
Each response includes the ACK field. If the ACK field’s value is Success or
SuccessWithWarning, you should process the API response fields. In a successful response, you can ignore all fields up to and including the BUILD field. The important fields begin after the BUILD field.
Error Responses
If the ACK value is Error or Warning, API response fields are not returned. An error response has the following general format.
Format of an Error Response
Response Fields on
Error
ACK=Error&TIMESTAMP=date/timeOfResponse&
CORRELATIONID=debuggingToken&VERSION=3.200000&
BUILD=buildNumber&L_ERRORCODE0=errorCode&
L_SHORTMESSAGE0=shortMessage&
L_LONGMESSAGE0=longMessage&
L_SEVERITYCODE0=severityCode
Multiple errors can be returned. Each set of errors has a different numeric suffix, starting with 0 and incremented by one for each error.
For possible causes of errors and how to correct them, see the explanation of the specific error code, short message, and long message in “API Error Codes” on page 149 .
ACK Parameter Values
The following table lists values for the ACK parameter.
ACK Parameter Values
Type of Response
Successful response
Error response
Value
Success
SuccessWithWarning
Failure
FailureWithWarning
Warning
Name-Value Pair API Developer Guide and Reference
June 2008
17
PayPal NVP API Overview
Posting Using HTTPS
Posting Using HTTPS
Your web application posts the URL-encoded NVP string over an HTTPS connection to one of the PayPal API servers. PayPal provides a live server and a Sandbox server that allows you to process transactions in a test environment.
API Servers for API Signature Security
If you use an API signature, post the request to one of these servers:
Sandbox: https://api-3t.sandbox.paypal.com/nvp
Live: https://api-3t.paypal.com/nvp
API Servers for API Certificate Security
If you use an API certificate, post the request to one of these servers:
Sandbox: https://api.sandbox.paypal.com/nvp
Live: https://api.paypal.com/nvp
18
June 2008
Name-Value Pair API Developer Guide and Reference
2
Authorization and Capture API
Operation Reference
This chapter describes the PayPal API operations related to delayed payment settlement: z
z z z
“DoAuthorization API” on page 23
“DoReauthorization API” on page 24
DoCapture API
z z
“DoCapture Request” on page 20
Name-Value Pair API Developer Guide and Reference
June 2008
19
20
Authorization and Capture API Operation Reference
DoCapture API
DoCapture Request
DoCapture Request Fields
Field Description
METHOD
AUTHORIZATIONID
AMT
CURRENCYCODE
COMPLETETYPE
INVNUM
NOTE
(Required) Must be DoCapture.
(Required) The authorization identification number of the payment you want to capture. This is the transaction id returned from DoExpressCheckoutPayment or
DoDirectPayment.
Character length and limits: 19 single-byte characters maximum.
(Required) Amount to capture.
Limitations: Value is a positive number which cannot exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
A three-character currency code. See “Currency Codes” on page 229 .
(Required) The value Complete indicates that this the last capture you intend to make.
The value NotComplete indicates that you intend to make additional captures.
N O T E
:
If Complete, any remaining amount of the original authorized transaction is automatically voided and all remaining open authorizations are voided.
Character length and limits: 12 single-byte alphanumeric characters.
(Optional) Your invoice number or other identification number that is displayed to the merchant and customer in his transaction history.
N O T E
:
This value on DoCapture will overwrite a value previously set on
DoAuthorization.
N O T E
:
The value is recorded only if the authorization you are capturing is an order authorization, not a basic authorization.
Character length and limits: 127 single-byte alphanumeric characters.
(Optional) An informational note about this settlement that is displayed to the payer in email and in his transaction history.
Character length and limits: 255 single-byte characters.
June 2008
Name-Value Pair API Developer Guide and Reference
Authorization and Capture API Operation Reference
DoCapture API
Field
SOFTDESCRIPTOR
Description
(Optional) The soft descriptor is a per transaction description of the payment that is passed to the consumer’s credit card statement.
If a value for the soft descriptor field is provided, the full descriptor displayed on the customer’s statement has the following format:
<PP * | PAYPAL *><Merchant descriptor as set in the Payment
Receiving Preferences><1 space><soft descriptor>
The soft descriptor can contain only the following characters: z
Alphanumeric characters z z z z
- (dash)
* (asterisk)
. (period)
{space}
If you use any other characters (such as “,”), an error code is returned.
The soft descriptor does not include the phone number, which can be toggled between the merchant’s customer service number and PayPal’s customer service number.
The maximum length of the total soft descriptor is 22 characters. Of this, either 4 or 8 characters are used by the PayPal prefix shown in the data format. Thus, the maximum length of the soft descriptor passed in the API request is:
22 - len(<PP * | PAYPAL *>) - len(<Descriptor set in Payment
Receiving Preferences> + 1)
For example, assume the following conditions: z z z
The PayPal prefix toggle is set to PAYPAL * in PayPal’s admin tools.
The merchant descriptor set in the Payment Receiving Preferences is set to EBAY.
The soft descriptor is passed in as JanesFlowerGifts LLC.
The resulting descriptor string on the credit card would be:
PAYPAL *EBAY JanesFlow
DoCapture Response
z z z z
DoCapture Response Fields
Payer Information Fields
Ship To Address Fields
Payer Name Fields
Name-Value Pair API Developer Guide and Reference
June 2008
21
22
Authorization and Capture API Operation Reference
DoCapture API
Do Capture Response Fields
Field Description
AUTHORIZATIONID
(See description) The authorization identification number you specified in the request.
Character length and limits: 19 single-byte characters maximum.
PayerInfo Type Fields
Field
PAYERID
PAYERSTATUS
COUNTRYCODE
BUSINESS
Description
Email address of payer.
Character length and limitations: 127 single-byte characters.
Unique PayPal customer account identification number.
Character length and limitations:13 single-byte alphanumeric characters.
Status of payer. Valid values are: z z verified unverified
Character length and limitations: 10 single-byte alphabetic characters.
Payer’s country of residence in the form of ISO standard 3166 two-character country codes.
Character length and limitations: Two single-byte characters.
Payer’s business name.
Character length and limitations: 127 single-byte characters.
Ship To Address Type Fields
Field Description
ADDRESSSTATUS
SHIPTONAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
Status of street address on file with PayPal.
Valid values are: z none z z
Confirmed
Unconfirmed
Person’s name associated with this address.
Character length and limitations: 32 single-byte characters.
First street address.
Character length and limitations: 100 single-byte characters.
Second street address.
Character length and limitations: 100 single-byte characters.
Name of city.
Character length and limitations: 40 single-byte characters.
June 2008
Name-Value Pair API Developer Guide and Reference
Authorization and Capture API Operation Reference
DoAuthorization API
Field
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
Payer Name Fields
Field
SALUTATION
FIRSTNAME
MIDDLENAME
LASTNAME
SUFFIX
Description
State or province.
Character length and limitations: 40 single-byte characters.
Required for U.S. addresses only.
U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
Country code. Character limit: Two single-byte characters.
Description
Payer’s salutation.
Character length and limitations: 20 single-byte characters.
Payer’s first name.
Character length and limitations: 25 single-byte characters.
Payer’s middle name.
Character length and limitations: 25 single-byte characters.
Payer’s last name
Character length and limitations: 25 single-byte characters.
Payer’s suffix
Character length and limitations: 12 single-byte characters.
DoAuthorization API
z z
Name-Value Pair API Developer Guide and Reference
June 2008
23
24
Authorization and Capture API Operation Reference
DoReauthorization API
DoAuthorization Request
DoAuthorization Request Fields
Field Description
METHOD
TRANSACTIONID
AMT
TRANSACTIONENTITY
CURRENCYCODE
(Required) Must be DoAuthorization.
(Required) The value of the order’s transaction identification number returned by
PayPal.
Character length and limits: 19 single-byte characters maximum.
(Required) Amount to authorize.
Limitations: Value is a positive number which cannot exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
(Optional) Type of transaction to authorize. The only allowable value is Order, which means that the transaction represents a customer order that can be fulfilled over
29 days.
(Optional) A three-character currency code. See “Currency Codes” on page 229 .
DoAuthorization Response
DoAuthorization Response Fields
Field Description
TRANSACTIONID
AMT
An authorization identification number.
The amount you specified in the request.
DoReauthorization API
z z
June 2008
Name-Value Pair API Developer Guide and Reference
Authorization and Capture API Operation Reference
DoVoid API
DoReauthorization Request
DoReauthorization Request Fields
Field Description
METHOD
AUTHORIZATIONID
AMT
CURRENCYCODE
(Required) Must be DoReauthorization.
(Required) The value of a previously authorized transaction identification number returned by PayPal.
Character length and limits: 19 single-byte characters maximum.
(Required) Amount to reauthorize.
Limitations: Value is a positive number which cannot exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
A three-character currency code. See “Currency Codes” on page 229 .
DoReauthorization Response
DoReauthorization Response Fields
Field Description
AUTHORIZATIONID
A new authorization identification number.
Character length and limits:19 single-byte characters maximum.
DoVoid API
z z
Name-Value Pair API Developer Guide and Reference
June 2008
25
Authorization and Capture API Operation Reference
DoVoid API
DoVoid Request
DoVoid Request Fields
Field
METHOD
AUTHORIZATIONID
NOTE
Description
(Required) Must be DoVoid.
(Required) The value of the original authorization identification number returned by a
PayPal product.
N O T E
:
If you are voiding a transaction that has been reauthorized, use the ID from the original authorization, and not the reauthorization.
Character length and limits: 19 single-byte characters.
(Optional) An informational note about this void that is displayed to the payer in email and in his transaction history.
Character length and limits: 255 single-byte characters
DoVoid Response
DoVoid Response Fields
Field Description
AUTHORIZATIONID
The authorization identification number you specified in the request.
Character length and limits: 19 single-byte characters.
26
June 2008
Name-Value Pair API Developer Guide and Reference
3
DoDirectPayment API
z z
DoDirectPayment Request
z z z z z z z z
DoDirectPayment Request Fields
Credit Card Fields
Payer Information Fields
Payer Name Fields
Billing Address Fields
Payment Details Fields
Ebay Item Payment Details Fields
Ship To Address Fields
Name-Value Pair API Developer Guide and Reference
June 2008
27
28
DoDirectPayment API
DoDirectPayment Request
DoDirectPayment Request Fields
Field Description
METHOD
PAYMENTACTION
IPADDRESS
RETURNFMFDETAILS
(Required) Must be DoDirectPayment.
(Optional) How you want to obtain payment: z z
Authorization indicates that this payment is a basic authorization subject to settlement with PayPal Authorization & Capture.
Sale indicates that this is a final sale for which you are requesting payment.
Character length and limit: Up to 13 single-byte alphabetic characters.
Default: Sale
N O T E
:
Order is not allowed for Direct Payment.
(Required) IP address of the payer’s browser.
N O T E
:
PayPal records this IP addresses as a means to detect possible fraud.
Character length and limitations: 15 single-byte characters, including periods, for example: 255.255.255.255.
(Optional) Flag to indicate whether you want the results returned by Fraud
Management Filters. By default, you do not receive this information.
z
0 - do not receive FMF details (default) z
1 - receive FMF details
Credit Card Details Fields
Field Description
CREDITCARDTYPE
ACCT
EXPDATE
(Required) Type of credit card.
Character length and limitations: Up to ten single-byte alphabetic characters.
Allowable values: z
Visa z z z z z
MasterCard
Discover
Amex
Maestro: See important note.
Solo: See important note.
N O T E
:
If the credit card type is Maestro or Solo, the CURRENCYCODE must be
GBP. In addition, either STARTDATE or IssueNumber must be specified.
(Required) Credit card number.
Character length and limitations: numeric characters only. No spaces or punctutation.
Must conform with modulo and length required by each credit card type.
(See description) Credit card expiration date.
This field is required if you are using recurring payments with direct payments.
Format: MMYYYY
Character length and limitations: Six single-byte alphanumeric characters, including leading zero.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
CVV2
STARTDATE
ISSUENUMBER
DoDirectPayment API
DoDirectPayment Request
Description
(determined by account settings) Card Verification Value, version 2.Your Merchant
Account settings determine whether this field is required. Character length for Visa,
MasterCard, and Discover: exactly three digits.Character length for American
Express: exactly four digits.To comply with credit card processing regulations, once a transaction has been completed, you must not store the value of CVV2.
(Optional) Month and year that Maestro or Solo card was issued, the MMYYYY format.
Character length: Must be six digits, including leading zero.
(Optional) Issue number of Maestro or Solo card.Character length: two numeric digits maximum.
Name-Value Pair API Developer Guide and Reference
June 2008
29
30
DoDirectPayment API
DoDirectPayment Request
PayerInfo Type Fields
Field
PAYERID
PAYERSTATUS
COUNTRYCODE
BUSINESS
Description
Email address of payer.
Character length and limitations: 127 single-byte characters.
Unique PayPal customer account identification number.
Character length and limitations:13 single-byte alphanumeric characters.
Status of payer. Valid values are: z verified z unverified
Character length and limitations: 10 single-byte alphabetic characters.
Payer’s country of residence in the form of ISO standard 3166 two-character country codes.
Character length and limitations: Two single-byte characters.
Payer’s business name.
Character length and limitations: 127 single-byte characters.
Payer Name Fields
Field
SALUTATION
FIRSTNAME
MIDDLENAME
LASTNAME
SUFFIX
Description
Payer’s salutation.
Character length and limitations: 20 single-byte characters.
Payer’s first name.
Character length and limitations: 25 single-byte characters.
Payer’s middle name.
Character length and limitations: 25 single-byte characters.
Payer’s last name
Character length and limitations: 25 single-byte characters.
Payer’s suffix
Character length and limitations: 12 single-byte characters.
Address Fields
Field
STREET
STREET2
CITY
Description
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
STATE
COUNTRYCODE
ZIP
PHONENUM
DoDirectPayment API
DoDirectPayment Request
Description
(Required) State or province.
Character length and limitations: 40 single-byte characters.
(Required) Country code.
Character limit: Two single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
31
32
DoDirectPayment API
DoDirectPayment Request
Payment Details Type Fields
Field Description
AMT
CURRENCYCODE
ITEMAMT
SHIPPINGAMT
INSURANCEAMT
SHIPPINGDISCOUNT
(Required) Total amount of order, including shipping, handling, and tax.
N O T E
:
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period
(.), and the optional thousands separator must be a comma (,).
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
A three-character currency code. Default: USD.
(See description) Sum of cost of all items in this order.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
N O T E
:
ITEMAMT is required if you specify L_AMT
n
.
(Optional) Total shipping costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for SHIPPINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Total shipping insurance costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Shipping discount for this order, specified as a negative number.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
HANDLINGAMT
TAXAMT
DESC
CUSTOM
INVNUM
BUTTONSOURCE
NOTIFYURL
DoDirectPayment API
DoDirectPayment Request
Description
(Optional) Total handling costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for HANDLINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Sum of tax for all items in this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
TAXAMT is required if you specify L_TAXAMT
n
(Optional) Description of items the customer is purchasing.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) A free-form field for your own use.
Character length and limitations: 256 single-byte alphanumeric characters
(Optional) Your own invoice or tracking number.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) An identification code for use by third-party applications to identify transactions.
Character length and limitations: 32 single-byte alphanumeric characters
(Optional) Your URL for receiving Instant Payment Notification (IPN) about this transaction.
N O T E
:
If you do not specify this value in the request, the notification URL from your
Merchant Profile is used, if one exists.
Character length and limitations: 2,048 single-byte alphanumeric characters
Name-Value Pair API Developer Guide and Reference
June 2008
33
34
DoDirectPayment API
DoDirectPayment Request
Payment Details Item Type Fields
Field Description
L_NAMEn
L_DESCn
L_AMTn
L_NUMBERn
L_QTYn
L_TAXAMTn
(Optional) Item name.
These parameters must be ordered sequentially beginning with 0 (for example
L_NAME0, L_NAME1).
Character length and limitations: 127 single-byte characters
(Optional) Item description.
Character length and limitations: 127 single-byte characters
(Optional) Cost of item
These parameters must be ordered sequentially beginning with 0 (for example
L_AMT0, L_AMT1).
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for L_AMT
n
, you must specify a value for ITEMAMT.
(Optional) Item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_NUMBER0, L_NUMBER1).
Character length and limitations: 127 single-byte characters
(Optional) Item quantity.
These parameters must be ordered sequentially beginning with 0 (for example
L_QTY0, L_QTY1).
Character length and limitations: Any positive integer
(Optional) Item sales tax.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
These parameters must be ordered sequentially beginning with 0 (for example
L_TAXAMT0, L_TAXAMT1).
EbayItemPaymentDetailsItemType Fields
Field Description
L_EBAYITEMNUMBERn
(Optional) Auction item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMNUMBER0, L_EBAYITEMNUMBER1).
Character length: 765 single-byte characters.
June 2008
Name-Value Pair API Developer Guide and Reference
DoDirectPayment API
DoDirectPayment Request
Field Description
L_EBAYITEMAUCTIONTX
NIDn
(Optional) Auction transaction identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMAUCTIONTXNID0, L_EBAYITEMAUCTIONTXNID1).
Character length: 255 single-byte characters
L_EBAYITEMORDERIDn
(Optional) Auction order identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMORDERID0, L_EBAYITEMORDERID1).
Character length: 64 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
35
36
DoDirectPayment API
DoDirectPayment Response
Ship To Address Fields
Field
SHIPTONAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
SHIPTOPHONENUM
Description
(See description) Person’s name associated with this address. This field is required for shipping addresses but is optional for credit card billing addresses.
Character length and limitations: 32 single-byte characters.
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province for United States addresses.
Character length and limitations: 40 single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Required) Country code.
Character limit: 2 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
DoDirectPayment Response
DoDirectPayment Response Fields
Field
TRANSACTIONID
Description
Unique transaction ID of the payment.
N O TE
:
If the PaymentAction of the request was Authorization, the value of
TransactionID is your AuthorizationID for use with the Authorization &
Capture APIs.
Character length and limitations: 19 single-byte characters.
AMT
AVSCODE
CVV2MATCH
This value is the amount of the payment as specified by you on
DoDirectPaymentRequest for reference transactions with direct payments.
Address Verification System response code. See “AVS and CVV2 Response Codes” on page 231 for possible values.
Character limit: One single-byte alphanumeric character
Result of the CVV2 check by PayPal.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
L_FMF
filter
ID
n
L_FMF
filter
NAME
n
DoDirectPayment API
DoDirectPayment Response
Description
Filter ID, including the ID number, and the entry number, starting from 0.
The ID number is one of the following values: z
1 = AVS No Match z z
2 = AVS Partial Match
3 = AVS Unavailable/Unsupported z z z z
4 = Card Security Code (CSC) Mismatch
5 = Maximum Transaction Amount
6 = Unconfirmed Address
7 = Country Monitor z z z z z z z z z z
8 = Large Order Number
9 = Billing/Shipping Address Mismatch
10 = Risky ZIP Code
11 = Suspected Freight Forwarder Check
12 = Total Purchase Price Minimum
13 = IP Address Velocity
14 = Risky Email Address Domain Check
15 = Risky Bank Identification Number (BIN) Check
16 = Risky IP Address Range
17 = PayPal Fraud Model
Filter name, including the filter type, which is either ACCEPT or DENY, and the entry number, starting from 0.
Name-Value Pair API Developer Guide and Reference
June 2008
37
DoDirectPayment API
DoDirectPayment Response
38
June 2008
Name-Value Pair API Developer Guide and Reference
4
Express Checkout API
Operations
This chapter describes the PayPal API operations related to Express Checkout transactions: z
“SetExpressCheckout API” on page 39
z z
“GetExpressCheckoutDetails API” on page 49
“DoExpressCheckoutPayment API” on page 57
SetExpressCheckout API
z z
“SetExpressCheckout Request” on page 39
“SetExpressCheckout Response” on page 49
SetExpressCheckout Request
z z z z z z
SetExpressCheckout Request Fields
Address Fields
“Payment Details Type Fields” on page 44
“Payment Details Item Type Fields” on page 47
“EbayItemPaymentDetailsItemType Fields” on page 47
Billing Agreement Details Fields
Name-Value Pair API Developer Guide and Reference
June 2008
39
40
Express Checkout API Operations
SetExpressCheckout API
SetExpressCheckout Request Fields
Field Description
METHOD
TOKEN
AMT
(Required) Must be SetExpressCheckout.
(Optional) A timestamped token, the value of which was returned by
SetExpressCheckout response.
Character length and limitations: 20 single-byte characters
(Required) The total cost of the transaction to the customer. If shipping cost and tax charges are known, include them in this value; if not, this value should be the current sub-total of the order.
If the transaction includes one or more one-time purchases, this field must be equal to the sum of the purchases. If the transaction does not include a one-time purchase, this field can be set to 0.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
CURRENCYCODE
MAXAMT
DESC
CUSTOM
INVNUM
(Optional) A three-character currency code. Default: USD. See “Currency Codes” on page 229 .
(Optional) The expected maximum total amount of the complete order, including shipping cost and tax charges.
If the transaction does not include a one-time purchase, this field is ignored.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Description of items the customer is purchasing.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) A free-form field for your own use, such as a tracking number or other value you want PayPal to return on GetExpressCheckoutDetails response and
DoExpressCheckoutPayment response.
Character length and limitations: 256 single-byte alphanumeric characters
(Optional) Your own unique invoice or tracking number. PayPal returns this value to you on DoExpressCheckoutPayment response.
If the transaction does not include a one-time purchase, this field is ignored.
Character length and limitations: 127 single-byte alphanumeric characters
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
SetExpressCheckout API
Field
RETURNURL
CANCELURL
Description
(Required) URL to which the customer’s browser is returned after choosing to pay with PayPal.
N O T E
:
PayPal recommends that the value be the final review page on which the customer confirms the order and payment or billing agreement.
Character length and limitations: 2048 characters
(Required) URL to which the customer is returned if he does not approve the use of
PayPal to pay you.
N O T E
:
PayPal recommends that the value be the original page on which the customer chose to pay with PayPal or establish a billing agreement.
Character length and limitations: 2048 characters
REQCONFIRMSHIPPING
(Optional) The value 1 indicates that you require that the customer’s shipping address on file with PayPal be a confirmed address.
N O T E
:
Setting this field overrides the setting you have specified in your Merchant
Account Profile.
Character length and limitations: One single-byte numeric character.
Allowable values: 0, 1
NOSHIPPING
(Optional) The value 1 indicates that on the PayPal pages, no shipping address fields should be displayed whatsoever.
Character length and limitations: One single-byte numeric character.
Allowable values: 0, 1
ALLOWNOTE
ADDRESSOVERRIDE
(Optional) The value 1 indicates that the customer may enter a note to the merchant on the PayPal page during checkout. The note is returned in the
GetExpressCheckoutDetails response and the DoExpressCheckoutPayment response.
Character length and limitations: One single-byte numeric character.
Allowable values: 0, 1
(Optional) The value 1 indicates that the PayPal pages should display the shipping address set by you in this SetExpressCheckout request, not the shipping address on file with PayPal for this customer.
Displaying the PayPal street address on file does not allow the customer to edit that address.
Character length and limitations: One single-byte numeric character.
Allowable values: 0, 1
Name-Value Pair API Developer Guide and Reference
June 2008
41
42
Express Checkout API Operations
SetExpressCheckout API
Field
LOCALECODE
PAGESTYLE
HDRIMG
HDRBORDERCOLOR
HDRBACKCOLOR
PAYFLOWCOLOR
SOLUTIONTYPE
Description
(Optional) Locale of pages displayed by PayPal during Express Checkout.
Character length and limitations: Any two-character country code.
The following two-character country codes are supported by PayPal: z
AU z z
DE
FR z z z z
IT
GB
ES
US
Any other value will default to US. See “Country Codes” on page 215 .
(Optional) Sets the Custom Payment Page Style for payment pages associated with this button/link. This value corresponds to the HTML variable page_style for customizing payment pages. The value is the same as the Page Style Name you chose when adding or editing the page style from the Profile subtab of the My Account tab of your PayPal account.
Character length and limitations: 30 single-byte alphabetic characters.
(Optional) URL for the image you want to appear at the top left of the payment page.
The image has a maximum size of 750 pixels wide by 90 pixels high. PayPal recommends that you provide an image that is stored on a secure (https) server. If you do not specify an image, the business name is displayed.
Character length and limit: 127 single-byte alphanumeric characters
(Optional) Sets the border color around the header of the payment page. The border is a 2-pixel perimeter around the header space, which is 750 pixels wide by 90 pixels high. By default, the color is black.
Character length and limitation: Six character HTML hexadecimal color code in
ASCII
(Optional) Sets the background color for the header of the payment page. By default, the color is white.
Character length and limitation: Six character HTML hexadecimal color code in
ASCII
(Optional) Sets the background color for the payment page. By default, the color is white.
Character length and limitation: Six character HTML hexadecimal color code in
ASCII
(Optional) Email address of the buyer as entered during checkout. PayPal uses this value to pre-fill the PayPal membership sign-up portion of the PayPal login page.
Character length and limit: 127 single-byte alphanumeric characters
(Optional) Type of checkout flow: z
Sole: Express Checkout for auctions z
Mark: normal Express Checkout
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
SetExpressCheckout API
Field
LANDINGPAGE
CHANNELTYPE
GIROPAYSUCCESSURL
GIROPAYCANCELURL
BANKTXNPENDINGURL
L_BILLINGTYPE
L_BILLINGAGREEMENT
DESCRIPTION
n
L_CUSTOM
n
L_PAYMENTTYPE
n n
Description
(Optional) Type of PayPal page to display: z
Billing: non-PayPal account z
Login: PayPal account login
(Optional) Type of channel: z z
Merchant: non-auction seller eBayItem: eBay auction
(Optional) The URL on the merchant site to redirect to after a successful giropay payment.
Use this field only if you are using giropay or bank transfer payment methods in
Germany.
(Optional) The URL on the merchant site to redirect to after a successful giropay payment.
Use this field only if you are using giropay or bank transfer payment methods in
Germany.
(Optional) The URL on the merchant site to transfer to after a bank transfer payment.
Use this field only if you are using giropay or bank transfer payment methods in
Germany.
Type of billing agreement.
For recurring payments, this field is required and must be set to
RecurringPayments.
Description of goods or services associated with the billing agreement.
PayPal recommends that you provide a brief summary of the terms & conditions of the billing agreement.
Custom annotation field for your own use.
N O T E
:
This field is ignored for recurring payments.
Specifies type of PayPal payment you require for the billing agreement, which is one of the following values.
z z
Any
InstantOnly
N O T E
:
This field is ignored for recurring payments.
Name-Value Pair API Developer Guide and Reference
June 2008
43
44
Express Checkout API Operations
SetExpressCheckout API
Address Fields
Field
NAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRY
PHONENUM
Description
(Required) Person’s name associated with this shipping address.
Character length and limitations: 32 single-byte characters.
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province for United States addresses.
Character length and limitations: 40 single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Required) Country code.
Character limit: 2 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
Payment Details Type Fields
Field Description
AMT
CURRENCYCODE
ITEMAMT
(Required) Total amount of order, including shipping, handling, and tax.
N O T E
:
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period
(.), and the optional thousands separator must be a comma (,).
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
A three-character currency code. Default: USD.
(See description) Sum of cost of all items in this order.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
N O T E
:
ITEMAMT is required if you specify L_AMT
n
.
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
SetExpressCheckout API
Field
SHIPPINGAMT
INSURANCEAMT
SHIPPINGDISCOUNT
HANDLINGAMT
TAXAMT
DESC
CUSTOM
INVNUM
Description
(Optional) Total shipping costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for SHIPPINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Total shipping insurance costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Shipping discount for this order, specified as a negative number.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Total handling costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for HANDLINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Sum of tax for all items in this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
TAXAMT is required if you specify L_TAXAMT
n
(Optional) Description of items the customer is purchasing.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) A free-form field for your own use.
Character length and limitations: 256 single-byte alphanumeric characters
(Optional) Your own invoice or tracking number.
Character length and limitations: 127 single-byte alphanumeric characters
Name-Value Pair API Developer Guide and Reference
June 2008
45
Express Checkout API Operations
SetExpressCheckout API
Field
BUTTONSOURCE
NOTIFYURL
Description
(Optional) An identification code for use by third-party applications to identify transactions.
Character length and limitations: 32 single-byte alphanumeric characters
(Optional) Your URL for receiving Instant Payment Notification (IPN) about this transaction.
N O T E
:
If you do not specify this value in the request, the notification URL from your
Merchant Profile is used, if one exists.
Character length and limitations: 2,048 single-byte alphanumeric characters
46
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
SetExpressCheckout API
Payment Details Item Type Fields
Field Description
L_NAMEn
L_DESCn
L_AMTn
L_NUMBERn
L_QTYn
L_TAXAMTn
(Optional) Item name.
These parameters must be ordered sequentially beginning with 0 (for example
L_NAME0, L_NAME1).
Character length and limitations: 127 single-byte characters
(Optional) Item description.
Character length and limitations: 127 single-byte characters
(Optional) Cost of item
These parameters must be ordered sequentially beginning with 0 (for example
L_AMT0, L_AMT1).
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for L_AMT
n
, you must specify a value for ITEMAMT.
(Optional) Item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_NUMBER0, L_NUMBER1).
Character length and limitations: 127 single-byte characters
(Optional) Item quantity.
These parameters must be ordered sequentially beginning with 0 (for example
L_QTY0, L_QTY1).
Character length and limitations: Any positive integer
(Optional) Item sales tax.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
These parameters must be ordered sequentially beginning with 0 (for example
L_TAXAMT0, L_TAXAMT1).
EbayItemPaymentDetailsItemType Fields
Field Description
L_EBAYITEMNUMBERn
(Optional) Auction item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMNUMBER0, L_EBAYITEMNUMBER1).
Character length: 765 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
47
Express Checkout API Operations
SetExpressCheckout API
Field Description
L_EBAYITEMAUCTIONTX
NIDn
(Optional) Auction transaction identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMAUCTIONTXNID0, L_EBAYITEMAUCTIONTXNID1).
Character length: 255 single-byte characters
L_EBAYITEMORDERIDn
(Optional) Auction order identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMORDERID0, L_EBAYITEMORDERID1).
Character length: 64 single-byte characters.
48
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
GetExpressCheckoutDetails API
Billing Agreement Details Fields
Field Description
L_BILLINGTYPEn
L_BILLINGAGREEMENTD
ESCRIPTIONn
L_PAYMENTTYPEn
L_CUSTOMn
(Required) Type of billing agreement. For reference transactions, this field must be
MerchantInitiatedBilling, which requests PayPal to prompt the buyer to set up a billing agreement for recurring payments. For recurring payments, the value must be RecurringPayments.
N O T E
:
Other defined values are not valid.
(Optional) Description of goods or services associated with the billing agreement.
PayPal recommends that the description contain a brief summary of the billing agreement terms and conditions. For example, customer will be billed at “9.99 per month for 2 years”.
Character length and limitations: 127 single-byte alphanumeric bytes.
(Optional) Specifies type of PayPal payment you require for the billing agreement. z z
Any
InstantOnly
(Optional) Custom annotation field for your own use.
Character length and limitations: 256 single-byte alphanumeric bytes.
SetExpressCheckout Response
SetExpressCheckout Response Fields
Field Description
TOKEN
A timestamped token by which you identify to PayPal that you are processing this payment with Express Checkout.
The token expires after three hours.If you set the token in the
SetExpressCheckout request, the value of the token in the response is identical to the value in the request.
Character length and limitations: 20 single-byte characters
GetExpressCheckoutDetails API
z z
“GetExpressCheckoutDetails Request” on page 50
“GetExpressCheckoutDetails Response” on page 50
Name-Value Pair API Developer Guide and Reference
June 2008
49
Express Checkout API Operations
GetExpressCheckoutDetails API
GetExpressCheckoutDetails Request
GetExpressCheckoutDetails Request Fields
Field Description
METHOD
TOKEN
(Required) Must be GetExpressCheckoutDetails.
(Required) A timestamped token, the value of which was returned by
SetExpressCheckout response.
Character length and limitations: 20 single-byte characters
GetExpressCheckoutDetails Response
z z z z z z z
GetExpressCheckoutDetails Response Fields
Payer Information Fields
Payer Name Fields
Ship To Address Fields
Payment Details Fields
Item Details Fields
Ebay Item Details Fields
50
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
GetExpressCheckoutDetails API
GetExpressCheckoutDetails Response Fields
Field Description
TOKEN
CUSTOM
INVNUM
PHONENUM
ADJUSTMENT
NOTE
REDIRECTREQUIRED
The timestamped token value that was returned by SetExpressCheckout response and passed on GetExpressCheckoutDetails request.
Character length and limitations: 20 single-byte characters
A free-form field for your own use, as set by you in the Custom element of
SetExpressCheckout request.
Character length and limitations: 256 single-byte alphanumeric characters
Your own invoice or tracking number, as set by you in the element of the same name in SetExpressCheckout request .
Character length and limitations: 127 single-byte alphanumeric characters
Payer’s contact telephone number.
N O TE
:
PayPal returns a contact telephone number only if your Merchant account profile settings require that the buyer enter one.
Character length and limitations: Field mask is XXX-XXX-XXXX (for US numbers) or +XXX XXXXXXXX (for international numbers)
A discount or gift certificate offered by PayPal to the buyer. This amount will be represented by a negative amount. If the buyer has a negative PayPal account balance, PayPal adds the negative balance to the transaction amount, which is represented as a positive value.
The text entered by the buyer on the PayPal website if the ALLOWNOTE field was set to 1 in SetExpressCheckout.
Character length and limitations: 255 single-byte characters
Flag to indicate whether you need to redirect the customer to back to PayPal after completing the transaction.
N O TE
:
Use this field only if you are using giropay or bank transfer payment methods in Germany.
Payer Information Fields
Field Description
PAYERID
PAYERSTATUS
Email address of payer.
Character length and limitations: 127 single-byte characters
Unique PayPal customer account identification number.
Character length and limitations:13 single-byte alphanumeric characters.
Status of payer. Valid values are: z verified z unverified
Character length and limitations: 10 single-byte alphabetic characters.
Name-Value Pair API Developer Guide and Reference
June 2008
51
Express Checkout API Operations
GetExpressCheckoutDetails API
Field
COUNTRYCODE
BUSINESS
Description
Payer’s country of residence in the form of ISO standard 3166 two-character country codes.
Character length and limitations: Two single-byte characters
Payer’s business name.
Character length and limitations: 127 single-byte characters
52
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
GetExpressCheckoutDetails API
Payer Name Fields
Field
SALUTATION
FIRSTNAME
MIDDLENAME
LASTNAME
SUFFIX
Address Type Fields
Field
ADDRESSSTATUS
Description
Payer’s salutation.
Character length and limitations: 20 single-byte characters
Payer’s first name.
Character length and limitations: 25 single-byte characters
Payer’s middle name.
Character length and limitations: 25 single-byte characters
Payer’s last name.Character length and limitations: 25 single-byte characters
Payer’s suffix.Character length and limitations: 12 single-byte characters
SHIPTONAME
SHIPTOSTREET
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
Description
Status of street address on file with PayPal
Valid values are: z z z none
Confirmed
Unconfirmed
(Required) Person’s name associated with this address.
Character length and limitations: 32 single-byte characters
(Required) First street address.
Character length and limitations: 100 single-byte characters
(Optional) Second street address.
Character length and limitations: 100 single-byte characters
(Required) Name of city.
Character length and limitations: 40 single-byte characters
(Optional) State or province.
Character length and limitations: 40 single-byte characters
Required for U.S. addresses only.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters
(Required) Country code. See “Country Codes” on page 215 .
Character limit: Two single-byte characters
Name-Value Pair API Developer Guide and Reference
June 2008
53
54
Express Checkout API Operations
GetExpressCheckoutDetails API
Payment Details Type Fields
Field Description
AMT
CURRENCYCODE
ITEMAMT
SHIPPINGAMT
INSURANCEAMT
SHIPPINGDISCOUNT
(Required) Total amount of order, including shipping, handling, and tax.
N O T E
:
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period
(.), and the optional thousands separator must be a comma (,).
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
A three-character currency code. Default: USD.
(See description) Sum of cost of all items in this order.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
N O T E
:
ITEMAMT is required if you specify L_AMT
n
.
(Optional) Total shipping costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for SHIPPINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Total shipping insurance costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Shipping discount for this order, specified as a negative number.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
HANDLINGAMT
TAXAMT
DESC
CUSTOM
INVNUM
BUTTONSOURCE
NOTIFYURL
Express Checkout API Operations
GetExpressCheckoutDetails API
Description
(Optional) Total handling costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for HANDLINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Sum of tax for all items in this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
TAXAMT is required if you specify L_TAXAMT
n
(Optional) Description of items the customer is purchasing.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) A free-form field for your own use.
Character length and limitations: 256 single-byte alphanumeric characters
(Optional) Your own invoice or tracking number.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) An identification code for use by third-party applications to identify transactions.
Character length and limitations: 32 single-byte alphanumeric characters
(Optional) Your URL for receiving Instant Payment Notification (IPN) about this transaction.
N O T E
:
If you do not specify this value in the request, the notification URL from your
Merchant Profile is used, if one exists.
Character length and limitations: 2,048 single-byte alphanumeric characters
Name-Value Pair API Developer Guide and Reference
June 2008
55
56
Express Checkout API Operations
GetExpressCheckoutDetails API
Payment Details Item Type Fields
Field Description
L_NAMEn
L_DESCn
L_AMTn
L_NUMBERn
L_QTYn
L_TAXAMTn
(Optional) Item name.
These parameters must be ordered sequentially beginning with 0 (for example
L_NAME0, L_NAME1).
Character length and limitations: 127 single-byte characters
(Optional) Item description.
Character length and limitations: 127 single-byte characters
(Optional) Cost of item
These parameters must be ordered sequentially beginning with 0 (for example
L_AMT0, L_AMT1).
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for L_AMT
n
, you must specify a value for ITEMAMT.
(Optional) Item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_NUMBER0, L_NUMBER1).
Character length and limitations: 127 single-byte characters
(Optional) Item quantity.
These parameters must be ordered sequentially beginning with 0 (for example
L_QTY0, L_QTY1).
Character length and limitations: Any positive integer
(Optional) Item sales tax.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
These parameters must be ordered sequentially beginning with 0 (for example
L_TAXAMT0, L_TAXAMT1).
EbayItemPaymentDetailsItemType Fields
Field Description
L_EBAYITEMNUMBERn
(Optional) Auction item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMNUMBER0, L_EBAYITEMNUMBER1).
Character length: 765 single-byte characters.
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
DoExpressCheckoutPayment API
Field Description
L_EBAYITEMAUCTIONTX
NIDn
(Optional) Auction transaction identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMAUCTIONTXNID0, L_EBAYITEMAUCTIONTXNID1).
Character length: 255 single-byte characters
L_EBAYITEMORDERIDn
(Optional) Auction order identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMORDERID0, L_EBAYITEMORDERID1).
Character length: 64 single-byte characters.
DoExpressCheckoutPayment API
z z
“DoExpressCheckoutPayment Request” on page 57
“DoExpressCheckoutPayment Response” on page 62
DoExpressCheckoutPayment Request
z z z z z
DoExpressCheckout Request Fields
Payment Details Fields
Payment Details Item Fields
Ebay Item Payment Details Fields
Address Fields
Name-Value Pair API Developer Guide and Reference
June 2008
57
58
Express Checkout API Operations
DoExpressCheckoutPayment API
DoExpressCheckoutPayment Request Fields
Field Description
METHOD
TOKEN
PAYMENTACTION
PAYERID
RETURNFMFDETAILS
(Required) Must be DoExpressCheckoutPayment.
(Required) The timestamped token value that was returned by
SetExpressCheckout response and passed on GetExpressCheckoutDetails request.
Character length and limitations: 20 single-byte characters
(Required) How you want to obtain payment: z
Authorization indicates that this payment is a basic authorization subject to settlement with PayPal Authorization & Capture.
z z
Order indicates that this payment is is an order authorization subject to settlement with PayPal Authorization & Capture.
Sale indicates that this is a final sale for which you are requesting payment.
N O T E
:
You cannot set this value to Sale on SetExpressCheckout request and then change this value to Authorization on the final PayPal Express
Checkout API DoExpressCheckoutPayment request.
Character length and limit: Up to 13 single-byte alphabetic characters
(Required) Unique PayPal customer account identification number as returned by
GetExpressCheckoutDetails response.Character length and limitations: 13 single-byte alphanumeric characters.
(Optional) Flag to indicate whether you want the results returned by Fraud
Management Filters. By default, you do not receive this information.
z z
0 - do not receive FMF details (default)
1 - receive FMF details
Payment Details Type Fields
Field Description
AMT
CURRENCYCODE
ITEMAMT
(Required) Total amount of order, including shipping, handling, and tax.
N O T E
:
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period
(.), and the optional thousands separator must be a comma (,).
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
A three-character currency code. Default: USD.
(See description) Sum of cost of all items in this order.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
N O T E
:
ITEMAMT is required if you specify L_AMT
n
.
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
DoExpressCheckoutPayment API
Field
SHIPPINGAMT
INSURANCEAMT
SHIPPINGDISCOUNT
HANDLINGAMT
TAXAMT
DESC
CUSTOM
INVNUM
Description
(Optional) Total shipping costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for SHIPPINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Total shipping insurance costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Shipping discount for this order, specified as a negative number.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Total handling costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for HANDLINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Sum of tax for all items in this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
TAXAMT is required if you specify L_TAXAMT
n
(Optional) Description of items the customer is purchasing.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) A free-form field for your own use.
Character length and limitations: 256 single-byte alphanumeric characters
(Optional) Your own invoice or tracking number.
Character length and limitations: 127 single-byte alphanumeric characters
Name-Value Pair API Developer Guide and Reference
June 2008
59
Express Checkout API Operations
DoExpressCheckoutPayment API
Field
BUTTONSOURCE
NOTIFYURL
Description
(Optional) An identification code for use by third-party applications to identify transactions.
Character length and limitations: 32 single-byte alphanumeric characters
(Optional) Your URL for receiving Instant Payment Notification (IPN) about this transaction.
N O T E
:
If you do not specify this value in the request, the notification URL from your
Merchant Profile is used, if one exists.
Character length and limitations: 2,048 single-byte alphanumeric characters
60
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
DoExpressCheckoutPayment API
Payment Details Item Type Fields
Field Description
L_NAMEn
L_DESCn
L_AMTn
L_NUMBERn
L_QTYn
L_TAXAMTn
(Optional) Item name.
These parameters must be ordered sequentially beginning with 0 (for example
L_NAME0, L_NAME1).
Character length and limitations: 127 single-byte characters
(Optional) Item description.
Character length and limitations: 127 single-byte characters
(Optional) Cost of item
These parameters must be ordered sequentially beginning with 0 (for example
L_AMT0, L_AMT1).
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for L_AMT
n
, you must specify a value for ITEMAMT.
(Optional) Item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_NUMBER0, L_NUMBER1).
Character length and limitations: 127 single-byte characters
(Optional) Item quantity.
These parameters must be ordered sequentially beginning with 0 (for example
L_QTY0, L_QTY1).
Character length and limitations: Any positive integer
(Optional) Item sales tax.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
These parameters must be ordered sequentially beginning with 0 (for example
L_TAXAMT0, L_TAXAMT1).
EbayItemPaymentDetailsItemType Fields
Field Description
L_EBAYITEMNUMBERn
(Optional) Auction item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMNUMBER0, L_EBAYITEMNUMBER1).
Character length: 765 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
61
62
Express Checkout API Operations
DoExpressCheckoutPayment API
Field Description
L_EBAYITEMAUCTIONTX
NIDn
(Optional) Auction transaction identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMAUCTIONTXNID0, L_EBAYITEMAUCTIONTXNID1).
Character length: 255 single-byte characters
L_EBAYITEMORDERIDn
(Optional) Auction order identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMORDERID0, L_EBAYITEMORDERID1).
Character length: 64 single-byte characters.
Address Fields
Field
NAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRY
PHONENUM
Description
(Required) Person’s name associated with this shipping address.
Character length and limitations: 32 single-byte characters.
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province for United States addresses.
Character length and limitations: 40 single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Required) Country code.
Character limit: 2 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
DoExpressCheckoutPayment Response
z z
DoExpressCheckoutPayment Response Fields
Payment Information Fields
June 2008
Name-Value Pair API Developer Guide and Reference
Express Checkout API Operations
DoExpressCheckoutPayment API
DoExpressCheckoutPayment Response Fields
Field Description
TOKEN
NOTE
The timestamped token value that was returned by SetExpressCheckout response and passed on GetExpressCheckoutDetails request.
Character length and limitations: 20 single-byte characters
The text entered by the buyer on the PayPal website if the ALLOWNOTE field was set to 1 in SetExpressCheckout.
Character length and limitations: 255 single-byte characters
REDIRECTREQUIRED
L_FMF
L_FMF
filter filter
ID
n
NAME
n
Flag to indicate whether you need to redirect the customer to back to PayPal after completing the transaction.
N O TE
:
Use this field only if you are using giropay or bank transfer payment methods in Germany.
Filter ID, including the filter type, which is either ACCEPT or DENY, and the entry number, starting from 0.
Filter name, including the filter type, which is either ACCEPT or DENY, and the entry number, starting from 0.
Payment Information Fields
Field Description
TRANSACTIONID
TRANSACTIONTYPE
PAYMENTTYPE
ORDERTIME
Unique transaction ID of the payment.
N O T E
:
If the PaymentAction of the request was Authorization or Order, this value is your AuthorizationID for use with the Authorization & Capture
APIs.
Character length and limitations:19 single-byte characters
The type of transaction
Character length and limitations:15 single-byte characters
Valid values: z z cart express-checkout
Indicates whether the payment is instant or delayed.
Character length and limitations: Seven single-byte characters
Valid values: z none z z echeck instant
Time/date stamp of payment
Name-Value Pair API Developer Guide and Reference
June 2008
63
Express Checkout API Operations
DoExpressCheckoutPayment API
Field
AMT
CURRENCYCODE
FEEAMT
SETTLEAMT
TAXAMT
EXCHANGERATE
PAYMENTSTATUS
Description
The final amount charged, including any shipping and taxes from your Merchant
Profile.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
A three-character currency code.
PayPal fee amount charged for the transactionCharacter length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Amount deposited in your PayPal account after a currency conversion.
Tax charged on the transaction.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Exchange rate if a currency conversion occurred. Relevant only if your are billing in their non-primary currency. If the customer chooses to pay with a currency other than the non-primary currency, the conversion occurs in the customer’s account.Character length and limitations: a decimal that does not exceed 17 characters, including decimal point
Status of the payment:Completed: The payment has been completed, and the funds have been added successfully to your account balance.
Pending: The payment is pending. See the PendingReason element for more information.
64
June 2008
Name-Value Pair API Developer Guide and Reference
Field
PENDINGREASON
REASONCODE
Express Checkout API Operations
DoExpressCheckoutPayment API
Description
The reason the payment is pending: z none: No pending reason z z address: The payment is pending because your customer did not include a confirmed shipping address and your Payment Receiving Preferences is set such that you want to manually accept or deny each of these payments. To change your preference, go to the Preferences section of your Profile.
echeck: The payment is pending because it was made by an eCheck that has not yet cleared.
z z z z intl: The payment is pending because you hold a non-U.S. account and do not have a withdrawal mechanism. You must manually accept or deny this payment from your Account Overview.
multi-currency: You do not have a balance in the currency sent, and you do not have your Payment Receiving Preferences set to automatically convert and accept this payment. You must manually accept or deny this payment.
verify: The payment is pending because you are not yet verified. You must verify your account before you can accept this payment.
other: The payment is pending for a reason other than those listed above. For more information, contact PayPal customer service.
The reason for a reversal if TransactionType is reversal: z none: No reason code z z chargeback: A reversal has occurred on this transaction due to a chargeback by your customer.
guarantee: A reversal has occurred on this transaction due to your customer triggering a money-back guarantee.
z z z buyer-complaint: A reversal has occurred on this transaction due to a complaint about the transaction from your customer.
refund: A reversal has occurred on this transaction because you have given the customer a refund.
other: A reversal has occurred on this transaction due to a reason not listed above.
Name-Value Pair API Developer Guide and Reference
June 2008
65
Express Checkout API Operations
DoExpressCheckoutPayment API
66
June 2008
Name-Value Pair API Developer Guide and Reference
5
GetTransactionDetails API
z z
“GetTransactionDetails Request” on page 67
“GetTransactionDetails Response” on page 67
GetTransactionDetails Request
GetTransactionDetails Request Fields
Field Description
METHOD
TRANSACTIONID
Must be GetTransactionDetails.
(Required) Unique identifier of a transaction.
N O T E
:
The details for some kinds of transactions cannot be retrieved with
GetTransactionDetails. You cannot obtain details of bank transfer withdrawals, for example.
Character length and limitations: 17 single-byte alphanumeric characters.
GetTransactionDetails Response
N O T E
:
z z
All fields defined in the formal structure of GetTransactionDetailsResponse are not necessarily returned. Data are returned in a response only if PayPal has recorded data that corresponds to the field.
Receiver Information Fields
Payer Information Fields z z z z
Address Fields
Payer Name Fields
Payer Name Fields
Payment Information Fields z z z
Payment Item Information Fields
Subscription Fields
Subscriptions Terms Fields
Name-Value Pair API Developer Guide and Reference
June 2008
67
68
GetTransactionDetails API
GetTransactionDetails Response
Receiver Information Fields
Field Description
RECEIVEREMAIL
RECEIVERID
Primary email address of the payment recipient (the seller).
If you are the recipient of the payment and the payment is sent to your non-primary email address, the value of Receiver is still your primary email address.
Character length and limitations: 127 single-byte alphanumeric characters
Unique account ID of the payment recipient (the seller). This value is the same as the value of the recipient's referral ID.
Payer Information Fields
Field Description
PAYERID
PAYERSTATUS
SHIPTOCOUNTRYCODE
PAYERBUSINESS
Email address of payer.
Character length and limitations: 127 single-byte characters.
Unique PayPal customer account identification number.
Character length and limitations:13 single-byte alphanumeric characters.
Status of payer. Valid values are: z verified z unverified
Character length and limitations: 10 single-byte alphabetic characters.
Payer’s country of residence in the form of ISO standard 3166 two-character country codes.
Character length and limitations: Two single-byte characters.
Payer’s business name.
Character length and limitations: 127 single-byte characters.
Payer Name Fields
Field
SALUTATION
FIRSTNAME
MIDDLENAME
LASTNAME
SUFFIX
Description
Payer’s salutation.
Character length and limitations: 20 single-byte characters.
Payer’s first name.
Character length and limitations: 25 single-byte characters.
Payer’s middle name.
Character length and limitations: 25 single-byte characters.
Payer’s last name
Character length and limitations: 25 single-byte characters.
Payer’s suffix
Character length and limitations: 12 single-byte characters.
June 2008
Name-Value Pair API Developer Guide and Reference
GetTransactionDetails API
GetTransactionDetails Response
Address Fields
Field
ADDRESSOWNER
ADDRESSSTATUS
SHIPTONAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
Description
eBay company that maintains this address.
Valid values are: z eBay z
PayPal
Status of street address on file with PayPal.
Valid values are: z z z none
Confirmed
Unconfirmed
Person’s name associated with this address.
Character length and limitations: 32 single-byte characters.
First street address.
Character length and limitations: 100 single-byte characters.
Second street address.
Character length and limitations: 100 single-byte characters.
Name of city.
Character length and limitations: 40 single-byte characters.
State or province.
Character length and limitations: 40 single-byte characters.
Required for U.S. addresses only.
U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
Country code. Character limit: Two single-byte characters.
Expanded name of country.
Character length and limitations: 64 single-byte alphanumeric characters
Country code. Character limit: Two single-byte characters.
SHIPTOPHONENUM
Payment Information Fields
Field Description
TRANSACTIONID
Unique transaction ID of the payment.
Character length and limitations: 17 single-byte characters
Name-Value Pair API Developer Guide and Reference
June 2008
69
70
GetTransactionDetails API
GetTransactionDetails Response
Field Description
PARENTTRANSACTIONID z
Parent or related transaction identification number. This field is populated for the following transaction types: z
Reversal. Capture of an authorized transaction.
z z z z z
Reversal. Reauthorization of a transaction.
Capture of an order. The value of ParentTransactionID is the original
OrderID.
Authorization of an order. The value of ParentTransactionID is the original
OrderID.
Capture of an order authorization.
Void of an order. The value of ParentTransactionID is the original OrderID.
Character length and limits: 16 digits in xxxx-xxxx-xxxx-xxxx format
RECEIPTID
Receipt identification number
Character length and limits: 16 digits in xxxx-xxxx-xxxx-xxxx format
TRANSACTIONTYPE
PAYMENTTYPE
ORDERTIME
AMT
CURRENCYCODE
FEEAMT
SETTLEAMT
The type of transaction
Valid values: z cart z express-checkout
Character length and limitations:15 single-byte characters
Indicates whether the payment is instant or delayed.
Character length and limitations: Seven single-byte characters
Valid values: z z z none echeck instant
Time/date stamp of payment. For example: 2006-08-15T17:23:15Z.
The final amount charged, including any shipping and taxes from your Merchant
Profile.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
A three-character currency code.
PayPal fee amount charged for the transactionCharacter length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Amount deposited in your PayPal account after a currency conversion.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
TAXAMT
EXCHANGERATE
PAYMENTSTATUS
GetTransactionDetails API
GetTransactionDetails Response
Description
Tax charged on the transaction.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Exchange rate if a currency conversion occurred. Relevant only if your are billing in their non-primary currency. If the customer chooses to pay with a currency other than the non-primary currency, the conversion occurs in the customer’s account.Character length and limitations: a decimal that does not exceed 17 characters, including decimal point
Status of the payment.
The status of the payment: z
None: No status z z
Canceled-Reversal: This means a reversal has been canceled. For example, you won a dispute with the customer, and the funds for the transaction that was reversed have been returned to you.
Completed: The payment has been completed, and the funds have been added successfully to your account balance.
z z z z
Denied: You denied the payment. This happens only if the payment was previously pending because of possible reasons described for the PendingReason element.
Expired: the authorization period for this payment has been reached.
Failed: The payment has failed. This happens only if the payment was made from your customer’s bank account.
Pending: The payment is pending. See the PendingReason field for more information.
z z z z
Refunded: You refunded the payment.
Reversed: A payment was reversed due to a chargeback or other type of reversal. The funds have been removed from your account balance and returned to the buyer. The reason for the reversal is specified in the ReasonCode element.
Processed: A payment has been accepted.
Voided: An authorization for this transaction has been voided.
Name-Value Pair API Developer Guide and Reference
June 2008
71
72
GetTransactionDetails API
GetTransactionDetails Response
Field
PENDINGREASON
REASONCODE
Description
N O T E
:
PendingReason is returned in the response only if PaymentStatus is
Pending.
The reason the payment is pending: z z z z z z z none: No pending reason address: The payment is pending because your customer did not include a confirmed shipping address and your Payment Receiving Preferences is set such that you want to manually accept or deny each of these payments. To change your preference, go to the Preferences section of your Profile.
echeck: The payment is pending because it was made by an eCheck that has not yet cleared.
intl: The payment is pending because you hold a non-U.S. account and do not have a withdrawal mechanism. You must manually accept or deny this payment from your Account Overview.
multi-currency: You do not have a balance in the currency sent, and you do not have your Payment Receiving Preferences set to automatically convert and accept this payment. You must manually accept or deny this payment.
verify: The payment is pending because you are not yet verified. You must verify your account before you can accept this payment.
other: The payment is pending for a reason other than those listed above. For more information, contact PayPal customer service.
The reason for a reversal if TransactionType is reversal: z z none: No reason code chargeback: A reversal has occurred on this transaction due to a chargeback by your customer.
z z z z guarantee: A reversal has occurred on this transaction due to your customer triggering a money-back guarantee.
buyer-complaint: A reversal has occurred on this transaction due to a complaint about the transaction from your customer.
refund: A reversal has occurred on this transaction because you have given the customer a refund.
other: A reversal has occurred on this transaction due to a reason not listed above.
June 2008
Name-Value Pair API Developer Guide and Reference
GetTransactionDetails API
GetTransactionDetails Response
Payment Item Information Fields
Field Description
INVNUM
CUSTOM
NOTE
SALESTAX
Invoice number you set in the original transaction.
Character length and limitations: 127 single-byte alphanumeric characters
Custom field you set in the original transaction.
Character length and limitations: 127 single-byte alphanumeric characters
Memo entered by your customer in PayPal Website Payments note field.
Character length and limitations: 255 single-byte alphanumeric characters
Amount of tax charged on payment.
Payment Item Fields
Field
L_DESCn
L_NUMBERn
L_QTYn
L_AMTn
L_OPTIONSNAMEn
L_OPTIONSVALUEn
Description
Amount of tax charged on payment.
These parameters must be ordered sequentially beginning with 0 (for example
L_DESC0, L_DESC1).
Item number set by you. If this was a shopping cart transaction, PayPal appends the number of the item to the HTML item_number variable. For example, item_number1, item_number2, and so forth.Character length and limitations: 127 single-byte alphanumeric characters
These parameters must be ordered sequentially beginning with 0 (for example
L_NUMBER0, L_NUMBER1).
Quantity set by you or entered by the customer.
Character length and limitations: no limit
Cost of item.
These parameters must be ordered sequentially beginning with 0 (for example
L_AMT0, L_AMT1).
PayPal option names for an item in the shopping cart; each name corresponds to an option value. There can be multiple option names per item.
The option names are ordered sequentially beginning with 0 (for example,
L_OPTIONSNAMES0, L_OPTIONSNAME1).
PayPal option values corresponding to option names of an item in the shopping cart.
The option names are ordered sequentially beginning with 0 (for example,
L_OPTIONSVALUE0, L_OPTIONSVALUE1).
Subscription Fields
Field
SUBSCRIPTIONID
SUBSCRIPTIONDATE
Description
ID generated by PayPal for the subscriber.
Character length and limitations: no limit
Subscription start date
Name-Value Pair API Developer Guide and Reference
June 2008
73
GetTransactionDetails API
GetTransactionDetails Response
Field
EFFECTIVEDATE
RETRYTIME
USERNAME
PASSWORD
RECURRENCES
REATTEMPT
RECURRING
Description
Date when the subscription modification will be effective
Date PayPal will retry a failed subscription payment..
Username generated by PayPal and given to subscriber to access the subscription.
Character length and limitations: 64 alphanumeric single-byte characters
Password generated by PayPal and given to subscriber to access the subscription. For security, the value of the password is hashed.
Character length and limitations: 128 alphanumeric single-byte characters
The number of payment installments that will occur at the regular rate.
Character length and limitations: no limit.
Indicates whether reattempts should occur upon payment failures.
Indicates whether regular rate recurs.
1 = Yes.
Subscription Terms Fields
Field Description
PERIOD
The amount subscriber is to be charged in one payment.Character length and limitations: no limit
The period of time that the subscriber will be charged.
Character length and limitations: no limit
74
June 2008
Name-Value Pair API Developer Guide and Reference
GetTransactionDetails API
GetTransactionDetails Response
Name-Value Pair API Developer Guide and Reference
June 2008
75
GetTransactionDetails API
GetTransactionDetails Response
76
June 2008
Name-Value Pair API Developer Guide and Reference
6
MassPay API
z z
MassPay Request
z z
MassPay Request Fields
MassPay Item Details Fields
Name-Value Pair API Developer Guide and Reference
June 2008
77
78
MassPay API
MassPay Request
MassPay Request Fields
Field Description
METHOD
EMAILSUBJECT
CURRENCYCODE
RECEIVERTYPE
Must be MassPay.
(Optional) The subject line of the email that PayPal sends when the transaction is completed. The subject line is the same for all recipients.
Character length and limitations: 255 single-byte alphanumeric characters.
A three-character currency code. See “Currency Codes” on page 229 .
(Optional) Indicates how you identify the recipients of payments in this call to
MassPay.
Must be EmailAddress or UserID
MassPay Item Type Fields
Field Description
L_EMAILn
L_RECEIVERIDn
(See description) Email address of recipient.
N O T E
:
You must specify either L_EMAIL
n
or L_RECEIVERID
n
, but you must not mix the two in the group of MassPay items. Use only one or the other, but not both, in a single request.
These parameters must be ordered sequentially beginning with 0 (for example
L_EMAIL0, L_EMAIL1).
Character length and limitations: 127 single-byte characters maximum.
(See description) Unique PayPal customer account number. This value corresponds to the value of PayerID returned by GetTransactionDetails.
N O T E
:
You must specify either L_EMAIL
n
or L_RECEIVERID
n
, but you must not mix the two in the group of MassPay items. Use only one or the other, but not both, in a single request.
These parameters must be ordered sequentially beginning with 0 (for example
L_RECEIVERID0, L_RECEIVERID1).
Character length and limitations: 17 single-byte characters maximum.
L_AMTn
L_UNIQUEIDn
L_NOTEn
(Required) Payment amount.
These parameters must be ordered sequentially beginning with 0 (for example
L_AMT0, L_AMT1).
N O T E
:
You cannot mix currencies in a single MassPayRequest. A single request must include items that are of the same currency.
(Optional) Transaction-specific identification number for tracking in an accounting system.
These parameters must be ordered sequentially beginning with 0 (for example
L_UNIQUEID0, L_UNIQUEID1).
Character length and limitations: 30 single-byte characters. No whitespace allowed.
(Optional) Custom note for each recipient.
Character length and limitations: 4,000 single-byte alphanumeric characters.
June 2008
Name-Value Pair API Developer Guide and Reference
MassPay Response
The fields in the response are the standard response header fields.
MassPay API
MassPay Response
Name-Value Pair API Developer Guide and Reference
June 2008
79
MassPay API
MassPay Response
80
June 2008
Name-Value Pair API Developer Guide and Reference
7
RefundTransaction API
z z
“RefundTransaction Request” on page 81
“RefundTransaction Response” on page 81
RefundTransaction Request
RefundTransaction Request Fields
Field Description
METHOD
TRANSACTIONID
REFUNDTYPE
AMT
NOTE
Must be RefundTransaction.
(Required) Unique identifier of a transaction.
Character length and limitations: 17 single-byte alphanumeric characters.
(Required) Type of refund you are making: z
Other z z
Full
Partial
(See description) Refund amount.
Amount is required if RefundType is Partial.
N O T E
:
If RefundType is Full, do not set Amount.
(Optional) Custom memo about the refund.
Character length and limitations: 255 single-byte alphanumeric characters.
RefundTransaction Response
RefundTransaction Response Fields
Field Description
REFUNDTRANSACTIONID
Unique transaction ID of the refund.
Character length and limitations:17 single-byte characters.
FEEREFUNDAMT
Transaction fee refunded to original recipient of payment.
GROSSREFUNDAMT
Amount of money refunded to original payer.
Name-Value Pair API Developer Guide and Reference
June 2008
81
RefundTransaction API
RefundTransaction Response
Field
NETREFUNDAMT
Description
Amount subtracted from PayPal balance of original recipient of payment to make this refund.
82
June 2008
Name-Value Pair API Developer Guide and Reference
8
TransactionSearch API
z z
“TransactionSearch Request” on page 83
“TransactionSearch Response” on page 86
TransactionSearch Request
z z
“TransactionSearch Request Fields” on page 84
“Payer Name Fields” on page 86
Name-Value Pair API Developer Guide and Reference
June 2008
83
84
TransactionSearch API
TransactionSearch Request
TransactionSearch Request Fields
Field Description
METHOD
STARTDATE
ENDDATE
RECEIVER
RECEIPTID
TRANSACTIONID
Must be TransactionSearch.
(Required) The earliest transaction date at which to start the search.
No wildcards are allowed. The value must be in UTC/GMT format.
(Optional) The latest transaction date to be included in the search.
(Optional) Search by the buyer’s email address.
Character length and limitations: 127 single-byte alphanumeric characters.
(Optional) Search by the receiver’s email address. If the merchant account has only one email, this is the primary email. Can also be a non-primary email.
(Optional) Search by the PayPal Account Optional receipt ID.
INVNUM
ACCT
AUCTIONITEMNUMBER
(Optional) Search by the transaction ID. The returned results are from the merchant’s transaction records.
Character length and limitations: 19 single-byte characters maximum.
(Optional) Search by invoice identification key, as set by you for the original transaction. This field searches the records for items sold by the merchant, not the items purchased.
N O T E
:
No wildcards are allowed.
Character length and limitations: 127 single-byte characters maximum.
(Optional) Search by credit card number, as set by you for the original transaction.
This field searches the records for items sold by the merchant, not the items purchased.
N O T E
:
No wildcards are allowed.
Character length and limitations: Must be at least 11 and no more than 25 single-byte numeric characters maximum. Special punctuation, such as dashes or spaces, is ignored.
(Optional) Search by auction item number of the purchased goods.
June 2008
Name-Value Pair API Developer Guide and Reference
TransactionSearch API
TransactionSearch Request
Field
TRANSACTIONCLASS
AMT
STATUS
Description
(Optional) Search by classification of transaction.
Some kinds of possible classes of transactions are not searchable with this field. You cannot search for bank transfer withdrawals, for example.
z
All: all transaction classifications z z z z
Sent: only payments sent
Received: only payments received
MassPay: only mass payments
MoneyRequest: only money requests z z z z z z z z
FundsAdded: only funds added to balance
FundsWithdrawn: only funds withdrawn from balance
Referral: only transactions involving referrals
Fee: only transactions involving fees
Subscription: only transactions involving subscriptions
Dividend: only transactions involving dividends
Billpay: only transactions involving BillPay Transactions
Refund: only transactions involving funds z z z z z z
CurrencyConversions: only transactions involving currency conversions
BalanceTransfer: only transactions involving balance transfers
Reversal: only transactions involving BillPay reversals
Shipping: only transactions involving UPS shipping fees
BalanceAffecting: only transactions that affect the account balance
ECheck: only transactions involving eCheck
(Optional) Search by transaction amount.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Search by currency code.
(Optional) Search by transaction status: z z z z z
Pending: The payment is pending. The specific reason the payment is pending is returned by the GetTransactionDetails API PendingReason field.
Processing: The payment is being processed.
Success: The payment has been completed and the funds have been added successfully to your account balance.
Denied: You denied the payment. This happens only if the payment was previously pending.
Reversed: A payment was reversed due to a chargeback or other type of reversal. The funds have been removed from your account balance and returned to the buyer.
Name-Value Pair API Developer Guide and Reference
June 2008
85
86
TransactionSearch API
TransactionSearch Response
Payer Name Fields
Field
SALUTATION
FIRSTNAME
MIDDLENAME
LASTNAME
SUFFIX
Description
Payer’s salutation.
Character length and limitations: 20 single-byte characters.
Payer’s first name.
Character length and limitations: 25 single-byte characters.
Payer’s middle name.
Character length and limitations: 25 single-byte characters.
Payer’s last name
Character length and limitations: 25 single-byte characters.
Payer’s suffix
Character length and limitations: 12 single-byte characters.
TransactionSearch Response
TransactionSearch Response Fields
Field Description
L_TIMESTAMPn
L_TIMEZONEn
L_TYPEn
L_EMAILn
The date and time (in UTC/GMT format) the transaction occurred.
The time zone of the transaction.
The type of the transaction.
The email address of either the payer or the payment recipient (the “payee”). If the payment amount is positive, this field is the recipient of the funds. If the payment is negative, this field is the paying customer.
L_NAMEn
L_TRANSACTIONIDn
L_STATUSn
L_AMTn
L_FEEAMTn
L_NETAMTn
Display name of the payer.
Seller’s transaction ID.
The status of the transaction.
The total gross amount charged, including any profile shipping cost and taxes.
The fee that PayPal charged for the transaction.
The net amount of the transaction.
June 2008
Name-Value Pair API Developer Guide and Reference
9
Recurring Payments and
Reference Transactions API
Operations
This chapter describes the PayPal API operations related to recurring payments and reference transactions: z z
“CreateRecurringPaymentsProfile API” on page 87
“GetRecurringPaymentsProfileDetails API” on page 98
z z z z z z
“ManageRecurringPaymentsProfileStatus API” on page 105
“BillOutstandingAmount API” on page 106
“UpdateRecurringPaymentsProfile API” on page 107
“SetCustomerBillingAgreement API” on page 113
“GetBillingAgreementCustomerDetails API” on page 117
“DoReferenceTransaction API” on page 120
CreateRecurringPaymentsProfile API
z z
“CreateRecurringPaymentsProfile Request” on page 87
“CreateRecurringPaymentsProfile Response” on page 97
CreateRecurringPaymentsProfile Request
z z z z z z z z
CreateRecurringPaymentsProfile Request
Recurring Payments Profile Details
Schedule Details
Billing Period Details
Activation Details
Ship To Address
Credit Card Details
Payer Information
Name-Value Pair API Developer Guide and Reference
June 2008
87
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
z z
Payer Name
Billing Address
88
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
CreateRecurringPaymentsProfile Request Fields
Field Description
METHOD
TOKEN
(Required) Must be DoDirectPayment.
(See description) A timestamped token, the value of which was returned in the response to the first call to SetExpressCheckout. You can also use the token returned in the SetCustomerBillingAgreement response.
Call CreateRecurringPaymentsProfile once for each billing agreement included in SetExpressCheckout request and use the same token for each call.
Each CreateRecurringPaymentsProfile request creates a single recurring payments profile.
N O T E
:
Tokens expire after approximately 3 hours.
N O T E
:
If you include both Token and CreditCardDetails, the token is used and credit card details are ignored.
Recurring Payments Profile Details Fields
Field Description
SUBSCRIBERNAME
PROFILESTARTDATE
PROFILEREFERENCE
(Optional) Full name of the person receiving the product or service paid for by the recurring payment.
If not present, the name in the buyer’s PayPal account is used.
Character length and limitations: 32 single-byte characters.
(Required) The date when billing for this profile begins.
Must be a valid date, in UTC/GMT format.
N O T E
:
The profile may take up to 24 hours for activation.
(Optional) The merchant’s own unique reference or invoice number.
Character length and limitations: 127 single-byte alphanumeric characters.
ScheduleDetails Fields
Field
DESC
MAXFAILEDPAYMENTS
Description
(Required) Description of the recurring payment.
N O T E
:
This field must match the corresponding billing agreement description included in the SetExpressCheckout request.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) The number of scheduled payments that can fail before the profile is automatically suspended. An IPN message is sent to the merchant when the specified number of failed payments is reached.
Character length and limitations: Number string representing an integer.
Name-Value Pair API Developer Guide and Reference
June 2008
89
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Field
AUTOBILLAMT
Description
(Optional) This field indicates whether you would like PayPal to automatically bill the outstanding balance amount in the next billing cycle. The outstanding balance is the total amount of any previously failed scheduled payments that have yet to be successfully paid.
Valid values: Must be NoAutoBill or AddToNextBilling.
90
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Billing Period Details Type
Field Description
BILLINGPERIOD
(Required) Unit for billing during this subscription period.
One of the following values: z
Day z z z z
Week
SemiMonth
Month
Year
For SemiMonth, billing is done on the 1st and 15th of each month.
N O T E
:
The combination of BillingPeriod and BillingFrequency cannot exceed one year.
BILLINGFREQUENCY
(Required) Number of billing periods that make up one billing cycle.
The combination of billing frequency and billing period must be less than or equal to one year. For example, if the billing cycle is Month, the maximum value for billing frequency is 12. Similarly, if the billing cycle is Week, the maximum value for billing frequency is 52.
N O T E
:
If the billing period is SemiMonth., the billing frequency must be 1.
TOTALBILLINGCYCLES
(Optional) The number of billing cycles for payment period (either the regular payment period or the trial period).
z z z
For the trial period, the value must be greater than 0.
For the regular payment period, if no value is specified or the value is 0, the regular payment period continues until the profile is canceled or deactivated.
For the regular payment period, if the value is greater than 0, the regular payment period will expire after the trial period is finished and continue at the billing frequency for TotalBillingCycles cycles.
AMT
(Required) Billing amount for each billing cycle during this payment period. This amount does not include shipping and tax amounts.
N O T E
:
All amounts in the CreateRecurringPaymentsProfile request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
CURRENCYCODE
SHIPPINGAMT
(Required) A three-character currency code.
Default: USD
(Optional) Shipping amount for each billing cycle during this payment period.
N O T E
:
All amounts in the request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Name-Value Pair API Developer Guide and Reference
June 2008
91
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Field
TAXAMT
Description
(Optional) Tax amount for each billing cycle during this payment period.
N O T E
:
All amounts in the request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
92
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Activation Details Type
Field Description
INITAMT
(Optional) Initial non-recurring payment amount due immediately upon profile creation. Use an initial amount for enrolment or set-up fees.
N O T E
:
All amounts included in the request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
FAILEDINITAMTACTION
(Optional) By default, PayPal will suspend the pending profile in the event that the initial payment amount fails. You can override this default behavior by setting this field to ContinueOnFailure, which indicates that if the initial payment amount fails, PayPal should add the failed payment amount to the outstanding balance for this recurring payment profile.
When this flag is set to ContinueOnFailure, a success code will be returned to the merchant in the CreateRecurringPaymentsProfile response and the recurring payments profile will be activated for scheduled billing immediately. You should check your IPN messages or PayPal account for updates of the payment status.
If this field is not set or is set to CancelOnFailure, PayPal will create the recurring payment profile, but will place it into a pending status until the initial payment is completed. If the initial payment clears, PayPal will notify you by IPN that the pending profile has been activated. If the payment fails, PayPal will notify you by
IPN that the pending profile has been canceled.
Character length and limitations: ContinueOnFailure or CancelOnFailure.
Ship To Address Fields
Field
SHIPTONAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
Description
(See description) Person’s name associated with this address. This field is required for shipping addresses but is optional for credit card billing addresses.
Character length and limitations: 32 single-byte characters.
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province for United States addresses.
Character length and limitations: 40 single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
93
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Field
SHIPTOCOUNTRYCODE
SHIPTOPHONENUM
Description
(Required) Country code.
Character limit: 2 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
94
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Credit Card Details Fields
Field Description
CREDITCARDTYPE
ACCT
EXPDATE
(Required) Type of credit card.
Character length and limitations: Up to ten single-byte alphabetic characters.
Allowable values: z
Visa z z z z z
MasterCard
Discover
Amex
Maestro: See important note.
Solo: See important note.
N O T E
:
If the credit card type is Maestro or Solo, the CURRENCYCODE must be
GBP. In addition, either STARTDATE or IssueNumber must be specified.
(Required) Credit card number.
Character length and limitations: numeric characters only. No spaces or punctutation.
Must conform with modulo and length required by each credit card type.
(See description) Credit card expiration date.
This field is required if you are using recurring payments with direct payments.
Format: MMYYYY
Character length and limitations: Six single-byte alphanumeric characters, including leading zero.
CVV2
STARTDATE
ISSUENUMBER
(determined by account settings) Card Verification Value, version 2.Your Merchant
Account settings determine whether this field is required. Character length for Visa,
MasterCard, and Discover: exactly three digits.Character length for American
Express: exactly four digits.To comply with credit card processing regulations, once a transaction has been completed, you must not store the value of CVV2.
(Optional) Month and year that Maestro or Solo card was issued, the MMYYYY format.
Character length: Must be six digits, including leading zero.
(Optional) Issue number of Maestro or Solo card.Character length: two numeric digits maximum.
PayerInfo Type Fields
Field
PAYERID
Description
Email address of payer.
Character length and limitations: 127 single-byte characters.
Unique PayPal customer account identification number.
Character length and limitations:13 single-byte alphanumeric characters.
Name-Value Pair API Developer Guide and Reference
June 2008
95
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Field
PAYERSTATUS
COUNTRYCODE
BUSINESS
Description
Status of payer. Valid values are: z verified z unverified
Character length and limitations: 10 single-byte alphabetic characters.
Payer’s country of residence in the form of ISO standard 3166 two-character country codes.
Character length and limitations: Two single-byte characters.
Payer’s business name.
Character length and limitations: 127 single-byte characters.
96
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
CreateRecurringPaymentsProfile API
Payer Name Fields
Field
SALUTATION
FIRSTNAME
MIDDLENAME
LASTNAME
SUFFIX
Description
Payer’s salutation.
Character length and limitations: 20 single-byte characters.
Payer’s first name.
Character length and limitations: 25 single-byte characters.
Payer’s middle name.
Character length and limitations: 25 single-byte characters.
Payer’s last name
Character length and limitations: 25 single-byte characters.
Payer’s suffix
Character length and limitations: 12 single-byte characters.
Address Fields
Field
STREET
STREET2
CITY
STATE
COUNTRYCODE
ZIP
PHONENUM
Description
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province.
Character length and limitations: 40 single-byte characters.
(Required) Country code.
Character limit: Two single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
CreateRecurringPaymentsProfile Response
CreateRecurringPaymentsProfile Response Fields
Field Description
PROFILEID
A unique identifier for future reference to the details of this recurring payment.
Character length and limitations: Up to 14 single-byte alphanumeric characters.
Name-Value Pair API Developer Guide and Reference
June 2008
97
98
Recurring Payments and Reference Transactions API Operations
GetRecurringPaymentsProfileDetails API
Field
STATUS
Description
Status of the recurring payment profile.
z
ActiveProfile - The recurring payment profile has been successfully created and activated for scheduled payments according the billing instructions from the recurring payments profile.
z
PendingProfile - The system is in the process of creating the recurring payment profile. Please check your IPN messages for an update.
GetRecurringPaymentsProfileDetails API
z z
“GetRecurringPaymentsProfileDetails Request” on page 98
“GetRecurringPaymentsProfileDetails Response” on page 98
GetRecurringPaymentsProfileDetails Request
GetRecurringPaymentsProfileDetails Request Fields
Field Description
METHOD
PROFILEID
(Required) Must be GetRecurringPaymentsProfileDetails.
(Required) Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
Character length and limitations: 14 single-byte alphanumeric characters. 19 character profile IDs are supported for compatability with previous versions of the
PayPal API.
GetRecurringPaymentsProfileDetails Response
z z z z z z z z
GetRecurringPaymentsProfileDetails Response Fields
Recurring Payments Profile Fields
Ship To Address Fields
Billing Period Fields
Recurring Payments Summary Fields
Credit Card Fields
Payer Information Fields
Billing Address Fields
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
GetRecurringPaymentsProfileDetails API
GetRecurringPaymentsProfileDetails Response Fields
Field Description
PROFILEID
STATUS
DESC
AUTOBILLOUTAMT
MAXFAILEDPAYMENTS
Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
Status of the recurring payment profile.
z z z z z
ActiveProfile
PendingProfile
CancelledProfile
SuspendedProfile
ExpiredProfile
Description of the recurring payment.
Character length and limitations: 127 single-byte alphanumeric characters.
This field indicates whether you would like PayPal to automatically bill the outstanding balance amount in the next billing cycle. The outstanding balance is the total amount of any previously failed scheduled payments that have yet to be successfully paid.
Valid values: NoAutoBill or AddToNextBilling.
The number of scheduled payments that can fail before the profile is automatically suspended.
Character length and limitations: Number string representing an integer.
AGGREGATEAMOUNT
AGGREGATEOPTIONALAM
OUNT
Total amount collected thus far for scheduled payments.
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period
(.), and the optional thousands separator must be a comma (,).
Total amount collected thus far for optional payments.
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period
(.), and the optional thousands separator must be a comma (,).
FINALPAYMENTDUEDATE
Final scheduled payment due date before the profile expires.
Recurring Payments Profile Details Fields
Field
SUBSCRIBERNAME
Description
Full name of the person receiving the product or service paid for by the recurring payment.
If not present, the name in the buyer’s PayPal account is used.
Character length and limitations: 32 single-byte characters.
PROFILESTARTDATE
The date when billing for this profile begins.
Must be a valid date, in UTC/GMT format.
N O T E
:
The profile may take up to 24 hours for activation.
Name-Value Pair API Developer Guide and Reference
June 2008
99
Recurring Payments and Reference Transactions API Operations
GetRecurringPaymentsProfileDetails API
Field
PROFILEREFERENCE
Description
The merchant’s own unique reference or invoice number.
Character length and limitations: 127 single-byte alphanumeric characters.
100
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
GetRecurringPaymentsProfileDetails API
Ship To Address Type Fields
Field Description
ADDRESSSTATUS
SHIPTONAME
SHIPTOSTREET
Status of street address on file with PayPal.
Valid values are: z none z z
Confirmed
Unconfirmed
Person’s name associated with this address.
Character length and limitations: 32 single-byte characters.
First street address.
Character length and limitations: 100 single-byte characters.
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
Second street address.
Character length and limitations: 100 single-byte characters.
Name of city.
Character length and limitations: 40 single-byte characters.
State or province.
Character length and limitations: 40 single-byte characters.
Required for U.S. addresses only.
U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
Country code. Character limit: Two single-byte characters.
Billing Period Details Type
Field Description
BILLINGPERIOD
Unit for billing during this subscription period.
One of the following values: z z z z z
Day
Week
SemiMonth
Month
Year
For SemiMonth, billing is done on the 1st and 15th of each month.
N O T E
:
The combination of BillingPeriod and BillingFrequency cannot exceed one year.
Name-Value Pair API Developer Guide and Reference
June 2008
101
102
Recurring Payments and Reference Transactions API Operations
GetRecurringPaymentsProfileDetails API
Field
TAXAMT
Description
BILLINGFREQUENCY
Number of billing periods that make up one billing cycle.
The combination of billing frequency and billing period must be less than or equal to one year. For example, if the billing cycle is Month, the maximum value for billing frequency is 12. Similarly, if the billing cycle is Week, the maximum value for billing frequency is 52.
N O T E
:
If the billing period is SemiMonth., the billing frequency must be 1.
TOTALBILLINGCYCLES
The number of billing cycles for payment period (either the regular payment period or the trial period).
z
For the trial period, the value must be greater than 0.
z z
For the regular payment period, if no value is specified or the value is 0, the regular payment period continues until the profile is canceled or deactivated.
For the regular payment period, if the value is greater than 0, the regular payment period will expire after the trial period is finished and continue at the billing frequency for TotalBillingCycles cycles.
AMT
SHIPPINGAMT
Billing amount for each billing cycle during this payment period. This amount does not include shipping and tax amounts.
N O T E
:
All amounts in the CreateRecurringPaymentsProfile request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Shipping amount for each billing cycle during this payment period.
N O T E
:
All amounts in the request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Tax amount for each billing cycle during this payment period.
N O T E
:
All amounts in the request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
GetRecurringPaymentsProfileDetails API
Recurring Payments Summary Details Fields
Field Description
NEXTBILLINGDATE
The next scheduled billing date, in YYYY-MM-DD format.
NUMCYCYLECOMPLETED
The number of billing cycles completed in the current active subscription period. A billing cycle is considered completed when payment is collected or after retry attempts to collect payment for the current billing cycle have failed.
NUMCYCLESREMAINING
The number of billing cycles remaining in the current active subscription period.
OUTSTANDINGBALANCE
The current past due or outstanding balance for this profile.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
FAILEDPAYMENTCOUNT
The total number of failed billing cycles for this profile.
LASTPAYMENTDATE
The date of the last successful payment received for this profile, in YYYY-MM-DD format.
LASTPAYMENTAMT
The amount of the last successful payment received for this profile.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Credit Card Details Fields
Field Description
CREDITCARDTYPE
ACCT
Type of credit card.
Character length and limitations: Up to ten single-byte alphabetic characters.
Allowable values: z z z z z z
Visa
MasterCard
Discover
Amex
Maestro: See important note.
Solo: See important note.
N O T E
:
If the credit card type is Maestro or Solo, the currencyId must be GBP. In addition, either StartMonth and StartYear or IssueNumber must be specified.
Credit card number. Only the last 4 digits of the credit card number are returned.
Character length and limitations: numeric characters only. No spaces or punctutation.
Must conform with modulo and length required by each credit card type.
Name-Value Pair API Developer Guide and Reference
June 2008
103
Recurring Payments and Reference Transactions API Operations
GetRecurringPaymentsProfileDetails API
Field
EXPDATE
STARTDATE
ISSUENUMBER
Description
Credit card expiration date.
This field is required if you are using recurring payments with direct payments.
Format: MMYYYY
Character length and limitations: Six single-byte alphanumeric characters, including leading zero.
Month and year that Maestro or Solo card was issued, the MMYYYY format.
Character length: Must be six digits, including leading zero.
Issue number of Maestro or Solo card.Character length: two numeric digits maximum.
104
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
ManageRecurringPaymentsProfileStatus API
Payer Info Type Fields
Field
FIRSTNAME
LASTNAME
Description
Email address of payer.
Character length and limitations: 127 single-byte characters.
Payer’s first name.
Character length and limitations: 25 single-byte characters.
Payer’s last name.
Character length and limitations: 25 single-byte characters.
Address Fields
Field
STREET
STREET2
CITY
STATE
COUNTRYCODE
ZIP
PHONENUM
Description
First street address.
Character length and limitations: 100 single-byte characters.
Second street address.
Character length and limitations: 100 single-byte characters.
Name of city.
Character length and limitations: 40 single-byte characters.
State or province.
Character length and limitations: 40 single-byte characters.
Country code.
Character limit: Two single-byte characters.
U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
Phone number.
Character length and limit: 20 single-byte characters.
ManageRecurringPaymentsProfileStatus API
z z
“ManageRecurringPaymentsProfileStatus Request” on page 106
“ManageRecurringPaymentsProfileStatus Response” on page 106
Name-Value Pair API Developer Guide and Reference
June 2008
105
106
Recurring Payments and Reference Transactions API Operations
BillOutstandingAmount API
ManageRecurringPaymentsProfileStatus Request
ManageRecurringPaymentsProfileStatus Request Fields
Field Description
METHOD
PROFILEID
ACTION
NOTE
Must be ManageRecurringPaymentsProfileStatus.
(Required) Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
Character length and limitations: 14 single-byte alphanumeric characters. 19 character profile IDs are supported for compatability with previous versions of the
PayPal API.
(Required) The action to be performed to the recurring payments profile. Must be one of the following: z z z
Cancel - Only profiles in Active or Suspended state can be canceled.
Suspend - Only profiles in Active state can be suspended.
Reactivate - Only profiles in a suspended state can be reactivated.
(Optional) The reason for the change in status. For profiles created using Express
Checkout, this message will be included in the email notification to the buyer when the status of the profile is successfully changed, and can also be seen by both you and the buyer on the Status History page of the PayPal account.
ManageRecurringPaymentsProfileStatus Response
ManageRecurringPaymentsProfileStatus Response Fields
Field Description
PROFILEID
Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
For each action, an error is returned if the recurring payments profile has a status that is not compatible with the action. Errors are returned in the following cases: z
Cancel - Profile status is not Active or Suspended.
z z
Suspend - Profile status is not Active.
Reactivate - Profile status is not Suspended.
BillOutstandingAmount API
z z
“BillOutstandingAmount Request” on page 107
“BillOutstandingAmount Response” on page 107
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
UpdateRecurringPaymentsProfile API
BillOutstandingAmount Request
BillOutstandingAmount Request Fields
Field Description
METHOD
PROFILEID
AMT
NOTE
(Required) Must be BillOutstandingAmount.
(Required) Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
Character length and limitations: 14 single-byte alphanumeric characters. 19 character profile IDs are supported for compatability with previous versions of the
PayPal API.
N O T E
:
The profile must have a status of either Active or Suspended.
(Optional) The amount to bill. The amount must be less than or equal to the current outstanding balance of the profile. If no value is specified, PayPal will attempt to bill the entire outstanding balance amount.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
(Optional) The reason for the non-scheduled payment. For profiles created using
Express Checkout, this message will be included in the email notification to the buyer for the non-scheduled payment transaction, and can also be seen by both you and the buyer on the Status History page of the PayPal account.
BillOutstandingAmount Response
BillOutstandingAmount Response Fields
Field Description
PROFILEID
Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
An error is returned if the profile specified in the BillOutstandingAmount request has a status of canceled or expired.
UpdateRecurringPaymentsProfile API
z z
“UpdateRecurringPaymentsProfile Request” on page 108
“UpdateRecurringPaymentsProfile Response” on page 113
Name-Value Pair API Developer Guide and Reference
June 2008
107
Recurring Payments and Reference Transactions API Operations
UpdateRecurringPaymentsProfile API
UpdateRecurringPaymentsProfile Request
z z z z z
UpdateRecurringPaymentsProfile Request Fields
Ship To Address Fields
Credit Card Fields
Payer Information Fields
Address Fields
108
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
UpdateRecurringPaymentsProfile API
UpdateRecurringPaymentsProfile Request Fields
Field Description
METHOD
PROFILEID
NOTE
DESC
Must be UpdateRecurringPaymentsProfile.
(Required) Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
Character length and limitations: 14 single-byte alphanumeric characters. 19 character profile IDs are supported for compatability with previous versions of the
PayPal API.
(Optional) The reason for the update to the recurring payments profile. This message will be included in the email notification to the buyer for the recurring payments profile update. This note can also be seen by both you and the buyer on the Status
History page of the PayPal account.
(Optional) Description of the recurring payment.
Character length and limitations: 127 single-byte alphanumeric characters.
SUBSCRIBERNAME
PROFILEREFERENCE
(Optional) Full name of the person receiving the product or service paid for by the recurring payment.
If not present, the name in the buyer’s PayPal account is used.
Character length and limitations: 32 single-byte characters.
(Optional) The merchant’s own unique reference or invoice number.
Character length and limitations: 127 single-byte alphanumeric characters.
(Optional) The number of additional billing cycles to add to this profile.
ADDITIONALBILLINGCY
CLES
AMT
SHIPPINGAMT
(Optional) Billing amount for each cycle in the subscription period, not including shipping and tax amounts.
N O T E
:
For recurring payments with Express Checkout, the payment amount can be increased by no more than 20% every 180 days (starting when the profile is created).
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
(Optional) Shipping amount for each billing cycle during the regular payment period.
N O T E
:
All amounts in the request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Name-Value Pair API Developer Guide and Reference
June 2008
109
Recurring Payments and Reference Transactions API Operations
UpdateRecurringPaymentsProfile API
Field
TAXAMT
OUTSTANDINGAMT
AUTOBILLOUTAMT
MAXFAILEDPAYMENTS
Description
(Optional) Tax amount for each billing cycle during the regular payment period.
N O T E
:
All amounts in the request must have the same currency.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
(Optional) The current past due or outstanding amount for this profile. You can only decrease the outstanding amount—it cannot be increased.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
(Optional) This field indicates whether you would like PayPal to automatically bill the outstanding balance amount in the next billing cycle.
Valid values: Must be NoAutoBill or AddToNextBilling.
(Optional) The number of failed payments allowed before the profile is automatically suspended. The specified value cannot be less than the current number of failed payments for this profile.
Character length and limitations: Number string representing an integer.
110
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
UpdateRecurringPaymentsProfile API
Ship To Address Fields
Field
SHIPTONAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
SHIPTOPHONENUM
Description
(See description) Person’s name associated with this address. This field is required for shipping addresses but is optional for credit card billing addresses.
Character length and limitations: 32 single-byte characters.
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province for United States addresses.
Character length and limitations: 40 single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Required) Country code.
Character limit: 2 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
Credit Card Details Fields
Field Description
CREDITCARDTYPE
ACCT
(Required) Type of credit card.
Character length and limitations: Up to ten single-byte alphabetic characters.
Allowable values: z
Visa z z z z z
MasterCard
Discover
Amex
Maestro: See important note.
Solo: See important note.
N O T E
:
If the credit card type is Maestro or Solo, the CURRENCYCODE must be
GBP. In addition, either STARTDATE or IssueNumber must be specified.
(Required) Credit card number.
Character length and limitations: numeric characters only. No spaces or punctutation.
Must conform with modulo and length required by each credit card type.
Name-Value Pair API Developer Guide and Reference
June 2008
111
Recurring Payments and Reference Transactions API Operations
UpdateRecurringPaymentsProfile API
Field
EXPDATE
CVV2
STARTDATE
ISSUENUMBER
Description
(See description) Credit card expiration date.
This field is required if you are using recurring payments with direct payments.
Format: MMYYYY
Character length and limitations: Six single-byte alphanumeric characters, including leading zero.
(determined by account settings) Card Verification Value, version 2.Your Merchant
Account settings determine whether this field is required. Character length for Visa,
MasterCard, and Discover: exactly three digits.Character length for American
Express: exactly four digits.To comply with credit card processing regulations, once a transaction has been completed, you must not store the value of CVV2.
(Optional) Month and year that Maestro or Solo card was issued, the MMYYYY format.
Character length: Must be six digits, including leading zero.
(Optional) Issue number of Maestro or Solo card.Character length: two numeric digits maximum.
112
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
SetCustomerBillingAgreement API
Payer Info Type Fields
Field
FIRSTNAME
LASTNAME
Description
(Optional) Email address of payer.
Character length and limitations: 127 single-byte characters.
(Required) Payer’s first name.
Character length and limitations: 25 single-byte characters.
(Required) Payer’s last name.
Character length and limitations: 25 single-byte characters.
Address Fields
Field
STREET
STREET2
CITY
STATE
COUNTRYCODE
ZIP
PHONENUM
Description
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province.
Character length and limitations: 40 single-byte characters.
(Required) Country code.
Character limit: Two single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
UpdateRecurringPaymentsProfile Response
UpdateRecurringPaymentsProfile Response Fields
Field Description
PROFILEID
Recurring payments profile ID returned in the
CreateRecurringPaymentsProfile response.
An error is returned if the profile specified in the BillOutstandingAmount request has a status of canceled or expired.
SetCustomerBillingAgreement API
Name-Value Pair API Developer Guide and Reference
June 2008
113
Recurring Payments and Reference Transactions API Operations
SetCustomerBillingAgreement API
z z
“SetCustomerBillingAgreement Request” on page 114
“SetCustomerBillingAgreement Response” on page 117
SetCustomerBillingAgreement Request
z z
SetCustomerBillingAgreement Request Fields
Billing Agreement Details Fields
114
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
SetCustomerBillingAgreement API
SetCustomerBillingAgreement Request Fields
Field Description
METHOD
RETURNURL
CANCELURL
LOCALECODE
PAGESTYLE
HDRIIMG
HDRBORDERCOLOR
Must be SetCustomerBillingAgreement.
(Required) URL to which the customer’s browser is returned after choosing to pay with PayPal.
N O T E
:
PayPal recommends that the value be the final review page on which the customer confirms the billing agreement.
Character length and limitations: no limit.
(Required) URL to which the customer is returned if he does not approve the use of
PayPal to pay you.
N O T E
:
PayPal recommends that the value be the original page on which the customer chose to pay with PayPal or establish a billing agreement.
Character length and limitations: no limit.
(Optional) Locale of pages displayed by PayPal during checkout.
Character length and limitations: Any two-character country code.
The following two-character country codes are supported by PayPal: z z
AU
DE z z z z z
FR
IT
GB
ES
US
Any other value will default to US. See “Country Codes” on page 215 .
(Optional) Sets the Custom Payment Page Style for payment pages associated with this button/link. This value corresponds to the HTML variable page_style for customizing payment pages. The value is the same as the Page Style Name you chose when adding or editing the page style from the Profile subtab of the My Account tab of your PayPal account.
Character length and limitations: 30 single-byte alphabetic characters.
(Optional) A URL for the image you want to appear at the top left of the payment page. The image has a maximum size of 750 pixels wide by 90 pixels high. PayPal recommends that you provide an image that is stored on a secure (https) server.
Character length and limitations: 127 single-byte alphanumeric characters.
(Optional) Sets the border color around the header of the payment page. The border is a 2-pixel perimeter around the header space, which is 750 pixels wide by 90 pixels high.
Character length and limitations: Six character HTML hexadecimal color code in
ASCII.
Name-Value Pair API Developer Guide and Reference
June 2008
115
Recurring Payments and Reference Transactions API Operations
SetCustomerBillingAgreement API
Field
HDRBACKCOLOR
PAYFLOWCOLOR
Description
(Optional) Sets the background color for the header of the payment page. By default, the color is white.
Character length and limitation: Six character HTML hexadecimal color code in
ASCII.
(Optional) Sets the background color for the payment page.
Character length and limitation: Six character HTML hexadecimal color code in
ASCII.
(Optional) Email address of the buyer as entered during checkout. PayPal uses this value to pre-fill the PayPal membership sign-up portion of the PayPal login page.
Character length and limit: 127 single-byte alphanumeric characters.
116
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
GetBillingAgreementCustomerDetails API
Billing Agreement Details Fields
Field Description
BILLINGTYPE
BILLINGAGREEMENTDES
CRIPTION
PAYMENTTYPE
BILLINGAGREEMENTCUS
TOM
(Required) Type of billing agreement. For reference transactions, this field must be
MerchantInitiatedBilling, which requests PayPal to prompt the buyer to set up a billing agreement for recurring payments. For recurring payments, the value must be RecurringPayments.
N O T E
:
Other defined values are not valid.
(Optional) Description of goods or services associated with the billing agreement.
PayPal recommends that the description contain a brief summary of the billing agreement terms and conditions. For example, customer will be billed at “9.99 per month for 2 years”.
Character length and limitations: 127 single-byte alphanumeric bytes.
(Optional) Specifies type of PayPal payment you require for the billing agreement. z z
Any
InstantOnly
(Optional) Custom annotation field for your own use.
Character length and limitations: 256 single-byte alphanumeric bytes.
SetCustomerBillingAgreement Response
SetCustomerBillingAgreement Response Fields
Field Description
TOKEN
A unique time-stamped token, which uniquely identifies this transaction for subsequent API calls.
N O TE
:
The token expires after three hours.
Character length and limitations: 20 single-byte characters.
GetBillingAgreementCustomerDetails API
z z
“GetBillingAgreementCustomerDetails Request” on page 118
“GetBillingAgreementCustomerDetails Response” on page 118
Name-Value Pair API Developer Guide and Reference
June 2008
117
Recurring Payments and Reference Transactions API Operations
GetBillingAgreementCustomerDetails API
GetBillingAgreementCustomerDetails Request
GetBillingAgreementCustomerDetails Request Fields
Field Description
METHOD
TOKEN
(Required) Must be GetBillingAgreementCustomerDetails.
(Required) The time-stamped token returned in the
SetCustomerBillingAgreement response.
N O T E
:
The token expires after three hours.
Character length and limitations: 20 single-byte characters.
GetBillingAgreementCustomerDetails Response
z z z z
GetBillingAgreementCustomerDetails Response
Payer Information Fields
Payer Name Fields
Ship To Address Fields
118
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
GetBillingAgreementCustomerDetails API
GetBillingAgreementCustomerDetails Response Fields
Payer Information Fields
Field Description
Email address of payer.
Character length and limitations: 127 single-byte characters.
PAYERID
PAYERSTATUS
SHIPTOCOUNTRYCODE
PAYERBUSINESS
Unique PayPal customer account identification number.
Character length and limitations:13 single-byte alphanumeric characters.
Status of payer. Valid values are: z z verified unverified
Character length and limitations: 10 single-byte alphabetic characters.
Payer’s country of residence in the form of ISO standard 3166 two-character country codes.
Character length and limitations: Two single-byte characters.
Payer’s business name.
Character length and limitations: 127 single-byte characters.
Payer Name Fields
Field
SALUTATION
FIRSTNAME
MIDDLENAME
LASTNAME
SUFFIX
Description
Payer’s salutation.
Character length and limitations: 20 single-byte characters.
Payer’s first name.
Character length and limitations: 25 single-byte characters.
Payer’s middle name.
Character length and limitations: 25 single-byte characters.
Payer’s last name
Character length and limitations: 25 single-byte characters.
Payer’s suffix
Character length and limitations: 12 single-byte characters.
Ship To Address Fields
Field Description
(Required) Status of street address on file with PayPal.
Valid values are: z z z none
Confirmed
Unconfirmed
Name-Value Pair API Developer Guide and Reference
June 2008
119
120
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Field
SHIPTONAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
Description
(Required) Person’s name associated with this address.
Character length and limitations: 32 single-byte characters.
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Optional) State or province.
Character length and limitations: 40 single-byte characters.
Required for U.S. addresses only.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Required) Country code. Character limit: Two single-byte characters.
DoReferenceTransaction API
z z
“DoReferenceTransaction Request” on page 120
“DoReferenceTransaction Response” on page 128
DoReferenceTransaction Request
z z z z z z z z
DoReferenceTransaction Request Fields
Ship To Address Fields
Payment Details Fields
Payment Item Details Fields
Ebay Payment Detail Item Fields
Credit Card Fields
Payer Information Fields
Billing Address Fields
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
DoReferenceTransaction Request Fields
Field Description
METHOD
REFERENCEID
PAYMENTACTION
RETURNFMFDETAILS
SOFTDESCRIPTOR
(Required) Must be DoReferenceTransaction.
(Required) Create a new transaction based on a credit card charge with
DoDirectPayment API TransactionID.
(Optional) How you want to obtain payment: z z
Authorization indicates that this payment is a basic authorization subject to settlement with PayPal Authorization & Capture.
Sale indicates that this is a final sale for which you are requesting payment.
(Optional) Flag to indicate whether you want the results returned by Fraud
Management Filters. By default, you do not receive this information.
z z
0 - do not receive FMF details (default)
1 - receive FMF details
(Optional) The soft descriptor is a per transaction description of the payment that is passed to the consumer’s credit card statement.
If a value for the soft descriptor field is provided, the full descriptor displayed on the customer’s statement has the following format:
<PP * | PAYPAL *><Merchant descriptor as set in the Payment
Receiving Preferences><1 space><soft descriptor>
The soft descriptor can contain only the following characters: z
Alphanumeric characters z z z z
- (dash)
* (asterisk)
. (period)
{space}
If you use any other characters (such as “,”), an error code is returned.The soft descriptor does not include the phone number, which can be toggled between the merchant’s customer service number and PayPal’s customer service number.The maximum length of the total soft descriptor is 22 characters. Of this, either 4 or 8 characters are used by the PayPal prefix shown in the data format. Thus, the maximum length of the soft descriptor passed in the API request is:
22 - len(<PP * | PAYPAL *>) - len(<Descriptor set in Payment
Receiving Preferences> + 1)
For example, assume the following conditions: z z z
The PayPal prefix toggle is set to PAYPAL * in PayPal’s admin tools.
The merchant descriptor set in the Payment Receiving Preferences is set to EBAY.
The soft descriptor is passed in as JanesFlowerGifts LLC
The resulting descriptor string on the credit card would be:
PAYPAL *EBAY JanesFlow
Name-Value Pair API Developer Guide and Reference
June 2008
121
122
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Ship To Address Fields
Field
SHIPTONAME
SHIPTOSTREET
SHIPTOSTREET2
SHIPTOCITY
SHIPTOSTATE
SHIPTOZIP
SHIPTOCOUNTRYCODE
SHIPTOPHONENUM
Description
(See description) Person’s name associated with this address. This field is required for shipping addresses but is optional for credit card billing addresses.
Character length and limitations: 32 single-byte characters.
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province for United States addresses.
Character length and limitations: 40 single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Required) Country code.
Character limit: 2 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
Payment Details Type Fields
Field Description
AMT
CURRENCYCODE
ITEMAMT
(Required) Total amount of order, including shipping, handling, and tax.
N O T E
:
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period
(.), and the optional thousands separator must be a comma (,).
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
A three-character currency code. Default: USD.
(See description) Sum of cost of all items in this order.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
N O T E
:
ITEMAMT is required if you specify L_AMT
n
.
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Field
SHIPPINGAMT
INSURANCEAMT
SHIPPINGDISCOUNT
HANDLINGAMT
TAXAMT
DESC
CUSTOM
INVNUM
Description
(Optional) Total shipping costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for SHIPPINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Total shipping insurance costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Shipping discount for this order, specified as a negative number.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.
(Optional) Total handling costs for this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for HANDLINGAMT, you must also specify a value for
ITEMAMT.
(Optional) Sum of tax for all items in this order.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
TAXAMT is required if you specify L_TAXAMT
n
(Optional) Description of items the customer is purchasing.
Character length and limitations: 127 single-byte alphanumeric characters
(Optional) A free-form field for your own use.
Character length and limitations: 256 single-byte alphanumeric characters
(Optional) Your own invoice or tracking number.
Character length and limitations: 127 single-byte alphanumeric characters
Name-Value Pair API Developer Guide and Reference
June 2008
123
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Field
BUTTONSOURCE
NOTIFYURL
Description
(Optional) An identification code for use by third-party applications to identify transactions.
Character length and limitations: 32 single-byte alphanumeric characters
(Optional) Your URL for receiving Instant Payment Notification (IPN) about this transaction.
N O T E
:
If you do not specify this value in the request, the notification URL from your
Merchant Profile is used, if one exists.
Character length and limitations: 2,048 single-byte alphanumeric characters
124
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Payment Details Item Type Fields
Field Description
L_NAMEn
L_DESCn
L_AMTn
L_NUMBERn
L_QTYn
L_TAXAMTn
(Optional) Item name.
These parameters must be ordered sequentially beginning with 0 (for example
L_NAME0, L_NAME1).
Character length and limitations: 127 single-byte characters
(Optional) Item description.
Character length and limitations: 127 single-byte characters
(Optional) Cost of item
These parameters must be ordered sequentially beginning with 0 (for example
L_AMT0, L_AMT1).
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
N O T E
:
If you specify a value for L_AMT
n
, you must specify a value for ITEMAMT.
(Optional) Item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_NUMBER0, L_NUMBER1).
Character length and limitations: 127 single-byte characters
(Optional) Item quantity.
These parameters must be ordered sequentially beginning with 0 (for example
L_QTY0, L_QTY1).
Character length and limitations: Any positive integer
(Optional) Item sales tax.
N O T E
:
Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma
(,). Equivalent to nine characters maximum for USD.
These parameters must be ordered sequentially beginning with 0 (for example
L_TAXAMT0, L_TAXAMT1).
EbayItemPaymentDetailsItemType Fields
Field Description
L_EBAYITEMNUMBERn
(Optional) Auction item number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMNUMBER0, L_EBAYITEMNUMBER1).
Character length: 765 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
125
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Field Description
L_EBAYITEMAUCTIONTX
NIDn
(Optional) Auction transaction identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMAUCTIONTXNID0, L_EBAYITEMAUCTIONTXNID1).
Character length: 255 single-byte characters
L_EBAYITEMORDERIDn
(Optional) Auction order identification number.
These parameters must be ordered sequentially beginning with 0 (for example
L_EBAYITEMORDERID0, L_EBAYITEMORDERID1).
Character length: 64 single-byte characters.
126
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Credit Card Details Fields
Field Description
CREDITCARDTYPE
ACCT
EXPDATE
(Required) Type of credit card.
Character length and limitations: Up to ten single-byte alphabetic characters.
Allowable values: z
Visa z z z z z
MasterCard
Discover
Amex
Maestro: See important note.
Solo: See important note.
N O T E
:
If the credit card type is Maestro or Solo, the CURRENCYCODE must be
GBP. In addition, either STARTDATE or IssueNumber must be specified.
(Required) Credit card number.
Character length and limitations: numeric characters only. No spaces or punctutation.
Must conform with modulo and length required by each credit card type.
(See description) Credit card expiration date.
This field is required if you are using recurring payments with direct payments.
Format: MMYYYY
Character length and limitations: Six single-byte alphanumeric characters, including leading zero.
CVV2
STARTDATE
ISSUENUMBER
(determined by account settings) Card Verification Value, version 2.Your Merchant
Account settings determine whether this field is required. Character length for Visa,
MasterCard, and Discover: exactly three digits.Character length for American
Express: exactly four digits.To comply with credit card processing regulations, once a transaction has been completed, you must not store the value of CVV2.
(Optional) Month and year that Maestro or Solo card was issued, the MMYYYY format.
Character length: Must be six digits, including leading zero.
(Optional) Issue number of Maestro or Solo card.Character length: two numeric digits maximum.
Payer Info Type Fields
Field
FIRSTNAME
LASTNAME
Description
(Optional) Email address of payer.
Character length and limitations: 127 single-byte characters.
(Required) Payer’s first name.
Character length and limitations: 25 single-byte characters.
(Required) Payer’s last name.
Character length and limitations: 25 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
127
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Address Fields
Field
STREET
STREET2
CITY
STATE
COUNTRYCODE
ZIP
PHONENUM
Description
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province.
Character length and limitations: 40 single-byte characters.
(Required) Country code.
Character limit: Two single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
DoReferenceTransaction Response
z z
DoReferenceTransaction Response Fields
Payment Information Fields
128
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
DoReferenceTransaction Response Fields for Express Checkout
Field Description
AVSCODE
CVV2MATCH
BILLINGAGREEMENTID
Address Verification System response code. See “AVS and CVV2 Response Codes” on page 231 for possible values.
Character limit: One single-byte alphanumeric character
Result of the CVV2 check by PayPal.
L_FMF
L_FMF
filter filter
ID
n
NAME
n
Returned if the value of ReferenceID in the request is a billing agreement identification number.
Filter ID, including the filter type, which is either ACCEPT or DENY, and the entry number, starting from 0.
Filter name, including the filter type, which is either ACCEPT or DENY, and the entry number, starting from 0.
Payment Information Fields
Field Description
TRANSACTIONID
TRANSACTIONTYPE
PAYMENTTYPE
ORDERTIME
AMT
CURRENCYCODE
Unique transaction ID of the payment.
N O T E
:
If the PaymentAction of the request was Authorization or Order, this value is your AuthorizationID for use with the Authorization & Capture
APIs.
Character length and limitations:19 single-byte characters
The type of transaction
Character length and limitations:15 single-byte characters
Valid values: z cart z express-checkout
Indicates whether the payment is instant or delayed.
Character length and limitations: Seven single-byte characters
Valid values: z z z none echeck instant
Time/date stamp of payment
The final amount charged, including any shipping and taxes from your Merchant
Profile.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
A three-character currency code.
Name-Value Pair API Developer Guide and Reference
June 2008
129
130
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Field
FEEAMT
SETTLEAMT
TAXAMT
EXCHANGERATE
PAYMENTSTATUS
PENDINGREASON
Description
PayPal fee amount charged for the transactionCharacter length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Amount deposited in your PayPal account after a currency conversion.
Tax charged on the transaction.
Character length and limitations: Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD.
Exchange rate if a currency conversion occurred. Relevant only if your are billing in their non-primary currency. If the customer chooses to pay with a currency other than the non-primary currency, the conversion occurs in the customer’s account.Character length and limitations: a decimal that does not exceed 17 characters, including decimal point
Status of the payment:Completed: The payment has been completed, and the funds have been added successfully to your account balance.
Pending: The payment is pending. See the PendingReason element for more information.
The reason the payment is pending: z z z z z z z none: No pending reason address: The payment is pending because your customer did not include a confirmed shipping address and your Payment Receiving Preferences is set such that you want to manually accept or deny each of these payments. To change your preference, go to the Preferences section of your Profile.
echeck: The payment is pending because it was made by an eCheck that has not yet cleared.
intl: The payment is pending because you hold a non-U.S. account and do not have a withdrawal mechanism. You must manually accept or deny this payment from your Account Overview.
multi-currency: You do not have a balance in the currency sent, and you do not have your Payment Receiving Preferences set to automatically convert and accept this payment. You must manually accept or deny this payment.
verify: The payment is pending because you are not yet verified. You must verify your account before you can accept this payment.
other: The payment is pending for a reason other than those listed above. For more information, contact PayPal customer service.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
REASONCODE
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Description
The reason for a reversal if TransactionType is reversal: z none: No reason code z z chargeback: A reversal has occurred on this transaction due to a chargeback by your customer.
guarantee: A reversal has occurred on this transaction due to your customer triggering a money-back guarantee.
z z z buyer-complaint: A reversal has occurred on this transaction due to a complaint about the transaction from your customer.
refund: A reversal has occurred on this transaction because you have given the customer a refund.
other: A reversal has occurred on this transaction due to a reason not listed above.
Name-Value Pair API Developer Guide and Reference
June 2008
131
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
132
June 2008
Name-Value Pair API Developer Guide and Reference
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
Name-Value Pair API Developer Guide and Reference
June 2008
133
Recurring Payments and Reference Transactions API Operations
DoReferenceTransaction API
134
June 2008
Name-Value Pair API Developer Guide and Reference
10
DoNonReferencedCredit API
z z
“DoNonReferencedCredit Request” on page 135
“DoNonReferencedCredit Response” on page 138
DoNonReferencedCredit Request
z z z z
DoNonReferencedCredit Request Fields
Credit Card Fields
Payer Information Fields
Address Fields
Name-Value Pair API Developer Guide and Reference
June 2008
135
136
DoNonReferencedCredit API
DoNonReferencedCredit Request
DoNonReferencedCredit Request Fields
Field Description
METHOD
AMT
NETAMT
SHIPPINGAMT
(Required) Must be DoNonReferencedCredit.
(Required) Total of order, including shipping, handling, and tax.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
Amount = NetAmount + ShippingAmount + TaxAmount
(Optional) Total amount of all items in this transaction.
Limitations: Must not exceed $10,000 USD in any currency. No currency symbol.
Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,). The only valid currencies are
AUD, CAD, EUR, GBP, JPY, and USD.
(Optional) Total shipping costs in this transaction.
Limitations: Value must be zero or greater and cannot exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,). The only valid currencies are AUD, CAD, EUR, GBP, JPY, and USD.
TAXAMT
CURRENCYCODE
NOTE
(Optional) Sum of tax for all items in this order.
Limitations: The value must be zero or greater and cannot exceed $10,000 USD in any currency. No currency symbol. Must have two decimal places, decimal separator must be a period (.), and the optional thousands separator must be a comma (,).
The only valid currencies are AUD, CAD, EUR, GBP, JPY, and USD.
(Required) Currency code. Default: USD.
The only valid currencies are AUD, CAD, EUR, GBP, JPY, and USD.
(Optional) Field used by merchant to record why this credit was issued to a buyer.
Similar to a “memo” field. Freeform text. String field.
Credit Card Details Fields
Field Description
CREDITCARDTYPE
(Required) Type of credit card.
Character length and limitations: Up to ten single-byte alphabetic characters.
Allowable values: z z z z z z
Visa
MasterCard
Discover
Amex
Maestro: See important note.
Solo: See important note.
N O T E
:
If the credit card type is Maestro or Solo, the CURRENCYCODE must be
GBP. In addition, either STARTDATE or IssueNumber must be specified.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
ACCT
EXPDATE
CVV2
STARTDATE
ISSUENUMBER
DoNonReferencedCredit API
DoNonReferencedCredit Request
Description
(Required) Credit card number.
Character length and limitations: numeric characters only. No spaces or punctutation.
Must conform with modulo and length required by each credit card type.
(See description) Credit card expiration date.
This field is required if you are using recurring payments with direct payments.
Format: MMYYYY
Character length and limitations: Six single-byte alphanumeric characters, including leading zero.
(determined by account settings) Card Verification Value, version 2.Your Merchant
Account settings determine whether this field is required. Character length for Visa,
MasterCard, and Discover: exactly three digits.Character length for American
Express: exactly four digits.To comply with credit card processing regulations, once a transaction has been completed, you must not store the value of CVV2.
(Optional) Month and year that Maestro or Solo card was issued, the MMYYYY format.
Character length: Must be six digits, including leading zero.
(Optional) Issue number of Maestro or Solo card.Character length: two numeric digits maximum.
Name-Value Pair API Developer Guide and Reference
June 2008
137
138
DoNonReferencedCredit API
DoNonReferencedCredit Response
Payer Info Type Fields
Field
FIRSTNAME
LASTNAME
Description
(Optional) Email address of payer.
Character length and limitations: 127 single-byte characters.
(Required) Payer’s first name.
Character length and limitations: 25 single-byte characters.
(Required) Payer’s last name.
Character length and limitations: 25 single-byte characters.
Address Fields
Field
STREET
STREET2
CITY
STATE
COUNTRYCODE
ZIP
PHONENUM
Description
(Required) First street address.
Character length and limitations: 100 single-byte characters.
(Optional) Second street address.
Character length and limitations: 100 single-byte characters.
(Required) Name of city.
Character length and limitations: 40 single-byte characters.
(Required) State or province.
Character length and limitations: 40 single-byte characters.
(Required) Country code.
Character limit: Two single-byte characters.
(Required) U.S. ZIP code or other country-specific postal code.
Character length and limitations: 20 single-byte characters.
(Optional) Phone number.
Character length and limit: 20 single-byte characters.
DoNonReferencedCredit Response
DoNonReferencedCredit Response Fields
Field Description
TRANSACTIONID
CURRENCYCODE
Unique identifier of a transaction.
Character length and limitations: 17 single-byte alphanumeric characters.
Currency code.
The only valid currencies are AUD, CAD, EUR, GBP, JPY, and USD.
June 2008
Name-Value Pair API Developer Guide and Reference
11
Fraud Management Filters API
Operations
This chapter describes the PayPal API operations and prerequisites related to Fraud
Management Filters: z z
“Fraud Management Filters API Prerequisites” on page 139
“ManagePendingTransactionStatus API” on page 140
Fraud Management Filters API Prerequisites
If your website already uses PayPal APIs and you want to use Fraud Management Filters, you must manage pending payments. To manage these payments, you must ensure that your website meets the following criteria: z
You must handle the SuccessWithWarning acknowledgement status in the response to all of the following API operations:
– DoDirectPayment
– DoExpressCheckoutPayment
– DoReferenceTransaction
<ack>
<__value__>
<m__value>SuccessWithWarning</m__value>
</__value__>
</ack>
<correlationID>9be3aa0887b0a</correlationID>
<errors>
<com.paypal.soap.api.ErrorType>
<shortMessage>Payment Pending your review in Fraud Management
Filters</shortMessage>
<longMessage></longMessage>
<errorCode>
<m__value>11610</m__value>
</errorCode>
<severityCode>
<__value__>
<m__value>Warning</m__value>
</__value__>
</severityCode>
<____hashCodeCalc>false</____hashCodeCalc>
</com.paypal.soap.api.ErrorType>
</errors>
Name-Value Pair API Developer Guide and Reference
June 2008
139
140
Fraud Management Filters API Operations
ManagePendingTransactionStatus API
z z z z
I M P O R T A N T
:
You may lose payment transactions if you do not handle
SuccessWithWarning acknowledgements.
You must handle Pending in the PaymentStatus of a response as representing a successful payment.
You must capture and evaluate the return code associated with a SuccessWithWarning acknowledgement.
If you process authorizations or orders, you must be able to analyze the short message associated with a capture failure, because a payment cannot be captured until it is taken out of the pending state. Thus, a capture failure may occur because the transaction was pended or it may occur for some valid reason.
Your shipping process must not allow shipping before the payment has been accepted.
z
N O T E
:
Pending payments are held 30 days unless explicitly denied or accepted. After 30 days, a pending payment is automatically reversed.
If you use Direct Payment Recurring Billing (for Pro merchants), your subscription creation process must handle a SuccessWithWarning acknowledgement and associated return codes. Specifically, it must handle the situation in which only the first payment is pended; payments thereafter will not be placed in pending.
If you do not want to manage pending payments; for example, if your shipping process would require substantial rework, you can still use FMF to flag or deny riskier payments, which provides you with additional risk review options, without changing your site.
ManagePendingTransactionStatus API
z z
“ManagePendingTransactionStatus Request” on page 141
“ManagePendingTransactionStatus Response” on page 141
June 2008
Name-Value Pair API Developer Guide and Reference
Fraud Management Filters API Operations
ManagePendingTransactionStatus API
ManagePendingTransactionStatus Request
ManagePendingTransactionStatus Request Fields
Field Description
METHOD
TRANSACTIONID
ACTION
Must be ManagePendingTransactionStatus.
The transaction ID of the payment transaction.
The operation you want to perform on the transaction, which is one of the following actions: z z
Accept - accepts the payment
Deny - rejects the payment
ManagePendingTransactionStatus Response
ManagePendingTransactionStatus Response Fields
Field Description
TRANSACTIONID
STATUS
The transaction ID of the transaction whose payment has been denied or accepted.
The status of the transaction, which is one of the following values: z z
Pending
Processing z z z z z z
Completed
Denied
Reversed
Display Only
Partially Refunded
Created Refunded
Name-Value Pair API Developer Guide and Reference
June 2008
141
Fraud Management Filters API Operations
ManagePendingTransactionStatus API
142
June 2008
Name-Value Pair API Developer Guide and Reference
12
GetBalance API
z z
“GetBalance Request” on page 143
“GetBalance Response” on page 143
GetBalance Request
GetBalance Request Fields
Field Description
METHOD
(Required) Must be GetBalance.
RETURNALLCURRENCIES
(Optional) Whether to return all currencies, which is one of the following values: z z
0 - Return only the balance for the primary currency holding
1 - Return the balance for each currency holding
N O T E
:
You can only include this field with API VERSION 51 and later; prior versions return only the balance for the primary currency holding.
GetBalance Response
GetBalance Response Fields
Field Description
L_AMTn
L_CURRENTYCODEn
The available balance and associated currency code for the primary currency holding.
The currency code associated with the holding, such as USD.
Name-Value Pair API Developer Guide and Reference
June 2008
143
GetBalance API
GetBalance Response
144
June 2008
Name-Value Pair API Developer Guide and Reference
13
AddressVerify API
z z
“AddressVerify Request” on page 146
“AddressVerify Response” on page 146
Name-Value Pair API Developer Guide and Reference
June 2008
145
146
AddressVerify API
AddressVerify Request
AddressVerify Request
AddressVerify Request Fields
Field Description
METHOD
STREET
ZIP
(Required) Must be AddressVerify.
(Required) Email address of a PayPal member to verify.
Maximum string length: 255 single-byte characters
Input mask: ?@?.??
(Required) First line of the billing or shipping postal address to verify.
To pass verification, the value of Street must match the first three single-byte characters of a postal address on file for the PayPal member.
Street
Maximum string length: 35 single-byte characters.
Alphanumeric plus - , . ‘ # \
Whitespace and case of input value are ignored.
(Required) Postal code to verify.
To pass verification, the value of Zip must match the first five single-byte characters of the postal code of the verified postal address for the verified PayPal member.
Maximum string length: 16 single-byte characters.
Whitespace and case of input value are ignored.
AddressVerify Response
AddressVerify Response Fields
Field Description
CONFIRMATIONCODE
STREETMATCH
None: The request value of the Email element does not match any email address on file at PayPal.
Confirmed: If the response value of the StreetMatch element is Matched, the entire postal address is confirmed.
Unconfirmed: PayPal responds that the postal address is unconfirmed.
N O TE
:
The values Confirmed and Unconfirmed both indicate that the member email address passed verification.
None: The request value of the Email element does not match any email address on file at PayPal. No comparison of other request values was made.
Matched: The request value of the Street element matches the first three singlebyte characters of a postal address on file for the PayPal member.
Unmatched: The request value of the Street element does not match any postal address on file for the PayPal member.
June 2008
Name-Value Pair API Developer Guide and Reference
Field
ZIPMATCH
COUNTRYCODE
TOKEN
AddressVerify API
AddressVerify Response
Description
None: The request value of the Street element was unmatched. No comparison of the Zip element was made.
Matched: The request value of the Zip element matches the ZIP code of the postal address on file for the PayPal member.
Unmatched: The request value of the Zip element does not match the ZIP code of the postal address on file for the PayPal member.
Two-character country code (ISO 3166) on file for the PayPal email address. See
“Country Codes” on page 215 .
The token contains encrypted information about the member’s email address and postal address. If you pass the value of the token in the HTML variable address_api_token of Buy Now buttons, PayPal prevents the buyer from using an email address or postal address other than those that PayPal verified with this API call.
The token is valid for 24 hours.
Character length and limitations: 94 single-byte characters.
Name-Value Pair API Developer Guide and Reference
June 2008
147
AddressVerify API
AddressVerify Response
148
June 2008
Name-Value Pair API Developer Guide and Reference
A
API Error Codes
z z z z z z z z z z z z z z z z z z
“General API Errors” on page 150
“Validation Errors” on page 151
“Direct Payment API Errors” on page 155
“SetExpressCheckout API Errors” on page 167
“GetExpressCheckoutDetails API Errors” on page 175
“DoExpressCheckoutPayment API Errors” on page 177
“Authorization and Capture API Errors” on page 182
“TransactionSearch API Errors” on page 187
“RefundTransaction API Errors” on page 189
“Mass Pay API Errors” on page 192
“Recurring Payments Errors” on page 194
“SetCustomerBillingAgreement Errors” on page 202
“GetBillingAgreementCustomerDetails Errors” on page 204
“CreateBillingAgreement Errors” on page 204
“UpdateBillingAgreement Errors” on page 206
“DoReferenceTransaction Errors” on page 206
“AddressVerify API Errors” on page 213
“ManagePendingTransactionStatus API Errors” on page 213
June 2008
149
150
API Error Codes
General API Errors
General API Errors
T
ABLE
A.1 General API Errors
T
ABLE
A.1
Error
Code Short Message
10002 Authentication/Authoriza tion Failed
10002 Authentication/Authoriza tion Failed
10002 Authentication/Authoriza tion Failed
10002 Internal Error
10002 Authentication/Authoriza tion Failed
10002 Authentication/Authoriza tion Failed
10002 Authentication/Authoriza tion Failed
10002 Authentication/Authoriza tion Failed
10002 Restricted account
Long Message Correcting This Error
Username/Password is incorrect This error can be caused by an incorrect
API username, an incorrect API password, or an invalid API signature.
Make sure that all three of these values are correct. For your security, PayPal does not report exactly which of these three values might be in error.
You do not have permission to make this API call
Account is locked or inactive
Internal Error
Internal Error
Account is not verified
This call is not defined in the database!
Token is not valid
Account is restricted Your PayPal merchant account has been restricted. Contact your PayPal account manager for resolution.
10002 Authentication/Authoriza tion Failed
10002 Authentication/Authoriza tion Failed
10002 Authentication/Authoriza tion Failed
10002 Restricted account
Token is not valid
API access is disabled for this account
Client certificate is disabled
Account is restricted
June 2008
API Error Codes
Validation Errors
81104
81105
81106
81107
81108
81109
81110
81111
81001
81002
81003
81004
81100
81101
81102
81103
81112
81113
81114
81115
81116
81117
81118
81119
81120
Validation Errors
T
ABLE
A.2 Validation Errors
T
ABLE
A.2
Error Code
81000
Short Message
Missing Parameter
Invalid Parameter
Unspecified Method
Unspecified Method
Unspecified Method
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Long Message
Required Parameter Missing : Unable to identify parameter
A Parameter is Invalid : Unable to identify parameter
Method Specified is not Supported
No Method Specified
No Request Received
OrderTotal (Amt) : Required parameter missing
MaxAmt : Required parameter missing
ReturnURL: Required parameter missing
NotifyURL : Required parameter missing
CancelURL : Required parameter missing
ShipToStreet : Required parameter missing
ShipToStreet2 : Required parameter missing
ShipToCity : Required parameter missing
ShipToState : Required parameter missing
ShipToZip : Required parameter missing
Country : Required parameter missing
ReqConfirmShipping : Required parameter missing
NoShipping : Required parameter missing
AddrOverride : Required parameter missing
LocaleCode : Required parameter missing
PaymentAction : Required parameter missing
Email : Required parameter missing
Token : Required parameter missing
PayerID : Required parameter missing
ItemAmt : Required parameter missing
ShippingAmt : Required parameter missing
June 2008
151
152
API Error Codes
Validation Errors
T
ABLE
A.2
81143
81144
81145
81146
81147
81148
81149
81150
81135
81136
81137
81138
81139
81140
81141
81142
81127
81128
81129
81130
81131
81132
81133
81134
Error Code
81121
81122
81123
81124
81125
81126
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Short Message
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Missing Parameter
Long Message
HandlingTotal Amt : Required parameter missing
TaxAmt : Required parameter missing
IPAddress : Required parameter missing
ShipToName : Required parameter missing
L_Amt : Required parameter missing
Amt : Required parameter missing
L_TaxAmt : Required parameter missing
AuthorizationID : Required parameter missing
CompleteType : Required parameter missing
CurrencyCode : Required parameter missing
TransactionID : Required parameter missing
TransactionEntity : Required parameter missing
Acct : Required parameter missing
ExpDate : Required parameter missing
FirstName : Required parameter missing
LastName : Required parameter missing
Street : Required parameter missing
Street2 : Required parameter missing
City : Required parameter missing
State : Required parameter missing
Zip : Required parameter missing
CountryCode : Required parameter missing
RefundType : Required parameter missing
StartDate : Required parameter missing
EndDate : Required parameter missing
MPID : Required parameter missing
CreditCardType : Required parameter missing
User : Required parameter missing
Pwd : Required parameter missing
Version : Required parameter missing
June 2008
T
ABLE
A.2
81227
81229
81230
81232
81234
81235
81236
81237
81219
81220
81221
81222
81223
81224
81225
81226
81208
81209
81210
81211
81212
81213
81214
81215
Error Code
81200
81201
81203
81205
81206
81207
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Short Message
Missing Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
API Error Codes
Validation Errors
Long Message
Amt : Invalid parameter
MaxAmt : Invalid parameter
NotifyURL : Invalid parameter
ShipToStreet : Invalid parameter
ShipToStreet2 : Invalid parameter
ShipToCity : Invalid parameter
ShipToState : Invalid parameter
ShipToZip : Invalid parameter
Country : Invalid parameter
ReqConfirmShipping : Invalid parameter
Noshipping : Invalid parameter
AddrOverride : Invalid parameter
LocaleCode : Invalid parameter
PaymentAction : Invalid parameter
ItemAmt : Invalid parameter
ShippingAmt : Invalid parameter
HandlingTotal Amt : Invalid parameter
TaxAmt : Invalid parameter
IPAddress : Invalid parameter
ShipToName : Invalid parameter
L_Amt : Invalid parameter
Amt : Invalid parameter
L_TaxAmt : Invalid parameter
CompleteType : Invalid parameter
CurrencyCode : Invalid parameter
TransactionEntity : Invalid parameter
ExpDate : Invalid parameter
FirstName : Invalid parameter
LastName : Invalid parameter
Street : Invalid parameter
June 2008
153
API Error Codes
Validation Errors
T
ABLE
A.2
Error Code
81238
81239
81243
81244
81245
81247
81248
81249
81250
81251
Short Message
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Invalid Parameter
Internal Error
Long Message
Street2 : Invalid parameter
City : Invalid parameter
RefundType : Invalid parameter
StartDate : Invalid parameter
EndDate : Invalid parameter
CreditCardType : Invalid parameter
Username : Invalid parameter
Password : Invalid parameter
Version : Invalid parameter
Internal Service Error
154
June 2008
API Error Codes
Direct Payment API Errors
Direct Payment API Errors
T
ABLE
A.3 DirectPayment API Errors
T
ABLE
A.3
Error
Code Short Message
10102 PaymentAction of Order
Temporarily Unavailable
10401 Transaction refused because of an invalid argument. See additional error messages for details.
10418 Transaction refused because of an invalid argument. See additional error messages for details.
10426 Transaction refused because of an invalid argument. See additional error messages for details.
10427 Transaction refused because of an invalid argument. See additional error messages for details.
10428 Transaction refused because of an invalid argument. See additional error messages for details.
10429 Transaction refused because of an invalid argument. See additional error messages for details.
10432 Invalid argument
10500
10501
Invalid Configuration
Invalid Configuration
Long Message
PaymentAction of Order is temporarily unavailable. Please try later or use other
PaymentAction.
Order total is missing.
The currencies of the shopping cart amounts must be the same.
Item total is invalid.
Shipping total is invalid.
Handling total is invalid.
Tax total is invalid.
Invoice ID value exceeds maximum allowable length.
This transaction cannot be processed due to an invalid merchant configuration.
This transaction cannot be processed due to an invalid merchant configuration.
Corrective Action
Occurs when you have not agreed to the billing agreement.
Occurs when the billing agreement is disabled or inactive.
June 2008
155
156
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10502 Invalid Data
10504
10505
10507 Invalid Configuration
10508
10509 Invalid Data
10510 Invalid Data
10511 Invalid Data
10512
10513
10519
10520
10521
10523
Invalid Data
Gateway Decline
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Internal Error
Long Message
This transaction cannot be processed. Please use a valid credit card.
This transaction cannot be processed. Please enter a valid
Credit Card Verification Number.
This transaction cannot be processed.
Corrective Action
The credit card used is expired.
The CVV provided is invalid. The CVV is between 3-4 digits long.
The transaction was refused because the
AVS response returned the value of N, and the merchant account is not able to accept such transactions.
Your PayPal account is restricted - contact PayPal for more information.
This transaction cannot be processed. Please contact PayPal
Customer Service.
This transaction cannot be processed. Please enter a valid credit card expiration date.
This transaction cannot be processed.
The credit card type is not supported. Try another card type.
This transaction cannot be processed.
The expiration date must be a two-digit month and four-digit year.
You must submit an IP address of the buyer with each API call.
The credit card type entered is not currently supported by PayPal.
The merchant selected a value for the
PaymentAction field that is not supported.
The first name of the buyer is required for this merchant.
This transaction cannot be processed. Please enter a first name.
This transaction cannot be processed. Please enter a last name.
Please enter a credit card.
This transaction cannot be processed.
This transaction cannot be processed. Please enter a valid credit card.
This transaction cannot be processed.
The last name of the buyer is required for this merchant.
The credit card field was blank.
The total amount and item amounts do not match.
The credit card entered is invalid.
None - this is a PayPal internal error.
June 2008
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10525 Invalid Data
10526 Invalid Data
10527 Invalid Data
10534 Gateway Decline
10535 Gateway Decline
10536 Invalid Data
10537 Filter Decline
10538 Filter Decline
10539 Filter Decline
10540 Invalid Data
10541 Gateway Decline
10542 Invalid Data
Long Message
This transaction cannot be processed. The amount to be charged is zero.
This transaction cannot be processed. The currency is not supported at this time.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction cannot be processed.
Corrective Action
The merchant entered a amount of zero.
The currency code entered is not supported.
The credit card entered is invalid.
The credit card entered is currently restricted by PayPal. Contact PayPal for more information.
The credit card entered is invalid.
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed.
The transaction cannot be processed due to an invalid address.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction cannot be processed. Please enter a valid email address.
The merchant entered an invoice ID that is already associated with a transaction by the same merchant. By default, the invoice ID must be unique for all transactions. To change this setting, log into PayPal or contact customer service.
The transaction was declined by the country filter managed by the merchant.
To accept this transaction, change your risk settings on PayPal.
The transaction was declined by the maximum amount filter managed by the merchant. To accept this transaction, change your risk settings on PayPal.
The transaction was declined by PayPal.
Contact PayPal for more information.
The transaction was declined by PayPal because of an invalid address.
The credit card entered is currently restricted by PayPal. Contact PayPal for more information.
The email address provided by the buyer is in an invalid format.
June 2008
157
158
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10544 Gateway Decline
10545 Gateway Decline
10546
10547 Internal Error
10548 Invalid Configuration
10549 Invalid Configuration
10550 Invalid Configuration
10552 Invalid Configuration
10553
10554
10555
Gateway Decline
Gateway Decline
Filter Decline
Filter Decline
Long Message
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed. The merchant’s account is not able to process transactions.
This transaction cannot be processed. The merchan’s account is not able to process transactions.
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed.
Corrective Action
The transaction was declined by PayPal.
Contact PayPal for more information.
The transaction was declined by PayPal because of possible fraudulent activity.
Contact PayPal for more information.
The transaction was declined by PayPal because of possible fraudulent activity on the IP address. Contact PayPal for more information.
None - this is a PayPal internal error.
The merchant account attempting the transaction is not a business account at
PayPal. Check your account settings.
The merchant account attempting the transaction is not able to process Direct
Payment transactions. Contact PayPal for more information.
Access to Direct Payment was disabled for your account. Contact PayPal for more information.
The merchant account attempting the transaction does not have a confirmed email address with PayPal. Check your account settings.
The merchant attempted a transaction where the amount exceeded the upper limit for that merchant.
The transaction was declined because of a merchant risk filter for AVS.
Specifically, the merchant has set to decline transaction when the AVS returned a no match (AVS = N).
The transaction was declined because of a merchant risk filter for AVS.
Specifically, the merchant has set to decline transaction when the AVS returned a partial match.
June 2008
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10556 Filter Decline
Long Message
This transaction cannot be processed.
Corrective Action
The transaction was declined because of a merchant risk filter for AVS.
Specifically, the merchant has set to decline transaction when the AVS was unsupported.
10561
10562
10563
10564
10565
10567
10701
10702
Invalid Data
Invalid Data
Invalid Data
Gateway Decline
Merchant country unsupported
10566 Credit card type unsupported
Invalid Data
10571 Transaction approved, but with invalid Card
Security Code (CSC) format.
Invalid Data
Invalid Data
There’s an error with this transaction. Please enter complete billing address.
This transaction cannot be processed. Please enter a valid credit card expiration year.
This transaction cannot be processed. Please enter a valid credit card expiration month.
This transaction cannot be processed.
The merchant country is not supported.
The credit card type is not supported.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction was approved, although the Card Security Code
(CSC) had too few, too many, or invalid characters. Based on your account profile settings, the invalid CSC was not given to the card issuer for its approval process.
There’s an error with this transaction. Please enter a valid billing address.
There’s an error with this transaction. Please enter a valid address1 in the billing address.
There was a problem processing this transaction.
If you want to require valid CVV values, change the risk control settings in your account profile.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
June 2008
159
160
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10703 Invalid Data
10704 Invalid Data
10705 Invalid Data
10706 Invalid Data
10707 Invalid Data
10708 Invalid Data
10709 Invalid Data
10709 Invalid Data
10710 Invalid Data
10710 Invalid Data
Long Message
There’s an error with this transaction. Please enter a valid address2 in the billing address.
There’s an error with this transaction. Please enter a valid city in the billing address.
There’s an error with this transaction. Please enter a valid state in the billing address.
There’s an error with this transaction. Please enter a valid postal code in the billing address.
There’s an error with this transaction. Please enter a valid country in the billing address.
There’s an error with this transaction. Please enter a complete billing address.
There’s an error with this transaction. Please enter an address1 in the billing address.
There’s an error with this transaction. Please enter an address1 in the billing address.
There’s an error with this transaction. Please enter a city in the billing address.
There’s an error with this transaction. Please enter a city in the billing address.
Corrective Action
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
June 2008
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10711 Invalid Data
10712 Invalid Data
10713
10713
10714
10715
10716
10717
10718
10719
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Long Message
There’s an error with this transaction. Please enter your state in the billing address.
There’s an error with this transaction. Please enter your five digit postal code in the billing address.
There’s an error with this transaction. Please enter a country in the billing address.
There’s an error with this transaction. Please enter a country in the billing address.
There’s an error with this transaction. Please enter a valid billing address.
There’s an error with this transaction. Please enter a valid state in the billing address.
There’s an error with this transaction. Please enter your five digit postal code in the billing address.
There’s an error with this transaction. Please enter a valid postal code in the billing address.
There’s an error with this transaction. Please enter a valid city and state in the billing address.
There’s an error with this transaction. Please enter a valid shipping address.
Corrective Action
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
June 2008
161
162
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10720 Invalid Data
10721 Invalid Data
10722 Invalid Data
10723 Invalid Data
10724 Invalid Data
10725 Invalid Data
10726 Invalid Data
10726 Invalid Data
10727 Invalid Data
10727 Invalid Data
Long Message
There’s an error with this transaction. Please enter a valid address1 in the shipping address.
There’s an error with this transaction. Please enter a valid address2 in the shipping address.
There’s an error with this transaction. Please enter a valid city in the shipping address.
There’s an error with this transaction. Please enter a valid state in the shipping address.
There’s an error with this transaction. Please enter your five digit postal code in the shipping address.
There’s an error with this transaction. Please enter a valid country in the shipping address.
There’s an error with this transaction. Please enter a complete shipping address.
There’s an error with this transaction. Please enter a complete shipping address.
There’s an error with this transaction. Please enter an address1 in the shipping address.
There’s an error with this transaction. Please enter an address1 in the shipping address.
Corrective Action
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
June 2008
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10728 Invalid Data
10728 Invalid Data
10729
10730
10731
10731
10732
10733
10734
10735
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Long Message
There’s an error with this transaction. Please enter a city in the shipping address.
There’s an error with this transaction. Please enter a city in the shipping address.
There’s an error with this transaction. Please enter your state in the shipping address.
There’s an error with this transaction. Please enter your five digit postal code in the shipping address.
There’s an error with this transaction. Please enter a country in the shipping address.
There’s an error with this transaction. Please enter a country in the shipping address.
There’s an error with this transaction. Please enter a valid shipping address.
There’s an error with this transaction. Please enter a valid state in the shipping address.
There’s an error with this transaction. Please enter your five digit postal code in the shipping address.
There’s an error with this transaction. Please enter your five digit postal code in the shipping address.
Corrective Action
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
June 2008
163
164
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10736 Invalid Data
10744 Invalid Data
10745 Invalid Data
10746 Invalid Data
10747 Invalid Data
10748 Invalid Data
10750 Invalid Data
10751 Invalid Data
10752 Gateway Decline
10754 Gateway Decline
10755 Invalid Data
Long Message
There’s an error with this transaction. Please enter a valid city and state in the shipping address.
This transaction cannot be processed. Please enter a valid country code in the billing address.
This transaction cannot be processed. Please enter a valid country code in the shipping address.
This transaction cannot be processed. Please use a valid country on the billing address.
This transaction cannot be processed.
This transaction cannot be processed without a Credit Card
Verification Number.
There’s an error with this transaction. Please enter a valid state in the shipping address.
There’s an error with this transaction. Please enter a valid state in the billing address.
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed due to an unsupported currency.
Corrective Action
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
The merchant entered an IP address that was in an invalid format. The IP address must be in a format such as
123.456.123.456.
The merchant’s configuration requires a
CVV to be entered, but no CVV was provided with this transaction. Contact
PayPal if you wish to change this setting.
There was a problem with a particular field in the address. The long error message will tell you what field is invalid.
The merchant provided an address either in the United States or Canada, but the state provided is not a valid state in either country.
The transaction was declined by the issuing bank, not PayPal. The merchant should attempt another card.
The transaction was declined by PayPal.
Contact PayPal for more information.
The currency code entered by the merchant is not supported.
June 2008
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
10756
10758
10759
10760
10761
Gateway Decline
Invalid Configuration
Gateway Decline
Invalid Configuration
Gateway Decline
Long Message
The transaction cannot be processed. The country and billing address associated with this credit card do not match.
There’s been an error due to invalid API username and/or password.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction cannot be processed. The country listed for your business address is not currently supported.
This transaction cannot be processed. Please check the status of your first transaction before placing another order.
10762
10763
Gateway Decline
Invalid Data
10764 This transaction cannot be processed at this time.
Please try again later.
11610 Payment Pending your review in Fraud
Management Filters
11611 Transaction blocked by your settings in FMF
11612 Could not process your request to accept/deny the transaction
15001 Gateway Decline
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed at this time. Please try again later.
Payment Pending your review in
Fraud Management Filters
Transaction blocked by your settings in FMF
Could not process your request to accept/deny the transaction
This transaction cannot be processed.
Corrective Action
None - this is a PayPal internal error.
The API username or password is incorrect for this merchant.
The transaction was declined by PayPal.
Contact PayPal for more information.
The merchant’s country of residence listed in their PayPal account is not currently supported to allow Direct
Payment transactions.
The transaction was declined because
PayPal is currently processing a transaction by the same buyer for the same amount. Can occur when a buyer submits multiple, identical transactions in quick succession.
The CVV provide is invalid. The CVV is between 3-4 digits long.
None - this is a PayPal internal error.
The transaction was declined by PayPal.
Contact PayPal for more information.
The transaction was rejected by PayPal because of excessive failures over a short period of time for this credit card.
Contact PayPal for more information.
June 2008
165
API Error Codes
Direct Payment API Errors
T
ABLE
A.3
Error
Code Short Message
15002 Gateway Decline
15003 Invalid Configuration
15004 Gateway Decline
15005 Processor Decline
15006 Processor Decline
15007 Processor Decline
15008 Invalid Data
Long Message
This transaction cannot be processed.
This transaction cannot be processed.
This transaction cannot be processed. Please enter a valid
Credit Card Verification Number.
This transaction cannot be processed.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction cannot be processed. Please use a valid credit card.
Corrective Action
The transaction was declined by PayPal.
Contact PayPal for more information.
The transaction was declined because the merchant does not have a valid commercial entity agreement on file with PayPal. Contact PayPal for more information.
The transaction was declined because the CVV entered does not match the credit card.
The transaction was declined by the issuing bank, not PayPal. The merchant should attempt another card.
The transaction was declined by the issuing bank, not PayPal. The merchant should attempt another card.
The transaction was declined by the issuing bank because of an expired credit card. The merchant should attempt another card.
This transaction has been completed, but the total of items in the cart did not match the total of all items.
166
June 2008
API Error Codes
SetExpressCheckout API Errors
SetExpressCheckout API Errors
T
ABLE
A.4 SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
10001
10001
10004
10004
10004
10007
10010
10102
10103
10400
10401
Short Message
ButtonSource value truncated.
Internal Error
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Permission denied
Long Message
The transaction could not be loaded
Internal Error
Transaction refused because of an invalid argument. See additional error messages for details.
The transaction id is not valid
Invalid value for request billing address parameter.
Invalid Invoice
PaymentAction of Order
Temporarily Unavailable
Please use another Solution
Type.
You do not have permission to make this API call
Non-ASCII invoice id is not supported.
PaymentAction of Order is temporarily unavailable. Please try later or use other PaymentAction.
Your Solution Type is temporarily unavailable. If possible, please use another Solution Type.
OrderTotal is missing.
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Order total is invalid.
Correcting This Error...
June 2008
167
168
API Error Codes
SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
10402
10404
10405
10407
10409
10410
10411
Short Message
Authorization only is not allowed for merchant.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
You’re not authorized to access this info.
Invalid token
This Express Checkout session has expired.
Long Message
This merchant account is not permitted to set PaymentAction to
Authorization. Please contact
Customer Service.
ReturnURL is missing.
CancelURL is missing.
Invalid buyer email address
(BuyerEmail).
Express Checkout token was issued for a merchant account other than yours.
Invalid token.
This Express Checkout session has expired. Token value is no longer valid.
Correcting This Error...
If you receive this error, you must return your customer to
PayPal to approve the use of
PayPal again. Display an error message to inform the customer that the transaction expired, and provide a button to return to PayPal. In this situation, you are effectively restarting the entire checkout process. (Do not reuse the expired token value on
SetExpressCheckout request.) However, because you already know the final
OrderTotal, be sure to update the value for that element if appropriate. You might also want to update the values for ReturnURL and
CancelURL, if necessary.
June 2008
API Error Codes
SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
10412
10413
10415
10418
10425
10426
Short Message
Duplicate invoice
Long Message
Payment has already been made for this InvoiceID.
Correcting This Error...
PayPal checks that
InvoiceID values are unique for any particular merchant. If you send an InvoiceID value already associated with another transaction in the
PayPal system, PayPal returns error code 10412.
You might not be able to correct this error during an actual checkout. If you get this error, research why might occur and modify your implementation of Express
Checkout to ensure that you generate unique invoice identification numbers.
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details.
The totals of the cart item amounts do not match order amounts.
A successful transaction has already been completed for this token.
PayPal allows a token only once for a successful transaction.
Handling this error
If you determine that your customers are clicking your
“Place Order” button twice,
PayPal recommends that you disable the button after your customer has clicked it.
Transaction refused because of an invalid argument. See additional error messages for details
Express Checkout has been disabled for this merchant.
The currencies of the shopping cart amounts must be the same.
Transaction refused because of an invalid argument. See additional error messages for details
Express Checkout has been disabled for this merchant. Please contact
Customer Service.
Item total is invalid.
June 2008
169
170
API Error Codes
SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
10427
10428
10429
10430
10431
10432
10433
10434
10436
10437
Short Message
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Long Message
Shipping total is invalid.
Handling total is invalid.
Tax total is invalid.
Item amount is missing.
Item amount is invalid.
Invoice ID value exceeds maximum allowable length.
Value of Order Description has been truncated.
Value of Custom element has been truncated.
PageStyle value exceeds maximum allowable length.
cpp-header-image value exceeds maximum allowable length.
Correcting This Error...
June 2008
API Error Codes
SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
10438
10439
10440
10441
10442
10457
10458
10459
10460
10461
10462
10463
10464
10465
10467
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details
ButtonSource value truncated
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Error occurred in communicating to eBay
Long Message
cpp-header-image value exceeds maximum allowable length.
cpp-header-image value exceeds maximum allowable length.
cpp-header-image value exceeds maximum allowable length.
The NotifyURL element value exceeds maximum allowable length.
The ButtonSource element value exceeds maximum allowable length.
eBay API creation error eBay API unknown failure eBay API failure
Parsing error
Item number invalid, removed, or unavailable
Order not found eBay user password incorrect eBay user invalid
Item ID and Transaction ID mismatch
Duplicate Item ID
Correcting This Error...
June 2008
171
172
API Error Codes
SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
10468
10469
10470
10471
10472
10473
10474
Short Message
Transaction refused because of an invalid argument. See additional error messages for details
PaymentAction of Order
Temporarily Unavailable
Wowo flag is off for
ExpressO feature
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Error occurred in communicating to eBay
Invalid Data
10475
10476
10477
10478
10479
10480
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Long Message
Duplicate Order ID
Express Auctions is unavailable
Solution Type passed as Sole while
ExpressO feature is turned off
ReturnURL is missing
CancelURL is missing
Multiple Order IDs are not supported
Transaction refused because of an invalid argument. See additional error messages for details
Invalid Data
This transaction cannot be processed.
The country code in the shipping address must match the buyer's country of residence
This transaction cannot be completed with PaymentAction of Sale
Maximum number of billing agreements exceeded
More than one billing agreement specified for reference transaction
Recurring payments profile description must be provided if the billing agreement type is recurring payments
Billing agreement types cannot be mixed in the same request
Invalid billing agreement type
Correcting This Error...
June 2008
API Error Codes
SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
10537
10538
10539
10725
10727
10728
10729
10730
10731
10736
10800
11547
11601
11602
11801
Short Message
Risk Control Country Filter
Failure
Risk Control Max Amount
Failure
Payment declined by your
Risk Controls settings:
PayPal Risk Model.
Shipping Address Country
Error
Shipping Address1 Empty
Shipping Address City
Empty
Shipping Address State
Empty
Shipping Address Postal
Code Empty
Shipping Address Country
Empty
Shipping Address Invalid
City State Postal Code
Invalid Data
Long Message
The transaction was refused because the country was prohibited as a result of your Country Monitor Risk
Control Settings.
The transaction was refused because the maximum amount was excceeded as a result of your Maximum
Amount Risk Control Settings.
Payment declined by your Risk
Controls settings: PayPal Risk
Model.
There was an error in the Shipping
Address Country field
The field Shipping Address1 is required
The field Shipping Address City is required
The field Shipping Address State is required
The field Shipping Address Postal
Code is required
The field Shipping Address Country is required
A match of the Shipping Address
City, State, and Postal Code failed.
Your request is too long. Check
URLs and other long strings.
Recurring payments temporarily unavailable.
Correcting This Error...
Recurring payments temporarily unavailable; try again later
Request for billing address failed
Request for billing address failed
Invalid Data
Billing address request is not enabled for merchant
Feature not yet available
You cannot pass both new and deprecated parameter address fields.
June 2008
173
174
API Error Codes
SetExpressCheckout API Errors
T
ABLE
A.4
Error
Code
11802
11803
11804
11805
11806
11807
11810
11811
11812
11813
11814
11815
Short Message
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Long Message
You cannot pass both the new and deprecated Custom parameter.
You cannot pass both the new and deprecated Invoice ID parameter.
You cannot pass both the new and deprecated order description.
You cannot pass both the new and deprecated order total or amount parameters.
You cannot pass both the new and deprecated
ProfileAddressChangeDate parameter.
You cannot pass both the new and deprecated ShippingMethod parameter.
Invalid Insurance Amount.
Transaction refused because of an invalid argument. See additional error messages for details
Transaction refused because of an invalid argument. See additional error messages for details
Invalid Data
Invalid Shipping Discount.
The value of Description parameter has been truncated.
Invalid callback URL.
Transaction refused because of an invalid argument. See additional error messages for details
Invalid data
Transaction refused because of an invalid argument. See additional error messages for details
Invalid value for AllowNote.
Item sales tax is invalid.
Correcting This Error...
June 2008
API Error Codes
GetExpressCheckoutDetails API Errors
GetExpressCheckoutDetails API Errors
T
ABLE
A.5 GetExpressCheckoutDetails API Errors
T
ABLE
A.5
Error
Code
10001
10001
10001
10001
10004
10004
10004
10004
10004
10007
10007
10007
10408
Short Message
Internal Error
Internal Error
ButtonSource value truncated.
ButtonSource value truncated.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Invalid transaction type
Long Message
Internal Error
Transaction failed due to internal error
The transaction could not be loaded
The transaction could not be loaded
Transaction refused because of an invalid argument. See additional error messages for details.
The transaction id is not valid
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Permission denied
Permission denied
Permission denied
Express Checkout token is missing.
You can not get the details for this type of transaction
The transaction could not be loaded
The transaction id is not valid
You do not have permission to make this API call
You do not have permission to get the details of this transaction
You do not have permission to make this API call
Express Checkout token is missing.
Correcting This Error...
June 2008
175
API Error Codes
GetExpressCheckoutDetails API Errors
T
ABLE
A.5
Error
Code
10409
10410
10411
Short Message
You’re not authorized to access this info.
Invalid token
This Express Checkout session has expired.
Long Message
Express Checkout token was issued for a merchant account other than yours.
Invalid token.
This Express Checkout session has expired. Token value is no longer valid.
Correcting This Error...
176
June 2008
API Error Codes
DoExpressCheckoutPayment API Errors
DoExpressCheckoutPayment API Errors
T
ABLE
A.6 Errors
T
ABLE
A.6
Error
Code
10001
10001
10001
10001
10004
10004
10007
10406
10408
10409
10410
10411
10412
Short Message
Internal Error
Internal Error
ButtonSource value truncated.
Internal Error
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Permission denied
Transaction refused because of an invalid argument. See additional error messages for details.
Express Checkout token is missing.
You’re not authorized to access this info.
Invalid token
This Express Checkout session has expired.
Duplicate invoice
Long Message
Transaction failed due to internal error
Warning an internal error has occurred. The transaction id may not be correct
The transaction could not be loaded
Internal Error
Transaction refused because of an invalid argument. See additional error messages for details.
The transaction id is not valid
You do not have permissions to make this API call
The PayerID value is invalid.
Express Checkout token is missing.
Express Checkout token was issued for a merchant account other than yours.
Invalid token.
This Express Checkout session has expired. Token value is no longer valid.
Payment has already been made for this InvoiceID.
Correcting This Error...
June 2008
177
178
API Error Codes
DoExpressCheckoutPayment API Errors
T
ABLE
A.6
Error
Code
10413
10414
10415
10416
10417
10418
10419
10420
10421
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Long Message
The totals of the cart item amounts do not match order amounts.
Correcting This Error...
z z z z
ItemTotal
ShippingTotal
HandlingTotal
TaxTotal
If you get this error, research why it might have occurred and modify your implementation of Express Checkout to ensure proper addition of the values.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction cannot complete.
The amount exceeds the maximum amount for a single transaction.
A successful transaction has already been completed for this token.
You have exceeded the maximum number of payment attempts for this token.
The transaction cannot complete successfully. Instruct the customer to use an alternative payment method.
The currencies of the shopping cart amounts must be the same.
Transaction refused because of an invalid argument. See additional error messages for details.
Express Checkout
PayerID is missing.
Transaction refused because of an invalid argument. See additional error messages for details.
This Express Checkout session belongs to a different customer.
Express Checkout PayerID is missing.
Express Checkout
PaymentAction is missing.
This Express Checkout session belongs to a different customer. Token value mismatch.
Instruct the customer that PayPal is unable to process the payment and redisplay alternative payment methods with which the customer can pay.
Verify that your programs are properly associating the Tokens and PayerIDs.
June 2008
API Error Codes
DoExpressCheckoutPayment API Errors
T
ABLE
A.6
Error
Code
10422
10424
Short Message
Customer must choose new funding sources.
Transaction refused because of an invalid argument. See additional error messages for details.
Long Message
The customer must return to
PayPal to select new funding sources.
Shipping address is invalid.
Correcting This Error...
If you receive this error message,
PayPal recommends that you return your customer to PayPal to review and approve new valid funding sources.
Although this error is rare, you should consider trapping the error to display a message to the customer describing what happened, along with a button or hyperlink to return to PayPal.
10426
10427
10428
10429
10431
10432
10433
10434
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Item amount is invalid.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Item total is invalid.
Shipping total is invalid.
Handling total is invalid.
Tax total is invalid.
Item amount is invalid.
Invoice ID value exceeds maximum allowable length.
Value of OrderDescription element has been truncated.
Value of Custom element has been truncated.
June 2008
179
180
API Error Codes
DoExpressCheckoutPayment API Errors
T
ABLE
A.6
Error
Code
10435
10441
10442
10443
10444
10445
10446
10474
10537
10538
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
ButtonSource value truncated.
Long Message
The customer has not yet confirmed payment for this
Express Checkout session.
The NotifyURL element value exceeds maximum allowable length.
The ButtonSource element value exceeds maximum allowable length.
This transaction cannot be completed with
PaymentAction of Order.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
This transaction cannot be processed at this time.
Please try again later.
Unconfirmed email
The transaction currency specified must be the same as previously specified.
Invalid Data
Risk Control Country
Filter Failure
Risk Control Max Amount
Failure
This transaction cannot be processed at this time. Please try again later.
A confirmed email is required to make this API call.
This transaction cannot be processed. The country code in the shipping address must match the buyer’s country of residence.
The transaction was refused because the country was prohibited as a result of your
Country Monitor Risk Control
Settings.
The transaction was refused because the maximum amount was excceeded as a result of your Maximum Amount Risk
Control Settings.
Correcting This Error...
The buyer selects the country of residence when they sign up for their
PayPal account. The country of residence is displayed after the dash in the title on the Account Overview page.
June 2008
API Error Codes
DoExpressCheckoutPayment API Errors
T
ABLE
A.6
Error
Code
10539
10725
10727
10728
10729
10730
10731
10736
11610
11611
11612
11820
Short Message
Payment declined by your
Risk Controls settings:
PayPal Risk Model.
Shipping Address Country
Error
Long Message
Payment declined by your Risk
Controls settings: PayPal Risk
Model.
There was an error in the
Shipping Address Country field
Shipping Address1 Empty The field Shipping Address1 is required
Shipping Address City
Empty
The field Shipping Address
City is required
Shipping Address State
Empty
Shipping Address Postal
Code Empty
The field Shipping Address
State is required
The field Shipping Address
Postal Code is required
Shipping Address Country
Empty
Shipping Address Invalid
City State Postal Code
The field Shipping Address
Country is required
A match of the Shipping
Address City, State, and Postal
Code failed.
Payment Pending your review in Fraud Management Filters
Payment Pending your review in Fraud
Management Filters
Transaction blocked by your settings in FMF
Could not process your request to accept/deny the transaction
Transaction refused because of an invalid argument. See additional error messages for details
Transaction blocked by your settings in FMF
Could not process your request to accept/deny the transaction
Invalid Order URL.
Correcting This Error...
June 2008
181
182
API Error Codes
Authorization and Capture API Errors
Authorization and Capture API Errors
T
ABLE
A.7 Authorization & Capture API Error Messages
T
ABLE
A.7
Error
Code
10001
10001
10004
10007
10009
10010
10202
10600
10601
10602
Short
Message
Internal Error
Internal Error
Internal Error
Permission denied
Long Message
Internal Error
Transaction failed due to internal error
Invalid argument
You do not have permissions to make this
API call
Account is locked or inactive
Invalid argument
Returned By API
Call...
Transaction refused
Transaction refused because of an invalid argument. See additional error messages for details.
Exceed max
Authorization voided.
Authorization expired.
Authorization completed.
Transaction would exceed user’s monthly maximum
DoAuthorization
DoCapture
Authorization is voided.
DoAuthorization
DoCapture
DoReauthorization
DoVoid
Authorization has expired.
DoAuthorization
DoCapture
DoReauthorization
DoVoid
Authorization has already been completed.
DoAuthorization
DoCapture
DoReauthorization
DoVoid
Correcting This
Error...
Retry the request at a later time or close order.
Close the order or authorization.
Close the order or authorization.
Close the order or authorization.
June 2008
API Error Codes
Authorization and Capture API Errors
T
ABLE
A.7
Error
Code
10603
10604
10605
Short
Message
The buyer is restricted.
Authorization must include both buyer and seller.
Unsupported currency.
Long Message
The buyer account is restricted.
Returned By API
Call...
DoAuthorization
DoCapture
DoReauthorization
DoVoid
DoAuthorization Authorization transaction cannot be unilateral. It must include both buyer and seller to make an auth.
Currency is not supported.
DoAuthorization
DoCapture
10606
10607
10608
10609
10610
10611
10612
Buyer cannot pay.
Auth&Capture unavailable.
Funding source missing.
Invalid transactionID.
Amount limit exceeded.
Not enabled.
No more settlement.
Transaction rejected, please contact the buyer.
Authorization & Capture feature unavailable.
The funding source is missing.
DoAuthorization
DoCapture
DoReauthorization
DoAuthorization
DoCapture
DoReauthorization
DoVoid
DoAuthorization
DoCapture
DoReauthorization
Transaction id is invalid.
DoAuthorization
DoCapture
DoReauthorization
DoVoid
Amount specified exceeds allowable limit.
DoAuthorization
DoCapture
DoReauthorization
Authorization & Capture feature is not enabled for the merchant. Contact customer service.
Maxmimum number of allowable settlements has been reached. No more settlement for the authorization.
DoAuthorization
DoCapture
DoReauthorization
DoCapture
Correcting This
Error...
Contact the buyer.
Review the order to ensure customer and seller are both PayPal members.
Retry the request with a
PayPal-supported currency.
Contact the buyer.
Contact PayPal Customer
Service.
Contact the buyer.
Check the validity of the authorization ID and reattempt the request.
Reattempt the request with a lower amount.
Contact PayPal Customer
Service.
Close the order.
June 2008
183
184
API Error Codes
Authorization and Capture API Errors
T
ABLE
A.7
Error
Code
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
Short
Message
Currency mismatch.
Cannot void reauth.
Cannot reauth reauth.
Long Message
Currency of capture must be the same as currency of authorization.
You can void only the original authorization, not a reauthorization.
You can reauthorize only the original authorization, not a reauthorization.
Maximum number of reauthorization allowed for the auth is reached.
Returned By API
Call...
DoCapture
DoVoid
DoReauthorization
DoReauthorization Maximum number of reauthorization allowed for the auth is reached.
Reauthorization not allowed.
Transaction already voided or expired.
Reauthorization is not allowed inside honor period.
Transaction has already been voided or expired.
Invoice ID value exceeds maximum allowable length.
DoReauthorization
DoAuthorization
DoCapture
DoReauthorization
DoVoid
DoCapture Invoice ID value exceeds maximum allowable length.
Order has already been voided, expired, or completed.
Order has expired.
Order has already been voided, expired, or completed.
Order has expired.
DoAuthorization
DoCapture
DoVoid
Order is voided. Order is voided.
DoAuthorization
DoCapture
DoVoid
DoAuthorization
DoCapture
DoVoid
Correcting This
Error...
Ensure that the currencies are the same, and retry the request.
Void the authorization.
Capture the reauthorization.
Capture or close the authorization
Capture the authorization or reauthorize outside of honor period.
Close the order or authorization.
Check the length of the invoice ID and reattempt the request.
Close this order.
Close this order.
Close this order.
June 2008
API Error Codes
Authorization and Capture API Errors
T
ABLE
A.7
Error
Code
10623
10624
Short
Message
Maximum number of authorization allowed for the order is reached.
Duplicate invoice
10625 Transaction refused because of an invalid argument. See additional error messages for details.
Long Message
Maximum number of authorization allowed for the order is reached.
Returned By API
Call...
DoAuthorization
DoCapture
DoReauthorization
DoVoid
Payment has already been made for this
Invoice ID.
The amount exceeds the maximum amount for a single transaction.
DoAuthorization
DoAuthorization
DoCapture
DoReauthorization
10626
10627
10628
10629
10630
Transaction refused because of an invalid argument. See additional error messages for details.
This transaction cannot be processed at this time. Please try again later.
Reauthorization not allowed.
Item amount is invalid. to risk model.
The invoice ID field is not supported for basic authorizations.
This transaction cannot be processed at this time.
Please try again later.
Reauthorization is not allowed for this type of authorization.
Item amount is invalid.
DoCapture
DoReauthorization
DoAuthorization
DoReauthorization
DoVoid
DoAuthorization
DoCapture
DoReauthorization
DoVoid
DoReauthorization
DoAuthorization
DoCapture
Correcting This
Error...
Capture this order.
Review the invoice ID and reattempt the request.
Reattempt the request with a lower amount.
Contact the buyer.
The Invoice ID field can only be used with
DoCapture.
Retry the request at a later time.
Use DoAuthorization to authorize the an order.
Check the item amount to ensure that it is not zero or negative.
June 2008
185
API Error Codes
Authorization and Capture API Errors
T
ABLE
A.7
Error
Code
11094
Short
Message
This authorization cannot be voided, reauthorized, or captured against.
Long Message
This authorization can only be handled through the marketplace which created it. It cannot directly be voided, reauthorized, or captured against.
Returned By API
Call...
Correcting This
Error...
186
June 2008
GetTransactionDetails API Errors
T
ABLE
A.8 GetTransactionDetails API Errors
T
ABLE
A.8
Error Code
10001
Short Message
Internal Error
Long Message
Internal Error
API Error Codes
GetTransactionDetails API Errors
TransactionSearch API Errors
T
ABLE
A.9 TransactionSearch API Errors
T
ABLE
A.9
Error
Code
10001
10001
10003
10004
10004
10004
10004
Short Message
Internal Error
ButtonSource value truncated.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Long Message
Internal Error
The transaction could not be loaded
Start date is a required parameter
Start date is invalid
End date is invalid
Currency is not supported
Transaction class is not supported
June 2008
187
188
API Error Codes
TransactionSearch API Errors
T
ABLE
A.9
Error
Code
10004
10004
10004
10004
10004
10004
10004
10007
10007
11002
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Permission denied
Permission denied
Search warning
Long Message
Receipt id is not valid
Payer email is invalid
Auction item id is not valid
Receiver email is invalid
You can not search for a transaction id and a receipt id
Receiver can only be specified for payments you’ve received
The transaction id is not valid
You do not have permission to search for this transaction
You do not have permission to make this API call
The number of results were truncated. Please change your search parameters if you wish to see all your results.
June 2008
API Error Codes
RefundTransaction API Errors
RefundTransaction API Errors
T
ABLE
A.10 RefundTransaction API Errors
T
ABLE
A.10
Error
Code Short Message
10001
10001
10001
10001
10004
10004
10004
10004
10004
10004
10004
Internal Error
Internal Error
Long Message
Internal Error
Warning an internal error has occurred.
The transaction id may not be correct
The transaction could not be loaded
Correcting This Error...
ButtonSource value truncated.
Internal Error
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Internal Error
The partial refund amount must be a positive amount
You can not specify a partial amount with a full refund
A transaction id is required
The partial refund amount must be a positive amount
You can not specify a partial amount with a full refund
A transaction id is required
Transaction class is not supported
June 2008
189
190
API Error Codes
RefundTransaction API Errors
T
ABLE
A.10
Error
Code Short Message
10004
10007
Transaction refused because of an invalid argument. See additional error messages for details.
Permission denied
10007
10009
Permission denied
Transaction refused
Long Message
The transaction id is not valid
You do not have permission to refund this transaction
You do not have permissions to make this API call
You do not have a verified ACH
Correcting This Error...
This error can be caused by insufficient funds in your
PayPal balance to cover the amount of the refund and either your not having yet verified the bank account associated with your PayPal account or your not having any bank account associated with your PayPal account at all.
Ensure that you have sufficient funds in your PayPal balance and that you have verified the associated bank account.
10009
10009
10009
10009
10009
10009
10009
10009
Transaction refused
Transaction refused
Transaction refused
Transaction refused
Transaction refused
Transaction refused
Transaction refused
Transaction refused
The partial refund amount must be less than or equal to the original transaction amount
The partial refund amount must be less than or equal to the remaining amount
The partial refund amount is not valid
Because a complaint case exists on this transaction, only a refund of the full or full remaining amount of the transaction can be issued
You are over the time limit to perform a refund on this transaction
Can not do a full refund after a partial refund
Account is locked or inactive
The partial refund must be the same currency as the original transaction
June 2008
API Error Codes
RefundTransaction API Errors
T
ABLE
A.10
Error
Code Short Message
10009
10009
10009
10009
10009
10009
10011
11001
Transaction refused
Transaction refused
Transaction refused
Transaction refused
Transaction refused
Transaction refused
Long Message
This transaction has already been fully refunded
Account is restricted
You can not refund this type of transaction
You can not do a partial refund on this transaction
The account for the counterparty is locked or inactive
You can not refund this type of transaction
Invalid transaction id value Transaction refused because of an invalid transaction id value
Transaction class is not supported Transaction refused because of an invalid argument. See additional error messages for details.
Correcting This Error...
June 2008
191
192
API Error Codes
Mass Pay API Errors
Mass Pay API Errors
T
ABLE
A.11 MassPay API Errors
T
ABLE
A.11
Error
Code
10001
10001
10001
10001
10001
10002
10004
10004
10004
10004
10004
10004
Short Message
Invalid account number.
Long Message
The transaction failed as a result of an invalid credit card number.
Check the number or attempt with another card.
Internal Error
Internal Error
Internal Error
The transaction could not be loaded
ButtonSource value truncated.
The transaction could not be loaded
Transaction refused because of an invalid argument. See additional error messages for details.
The masspay receiver_type is not a recognizable type
The user account is locked
The number of input records is greater than maximum allowed
Account locked
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
The number of input records is less than or equal to zero
The note string length exceeds the maximum limit of 4000 characters
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
The amount is missing
The currency is missing
Currency is not supported
June 2008
API Error Codes
Mass Pay API Errors
T
ABLE
A.11
Error
Code
10004
10004
10004
10004
10004
10004
10007
10301
10303
10304
10305
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Permission denied
User not allowed
Restricted account
Unconfirmed email
Limit Exceeded
10306
10307
10308
Limit Exceeded
Receive only account
Long Message
The amount is not a valid number
The amount exceeds the max limit of a single mass pay item
~1
The amount is less than or equal to zero
The unique id string length exceeds the maximum limit of 30 characters
The unique id string contains a space as a character
The transaction id is not valid
You do not have permissions to make this API call
The user is not allowed to send money through Mass Pay
Account is restricted
The user account has unconfirmed email
The user account needs to have its sending limit removed in order to make a mass payment.
The user’s international account needs to have its sending limit removed in order to make a mass payment
The user account is receive only and therefore cannot send payments out
There is some configuration error
10309
Masspay server configuration error
Masspay server unavailable The mass pay server is unavailable
June 2008
193
API Error Codes
Recurring Payments Errors
T
ABLE
A.11
Error
Code
10310
10311
10312
10313
10314
Short Message
Unable to create payment
Unable to submit payment
Masspay server error
Masspay Invalid Data
Masspay input parse error
10317
10320
10321
10327
Masspay Invalid Email
Internal Error
Insufficient funds
Masspay Invalid UserID
Long Message
Unable to create payments for masspay
Unable to submit payments for masspay
The masspay server has reported errors
The masspay input file includes invalid data
The input to the masspay server is incorrect. Please make sure that you are using a correctly formatted input.
The masspay input file includes invalid Email
Internal Error
The account does not have sufficient funds to do this masspay
The masspay input file includes invalid UserID
Recurring Payments Errors
The following table lists errors for the following APIs that handle recurring payments profiles: z z z z z
CreateRecurringPaymentsProfile
GetRecurringPaymentsProfileDetails
ManageRecurringPaymentsProfileStatus
UpdateRecurringPaymentsProfile
BillOutstandingAmount
194
June 2008
API Error Codes
Recurring Payments Errors
T
ABLE
A.12 Recurring Payments Errors
T
ABLE
A.12
Error
Code
10001
Short Message
Invalid account number
10478
10501
10502
10504
10505
10507
10508
10509
10510
10511
Invalid Data
Invalid Configuration
Invalid Data
Invalid Data
Gateway Decline
Invalid Configuration
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Long Message
The transaction failed as a result of invalid credit card number. Check the number or attempt with another credit card.
Recurring payments profile description must be provided if the billing agreement type is recurring payments.
This transaction cannot be processed due to an invalid merchant configuration.
This transaction cannot be processed. Please use a valid credit card.
This transaction cannot be processed. Please enter a valid
Credit Card Verification Number.
This transaction cannot be processed.
Additional Information
Occurs when the billing agreement is disabled or inactive.
The credit card used is expired.
This transaction cannot be processed. Please contact PayPal
Customer Service.
This transaction cannot be processed. Please enter a valid credit card expiration date.
This transaction cannot be processed.
The credit card type is not supported. Try another card type.
This transaction cannot be processed.
The CVV provided is invalid.
The CVV is between 3-4 digits long.
The transaction was refused because the AVS response returned the value of N, and the merchant account is not able to accept such transactions.
Your PayPal account is restricted
- contact PayPal for more information.
The expiration date must be a two-digit month and four-digit year.
You must submit an IP address of the buyer with each API call.
The credit card type entered is not currently supported by
PayPal.
The merchant selected an value for the PaymentAction field that is not supported.
June 2008
195
196
API Error Codes
Recurring Payments Errors
T
ABLE
A.12
Error
Code
10512
Short Message
Invalid Data
10513 Invalid Data
10535 Gateway decline
10548 Invalid Configuration
10550 Invalid Configuration
10561
10565
10709
10710
10711
10712
Invalid Data
Merchant country unsupported
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Long Message
This transaction cannot be processed. Please enter a first name.
This transaction cannot be processed. Please enter a last name.
This transaction cannot be processed. Please enter a valid credit card number and type.
This transaction cannot be processed. The merchant’s account is not able to process transactions.
Additional Information
The first name of the buyer is required for this merchant.
The last name of the buyer is required for this merchant.
This transaction cannot be processed.
The merchant account attempting the transaction is not a business account at PayPal.
Check your account settings.
Access to Direct Payment was disabled for your account.
Contact PayPal for more information.
There’s an error with this transaction. Please enter complete billing address.
The merchant country is not supported.
There’s an error with this transaction. Please enter an address1 in the billing address.
There’s an error with this transaction. Please enter a city in the billing address.
There’s an error with this transaction. Please enter your state in the billing address.
There’s an error with this transaction. Please enter your five digit postal code in the billing address.
There was a problem with a particular field in the address.
The long error message will tell you what field is invalid.
There was a problem with a particular field in the address.
The long error message will tell you what field is invalid.
There was a problem with a particular field in the address.
The long error message will tell you what field is invalid.
There was a problem with a particular field in the address.
The long error message will tell you what field is invalid.
June 2008
API Error Codes
Recurring Payments Errors
T
ABLE
A.12
Error
Code
10713
10744
10748
10751
10752
10760
11089
11501
11502
11503
11504
11505
Short Message
Invalid Data
Invalid Data
Invalid Data
Invalid Data
Gateway Decline
Invalid Configuration
Long Message
There’s an error with this transaction. Please enter a country in the billing address.
This transaction cannot be processed. Please enter a valid country code in the billing address.
This transaction cannot be processed without a Credit Card
Verification Number.
There’s an error with this transaction. Please enter a valid state in the billing address.
This transaction cannot be processed.
This transaction cannot be processed. The country listed for your business address is not currently supported.
Additional Information
There was a problem with a particular field in the address.
The long error message will tell you what field is invalid.
There was a problem with a particular field in the address.
The long error message will tell you what field is invalid.
The merchant’s configuration requires a CVV to be entered, but no CVV was provided with this transaction. Contact PayPal if you wish to change this setting.
The merchant provided an address either in the United
States or Canada, but the state provided is not a valid state in either country.
The transaction was declined by the issuing bank, not PayPal. The merchant should attempt another card.
The merchant’s country of residence listed in their PayPal account is not currently supported to allow Direct
Payment transactions.
Transaction Refused.
Invalid merchant country
Account is locked or inactive.
The merchant’s country is currently not supported
Missing token
The token is missing or is invalid
The token is missing or is invalid One or more subscription detail fields are missing from the request.
Missing subscription details Missing subscription details One or more schedule detail fields are missing from the request.
Missing schedule details
Start date should be greater than current date
Missing schedule details
Subscription start date should be greater than current date
June 2008
197
198
API Error Codes
Recurring Payments Errors
T
ABLE
A.12
Error
Code
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
Short Message
Invalid max failed payments
Invalid trial amount
Invalid trial total billing cycles
Invalid trial billing period
Invalid trial amount
Invalid currency for trial amount
Invalid trial shipping amount
Invalid currency for trial shipping amount
Invalid profile status
Invalid currency for trial tax amount
Invalid billing frequency
Long Message
Max failed payments, if supplied, must be >= 0
Trial amount must be >= 0
Trial total billing cycles must be >
0
Trial billing period must be one of
Day, Week, Month, SemiMonth, or
Year
Trial amount must be >= 0
This currency is currently not supported for trial amount.
Trial shipping amount must be >=
0
This currency is currently not supported for trial shipping amount
The profile status is invalid.
This currency is currently not supported for trial tax amount
Billing Frequency must be > 0 and be less than or equal to one year
Additional Information
Currency must be USD.
If a trial shipping amount is supplied, it must be >= 0.
Currency must be USD.
Currency must be USD.
The combination of billing frequency and billing period cannot exceed one year.
Invalid total billing cycles Total billing cycles must be >= 0 (0 means continuous)
Invalid billing period
Invalid amount
Billing period must be one of Day,
Week, Month, SemiMonth, or Year
Bill amount must be greater than 0
Invalid currency for amount This currency is currently not supported for amount
Invalid shipping amount Shipping amount must be >= 0
Invalid currency for shipping amount
Invalid tax amount
Invalid currency for tax amount
This currency is currently not supported for shipping amount
Tax amount must be >= 0
This currency is currently not supported for tax amount
Currency must be USD.
Currency must be USD.
Currency must be USD.
June 2008
API Error Codes
Recurring Payments Errors
T
ABLE
A.12
Error
Code
11531
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
Short Message
Invalid profile status
Invalid payer country
Invalid period status
Denied
Denied
This feature is not available at this time
Invalid currency code
Start Date is required
Start Date should be valid
Profile ID is missing from the request
Invalid profile ID
Invalid action value provided
Note is missing from the request
Long Message
The profile status must be one of
(A)ctive, (C)ancelled, or e(X)pired
The payer’s country is currently not supported
The trial period status must be one of (A)ctive or (C)ancelled
Payer’s account is denied
Merchant account is denied
Recurring payments feature is not currently available; try again later
Invalid currency code, all currency codes much match
Subscription start date is required
Subscription start date should be valid
Profile ID is missing from the request
The profile ID is invalid
Invalid action value provided
Note is missing from the request
Additional Information
11555
11556 Invalid profile status for suspend action; profile should be active
11557
11558
11560
11561
Invalid profile status for cancel action; profile should be active or suspended
Invalid profile status for suspend action; profile should be active
Invalid profile status for reactivate action; profile should be suspended
Invalid activation type
Invalid initial amount
Invalid profile status for reactivate action; profile should be suspended
The activation type is invalid
The activation type is invalid
The initial amount is invalid
June 2008
199
200
API Error Codes
Recurring Payments Errors
T
ABLE
A.12
Error
Code
11562
11564
11567
11568
11569
11570
11571
11576
11577
11578
11579
11581
11582
11583
11584
11585
11586
Short Message
Invalid auto bill type
The number of failed payments should be greater than the current number of failed payments
The time of the update is too close to the billing date
Invalid currency for delinquent amount
Cannot increase delinquent amount
The maximum number of failed payments should be greater than the current number of failed payments
The total amount cannot exceed 120% increment per
180 days
Bill amount is greater than outstanding balance
Another outstanding payment is scheduled
Bill outstanding amount not processed because of scheduled payment
Long Message
The auto bill type is invalid
The number of failed payments should be greater than the current number of failed payments
The time of the update is too close to the billing date
Invalid currency for delinquent amount
Cannot increase delinquent amount
The maximum number of failed payments should be greater than the current number of failed payments
The total amount cannot exceed
120% increment per 180 days
Bill amount is greater than outstanding balance
Another outstanding payment is scheduled
Recurring payment scheduled within 24 hours, so we are not processing the bill outstanding amount
Payment is failing
Invalid Data
Inactive profile
Missing Token or buyer credit card
Payment is failing
Profile description is invalid.
No payment in queue No scheduled payment has been found.
DPRP feature is unavailable DPRP feature is unavailable
Profile is not active
Missing token or payment source
DPRP is disabled DPRP is disabled for this merchant.
Additional Information
June 2008
API Error Codes
Recurring Payments Errors
T
ABLE
A.12
Error
Code
11587
11590
15004
Short Message
Billing Address is Partial
Profile update is not required
Gateway Decline
Long Message
Billing Address is Partial
Based on your input request, profile already up to date.
This transaction cannot be processed. Please enter a valid
Credit Card Verification Number.
Additional Information
June 2008
201
202
API Error Codes
SetCustomerBillingAgreement Errors
SetCustomerBillingAgreement Errors
T
ABLE
A.13 SetCustomerBillingAgreement Errors
T
ABLE
A.13
Error
Code
10004
10404
10004
10405
10407
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
10436
Long Message
Invalid argument; BillingType input field is set to None
ReturnURL is missing.
Invalid value for request billing address parameter.
CancelURL is missing.
Additional Information
ReturnURL tag has no content
CancelURL tag has no content
Invalid buyer email address
(BuyerEmail).
PageStyle value exceeds maximum allowable length.
Invalid BuyerEmail (badly formatted or violates SMTP protocol defined email address format) or BuyerEmail is passed as an empty tag.
PageStyle tag is too long
10437
10438
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
cpp-header-image value exceeds maximum allowable length.
cpp-header-border-color value exceeds maximum allowable length.
cpp_header_image tag is too long; maximum length is 127 cpp_header_border_color tag is too long; maximum length is 6
June 2008
API Error Codes
SetCustomerBillingAgreement Errors
T
ABLE
A.13
Error
Code
10439
10440
10471
10472
10476
10477
11452
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Merchant not enabled for reference transactions
11453
11601
11602
Long Message
cpp-header-back-color value exceeds maximum allowable length.
cpp-payflow-color value exceeds maximum allowable length.
ReturnURL is invalid.
CancelURL is invalid.
Additional Information
cpp_header_back_color tag is too long; maximum length is 6 cpp_payflow_color tag is too long; maximum length is 6
ReturnURL tag contains invalid
URL
CancelURL tag contains invalid
URL
Reference transactions temporarily unavailable.
Request for billing address failed
Request for billing address failed
Merchant not enabled for reference transactions
Reference transaction feature not currently available; try again later
This merchant is not enabled for
Mark reference transaction.
Warning only
Feature not enabled because system is running in standin mode. Warning only
Billing address request is not enabled for merchant
Feature not yet available
June 2008
203
204
API Error Codes
GetBillingAgreementCustomerDetails Errors
GetBillingAgreementCustomerDetails Errors
T
ABLE
A.14 GetBillingAgreementCustomerDetails Errors
T
ABLE
A.14
Error
Code
10408
10409
Short Message
Missing token
You’re not authorized to access this info.
10410
10411
Invalid token
This Express Checkout session has expired.
Long Message
Token is missing
Express Checkout token was issued for a merchant account other than yours.
Invalid token
This Express Checkout session has expired. Token value is no longer valid.
Additional Information
Token is missing
Token belongs to a different merchant
Token invalid
Token expired
CreateBillingAgreement Errors
T
ABLE
A.15 CreateBillingAgreement Errors
T
ABLE
A.15
Error
Code
10408
10409
10410
10411
11455
11456
10408
Short Message
Missing token
You’re not authorized to access this info.
Invalid token
This Express Checkout session has expired.
Buyer did not accept billing agreement
A successful Billing
Agreement has already been created for this token.
Missing token
Long Message
Token is missing
Express Checkout token was issued for a merchant account other than yours.
Invalid token
This Express Checkout session has expired. Token value is no longer valid.
Buyer did not accept billing agreement
Transaction refused because of an invalid argument. See additional error messages for details.
Token is missing
Additional Information
Token is missing
Token belongs to a different merchant
Token invalid
Token expired
Buyer has not agreed to the billing agreement.
Token has already been used to create a billing agreement
Token is missing
June 2008
API Error Codes
CreateBillingAgreement Errors
T
ABLE
A.15
Error
Code
10409
Short Message
You’re not authorized to access this info.
10410
10411
Invalid token
This Express Checkout session has expired.
Long Message
Express Checkout token was issued for a merchant account other than yours.
Invalid token
This Express Checkout session has expired. Token value is no longer valid.
Additional Information
Token belongs to a different merchant
Token invalid
Token expired
June 2008
205
206
API Error Codes
UpdateBillingAgreement Errors
UpdateBillingAgreement Errors
T
ABLE
A.16 UpdateBillingAgreement Errors
T
ABLE
A.16
Error
Code
10001
10004
10201
10204
10209
10209
10211
11451
11451
11452
Short Message
Internal Error
Transaction refused because of an invalid argument. See additional error messages for details.
Billing Agreement was cancelled
User’s account is closed or restricted
Disabled
Disabled
Invalid billing agreement
ID
Billing Agreement Id or transaction Id is not valid
Billing Agreement Id or transaction Id is not valid
Merchant not enabled for reference transactions
Long Message
Internal Error
Invalid argument; description field or custom field is empty and the status is active
Billing Agreement was cancelled
Additional Information
Check the description and custom fields of the billing agreement. Either the description or custom field is empty and the status is active or the contents of one of these fields exceeds the maximum field length.
Billing agreement has been cancelled
User’s account is closed or restricted
Preapproved Payments not enabled.
Preapproved Payments not enabled.
Merchant pull is not enabled for the country or merchant is not enabled for merchant pull
Account number mismatch for the API caller and the account the billing agreement belongs to.
Invalid transaction or billing agreement ID; could not find
Billing Agreement in database
Billing Agreement Id or transaction Id is not valid
Billing Agreement Id or transaction Id is not valid
Merchant not enabled for reference transactions
ReferenceID field is empty.
Reference id refers to an invalid transaction.
This merchant is not enabled for
Mark reference transaction
DoReferenceTransaction Errors
June 2008
API Error Codes
DoReferenceTransaction Errors
T
ABLE
A.17 All Reference Transactions-Related API Errors
T
ABLE
A.17
Error
Code
10001
10002
10004
10009
Short Message
Internal Error
Authentication/Authorizati on Failed
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused
10010
10201
10202
10203
10204
10205
10206
10207
10209
10210
10211
10212
Long Message
Internal Error
Invalid payment type argument
Additional Information
Invalid Invoice
Agreement canceled
Exceed max
Action required
User’s account is closed or restricted
Risk
Duplicate
Retry
Disabled
No Funding
Profile preference setting
The account for the counterparty is locked or inactive
Non-ASCII invoice id is not supported
Billing Agreement was cancelled
Transaction would exceed user’s monthly maximum
Transaction failed, action required by user
User’s account is closed or restricted
Transaction refused due to risk model
Transaction was already processed
Transaction failed but user has alternate funding source
Preapproved Payments not enabled.
Merchant is locked/close/restricted
Non-ASCII characters are used in InvoiceID field
Billing agreement is not active
Transaction would exceed the monthly limit
Retry the transaction with an alternate funding source.
Merchants is not enabled for preapproved payments (PAP); applies only to legacy PAP billing agreements
Payee has no funding sources.
Transaction failed because has no funding sources
Invalid MP ID
A profile preference is set to automatically deny certain transactions
Invalid MP ID
A profile preference is set that automatically denies this kind of transaction
June 2008
207
208
API Error Codes
DoReferenceTransaction Errors
T
ABLE
A.17
Error
Code
10213
10214
10215
10216
10400
10401
10402
10406
10412
10413
10414
10417
Short Message
Invalid Soft Descriptor
Long Message
The soft descriptor passed in contains invalid characters
Additional Information
Soft descriptor format error.
Soft Descriptor truncated The soft descriptor was truncated
Transaction refused because of an invalid argument. See additional error messages for details.
Duplicate invoice
Transaction refused because a confirmed address is not available
TotalOrder amount is missing Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Authorization only is not allowed for merchant.
Order total is missing.
Order total is invalid.
TotalOrder amount is invalid
This merchant account is not permitted to set PaymentAction? to
Authorization. Please contact
Customer Service.
The PayerID? value is invalid.
Merchant is not eligible for auth settlement
Merchant account number is invalid
Payment has already been made for this InvoiceID?.
The totals of the cart item amounts do not match order amounts.
Payment already made for the invoice
Total of cart items does not match order total
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction cannot complete.
The amount exceeds the maximum amount for a single transaction.
The transaction cannot complete successfully. Instruct the customer to use an alternative payment method.
Amount exceeds the max amount for a single txn
Account not associated with a usable funding source
June 2008
API Error Codes
DoReferenceTransaction Errors
T
ABLE
A.17
Error
Code
10417
10418
10420
10426
10427
10428
10429
10429
10430
10431
Short Message
Transaction cannot complete.
Long Message
The transaction cannot complete successfully. Instruct the customer to use an alternative payment method.
The currencies of the shopping cart amounts must be the same.
Additional Information
Credit card or Billing Agreement is required to complete payment
Currencies in the shopping cart must be the same
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
PaymentAction? tag is missing.
Item total is invalid.
Shipping total is invalid.
Handling total is invalid.
Tax total is invalid.
Item sales tax is invalid
Item amount is missing.
Item amount is invalid.
PaymentAction? tag is missing.
ItemTotal amount is invalid.
ShippingTotal amount is invalid.
HandlingTotal amount is invalid
TaxTotal amount is invalid.
PaymentDetailsItem.Tax field is invalid. Warning only; API executes
PaymentDetailsItem.Amount field is missing. Warning only;
API executes
PaymentDetailsItem.Amount field is invalid. Warning only;
API executes
June 2008
209
210
API Error Codes
DoReferenceTransaction Errors
T
ABLE
A.17
Error
Code
10432
10433
10434
10441
10442
Short Message
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
ButtonSource value truncated.
10504
10527
10537
10538
10539
10546
Long Message
Invoice ID value exceeds maximum allowable length.
Value of OrderDescription element has been truncated.
Value of Custom element has been truncated.
The NotifyURL element value exceeds maximum allowable length.
Additional Information
InvoiceID field is too long; maximum length is 256
OrderDescription field is too long; maximum length is 127.
Warning only; API executes
Custom field is too long; maximum length is 256.
Warning only; API executes
NotifyURL field is too long; maximum length for notify URL is 2048
The cvv2 is invalid.
Invalid Data
Risk Control Country Filter
Failure
Risk Control Max Amount
Failure
Payment declined by your
Risk Controls settings:
PayPal Risk Model.
Gateway Decline
The ButtonSource element value exceeds maximum allowable length.
This transaction cannot be processed. Please enter a valid
Credit Card Verification Number.
This transaction cannot be processed. Please enter a valid credit card number and type.
The transaction was refused because the country was prohibited as a result of your Country Monitor
Risk Control Settings.
The transaction was refused because the maximum amount was excused as a result of your
Maximum Amount Risk Control
Settings.
Payment declined by your Risk
Controls settings: PayPal Risk
Model.
This transaction cannot be processed.
ButtonSource field is too long; maximum length is 32. Warning only; API executes
CVV2 field is invalid.
CreditCardNumber and/or
CreditCardType is invalid
Transaction refused due to country monitor risk control
Transaction refused due to max amount risk control
Transaction declined by Risk
Control settings: PayPal Risk model
IP fraud models failed.
June 2008
API Error Codes
DoReferenceTransaction Errors
T
ABLE
A.17
Error
Code
10560
10567
10600
10601
10621
10622
10623
10725
10727
10728
10729
10730
10731
10736
10747
10748
10755
Short Message
Invalid Data
Invalid Data
Long Message
The issue number of the credit card is invalid.
A Start Date or Issue Number is required.
Additional Information
IssueNumber is invalid.
None of Start date or issue number is specified (only applies to Switch and Solo credit cards)
Authorization voided
Authorization expired.
Order has expired.
Order is voided.
Authorization voided.
Authorization has expired
Order has expired.
Order is voided.
Maximum number of authorization allowed for the order is reached.
Maximum number of authorization allowed for the order is reached.
Shipping Address Country
Error
There was an error in the Shipping
Address Country field
Shipping Address1 Empty The field Shipping Address1 is required
Shipping Address City
Empty
The field Shipping Address City is required
Shipping Address State
Empty
Shipping Address Postal
Code Empty
Shipping Address Country
Empty
Shipping Address Invalid
City State Postal Code
Invalid Data
The field Shipping Address State is required
The field Shipping Address Postal
Code is required
The field Shipping Address
Country is required
A match of the Shipping Address
City, State, and Postal Code failed.
Invalid Data
Unsupported Currency.
This transaction cannot be processed without a valid IP address.
This transaction cannot be processed without a Credit Card
Verification number.
This transaction cannot be processed due to an unsupported currency.
Shipping address error in country field
Shipping address error in address1 field
Shipping address error in city field
Shipping address error in state field
Shipping address error in postal code
Country code is empty in shipping address
Match of shipping address, city, state, and postal code failed.
IPAddress field is invalid.
CVV2 field is missing.
June 2008
211
212
API Error Codes
DoReferenceTransaction Errors
T
ABLE
A.17
Error
Code
11302
11451
11451
11451
11451
11452
11453
11453
11454
11459
11610
11611
11612
18014
Short Message
Cannot pay self
Billing Agreement Id or transaction Id is not valid
Billing Agreement Id or transaction Id is not valid
Billing Agreement Id or transaction Id is not valid
Billing Agreement Id or transaction Id is not valid
Merchant not enabled for reference transactions
Reference transactions temporarily unavailable.
Reference transactions temporarily unavailable.
Warning: Could not send email to the buyer
Invalid Data
Long Message
The transaction was refused because you cannot send money to yourself.
Billing Agreement Id or transaction Id is not valid
Billing Agreement Id or transaction Id is not valid
Additional Information
Cannot pay self. Merchant is referencing own transaction.
Invalid reference id
Billing Agreement Id or transaction Id is not valid
Billing Agreement Id or transaction Id is not valid
Merchant not enabled for reference transactions
Reference transaction feature not currently available; try again later
Reference transaction feature not currently available; try again later
Warning: Could not send email to the buyer
Reference transaction is not associated with a billing agreement.
Reference id either not found or could not be decrypted
Reference id either not found or could not be decrypted
This merchant is not enabled for
Mark reference transaction
Feature wired off
Feature not supported in standin
The shipping address must match the user’s address in the PayPal account.
Payment Pending your review in
Fraud Management Filters
Failed to send email to buyer.
This error is not fatal and generates a warning.
The shipping address on file does not match the requested shipping address.
Payment Pending your review in Fraud
Management Filters
Transaction blocked by your settings in FMF
Could not process your request to accept/deny the transaction
Gateway Decline
Transaction blocked by your settings in FMF
Could not process your request to accept/deny the transaction
This transaction cannot be processed.
This transaction cannot be processed without a Credit Card
Verification number.
June 2008
API Error Codes
AddressVerify API Errors
AddressVerify API Errors
T
ABLE
A.18 AddressVerify API Errors
T
ABLE
A.18
Error Code Short Message
10004 Transaction refused because of an invalid argument. See additional error messages for details.
10004
10004
10009
Transaction refused because of an invalid argument. See additional error messages for details.
Transaction refused because of an invalid argument. See additional error messages for details.
The API is disabled.
Long Message
Invalid email format
Invalid street format
Invalid zip format
The Address API is currently disabled
ManagePendingTransactionStatus API Errors
T
ABLE
A.19 ManagePendingTransactionStatus API Errors
T
ABLE
A.19
Error Code Short Message
11614
11614
Could not process your request to accept/deny the transaction
The transaction has already been Accepted/Denied and the status cannot be changed
Long Message
Could not process your request to accept/deny the transaction
The transaction has already been Accepted/Denied and the status cannot be changed
June 2008
213
API Error Codes
ManagePendingTransactionStatus API Errors
214
June 2008
B
Country Codes
T
ABLE
B.1 Country Codes
T
ABLE
B.1
Country
AFGHANISTAN
ÅLAND ISLANDS
ALBANIA
ALGERIA
AMERICAN SAMOA
ANDORRA
ANGOLA
ANGUILLA
ANTARCTICA
ANTIGUA AND BARBUDA
ARGENTINA
ARMENIA
ARUBA
AUSTRALIA
AUSTRIA
AZERBAIJAN
BAHAMAS
BAHRAIN
BANGLADESH
BARBADOS
BELARUS
BELGIUM
June 2008
Code
AW
AU
AT
AZ
AQ
AG
AR
AM
AS
AD
AO
AI
AF
AX
AL
DZ
BS
BH
BD
BB
BY
BE
215
216
Country Codes
T
ABLE
B.1
Country
BELIZE
BENIN
BERMUDA
BHUTAN
BOLIVIA
BOSNIA AND HERZEGOVINA
BOTSWANA
BOUVET ISLAND
BRAZIL
BRITISH INDIAN OCEAN TERRITORY
BRUNEI DARUSSALAM
BULGARIA
BURKINA FASO
BURUNDI
CAMBODIA
CAMEROON
CANADA
CAPE VERDE
CAYMAN ISLANDS
CENTRAL AFRICAN REPUBLIC
CHAD
CHILE
CHINA
CHRISTMAS ISLAND
COCOS (KEELING) ISLANDS
COLOMBIA
COMOROS
CONGO
June 2008
Code
TD
CL
CN
CX
CA
CV
KY
CF
CC
CO
KM
CG
BF
BI
KH
CM
BR
IO
BN
BG
BO
BA
BW
BV
BZ
BJ
BM
BT
T
ABLE
B.1
Country
CONGO, THE DEMOCRATIC REPUBLIC OF THE
COOK ISLANDS
COSTA RICA
COTE D'IVOIRE
CROATIA
CUBA
CYPRUS
CZECH REPUBLIC
DENMARK
DJIBOUTI
DOMINICA
DOMINICAN REPUBLIC
ECUADOR
EGYPT
EL SALVADOR
EQUATORIAL GUINEA
ERITREA
ESTONIA
ETHIOPIA
FALKLAND ISLANDS (MALVINAS)
FAROE ISLANDS
FIJI
FINLAND
FRANCE
FRENCH GUIANA
FRENCH POLYNESIA
FRENCH SOUTHERN TERRITORIES
GABON
June 2008
Code
FO
FJ
FI
FR
ER
EE
ET
FK
GF
PF
TF
GA
EC
EG
SV
GQ
DK
DJ
DM
DO
HR
CU
CY
CZ
CD
CK
CR
CI
Country Codes
217
218
Country Codes
T
ABLE
B.1
Country
GAMBIA
GEORGIA
GERMANY
GHANA
GIBRALTAR
GREECE
GREENLAND
GRENADA
GUADELOUPE
GUAM
GUATEMALA
GUERNSEY
GUINEA
GUINEA-BISSAU
GUYANA
HAITI
HEARD ISLAND AND MCDONALD ISLANDS
HOLY SEE (VATICAN CITY STATE)
HONDURAS
HONG KONG
HUNGARY
ICELAND
INDIA
INDONESIA
IRAN, ISLAMIC REPUBLIC OF
IRAQ
IRELAND
ISLE OF MAN
June 2008
Code
HU
IS
IN
ID
HM
VA
HN
HK
IR
IQ
IE
IM
GN
GW
GY
HT
GP
GU
GT
GG
GI
GR
GL
GD
GM
GE
DE
GH
T
ABLE
B.1
Country
ISRAEL
ITALY
JAMAICA
JAPAN
JERSEY
JORDAN
KAZAKHSTAN
KENYA
KIRIBATI
KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF
KOREA, REPUBLIC OF
KUWAIT
KYRGYZSTAN
LAO PEOPLE'S DEMOCRATIC REPUBLIC
LATVIA
LEBANON
LESOTHO
LIBERIA
LIBYAN ARAB JAMAHIRIYA
LIECHTENSTEIN
LITHUANIA
LUXEMBOURG
MACAO
MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF
MADAGASCAR
MALAWI
MALAYSIA
MALDIVES
Code
LT
LU
MO
MK
LS
LR
LY
LI
MG
MW
MY
MV
KG
LA
LV
LB
KI
KP
KR
KW
JE
JO
KZ
KE
IL
IT
JM
JP
June 2008
Country Codes
219
220
Country Codes
T
ABLE
B.1
Country
MALI
MALTA
MARSHALL ISLANDS
MARTINIQUE
MAURITANIA
MAURITIUS
MAYOTTE
MEXICO
MICRONESIA, FEDERATED STATES OF
MOLDOVA, REPUBLIC OF
MONACO
MONGOLIA
MONTSERRAT
MOROCCO
MOZAMBIQUE
MYANMAR
NAMIBIA
NAURU
NEPAL
NETHERLANDS
NETHERLANDS ANTILLES
NEW CALEDONIA
NEW ZEALAND
NICARAGUA
NIGER
NIGERIA
NIUE
NORFOLK ISLAND
June 2008
Code
AN
NC
NZ
NI
NA
NR
NP
NL
NE
NG
NU
NF
MS
MA
MZ
MM
FM
MD
MC
MN
MR
MU
YT
MX
ML
MT
MH
MQ
T
ABLE
B.1
Country
NORTHERN MARIANA ISLANDS
NORWAY
OMAN
PAKISTAN
PALAU
PALESTINIAN TERRITORY, OCCUPIED
PANAMA
PAPUA NEW GUINEA
PARAGUAY
PERU
PHILIPPINES
PITCAIRN
POLAND
PORTUGAL
PUERTO RICO
QATAR
REUNION
ROMANIA
RUSSIAN FEDERATION
RWANDA
SAINT HELENA
SAINT KITTS AND NEVIS
SAINT LUCIA
SAINT PIERRE AND MIQUELON
SAINT VINCENT AND THE GRENADINES
SAMOA
SAN MARINO
SAO TOME AND PRINCIPE
June 2008
Code
SH
KN
LC
PM
RE
RO
RU
RW
VC
WS
SM
ST
PL
PT
PR
QA
PY
PE
PH
PN
PW
PS
PA
PG
MP
NO
OM
PK
Country Codes
221
222
Country Codes
T
ABLE
B.1
Country
SAUDI ARABIA
SENEGAL
SERBIA AND MONTENEGRO
SEYCHELLES
SIERRA LEONE
SINGAPORE
SLOVAKIA
SLOVENIA
SOLOMON ISLANDS
SOMALIA
SOUTH AFRICA
SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
SPAIN
SRI LANKA
SUDAN
SURINAME
SVALBARD AND JAN MAYEN
SWAZILAND
SWEDEN
SWITZERLAND
SYRIAN ARAB REPUBLIC
TAIWAN, PROVINCE OF CHINA
TAJIKISTAN
TANZANIA, UNITED REPUBLIC OF
THAILAND
TIMOR-LESTE
TOGO
TOKELAU
Code
SY
TW
TJ
TZ
SJ
SZ
SE
CH
TH
TL
TG
TK
ES
LK
SD
SR
SB
SO
ZA
GS
SL
SG
SK
SI
SA
SN
CS
SC
June 2008
T
ABLE
B.1
Country
TONGA
TRINIDAD AND TOBAGO
TUNISIA
TURKEY
TURKMENISTAN
TURKS AND CAICOS ISLANDS
TUVALU
UGANDA
UKRAINE
UNITED ARAB EMIRATES
UNITED KINGDOM
UNITED STATES
UNITED STATES MINOR OUTLYING ISLANDS
URUGUAY
UZBEKISTAN
VANUATU
VENEZUELA
VIET NAM
VIRGIN ISLANDS, BRITISH
VIRGIN ISLANDS, U.S.
WALLIS AND FUTUNA
WESTERN SAHARA
YEMEN
ZAMBIA
ZIMBABWE
Code
UM
UY
UZ
VU
UA
AE
GB
US
TM
TC
TV
UG
TO
TT
TN
TR
WF
EH
YE
ZM
ZW
VE
VN
VG
VI
Country Codes
June 2008
223
Country Codes
224
June 2008
C
State and Province Codes
T
ABLE
C.1 State and Province Codes
T
ABLE
C.1
Canadian Province or U.S. State
Alberta
British Columbia
Manitoba
New Brunswick
Newfoundland and Labrador
Northwest Territories
Nova Scotia
Nunavut
Ontario
Prince Edward Island
Quebec
Saskatchewan
Yukon
Alabama
Alaska
American Samoa
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
June 2008
Abbreviation
YT
AL
AK
AS
ON
PE
QC
SK
NL
NT
NS
NU
AB
BC
MB
NB
AZ
AR
CA
CO
CT
DE
225
226
State and Province Codes
T
ABLE
C.1
Canadian Province or U.S. State
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
District of Columbia
Federated States of Micronesia
Florida
Georgia
Guam
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Marshall Islands
Maryland
June 2008
Abbreviation
MO
MT
NE
NV
MA
MI
MN
MS
NH
NJ
NM
NY
LA
ME
MH
MD
IN
IA
KS
KY
GU
HI
ID
IL
DC
FM
FL
GA
T
ABLE
C.1
Canadian Province or U.S. State
North Carolina
North Dakota
Northern Mariana Islands
Ohio
Oklahoma
Oregon
Palau
Pennsylvania
Puerto Rico
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virgin Islands
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Armed Forces Americas
Armed Forces
Armed Forces Pacific
June 2008
State and Province Codes
Abbreviation
TN
TX
UT
VT
PR
RI
SC
SD
OK
OR
PW
PA
NC
ND
MP
OH
WI
WY
AA
AE
AP
VI
VA
WA
WV
227
State and Province Codes
228
June 2008
D
Currency Codes
T
ABLE
D.1 Currency Codes
T
ABLE
D.1
ISO-4217 Code
PLN
SEK
SGD
USD
HUF
JPY
NOK
NZD
DKK
EUR
GBP
HKD
AUD
CAD
CHF
CZK
Currency
Australian Dollar
Canadian Dollar
Swiss Franc
Czech Koruna
Danish Krone
Euro
Pound Sterling
Hong Kong Dollar
Hungarian Forint
Japanese Yen
Norwegian Krone
New Zealand Dollar
Polish Zloty
Swedish Krona
Singapore Dollar
U.S. Dollar
June 2008
229
Currency Codes
230
June 2008
E
AVS and CVV2 Response Codes
z z
“AVS Response Codes” on page 231
“CVV2 Response Codes” on page 233
AVS Response Codes
z z
AVS Response Codes for Visa, Mastercard, Discover, and American Express
AVS Response Codes for Maestro and Solo
June 2008
231
232
AVS and CVV2 Response Codes
AVS Response Codes
T
ABLE
E.1 AVS Response Codes for Visa, MasterCard, Discover, and American Express
T
ABLE
E.1
AVS Code
A
B
C
D
E
I
N
F
G
P
R
S
X
Y
U
W
Z
All others
Meaning
Address
International “A”
International “N”
International “X”
Not allowed for MOTO
(Internet/Phone) transactions
UK-specific “X”
Global Unavailable
International Unavailable
No
Postal (International “Z”)
Retry
Service not Supported
Unavailable
Whole ZIP
Exact match
Yes
ZIP
Error
Matched Details
Address only (no ZIP)
Address only (no ZIP)
None
N
OT E
:
N O TE
:
The transaction is declined.
Address and Postal Code
Not applicable
N
OT E
:
N O TE
:
The transaction is declined.
Address and Postal Code
Not applicable
Not applicable
None
N
OT E
:
N O TE
:
The transaction is declined.
Postal Code only (no Address)
Not applicable
Not applicable
Not applicable
Nine-digit ZIP code (no Address)
Address and nine-digit ZIP code
Address and five-digit ZIP
Five-digit ZIP code (no Address)
Not applicable
T
ABLE
E.2 AVS Response Codes for Maestro and Solo
T
ABLE
E.2
AVS Code
0
1
Meaning
All the address information matched.
None of the address information matched.
Matched Details
All information matched
None
N
O T E
:
N O T E
:
The transaction is declined.
June 2008
AVS and CVV2 Response Codes
CVV2 Response Codes
T
ABLE
E.2
AVS Code
2
3
4
Null
Meaning
Part of the address information matched.
The merchant did not provide AVS information. Not processed.
Address not checked, or acquirer had no response. Service not available.
No AVS response was obtained.
Default value of field.
Matched Details
Partial
Not applicable
Not applicable
Not applicable
CVV2 Response Codes
z z
CVV2 Response Codes for Visa, MasterCard, Discover, and American Express
CVV2 Response Codes for Maestro and Solo
T
ABLE
E.3 CVV2 Response Codes for Visa, MasterCard, Discover, and American Express
T
ABLE
E.3
CVV2 Code
P
S
M
N
U
X
Meaning
Match
No match
Not processed
Service not supported
Service not available
No response
Matched Details
CVV2CSC
None
Not applicable
Not applicable
Not applicable
Not applicable
T
ABLE
E.4 CVV2 Response Codes for Maestro and Solo
T
ABLE
E.4
1
2
CVV2 Code
0
Meaning
Matched
No match
The merchant has not implemented
CVV2 code handling
Matched Details
CVV2
None
Not applicable
June 2008
233
AVS and CVV2 Response Codes
CVV2 Response Codes
T
ABLE
E.4
CVV2 Code
3
4
All others
Meaning
Merchant has indicated that CVV2 is not present on card
Service not available
Error
Matched Details
Not applicable
Not applicable
Not applicable
234
June 2008
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 9 This Document
- 9 Intended Audience
- 9 Revision History
- 11 PayPal NVP API Overview
- 11 Introducing the PayPal NVP API
- 11 Integrating with the PayPal API
- 12 Basic Steps
- 12 Create a Web Application
- 12 Get API Credentials
- 12 Create and Post the Request
- 13 Interpret the Response
- 13 Taking Your Application Live
- 13 Set Up a PayPal Business Account
- 13 Set Up API Credentials
- 14 Modify Your Code
- 14 Technical Details
- 14 Request-Response Model
- 15 Request Format
- 17 Response Format
- 18 Posting Using HTTPS
- 18 API Servers for API Signature Security
- 18 API Servers for API Certificate Security
- 19 Authorization and Capture API Operation Reference
- 19 DoCapture API
- 20 DoCapture Request
- 21 DoCapture Response
- 23 DoAuthorization API
- 24 DoAuthorization Request
- 24 DoAuthorization Response
- 24 DoReauthorization API
- 25 DoReauthorization Request
- 25 DoReauthorization Response
- 25 DoVoid API
- 26 DoVoid Request
- 26 DoVoid Response
- 27 DoDirectPayment API
- 27 DoDirectPayment Request
- 36 DoDirectPayment Response
- 39 Express Checkout API Operations
- 39 SetExpressCheckout API
- 39 SetExpressCheckout Request
- 49 SetExpressCheckout Response
- 49 GetExpressCheckoutDetails API
- 50 GetExpressCheckoutDetails Request
- 50 GetExpressCheckoutDetails Response
- 57 DoExpressCheckoutPayment API
- 57 DoExpressCheckoutPayment Request
- 62 DoExpressCheckoutPayment Response
- 67 GetTransactionDetails API
- 67 GetTransactionDetails Request
- 67 GetTransactionDetails Response
- 77 MassPay API
- 77 MassPay Request
- 79 MassPay Response
- 81 RefundTransaction API
- 81 RefundTransaction Request
- 81 RefundTransaction Response
- 83 TransactionSearch API
- 83 TransactionSearch Request
- 86 TransactionSearch Response
- 87 CreateRecurringPaymentsProfile API
- 87 CreateRecurringPaymentsProfile Request
- 97 CreateRecurringPaymentsProfile Response
- 98 GetRecurringPaymentsProfileDetails API
- 98 GetRecurringPaymentsProfileDetails Request
- 98 GetRecurringPaymentsProfileDetails Response
- 105 ManageRecurringPaymentsProfileStatus API
- 106 ManageRecurringPaymentsProfileStatus Request
- 106 ManageRecurringPaymentsProfileStatus Response
- 106 BillOutstandingAmount API
- 107 BillOutstandingAmount Request
- 107 BillOutstandingAmount Response
- 107 UpdateRecurringPaymentsProfile API
- 108 UpdateRecurringPaymentsProfile Request
- 113 UpdateRecurringPaymentsProfile Response
- 113 SetCustomerBillingAgreement API
- 114 SetCustomerBillingAgreement Request
- 117 SetCustomerBillingAgreement Response
- 117 GetBillingAgreementCustomerDetails API
- 118 GetBillingAgreementCustomerDetails Request
- 118 GetBillingAgreementCustomerDetails Response
- 120 DoReferenceTransaction API
- 120 DoReferenceTransaction Request
- 128 DoReferenceTransaction Response
- 135 DoNonReferencedCredit API
- 135 DoNonReferencedCredit Request
- 138 DoNonReferencedCredit Response
- 139 Fraud Management Filters API Operations
- 139 Fraud Management Filters API Prerequisites
- 140 ManagePendingTransactionStatus API
- 141 ManagePendingTransactionStatus Request
- 141 ManagePendingTransactionStatus Response
- 143 GetBalance API
- 143 GetBalance Request
- 143 GetBalance Response
- 145 AddressVerify API
- 146 AddressVerify Request
- 146 AddressVerify Response
- 149 API Error Codes
- 150 General API Errors
- 151 Validation Errors
- 155 Direct Payment API Errors
- 167 SetExpressCheckout API Errors
- 175 GetExpressCheckoutDetails API Errors
- 177 DoExpressCheckoutPayment API Errors
- 182 Authorization and Capture API Errors
- 187 GetTransactionDetails API Errors
- 187 TransactionSearch API Errors
- 189 RefundTransaction API Errors
- 192 Mass Pay API Errors
- 194 Recurring Payments Errors
- 202 SetCustomerBillingAgreement Errors
- 204 GetBillingAgreementCustomerDetails Errors
- 204 CreateBillingAgreement Errors
- 206 UpdateBillingAgreement Errors
- 206 DoReferenceTransaction Errors
- 213 AddressVerify API Errors
- 213 ManagePendingTransactionStatus API Errors
- 215 Country Codes
- 225 State and Province Codes