Merchant API

Telegramボットの暗号資産決済:請求書・Webhook・送金

Merchant APIは、ボットやサービス向けのTgPay Crypto決済APIです。アプリとトークンを作成し、コードから請求書を発行して、署名付きの支払い通知をWebhookで受信できます。対応するMCPエージェントに連携作業を依頼することもできます。ウォレット残高からの支払いはサービス内で処理されます。ブロックチェーンからの支払いには、選択したネットワークの承認が必要です。

APIベースURL:app.tgpaycrypto.com/pay/api・テストネット:testnet.tgpaycrypto.com
Merchant API画面:アプリとAIエージェントの接続
Webhook:請求書の支払い完了
テストネット
使い方

トークン取得から決済まで4つの手順

請求書を作成し、リンクを提示して、支払いイベントを受信します。

手順 1

アプリを作成

ボットで「その他→Merchant API」を開き、名前とWebhookのURLを入力します。トークンは一度だけ表示されるため、サーバー側で保管してください。

手順 2

請求書を作成

createInvoiceへのPOSTリクエストで、暗号資産または法定通貨の金額、説明、期限を指定します。レスポンスに支払いリンクが含まれます。

手順 3

支払いリンクを表示

ボットのボタンやリンクから、ウォレット残高で支払えます。高額な支払いはPINまたはFace IDで確認します。

手順 4

Webhookを処理

HMAC-SHA256で署名されたinvoice_paidを受信します。署名を検証し、update_idで重複を除外してから商品を提供します。

AIエージェント

AIエージェントに連携の準備を依頼

Merchant APIにはMCPサーバーがあります。対応するエージェントクライアントで接続すると、ドキュメントの参照、アプリ作成の申請、Webhook設定、連携コードの作成支援を行えます。アプリはTelegramで承認し、結果を確認してテストしてください。

  1. 手順 1

    エージェントに依頼を送信

    お使いのアカウントやワークスペースでリモートMCPを利用できるエージェントクライアントを使用してください。依頼文はアプリの「その他→Merchant API→AIエージェントを連携」にもあります。

  2. 手順 2

    Telegramでアプリを承認

    エージェントがt.meリンクを提示します。ボットに表示された依頼を確認して承認します。リンクは1回限り有効で、承認するまでアプリは作成されません。

  3. 手順 3

    連携を完了してテスト

    エージェントは限定権限のトークンを受け取り、請求書、サブスクリプションプラン、Webhookの設定を支援します。Webhook署名用の鍵を取得するには、アプリでメイントークンを再発行し、自分のサーバー上で安全に保管してください。

この手順で発行されるトークンは、支払いの受付とWebhook設定に対応します。送金、送金リンクの発行、返金はできません。資金を外へ動かす操作には、別途管理する権限が必要です。

