Platform vs Connected accounts#

Stripe Connect uses a two-tier account model. Understanding this model is key to understanding how Split Pay works.

  • Platform account — This is your Stripe account. It's the account connected to your Stripe gateway adapter (the official WooCommerce Stripe Payment Gateway, Payment Plugins for Stripe, or FluentCart's built-in Stripe module) that processes customer payments. When a customer checks out, the charge is created on your platform account, and Stripe deducts its processing fees from this account.
  • Connected accounts — These are Stripe accounts belonging to your vendors, suppliers, partners, or anyone else you need to send money to. They are linked to your platform through Stripe Connect. Each connected account has its own Stripe Dashboard, balance, and payout schedule.

Think of it this way: your platform is the hub, and connected accounts are the spokes. Money flows from customers into the hub, and your transfer rules determine how much flows out to each spoke.

Payment flow#

Here's what happens when a customer completes a purchase on your storefront (WooCommerce or FluentCart) with Split Pay configured:

Customer Pays
Stripe Platform Receives Payment
Stripe Fees Deducted
Split Pay Creates Transfer(s)
Connected Account(s) Receive Funds

Let's walk through a concrete example. Suppose a customer buys a $100 product, and you've configured Split Pay to transfer 70% to a vendor:

  1. Customer pays $100 at checkout via Stripe.
  2. Stripe charges $100 to the customer and places it in your platform's pending balance.
  3. Stripe deducts its processing fee (e.g., $3.20 for a 2.9% + $0.30 standard US fee) from your platform account.
  4. Split Pay creates a transfer of $70 (70% of the $100 product total) from your platform's pending balance to the vendor's connected account.
  5. Your platform keeps $26.80 ($100 − $3.20 fee − $70 transfer).

Stripe fees are always deducted from the platform account. Connected accounts receive the exact transfer amount you configure — Stripe does not deduct additional fees from the transfer itself. This is an important distinction from Direct Charges, where the connected account pays the fees.

The transfers API vs direct & destination charges#

Stripe Connect offers three ways to move money between accounts. Split Pay uses the Transfers API (also called "separate charges and transfers"). Here's how it compares to the other two approaches:

Approach Who processes the payment? Who pays Stripe fees? When is the split defined?
Transfers API (Split Pay uses this) Platform Platform After the charge succeeds — transfers can be created at any time
Destination Charges Platform Platform or connected account At the time of the charge — the split is defined in the charge request
Direct Charges Connected account Connected account At the time of the charge — customer pays the connected account directly

Why the transfers API?

The Transfers API is the most flexible approach for WooCommerce and FluentCart stores because:

  • Decoupled from the charge. Transfers happen after the payment succeeds, which means your e-commerce platform handles checkout normally. There are no changes to the customer-facing payment flow on either WooCommerce or FluentCart.
  • Multiple recipients. A single charge can fund transfers to multiple connected accounts — ideal for orders with products from different vendors.
  • Platform controls fees. Your platform absorbs Stripe's processing fees, so you have full control over your pricing and margin calculations.
  • Flexibility. Transfer amounts can be calculated dynamically based on product rules, percentages, fixed amounts, or custom logic via developer filters.

Because the platform pays Stripe's processing fees, you should account for those fees when setting your transfer percentages. For example, if you transfer 100% of the product price, your platform will lose money on every transaction equal to the Stripe fee.

Use cases#

The Transfers API is well suited for a variety of business models. Here are the most common scenarios:

Marketplace commission

You sell products on behalf of vendors and keep a commission on each sale. The vendor receives their share automatically after the payment is processed.

Example: You sell a concert ticket for $50. You want to keep a 15% commission and send the rest to the event organizer.

  • Customer pays: $50.00
  • Stripe processing fee (2.9% + $0.30): −$1.75
  • Transfer to organizer (85% of $50): −$42.50
  • Your platform keeps: $5.75 ($7.50 commission minus $1.75 in Stripe fees)

Notice that your effective commission is $5.75, not $7.50, because your platform absorbs the Stripe fee. Factor this into your commission rates when planning your pricing.

Vendor & supplier payouts

You sell your own products but need to pay a vendor or supplier a fixed amount per sale — for manufacturing, fulfillment, drop-shipping, or licensing.

Example: You sell a custom phone case for $35. The manufacturer costs $12 per unit, so you configure a fixed $12 transfer.

  • Customer pays: $35.00
  • Stripe processing fee: −$1.32
  • Transfer to manufacturer (fixed): −$12.00
  • Your platform keeps: $21.68

Partnerships & revenue sharing

You and a business partner co-run a store and split revenue. You can configure percentage-based transfers to divide the proceeds.

Example: You co-sell an online course for $200. Your partner created the content and receives 60%.

  • Customer pays: $200.00
  • Stripe processing fee: −$6.10
  • Transfer to partner (60% of $200): −$120.00
  • Your platform keeps: $73.90

Fundraising & donations

You accept donations or fundraising payments through WooCommerce and forward the funds to the receiving organization.

Example: A supporter donates $25. You transfer 100% to the nonprofit's connected account (absorbing the Stripe fee yourself as the platform operator).

  • Donor pays: $25.00
  • Stripe processing fee: −$1.03
  • Transfer to nonprofit (100% of $25): −$25.00
  • Your platform covers: −$1.03 (the Stripe fee)

Transferring 100% of the product price means your platform's Stripe balance will go negative by the amount of the processing fee. Make sure your Stripe account can cover this or adjust the transfer percentage to account for fees (e.g., 97% instead of 100%).

Region restrictions#

Stripe Connect transfers require your platform and connected accounts to be in the same country or region. However, Stripe supports cross-border transfers between the US, Canada, UK, EEA, and Switzerland. Transfers outside this corridor (e.g., US to Australia) will fail.

Split Pay automatically detects connected accounts in different countries and displays a warning on the Integrations tab (top-level Split Pay menu, 3.7.0+). See International Transfers for the full list of supported regions and workarounds.

Best fit for the transfers API#

The Stripe Transfers API — and by extension, Split Pay — works best in scenarios where:

  • Your platform processes the payment and then distributes funds to other parties.
  • You need to split a single payment across multiple recipients.
  • You want full control over how much each party receives, independent of Stripe fees.
  • You're paying vendors, suppliers, or partners rather than having customers pay them directly.

The Transfers API is ideal for vendor/supplier payout models where your platform is the merchant of record. If you need customers to pay connected accounts directly (and have those accounts pay Stripe fees), consider Stripe’s Direct Charges instead — but note that this approach is not supported by Split Pay, as it requires a fundamentally different checkout integration.

Now that you understand how transfers work, you're ready to configure your first transfer rule.

How to Transfer Payments