A wedding photographer charges €4,800 for a full-day shoot. The standard arrangement is 30% deposit at booking, 40% one month before the wedding, 30% the morning of. Three payments, three months apart, same client. The natural answer in Stripe is "create a payment plan." The reality: Stripe's payment plans require the customer to return to a payment page and re-enter card details for each installment. There is no auto-charge on the saved card. The photographer either chases the client three times, asks them to set up a subscription that doesn't really fit, or rebuilds the entire flow with custom Stripe Billing logic. Most photographers pick option one and absorb the chasing.
This is the single most common Stripe limit we hear about from service businesses, course creators, and rental operators — anyone selling something where the natural payment shape isn't "all of it, right now." This post explains exactly what Stripe Invoicing's payment plans do (and don't) do, the four real workarounds, and the auto-charging installment flow that actually runs unattended.
Key Takeaways
- Stripe Invoicing supports partial payments — but only as manual checkpoints. Customers must come back to the payment page each time
- Stripe payment plans don't auto-charge with saved card details. There's no "Smart Retries"-style retry for installments
- The closest native auto-charge option is a subscription with a fixed schedule — but that doesn't fit one-off "30% / 40% / 30%" patterns
- Third-party Stripe partners (Paythen, Bumper, the Invoice Installment Plans app) add auto-charge on top of Stripe — but they layer on extra fees
- PayRequest treats deposits and installments as native — set the schedule once, the platform charges the saved card automatically on each due date
What Stripe Invoicing's Payment Plans Actually Do
Stripe added payment plans to Invoicing in 2024. The official feature lets you split an invoice into multiple due dates and accept partial payments toward the total. The feature works — but with two constraints that surprise most users:
First, payment plans don't auto-charge customers with saved card details. Even if the customer paid the first installment with a card, Stripe will not automatically run the second installment against that card on the next due date. The customer has to return to the invoice page and pay manually each time.
Second, payment plans can only be marked as paid (outside Stripe) for the entire remaining amount due — not for a partial amount. So if a customer wires you 50% of the second installment, you can't easily reflect that as a partial credit; you mark the whole plan paid or leave it open.
Both constraints are documented but quietly. The Stripe docs say: *"Payment plans don't auto-charge customers with saved payment details. Customers must return to the payment page to make subsequent payments."*
That sentence is the entire problem.
Why This Matters
A few common scenarios where Stripe's payment plans fall short:
Photographers, DJs, venues, planners — most operate on a 30/30/40 or 25/25/25/25 schedule across 6–18 months. Customers are excited at booking, less responsive a year later. The "you have to come back and pay" mechanic loses 10–20% of installments to forgetfulness, which then triggers an awkward chase email and reduces customer experience right before the wedding day.
A 12-week coaching program at €2,400 sells dramatically better as "€600/month for 4 months" than as "€2,400 upfront." With Stripe alone, that means either: a 4-month subscription (which keeps billing past month 4 unless you remember to cancel), or a payment plan that requires the customer to manually pay every 30 days (which they often forget).
A holiday rental takes a 30% deposit at booking, 70% on arrival. The deposit pattern fits a pre-authorization hold; the final payment fits a saved-card auto-charge. Stripe handles the hold via Mollie's extended authorization (or via Stripe's own 7-day default), but the second-payment auto-charge is the same payment-plan limitation.
Agency contracts often run "33% on signing, 33% at midpoint, 34% on delivery." Each milestone is a re-engagement with the client to pay. Manual chase is the default.
The Four Workarounds (and Their Real Costs)
Setting aside the manual-chase status quo, four real options exist. Each has trade-offs.
You set up a subscription that bills every 30 days for the installment amount, then cancel after the right number of cycles. This auto-charges the saved card and generally works for evenly-divided plans (e.g., €600 × 4 = €2,400).
When this works: Evenly-spaced installments where the amount per cycle is the same. Coaching programs with monthly-equal billing. Course payment plans.
Where it stops working: Uneven schedules (30% / 40% / 30%), variable deposit-then-final patterns, plans where the start date is months in the future. Subscriptions also require careful cancellation logic — forget to cancel and you bill the customer indefinitely.
Several Stripe partners add auto-charge on top of Stripe payment plans. Paythen is the most common — it lets customers pick "pay 20%, 50%, or in full" at checkout, then auto-charges the rest on schedule.
When this works: Direct-to-consumer purchases where the customer is comfortable with a third-party-branded payment flow. Course creators, coaches, high-ticket DTC products.
Where it stops working: B2B billing where the customer doesn't want to authenticate through a third party. Service businesses where the schedule is custom per client. Plus there's an extra platform fee on top of Stripe's transaction cost.
If you have an engineer, the Stripe Billing API supports scheduled invoice generation, saved payment methods (`SetupIntent`), and the `off_session` charge flag for unattended billing. You build the schedule, store the saved payment method, fire `PaymentIntent` calls on each due date, handle 3D Secure re-auth where required.
When this works: Companies with in-house Stripe expertise and high enough volume to justify the engineering investment. SaaS platforms billing complex contracts.
Where it stops working: Anyone without an engineer. The implementation looks small at first; the edge cases (3DS challenges on later charges, SCA in Europe, card expiry mid-plan, partial refund accounting) consume time fast.
A platform like PayRequest treats deposits and installments as first-class. You set the schedule when creating the invoice — say, "30% on signing, 40% on delivery, 30% on final review" — and the platform stores the customer's saved payment method, then charges automatically on each due date. If a charge fails (insufficient funds, expired card), the dunning system sends multi-channel reminders to update the card and retries.
When this works: Service businesses (agencies, photographers, consultants), course creators, rental operators — anyone with custom installment schedules per client. Flat €20/month covers the whole platform; Stripe still processes the cards.
Where it stops working: Pure SaaS at scale where Stripe Billing's native subscription model already fits.
A Real-World Comparison
Three scenarios run through each option, with the actual customer experience:
| Scenario | Stripe alone | Stripe + Paythen | PayRequest on Stripe |
|---|---|---|---|
| Wedding shoot — 30/40/30 over 12 months | Manual reminders 3× | Auto-charge with extra fee | Auto-charge included |
| Course — €600/mo × 4 | Subscription that needs cancelling | Auto-charge with extra fee | Auto-charge with auto-stop after 4 |
| Agency milestones — 33/33/34 | Three separate invoices, manual chase | Auto-charge with extra fee, B2B-awkward UX | Auto-charge in branded portal |
| Rental — 30% deposit + 70% on arrival | Deposit via Stripe + manual final | Same | Hold + auto-charge final on arrival date |
| Custom B2B contract — 5 milestones over 18 months | Manual every time | Limited custom scheduling | Set once, auto-charges through 18 months |
The pattern is consistent: Stripe alone is fine for one-off charges. The moment installments enter the picture, every flow benefits from a layer that auto-charges on schedule.
How PayRequest Handles Installments on Top of Stripe
The integration is the same as the rest of PayRequest:
- Connect Stripe via OAuth — no API keys, 3 minutes
- Create an invoice with a schedule: "30% on Jun 1, 40% on Jul 1, 30% on Aug 1"
- Send the payment link — the customer pays the first installment, which also stores their card via Stripe's `SetupIntent` flow
- PayRequest charges the saved card automatically on Jul 1 and Aug 1 — no customer action required
- If a charge fails, dunning reminders send via email and SMS until the card is updated
- Each installment's status is visible in the customer portal — both sides see the schedule, the payments made, and what's coming up
The fees are unchanged: Stripe's standard processing rate (1.5% + €0.25 in EU for cards). PayRequest takes 0% of the transaction. The €20/month covers the platform.
When Stripe Alone Is Still Enough
If your installments are small in number, evenly spaced, and you're comfortable using subscriptions for non-subscription billing, Stripe alone can work. A coach running monthly-billed cohorts, a SaaS billing annual-vs-monthly toggles, an e-commerce store offering "3 monthly payments" via Klarna — all fit Stripe's native model fine.
The crossover point is when you're handling custom schedules per client, more than five active payment plans at a time, or any deposit-plus-final pattern. That's where the manual return-to-pay flow becomes a real cost in lost installments and chase emails.
Frequently Asked Questions
The questions below come from real PayRequest support tickets and "People Also Ask" search data on Stripe payment-plan topics.
Auto-Charge the Plans, Stop the Chase
Stripe payment plans solve creating partial-payment invoices. They don't solve the harder problem: actually getting the second, third, and fourth installment auto-charged without the customer manually returning. For service businesses, course creators, and rental operators billing 5+ active plans, the gap is where money leaks.
Try it free at PayRequest — connect Stripe in 3 minutes, set your first installment schedule, and the platform handles the rest. For more on the Stripe limits this is part of, see the Stripe Payment Link Limitations pillar and the security-deposit guide.
