Comment configurer Robokassa
Voyons comment accepter des paiements dans un bot via le service Robokassa.
- Créez une boutique en ligne dans votre compte Robokassa et spécifiez les paramètres techniques suivants :
- Algorithme de calcul du hachage :
MD5 - URL de résultat : https://chatter.mavibot.ai/robokassa_callback/result
- Méthode d'envoi des données pour l'URL de résultat :
GET - URL de succès : https://chatter.mavibot.ai/robokassa_callback/success
- Méthode d'envoi des données pour l'URL de succès :
GET - URL d'échec : https://chatter.mavibot.ai/robokassa_callback/fail
- Méthode d'envoi des données pour l'URL d'échec :
GET

Créez des mots de passe de test et effectuez la configuration initiale en mode test.
Comment connecter Robokassa à MaviBot
Accédez à la section Acquiring et cliquez sur Connecter sur la carte Robokassa :

Remplissez le formulaire dans la fenêtre qui s'ouvre :
- ID de la boutique — l'identifiant de la boutique, que vous trouverez dans les paramètres de la boutique de votre compte Robokassa.
- Mot de passe n°1 et Mot de passe n°2 — des séquences uniques générées de lettres et de chiffres.
- Taux de TVA — spécifiez le code approprié pour transmettre la valeur de la TVA. Ce champ définit le taux d'imposition dans la caisse enregistreuse. Il est déterminé séparément pour chaque type de produit, mais s'applique à toutes les unités de ce produit particulier ensemble.
Valeurs disponibles :
- Sans TVA.
- TVA à 0%.
- TVA à 5%.
- TVA calculée à 12%.
- TVA calculée à 16%.
Comment générer un lien de paiement
Vous pouvez générer un lien de paiement dans un bloc en utilisant L'UNE DES méthodes disponibles :
- Un bouton avec la fonction Paiement, ou
- La fonction
get_robokassa_payment_urldans la Calculatrice, ou- Générer un lien en utilisant la variable
payment_sumet des paramètres supplémentaires — une méthode obsolète mais toujours fonctionnelle.
Bouton de paiement
Vous pouvez générer un lien de paiement à l'aide d'un bouton avec la fonction Paiement.
Apprenez à créer un bouton avec la fonction Paiement ici.
Passons en revue tous les paramètres disponibles du bouton.
Paramètres obligatoires du bouton de paiement
Pour générer un lien de paiement, spécifiez les paramètres obligatoires suivants dans les paramètres du bouton :
- Montant
- Nom du produit

Montant — spécifiez le prix du produit en roubles.
Nom du produit — ce champ peut contenir uniquement des lettres anglaises ou russes, des chiffres et des signes de ponctuation. La longueur maximale est de 100 caractères. Ces informations sont affichées dans l'interface Robokassa et dans le reçu électronique reçu par le client après un paiement réussi.
N'UTILISEZ PAS de guillemets doubles dans le nom du produit. Supprimez-les ou remplacez-les par des guillemets simples.
Case à cocher Paiement automatique — active les paiements récurrents.
Case à cocher Notification de clic — active le suivi des clics sur le lien de paiement. Si activée, une notification concernant le clic apparaîtra dans la conversation client dans MaviBot.
Vous pouvez configurer la logique ultérieure du bot en fonction de cette notification.
De nombreux systèmes de paiement prennent en charge les caisses enregistreuses en ligne cloud requises par la loi fédérale n° 54-FZ.
Consultez les exigences relatives aux reçus sur le site Web de votre fournisseur de paiement sélectionné pour éviter des problèmes avec les autorités fiscales.
Données du reçu
Ouvrez le menu Données du reçu pour afficher les paramètres du reçu :

