Directory / plugin
Split Pay – Stripe Connect Split Payments & Multi-Vendor Marketplace for WooCommerce & FluentCart
v3.8.7 · by Brandon Ernst
Split payments between multiple Stripe Connected Accounts using Stripe Connect. Works with WooCommerce and FluentCart.
About this plugin
Split Pay is the leading WordPress split payments plugin powered by Stripe Connect. Automatically split payments between your platform and one or more connected Stripe accounts – perfect for multi-vendor marketplaces, vendor payouts, commission management, and business partner revenue sharing.
Split Pay works with WooCommerce and FluentCart – on their own or side by side – and with the Stripe gateways your store already uses. It handles the entire payment splitting workflow – payouts, refunds, chargebacks and retries – so you can focus on growing your store.
How It Works
Your store charges the customer on your Stripe platform account through its normal checkout. Once the charge succeeds, Split Pay uses the Stripe Connect Transfers API to route a percentage or fixed amount of the sale to one or more connected Stripe accounts. Every transfer is tied to the original charge and tagged split_pay=1 in Stripe, and an order’s transfers never add up to more than the customer paid. Order notes record each result, so every payout is traceable from your WordPress admin to the Stripe Dashboard.
Supported Platforms & Gateways
- WooCommerce with WooCommerce Stripe Payment Gateway (official)
- WooCommerce with Payment Plugins for Stripe WooCommerce
- FluentCart with FluentCart’s built-in Stripe integration – no WooCommerce required
Split Pay transfers only from Stripe charges on your own platform account, using the platform secret key you save for each mode under Split Pay > Integrations; Payment Plugins needs its own matching key (see Installation). Non-Stripe payment methods and WooPayments are not split.
Who Is Split Pay For?
- Multi-vendor marketplace owners who need automatic vendor payouts
- Business partnerships where revenue is shared between parties
- Supplier and vendor relationships with automated commission payments
- Affiliate or referral storefronts that split sales with partners
- Service platforms that distribute payments to service providers
- Subscription businesses that share recurring revenue with vendors
Requirements
- At least one supported e-commerce plugin: WooCommerce 7.9 or later, or FluentCart
- A supported Stripe payment gateway configured for your chosen platform
- A Stripe account with Stripe Connect enabled, and its platform secret key for each mode you use
- HTTPS on your site for Stripe-hosted vendor onboarding
🆓 Free Features
% PERCENTAGE-BASED SPLIT PAYMENTS
Transfer a percentage of every sale to a single connected Stripe account. Define a global split percentage and every eligible payment is automatically divided – no manual payouts required. Works with WooCommerce and FluentCart.
💱 CURRENCY AGNOSTIC PAYMENTS
Accept payments in any currency supported by Stripe – USD, EUR, GBP, AUD, CAD, and 100+ more, including zero- and three-decimal currencies. When your Stripe account settles in a different currency from your store, Split Pay transfers and reverses in the settlement currency once Stripe has recorded the charge’s settlement.
💳 CARDS, WALLETS & NON-CARD PAYMENT METHODS
Split Pay splits the Stripe charge your gateway creates on your platform account: cards, wallets such as Apple Pay and Google Pay, and non-card methods such as iDEAL, SEPA Direct Debit, Bancontact and ACH. Bank debits are split once the charge succeeds. Capture-later payments, including in-person Stripe Terminal payments, are split when WooCommerce Stripe reports the capture; confirm your first Terminal order in its order notes.
🧾 ORDER FEE ROUTING
Send part or all of a positive WooCommerce order fee – such as a “Handling” fee – to a connected account. Match the fee by name on the Advanced tab and choose the percentage to transfer (100% by default). Partial refunds, even product- or shipping-only ones, also reverse part of the fee transfer, by their share of the order total.
↩️ AUTOMATIC REFUND HANDLING
When a refund is processed in WooCommerce, or received through FluentCart’s supported Stripe refund event, Split Pay automatically reverses each vendor’s share. Line-item and shipping refunds reverse the matching transfers; amount-only refunds reverse a proportional share. A WooCommerce refund recorded before an order’s first transfer is deducted from that transfer instead.
⚖️ CHARGEBACKS & FAILED BANK DEBITS
When a chargeback arrives through the WooCommerce Stripe Payment Gateway’s signed webhook or FluentCart’s Stripe webhook, Split Pay reverses the order’s vendor transfers in proportion to the disputed amount. A won dispute is noted on the order, and the vendor is not re-paid. Through that WooCommerce webhook, a bank-debit payment that fails after vendors were paid has its transfers reversed in full. Payment Plugins-only stores handle both in Stripe.
🔄 AUTOMATIC & MANUAL RETRIES
When every transfer on a WooCommerce order fails with an error that can clear on its own, Split Pay retries up to 3 times, 5 minutes apart. For anything else, fix the cause and use the “Retry Split Pay Transfers” order action – transfers already paid are never sent twice. FluentCart transfers recover automatically.
🏢 VENDOR CONNECT SHORTCODE & CONNECT LINKS
Place the [split_pay_vendor_connect] shortcode on any page so an eligible signed-in vendor can connect Stripe with one click through Stripe-hosted onboarding, or share a Test or Live Connect link from Connect Status. On Stripe platforms that allow only Accounts v2, vendors get an Accounts v2 recipient account with the Express Dashboard and must be signed in to your site to use a shared Connect link. Administrators see Stripe’s reason when onboarding fails.
🔗 CONNECT AN EXISTING STRIPE ACCOUNT
Connect a Stripe account that already exists – your own or a vendor’s – to your platform with Stripe Connect OAuth from Split Pay > Connect Status. It can be chosen as a recipient straight away.
🔧 INTEGRATIONS TAB WITH GUIDED SETUP
A four-step setup wizard takes a fresh install from platform key to readiness check. The Integrations tab detects WooCommerce, FluentCart and their Stripe gateways side by side, shows each gateway’s transfer-key source, and runs account sync and read-only webhook checks.
🧭 CONNECT STATUS
See every connected account’s readiness in Test and Live mode, refresh the list from Stripe, confirm which Test account and Live account belong together, and check when your store last received a Stripe event.
🩺 PLATFORM STATUS
Platform Status shows your Stripe connection with a readiness check, which of your store’s payment methods Split Pay can split, what Split Pay does automatically, and a read-only data integrity check. When Stripe’s events reach your WooCommerce Stripe webhook, it also lists failed vendor bank payouts and accounts disconnected from your platform, which get no transfers until you click Unblock.
🔁 SUBSCRIPTION RENEWALS
Compatible with the official WooCommerce Subscriptions plugin. Recurring renewal orders follow the same Split Pay transfer path and saved settings as ordinary WooCommerce orders, and FluentCart subscription renewals are split automatically.
🧩 PRODUCT ADD-ON RECIPIENTS
With Product Add-Ons Ultimate, assign a connected account to an add-on group and Split Pay sends each priced add-on in that group to its account as a separate transfer.
⏩ HIGH-PERFORMANCE ORDER STORAGE (HPOS) COMPATIBLE
Compatible with WooCommerce High-Performance Order Storage, legacy order storage, and the Cart and Checkout blocks.
🛡️ ROBUST SETUP VALIDATION & SAFETY
API-key format and platform-identity checks, incomplete-configuration warnings, aggregate transfer alerts, and connected-account country notices surface setup problems before live use. Transfers must match the order’s Test or Live mode, and standard WordPress updates refuse Split Pay packages older than 3.8.4.
⌨️ WP-CLI COMMANDS
Audit and recover from the command line with wp spp verify-integrity, wp spp dump-transfer-log and wp spp retry-failed-transfers (with --dry-run).
🔌 DEVELOPER HOOKS & FILTERS
WordPress hooks and filters are available for transfer metadata, recipient selection, calculations, account creation, and custom integrations.
⭐ PRO Features
🔀 SPLIT PAYMENTS ACROSS MULTIPLE VENDOR ACCOUNTS
Split payments across multiple connected Stripe accounts simultaneously. Pay as many vendors, suppliers, or service providers from one order as you need and configure individual transfer amounts for each connected account, globally or per product. Works with both WooCommerce and FluentCart orders.
🔍 PRODUCT-LEVEL COMMISSION RATES
Set transfer percentages globally or override them at the product level. For example, split all sales at 10% globally, but set Product A at 20% and Product B at 5%. Available for both WooCommerce and FluentCart products.
📊 GLOBAL & PRODUCT-LEVEL FIXED AMOUNT TRANSFERS
Configure fixed transfer amounts globally or per product. Transfer $5 from every order, or set $10 per unit of Product X and $25 per unit of Product Y. Mix and match with percentage-based splits across your store.
🍒 VARIABLE PRODUCT SUPPORT
Full support for WooCommerce variable products. Set unique transfer values, transfer types, and connected accounts for each product variation, or set them once on the parent product and apply them to every variation.
🚢 SHIPPING FEE TRANSFERS
Transfer a percentage or fixed amount of shipping fees to connected vendor accounts, globally or per product. On WooCommerce, each product’s shipping share is weighted by quantity, so the shares add up to exactly the shipping you collected; on FluentCart, each rule uses the full shipping total, so keep your rules within it.
💸 TAX TRANSFERS
For WooCommerce orders, transfer 100% of each product’s tax to its connected accounts, or a share that matches the product’s transfer. Full control over how tax revenue is distributed.
🎟️ COUPON-ADJUSTED TRANSFERS
Calculate transfers on the discounted line total, so a coupon reduces the vendor’s share instead of the platform absorbing the whole discount.
🧮 SEQUENTIAL GLOBAL SPLITS
For WooCommerce orders, take fixed product-level transfers off first, then apply each global row in turn to the amount left. Off by default.
💳 OPTIONAL STRIPE FEE ALLOCATION
For WooCommerce card payments, optionally deduct the charge’s exact Stripe processing fee proportionally across all connected-account transfer legs. Off by default. While it is on, non-card payments such as iDEAL and SEPA, and any payment whose Stripe fee isn’t recorded yet, stop before any transfer, to be retried or paid by hand.
🗺️ FIELD-VALUE ROUTING
For WooCommerce orders, send a product’s transfer to a different connected account based on what the customer chose in a product or checkout field – for example, their nearest store. Split percentages and amounts never change.
⏳ DELAYED TRANSFERS
Hold WooCommerce vendor transfers until the order is marked Completed – ideal for physical goods, made-to-order products and services. Released transfers are still paid from the original charge, and refunds recorded while a transfer is held are left out of it. With Stripe-fee allocation on, a refund made through Stripe during the hold stops the order’s transfers; pay those vendors by hand.
🧾 RECLAIM REFUND SHORTFALLS
When a refund reversal fails because a vendor’s Stripe balance is too low, Split Pay records the shortfall as outstanding debt and deducts it from that vendor’s future transfers. Balances appear per account, mode and currency on Platform Status, with a one-click write-off.
📃 TRANSFER DASHBOARD & CSV EXPORT
The Transfers tab in your WordPress admin displays a complete history of all split payment transactions across all integrations, with links to each Stripe transfer and charge. Filter by source (WooCommerce / FluentCart), search, and export to CSV for accounting, reporting, or reconciliation.
🕜 BULK EDITOR FOR PRODUCTS
Manage transfer settings for hundreds or thousands of products with a spreadsheet-style bulk editor. Supports both WooCommerce and FluentCart products. Filter by category, product name, SKU, or attributes – then update transfer values and connected accounts in bulk, or append a recipient to many WooCommerce products with a preview of every change.
🏢 VENDOR ONBOARDING ADMIN CONTROLS
Let vendors register through your site’s existing WordPress registration form with a “Register as a Vendor” checkbox, or add them yourself under Users. Vendors connect Stripe from their own dashboard page, with your own title and instructions. Grant additional WordPress roles vendor access, and choose whether vendor accounts are created as Standard or Express Stripe accounts (Accounts v2-only platforms always get the Express Dashboard).
🤖 VENDOR AUTOMATION
Optionally, when a vendor finishes Stripe onboarding, create a WooCommerce product for them at your vendor share and give them a downloadable payment QR code (also available through the [split_pay_vendor_qr] shortcode). Pair it with a Name Your Price plugin to accept any-amount payments. Optionally email vendors when they are paid and customers when their money is sent, and customize the order-received message.
✉️ TRANSFER CONFIRMATION EMAILS & STRIPE METADATA
Send the store administrator a transfer confirmation email after a WooCommerce order’s first successful transfers, detailing every split payment amount, links to transfers in the Stripe Dashboard, and any failures that occurred. Optionally include order details in each transfer’s Stripe metadata for reporting and reconciliation.
🏪 WCFM MARKETPLACE INTEGRATION
Give WCFM vendors a “Connect with Stripe” button in their dashboard, link their products to their connected account automatically at a default vendor share, and take each vendor’s rate from WCFM membership tiers or commission rules. Link a vendor to a Stripe account created outside Split Pay. In Reconcile or Guard mode, Split Pay blocks WCFM’s scheduled and order-status automatic withdrawals so vendors aren’t paid twice (manual withdrawals stay available), and can mark WCFM order lines paid once its transfer succeeds.
🍺 DOKAN SUPPLIER VENDOR TRANSFERS
Pay a second “supplier” vendor on the same sale while Dokan Stripe Express pays the listing vendor – a true three-way split from one payment. Split Pay can reuse vendors’ Dokan Stripe Express connections so they connect once, and gives Dokan vendors a Stripe Payouts page in their dashboard.
🌱 WEBSITE & PRICING
📕 DOCUMENTATION
💬 SUPPORT
Compatibility
- WooCommerce Bundles – Each bundle is split once, on its parent line, so nothing is transferred twice
- Advanced Product Fields & Name Your Price – Splits use the price the customer actually paid
- WPML, Polylang & WooCommerce Multilingual – Translated orders pay the vendor set on the original product
- WordPress Multisite – Supports multisite installations, including network activation
GAUCHO PLUGINS PORTFOLIO
- Payment Page
- Login for Stripe Customer Portal
- Gyta Buyback
- Version Info
- China Payments Plugin
- Blocked in China
- Speed in China
Third-party services
This plugin connects to the following external services.
Stripe (stripe.com) — Split Pay sends order, charge, transfer, refund and connected-account data to Stripe whenever it creates, retries or reverses a transfer, onboards or connects a vendor account, or syncs your connected accounts, using the Stripe keys you enter. Stripe Services Agreement and Privacy Policy.
Freemius (freemius.com) — used for PRO licence activation and updates. On the free plugin, diagnostic data (your name and email, plugin, WordPress and PHP versions, site language and URL, and optionally your plugin and theme list) is sent only if you opt in on the activation screen. With a paid licence, only the licence key, product and WordPress versions and the site URL are sent for activation and updates. Freemius Terms, Privacy Policy and data practices.