Telegram

Como conectar o sistema de pagamento

O sistema de pagamento está integrado ao Telegram.

Para fazer pagamentos dentro do mensageiro, você precisa:

  • conectar o sistema de pagamento ao bot no botfather bot

  • vá às configurações do bot desejado e, no menu, selecione Pagamentos

  • seguir as instruções para conectar um sistema de pagamento disponível e copiar o token emitido

Como emitir uma fatura para um cliente

Para enviar uma fatura ao Telegram, use o método

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

provider_token - token recebido no Botfather, após conectar o sistema de pagamento

platform_id - destinatário - identificador de usuário, grupo ou canal

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

description - descrição do produto, 1-255 caracteres

currency - moeda de pagamento (RUB, USD, UAH e assim por diante https://core.telegram.org/bots/payments#supported-currenciesarrow-up-right)

payload - a primeira parte da moeda sobre o pagamento, por padrão tg_payment

prices - detalhamento do preço (descrição abaixo)

photo_url - link para a imagem do produto

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

need_name - 1 se você precisar de um nome completo para concluir o pedido, 0 - sem solicitar nome

need_phone_number - 1 se você exigir o número de telefone do usuário para concluir o pedido, 0 - sem solicitar número

need_email - 1 se você exigir o endereço de e-mail do usuário para concluir o pedido, 0 - sem solicitar e-mail

reply_to_message_id - o id da mensagem à qual respondemos, '' não é a resposta

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

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

phone_best 4737685 2120.75 UAH 1955518436

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:

tg_payment_name, tg_payment_phone e tg_payment_email

circle-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)!

circle-info

Após receber o webhook sobre o pagamento, o pagamento será confirmado automaticamente, por answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutqueryarrow-up-right .

Exemplos

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)

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!', 'Um curso incrível! Seja o melhor!', 'UAH', prices)

Exemplo com um teclado

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"}]]}')

Atualizado