Two ChatGPT charges hit the same card within a few days of switching plans or upgrading (Plus to Pro, or Plus to a Business/Team workspace). The usual cause is overlapping subscription windows, a paid-via-Apple subscription colliding with a paid-via-web one, or a pending authorization that will drop on its own — not a true duplicate charge. Before you dispute anything with your bank, confirm where each charge came from and whether one is just a temporary hold.
Fastest fix (as of June 2026): open the receipt for each charge, match the legitimate one to the subscription shown in chatgpt.com → Settings → Account, cancel the duplicate at its source (Apple in iPhone Settings, web at chatgpt.com), then request a refund for the duplicate through the chat widget at the bottom-right of help.openai.com (signed in with the charged account). OpenAI treats duplicate and unauthorized charges as billing errors and typically refunds them in 24–48 hours; eligible refunds settle to the card in 5–7 business days. Apple-side charges must be refunded by Apple at reportaproblem.apple.com, not OpenAI.
Which bucket are you in?
Match your two charges to a row before you do anything. Most “double charges” are one of the first two rows, and three of the five resolve without a refund request at all.
| What you see | Most likely cause | Real duplicate? | First action |
|---|---|---|---|
| One charge via Apple, one via web, both “Posted” | Web + App Store subscriptions both active | Yes (two live subs) | Cancel one source, refund the overlap |
| Two web charges a few days apart after an upgrade | Proration on a plan switch (Plus → Pro / Business) | Usually no | Wait for credit line, then check |
| One “Pending” + one “Posted”, same amount | Failed-then-retried card auth | No | Wait 5 business days, the pending drops |
| Two charges, different receipt emails | Second person used the same card | No (two accounts) | Identify the other account |
| USD amount + a converted local amount | FX authorization artifact | No | Wait for settlement |
Common causes
1. Web subscription and App Store subscription running side by side
Buying ChatGPT inside the iOS app routes payment through Apple, which OpenAI cannot see, manage, or cancel from its own dashboard. If you also kept a web subscription active, both renew independently and you pay twice. (Apple also adds a markup, so the App Store price is usually a few dollars higher than the web price.)
How to judge: iPhone → Settings → tap your name → Subscriptions. If “ChatGPT” is listed and active there while chatgpt.com → Settings → Account also shows a paid plan active, you have two parallel subscriptions.
2. Upgraded mid-cycle and saw the proration charge
Switching plans mid-cycle (Plus → Pro, or Plus → a Business/Team workspace) takes effect immediately and charges a prorated amount for the remainder of the current cycle. A Business/Team workspace is also a separate Stripe subscription from individual Plus. The unused Plus days are credited, but the credit often lands on the next invoice rather than as an instant refund — so the statement shows the new charge before the credit appears.
How to judge: chatgpt.com → Settings → Account → Manage subscription opens the Stripe-hosted billing portal; check the invoice history for a “credit”/“proration” line, or for a Business/Team workspace check the workspace Settings → Billing.
3. Card declined once, retry succeeded — but both show on the statement
If the first charge attempt soft-declined (insufficient funds, 3DS timeout) and Stripe retried 24 hours later, the bank may show two “pending” lines. One will drop off after 3-5 business days.
How to judge: Look at the statement — are both lines “Pending” or one “Pending” + one “Posted”? Two pendings usually means one will void.
4. Family member or teammate signed up on the same card
A second household member created their own ChatGPT account and entered the same card. OpenAI treats them as independent customers.
How to judge: The two charges have different descriptors, or the two OpenAI receipt emails are addressed to different account emails. Check your inbox for two distinct OpenAI receipts.
5. Currency conversion artifact
Cards billed in a non-USD currency sometimes show the original USD authorization plus the converted local amount as two separate lines until settlement.
How to judge: Ask your bank or look at the FX rate — if the two amounts roughly match after conversion, only one will post.
Before you start
- Pull the last 60 days of card statements covering ChatGPT / OpenAI / Apple charges; screenshot each line.
- Log into
chatgpt.com → Settings → Accountand note the active plan and renewal date shown. - Check iPhone Settings → tap your name → Subscriptions for any ChatGPT entry, even if you do not remember subscribing there.
Information to collect
- Exact charge dates, amounts, currency, descriptor text, and last-4 of card for both charges.
- Receipt emails from
ChatGPT/ OpenAI (sender typically shows asOpenAI) or, for Apple charges,no_reply@email.apple.com— keep the receipt ID / order ID. - Current active plan shown in
chatgpt.com → Settings → Account. - Whether the upgrade / switch happened mid-cycle and what tier you switched from.
- The Apple Order ID if one charge came via the App Store (in the Apple receipt email).
- Whether anyone else (family, teammate) has access to the same card.
Step-by-step fix
Step 1: Identify which charge is the “duplicate”
Open both receipts side by side. The legitimate one matches your current active plan in chatgpt.com → Settings → Account (same tier, same renewal date). The other is either an old subscription you forgot to cancel, an Apple-side subscription, or a temporary auth that will drop.
If both receipts show the same plan and amount but different dates, you almost certainly have a web + Apple overlap (row 1 of the table above).
Step 2: Cancel the duplicate at its source
- App Store side: iPhone → Settings → tap your name → Subscriptions → ChatGPT → Cancel Subscription. Apple cancels at the next renewal; you keep access through the paid period.
- Web side (individual plan):
chatgpt.com → Settings → Account → Manage subscription(this opens the Stripe-hosted billing portal) → Cancel Plan → confirm. Access stays until period end. - Business/Team side: open the workspace, then Settings → Billing → cancel the workspace. Only the workspace owner/admin can do this.
Cancel the duplicate, not the one you actually want to keep. If unsure, cancel both, then re-subscribe on the side you prefer after one billing cycle. Cancel at least 24 hours before the next billing date so you do not get charged again first.
Step 3: Request a refund for the duplicate / overlapping period
For web (OpenAI/Stripe) charges, open help.openai.com signed in with the account that was charged, then click the chat/message widget at the bottom-right and ask for a refund of the duplicate. There is no separate “Request refund” form anymore — the chat assistant collects the details and routes billing-error cases. As of June 2026 OpenAI treats duplicate, double, and unauthorized charges as billing errors that always qualify, and usually resolves them within 24–48 hours; an approved refund then settles back to the card in 5–7 business days. General “I forgot to cancel” refunds are case-by-case and roughly within 14 days of the charge (EU users get a 14-day window by law; brand-new subscribers often have a short 48-hour window).
Have this ready to paste into the chat (it speeds up the agent):
Reason: Duplicate charge after a plan switch.
Account email: your-email@example.com
Charge 1: 2026-05-15, $20.00, descriptor "OPENAI *CHATGPT" (the one I intend to keep)
Charge 2: 2026-05-17, $20.00, descriptor "OPENAI *CHATGPT" (the duplicate to refund)
Receipt IDs: <id 1> and <id 2>
I switched plans on 2026-05-17 and was charged twice on the same card.
Please refund Charge 2 (or apply a proration credit on the next invoice).
Step 4: For Apple-side charges, file via Apple
OpenAI cannot refund an App Store charge — only Apple can. Go to reportaproblem.apple.com and sign in with the Apple ID that was charged, then:
- Click “I’d like to” → “Request a refund”.
- Choose a reason (e.g. “I was charged twice” or “I didn’t authorize this purchase”) → Next.
- Select the ChatGPT subscription/charge → Submit.
Take a screenshot of the confirmation. Apple usually replies within 24–72 hours; if it’s rejected you can reply in the same thread with more evidence (your two receipts and the cancellation confirmation).
Step 5: Wait out pending charges before disputing
If the bank shows one charge “Pending” and one “Posted”, do nothing for 5 business days. Pending authorizations frequently drop on their own once Stripe reconciles. Disputing a pending charge causes the bank to lock the card pending investigation, which then blocks the legitimate subscription too.
Step 6: Last resort — chargeback
If OpenAI does not respond within 10 business days and the receipt clearly shows a duplicate, file a chargeback through your bank citing “duplicate charge” (not “fraud”). Attach both receipts and your cancellation confirmation. Note: a chargeback freezes the OpenAI account until resolved, so prefer support resolution first.
How to confirm it’s fixed
- Card statement after 5–7 business days shows only one OpenAI / Apple charge per cycle going forward, plus a refund line if one was approved.
- The Stripe billing portal (
chatgpt.com → Settings → Account → Manage subscription→ invoice history) shows a credit or refund line matching the duplicate. - iPhone Settings → Subscriptions no longer lists the cancelled ChatGPT entry as renewing (it disappears after the paid period ends).
- Next renewal date in
chatgpt.com → Settings → Accountmatches what you expect — treat this as your single source of truth.
Long-term prevention
- Pick one billing channel and stick to it — web or Apple, never both. Web is cheaper (no Apple markup) and easier to refund.
- Before upgrading to a Business/Team workspace, cancel individual Plus first, wait for the period to end, then start the new plan — this avoids the proration overlap entirely.
- Set a calendar reminder one week before renewal to review your active subscriptions across web and App Store.
- Use a virtual card or subscription-only card so you can spot every charge in one place.
- Save every OpenAI and Apple receipt email in a dedicated folder for at least 12 months.
Common pitfalls
- Disputing a charge with the bank before contacting OpenAI — chargebacks lock the account and slow down the actual refund.
- Cancelling on the wrong side (e.g. cancelling the web subscription when the duplicate was the App Store one) — you lose the cheaper subscription and keep the pricier one.
- Assuming “pending” means “charged” — pending lines drop off frequently; wait 5 business days.
- Forgetting that Apple-side cancellations only stop future renewals; you still paid for the current period and must request a refund separately at reportaproblem.apple.com.
- Asking for a web refund while signed into help.openai.com with the wrong account — the chat only sees billing for the account you’re logged in as, which must be the one that was charged.
FAQ
Q: I cancelled my plan but was still charged the next month. Why?
A: Either the cancellation happened after the renewal date, or you cancelled the web subscription while an App Store subscription stayed active (or vice versa). Check iPhone Settings → Subscriptions and chatgpt.com → Settings → Account — cancel whichever one is still renewing.
Q: Does cancelling immediately stop access? A: No. Both OpenAI and Apple let you keep access until the end of the paid period. A refund, if granted, is calculated and processed separately.
Q: How fast do duplicate-charge refunds come through? A: As of June 2026 OpenAI treats duplicate/unauthorized charges as billing errors and usually approves them within 24–48 hours through the help.openai.com chat. The money then settles back to your card in about 5–7 business days.
Q: Can I still get a refund if I just forgot to cancel? A: That’s case-by-case rather than automatic. OpenAI generally considers it within roughly 14 days of the charge (EU users have a 14-day right by law). Explain clearly in the chat and attach receipts; after that window it’s harder.
Q: Why does the card descriptor sometimes say “OPENAI” and sometimes “CHATGPT”? A: Both are legitimate; the billing descriptor can vary. Match charges by amount and date, not just the text.
Q: Will a chargeback affect my account? A: Yes — OpenAI typically suspends the account pending review when a chargeback is filed. Always try the help.openai.com chat first; only use a chargeback as a last resort.
Related
- ChatGPT Team seat not active
- ChatGPT account switch not working
- ChatGPT data export email never arrives
- ChatGPT 2FA locked out
- Wrong auth method after signup
Tags: #ChatGPT #Troubleshooting #billing