01How a payment flows
- The user taps “Top up” or “Buy” in your bot.
- Your bot sends the amount to
POST /createand showspay_urlfrom the response as a button. - The user picks Click, Payme or Paynet on the checkout page and pays.
- Your bot's
callback_urlreceivesstatus=paid— verify the signature, then top up the balance or deliver the item.
02Use cases
- Topping up an in-bot balance: Stars, Premium, phone numbers, SMM services and more.
- Paying for a subscription, a course or access to a private channel.
- Paying for orders in shop bots.
Each bot gets its own store: its own balance, API key and payment methods. For bots built with RoxBuilder, the store application is sent in one click.
03Bot code example
Python, plain HTTP — works with aiogram, pyTelegramBotAPI or any other library.
import requests
API = 'https://pay.tolovgo.uz/api'
KALIT = 'KASSA_API_KALIT'
BOT = 'https://api.telegram.org/botBOT_TOKEN'
def tolov_havolasi(user_id, summa):
r = requests.post(f'{API}/create', headers={'X-Api-Key': KALIT}, data={
'amount': summa,
'callback_url': f'https://bot.example.uz/tolov?uid={user_id}',
})
return r.json()['pay_url']
def tolov_tugmasi(chat_id, summa):
requests.post(f'{BOT}/sendMessage', json={
'chat_id': chat_id,
'text': f"{summa} so'm",
'reply_markup': {'inline_keyboard': [[
{'text': 'Pay', 'url': tolov_havolasi(chat_id, summa)},
]]},
})
04Dashboard and payouts
- The dashboard shows paid, pending and cancelled payments, total revenue, CSV export and a monthly PDF report.
- You can send a test webhook from the dashboard to check that your bot handles callbacks correctly, without a real payment.
- Money goes to the store balance (minus the 6% fee). Card payouts: manual — free, 1–72 hours; faster — 1%, from 1 minute to 18 hours.
- Accounts are verified with an email code; Telegram login is optional.
05FAQ
Do I need Telegram Payments (a provider token)?
No. The bot sends a regular link and payment happens on the TolovGo checkout page. No payment provider setup in BotFather is needed.
Which payment methods are available?
Click, Payme and Paynet. Each can be switched on or off in the store settings.
How do I link a payment to a user?
Add the user ID to callback_url (e.g. ?uid=123), or send external_id and payer.telegram_id in API v1.
What if a callback arrives twice?
Callbacks can be retried, so credit each payment once by its ID. The signature is in the X-Rox-Signature header.
How much does it cost?
6% per payment. No monthly or setup fee.