This project integrates Drupal Commerce with various PayPal payment solutions. The primary integration method for both versions of the module (Drupal 9+ vs. Drupal 7) is PayPal Checkout, which supports payment via PayPal account, Pay Later, Venmo, and credit or debit card.

Pay Later, formerly known as PayPal Credit, lets merchants extend financing opportunities to their customers, which can be advertised on Add to Cart forms or through a custom block defined by this module. See how it works in the PayPal documentation.

Adding the PayPal funding source to order pages

PayPal Checkout displays payment buttons based on your Drupal Commerce configuration, the merchant's PayPal account configuration, and the customer's device. The option selected by the customer will be saved to an order's data property as the funding source. However, there is no default place in the user interface to display such information.

On Drupal 9 or later, to show this to your customer or store managers, you will need to edit the relevant theme templates and print the order.funding_source added to the list of available variables by this module. To see if you're eligible to accept Venmo as a funding source, consult the latest PayPal documentation.

Other integrated solutions

We recommend migrating to PayPal Checkout from older payment solutions if at all possible. However, Payflow is still required to use PayPal with a third party payment processor. The full list of supported payment solutions includes:

  • Payflow Link - D9, D7
  • Payflow Pro - D9
  • PayPal Express Checkout (EC) - D9, D7
  • PayPal Payments Standard (WPS) - D7
  • PayPal Payments Advanced (PPA) - D7
  • PayPal Payments Pro - D7

The PayPal WPS / EC integration supports PayPal's Instant Payment Notifications (IPNs) to react to authorizations, captures, voids, and refunds with full logging for testing and debugging. The PayPal Checkout integration does the same via REST API webhooks. It does not currently support Billing Agreements, multi-seller payments, or other advanced features like the shipping callback.

All of the above integrations were reviewed and certified by PayPal. Contact Centarro to inquire about adding new features or certified integrations to the module.

Development notes

If you have unanswered questions about how PayPal's services work or want to contribute to the development of this project, you can find PDF guides and HTML resource pages for every PayPal service on their developer network. Before requesting a feature or code change, please ensure it is supported by PayPal and provide a link to the documentation backing up your request.

If your PayPal API requests are failing due to SSL certificate verification, refer to the comments in the cURL request preparation of commerce_paypal_api_request() to read how to specify a local CA certificate bundle file.

Drupal 7 documentation + FAQs

Note: you will only receive IPNs from PayPal if you do your testing on a public web server to which PayPal can actually POST notifications. Installations on your localhost or behind HTTP authentication will not be accessible by PayPal, so your PayPal WPS payments will never appear on your orders.

  • PayPal Payments Standard (WPS) - Register an account | View documentation
    Redirects from checkout to PayPal and includes IPN support for authorizations during checkout, prior authorization captures, authorizations plus capture during checkout ("Sale"), voids, and refunds.
  • PayPal Payments Pro (WPP) - Register an account | View documentation
    Supports authorization and authorization plus capture during checkout ("Sale"). Authorization only transactions can be captured on the site or at PayPal with IPN support coming in the next release candidate to mark pending authorization transactions as complete locally that were captured at PayPal.
  • PayPal Express Checkout (EC) - Register an account | View documentation
    Redirects from the cart form or checkout form to PayPal for hosted checkout and payment, updating the order upon return. The basic EC feature set is available for review in the 2.x version of this module. This should be used instead of the standalone EC modules.
  • PayPal Payments Advanced (PPA) / Payflow Link (PFL) - Register a PPA account
    Register a PFL account | View documentation
    These are functionally equivalent, facilitating on-site payment via PayPal or credit card through an iframe integrated into the checkout process. The primary difference between the two is that PPA is U.S. and Canada only and uses PayPal as the merchant account provider while PFL works internationally and lets the merchant use another merchant account provider. A comprehensive integration is available for review in the 2.x version of this module.
Supporting organizations: 
Development and Support

Project information

Releases