Nom du produit — obligatoire pour générer un reçu.
N'UTILISEZ PAS de guillemets doubles dans le nom du produit. Supprimez-les ou remplacez-les par des guillemets simples.
Montant total en roubles — spécifiez le montant total du paiement en fonction de la quantité de produit. Si la quantité est 1, le montant total en roubles est égal à la valeur saisie dans le champ obligatoire Montant.
Quantité — la quantité ou le poids du produit. Vous pouvez passer un nombre entier ou un nombre décimal en utilisant un point, par exemple :
5
ou
10.3
Variables client créées automatiquement lors de l'utilisation d'un bouton de paiement
Dès que l'utilisateur reçoit un bloc contenant un bouton Paiement, les variables client suivantes sont créées automatiquement :

La variable client de service :
__payments
stocke le montant du paiement et l'identifiant du lien de paiement généré. Elle est nécessaire pour identifier le webhook reçu du fournisseur de paiement.
La variable de service
__paymentsNE DOIT PAS être supprimée ou modifiée.
La variable client :
error_payment_button
est créée si une erreur se produit lors de la génération du bouton de paiement.
La valeur de error_payment_button contiendra soit le texte de l'erreur, soit la réponse d'erreur renvoyée par le fournisseur de paiement.
Les valeurs des variables deviennent actuelles après que l'utilisateur passe au bloc suivant.
Comment traiter le résultat
Veuillez noter
Robokassa envoie des notifications uniquement pour les transactions réussies via l'URL de résultat.
Robokassa ne fournit pas de callbacks pour les paiements échoués.
L'URL d'échec est uniquement la page de paiement échoué vers laquelle le payeur est redirigé si une erreur se produit sur la page de paiement.
Paiement réussi
Après avoir correctement configuré le paiement et généré le lien de paiement, testez la configuration.
Si le paiement est réussi, un callback sera envoyé AUTOMATIQUEMENT à la conversation client dans la section Clients.
Le callback se compose de :
- 10 caractères de la clé secrète du fournisseur de paiement ;
- le mot
_success; - le montant du paiement après un espace.
Le callback est généré automatiquement. Vous n'avez pas besoin de le créer vous-même ni de le demander à l'équipe d'assistance du fournisseur de paiement.


Exemple :
ovg58keefc_success 2999
Où :
-
ovg58keefc— 10 caractères de la clé secrète du fournisseur de paiement ; -
_success— le résultat du traitement de la demande indiquant un paiement réussi ; -
2999— le montant du paiement.
Exécution du bloc :

Callback :

Les callbacks du fournisseur de paiement ne sont PAS VISIBLES pour l'utilisateur.
Ils sont affichés uniquement dans la section Clients et sont visibles pour l'opérateur ou l'administrateur.
Exemple de configuration d'une réponse de callback
Dans un bloc conditionnel, tel qu'un bloc Condition de départ ou un bloc Non-état avec condition, spécifiez le callback reçu après le paiement.
Sélectionnez Correspondance exacte ou Contient des mots-clés comme type de correspondance.

Après le paiement, le client recevra le message du bloc configuré pour répondre au callback :

Erreur de montant de paiement
Si le montant spécifié dans les paramètres du bouton diffère du montant payé par le client, le bot recevra automatiquement un callback composé de :
- 10 caractères de la clé secrète du fournisseur de paiement ;
-
_different_amounts; - l'identifiant unique du paiement après un espace.
Exemple :
ovg58keefc_different_amounts 123456
Où :
-
ovg58keefc— 10 caractères de la clé secrète du fournisseur de paiement ; -
_different_amounts— indique que le montant payé diffère du montant dans le lien de paiement ; -
123456— l'identifiant unique du paiement.
Fonction get_robokassa_payment_url dans la Calculatrice
Vous pouvez générer un lien de paiement en utilisant la fonction get_robokassa_payment_url dans le bloc Calculatrice.
Dans le champ Calculatrice, assignez le résultat de la fonction get_robokassa_payment_url à une variable.
Vous pouvez choisir vous-même le nom de la variable. Les captures d'écran montrent des exemples de noms de variables.
Le lien de paiement sera enregistré dans cette variable.
Vous pouvez afficher la variable sous forme de lien dans un message ou la placer dans un bouton avec un texte tel que Payer.
Exemple de lien de paiement :
https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda
De nombreux systèmes de paiement prennent en charge les caisses enregistreuses en ligne cloud requises par la loi fédérale n° 54-FZ.
Consultez les exigences relatives aux reçus sur le site Web de votre fournisseur de paiement sélectionné pour éviter des problèmes avec les autorités fiscales.
Calculatrice
Exemple 1 :

