Integration Guide

Table Of Contents
PayPal Payments Pro Integration Guide April 2012 5
Contents
Redirecting the Buyer to PayPal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Getting Buyer Details Using GetExpressCheckoutDetails. . . . . . . . . . . . . . . . 65
Creating the Profiles With CreateRecurringPaymentsProfile . . . . . . . . . . . . . . 65
Options for Creating a Recurring Payments Profile . . . . . . . . . . . . . . . . . . . . . 66
Specifying the Regular Payment Period . . . . . . . . . . . . . . . . . . . . . . . . . 66
Including an Optional Trial Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Specifying an Initial Payment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Maximum Number of Failed Payments . . . . . . . . . . . . . . . . . . . . . . . . . 68
Billing the Outstanding Amount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Identifying Items as Digital or Physical Goods. . . . . . . . . . . . . . . . . . . . . . 69
Recurring Payments Profile Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Getting Recurring Payments Profile Information . . . . . . . . . . . . . . . . . . . . . . . 70
Modifying a Recurring Payments Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Updating Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Updating the Billing Amount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Billing the Outstanding Amount of a Profile . . . . . . . . . . . . . . . . . . . . . . . . . 72
Recurring Payments Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Appendix A Getting Started With the PayPal Name-Value Pair API . . .75
PayPal API Client-Server Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
PayPal Name-Value Pair API Requests and Responses . . . . . . . . . . . . . . . . 76
UTF-8 Character Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Multiple API Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Obtaining API Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Creating an API Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Creating an API Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
NVP Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Creating an NVP Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Specifying the PayPal API Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Specifying an API Credential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
URL Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
List Syntax for Name-Value Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Executing NVP API Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Specifying a PayPal Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Logging API Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Responding to an NVP Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Common Response Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Error Responses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85