What are product-level transfers?

Product-level transfers let you override the global transfer setting for a specific product. Instead of every product using the same transfer rule, you can assign a unique transfer amount, transfer type, or even a different connected Stripe account to individual products.

Products without a product-level transfer configured will continue to use the global transfer setting. You only need to set product-level transfers where the global default doesn't apply.

Example: A store has a 10% global transfer to Vendor A. However, one premium product is sourced from Vendor B and requires a 25% commission. By setting a 25% product-level transfer on that product (pointing to Vendor B's Stripe account), only that product's sales go to Vendor B at 25%. All other products continue to transfer 10% to Vendor A.

How it fits the override hierarchy

Product-level transfers sit in the middle of the override hierarchy: they override the global transfer for that product, a variation-level rule (if set) overrides them, and products without one fall back to the global transfer.

How to configure

To set a product-level transfer on a specific product:

In your WordPress admin, go to Products and Edit the product you want to configure.

Clicking Edit on a WooCommerce Product
Clicking Edit on a WooCommerce Product

Scroll down to the Product Data panel and click the Split Pay Plugin tab.

Split Pay Plugin Product Settings
Split Pay Plugin Product Settings

In the Connected Account ID field, enter the Stripe account ID of the recipient for this product (e.g., acct_1A2B3C4D5E). This can be the same as or different from the global account.

Select the Transfer Type:

  • Percentage — Enter a value between 1 and 100.
  • Fixed Amount — Enter a specific dollar amount to transfer per unit sold.
Product-Specific Split Transfer Settings
Product-Specific Split Transfer Settings

Enter the Transfer Value.

Click Update to save the product.

Clicking Update to Save
Clicking Update to Save

You do not need to set a product-level transfer on every product. Any product without a product-level setting will automatically use the global transfer. Only configure products that need a different amount, type, or recipient.

Using different connected accounts

One of the most powerful aspects of product-level transfers is the ability to route payments to different vendors on a per-product basis. Each product can specify its own connected Stripe account, so different products can pay different people.

This is ideal for marketplace-style stores where each product is supplied by a different vendor.

Splitting to Multiple Connected Accounts
Splitting to Multiple Connected Accounts

Fixed amount behavior

Fixed amounts behave the same at the product level as globally — transferred per line item and capped at the line price. See Transfer types.

Practical scenarios

Scenario 1: different commission rates

Your store sells both in-house products and third-party products. In-house products use the 10% global transfer, while third-party products need a 30% commission to the supplier. Set a 30% product-level transfer on each third-party product.

Scenario 2: different vendors

Your store lists products from Vendor A and Vendor B. The global transfer sends 20% to Vendor A. For Vendor B's products, set a product-level transfer with Vendor B's Stripe account ID and the appropriate percentage.

Scenario 3: fixed fee per product

A photographer sells prints at various prices but pays a flat $3 production fee per print to their print partner. A $3 fixed product-level transfer handles this regardless of the print size or price.

Removing a product-level transfer

To remove a product-level transfer and revert to the global setting:

  1. Edit the product and go to the Split Pay Plugin tab.
  2. Clear the Connected Account ID and Transfer Value fields.
  3. Click Update.

The product will immediately fall back to using the global transfer setting.

Bulk editing: If you need to set product-level transfers for many products at once, consider using the Bulk Editor to save time.