ステーブルコインを受け入れる方法はいくつあり、どちらを選べばよいですか?
2 つあり、これは 1 つの連携のバリエーションではありません。誰が支払者であるか、そしてお客様のサーバーが何をするかが異なります。
好みではなく支払者で選んでください。ウォレットを持つ人間は x402 チャレンジに支払えず、エージェントにはチェックアウトを
描画するブラウザーがありません。両方に販売するなら、両方を連携します。
ステーブルコインを受け入れるには、注文作成時に何を送信しますか?
ウォレット経路では、3 つの要素がステーブルコイン注文を識別します。
この決済手段は単一の国ではなくグローバルの地域コード
GLB の下でカタログ登録されているため、購入者の国で絞り込まれません。
価格設定は他のクロスカレンシー注文と同じです。orderCurrency と orderAmount は価格設定通貨(通常は USD)のままにし、
userCurrency に購入者が実際に支払う通貨である USDC または USDT を設定してください。
価格設定通貨の戦略 を参照してください。
購入者にチェーンを選ばせる処理は自分で作る必要がありますか?
自社のチェックアウトページを運用する場合のみです。- Waffo のホスト型チェックアウト —
payMethodProperties.cryptoChainを省略してください。コンサルテーションのステップが これを不足フィールドとして、その注文で利用可能なチェーンの選択肢とともに返し、チェックアウトが注文確定前に購入者の選択を 収集します。 - 自社のチェックアウトページ — チェーンの選択肢を自分で提示し、選ばれた値を
payMethodProperties.cryptoChainで 返送してください。
購入者が間違ったチェーンを選べないよう、1 つのチェーンだけを提示できますか?
はい。選択肢の一覧はそのためにあります。注文で提示されるチェーンはアカウントの設定から来るため、単一チェーンの設定は 単一チェーンの選択肢一覧を生み、ホスト型チェックアウトでは実質的にチェーンのセレクターが表示されません。クライアント側で 一覧を絞り込むのではなく、希望するチェーンセットを連携担当者に依頼してください。クライアント側のフィルターでは、order/create では広い集合が依然として受け付けられてしまいます。
これが防げないことにも注意してください。チェーンを絞り込むのは購入者がどの注文に支払うかの選択肢を減らすことであって、
購入者が自分のウォレットから別のチェーンで送金するのを止めることはできません。それが
ステーブルコインの例外と返金 の WRONG_CHAIN のケースです。
チェーンのフィールドには正確に何を入れますか?
チェーンのコードを文字列で入れます —Base ではなく BASE であり、数値のチェーン ID でもありません。照合は
大文字小文字を区別せず、各チェーンの略称もコードの代わりに受け付けられますが、コードを送信してください。それが注文に
返される値であり、返金の経路が読み取る値です。
テストネットは別のコードで、サンドボックスがそれ用に設定されている場合に使用できます。
Tron と BNB Smart Chain にはテストネットのコードがないため、この 2 つはテストネットで検証できません。
よく話題になる命名上の 2 点:
BSCは BNB Smart Chain です。 チェーンのコードはBSCで、ネットワークは BNB Smart Chain です。「BNB」単体は ネットワークのトークンであり、チェーンコードではありません。BSCを送信してください。- Avalanche は C-Chain を指します。 有効なのは C-Chain(EVM)のアドレスのみで、X-Chain と P-Chain のアドレスは 返金を含めて即座に拒否されます。
チェーンのフィールドは必須ですか? 省略するとどうなりますか?
リクエスト上は必須ではありませんが、チェーンがなければ注文は支払えないため、省略した場合は次の 2 つの結果のいずれかになり、 デフォルトが適用されることはありません。- ホスト型チェックアウトでは、コンサルテーションが利用可能な選択肢とともに不足フィールドとして報告し、購入者の選択が それを補います。
- 自社のチェックアウトでは、同じ不足フィールドのレスポンスが返り、選択を収集して再送信するのはお客様の役割です。
どのステーブルコインがサポートされていますか?
ウォレット経路ではUSDC と USDT、x402 経路では USDC のみです。その他のトークンはありません — 非ステーブルコインの
トークンも、小規模なトークンも、加盟店が発行するトークンもです。
それ以外のものを受取アドレスに送っても有効な支払いにはなりません。チェーンのネイティブトークン(たとえば ETH)や
他のトークンの送金は注文を支払ったことにならず、注文とは別のチェーンでの送金も同様です。
最小金額や最大金額はありますか?
はい。ステーブルコイン特有のルールではなく、他の決済手段と同じく契約上のものです。公開されている 決済手段カタログ にはUSDC と USDT のカタログレベルの範囲が記載されています。
お客様に実際に適用される範囲は、その決済手段についての自社の設定エントリーの orderAmountMin / orderAmountMax であり、
/api/v1/paymethodconfig/inquiry または Portal の Service → Payin から確認できます。
注文を作成する前に確認してください。範囲外の金額は注文作成時に A0008 で拒否されます。アカウントレベルの 2 つの上限との
違いは
上限・通貨・設定エラー を参照してください。
ステーブルコインの金額は小数何桁ですか?
Waffo のすべての API フィールドで 2 桁です。小数 2 桁の法定通貨とまったく同じです。 通貨と金額 を参照してください。オンチェーンではこれらのトークンは小数 6 桁の 最小単位を使いますが、その変換は Waffo が処理するため、リクエストにもレポートにも最小単位は現れません。ブロックエクスプローラーでは 送信したものとは異なる単位で金額が表示されます。 したがって、トークンのオンチェーンの精度は送信する内容を変えません。どのチェーンでも同じorderAmount の文字列が正しく、
自分でスケーリングすることはありません。最小単位を自分で組み立てる唯一の場所は x402 署名経路で、チャレンジと署名の両方が
最小単位です。その変換は当該ページに記載されています。
受取アドレスは自社のものですか、注文ごとですか、固定ですか?
経路によって異なり、2 つの答えは本当に別物です。
ウォレット経路では、アドレスは 1 つの注文に紐づけられ、その注文が終了すると解放されます。つまり、後で別の注文に
発行されることがあります。これがこのルールが推奨ではなく絶対である理由です。キャッシュしたアドレスへの送金は、
キャッシュした対象の注文を支払わず、そのアドレスが別の注文に移った後はその注文に紐づけることもできません。
どちらの経路でも、Invoiceに印刷したりハードコードしたりできる自社専用のアドレスは提供されません。いずれの場合もアドレスは
Waffo のものであり、Waffo がオンチェーンで受領し、契約に従ってお客様に精算します。
購入者が使い回されたアドレスに支払いました。どうなりますか?
良い結果にはなりません。これは対処するのではなく、そもそも起きないよう設計すべきものです。注文のアドレスが解放された後に そこへ遅れて送金されたものは、 ステーブルコインの例外と返金 の未照合ケースのいずれかになります。元の注文は 支払われず、現在そのアドレスを保持している注文も支払われません。金額と注文が対応しないためです。 実務的なガード:その注文の決済ページ以外でステーブルコインのアドレスを表示しない、購入者に「前回のアドレスを再利用」させない、 期限切れの注文の QR コードを表示しない。決済の QR コードには金額が含まれていますか?
含まれていると想定しないでください。購入者への確実な指示は、注文の金額を正確に、注文のトークンで、注文のチェーン上で、 期限内に送ることです。この 4 つすべてを決済ページから伝えてください。金額を事前入力するウォレットは利便性であって 保証ではなく、購入者が金額を編集すれば、支払い済みの注文ではなく過払いまたは過少払いのケースになります。購入者にはどのくらいの支払い時間がありますか?
注文の有効期限で、これは他のすべての決済手段と同じ仕組みです。order/create で orderExpiredAt を送信しない限り、
契約上のデフォルトが適用されます。
決済のタイムアウトと確定 を参照してください。
ステーブルコイン固有の計画すべき点が 2 つあります。
- 期限は、購入者の操作だけでなく購入者の操作とチェーンの承認時間の両方をカバーする必要があります。ウォレットへの リダイレクトには十分な期限でも、承認の遅いチェーンでは足りないことがあります。
- 期限が切れた後に到着した送金は注文を支払いません。それは
LATE_PAIDのケースとなり、後から閉じた注文に紐づける方法は ありません。
購入者のウォレットは送金成功と表示しているのに、注文がまだ処理中なのはなぜですか?
送金がオンチェーンで承認要件を満たして初めて注文が成功へ進み、その待ち時間は Waffo ではなくチェーンの性質だからです。 ウォレットの「送信済み」表示は、決済が確定したというイベントとは異なります。待ち時間はチェーンによって大きく異なります。- ほぼ即時の決定的ファイナリティを持つチェーン(たとえば Avalanche、Polygon)が最も速く確定します。
- Ethereum メインネットはブロックの承認数を待つため、目に見えて遅くなります。
- オプティミスティックロールアップの L2(Arbitrum、Base、Optimism)が最も遅く、シーケンサーは数秒で送金を受け付けますが、 承認はバッチが Ethereum 上で確定するのを待ちます。
注文がしばらく処理中のままです。まだ待機中ですか、それとも失敗しましたか?
チェーンではなく注文を読んでください。最終状態でない注文はまだ進行中です。ステートマシンは他のすべての決済手段と同じであり、 どの状態が最終でどれがそうでないかについても同じルールが適用されます。 決済のライフサイクル と 決済のタイムアウトと確定 を参照してください。 してはいけないのは、チェーンが遅いことから失敗を推測することや、ブロックエクスプローラーで送金を見つけたことから成功を 推測することです。注文が有効期限までに最終状態に到達しなければ、注文は閉じます。資金が仕様外で到着した場合は例外ケースの いずれかとなり、注文 ID とトランザクションハッシュがあればサポートが確認できます。受け取るのはステーブルコインですか、法定通貨ですか?
法定通貨です。購入者が支払った USDC または USDT は、決済成功時にUSD/USDC および USD/USDT の通貨ペアで換算され、
その後のすべて — 未精算残高、精算バッチとレポート、出金 — は精算通貨のままです。お客様がステーブルコインを保有することは
ないため、トークンの価格変動リスクもオンチェーン手数料のリスクも負いません。
換算は注文作成時ではなく決済成功時に行われるため、レートはその時点のレートです。ステーブルコイン注文は他の
クロスカレンシー注文と同じ仕組みを使うため、レートの仕組みやレートを固定できるかどうかは、ここで特別扱いされるのではなく
為替レート と
価格設定通貨の戦略 で扱われます。
ステーブルコインの注文は Portal のどこに表示されますか?
通常の取引一覧に表示され、他と同じように絞り込めます。次の 2 つのフィルターでたどり着けます。
Portal が提供しないのは、オンチェーンの詳細です。取引一覧にも取引詳細にも、チェーンの列、チェーンのフィルター、
トランザクションハッシュ、承認数、ネットワーク手数料の数値はありません。チェーンが現れる唯一の場所は返金のドロワーで、
元の決済が使用したチェーンとして読み取り専用で表示されます。
したがって、照合に注文ごとのチェーンやトランザクションハッシュが必要な場合、Portal のエクスポートから取得する計画は
立てないでください。x402 経路ではハッシュを API から取得でき、成功時に返される精算レシートに含まれます。その形式は
当該ページに記載されています。ウォレット経路では、注文 ID を添えてサポートにご連絡ください。
ステーブルコインを有効化するには何が必要ですか?
プロビジョニングのステップが 2 つあり、いずれも連携担当者と手配します。契約上の CRYPTO 決済プロダクトと、チェーンセットです。 両方が揃うまで、ステーブルコインの注文作成は契約で許可されていないものとして拒否されます(A0010)。
有効化自体は通常の手順に従い、ステータスの確認場所も同じです。
決済手段の有効化 を参照してください。後からチェーンを追加するのは、決済手段を
追加するのと同じ種類の依頼です。Waffo 側の設定変更であり、お客様が自分で切り替えられるものではありません。
次にどこを見ればよいですか?
- ステーブルコインの例外と返金 — 過払い、過少払い、遅延、誤ったチェーン、誤ったトークン、および返金に必要なもの
- x402 ステーブルコイン収単 — AI エージェント経路の全体
- 決済のタイムアウトと確定 — 注文の有効期限と、どの状態が最終か
- 自社の決済手段設定を読む —
USDC/USDTについての自社の金額範囲と利用可否 - 精算レポート — 換算されたステーブルコイン決済が精算にどう現れるか