# blockwallets ドキュメント:連携方法

> 連携方法を選びます:コード不要の決済リンク、POS、埋め込みボタン。Cryptomus 互換 API とネイティブ REST API。Cryptomus、NOWPayments、Coinbase Commerce の互換 API。AI 用プロンプト、AGENTS.md、MCP。
>
> HTML: https://blockwallets.io/docs?lang=ja · English: https://blockwallets.io/docs.md?lang=en

## ドキュメント

blockwallets では USDT と USDC のほか、BTC、LTC、各チェーンのネイティブ通貨(固定したレートで米ドル建てに計上)を受け取れます。以下のどの連携方法でも、同じホスト型決済ページに同じ種類の請求が作られ、承認数、手数料、残高も同じです。違いは、あなたのシステムが当社とやり取りする方法だけです。合うものを選び、そのページに進んでください。

### 連携方法を選ぶ

今の状況別に分けています。カードを開くと詳しいガイドが表示されます。

#### コード不要

加盟店管理画面から入金を受け付けます。インストールは不要です。

- [決済リンク](https://blockwallets.io/docs?lang=ja#links): 金額を入力して(またはお客様に入力してもらい)、リンクか QR コードを共有します。開かれるたびに新しい請求が作られます。

- [店舗向け POS](https://blockwallets.io/docs?lang=ja#pos): スタッフがスマートフォンやタブレットで POS リンクを開いて金額を入力し、お客様が QR コードを読み取ります。

- [埋め込みボタン](https://blockwallets.io/docs?lang=ja#embed): 「支払う」や「寄付する」ボタンを任意のサイトに貼り付けます。HTML だけ、または HTML とスクリプトタグ 1 つで動きます。

#### 新規の API 連携

連携をゼロから実装する場合です。

- [ネイティブ REST API](https://blockwallets.io/docs/api?lang=ja): Bearer キー、セント単位の金額、冪等な `ref`、HMAC-SHA256 の Webhook、イベント API。キーは管理画面で自分で発行できます。

- [Cryptomus 互換 API](https://blockwallets.io/docs/cryptomus?lang=ja): POST + JSON と md5 署名。認証情報は管理画面で自分で発行でき、主なエンドポイントには「試す」パネルがあります。

#### 他のゲートウェイからの移行

コードはそのまま:互換 API なので、ベース URL とキーを変えるだけです。

- [Cryptomus から](https://blockwallets.io/docs/cryptomus?lang=ja#cryptomus): `https://api.cryptomus.com` を `https://blockwallets.io` に変え、新しい merchant と API key を使います。パス、パラメーター、`sign`、Webhook はそのままです。

- [NOWPayments から](https://blockwallets.io/docs/nowpayments?lang=ja): `https://api.nowpayments.io/v1` を `https://blockwallets.io/nowpayments/v1` に変え、新しい API key と IPN secret を使います。`x-nowpayments-sig` はそのままです。

- [Coinbase Commerce から](https://blockwallets.io/docs/coinbase-commerce?lang=ja): SDK のベース URL に `https://blockwallets.io/coinbase/` を指定し、新しい API key と webhook shared secret を使います。`X-CC-Webhook-Signature` はそのままです。

#### AI に連携してもらう

コードは書かないが、AI コーディングツールを使う方向けです。

- [プロンプト生成](https://blockwallets.io/docs/ai?lang=ja): ウェブサイト、支払い方式、AI ツールを選ぶと、Claude Code、Codex、Cursor、ChatGPT 向けのプロンプトを作ってコピーできます。

- [AGENTS.md](https://blockwallets.io/agents.md): 連携ルール、よくある間違い、完了チェックリスト。プロジェクトのルートに置くと、コーディングエージェントが読みます。

- [MCP サーバー](https://blockwallets.io/docs/mcp?lang=ja): AI ツールがこのドキュメントを検索し、テスト用の請求を直接作成できます。

#### ツール

ブラウザー内で動くデバッグ支援です。

- [署名チェッカー](https://blockwallets.io/docs/sign?lang=ja): リクエストまたは Webhook のボディを貼り付けると、署名の各ステップと、あなたの結果が異なる箇所を確認できます。API key がブラウザーの外に出ることはありません。

### Cryptomus 互換かネイティブか

どちらも同じ決済ページに同じ請求を作り、手数料と残高も同じです。違うのは、リクエストの形式、Webhook の形式、認証情報の入手方法です。

|  | Cryptomus 互換 | ネイティブ REST |
| --- | --- | --- |
| 認証情報 | 管理画面の「開発者 › 連携とキー」で自分で発行します(Live 用と Test 用が1組ずつ) | こちらも管理画面の「開発者 › 連携とキー」で自分で発行できます:Live キーと Test キー(`bw_live_…` / `bw_test_…`)と、それぞれの Webhook 署名シークレット |
| リクエスト | すべて `POST` + JSON で、ヘッダーは `merchant` と `sign` = `md5(base64(リクエストボディ) + API key)` | REST(`GET` / `POST`)と `Authorization: Bearer`。キーのプレフィックスで Live か Test かが決まります |
| 金額 | `"42.00"` のような小数の文字列。USD、USDT、USDC(いずれも 1:1) | `4200` のような米セント単位の整数。USD のみ |
| 再試行 | 同じ `order_id` なら既存の請求が返ります | 同じパラメーターの同じ `ref` なら既存の請求が返り、パラメーターが違うと 409 が返ります |
| Webhook | 請求ごとの `url_callback` に送信。署名はボディの `sign` フィールド | 管理画面で設定した Webhook URL に送信。`X-BW-Signature` はタイムスタンプ付きの HMAC-SHA256。一覧取得と再送は `/v1/events` |
| 固定アドレス | `/v1/wallet`:1回の呼び出しで1つのネットワーク | `/v1/deposit-accounts`:1人のお客様に全ネットワークを一度に発行 |
| ツール | 「試す」パネル、署名チェッカー、AI 用プロンプト、MCP サーバー。既存の Cryptomus 用 SDK やプラグインがそのまま使えます | このリファレンスとコードサンプル |

新規に始めるならネイティブ REST API がおすすめです:セント単位の金額、冪等な `ref`、タイムスタンプ付きの Webhook 署名、そして管理画面で自分で発行できるキー。すでに Cryptomus を使っている場合や、既存の Cryptomus SDK・プラグインを使いたい場合は、Cryptomus 互換 API を使ってください。

### クイックスタート

何もない状態からテスト決済まで、5 ステップです(Cryptomus 互換 API の場合。ほかの API も、それぞれの認証情報で同じ手順です)。

- [トップページ](https://blockwallets.io/?lang=ja#join)から利用を申し込みます。承認されたら[加盟店管理画面](https://blockwallets.io/dashboard)にログインします。

- 管理画面の「開発者 › 連携とキー」を開き、Test の列で merchant と API key を発行して、サイトのドメインを追加します。

- サーバーが `POST /v1/payment` で請求を作成し、お客様を `result.url` へリダイレクトします。

- 決済ページの「決済をシミュレート」で支払いを行い、Webhook ハンドラーが `sign` を検証して `payment_amount_usd` で入金処理することを確認します。

- Live の列の認証情報に切り替え、少額の実際の支払いを一度行います(管理画面ホームの「試しに 1 件決済」)。

```http
POST https://blockwallets.io/v1/payment
merchant: <merchant>
sign: md5(base64(body) + API key)
Content-Type: application/json

{
  "amount": "42.00",
  "currency": "USD",
  "order_id": "order_1042",
  "url_callback": "https://shop.example/webhooks/crypto",
  "url_return": "https://shop.example/cart",
  "url_success": "https://shop.example/thanks?order=1042"
}
```

各ステップの Node.js、PHP、Python のコードは [Cryptomus 互換 API](https://blockwallets.io/docs/cryptomus?lang=ja#api)のドキュメントにあります。AI に任せたい場合は、まず[プロンプト生成](https://blockwallets.io/docs/ai?lang=ja)から始めてください。

### 決済リンク(コード不要)

加盟店管理画面 →「入金 › 支払いリンク」→ 説明と金額を入力(ネットワークを固定するか、お客様に選ばせる)→ 作成。リンクごとに URL と QR コードが発行されます。

- リンクが開かれるたびに新しい請求が作成されるため、1つのリンクを使い回せます(例:「会員プラン $99」)。

- 支払いはすべて「入金 › 入金履歴」に表示されます。「資金 › 残高と出金」からご自身のウォレットへ出金できます。

- 「開発者 › 連携とキー」で認証情報と Webhook URL を作成済みなら、リンク経由の支払いも [Cryptomus 互換の Webhook 形式](https://blockwallets.io/docs/cryptomus?lang=ja#webhooks)で通知されます。

- 受け付けを止めるには「無効にする」を押すと、リンクはすぐに使えなくなります。

### 店舗向け POS

レジカウンターや屋台向けです:加盟店管理画面 →「入金 › POS レジ」→ 端末を開いて POS リンクを取得します。スタッフがスマートフォンやタブレットでそれを開いて金額を入力すると、支払い用の QR コードが表示され、お客様が支払うと画面に「Paid」と表示されます。

- POS の請求は 30 分間有効です。入金は残高に計上され、「入金 › 入金履歴」に表示されます。決済リンクと同様に Webhook URL にも通知されます。

- POS リンクでできるのは入金の受け付けだけです。残高、出金、ほかの注文、設定、認証情報は見られません。

- 端末を紛失した、またはスタッフが辞めた場合は、管理画面でその端末を無効にすると、リンクはすぐに使えなくなります。

### 埋め込みボタン

加盟店管理画面 →「入金 › 支払いリンク」→「埋め込みボタン」:文言、色、サイズ、形を選んでスニペットをコピーします。ボタンをクリックすると、その決済リンクの決済ページが開きます。

- HTML のみ:スクリプトなしのスタイル付きリンク 1 つなので、HTML を貼り付けられる場所ならどこでも動きます(サイトビルダー、フォーラム、メール署名など)。

- スクリプトあり:`data-blockwallets` と `/embed.js` のタグを 1 つ追加します。パソコンでは決済ページが中央の小さなウィンドウで開き、スマートフォンでは通常どおり開きます。

- スクリプトはリクエストを送らず、Cookie も設定せず、iframe も追加しません。ページ側でブロックされても、ボタンは通常のリンクとして動作します。

下のコードの `/l/pl_…` は、ご自身の決済リンクのアドレスに置き換えてください。

#### HTML のみ

```html
<a href="https://blockwallets.io/l/pl_…" target="_blank" rel="noopener nofollow"
   style="display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:999px;background:#1f5a3d;color:#ffffff;font:600 16px/1 sans-serif;text-decoration:none">Pay with crypto</a>
```

#### HTML + スクリプト

```html
<a href="https://blockwallets.io/l/pl_…" target="_blank" rel="noopener nofollow"
   data-blockwallets data-color="green" data-size="m" data-shape="pill">Pay with crypto</a>
<script src="https://blockwallets.io/embed.js" async></script>
```
