署名がどうしても検証できない
Webhook の生のボディを署名チェッカーに貼り付けてください。途中の各ステップが表示され、最初の相違箇所に印が付きます。何が異なるのかをそのまま AI に伝えてください。
コーディング不要。サイトと AI ツールを選び、生成されたプロンプトを渡すだけで、AI が当社のドキュメントに基づいて連携し、結果を項目ごとに自分で確認します。
汎用プロンプト · 選択は不要
blockwallets を使って、私のウェブサイトで暗号資産決済を受け付けられるようにしてください(お客様は USDT、USDC、BTC などで支払い、私には米ドルで計上されます)。 1. API を推測せず、まずドキュメントを読んでください:https://blockwallets.io/llms-full.txt(ドキュメント全文)と https://blockwallets.io/agents.md(連携ルール、よくある間違い、受け入れチェックリスト)。開けない場合は教えてください。 2. 私のプロジェクトを調べ、何で作られているか、どのように連携するつもりかを教えて、私の OK を待ってください。 3. 既定は「請求を作成して決済ページへリダイレクト + Webhook」です。Webhook の署名は必ず検証し、同じ Webhook が2回届くことがあるので重複を排除してください。 4. merchant ID と API key は環境変数に保存し、まず Test の認証情報でテストネット上で動くようにしてください。 5. 完了したら、agents.md の受け入れチェックリストを項目ごとに確認し、結果を教えてください。 私はプログラマーではありません。各ステップで、何を変更したか、私が何をする必要があるかを教えてください。
開くと、完全なプロンプトがクリップボードにコピーされます。リンクに含まれるのは短い書き出しだけです。開いたら貼り付けてください。
ステップ 1
わからない場合は「その他 / わからない」を選ぶと、AI がまずプロジェクトを調べます。
決済リンクにコードは不要です。管理画面 →「入金 › 支払いリンク」→ 金額を入力 → 作成、そしてリンクを共有します。AI がサイトに置くのはボタンだけです。
管理画面を開くステップ 2
ツールごとにドキュメントの読み方が異なります。該当する手順に従ってください。
サイトのプロジェクトフォルダーでターミナルを開き、連携ルールを AGENTS.md として保存します。
curl -fsSL https://blockwallets.io/agents.md -o AGENTS.mdCodex は AGENTS.md を自動で読み込みます。Claude Code では、さらに次を実行します。
echo '@AGENTS.md' >> CLAUDE.mdそのあと、ステップ 3 のプロンプトを貼り付けます。
blockwallets の MCP サーバーをインストールすると、AI がドキュメントを検索し、テスト用の請求を直接作成できるようになります。MCP の設定 →
こちらも AGENTS.md をプロジェクトのルートに置きます(Cursor は自動で認識します)。
curl -fsSL https://blockwallets.io/agents.md -o AGENTS.mdAgent モードに切り替えて、プロンプトを貼り付けます。
blockwallets の MCP サーバーをインストールすると、AI がドキュメントを検索し、テスト用の請求を直接作成できるようになります。MCP の設定 →
新しいチャットにプロンプトを貼り付けるか、下の「ChatGPT / Claude で開く」を使います。
リンクを開けないと言われたら、https://blockwallets.io/llms-full.txt を開き、全選択してコピーし、それも貼り付けてください。
完全なコードと置き場所が示されるので、ステップごとに従ってください。コードを代わりに編集してくれるツール(Claude Code、Codex、Cursor)を使うと、コピー作業が大幅に減ります。
プロンプトを貼り付けます。Web ページを開けない場合は、llms-full.txt の内容も貼り付けてください。
ステップ 3
上の選択に合わせて更新され、ドキュメントへのリンク、よくある落とし穴、受け入れチェックリストが含まれます。
あなたは私の開発者です。blockwallets を使って、私のウェブサイトで暗号資産決済を受け付けられるようにしてください(お客様は USDT、USDC、BTC ほか 14 種類の通貨で支払い、私には米ドルで計上されます)。
## 私について
- 私のサイトの構成:わかりません。まず私のプロジェクトを見て、何で作られているかを教えてから、作業を始めてください。
- 希望する受け取り方:チェックアウト時に請求を作成してお客様を blockwallets の決済ページへリダイレクトし、入金されたら blockwallets が私のサーバーを呼び出すので、私は注文を支払済みにして発送します。
- 私はプログラマーではありません。各ステップで、どのファイルを変更したか、私が何をする必要があるか(たとえば環境変数をどこに置くか)を教えてください。一度に大きく変更しないでください。
- プロジェクトのルートにある AGENTS.md に blockwallets の連携ルールがあります。まずそれを読み、詳細は https://blockwallets.io/llms-full.txt を読んでください。
## まずドキュメントを読み、API を記憶で推測しないでください
- 連携ドキュメント全文(Markdown):https://blockwallets.io/llms-full.txt
- 連携ルールとよくある間違い:https://blockwallets.io/agents.md
- すでに Cryptomus、NOWPayments、Coinbase Commerce を使っているサイトなら、書き直さずに対応する互換 API へ切り替えてください:https://blockwallets.io/docs/migrate.md?lang=en
- リンクを開けない場合は、そう伝えてください。内容を貼り付けます。
## 要点(連携でよく間違える箇所)
1. すべてのエンドポイントは https://blockwallets.io への POST + JSON です。ヘッダー:merchant = merchant UUID、sign = md5(base64(リクエストボディ) + API key)。送信する JSON 文字列そのものに署名し、署名後に再シリアライズしないでください。
2. POST /v1/payment で請求を作成します。必須:amount(小数点以下 2 桁までの文字列、例:"42.00")、currency("USD")、order_id(私の注文番号:英字、数字、- と _、100 文字以内)。さらに url_callback(Webhook の URL)と url_success(支払い後にお客様が戻る先)も渡します。お客様を result.url へリダイレクトします。
3. 同じ order_id で再度呼び出すと同じ請求が返るため、再試行は安全で、2件目の請求が作られることはありません。
4. Webhook の署名は必ず検証してください。Webhook の JSON を解析して sign フィールドを取り除き、残りを PHP の json_encode と同じ方法で再エンコードします(コンパクト、非 ASCII はそのまま、/ は \/ にエスケープ)。そのうえで md5(base64(エンコード結果) + API key) が sign と一致しなければなりません。/ のエスケープ忘れが最もよくある間違いです。
5. 注文を支払済みにするのは、status が paid または paid_over のときだけで、payment_amount_usd を使います。同じ Webhook が複数回届くことがあるため、uuid + status で重複を排除してください。処理が済んだら 2xx のステータスで応答します。
6. merchant ID と API key は環境変数(例:BW_MERCHANT、BW_API_KEY)に保存し、コードに直接書いたりコミットしたりしないでください。先に、管理画面の「開発者 › 連携とキー」ページの「サイトのドメイン」に、Webhook URL のドメインを追加します。
7. まず Test の認証情報(テストネット、本物のお金は動きません)ですべて動くようにしてください。Live への切り替えは、私が確認してからにします。
## 完了したら、各項目を確認して結果を教えてください
- [ ] Test の認証情報でテスト用の請求を作成し、決済ページのリンク(result.url)を取得する
- [ ] 決済ページを開き、「決済をシミュレート」→ 全額 をクリックする
- [ ] 私のサーバーが status が paid の Webhook を受け取り、署名の検証が通る
- [ ] 対応する注文が支払済みになる
- [ ] 同じ Webhook が再度届いても(管理画面の「開発者 › Webhook ログ」から再送するか、POST /v1/payment/resend)、二重に発送されない
いずれかの項目が失敗したら、ほかの変更を加える前に、どこで止まっているかと正確なエラーメッセージを教えてください。
AI に各結果を報告させてください。すべて通ったときにだけ Live に切り替えます。
困ったときは
ほとんどの問題は署名です。説明するより、生のテキストを渡したほうが AI にははるかに役立ちます。
Webhook の生のボディを署名チェッカーに貼り付けてください。途中の各ステップが表示され、最初の相違箇所に印が付きます。何が異なるのかをそのまま AI に伝えてください。
リクエストとレスポンス(message を含む)を、そのまま AI に貼り付けてください。署名が誤っている場合、401 レスポンスの debug.body_base64 は当社が署名したテキストなので、AI 自身の結果と比べさせてください。
AI に、受け入れチェックリストを最初の項目から1つずつ確認させ、各結果を報告させてください。管理画面の「開発者 › Webhook ログ」には、すべての Webhook リクエストとあなたのサーバーの応答が表示されます。
安全性
Test の merchant ID と API key はテストネットで動くため、漏えいしてもお金は動きません。
Live の API key は、ご自身でサーバーの環境変数に設定してください。チャットに貼り付けたり、リポジトリにコミットしたりしないでください。
AI が作業を始める前に、サイトのファイルをコミット(git commit)またはコピーしておけば、元に戻せます。
Live に切り替えたら、管理画面ホームの「試しに 1 件決済」で少額の実際の支払いを行い、注文が支払済みになり、残高に入ることを確認してください。
ルールファイル
AGENTS.md には、連携の要点、よくある間違い、受け入れチェックリストがまとまっています。プロジェクトのルートに置くと、Codex と Cursor は自動で読み込み、Claude Code は @AGENTS.md で取り込めます。
curl -fsSL https://blockwallets.io/agents.md -o AGENTS.mdecho '@AGENTS.md' >> CLAUDE.mdAI 向けファイル
よくある質問
ほとんどのサイトでは可能です。AI がドキュメントをもとに請求作成と署名のコードを書き、あなたは認証情報を環境変数に設定して、テストモードで受け入れチェックリストを順に確認します。コードをまったく書きたくない場合は、決済リンクを使ってください。
プロジェクトを編集してコマンドを実行できるツールがいちばん簡単です。Claude Code、Codex、Cursor などです。Web 版の ChatGPT や Claude でも可能ですが、コードはご自身でサイトに貼り付ける必要があります。
渡してよいのは Test の認証情報だけで、チャットではなく環境ファイルに入れてください。Live の API key は、ご自身でサーバーに設定します。
sign を取り除き、残りを PHP の json_encode と同じ方法で再エンコードして、/ を \/ にエスケープします。Webhook の生のボディを /docs/sign に貼り付けて各ステップを比較し、何が異なるかを AI に伝えてください。
受け入れチェックリストを実行します。テスト用の請求を作成し、支払いをシミュレートして、Webhook の検証が通り、注文が支払済みになることを確認し、同じ Webhook を再送して二重に発送されないことを確かめます。本番前に、Live で少額を支払ってください。