TgPay Merchant API
Accept crypto payments via the TgPay Merchant API — invoices, subscriptions, webhooks.
- 1.0.2
- Version
- remote
- Transport
- 20
- Tools
Security review
Review passedReviewed 1d ago.
- tools: 20 tools scanned
- metadata: scanned
No findings.
Tools (20)
get_docs
Read a TgPay Merchant API integration doc. START HERE before integrating: topics quickstart, invoices, subscriptions, transfers-checks, webhooks, errors.
connect
Start 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_status
Poll 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 seconds while pending.
getMe
Verify the token: app id, name, webhook config, token scopes.
getBalance
Merchant app balance per asset (available + onhold).
getCurrencies
Supported crypto assets (code/name/decimals) and fiats.
getExchangeRates
Current asset↔fiat display rates.
getStats
App volume/count stats for a period.
getInvoices
List invoices (newest first).
getChecks
List checks.
getTransfers
List app→user transfers.
getSubscriptionPlans
List subscription plans.
getSubscriptions
List subscriptions (subscribers).
createInvoice
Create a one-off payment invoice; the payer opens result.mini_app_invoice_url. See the invoices doc.
deleteInvoice
Delete an unpaid invoice.
deleteCheck
Delete an unclaimed check (refunds the hold).
createSubscriptionPlan
Create an IMMUTABLE recurring-billing plan; send payers to result.mini_app_subscribe_url. See the subscriptions doc.
archiveSubscriptionPlan
Stop new signups for a plan (live subscriptions keep renewing).
cancelSubscription
Stop future charges for one subscription (paid time runs out).
updateApp
Update 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.