- x402 概要ドキュメント:https://docs.cdp.coinbase.com/x402/docs/overview
- x402 オープンソースサンプル:https://github.com/coinbase/x402
- 支払いリンクは Base メインネット で完了し、資産は USDC を使用;
- 保有するウォレットの EVM 秘密鍵 を使用して
X-PAYMENT署名ヘッダーを生成する必要があります; - すべての API は
https://platform.acedata.cloudドメインにあり、Authorizationヘッダーには Platform Token を含める必要があります。
一、準備作業
1. 注文を確認し、受取情報を記録
コンソールにログイン https://platform.acedata.cloud、注文リストまたは注文詳細ページで支払いが必要な注文を確認できます。注文詳細には以下が表示されます:- 注文 ID(例:
7744945e-5e77-4dcc-a9c4-528692d17b34); - 受取アドレス
pay_to(402 応答でも返されますが、ページ情報を基準にすることをお勧めします)。
pay_to アドレスを確認してください。後の署名時に資金がこのアドレスに送信されることを保証する必要があります。
2. 支払いウォレットと資金の準備
- Base メインネットをサポートする EVM ウォレットを準備し、使用する秘密鍵をエクスポート;
- Base メインネットに十分な USDC をチャージ(支払い金額の単位は 6 桁の小数の最小単位);
- x402 Facilitator がネットワーク手数料を代わりに支払うため、支払いウォレットには十分な USDC を保持する必要があります;
- 秘密鍵はローカル署名のみに使用し、適切に保管し、ブラウザや信頼できない環境での露出を避けてください。
3. Platform Token の作成
Platform Token はプラットフォーム API を呼び出すために使用され、ログイン後のブラウザで使用されるユーザー Token と同様の機能を持ちますが、期限切れにはなりません。以下の手順に従って作成してください:- コンソールページ https://platform.acedata.cloud/console/platform-tokens を開く;
- 「Token を作成」をクリックし、指示に従ってメモ情報を入力して生成;
- 生成された Token(例:
platform-v1-xxxx)をコピーし、platform_tokenとして適切に保存。
以降のすべての API 呼び出しヘッダーには以下を含める必要があります:
4. 基本情報のリクエスト
- API 基本ドメイン:
https://platform.acedata.cloud - 支払いリクエストパス:
/api/v1/orders/{order_id}/pay/ - リクエストとレスポンスはすべて JSON 形式で、UTF-8 でエンコードされています。
二、支払いプロセスの概要
- 支払いリクエストの発行:
X-PAYMENTヘッダーなしの最初のPOSTリクエストを発行し、プラットフォームが 402 Payment Required を返すトリガーを引きます; - 支払い要件の読み取り:402 応答の
accepts配列を解析し、networkがbase、assetが USDC、payToが注文ページと一致することを確認; X-PAYMENTの生成:支払いウォレットの秘密鍵、応答ボディ内の要件、Facilitator が返す EIP-712 ドメインなどの情報を使用して署名を生成(通常は公式 SDK を利用して完了);- 署名を持って再試行:
X-PAYMENTヘッダーを同じパスのリクエストに追加し、プラットフォームが検証に成功した後、200 を返す; - 結果の解析:レスポンスヘッダー
X-PAYMENT-RESPONSEを読み取り、オンチェーン取引ハッシュ、実際の引き落とし金額などの情報を取得して照合に使用。
三、接**###**続の例
1. 最初のリクエスト(402 をトリガー)
network:必ずbase(Base メインネット)である必要があります;asset:Base USDC コントラクトアドレス(例は公式メインネットコントラクト);maxAmountRequired:今回の支払いに必要な USDC 原子単位(1 USDC = 1,000,000 atomic units);payTo:プラットフォームの受取アドレスで、注文詳細ページと一致する必要があります;extra:署名に必要な EIP-712 ドメイン情報など。
2. X-PAYMENT の生成
一般的な方法は公式 SDK(例: x402-js、x402-fetch、x402.clients など)を使用することです:
- 支払いウォレットの秘密鍵をアカウントオブジェクトに変換;
- 402 応答の
acceptsデータを記録し、network == "base"の支払いオプションを選択; - SDK が提供する署名関数を呼び出して Base64 エンコードされた
X-PAYMENT文字列を生成(クライアントが直接 facilitator に接続する必要はありません;プラットフォームのバックエンドが facilitator を呼び出して verify/settle を完了します); maxAmountRequiredが受け入れ可能な範囲内であることを確認することをお勧めします。超過した場合はユーザーにチャージを促します。
extra.eip712 が提供するドメイン情報に従って EIP-712 構造体を構築し、署名を行ってください。
3. 署名を持って再試行
X-PAYMENT-RESPONSE は SDK のデコード関数を使用してオンチェーン取引ハッシュ、支払いネットワーク、支払者アドレスなどのデータを取得し、ビジネスの入金や表示に使用します。
四、多言語サンプルコード
以下のサンプルはすべて、環境変数または設定ファイルから注入されることを前提としています:ACE_PLATFORM_TOKEN:プラットフォームトークン;ACE_X402_ORDER_ID:注文ID;ACE_X402_PRIVATE_KEY:支払いウォレットの秘密鍵(0xプレフィックス付き)。
1. Axios(TypeScript)
2. Fetch(JavaScript)
3. Python requests
4. Python httpx(非同期)
サンプルは重要な呼び出しのみを示しており、実運用環境では例外処理、リトライ戦略、ログおよびセキュリティ制御を追加してください。
五、支払い成功後の検証
- コンソール検証:注文詳細ページ
https://platform.acedata.cloud/console/orders/{order_id}にアクセスし、ページに「支払い成功」と表示されるか、注文の状態が支払い済み/完了に変わっている場合、チェーン上の決済が完了したことを示します。 - API 検証:
GET https://platform.acedata.cloud/api/v1/orders/{order_id}/を呼び出し、Authorization: Bearer {platform_token}を持参し、レスポンスのstateフィールドを確認します(PAIDまたはFINISHEDは支払い成功を示します)。 - 回伝ヘッダー:支払い成功のレスポンスから
X-PAYMENT-RESPONSEを読み取り、チェーン上の取引ハッシュを最終証明書として解析できます;この情報はシステムログに保存することをお勧めします。
六、よくある問題のトラブルシューティング
- まだ 402 が返される:支払いアドレスが Base メインネットに十分な USDC を持っていることを確認し、
maxAmountRequiredがウォレットの残高やカスタム制限を超えていないか確認してください。 - 署名失敗:秘密鍵に
0xプレフィックスが付いていることを確認してください;署名時にはレスポンスのextra(EIP-712 ドメイン)とpayToを厳密に使用し、フィールドの順序を変更しないでください。 - ネットワーク不一致:
acceptsに複数の要件が存在する可能性があるため、network === "base"のオプションを選択してください。 X-PAYMENT-RESPONSEが欠落:支払いが実際に引き落とされていないことを示します;レスポンスボディ内のエラーに基づいて再度発起してください;チェーン上の混雑が発生した場合は、後で再試行してください。- プラットフォームトークンが無効:トークンが削除されていないことを確認し、
platform-v1-プレフィックスで始まっていることを確認してください;インターフェースが 401 を返す場合は、コンソールで再生成してください。
七、さらなる支援
- オンラインドキュメントとよくある質問:プラットフォームコンソールの上部ナビゲーション「ドキュメント」。
- チケットの提出とカスタマーサポート:https://platform.acedata.cloud/support
- コミュニティ交流:Discord https://discord.gg/f9GRuKCmRc、X(Twitter)https://x.com/acedatacloud
- その他の連絡先:メール
office@acedata.cloud、office@germey.tech;会社住所 651 N Broad St, Suite 201, Middletown, Delaware, USA;WeChat カスタマーサポートはサポートページで最新のQRコードを確認してください。 - フィードバックと提案:上記のいずれかの方法で改善要求をお知らせください。

