2013
Table Of Contents
- Name-Value Pair API Developer Guide
- Contents
- What’s New
- Preface
- PayPal Name-Value Pair API Basics
- AddressVerify API Operation
- Authorization and Capture API Operation Reference
- DoDirectPayment API Operation
- DoNonReferencedCredit API Operation
- ExpressCheckout API Operations
- GetBalance API Operation
- GetPalDetails API Operation
- GetTransactionDetails API Operation
- ManagePendingTransactionStatu s API Operation
- MassPay API Operation
- Recurring Payments and Reference Transactions API Operations
- CreateRecurringPaymentsProfile API Operation
- GetRecurringPaymentsProfileDetails API Operation
- ManageRecurringPaymentsProfileStatus API Operation
- BillOutstandingAmount API Operation
- UpdateRecurringPaymentsProfile API Operation
- CreateBillingAgreement API Operation
- SetCustomerBillingAgreement API Operation
- GetBillingAgreementCustomerDetails API Operation
- BAUpdate API Operation
- DoReferenceTransaction API Operation
- RefundTransaction API Operation
- TransactionSearch API Operation
- API Error Codes
- General API Errors
- Validation Errors
- DirectPayment API Errors
- SetExpressCheckout API Errors
- GetExpressCheckoutDetails API Errors
- DoExpressCheckoutPayment API Errors
- Authorization and Capture API Errors
- GetTransactionDetails API Errors
- TransactionSearch API Errors
- RefundTransaction API Errors
- MassPay API Errors
- Recurring Payments Errors
- SetCustomerBillingAgreement Errors
- GetBillingAgreementCustomerDetails Errors
- CreateBillingAgreement Errors
- UpdateBillingAgreement Errors
- DoReferenceTransaction Errors
- AddressVerify API Errors
- ManagePendingTransactionStatus API Errors
- Countries and Regions Supported by PayPal
- State and Province Codes
- Currency Codes
- AVS and CVV2 Response Codes
- About Previous Versions of the API
- What's New in Version 95.0
- What's New in Version 93.0
- What's New in Version 92.0
- What's New in Version 91.0
- What's New in Version 89.0
- What's New in Version 88.0
- What’s New in Version 85.0
- What’s New in Version 84.0
- What’s New in Version 82.0
- What’s New in Version 80.0
- What’s New in Version 74.0
- What’s New in Version 72.0
- What's New in Version 69
- What's New in Version 66
- Revision History
- Index
PayPal Name-Value Pair API Basics
Creating an NVP Request
1
20 February 01, 2013 Name-Value Pair API Developer Guide
SUBJECT=merchantEmailAddress
NOTE: Typically, a merchant grants third-party permissions to a shopping cart. The merchant
previously must have given you permission to execute the API operation.
Specifying Credentials Using cURL
The following example shows one way to specify a signature using cURL:
curl --insecure https://api-3t.sandbox.paypal.com/nvp -d ^
"METHOD=name^ &VERSION=XX.0^ &USER=API_username^ &PWD=API_password^
&SIGNATURE=API_signature^ &..."
NOTE: This example does not establish a secure connection and should not be used live on
paypal.com.
URL Encoding
All requests to execute PayPal API operations sent using HTTP must be URL-encoded. The
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.
The PayPal NVP API uses the HTTP protocol to send requests and receive responses from a
PayPal API server. You must encode all data sent using the HTTP protocol because data that is
not encoded could be misinterpreted as part of the HTTP protocol instead of part of the
request. Most programming languages provide a way to encode strings in this way. You
should consistently URL-encode the complete API request; otherwise, you may find that
unanticipated data causes an error.
NOTE: An HTTP form is automatically URL-encoded by most browsers.
For example, consider the following NVP string:
NAME=Robert Moore&COMPANY=R. H. Moore & Associates
It is encoded as follows:
NAME=Robert+Moore&COMPANY=R.+H.+Moore+%26+Associates
Use the following methods to URL-encode or URL-decode your NVP strings:
Encoding and decoding methods for URLs
Language Method
ASP.NET Encode System.Web.HttpUtility.UrlEncode(buffer,
Encoding.Default)
Decode System.Web.HttpUtility.UrlDecode(buffer,
Encoding.Default)