Flash sale: Get up to 30% off themes and extensions. Ends April 26 at 3 pm UTC. Shop the sale.
  1. Documentation /
  2. PayPal Adaptive Payments

PayPal Adaptive Payments

Note: This product is no longer sold on WooCommerce.com. This document was left available to you for help with configuration and troubleshooting, but is no longer updated.

PayPal Adaptive Payments handles payments between a sender of a payment and one or more receivers of the payment. It’s possible to split the order total with secondary receivers, so you can pay commissions or partners.

PayPal is not accepting new signups and activations for Adaptive Payments. PayPal Payouts/Mass Payment is being offered as an option.
Which PayPal extension should you choose? Compare our PayPal extensions →

Payment methods

↑ Back to top

This extension supports:

Parallel payments

Enable a sender to send a single payment to multiple receivers (you + five receivers). For example, your shopping cart allows a buyer to pay for items from several merchants with one payment, then allocates payment to merchants that provided the items. PayPal deducts money from the sender’s account and deposits it in the receivers’ accounts.

Chained payments

Enable a sender to send a single payment to a primary receiver. The primary receiver keeps part of the payment and pays the remainder to (up to nine) secondary receivers.

For example, you’re an online travel agency that handles bookings for airfare, hotel reservations and car rentals. The sender only sees you as the primary receiver, and you allocate payment for your commission and the actual cost of services provided by other receivers. PayPal then deducts money from the sender’s account and deposits it in both your account and the secondary receivers’ accounts.

Simple payments

Enable a sender to send a single payment to a single receiver. For example, your website takes payment and transfers money from the customer’s PayPal account to your own, as a result of a sale. This is a traditional payment.

This work automatically when there are no other recipients or receivers.

PayPal Adaptive Payments uses Instant Payment Notification (IPN) and has been updated in accordance with PayPal’s announcement to https for added security.

Action by you: An SSL certificate is now required for sandbox testing and by 30 June 2017 for all PayPal transactions. See Where to get an SSL certificate and What is SSL and https for more info.

Installation

↑ Back to top
  1. Download the .zip file from your WooCommerce.com account.
  2. Go to: WordPress Admin > Plugins > Add New to upload the file you downloaded with Choose File.
  3. Activate the extension.

More information at: Installing and Managing Plugins.

Sign up for PayPal credentials

↑ Back to top

Open a PayPal Business or Premier account

↑ Back to top

You must have a PayPal Business or Premier account to generate APIs keys for this plugin. PayPal Adaptive Payments is a limited release product, subject to approval by PayPal.

  1. Go to PayPal and sign up or log in.
  2. Go to: Profile > Profile and settings > My selling tools
  3. Click the Update link for API Access.PayPal Advanced - API

4. On API Access page, select Option 2 by clicking Request API credentials:

5. Select Request API signature and click the Agree and Submit button:

paypal-request-api-signature

6. Copy your API data to use for Setup and Configuration (below).

paypal-view-api-signature

Create a Live App ID

↑ Back to top
  1. Go to PayPal Developer, and log in.
  2. Go to Dashboard, and click the My Apps & Credentials link.

3. Scroll down and click Manage NVP/SOAP API apps.

NVP/SOAP APIs

4. Click the New Application link.

2016-08-30_14-05-05

5. Enter App Information, such as the Title and Description.

6. Select Web for the platform, and Adaptive Payments for Services used by app.

7. Click the Submit App button.

paypal-new-app

PayPal will review your app. When it is accepted, you will have access to your Live PayPal Application ID to use for Setup and Configuration (next).

Setup and Configuration

↑ Back to top

PayPal Adaptive extension

