When I open the payment log for the paid memberships I run, every failed charge carries a short string next to it: insufficient_funds, incorrect_zip, do_not_honor. The person on the other side saw only one line — "Your card was declined" — while the merchant side received a little more detail.
I run Stripe-based memberships on my own sites as an indie developer, so I've watched declines from the receiving end for a while now. What that vantage point taught me is that the cause is rarely the card itself. It's almost always a setting: an international-payment block, a 3-D Secure contact that went stale, a postal code that no longer matches.
For a long time my own instinct was to swap cards and try again. That went poorly. I was adding attempts without ever establishing who had stopped the charge.
Before you change cards, narrow the block down to one party. Keeping that order saves a surprising number of retries and support round trips. What follows is the sequence I actually work through when a Claude Pro or Claude Max payment won't go through.
Declines Happen in One of Four Layers
Claude payments run through Stripe. A charge can stop in roughly four places, and where it stopped determines who you should be talking to.
| Layer | Who is blocking | Typical symptom |
|---|---|---|
| ① Card settings | Your issuing bank | International transactions blocked; 3-D Secure code never arrives |
| ② Billing data mismatch | Your issuer (AVS check) | Postal code or name doesn't match what the bank has on file |
| ③ Limit or balance | Your issuer | Only the monthly renewal fails |
| ④ Account-level restriction | Stripe / Anthropic | Same card on multiple accounts, VPN, unsupported region |
Work through them in order. Most people find their answer in ① or ②.
The Merchant Side Receives a Decline Code
This part is invisible from the checkout screen, but it makes a useful map, so let me start here.
When a charge fails, Stripe returns its own decline code to the business, built from what the issuer reported. These are the strings that fill my dashboard on a bad morning.
| Decline code | What it means | What you can do as the buyer |
|---|---|---|
authentication_required | 3-D Secure or similar authentication is required | Redo the authentication; if no code arrives, your contact details are stale |
incorrect_zip | The postal code doesn't match | Check the postal code registered with your card issuer |
insufficient_funds | Not enough balance or credit | Use a different card or payment method |
card_velocity_exceeded | Balance, credit, or transaction limit exceeded | Ask your issuer about the limit |
card_not_supported | The card can't be used for this type of purchase | Avoid prepaid instruments; switch cards |
duplicate_transaction | An identical charge was submitted moments ago | Check your statement before retrying |
do_not_honor / generic_decline | No reason disclosed | Only the issuer can explain it |
The authoritative list lives in Stripe's decline codes reference.
Here's the part worth internalizing: issuers report most declines as generic_decline. Stripe says as much in its own documentation — card issuers categorize the majority of declines generically, which leaves the real reason unclear even to the business. So even if you could see my dashboard, you'd often learn nothing. That is exactly why it pays to eliminate ① through ④ from your side first.
Stripe also returns an advice code alongside the decline code — do_not_try_again, try_again_later, or confirm_card_data. The last one means something you typed is wrong; the middle one means a later attempt might succeed. Two identical-looking "declined" messages can mean completely different things about whether retrying is worth your time.
① Check the Card's Own Settings
Unblock International Transactions
Many issuers block cross-border online transactions by default. Anthropic is a US company and the charge arrives as a US merchant transaction through Stripe, so a card configured for domestic use only will be refused.
Open your bank's app or web portal and enable something along the lines of "allow international online purchases." Then wait five to ten minutes before retrying — the change needs a moment to reach the network.
Verify Your 3-D Secure Contact Details
Stripe may require 3-D Secure authentication. Even on a card that supports it, an outdated phone number or email means the one-time code never arrives and the attempt simply times out. This one caught me once. Before retrying, confirm that the destination for that code is a number or address you still use.
Prepaid and Debit Cards
Prepaid cards — gift-card-style Visa or Mastercard products — generally will not work for Claude subscriptions. Recurring billing assumes a stable, verifiable instrument, so these are filtered out; the decline typically comes back as card_not_supported.
Debit cards vary by bank. Plenty of standard debit products from major banks work fine, while some regional ones are refused. If a debit card keeps failing, moving to a credit card is the reliable answer.
② Fix the Billing Data Mismatch
Stripe runs an AVS (Address Verification System) check comparing the postal code you type at checkout against the one your bank has registered. Stripe's own guidance to businesses is that when AVS or CVC checks fail, the customer should verify both before another charge is attempted. Put differently: until those match, retrying produces the same result every time.
Common mismatches:
- Capitalization differences — the card reads
MASAKI HIROKAWA, the form saysMasaki Hirokawa - A postal code entered with or without a hyphen, unlike the registered format
- An address the bank never updated after a move
If you're unsure of the correct postal code, the one printed on your card statement or original application is authoritative. Claude's payment page usually asks for the postal code alone, and matching that single field is often enough.
③④ Renewal Failures and Account-Level Blocks
If the first charge worked and only the renewal fails, a credit limit or a balance is usually behind it. Anthropic emails you when a renewal fails and gives you a grace period — typically around seven days — to update your payment method.
To update it: sign in to claude.ai, open the account icon at the top right, choose "Manage Subscription," then "Update Payment Method." The new card applies to the existing subscription. Miss the grace period and the subscription pauses, which means resubscribing.
Three account-level blocks come up regularly:
- The same card used across multiple Anthropic accounts, tripping fraud prevention
- Paying while connected through a VPN, so the IP country and the card's issuing country disagree
- Paying from a region that isn't supported, which blocks any card
Turn the VPN off for the duration of the payment. Stripe notes that a card issued in one country used from an IP address in another raises the decline rate on its own.
The Fastest Way to Tell Who Declined You
Asking the wrong party costs days. Bank, or Anthropic? There's a way to tell in about ten minutes.
Open your banking app or card statement and look at the entries from just after your attempt. If you see an authorization paired with a reversal, your issuing bank approved the charge. The block came from Stripe or Anthropic, and calling the bank will only get you "everything processed normally on our side."
If nothing appears in the statement at all, the issuer rejected it before it ever reached Stripe. Only now does contacting your bank make sense. In practice it's one of three things: international transactions disabled, a limit reached, or a temporary fraud lock.
Some issuers post entries slowly, so wait about ten minutes before checking. I once skipped this step, opened a support ticket, and spent three days on the round trip. Ten minutes of patience turns a guessing game into a clear next step.
For a cause-by-cause checklist, see "Claude Card Declined: A Complete Troubleshooting Guide", and if the problem is on the API side, "Claude Pro/Max Billing and Payment Errors" covers that path.
Retry Spacing, and What to Hand Support
Retrying the same card several times in quick succession can push your issuer's fraud detection into locking the card for online use altogether. Stripe warns businesses about this directly: additional retries can read as fraud and increase declines on legitimate charges, and it recommends a maximum of eight retries for a single charge. Retrying by hand, you need far fewer than that.
After a failure, wait at least fifteen minutes before trying again. If you just changed a setting, that same window gives the change time to propagate. When failures keep repeating, calling your issuer and asking whether an online-payment block is active is the shortest route.
If nothing works, contact Anthropic's help center. Including the following usually resolves it in a single round trip:
- A screenshot of the full error message
- The card brand (Visa, Mastercard, JCB) and whether it's credit or debit
- The date and time of the attempt, and whether an authorization appeared on your statement
- Your browser, OS, and whether a VPN was active
- Whether this is a first subscription or a renewal
One more distinction: Claude.ai subscriptions (Pro and Max) and Claude API billing are entirely separate systems. API access runs on prepaid credits through the Anthropic Console, so establishing which one failed before you write in saves a message.
If other Stripe-based services charge your card without trouble and only Claude refuses it, layer ④ is the likely candidate. Saying so in your ticket tends to sharpen the reply you get.
Start by opening your statement and checking for that single authorization line. Once you know whether it's there, who to contact answers itself.