Cómo conectar un sistema de pago
El sistema de pago está integrado en Telegram. Para aceptar pagos dentro del mensajero, necesitas:
- Conectar un sistema de pago a tu bot usando BotFather.
- Ir a la configuración del bot deseado y seleccionar "Pagos" del menú.


Sigue las instrucciones para conectar un sistema de pago disponible y copia el token proporcionado.



Cómo facturar a un cliente
Para enviar una factura en Telegram, usa el método y especifica los parámetros requeridos.
tg_send_invoice(provider_token, platform_id, title, description, currency, prices, photo_url, payload, protect_content, disable_notification, need_name, need_phone_number, need_email, reply_to_message_id, reply_markup, message_thread_id, provider_data)
¡IMPORTANTE! Todos los parámetros deben pasarse en el orden especificado en la función. Si necesitas especificar un parámetro en particular y omitir otros, deja valores vacíos o valores como se especifica en la documentación para los parámetros que no necesitas.
Ejemplo:

Si alguno de los parámetros need_name, need_phone_number o need_email está habilitado, se le pedirá al usuario que proporcione esa información antes de completar el pago. Tras un pago exitoso, los datos se guardan en las variables de cliente correspondientes.
Ejemplo:

Resultado: se solicitan datos antes del pago.
Callback de pago
Si un pago es exitoso, se enviará un callback con el siguiente contenido al chat del usuario:
tg_payment 1372995196 120.75 USD 2ff747b9-000f-5000-b000-16d7e3517aa', donde
- course_pay - payload - el payload de la solicitud original de creación de factura;
- 1372995196 - el ID del chat donde se envió originalmente la factura;
- 120.75 - el monto total del pago;
- USD - la moneda;
- 2ff747b9-000f-5000-b000-16d7e3517aa9 - el ID del pago en el sistema del comerciante.

Adicionalmente, si se solicitaron el nombre, número de teléfono y/o correo electrónico del usuario, las variables correspondientes se asignarán al cliente:
tg_payment_name, tg_payment_phone y tg_payment_email

Se enviará un callback de pago exitoso a los mensajes directos del usuario con el bot.
El usuario debe tener un chat existente con el bot (es decir, debe haber iniciado o suscrito al bot) antes de realizar el pago. De lo contrario, el bot no puede enviarle el mensaje directo.
Una vez recibido el webhook de pago, el pago se confirmará automáticamente mediante el método answerPreCheckoutQuery. https://core.telegram.org/bots/api#answerprecheckoutquery
Mensaje fijado con un botón de pago
Debes usar la función de fijar mensaje después de conectar el sistema de pago.
tg_pin_chat_message(platform_id, message_id, disable_notification)
Ejemplo:
Paso 1:
prices = [["curso", 100], ["IVA", 20.75]]
result=tg_send_invoice('381764678:TEST:129736', platform_id, 'Curso sobre cursos', 'Crear cursos es fácil', 'USD', prices, 'https://salebot.pro/promo.png', 'course_pay','0', '0', '1', '1', '1', '', '{"inline_keyboard": [[{"text":"Pagar", "pay":"True"}]]}')
Paso 2:
Como resultado del primer paso, recibirás una respuesta de la cual debes extraer el valor message_id usando la función get().
res=get(result,'result')
m_id=get(res,'message_id')

Luego, fija el mensaje: tg_pin_chat_message(#{platform_id}, #{m_id}, 1)
Ejemplo: conjunto mínimo de parámetros
prices = [["súper curso", 100]]
result= tg_send_invoice('381764678:TEST:129736', platform_id, 'Curso sobre cursos', 'Crear cursos es súper fácil', 'USD', prices)

Ejemplo: teclado
prices = [["curso", 100], ["IVA", 20.75]]
tg_send_invoice('381764678:TEST:129736', platform_id, 'Curso sobre cursos', 'Crear cursos es fácil', 'USD', prices, 'https://mavibot.ai/promo.png', 'course_pay','0', '0', '1', '1', '1', '', '{"inline_keyboard": [[{"text":"Pagar", "pay":"True"}], [{"text":"Otro botón", "callback_data": "Otro botón"}]]}')