↑ Back to top
  1. Go toWooCommerce > Settings > Payments.
    Note: ‘Payments’ formerly called ‘Checkout’ prior to WooCommerce 3.4.
  2. Select PayPal Adaptive Payments. You are taken to the Settings screen.
  3. Configure your settings:
    • Enable/Disable – Enable to use. Disable to turn off.
    • Title – Choose the title shown to customers during checkout
    • Description – Add info shown to customers if they use PayPal Adaptive
  4. Enter API Credentials from your PayPal account
    • PayPal API Username
    • PayPal API Password
    • PayPal API Signature
    • PayPal Application ID
  5. Payments
    • Enter the email address you use for PayPal payments in the Receiver Email field. This is important.
    • Payment Method – Select from the dropdown
    • Invoice Prefix (optional). This is helpful if you’re using the same PayPal account for more than one website/store.
  6. Design – Enter the URL of an image (see Payment page customization below)
  7. Gateway Testing
    • PayPal sandbox – Enable if in development or testing. Remember to disable when ready to go live.
    • Debug log – Enable if troubleshooting. Otherwise, leave disabled.
  8. Save changes.

Payment page customization

↑ Back to top

PayPal Adaptive sends customers to PayPal to complete payment. You can customize this page by including your own logo. Add the URL to the logo in the Header Image field. The recommended size is 70×950 pixels.

If you choose to leave blank the Header Image field, your site’s name (as set in WordPress settings) will be shown instead.

An example custom logo header is shown in the Customer Flow section.

Payments

↑ Back to top

All receivers of payment must be set up by entering their email addresses and the percentage they receive per sale in each Product they’re associated with.

  1. Go to WooCommerce > Products, then the individual Product.
  2. Scroll down to Product Data.
  3. Go to the PayPal Adaptive Payments tab.
  4. Enter the receiver’s email address and a percentage.

wc-paypal-adaptive-payments-product-tab

Enter each receiver’s email and the percentage (no % symbol), separated by a pipe (|). One receiver per line. For example:

ninja@email.com|20
sensei@email.com|15
view raw paypal.txt hosted with ❤ by GitHub

  • Only use other people’s email addresses, not your own. Your email is configured in the plugin options.
  • Total percentage may not exceed 100%, The remainder is what you receive.

The payment process occurs as typical for a WooCommerce PayPal integration, and the PayPal Adaptive Payments plugin automatically sets up the refund and notification URLs for you.

Customer flow

↑ Back to top

In this example, the customer is checking out with a single £9 item that has been set up with a commission of 20% to ninja@email.com, 15% to sensei@email.com and the remainder to the shop owner.

The checkout option looks the same as any other PayPal payment gateway. In this example, the demo text has been added to show that it really is the PayPal Adaptive gateway:

PayPal checkout option

The customer is sent to PayPal to complete the payment. The Custom Logo field has a logo that is 90×750 pixels.

Login to PayPal

The customer is prompted to choose the payment method and click Pay:

Choose payment type and pay

Once payment has been completed successfully, the customer is returned to the WooCommerce site and shown the default order confirmation page:

Default order confirmation

For Developers

↑ Back to top

You can dynamically assign receivers using the woocommerce_paypal_ap_payment_args filter. For example:

<?php
/**
* Custom PayPal Adaptive Payments args.
*
* @param array $args
* @param WC_Order $order
* @return array
*/
function custom_woocommerce_paypal_ap_payment_args( $args, $order ) {
$args['receiverList'] = array(
'receiver' => array(
array(
'amount' => '40.00',
'email' => 'your@email.com',
// 'primary' => 'true' // use this only for Chained Payment.
)
),
'receiver' => array(
array(
'amount' => '15.00',
'email' => 'receiver1@email.com'
)
),
'receiver' => array(
array(
'amount' => '60.00',
'email' => 'receiver2@email.com'
)
)
);
return $args;
}
add_filter( 'woocommerce_paypal_ap_payment_args', 'custom_woocommerce_paypal_ap_payment_args', 10, 2 );
view raw functions.php hosted with ❤ by GitHub

Frequently Asked Questions

↑ Back to top

Is this compatible with Subscriptions?

↑ Back to top

For recurring payments, no. For manual payments, yes. The only way to use Adaptive Payments with WooCommerce Subscriptions would be to have manual subscriptions set up.

Questions and Feedback

↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with a Happiness Engineer via the Help Desk.