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
Pay API Operation
Pay Summary
74 August 7, 2012 Adaptive Payments Developer Guide
Parallel Payments
For a simple payment, you must specify values for the fields above. For a parallel payment,
you must specify both the above values and the following fields:
Chained Payments
For a chained payment, you must specify all required fields for a parallel payment and you
must also specify enable the primary receiver:
By default, a payment requires explicit approval in which the sender must log in to PayPal. In
that case, you are not required to specify the sender’s email address. To initiate the approval
process, you must redirect the sender to PayPal as follows:
https://www.paypal.com/webscr?cmd=_ap-payment&paykey=value
NOTE: The command is _ap-payment. You obtain the value of the paykey parameter from
the payKey field in the Pay API operation’s response message.
returnUrl URL to redirect the sender’s browser to after the sender has
logged into PayPal and approved a payment; it is always
required but only used if a payment requires explicit
approval
requestEnvelope.errorLanguage The code for the language in which errors are returned,
which must be en_US.
Field Description
receiverList.receiver(
n).email The receiver’s email address for each receiver, where n is
between 0 and 5 for a maximum of 6 receivers
receiverList.receiver(
n).amount Amount to send to each corresponding receiver
Field Description
receiverList.receiver(
n).email The receivers’ email addresses, where n is between 0 and 5
for a total of one primary receiver and between one and 5
secondary receivers
receiverList.receiver(
n).amount Amount to send to each corresponding receiver
receiverList.receiver(
n).primary Set to true to indicate a chained payment; only one receiver
can be a primary receiver. Omit this field, or set it to false
for simple and parallel payments.
Field Description