TgPay Merchant API
Accept crypto payments via the TgPay Merchant API — invoices, subscriptions, webhooks.
Connect it
Settings → Connectors → Add custom connector
URL: https://app.tgpaycrypto.com/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://app.tgpaycrypto.com/mcp{
"mcpServers": {
"merchant-api": {
"url": "https://app.tgpaycrypto.com/mcp",
"headers": {
"TgPayCrypto-API-Token": "<YOUR_TGPAYCRYPTO_API_TOKEN>"
}
}
}
}claude mcp add --transport http merchant-api https://app.tgpaycrypto.com/mcp --header "TgPayCrypto-API-Token: <value>"{
"servers": {
"merchant-api": {
"type": "http",
"url": "https://app.tgpaycrypto.com/mcp",
"headers": {
"TgPayCrypto-API-Token": "<YOUR_TGPAYCRYPTO_API_TOKEN>"
}
}
}
}20 tools, verified live
get_docsread-onlyRead a TgPay Merchant API integration doc. START HERE before integrating: topics quickstart, invoices, subscriptions, transfers-checks, webhooks, errors.
connectStart token issuance WITHOUT the Mini App UI: creates a merchant-app request and returns a t.me approve link plus a poll_secret. Show the link to the human — they approve with one button in the @tgpaycryptobot bot — then call connect_status with the poll_secret. Use only when no API token is configured yet.
connect_statusPoll a connect request. Returns pending | denied | expired, or — once approved — the app id and the API TOKEN (returned exactly once: save it to the project's .env immediately, never print it in logs). The token is SCOPED (read, invoices, subscriptions, webhooks) — it cannot move money out of the app; transfers/refunds/checks need the primary token the human holds in the Mini App. Poll every 3-5 s
getMeread-onlyVerify the token: app id, name, webhook config, token scopes.
getBalanceread-onlyMerchant app balance per asset (available + onhold).
getCurrenciesread-onlySupported crypto assets (code/name/decimals) and fiats.
getExchangeRatesread-onlyCurrent asset↔fiat display rates.
getStatsread-onlyApp volume/count stats for a period.
getInvoicesread-onlyList invoices (newest first).
getChecksread-onlyList checks.
getTransfersread-onlyList app→user transfers.
getSubscriptionPlansread-onlyList subscription plans.
getSubscriptionsread-onlyList subscriptions (subscribers).
createInvoiceCreate a one-off payment invoice; the payer opens result.mini_app_invoice_url. See the invoices doc.
deleteInvoicecan modifyDelete an unpaid invoice.
deleteCheckcan modifyDelete an unclaimed check (refunds the hold).
createSubscriptionPlanCreate an IMMUTABLE recurring-billing plan; send payers to result.mini_app_subscribe_url. See the subscriptions doc.
archiveSubscriptionPlanStop new signups for a plan (live subscriptions keep renewing).
cancelSubscriptioncan modifyStop future charges for one subscription (paid time runs out).
updateAppUpdate app name / webhook_url (https) / webhook_events opt-in list. Needs the 'webhooks' scope (the connect-issued token has it) or the primary token. See the webhooks doc for the event types and signature verification.
Alternatives in Finance & Payments
Compare →
PreReasonA
Financial market context for AI agents: macro, rates, bonds, FX, commodities, companies and Bitcoin.
Beancount.ioA
Query, edit, and reconcile a hosted Beancount ledger: BQL, reports, files, and bank imports.
PAPayqrA
European payment QR — SPAYD (CZ/SK) & EPC/GiroCode (SEPA), plus text/WiFi/vCard. Local, free.
ADAdisA
Czech VAT-payer reliability (ADIS / nespolehlivý plátce DPH) + registered bank accounts by DIČ.
CNCnbA
Official ČNB exchange rates — daily & historical CZK vs EUR, USD, 30+ currencies. For accounting.
ISIsirA
Czech insolvency register (ISIR) — active/historical insolvency & bankruptcy by IČO or person.