FluentCart
Use Split Pay with FluentCart and its built-in Stripe gateway to split FluentCart orders between multiple Stripe Connect accounts. First-class FluentCart support was added in Split Pay 3.7.0.
Overview#
From Split Pay 3.7.0 onward, FluentCart is supported as a first-class e-commerce platform alongside WooCommerce. You do not need WooCommerce installed to use Split Pay with FluentCart; the plugin works with FluentCart standalone.
When a FluentCart order is paid through FluentCart’s built-in Stripe gateway, Split Pay reads the order, looks up the transfer rules you have configured (global or per product), and creates Stripe Transfers from your platform balance to the connected accounts you have selected. Connected accounts are shared with WooCommerce if both platforms are present, so you only need to sync them once.
Compatibility#
- Split Pay: v3.7.0 or later.
- FluentCart: a version that exposes the
FLUENTCART_VERSIONconstant and the supported built-in Stripe classes and hooks. Split Pay detects FluentCart automatically once activated. - Stripe gateway: FluentCart’s built-in Stripe payment method. Split Pay does not require the WooCommerce Stripe Payment Gateway when using FluentCart.
- WordPress: 6.1 or later.
- WooCommerce coexistence: FluentCart and WooCommerce can run side by side on the same site. Split Pay will register both integrations and process orders from whichever platform the customer used.
Setup#
Install and activate FluentCart. Configure your FluentCart store, products, and tax rules as you normally would.
Connect FluentCart to Stripe. Go to FluentCart → Settings → Payments → Stripe and connect FluentCart to your Stripe platform account. Repeat the connection independently in both test and live modes if you plan to use both.
Install and activate Split Pay. You can install Split Pay before or after FluentCart — Split Pay will pick FluentCart up automatically.
Open the Integrations tab. In the WordPress admin, click Split Pay, then Integrations; Platform Status is the default landing tab. Confirm that the FluentCart card shows Active and that the FluentCart built-in Stripe gateway row appears beneath it. See Integrations Tab for what the cards mean.
Confirm FluentCart’s effective platform key. Split Pay uses the FluentCart Advanced key first. If it is empty, Split Pay uses the first same-mode key in its detected platform-key chain: the saved Split Pay main/legacy key first, followed by compatible configured gateway keys. Save a FluentCart override when it settles into a different Stripe platform or when you need to make that source explicit. Confirm the exact account and mode under Connect Status; see Integrations Tab.
Verify FluentCart’s webhook in FluentCart. You don’t need it for Split Pay’s original vendor transfer, but it drives refund/dispute reversal and subscription renewals. Split Pay’s optional Check Woo webhook on key button uses only the FluentCart Advanced key and checks the official WooCommerce Stripe URL; it does not validate FluentCart’s own endpoint.
Sync connected accounts. Open Connect Status, click Refresh from Stripe, and confirm each intended recipient is ready in the same mode. These accounts are shared across integrations on this site.
Configure transfer rules. Open Global Transfer Settings to set global transfer rules, or open a FluentCart product’s edit screen to set per-product transfer rules. The Split Pay product panel is added to FluentCart product edit screens by the FluentCart integration.
Run a test order. Place a test order through FluentCart in Test mode. Match the paid order’s Split Pay activity to the Stripe Test transfer. PRO users can also confirm the row under Split Pay → Transfers with FluentCart in the Source column.
Repeat for live mode when you are ready to ship. Test and live modes are configured independently end-to-end.
The Transfers tab adds a Source column (added in 3.7.0) so you can filter the log by FluentCart vs WooCommerce when both platforms are active on the same store.
Shipping transfers#
PRO only. FluentCart supports global and product-level shipping rules. Each configured percentage shipping leg uses that percentage of the full order shipping total; each configured fixed shipping leg uses the saved amount, capped at that total. The legs are calculated independently rather than dividing one shared shipping pool, so several configured shipping legs can add up to more than the shipping collected. FluentCart does not preflight the complete plan against the source charge; if the legs over-allocate it, Stripe can reject a later leg after earlier legs have succeeded. Split Pay saves shipping as a separate transfer leg, so its result and any recovery stay separate from the product transfer.
A FluentCart renewal child order can have no separate shipping total even when shipping was folded into the recurring item price. In that case, Split Pay cannot create a distinct shipping leg for that renewal.
Automatic transfer recovery in 3.8.4#
FluentCart does not have a manual Retry Split Pay Transfers order action. Split Pay saves and reconciles each transfer leg automatically:
- A proven successful leg is preserved and never sent again.
- A leg proven not to have succeeded can receive a fresh attempt identity and retry automatically.
- If Split Pay cannot safely match the saved plan, attempt, and Stripe result, it sends nothing and leaves the order for manual review.
This recovery is per leg, so one failed recipient does not cause a successful recipient to be paid twice.
Vendor onboarding#
You have two options for getting vendors connected on a FluentCart store:
- Admin-managed — create connected accounts in your Stripe Dashboard, then assign them to FluentCart products in the Split Pay product panel. See Connecting Vendor Stripe Accounts.
- Self-service — let vendors register and connect their own Stripe accounts using the
[split_pay_vendor_connect]shortcode on a public page. The base shortcode is platform-agnostic and works whether you run WooCommerce, FluentCart, or both. See the shortcode reference.
Automatic refund and chargeback reversal#
From Split Pay 3.8.1 onward, FluentCart refunds and chargebacks automatically reverse vendor transfers:
- Refunds. A full refund reverses each vendor’s transfer in full. A partial refund reverses each vendor’s share of that refund amount. Every outcome is recorded in the order activity; PRO users can also review the Transfers tab.
- Chargebacks (disputes). When a customer opens a chargeback and Stripe withdraws the funds, Split Pay reverses each vendor’s share of the disputed amount. A dispute inquiry (where no funds have been withdrawn yet) only adds an order note; if the inquiry escalates and is lost, transfers are reversed when the dispute closes. One dispute can never reverse the same transfers twice, even when Stripe delivers multiple events for it.
FluentCart’s Stripe webhook must be configured. These reversals depend on FluentCart’s own Stripe webhook (set up in FluentCart → Settings → Payments → Stripe) — FluentCart receives the refund and dispute events from Stripe and re-dispatches them to Split Pay. If that webhook is missing, refunds and chargebacks will not reverse vendor transfers automatically.
Limitations and known issues#
- One Stripe platform per FluentCart install. Split Pay must resolve the same Stripe platform account FluentCart charges for the corresponding mode. If you switch FluentCart’s Stripe connection to a different platform, save an explicit matching FluentCart Advanced key and use Refresh from Stripe in Connect Status.
- Test and live are independent. Connecting FluentCart to Stripe in test mode does not automatically configure live mode. You must complete the full setup for each mode separately.
- Three 3.8.4 options are WooCommerce-only. Sequential global product splits, exact Stripe-fee allocation, and Delay Transfers do not change FluentCart calculations or timing.
- Refund and dispute reversal depends on FluentCart’s Stripe webhook. See Automatic refund and chargeback reversal above and Refund Handling.
- Stripe still decides transfer eligibility. Minimum amounts, currencies, capabilities, and country combinations are enforced at runtime. See International Transfers.
- Hooks have platform-specific scopes. Filters such as
spp_product_data_tab_classesare WooCommerce-only. Thespp_fc_order_transferable_itemsandspp_transfer_metadatafilters and thespp_before_process_transfers/spp_after_process_transfersactions are FluentCart-only. The product-save filters documented as platform-agnostic run for both platforms. See Developer Filters.
Troubleshooting#
- FluentCart card shows Inactive or Not found. Confirm FluentCart is installed and activated. Open FluentCart → Settings → Payments → Stripe and verify Stripe is connected in the mode you are using.
- Test order completes but no transfer appears. Under Connect Status, confirm the exact Test platform account, key, and connected recipient. Then check that FluentCart recorded the order as paid through its Stripe method and read the latest Split Pay order note. Transfers are order-driven — no webhook is required for the original transfer.
- Transfers Tab is missing the Source column. The Source column was added in 3.7.0. Make sure you are running Split Pay 3.7.0 or later.