カードが拒否されている場合、再試行は多くの場合最悪の選択です。その理由はこのページで説明します。ウォレットに明らかに残高があるのに「insufficient funds(残高不足)」と表示される場合、金額が問題なのではなく、追加で入金しても解決しません。
このページでは、それぞれの症状が実際に何を意味しているのかを整理したうえで、両方の失敗パターンを避けられるルート、つまりすでに保有している資産・チェーンからそのまま支払う方法を紹介します。ROZO Checkoutは独立したサードパーティのチェックアウトであり、OpenRouter、Coinbaseのいずれとも提携関係にはありません。

OpenRouterでカードが拒否される理由
拒否とは、OpenRouterが取引を断っているのではなく、銀行や支払いチェーンのどこかにあるリスクフィルターが下した判断です。原因の大半は次の3つに集約されます。
- カードのBINがフィルタリングされている。カード番号の先頭の数桁は発行銀行と国を示します。AIや開発者向けサービスへの国際決済は、一部の発行会社が厳しく審査するカテゴリであり、プリペイドカードやバーチャルカードの番号帯はさらに厳しく審査されます。
- 請求先住所が一致しない。住所確認は、入力した内容と銀行が保有するデータを照合します。引っ越し後の住所、番地の省略表記、別の国向けにフォーマットされた郵便番号でも、このチェックに失敗するには十分です。
- 繰り返しの試行がカードテスティングのように見える。短時間に同じカードで複数回失敗するのは、不正検知システムがまさに検出するように設計されているパターンです。再試行するたびに、次の試行が失敗する可能性が高くなります。
実務上、最後の点が最も重要です。拒否された直後にすぐもう一度試すのは自然な反応ですが、その反応こそが、1回の拒否をその日一日中通らないカードに変えてしまう原因です。2回連続で拒否された場合は、3回目を試すのではなく、いったん立ち止まって別のルートを使ってください。
ウォレットに明らかに残高があるのに「insufficient funds」と表示される場合
これは最も混乱を招くエラーです。というのも、一見して誤りに見えるからです。ウォレットにはUSDCが表示されている。それなのにチェックアウトは残高不足だと言う。実はこの両方が同時に正しいのです。
OpenRouterの残高はUSDC建てで、そのチェックアウトは特定の1つのチェーン上のUSDCしか読み取りません。ステーブルコインはチェーンごとに別物です。Solana上のUSDC、Base上のUSDC、Ethereum上のUSDCは、同じ名前を共有しているだけの、それぞれ別の残高です。あなたのUSDCが、そのチェックアウトが読み取らない場所に置かれている場合、そのチェックアウトからは見えず、実際にはあなたの正当な資金であっても残高不足と表示されます。
これは、そもそも別の資産を保有している場合にも同様に当てはまります。Bitcoin、SOL、USDTはUSDCではないため、変換するまでネイティブな支払いルートは使えません。
ここではっきり述べておくべき、より深刻な点があります。暗号資産の送金は取り消せません。受取側が読み取らないチェーン上のアドレスに資金を送ってしまった場合、元に戻すボタンはありません。これは推測が高くつく唯一の失敗パターンなので、何かを確定させる前にチェーンを確実に確認する価値があります。
簡易診断:症状から原因を特定する
- 「Card declined」または「payment could not be processed」:発行会社またはリスクフィルターによって拒否されています。2回以上再試行しないでください。詳しくは上記のカードに関するセクションを参照してください。
- 明らかに残高のあるウォレットで「Insufficient funds」:資産は正しいがチェーンが違います。追加で入金しても解決しません。
- ウォレット上は取引成功と表示されるのにクレジットが反映されない:資金は移動したものの、チェックアウトが読み取る場所には届いていません。これは支払いの問題ではなく、資金回収の問題です。
- 完了する前に支払いページの有効期限が切れる:payment linkには有効期限があります。期限切れのリンクで支払おうとせず、新しいリンクを取得してください。
- 一見すべて正常なのに残高がゼロのまま:支払いが失敗したと決めつける前に、そもそもOpenRouter側でチャージが完了しているかどうかを確認してください。
カードを一切使わずにチャージする
すでに暗号資産で資金を持っている場合、カードの問題は「解決」するものではなく、そもそも「回避」できるものです。決済を拒否する発行会社もいなければ、確認すべき請求先住所もなく、不利に働く再試行カウンターもありません。
手順は簡単です。
- OpenRouterのpayment linkまたはpayment IDをコピーする。
- ROZO Checkoutに貼り付ける。
- すでに保有しているチェーンとトークンを選ぶ。
- 自分のウォレットで確認する。
注文はUSDC建てで価格が設定されるため、注文作成時点でドル金額が固定され、支払いの間に変動することはありません。USDCへの決済処理はこちら側で行われるため、これが「チェーンを間違える」という罠を取り除く部分になります。正しいステーブルコインを正しいチェーンに自分で乗せる必要はありません。
通常、これは最初から最後まで約30〜90秒で完了します。作成すべきROZOアカウントもなく、確認すべきメールもなく、KYCフォームもありません。ROZOはあなたの残高を保有しません。
どのチェーンから支払うべきか
まず資金を移動させるのではなく、すでに保有しているものからそのまま支払ってください。追加のホップが増えるたびに、間違った場所へ送ってしまうリスクが増えます。
一般的なチャージ額であれば、実務上以下が最もスムーズです。
- Lightning経由のBitcoin。少額・頻繁な支払い向けに設計されており、数秒で確定します。
- Solana。数秒で確定し、ネットワーク手数料は1セント未満です。
- Base。手数料が低く、確定も速いです。
- BNB Chain。広く保有されており、手数料も低いです。
Ethereumメインネットも対応していますが、正直に言っておく価値があります。ネットワーク自体のガス代が高く、一般的な10〜20ドル程度のチャージに対しては、移動させる金額に対して不釣り合いです。まとまった金額の送金には理にかなっていますが、少額には向きません。この手数料はROZOではなくネットワークに支払われるものです。
USDTは上記いずれのチェーンでも支払いとして受け付けられます。
ここでは起こり得ないこと
支払いの失敗について話しているついでに述べておく価値があります。一度痛い目に遭った人が最も気にする失敗パターンだからです。
ROZO Checkoutはあなたの残高を保有しません。あなたの資金はウォレットからマーチャントのpayment linkへ直接移動します。保管されたクレジットも、アカウントも、こちらが管理するウォレットもありません。
そのため、どこかに置かれた残高が後になって取り出せなくなる、という失敗パターンはこのルートには存在しません。これは私たちが立てている約束としてではなく、顧客の資金を保有できることと顧客の資金を凍結できることは同じ能力であり、私たちはその能力そのものを持っていないためです。
これでは解決できないこと
限界について正直に述べておきます。間違った期待は実際にお金の損失につながるからです。
- すでに間違ったチェーンや間違ったアドレスに送ってしまった資金は、チェックアウトの側で取り戻せるものではありません。これは支払いの問題ではなく資金回収の問題であり、資金がどこに着地したかに完全に依存します。
- OpenRouterのアカウント自体で何か問題が起きている場合(OpenRouter側に記録されたチャージも含む)は、OpenRouterのサポートで解決する必要があります。
- すでに使用済み、または有効期限が切れたpayment linkは復活させられません。新しいものを取得してください。
すでに誤った送金先に支払いを送ってしまった場合は、ROZO Rescueのガイドでよくあるケースと、それぞれで現実的に回収できる範囲を確認してください。