Blog

OpenAI API "Your card has been declined": What to Try and the Alternatives

Short answer

Your card has been declined. appears on the OpenAI Platform billing page when the card you add for API credits doesn't pass OpenAI's payment checks. The message gives no reason. People in OpenAI's developer forum report it for cards that work everywhere else, and some say their bank saw no payment attempt at all.

Start with the details OpenAI checks. Enter your name, address and phone number exactly as your bank has them, and use a card from a regular bank that allows recurring payments. If it keeps failing, stop retrying for a while, ask your bank for a decline reason, and contact OpenAI support.

If you only need API access and the card won't go through, you can call GPT models through TeamoRouter instead, with the same OpenAI SDK. It's pay-per-use from $5. You can top up by card, or with USDT if you'd rather not use a card at all.

What you see

Two community threads collect most of the reports: Your card has been declined. (from October 2023) and "Your card has been declined" (from March 2024, still getting replies in late 2024). The pattern is the same in both:

  • Adding a card on the billing page fails with Your card has been declined.
  • After several tries some users get You are making multiple requests. Please slow down. instead. A forum member says this message comes from OpenAI's payment processor and suggests trying again later.
  • The same card pays for other services, and in some reports for a ChatGPT subscription, while the API billing page keeps declining it.

Why OpenAI declines a card

OpenAI doesn't say why on the decline message. These are the causes that come up in the threads:

  • Details that don't match exactly. A forum moderator says a single misplaced full stop or comma in the address, phone number or name is enough for a decline.
  • The card doesn't allow recurring billing. The same moderator says cards need to allow recurring billing and come from a bricks-and-mortar bank.
  • Prepaid and virtual cards. Many replies in the 2024 thread are from people whose prepaid cards were declined, including cards that had worked for earlier purchases. Virtual and neobank cards show up in the reports too. OpenAI hasn't confirmed a rule about this in those threads, so treat it as a pattern rather than a policy.
  • Too many attempts in a row. Several users got the "slow down" message after trying again and again in a short time.
  • The browser. One user found that an ad blocker caused the decline. Another got through on a phone after failing on a desktop.

What to try, in order

  1. Re-enter your billing details exactly as your bank has them. Check punctuation, abbreviations and the phone number format.
  2. Make sure the card allows recurring online payments. Check this in your banking app, or ask the bank.
  3. Use a regular credit or debit card from a bank if you were trying a prepaid or virtual card.
  4. Turn off ad blockers or try another browser or device, then try once more.
  5. Wait before retrying. If you see "Please slow down", stop and come back later instead of trying again right away.
  6. Ask your bank for the decline reason. If the bank says it never saw the attempt, the decline happened before the charge reached it, and only OpenAI can tell you why.
  7. Contact OpenAI support. Forum moderators point payment problems to the support chat on help.openai.com or on the developer platform, because the developer forum can't change anything on your account.

One user in the 2024 thread says the card went through after they created a new project, verified their phone number and created a new API key. That's a single report, but it's quick to try.

Paying for Claude too? Anthropic's checkout has its own causes and fixes: see How to pay for Claude when your card gets declined.

Use GPT without adding a card to OpenAI

If you need API access now, TeamoRouter is an API gateway with one key for GPT, Claude, Gemini and DeepSeek. It's OpenAI-compatible (/v1/chat/completions, and /v1/responses for GPT models), so the official OpenAI SDKs and Codex work once you change the base URL and the key. You don't need an OpenAI account or OpenAI credits, and there's no subscription: you pay per use.

  1. Create an API key in the TeamoRouter console. It starts with sk-teamo-.
  2. Top up from $5. The top-up dialog takes cards. To skip cards, click Pay with crypto and pay with USDT, USDC or ETH from Binance, OKX or any exchange app — the checkout shows which networks your amount supports (BEP20 works from $5). You don't need a wallet extension, and the invoice stays valid for 60 minutes. Step by step: Pay with USDT.
  3. Point your code at TeamoRouter:
python
from openai import OpenAI

client = OpenAI(
    api_key="sk-teamo-...",
    base_url="https://api.teamorouter.com/v1",
)

resp = client.chat.completions.create(
    model="gpt-5.6-sol",
    messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)

The key goes in Authorization: Bearer, as with OpenAI. To check it, call GET /v1/models:

bash
curl https://api.teamorouter.com/v1/models \
  -H "Authorization: Bearer sk-teamo-..."

Codex reads a custom provider from ~/.codex/config.toml:

toml
model_provider = "teamorouter"
model = "gpt-6-sol"

[model_providers.teamorouter]
name = "TeamoRouter"
base_url = "https://api.teamorouter.com/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"

Then set OPENAI_API_KEY to your TeamoRouter key. The full steps, including Windows, are in Install and connect Codex.

FAQ

My ChatGPT subscription is paid with this card. Why does the API decline it? API usage is billed separately, through your OpenAI Platform account at API rates (Codex authentication docs), and you add the card there separately. Users in both threads report the subscription working while the API billing page declines the same card.

Can I use a prepaid card for OpenAI API credits? Many users report that prepaid cards are declined, sometimes after working before. If you only have a prepaid card, expect it to fail and keep another option ready.

Is this the same as a 429 credit_balance_exhausted error? No. A declined card stops you from adding credits. credit_balance_exhausted is what the API returns once the credits you have run out. See OpenAI "credit_balance_exhausted": what it means.

Do I need an OpenAI account to use GPT through TeamoRouter? No. You sign up with TeamoRouter, top up there, and use the TeamoRouter key.

Next steps

Ready to connect?Log in · top up · create an API key — three steps to start.