Resolved in Split Pay 3.7.3. Both the legacy gateway-webhook path and the new namespaced WCOrderAdapter now derive the unit price from the order line’s subtotal, so percentage transfers apply to the customer-chosen amount. Update if you’re on 3.7.0–3.7.2.

Known compatible plugins#

  • WPC Name Your Price for WooCommerce — tested with the customer-chosen line-subtotal flow.
  • WooCommerce Name Your Price (the official extension).
  • Deposit plugins that override the cart-line price for partial-payment installments.
  • Donation plugins that let the customer enter an arbitrary contribution amount.

The fix is generic — it applies to any plugin that writes the customer-chosen price to the WooCommerce order line subtotal. If you use a plugin we haven’t listed here and you confirm the percentage transfer is hitting the customer-chosen amount on a 3.7.3+ test order, please let us know via support and we’ll add it to this list.

Why it broke in 3.7.0–3.7.2#

The 3.7.0 release introduced a new namespaced WCOrderAdapter (part of the modular adapter architecture). The adapter pulled the unit price from the WooCommerce product object ($product->get_price()) instead of from the order line. For Name Your Price-style plugins, the product object still holds the configured base price (often a $1 placeholder), so the percentage was applied to that placeholder.

The visible symptom was dramatic: an 80% split on a $100 customer-chosen-price order would transfer only $0.80 instead of $80. The customer was charged correctly — the gateway saw the real $100 — but Split Pay’s transfer math was based on the wrong unit price.

The 3.7.3 fix#

Both the legacy gateway-webhook code path and the new namespaced WCOrderAdapter now compute the unit price from the WooCommerce order line item:

  • Source: $item->get_subtotal() / max( $item->get_quantity(), 1 )
  • Effect: percentages use the chosen-price line subtotal instead of the product catalog price. A coupon reduces that base only when Adjust transfer amounts for coupons is enabled; see Coupon Handling.

A regression test — TransferPercentParsingTest — locks the new behavior so the bug can’t silently return.

Upgrade checklist#

  1. Update Split Pay to 3.7.3 or later (see v3.7.3 changelog).
  2. Place a test order using a Name Your Price product with a chosen price clearly different from the configured base price.
  3. Open the Transfers tab and confirm the transfer amount equals chosen_price × configured_percentage.
  4. If the transfer amount still looks wrong on 3.7.3+, open a support ticket with the order ID, the chosen price, the configured percentage, and the actual transfer amount.

What about orders placed during 3.7.0–3.7.2?#

Past successful transfers are not resized. For a failed or missing leg, inspect the exact order and Stripe records and use Retry Split Pay Transfers only when the current destination and amount still safely match the saved successful-transfer evidence. If they do not match, reconcile the order with support or Stripe before making any manual transfer.

See also#

Split Pay 3.7.3 changelog Common Errors — Percentage transfers are 100× too small