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
Refund API Operation
Refund API Overview
212 August 7, 2012 Adaptive Payments Developer Guide
Common fields for all refunds
You can refund a payment from all receivers associated with a payment by specifying the
payment’s payment key or tracking ID:
Refunds that apply to all receivers
You can make a refund to the sender of a payment from specific receivers associated with a
payment key or tracking ID. In this case, you must specify:
either the payment key or tracking ID that identifies the original payment
for each receiver making a refund, the receiver’s email address
for each receiver, the amount to refund to the sender from the receiver’s account.
NOTE: The receiver can't make a partial refund if the original payment was a cash advance,
personal payment, or unilateral payment.
Additional fields for refunds of specific amounts to specific receivers
A payment can also be identified as a set of PayPal transactions between the sender and each
specific receiver. You can refund the amount of the transaction by specifying the transaction
ID:
Field Description
currencyCode The currency code. You must specify the currency code that
matches the currency code of the original payment unless
you also specify the payment key.
requestEnvelope.errorLanguage The code for the language in which errors are returned,
which must be en_US
Field Description
payKey The key used to create the payment that you want to refund
trackingId The tracking ID associated with the payment that you want
to refund
Field Description
receiverList.receiver(
n).email The receiver’s email address, where n is between 0 and 5 for
a maximum of 6 receivers
receiverList.receiver(
n).amount Amount to refund from the receiver identified by email
address