エージェントでの導入手順はドキュメントへ
エージェントへの依頼文
Connect the MCP server (https://app.tgpaycrypto.com/mcp) and integrate payments via the Merchant API.
Claude Code
claude mcp add --transport http tgpay https://app.tgpaycrypto.com/mcp
claude.ai、Claude Desktop、ChatGPT

クライアントの設定でapp.tgpaycrypto.com/mcpをMCPサーバーとして追加

テストネット
https://testnet.tgpaycrypto.com/mcp
利用条件

手数料と上限

このページの作成時点で公開されている上限カタログの値です。最新の条件はアプリで確認してください。

請求書の手数料加盟店負担です。手数料を差し引いた金額がアプリ残高に反映されます。料率は支払い時に確定し、支払い済みの請求書には後から変更されません。
3%
取引量に応じた割引直近30日間の取引量に応じて自動で下がります。10,000USDから2.9%、25,000USDから2.8%、50,000USDから2.7%、75,000USDから2.6%、100,000USDから2.5%です。
最低2.5%
ネットワーク手数料ウォレット残高からの支払い、内部送金、送金リンクはサービス内で処理されます。ブロックチェーンから請求書を支払う場合は、選択したネットワークの承認が必要です。
0
利用者への送金transferはアプリ残高からTelegramユーザーのIDまたは@username宛てに暗号資産を送金します。transferBatchなら1回の呼び出しで最大100人に送金できます。同じspend_idで再試行しても二重に引き落とされません。
最大25,000USD
リクエスト上限1分あたりの上限は、createInvoiceとcreateCheckが60回、transferとrefundInvoiceが30回、transferBatchが10回、createSubscriptionPlanが20回、updateAppが10回です。読み取りメソッドに回数制限はありません。
1分あたり60回
Webhookの配信10秒以内に2xxが返ると配信完了です。それ以外は間隔を指数関数的に延ばしながら約2日間再試行します。再試行してもupdate_idは変わりません。
最大17回
機能

Merchant APIの機能

アプリにはウォレットと別の残高があります。請求書の支払いが反映され、送金や送金リンクの作成で引き落とされます。

請求書と返金

暗号資産の固定金額、法定通貨での価格、支払者が決める金額に対応します。匿名の支払者を含め、全額または一部の返金ができます。

サブスクリプション

利用者がプランに一度同意すると、以降は各期間の料金を自動で引き落とし、毎回イベントを送信します。

送金と送金リンク

アプリ残高からTelegram利用者に送金できます。設定された条件を満たす人が受け取れる送金リンクも作成できます。

Webhook

invoice_paidは常に送信されます。請求書や送金リンクの期限切れ、送金リンクの受取、返金、一括送金、サブスクリプションのイベントは、アプリごとに通知を有効にできます。

テストネット

@tgpaycrypto_testnet_botで同じAPIとミニアプリを使えます。ホーム画面のボタンから、1時間に1回テスト用の暗号資産を受け取れます。

AIエージェントとMCP

リモートMCPに対応したエージェントクライアントでapp.tgpaycrypto.com/mcpを接続してください。Telegramで承認すると、エージェントがアプリを作成し、連携作業を支援できます。利用前に結果を確認し、テストしてください。

Crypto Bot APIとの互換性

メソッド名、{ok, result}形式、Webhookの署名方式に互換性があります。ベースURLとトークンを変更し、使用するメソッドの動作を確認してください。

トークンの権限を管理

権限を限定したトークン、即時更新、指定利用者のみへの送金や送金停止、漏えいに備えた1日あたりの送金限度額を設定できます。

よくある質問

APIについての質問

トークン、Webhook署名、テスト、他のAPIからの移行についてまとめています。

適用中のルールによっては、本人確認の完了が必要です。本人確認エラーで作成できない場合は、アプリで確認を済ませて再試行してください。

TgPayCrypto-API-Signatureヘッダーは、メイントークンのSHA-256を鍵に、リクエスト本文のHMAC-SHA256を計算した値です。本文の元のバイト列で検証してください。検証が成功するまでは商品を提供したり、支払い済みにしたりしないでください。

Merchant APIはCrypto Bot APIのメソッド、{ok, result}形式、10進文字列の金額、署名方式に対応します。ベースURLとトークンを変更したうえで、連携をテストしてください。Crypto-Pay-API-Tokenヘッダーも別名として利用できます。

テストネットでは同じAPIとミニアプリを利用できます。ボットは@tgpaycrypto_testnet_bot、ベースURLはtestnet.tgpaycrypto.com/pay/apiです。ホーム画面のボタンから1時間に1回、テスト用の1,000USDT、1,000GRAM、0.01BTCを受け取れます。本番用とテスト用のトークンは共用できません。

エージェントは権限を限定したトークンで、請求書やサブスクリプションプランの作成、残高や統計の確認、Webhook設定を行います。送金、送金リンク、返金には追加の権限と対象機能の有効化が必要です。

ドキュメント

Merchant APIの公開ドキュメント

docs.tgpaycrypto.comにメソッド一覧、OpenAPI仕様、導入手順を掲載しています。

製品に決済を導入

@tgpaycryptobotでアプリを作成するか、MCPサーバーのリンクをAIエージェントに渡し、ボットで作成を承認します。

ボットを開く