Description des paramètres
get_robokassa_payment_url(amount, description, products_for_receipt, recurrent, currency)
Paramètres de la fonction
| Paramètre | Description |
|---|---|
amount |
Montant du paiement. Spécifiez le prix du produit en roubles. Paramètre obligatoire. |
description |
Nom du produit. Ce champ peut contenir uniquement des lettres anglaises ou russes, des chiffres et des signes de ponctuation. La longueur maximale est de 100 caractères. Ces informations sont affichées dans l'interface Robokassa et dans le reçu électronique reçu par le client après un paiement réussi. Paramètre obligatoire. |
products_for_receipt |
Paramètres de génération du reçu. En savoir plus ici. |
recurrent |
Active les paiements récurrents. Passez 1 si les paiements récurrents sont activés, ou None s'ils sont désactivés. |
currency |
Code de devise à trois lettres. La valeur doit correspondre strictement aux paramètres acceptés par Robokassa.USD — dollar américain ;EUR — euro ;KZT — tenge. |
Exemples de code
Exemple 1 : Lien de paiement sans reçu
res = get_robokassa_payment_url(100, 'Buy me')
Exemple 2 : Lien de paiement avec reçu
receipt = [{"name":"DDDDDDDD","amount":"44","quantity":"1","vat_code":"5","method":"full_payment","object":"commodity"}]
res = get_robokassa_payment_url(100, 'Buy me', receipt, '3', 1, 1)
Vous pouvez afficher la variable sous forme de lien dans un message ou la placer dans un bouton avec un texte tel que Acheter.
Si le bloc contient plusieurs fonctions de lien de paiement et qu'une erreur se produit, la valeur de l'erreur sera enregistrée dans la variable :
error_payment_funcL'erreur de la dernière fonction dans la Calculatrice sera enregistrée.
Après avoir correctement configuré le paiement et généré le lien de paiement, testez la configuration.
Comment ajouter une description de paiement
Vous pouvez ajouter une description de paiement en définissant la variable :
payment_description

La description sera affichée sur le formulaire de paiement et sur le reçu.
Comment traiter le résultat
Si le paiement est réussi, un callback sera envoyé AUTOMATIQUEMENT à la conversation client dans la section Clients.
Le callback se compose de :
- 10 caractères de la clé secrète du fournisseur de paiement ;
-
_success; - le montant du paiement après un espace.
Le callback est généré automatiquement. Vous n'avez pas besoin de le créer vous-même ni de le demander à l'équipe d'assistance du fournisseur de paiement.
Exemple :
ovg58keefc_success 1500
Où :
-
ovg58keefc— 10 caractères de la clé secrète du fournisseur de paiement ; -
_success— le résultat du traitement de la demande indiquant un paiement réussi ; -
1500— le montant du paiement.
Veuillez noter
Le callback est visible uniquement par vous dans la conversation client.
Le callback n'est pas visible par le client, mais vous pouvez configurer une réponse à un paiement réussi.
Exemple
Paramètres d'un bloc utilisant la fonction get_robokassa_payment_url :
1. Affichage du lien dans le texte du message

Important
Le lien de paiement est unique. Vous ne devez pas le copier et l'envoyer à d'autres clients.
Envoyez le lien de paiement via une variable dans le bot.
Callback après un paiement réussi :

2. Affichage du lien dans un bouton

Exécution du bloc :

Callback après un paiement réussi :
