# Telegram

## Como conectar o sistema de pagamento&#x20;

### O sistema de pagamento está integrado ao Telegram.&#x20;

Para fazer pagamentos dentro do mensageiro, você precisa:&#x20;

* conectar o sistema de pagamento ao bot no botfather bot&#x20;
* vá às configurações do bot desejado e, no menu, selecione Pagamentos&#x20;
* seguir as instruções para conectar um sistema de pagamento disponível e copiar o token emitido

&#x20;                                           ![](/files/f133d24d19752b903941bbb498a1bba4a6763f9d)<br>

![](/files/a80443367e53f44e57b2f80e877ef211ce35b1e9)

## Como emitir uma fatura para um cliente&#x20;

Para enviar uma fatura ao Telegram, use o método&#x20;

tg\_send\_invoice(provider\_token, platform\_id, title, description, currency, prices, photo\_url, payload, protect\_content, disable\_notification, need\_name, phone\_number, need\_email, reply\_to\_message\_id, reply\_markup, reply\_id) - os parâmetros obrigatórios estão destacados em negrito&#x20;

**provider\_token** - token recebido no Botfather, após conectar o sistema de pagamento&#x20;

**platform\_id** - destinatário - identificador de usuário, grupo ou canal&#x20;

**title** - título do item, 1-32 caracteres

**description** - descrição do produto, 1-255 caracteres&#x20;

**currency** - moeda de pagamento (RUB, USD, UAH e assim por diante <https://core.telegram.org/bots/payments#supported-currencies>) &#x20;

**payload** - a primeira parte da moeda sobre o pagamento, por padrão tg\_payment&#x20;

**prices** - detalhamento do preço (descrição abaixo)&#x20;

**photo\_url** - link para a imagem do produto&#x20;

**disable\_notification** - 1 - enviar com notificação, 0 - sem notificação

**protect\_content** - 1 proteção contra cópia e captura de tela, 0 - sem proteção&#x20;

**need\_name** - 1 se você precisar de um nome completo para concluir o pedido, 0 - sem solicitar nome&#x20;

**need\_phone\_number** - 1 se você exigir o número de telefone do usuário para concluir o pedido, 0 - sem solicitar número&#x20;

**need\_email** - 1 se você exigir o endereço de e-mail do usuário para concluir o pedido, 0 - sem solicitar e-mail&#x20;

**reply\_to\_message\_id** - o id da mensagem à qual respondemos, '' não é a resposta&#x20;

**reply\_markup** - teclado, o primeiro botão deve ser um botão do tipo pagar

Se um dos parâmetros need\_name, need\_phone\_number ou need\_email for especificado, o usuário solicitará os dados antes de pagar e os salvará nas variáveis do cliente se o pagamento for bem-sucedido. Na captura de tela abaixo, a solicitação de todos os dados de entrada:

**prices** - uma matriz de matrizes com dados sobre o custo dos produtos e serviços adicionais (entrega, embalagem, etc.). Exibido na página de pagamento. O valor deve ser indicado ou por um inteiro de 125 ou por uma fração com ponto 120.25 Por exemplo: \[\["goods", 2000], \["VAT", 20.75], \["packaging", 100]

## Callback de pagamento&#x20;

Após o pagamento bem-sucedido, uma callback chegará no chat com o usuário da seguinte forma:&#x20;

**phone\_best 4737685 2120.75 UAH 1955518436**&#x20;

onde phone\_best - payload - da solicitação de criação da fatura 473737685 - um chat id, para o qual a fatura foi originalmente enviada 2120.75 - o valor total do pagamento UAH - moeda 1955518436 - id do pagamento no sistema do comerciante

Além disso, se você solicitou nome, telefone e/ou e-mail, o cliente gravará as variáveis:&#x20;

**tg\_payment\_name, tg\_payment\_phone** e **tg\_payment\_email**

{% hint style="info" %}
Em caso de sucesso, a callback será enviada para as mensagens pessoais do usuário. Para isso, o cliente e o bot devem interagir antes do pagamento (o cliente deve estar inscrito no bot)!
{% endhint %}

{% hint style="info" %}
Após receber o webhook sobre o pagamento, o pagamento será confirmado automaticamente, por answerPreCheckoutQuery <https://core.telegram.org/bots/api#answerprecheckoutquery> . &#x20;
{% endhint %}

## Exemplos&#x20;

`prices = [["product", 2000], ["NDS", 20.75], ["package", 100]]` \
`result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'phoneW-200', 'Best Model on the Market', 'UAH', prices, 'https://images11.popmeh.ru/cropped.jpg', 'phone_best', 0, 0, 1, 0, 1)`

![](/files/60756a977308e52659e35f42bdfc9b3ade344123)

### Exemplo com conjuntos mínimos de parâmetros

`prices = [["an amazing product", 20000]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'The best bot ever!',`` `<mark style="color:roxo;">`'Um curso incrível! Seja o melhor!'`</mark>`, 'UAH', prices)`

![](/files/198d61970d4f1f74c0d8b7f92acef7a9ee16c5b3)

### Exemplo com um teclado&#x20;

`prices = [["product", 2000], ["NDS", 20.75], ["package", 100]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Phone W-200', 'BEst Model on the Market', 'UAH', prices, 'https://helpix.ru/news/200405/181746/gf200_2.jpg', 'phone_best', 0, 0, 1, 1, 1, '', '{"inline_keyboard": [[{"text":"Pay", "pay":"True"}], [{"text":"One more button", "callback_data": "One more button"}]]}')`

![](/files/3e7e54b2bd56b6f4d511b2c6f246437dd2ad0909)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/pt/integrations/payment/telegram.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
