payinOPERATIONS MANUAL

Latest articles

Stripe Checkout mixed carts: a setup fee belongs on the first invoice, not every renewal

Combine a recurring service and one-time setup fee in subscription-mode Checkout, distinguish initial charges from renewals, and validate separate line-item limits.

Published; sources checked:

New Stripe Checkout subscriptions with fixed recurring Prices and one-time setup charges; no trials, custom billing anchors, existing-item edits, zero-total fulfillment or account eligibility claims. Public documentation research, not executed account tests.

1. One checkout does not mean every item renews

A public developer question describes a $10 monthly pass plus a $5 one-time item: the buyer should pay $15 initially and $10 each following month. The author asks whether subscriptions and regular items must be kept in separate carts.[3] That is concrete qualitative demand, not evidence of how frequently merchants encounter the issue.

Stripe Checkout supports passing one-time and recurring Prices through line_items. If the Session includes at least one recurring item, use mode=subscription.[1] The important distinction is each Price's billing type, not whether the customer purchased everything together. This guide addresses a new subscription with a setup charge, not changes to existing subscription items or free-order fulfillment.

2. Give the setup charge its own one-time Price

Stripe's documented setup-fee pattern creates a product and one-time Price for the fee before creating the Checkout Session. Its example includes both the recurring Price and the one-time Price in the same line_items array, each with a quantity, and selects subscription mode.[2] The migration guide also permits creating the one-time item inline.[2]

Recommended implementation review: identify the recurring service and setup work separately in your catalog. Resolve approved Price identifiers on the server and check that the setup Price is genuinely one-time. Calling a recurring Price “setup fee” is not a substitute for selecting the correct billing type. For a fixed setup fee, review a quantity of one as an explicit commercial decision.

3. Explain the initial invoice separately from renewals

Stripe states that line items with one-time Prices appear on the initial invoice only.[1] Therefore, including a setup Price in this new-subscription Checkout cart does not make that fee a recurring subscription charge. The recurring portion follows the selected recurring pricing; the one-time portion belongs to the initial invoice.[1][2]

Illustrative calculation: with one $30 monthly service and one $90 setup charge, no trial, no discounts, no tax and no billing adjustments, the initial subtotal is $120 and the unchanged monthly service subtotal afterward is $30. This is arithmetic illustrating the documented distinction, not an executed Stripe payment or a prediction of a final invoice total.

Recommended customer wording should distinguish “initial service plus setup” from “ongoing monthly service.” Do not present the first total as the recurring amount. Keep trials, custom billing anchors and later subscription changes outside this simple example; they require their own timing and invoice review.

4. Count recurring and one-time lines independently

In subscription mode, the documented maximum is 20 line items with recurring Prices and 20 with one-time Prices.[1] These are separate category limits, not one interchangeable allowance of 40. A proposed cart with 21 recurring lines and one setup line exceeds the recurring limit even though its total line count is below 40.[1]

The 100-line maximum documented for payment mode does not apply to a subscription-mode mixed cart.[1] Recommended validation should count entries in each category before creating the Session. Do not confuse line count with the number of purchased units, or change the mode simply to reach a larger limit. Review an oversized catalog selection before opening Checkout rather than leaving the customer to discover a configuration failure.

5. Optional items do not provide extra capacity

If optional items are offered, Stripe applies the category limits to the combined line items and optional items. There is also a maximum of 10 optional items per Session.[1] For example, 19 recurring lines plus two recurring optional items exceed the documented recurring allowance; unused one-time capacity does not repair that configuration.[1]

Recommended scope for an initial implementation is a fixed recurring service and fixed setup fee. Add optional offers only after the same count validation covers them. This guide does not establish eligibility for every Checkout interface, payment method, currency or merchant country.

6. Review the billing promise before release

Proposed sandbox checks should compare the approved cart, initial invoice and subsequent recurring invoice. Confirm that the setup fee appears initially but is absent from the unchanged renewal, and that recurring service lines retain the approved amounts. Also check category boundaries and reject over-limit carts before Session creation. These are recommended acceptance checks, not tests performed for this article.

Record the selected Price identifiers, billing types, quantities and expected initial versus recurring subtotals for support review. Sources were retrieved on September 23, 2026; their publication and update dates were not established. The community question supports demand only; official documentation supports behavior. No live account was accessed, no regional availability was established, and no PayIn billing capability is implied.

Sources and dates

Official documentation supports behavior; community questions demonstrate qualitative demand only. Retrieved 2026-09-23; retrieval is not publication. Documentation research, not live-account testing, a PayIn feature claim or financial advice. Regional availability and account eligibility must be checked separately.

More guides

All guides