Skip to content

Stripe Billing problem

Why did Stripe charge a customer after they cancelled?

A customer says they cancelled, then an email from Stripe says they paid again. Now they want their money back and they may file a dispute. Stripe only stops billing when the subscription is cancelled in Stripe, and even then a final charge can go out. Here is what Stripe’s docs say, in their words, what to check, or hand it over at a fixed price.

Rather hand it over? App Fix Ticket: One reproducible bug in an existing mobile or web app, diagnosed and fixed.

Full refund if Simon can’t take it on once he sees your project, or if you cancel before work starts. Refund terms.

Short answer

Open the customer in the Stripe Dashboard and check three things: that the subscription itself shows as canceled, that the customer has no second active subscription, and whether the charge is a final invoice for prorations or pending invoice items. If the cancel only happened inside your app, Stripe never heard about it. Refund the payment from the Payments page, then fix the cancel flow so it cancels in Stripe.

Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.

Why the customer was charged, and the fix

  1. 01

    The app cancelled, but Stripe never did

    An app can mark the account as cancelled in its own database and hide the paid features. If the code never cancels the subscription in Stripe, Stripe keeps billing on schedule. Simon checks the cancel button’s code path end to end and confirms the subscription status in Stripe changes.

  2. 02

    The customer has a second subscription

    “Your customer has another active subscription” Stripe, Cancel subscriptions

    A customer who signed up twice, or upgraded by starting a new plan, can have two subscriptions. Cancelling one leaves the other billing. Check the customer’s Subscriptions list in the Dashboard. Stripe also says pending invoice items can still be billed while another subscription is active.

  3. 03

    A final invoice picked up leftover charges

    “The subscription cancellation includes a final invoice” Stripe, Cancel subscriptions

    Cancelling normally stops new invoices. But if the cancellation includes a final invoice, or the customer has another active subscription, one-off items still waiting to be billed (pending invoice items) can be charged. To stop pending items being billed, delete them.

  4. 04

    Cancelled at period end, with prorations still waiting

    “If you set the subscription to cancel at period end, any pending prorations are left in place and still collected at the end of the period.” Stripe, Cancel subscriptions

    Cancelling at the end of the period lets the customer keep what they already paid for. But prorations already created, for example from a plan change earlier in the period, are still charged when that period ends.

  5. 05

    A future cancel date created a prorated charge

    “Setting a future cancel_at date can shorten a renewal period and create a proration debit.” Stripe, Prorations

    Setting the subscription to end on a chosen date, rather than at the end of the period, changes the length of the last period, and Stripe can bill for that part as a proration.

Checked against the vendor’s docs on : Stripe docs: Cancel subscriptions; Stripe docs: Prorations; Stripe docs: Refunds.

Rather hand it over?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
A buyer in the United States, July 2022. Shopify on Fiverr
All 127 Fiverr reviews

Related: Stripe customer charged twice · Stripe subscription canceled, but access is wrong · Stripe dispute or chargeback · Stripe customers not getting receipts

Questions

More on this error

How do I refund the customer?

Find the payment on the Payments page, click the overflow menu to the right of it and select Refund payment. Stripe issues a full refund by default, and you can enter a smaller amount for a partial refund. Stripe says its processing fees from the original payment aren’t returned.

Should a cancel take effect now or at the end of the period?

Stripe cancels immediately by default. Cancelling at the end of the billing period lets the customer use the time they already paid for. Pending prorations are still collected at the end of that period, and after that Stripe generates no more invoices for the subscription. A second active subscription keeps billing separately.

Can I refund when I cancel in the Dashboard?

Yes. Stripe lets you refund a prorated amount, refund the last payment in full or give no refund. If you set a custom cancel date, the Dashboard doesn’t offer a refund, so refund the payment separately.

Can you fix it for me?

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

A different error?

Describe it and get a written quote

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.