Developer's Guide
Table Of Contents
- Adaptive Payments Developer Guide
- Contents
- What’s New?
- Introducing Adaptive Payments
- Adaptive Payments Actors and Objects
- Simple, Parallel, and Chained Payments
- Payment Approval
- Adaptive Payments Service Permissions
- Explicit Approval Payment Flow
- Preapproved Payments Flow
- Implicit Approval Payments Flow
- Embedded Payments
- Embedded Payment Flow Presentations
- Kinds of Embedded Payments
- Embedded Payments Implementation Basics
- Embedded Payment Experience
- Preapprove Future Payments Checkbox
- Shipping Address Information
- Embedded Payment Experience
- Setting Up Web Pages to Invoke the Embedded Payment Flow Using a Lightbox
- Setting Up Web Pages to Invoke the Embedded Payment Flow Using a Minibrowser
- Displaying and Collecting Shipping Addresses
- Guest Payments
- Fee Payment Configuration
- Getting Started
- Pay API Operation
- PaymentDetails API Operation
- ExecutePayment API Operation
- GetPaymentOptions API Operation
- SetPaymentOptions API Operation
- Preapproval API Operation
- PreapprovalDetails API Operation
- CancelPreapproval API Operation
- ConvertCurrency API Operation
- Refund API Operation
- GetFundingPlans API Operation
- GetShippingAddresses API Operation
- Adaptive Payment Commands and Redirects
- Instant Payment Notifications
- Older Versions of the Adaptive Payments API
- 1.8.0 Features
- 1.7.0 Features
- 1.6.0 Features
- New API Operations for Version 1.6.0
- Changes to PayRequest Fields for Version 1.6.0
- Changes to PayResponse Fields for Version 1.6.0
- Changes to ExecutePaymentRequest Fields for Version 1.6.0
- Changes to GetPaymentOptionsResponse Fields for Version 1.6.0
- Changes to SetPaymentOptionsRequest Fields for Version 1.6.0
- Changes to PreapprovalRequest Fields for Version 1.6.0
- Changes to Address Structure for Version 1.6.0
- Changes to DisplayOptions Structure for Version 1.6.0
- New CurrencyConversion Structure for Version 1.6.0
- New InvoiceData Structure for Version 1.6.0
- New InvoiceItem Structure for Version 1.6.0
- New SenderOptions Structure for Version 1.6.0
- New SenderIdentifier Structure for Version 1.6.0
- New AccountIdentifier Structure for Version 1.6.0
- New ReceiverOptions Structure for Version 1.6.0
- New ReceiverIdentifier Structure for Version 1.6.0
- Additional Error Messages for Version 1.6.0
- 1.5.0 Features
- 1.4.0 Features
- 1.3.0 Features
- 1.2.0 Features
- 1.1.0 Features
- Revision History
- Index
Adaptive Payments Developer Guide August 7, 2012 163
8
Preapproval API Operation
Use the Preapproval API operation to set up an agreement between yourself and a sender
for making payments on the sender’s behalf.
You set up a preapprovals for a specific maximum amount over a specific period of time and,
optionally, by any of the following constraints: the number of payments, a maximum per-
payment amount, a specific day of the week or the month, and whether or not a PIN is required
for each payment request.
Preapproval Overview
To set up a preapproval request, you must specify values for the following fields:
Required preapproval fields
Preapproval Notifications
Notifications are sent after preapproval is complete:
Field Description
endingDate Last date for which the preapproval is valid. It cannot be
later than one year from the starting date. Contact PayPal if
you do not want to specify an ending date.
startingDate First date for which the preapproval is valid. It cannot be
before today’s date or after the ending date.
maxTotalAmountOfAllPayments The preapproved maximum total amount of all payments. It
cannot exceed $2,000 USD or its equivalent in other
currencies. Contact PayPal if you do not want to specify a
maximum amount.
currencyCode The code for the currency in which the payment is made;
you can specify only one currency, regardless of the number
of receivers
cancelUrl URL to redirect the sender’s browser to after canceling the
preapproval
returnUrl URL to redirect the sender’s browser to after the sender has
logged into PayPal and confirmed the preapproval
requestEnvelope.errorLanguage The code for the language in which errors are returned,
which must be en_US.