Telegram crypto invoice: send a crypto invoice from your bot
Telegram crypto invoice explained: how to send a crypto invoice from a Telegram bot, the planned Qvard chat invoice and what works today via the API.
A Telegram crypto invoice is a payment request sent in a chat with the amount, the currency and a pay button. Qvard plans an invoice flow inside Telegram, and it is not released yet. This guide shows how to send a crypto invoice from a bot today: the bot creates the invoice through the API and the button opens the hosted page.
What a crypto invoice contains
An invoice shows the order, the amount in USD, the payment deadline and a pay button. The customer sees what they owe and can pay without leaving the conversation for long.
Status: the chat invoice is on the roadmap
A native invoice flow inside Telegram is not released yet, and this article does not present it as available. The working path below creates the invoice through the live API and links it to the hosted page.
x-api-key: sk_live_…
{
"id": "order_1024",
"price": 149.99,
"paymentSystemId": 12
}
// 201 Created
{
"data": {
"id": "8f3k2a1c",
"redirectUrl": "https://my.qvard.com/pay/8f3k2a1c"
},
"code": 201,
"message": "success",
"status": true
}Create the invoice from the bot
The bot backend calls POST /api/v1/payment with the x-api-key header, the order id in id and the amount in USD in price. The returned redirectUrl is the invoice link that the bot sends to the customer.
Write a clear invoice message
Show the order number, the amount in USD, what the customer is buying and the button. Add a short note that the exact crypto amount is shown on the next page at a fixed rate.
x-api-key: sk_live_…
{ "id": "order_1024", "status": "paid" }Track the invoice status
The webhook delivers the status for the order id. Until the status is paid, the invoice stays open, and the bot can remind the customer about it once.
Expire old invoices
Do not keep an unpaid invoice open forever. Mark it as expired in your system after your own deadline, and create a new payment only when the customer asks for one.
FAQ
Can a Telegram bot send a crypto invoice today?
Yes. The bot creates the payment with the API, sends the redirectUrl as the invoice link and updates the order from the webhook. A native invoice flow inside Telegram is on the roadmap.
Is the invoice paid when the customer taps the button?
No. The invoice is paid only when the webhook delivers the id and the status paid.
Can I resend an unpaid invoice?
Yes, send the same redirectUrl again while the payment is still open, and create a new payment only if the old one has expired.
How do I test an invoice?
Create a demo invoice and check the message, the button and the webhook result before using real orders.
