Telegram

Comment connecter le système de paiement

Le système de paiement est intégré à Telegram.

Afin d’effectuer des paiements dans le messager, vous devez :

  • connecter le système de paiement au bot dans le botfather bot

  • aller dans les paramètres du bot souhaité et, dans le menu, sélectionner Paiements

  • suivre les instructions pour connecter un système de paiement disponible et copier le jeton émis

Comment facturer un client

Pour envoyer une facture à Telegram, utilisez la méthode

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) - les paramètres requis sont mis en évidence en gras

provider_token - jeton reçu dans Botfather, après la connexion du système de paiement

platform_id - destinataire - identifiant de l’utilisateur, du groupe ou de la chaîne

title - titre de l’article, 1-32 caractères

description - description des biens, 1-255 caractères

currency - devise de paiement (RUB, USD, UAH, etc. https://core.telegram.org/bots/payments#supported-currenciesarrow-up-right)

payload - la première partie du jeton concernant le paiement, par défaut tg_payment

prices - détail du prix (description ci-dessous)

photo_url - lien vers l’image du produit

disable_notification - 1 - envoyer avec notification, 0 - sans notification

protect_content - 1 protection contre la copie et les captures d’écran, 0 - non protégé

need_name - 1 si vous avez besoin du nom complet de l’utilisateur pour finaliser la commande, 0 - sans demander de nom

need_phone_number - 1 si vous exigez le numéro de téléphone de l’utilisateur pour finaliser la commande, 0 - sans demander de numéro

need_email - 1 si vous exigez l’adresse e-mail de l’utilisateur pour finaliser la commande, 0 - sans demande d’e-mail

reply_to_message_id - l’identifiant du message auquel nous répondons, '' n’est pas la réponse

reply_markup - clavier, le premier bouton doit être un bouton de type payant

Si l’un des paramètres need_name, need_phone_number ou need_email est spécifié, l’utilisateur demandera les données avant de payer et les enregistrera dans les variables client si le paiement réussit. Dans la capture d’écran ci-dessous, la demande de saisie de toutes les données :

prices - un tableau de tableaux contenant les données sur le coût des biens et des services supplémentaires (livraison, emballage, etc.). Affiché sur la page de paiement. Le montant doit être indiqué soit par un entier de 125, soit par une fraction avec un point 120.25 Par exemple : [["goods", 2000], ["VAT", 20.75], ["packaging", 100]

Callback sur le paiement

Après un paiement réussi, un colbeck arrivera dans le chat avec l’utilisateur, comme suit :

phone_best 4737685 2120.75 UAH 1955518436

où phone_best - payload - à partir de la requête de création de la facture 473737685 - un identifiant de chat, auquel la facture a été initialement envoyée 2120.75 - le montant total du paiement UAH - devise 1955518436 - identifiant de paiement dans le système marchand

De plus, si vous avez demandé un nom, un téléphone et/ou un e-mail, le client enregistrera les variables :

tg_payment_name, tg_payment_phone et tg_payment_email

circle-info

En cas de succès, le kolbek sera envoyé dans les messages personnels de l’utilisateur. Pour cela, le client et le bot doivent coopérer avant le paiement (le client doit être abonné au bot) !

circle-info

Après réception du hook concernant le paiement, celui-ci sera confirmé automatiquement, via answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutqueryarrow-up-right .

Exemples

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)

Exemple avec un ensemble minimal de paramètres

prices = [["an amazing product", 20000]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'The best bot ever!', 'Un cours incroyable ! Soyez le meilleur !', 'UAH', prices)

Exemple avec un clavier

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

Mis à jour