Overview#

From Split Pay 3.7.0 onward, Split Pay supports Payment Plugins for Stripe WooCommerce (plugin slug woo-stripe-payment, often shown in the WooCommerce admin as Stripe Payment Gateway for WooCommerce) as a first-class Stripe gateway adapter, alongside the official WooCommerce Stripe Payment Gateway.

If your store uses Payment Plugins’ gateway to charge customers, Split Pay can now read those payments, look up your transfer rules, and create Stripe Transfers from your platform balance to your connected accounts the same way it does for the official gateway.

Why you might use this gateway#

  • Already in use. Many existing WooCommerce stores ship with Payment Plugins’ gateway by default (it ships free on wp.org and is preinstalled by some hosts).
  • Feature differences. The two gateways implement Stripe’s payment methods, checkout UI, and webhook handling slightly differently. Split Pay is agnostic to which one you pick.
  • Migration. If you switch from one gateway to the other, you don’t need to change anything in Split Pay beyond pasting your platform-account API keys into the new gateway’s card on the Integrations tab.

Compatibility#

  • Split Pay: v3.7.0 or later, with v3.7.3+ recommended. v3.7.1 added a guarded logger helper to fix a fatal error (Call to undefined method WC_Stripe_Logger::log()) on sites running woo-stripe-payment without the official WooCommerce Stripe Payment Gateway. v3.7.3 resolves a 3.7.2 regression where the new namespaced classes introduced in 3.7.0 had their own unguarded calls and could re-trigger the fatal under the same conditions. If you run this gateway exclusively, update to v3.7.3 or later.
  • Payment Plugins for Stripe WC: any current version that registers the stripe_wc() function (Split Pay detects the gateway by checking for this).
  • WooCommerce: required (this is the WooCommerce path).
  • Concurrent use with the official WC Stripe gateway: supported. Split Pay registers a separate gateway card per gateway on the Integrations tab.

Update to Split Pay 3.7.3+ if you use this gateway exclusively. Earlier Split Pay releases could hit a fatal error during certain logging paths when only woo-stripe-payment was active (the official WC Stripe gateway shipped the legacy logger class Split Pay had to call). v3.7.1 routed the 155 legacy logger calls through a guarded fallback; v3.7.3 extended that guard to the namespaced Core/ and Integrations/ classes added in 3.7.0 (a 3.7.2 regression had reintroduced the fatal in those code paths).

Setup#

Install and activate Payment Plugins for Stripe WooCommerce from wp.org or the WooCommerce admin.

Connect the gateway to Stripe in both test and live modes independently. Go to WooCommerce → Settings → Payments and configure Payment Plugins’ Stripe gateway as you normally would. Confirm the gateway is enabled and that test/live API keys have been entered on the gateway’s own settings page.

Install and activate Split Pay 3.7.3 or later. Split Pay detects Payment Plugins’ gateway automatically. (3.7.0 added the integration; 3.7.3 is the first release that fully guards the namespaced logger code paths against the WC_Stripe_Logger::log() fatal.)

Open the Integrations tab at Split Pay (top-level menu in WordPress admin). You should see the WooCommerce platform card with the Active badge, and beneath it a separate gateway card for Payment Plugins for Stripe WooCommerce. See Integrations Tab for what the cards mean.

Paste your Stripe platform-account API keys into the Payment Plugins gateway card’s Settings overlay. These keys must come from your Stripe platform account (the account that receives the customer payment) and must include Connect → Transfers: Write (the Stripe Dashboard previously labelled this Balance Transfers: Write). See Adjusting API Key Permissions in the Quick Start.

Sync webhooks on the Payment Plugins gateway card. This creates the transfer-events webhook on your Stripe account (transfer.created, transfer.reversed, transfer.updated).

Sync connected accounts from the summary section. Connected accounts are shared with any other integration on the same site.

Run a test order on a WooCommerce product configured for split payments. The transfer should appear in the Split Pay Transfers tab and in your Stripe Dashboard under Connect → Transfers.

Repeat for live mode when you are ready to ship to production.

Split Pay reads the test/live mode for this gateway from Payment Plugins’ own settings (woocommerce_stripe_api_settings.mode). Whichever mode the gateway itself is in determines which set of Split Pay platform keys are used.

Interactions and known issues#

  • Pre-3.7.3 fatal error. On Split Pay versions before 3.7.3, sites running woo-stripe-payment without the official WooCommerce Stripe Payment Gateway could hit Call to undefined method WC_Stripe_Logger::log() in certain logging code paths. v3.7.1 added a guarded safe_wcs_log() helper for the legacy class; v3.7.3 extended the guard to the new namespaced Core/ and Integrations/ trees added in 3.7.0 after a 3.7.2 regression reintroduced the fatal there. v3.7.3 also adds an IntegrationLogGuardTest regression test that scans those trees on every release to prevent the issue from recurring.
  • Running both Stripe gateways at once. If both the official WooCommerce Stripe gateway and Payment Plugins’ gateway are active, Split Pay creates separate gateway cards for each on the Integrations tab. Configure platform keys on each card you intend to use; orders are routed by whichever gateway processed the charge.
  • Webhook endpoint. Split Pay’s transfer-events webhook is independent of the webhook Payment Plugins creates for its own checkout flow. Don’t delete it from your Stripe Dashboard.
  • Stripe Connect permission. The Payment Plugins gateway can run on basic Stripe accounts, but the API keys you give Split Pay must have Connect → Transfers: Write (formerly Balance Transfers: Write) under Connect — Split Pay needs Connect scope, the gateway itself does not.

Troubleshooting#

  • Gateway card shows Not found. Confirm Payment Plugins for Stripe WooCommerce is installed and activated. Split Pay detects it by checking whether the stripe_wc() function exists.
  • Sync Webhooks fails. See Webhook Sync Failures in the Quick Start. The same causes apply (wrong mode, missing Connect scope on the key, or using a connected-account key instead of a platform key).
  • Transfers don’t fire after a successful charge. Confirm you are on Split Pay 3.7.3 or later. Check the WooCommerce order notes for any Split Pay log lines; they will indicate whether the plugin saw the payment-complete event.