07398 946 380
07398 946 380
PayPal API

PayPal Checkout Integration for WooCommerce and Custom Platforms

27 April 2026 7 min read

For standard WooCommerce stores, PayPal has a plugin. It works, it’s maintained, and for a basic PayPal checkout option it’s entirely adequate. A custom integration is not what you need in that case. But there are several scenarios where the plugin falls short and a custom build is the right answer — custom platforms that aren’t WooCommerce, Pay Later integration that needs to surface correctly, marketplace checkout with payment splitting, or PayPal as part of a unified multi-gateway payment flow. This post covers when and why a custom PayPal checkout integration makes sense.

When the plugin is enough

If you’re on standard WooCommerce, Shopify or another major ecommerce platform, the PayPal plugin is almost certainly sufficient for standard checkout. PayPal’s own WooCommerce plugin (or the WooCommerce PayPal Payments extension) handles the Orders API, the checkout popup, payment capture and basic webhook handling. You don’t need a custom integration for this use case.

The plugin’s limits are: it can’t implement custom business logic around payment flows, it can’t split payments between multiple recipients, it doesn’t expose Pay Later in the way a custom implementation can, and it doesn’t integrate natively with non-WooCommerce order management systems. If any of those matter, you’re in custom integration territory.

Custom platforms that need PayPal

The clearest case for a custom PayPal integration is a bespoke platform that doesn’t have a PayPal plugin. A custom booking system, a proprietary marketplace, a bespoke SaaS platform, a membership system not built on WordPress — all of these need the PayPal Orders API implemented directly rather than through a plugin.

The implementation follows the standard Orders API flow: server-side order creation with the amount and currency, client-side PayPal JavaScript SDK rendering the button and handling the customer authentication, server-side capture when the customer approves. The difference from plugin implementation is that every step is built explicitly into your platform’s codebase rather than handled by third-party plugin logic.

For custom platforms, integrating PayPal alongside other payment methods — typically Stripe for card payments — means both need to be wired into the same order flow. The customer selects their preferred payment method at checkout, the integration calls the appropriate API, and the order confirmation and webhook handling is unified regardless of which payment method was used. This unified multi-gateway approach is something plugins can’t do cleanly because they operate independently of each other.

Pay Later and Pay in 3 integration

PayPal Pay Later (including Pay in 3, the UK instalment product) is one of the more compelling reasons to consider a custom PayPal integration rather than a plugin. Pay in 3 lets customers split a purchase into three interest-free monthly payments. For purchases in the right value range (roughly £30–£2,000), offering Pay in 3 alongside standard PayPal and card payment meaningfully increases checkout conversion — particularly for higher-value items where customers might hesitate at the full price.

Getting Pay in 3 to display correctly — as a distinct option in the checkout rather than buried in the PayPal flow — requires specific implementation in the PayPal JavaScript SDK configuration. The messaging component (which shows the “or from £X/month with PayPal Pay in 3” banner on product pages) is also a specific SDK feature that needs custom configuration. A plugin doesn’t give you this level of control over how the Pay Later messaging appears and where.

Marketplace checkout and payment splitting

PayPal supports marketplace checkout through PayPal Commerce Platform — a customer pays for a purchase, the payment is automatically split between the platform (which takes a fee) and the seller (who receives the remainder). This is relevant for two-sided marketplaces where sellers list products or services and buyers pay through the platform.

The implementation uses PayPal’s Partner referrals to onboard sellers to your platform, connected accounts to link seller PayPal accounts, and the Orders API with multiple purchase units to specify how the payment splits. This is significantly more complex than a standard checkout and always requires a custom build — no plugin handles marketplace payment splitting.

For platforms where sellers don’t need to receive PayPal specifically (they just want to be paid), the PayPal Payouts API is a simpler alternative — the platform receives the full payment and uses the Payouts API to send sellers their share separately. See PayPal Payouts API integration for this approach.

Refunds via the API

For standard plugin integrations, refunds are typically processed manually through the PayPal dashboard or through WooCommerce’s refund UI. For custom integrations where refunds are triggered programmatically — an order cancelled in your system automatically triggering a PayPal refund — the Captures API handles full and partial refunds against a completed capture ID.

Programmatic refunds remove the manual step from the refund workflow: the refund request in your order management system triggers the PayPal API call, the refund processes, and the customer receives their money without anyone logging into the PayPal dashboard. The refund webhook confirms completion and your system marks the order as refunded.

PayPal Advanced and ACDC

PayPal’s Advanced Checkout (and the newer Advanced Credit and Debit Card, ACDC) allows card payments to be processed through PayPal’s infrastructure without the customer needing a PayPal account. This means card payment acceptance that runs through PayPal alongside standard PayPal wallet payments — all managed through one PayPal integration rather than separate Stripe and PayPal integrations.

ACDC is not available to all merchants and requires a separate application. For merchants who want to consolidate card and PayPal payments under one processor, it’s worth considering. For most UK businesses, keeping Stripe for card processing and PayPal for wallet payments is simpler and gives access to Stripe’s broader ecosystem. The right choice depends on transaction volumes and processing cost priorities.

For the full PayPal integration service and pricing, see the PayPal API integration service. For the Payouts API, see PayPal Payouts API integration. For the full API guide, see PayPal API integration guide. For what the build costs, see PayPal API integration cost.

Related posts

Error handling in PayPal checkout integrations

PayPal checkout integrations encounter several common failure scenarios that need explicit handling. A customer who starts the PayPal popup and closes it without paying — the order was created but not captured. A payment that is approved by the customer but the capture call fails due to a network timeout. A payment that PayPal declines after the customer approves (insufficient funds, risk rules). Each needs a defined handler.

Uncaptured orders should be cleaned up — either cancelled via the API or left to expire (PayPal cancels uncaptured orders automatically after a period). Failed captures should retry once automatically, then flag the order for manual review if the retry also fails. Declined payments should show the customer a clear message and return them to the payment options rather than showing a generic error.

The PayPal JavaScript SDK handles most client-side error states through its own callbacks, but the server-side capture error handling is the integration’s responsibility. A well-built integration logs every API call and response, makes the error state visible to both the customer and your team, and never leaves an order in an ambiguous state.

Going live — production approval

Switching from sandbox to production requires a live PayPal Business account with identity verification complete. For standard checkout and subscriptions, this is straightforward — create the live app in the PayPal Developer Dashboard and use the production credentials. For Payouts specifically, PayPal requires a separate approval for production Payouts access. This involves confirming your use case and business details. The approval typically takes a few days but should be applied for before the build is complete so it doesn’t delay the go-live date.

If you need help with a custom API integration for your website or business application, I can help. I build bespoke API integrations for UK businesses. See API integration pricing or get in touch to discuss your project.

Need a custom integration built?

I build custom API integrations — Stripe, Companies House and bespoke data pipelines. Reliable, well-documented, no agency overhead.

Discuss your project →