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 71
Getting Started
Making a Chained Payment (XML)
Making a Chained Payment (XML)
A chained payment is when a sender sends a payment to a PayPal-registered receiver who is
the primary receiver.
You send a PayRequest, enabling the primary receiver.
You receive a response with a pay key.
You must redirect the sender’s browser to PayPal to approve the payment.
With chained payments, the sender only sees the transaction to the primary API caller. The
receiver only sees the transaction from the primary API caller. The transactions from and to
the receivers are hidden from the sender and receivers.
In the example below, Tim makes a single payment of $100 to Frank, who is the primary
receiver. Of this amount, Frank keeps $25 and pays Yvonne $75. The following event
sequence takes place:
Pay Request for Chained Payment
<PayRequest>
<requestEnvelope>
<errorLanguage>en_US</errorLanguage> </requestEnvelope>
<cancelUrl xmlns="">http://exammple.com/cancelURL.htm</cancelUrl>
<actionType>PAY</actionType>
<currencyCode xmlns="">USD</currencyCode>
<receiverList xmlns="">
<receiver>
<amount>100</amount>
<email>frank@example.com</email>
<primary>true</primary>
</receiver>
<receiver>
<amount>75</amount>
<email>yvonne@example.com</email>
<primary>false</primary>
</receiver>
</receiverList>
<returnUrl xmlns="">http://example.com/returnURL.htm</returnUrl>
</PayRequest>