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-currencies)
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
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)!
Após receber o webhook sobre o pagamento, o pagamento será confirmado automaticamente, por answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutquery .
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