Comment connecter un système de paiement
Le système de paiement est intégré à Telegram. Pour accepter des paiements dans le messager, vous devez :
- Connecter un système de paiement à votre bot via BotFather.
- Accéder aux paramètres du bot souhaité et sélectionner "Paiements" dans le menu.


Suivez les instructions pour connecter un système de paiement disponible et copiez le jeton fourni.



Comment facturer un client
Pour envoyer une facture dans Telegram, utilisez la méthode et spécifiez les paramètres requis.
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)
IMPORTANT ! Tous les paramètres doivent être transmis dans l'ordre spécifié dans la fonction. Si vous devez spécifier un paramètre particulier et en omettre d'autres, laissez des valeurs vides ou des valeurs comme spécifié dans la documentation pour les paramètres dont vous n'avez pas besoin.
Exemple :

Si l'un des paramètres need_name, need_phone_number ou need_email est activé, l'utilisateur sera invité à fournir ces informations avant de finaliser le paiement. En cas de paiement réussi, les données sont enregistrées dans les variables client correspondantes.
Exemple :

Résultat : les données sont demandées avant le paiement.
Callback de paiement
Si un paiement est réussi, un callback avec le contenu suivant sera envoyé dans le chat de l'utilisateur :
tg_payment 1372995196 120.75 USD 2ff747b9-000f-5000-b000-16d7e3517aa', où
- course_pay - payload - le payload de la demande de création de facture d'origine ;
- 1372995196 - l'ID du chat où la facture a été envoyée à l'origine ;
- 120.75 - le montant total du paiement ;
- USD - la devise ;
- 2ff747b9-000f-5000-b000-16d7e3517aa9 - l'ID du paiement dans le système du marchand.

De plus, si le nom, le numéro de téléphone et/ou l'email de l'utilisateur ont été demandés, les variables correspondantes seront attribuées au client :
tg_payment_name, tg_payment_phone et tg_payment_email

Un callback de succès de paiement sera envoyé dans les messages directs de l'utilisateur avec le bot.
L'utilisateur doit avoir un chat existant avec le bot (c'est-à-dire qu'il doit avoir démarré ou s'être abonné au bot) avant que le paiement ne soit effectué. Sinon, le bot ne peut pas lui envoyer le message direct.
Une fois le webhook de paiement reçu, le paiement sera automatiquement confirmé via la méthode answerPreCheckoutQuery. https://core.telegram.org/bots/api#answerprecheckoutquery
Message épinglé avec un bouton de paiement
Vous devez utiliser la fonction d'épinglage de message après avoir connecté le système de paiement.
tg_pin_chat_message(platform_id, message_id, disable_notification)
Exemple :
Étape 1 :
prices = [["course", 100], ["VAT", 20.75]]
result=tg_send_invoice('381764678:TEST:129736', platform_id, 'Course on courses', 'Creating courses is easy', 'USD', prices, 'https://salebot.pro/promo.png', 'course_pay','0', '0', '1', '1', '1', '', '{"inline_keyboard": [[{"text":"Pay", "pay":"True"}]]}')
Étape 2 :
À la suite de la première étape, vous recevrez une réponse dont vous devez extraire la valeur message_id à l'aide de la fonction get().
res=get(result,'result')
m_id=get(res,'message_id')

Ensuite, épinglez le message : tg_pin_chat_message(#{platform_id}, #{m_id}, 1)
Exemple : ensemble minimal de paramètres
prices = [["super course", 100]]
result= tg_send_invoice('381764678:TEST:129736', platform_id, 'Course on courses', 'Creating courses is super easy', 'USD', prices)

Exemple : clavier
prices = [["course", 100], ["VAT", 20.75]]
tg_send_invoice('381764678:TEST:129736', platform_id, 'Course on courses', 'Creating courses is easy, 'USD', prices, 'https://mavibot.ai/promo.png', 'course_pay','0', '0', '1', '1', '1', '', '{"inline_keyboard": [[{"text":"Pay", "pay":"True"}], [{"text":"Another button", "callback_data": "Another button"}]]}')



