Comment connecter Prodamus
Pour connecter Prodamus, vous avez besoin de l'URL du formulaire de paiement et d'une clé secrète.
L'URL du formulaire de paiement est fournie après l'inscription. Exemple :
demo.payform.ru
Vous pouvez obtenir la clé secrète dans votre compte Prodamus. Vous devez également spécifier l'URL vers laquelle les notifications de paiement seront envoyées.

Instructions détaillées sur la configuration
URL de notification :
https://chatter.mavibot.ai/prodamus_callback/result
Cette URL doit être spécifiée à deux endroits dans les paramètres.
Sur la page principale des paramètres, vous pouvez sélectionner le mode de fonctionnement du formulaire de paiement :
- Mode démo sans paiements réels
- Mode réel pour accepter les paiements

L'URL de notification doit être spécifiée dans deux sections des paramètres du système de paiement :
- Dans l'onglet Paramètres du formulaire pour les paiements uniques
- Dans l'onglet Abonnements pour les paiements par abonnement

URL de notification :
https://chatter.mavibot.ai/prodamus_callback/result
Pour configurer les paiements par abonnement, ouvrez l'onglet Abonnements et saisissez l'URL de notification :
https://chatter.mavibot.ai/prodamus_callback/result

Important : Après avoir saisi l'URL, assurez-vous de cliquer sur Enregistrer.
Pour connecter Prodamus dans Mavibot, ouvrez la section Acquiring.

Ensuite, saisissez l'URL du formulaire de paiement et la clé secrète dans les champs correspondants.

Important : N'incluez pas
https://lors de la saisie de l'URL du formulaire de paiement.
La connexion est maintenant terminée. Voyons maintenant comment utiliser cette fonctionnalité.
Création d'un lien de paiement
Bouton de paiement
Un lien de paiement peut être généré à l'aide d'un bouton avec la fonction Paiement.
Voir le guide sur la création d'un bouton de paiement :
/docs/chatbot-builder-buttons-payment-button
Les sections ci-dessous décrivent tous les paramètres disponibles du bouton.
Paramètres obligatoires
Pour générer un lien de paiement, les champs suivants sont obligatoires :
- Montant
- Nom du produit
- Produits pour le reçu (obligatoire uniquement si vous n'avez pas votre propre caisse en ligne et souhaitez que Prodamus génère des reçus fiscaux)
Lorsque le client ouvre la page de paiement, les informations sur le produit et le prix sont déjà remplies. Le client n'a qu'à saisir ses coordonnées.
Si l'e-mail et/ou le numéro de téléphone du client sont spécifiés dans les paramètres du bouton, ils seront également préremplis sur la page de paiement.

Paramètres du bouton
Texte – Le texte affiché sur le bouton de paiement.
Fonction – Sélectionnez Paiement pour générer un lien de paiement.
Système de paiement – Affiche les systèmes de paiement connectés au projet.
Si aucun système de paiement n'est connecté, ce type de bouton n'est pas disponible.
Nom du produit (obligatoire) – Spécifiez le nom exact du produit.
Par exemple, au lieu de :
Téléphone
utilisez :
Smartphone Xiaomi, Modèle ...
Remarque : Les guillemets doubles (
") ne sont pas autorisés dans le nom du produit. Supprimez-les ou remplacez-les par des guillemets simples.
Montant (obligatoire) – Le montant du paiement.
Paramètres supplémentaires
Cliquez sur Informations supplémentaires pour configurer les champs facultatifs :
- Description de la commande
- Réduction (RUB)
- Variable e-mail du client
- Variable téléphone du client
- Date d'expiration du lien
- ID du produit d'abonnement
- Produits pour le reçu
Notifier au clic – Activez cette option si vous souhaitez recevoir une notification dans la conversation du client lorsqu'il clique sur le bouton de paiement.

Cette notification peut être utilisée pour construire une logique de chatbot supplémentaire.
De nombreux fournisseurs de paiement prennent en charge les caisses en ligne nécessaires à la conformité fiscale. Consultez la documentation de votre fournisseur de paiement pour obtenir des informations sur la génération de reçus et la fiscalisation.
La page de paiement ouverte par le bouton ressemble à ceci :

Paramètres supplémentaires du lien de paiement

Description de la commande – Le texte saisi dans ce champ est affiché sur la page de paiement dans la section Informations supplémentaires.
Réduction – Spécifiez le montant de la réduction en RUB. Les valeurs décimales sont prises en charge en utilisant un point comme séparateur (par exemple, 50.99).
Sur la page de paiement, la réduction est appliquée automatiquement. Le prix d'origine est barré et le montant réduit est affiché comme total du paiement.
Variable e-mail du client (facultatif si un numéro de téléphone est fourni) – L'adresse e-mail du client ou une variable la contenant, par exemple :
#{email}
Variable téléphone du client (facultatif si une adresse e-mail est fournie) – Une variable contenant le numéro de téléphone du client au format :
79000000000
Par exemple :
#{phone}
Une adresse e-mail ou un numéro de téléphone doit être fourni.
Date d'expiration du lien – Spécifiez la date d'expiration au format :
dd.MM.yyyy HH:mm
Exemple :
25.01.2021 11:00
Vous pouvez également utiliser une variable, par exemple :
#{link_expired}
ID du produit d'abonnement – Saisissez l'ID du produit d'abonnement pour créer un paiement récurrent.
Pour plus d'informations sur la création de produits d'abonnement, consultez la documentation Prodamus.
Si un ID de produit d'abonnement est spécifié :
- le montant du paiement est ignoré ;
- les informations sur le produit sont chargées à partir du produit d'abonnement dans Prodamus ;
- le numéro de téléphone du client est requis pour la gestion de l'abonnement ;
- le callback contient l'ID du produit d'abonnement après un paiement réussi.
Produits pour le reçu (conditionnellement obligatoire) – Obligatoire pour la fiscalisation des paiements via Prodamus si vous n'utilisez pas votre propre caisse en ligne.
Spécifiez la description du produit, le prix et un lien vers le contenu acheté.
Exemple :
Cours "Photographie avancée", prix 3000 RUB,
https://example.com/cours
Comportement en cas d'expiration du lien
Si vous spécifiez une date d'expiration du lien, le bouton de paiement se comporte différemment selon que le lien est toujours valide ou non.
Lien expiré
Si le client ouvre le lien de paiement après son expiration, le paiement ne peut pas être effectué et il verra le message suivant :

Remarque : La date d'expiration doit être postérieure à la date actuelle. Sinon, le client ne pourra pas effectuer le paiement.
Bouton de paiement inactif
Si le client demande le bouton de paiement après que le lien a déjà expiré, le bouton n'est pas affiché.
À la place, la variable client suivante est créée :
error_payment_button
Valeur :
Erreur : La date d'expiration du lien doit être postérieure à la date actuelle.
Nous vous recommandons de gérer cette situation dans le flux de votre chatbot.
Créez une condition qui vérifie :
error_payment_button == "Erreur : La date d'expiration du lien doit être postérieure à la date actuelle."
Si la condition est remplie, envoyez un message tel que :
Désolé, vous n'avez pas pu effectuer le paiement à temps. Le lien de paiement a expiré.


Variables client créées par le bouton de paiement
Lorsqu'un client reçoit un message contenant un bouton Paiement, Mavibot crée automatiquement les variables suivantes.
__payments
Une variable système qui stocke le montant du paiement et l'identifiant du lien de paiement généré. Elle est utilisée pour faire correspondre les callbacks reçus du système de paiement.
Important : Ne modifiez pas et ne supprimez pas la variable système
__payments.
error_payment_button
Cette variable est créée automatiquement si une erreur se produit lors de la génération du bouton de paiement.
Elle contient soit le message d'erreur généré par Mavibot, soit l'erreur renvoyée par le système de paiement.
Les valeurs des variables deviennent disponibles après que le chatbot passe au bloc suivant.
Traitement des résultats de paiement
Paiement réussi
Après un paiement réussi, Mavibot reçoit automatiquement le callback suivant :
<10_premiers_caractères_de_la_clé_secrète>_success <montant_du_paiement>
Exemple :
ovg58keefc_success 44
Où :
-
ovg58keefc— les 10 premiers caractères de la clé secrète Prodamus. -
_success— indique un paiement réussi. -
44— le montant du paiement.
Les clients ne voient jamais les callbacks de paiement. Ils sont visibles uniquement dans la section Clients et peuvent être utilisés pour construire la logique du chatbot.
Exemple
Étape 1
Créez un bloc contenant le bouton Paiement.
Étape 2
Créez un bloc Déclencheur ou configurez une flèche menant au bloc suivant.
Collez le callback de paiement dans le déclencheur ou la condition de correspondance.
Le même callback peut également être configuré dans le bloc Condition initiale si votre chatbot nécessite un traitement global des paiements.
Important : Utilisez Correspondance exacte ou Contient des mots-clés comme type de correspondance.
Remarque : Si vous traitez les callbacks sur une flèche spécifique, assurez-vous que le client se trouve toujours dans le bloc contenant cette flèche lorsque le callback arrive. Sinon, la transition ne se produira pas. Pour les flux de chatbot où les clients peuvent se déplacer entre les blocs, il est recommandé de traiter les callbacks dans le bloc Condition initiale à la place.

Paiement d'abonnement réussi
Pour les produits d'abonnement, le format du callback est :
<10_premiers_caractères_de_la_clé_secrète>_success <id_du_produit_d_abonnement>
Exemple :
214009eefc_success 618117
Où :
-
214009eefc— les 10 premiers caractères de la clé secrète. -
_success— paiement réussi. -
618117— l'ID du produit d'abonnement.

Paiement échoué
Si le paiement échoue, Mavibot reçoit le callback suivant :
<10_premiers_caractères_de_la_clé_secrète>_fail <montant_du_paiement>
Exemple :
ovg58keefc_fail 44
Où :
-
ovg58keefc— les 10 premiers caractères de la clé secrète. -
_fail— paiement échoué. -
44— le montant du paiement.
Remarque : Tous les fournisseurs de paiement n'envoient pas de callbacks pour les paiements échoués.
Non-concordance du montant du paiement
Si le montant payé diffère du montant spécifié dans le bouton de paiement, Mavibot reçoit le callback suivant :
<10_premiers_caractères_de_la_clé_secrète>_different_amounts <id_du_paiement>
Exemple :
ovg58keefc_different_amounts 123456
Où :
-
ovg58keefc— les 10 premiers caractères de la clé secrète. -
_different_amounts— indique que le montant payé diffère du montant attendu. -
123456— l'ID unique du paiement.
Fonction de calcul get_prodamus_payment_url
Vous pouvez générer un lien de paiement à l'aide de la fonction get_prodamus_payment_url dans le bloc Calculatrice.
Attribuez le résultat de la fonction à n'importe quelle variable.
Vous pouvez choisir n'importe quel nom de variable. Les captures d'écran ci-dessous utilisent des noms de variables d'exemple.
Le lien de paiement généré est stocké dans la variable et peut être utilisé dans un message ou attaché à un bouton.
Exemple de lien de paiement :
https://payform.ru/7p3JR8/
Exemple

Syntaxe de la fonction
your_variable = get_prodamus_payment_url(
amount,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
Paramètres
| Paramètre | Description |
|---|---|
amount |
Obligatoire. Montant du paiement. Accepte les entiers ou les valeurs décimales (par exemple, 25 ou 52.5). |
product_name |
Obligatoire. Nom du produit. |
expired |
Date d'expiration du lien de paiement. Formats pris en charge : dd.MM.yyyy ou dd.MM.yyyy HH:mm. Vous pouvez également utiliser des variables ou des expressions telles que current_date + 2. Passez '', "" ou None pour ignorer ce paramètre. |
customer_phone |
Numéro de téléphone du client. Facultatif si customer_email est fourni. Passez '' ou "" pour ignorer. |
customer_email |
Adresse e-mail du client. Facultatif si customer_phone est fourni. Passez '' ou "" pour ignorer. |
discount |
Montant de la remise. Accepte les entiers ou les valeurs décimales (par exemple, 25 ou 63.5). Passez '' ou "" pour ignorer. |
description |
Description du produit. Si omis, Prodamus utilise automatiquement Paiement pour la commande order_id. Passez '' ou "" pour ignorer. |
extra_params |
Paramètres supplémentaires de l'API Prodamus non inclus dans les arguments de la fonction. Passez '', "" ou None pour ignorer. |
products_for_receipt |
Données du reçu au format "description du produit - prix - URL du contenu acheté". Obligatoire si vous utilisez la fiscalisation Prodamus sans votre propre caisse en ligne. |
Exemples de date d'expiration
Expire après deux jours :
expired = current_date + 2
Expire dans 30 minutes :
time = current_time + 30
expired = "#{current_date} #{time}"
Exemple de extra_params
extra_params = {
"payments_limit": "3",
"payment_method": "vsegdada_installment_0_0_6"
}
Consultez la documentation de l'API REST Prodamus pour la liste complète des paramètres pris en charge.
Exemple
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Cours de photographie, prix 4999 RUB, https://example.com/course"
payment_link = get_prodamus_payment_url(4999, "Cours de photographie", "27.03.2023 17:00", "79167777771", "[email protected]", 20, "Le meilleur cours de photographie", extra_params, products_for_receipt)
Dans cet exemple :
-
extra_paramscontient des paramètres de paiement supplémentaires. -
products_for_receiptcontient les informations du reçu fiscal. -
payment_linkstocke l'URL de paiement générée.
Si plusieurs fonctions de lien de paiement sont utilisées dans le même bloc Calculatrice et que l'une d'elles échoue, l'erreur est écrite dans la variable
error_payment_func. Seule l'erreur de la dernière fonction est stockée.
Génération d'un lien de paiement à l'aide de payment_sum
Remarque : La valeur de
payment_sumest appliquée après toutes les variables facultatives telles quepayment_description,product_nameet autres.
Au lieu d'appeler get_prodamus_payment_url(), vous pouvez générer un lien de paiement simplement en attribuant une valeur à la variable payment_sum dans le bloc Calculatrice.
Après avoir attribué payment_sum, Mavibot crée automatiquement la variable prodamus_pay_url contenant le lien de paiement.
Exemple :
https://payform.ru/7p3JR8/
Vous pouvez afficher cette variable dans un message ou l'utiliser comme URL d'un bouton.
Variables facultatives
Les variables suivantes peuvent être définies avant d'attribuer payment_sum.
| Variable | Description |
|---|---|
product_name |
Nom du produit. Si omis, la valeur par défaut est Paiement pour la commande order_id. |
payment_description |
Description du produit affichée sur la page de paiement. |
discount_value |
Montant de la remise. Exemple : 25 ou 50.25. |
customer_phone |
Numéro de téléphone du client. |
customer_email |
Adresse e-mail du client. |
link_expired |
Date d'expiration du lien de paiement. |
currency |
Devise de paiement. Valeurs prises en charge : rub, usd, eur, kzt. Doit être en minuscules. |
payment_title |
Titre du paiement (jusqu'à 127 caractères). Par défaut : Paiement payment_id. |
locale |
Langue de la page de paiement (par exemple, ru-RU, en-US, fr-FR). |
products_for_receipt |
Informations du reçu. Obligatoire si vous utilisez la fiscalisation Prodamus sans votre propre caisse en ligne. |
payment_sum |
Obligatoire. Montant du paiement. |
Expiration du lien
Vous pouvez spécifier la date d'expiration de plusieurs manières.
Date spécifique :
25.01.2021
Date et heure spécifiques :
25.01.2021 12:23
Utilisation de variables :
time = current_time + 30
link_expired = "#{current_date} #{time}"
Ou :
link_expired = current_date + 2
Exemple
Tout d'abord, définissez le montant du paiement.

Ensuite, utilisez la variable prodamus_pay_url générée partout où vous devez envoyer le lien de paiement.

Méthodes de paiement disponibles
La variable prodamus_available_payment_methods doit être définie avant payment_sum.
Les valeurs prises en charge incluent :
| Valeur | Description |
|---|---|
AC |
Cartes bancaires russes |
ACkz |
Cartes bancaires kazakhes |
ACf |
Cartes bancaires de la CEH (hors Russie) |
ACEURNMBX |
Cartes en EUR (hors Russie et Biélorussie) |
SBP |
Système de paiement plus rapide (Russie) |
QW |
Portefeuille QIWI |
PC |
YooMoney |
GP |
Terminal de paiement |
sbol |
Sberbank Online |
invoice |
Paiement par facture |
installment |
Paiement échelonné Prodamus |
credit |
Crédit T-Bank |
monetaworld |
Cartes internationales (hors Russie) |
Plusieurs méthodes de paiement peuvent être spécifiées en les séparant par une barre verticale (|).
Exemple :
prodamus_available_payment_methods = "AC|PC|QW"
Devise
Vous pouvez spécifier la devise de paiement à l'aide de la variable prodamus_currency.
Valeurs prises en charge :
kztusdeur
La page de paiement générée affichera le montant dans la devise sélectionnée.
Lors du traitement du rappel payment_callback, faites attention aux champs suivants :
currencycurrency_sum
Ils contiennent la devise de paiement et le montant payé.
Si aucune méthode de paiement n'est spécifiée, la page de paiement n'affichera aucune méthode de paiement disponible. Activez d'abord les méthodes de paiement requises dans votre compte Prodamus.
Traitement des résultats de paiement
Rappels de paiement
Après un paiement réussi ou échoué, Mavibot reçoit des rappels qui peuvent être utilisés pour déterminer le statut du paiement.
Les rappels apparaissent dans la conversation sous forme de messages système. Les clients ne voient ni n'envoient jamais ces messages.
Exemples :
Paiement réussi :
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success
Paiement échoué :
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail
Après un paiement réussi, la variable client suivante est automatiquement créée :
prodamus_payment_completed = True
Remarque : Les rappels sont reçus avec un léger délai. Après avoir envoyé le lien de paiement, il est recommandé d'informer le client que la confirmation du paiement peut prendre quelques instants.
Exemple de message :
Après avoir effectué le paiement, veuillez patienter pour la confirmation du paiement.
Format du rappel
Les liens de paiement générés soit par le bouton Paiement, soit par la fonction get_prodamus_payment_url() renvoient le rappel suivant après un paiement réussi :
<secret_key>_success
Exemple :
ovg58keefc_success
Où :
-
<secret_key>est votre clé secrète Prodamus. -
_successindique un paiement réussi.
Exemple
Créez un déclencheur ou un bloc conditionnel qui attend le rappel, puis continue le flux du chatbot.

Important : Utilisez Correspondance exacte comme type de correspondance.
Si vous souhaitez générer un autre lien de paiement après un paiement réussi, réinitialisez d'abord les informations de paiement existantes.
Définissez :
payment_sum = 0
Attribuez ensuite une nouvelle valeur à payment_sum pour générer un nouveau lien de paiement.
Rappels d'abonnement
Prodamus envoie également des rappels liés au statut de l'abonnement.
Les exemples incluent :
- Abonnement annulé par le client
- Abonnement réactivé par le client
- Abonnement désactivé après plusieurs tentatives de paiement échouées

Abonnement annulé
Envoyé lorsque le client annule manuellement son abonnement.
La période de facturation payée en cours peut rester active.
Vous pouvez utiliser ce rappel pour :
- ignorer l'événement ;
- notifier votre équipe ;
- envoyer un message de rétention au client.
Abonnement réactivé
Envoyé lorsque le client restaure un abonnement précédemment annulé.
En fonction de votre logique métier, vous pouvez ignorer ce rappel ou supprimer le client d'un flux de rétention.
Abonnement désactivé
Envoyé après plusieurs tentatives de paiement récurrent infructueuses.
Sauvegarde des données de rappel
Après un paiement réussi, la charge utile complète du rappel est stockée dans la variable suivante :
payment_callback
Elle contient toutes les informations de paiement renvoyées par Prodamus.
Exemple :
{
"date": "2021-03-30T11:44:43+03:00",
"order_id": "757679",
"sum": "14.50",
"customer_phone": "+77777777777",
"customer_extra": "Produit",
"payment_status": "success"
}
Si vous avez spécifié product_name et payment_description lors de la génération du lien de paiement, vous pouvez les récupérer à partir du rappel.
Exemple :
product = get(payment_callback, "products[0][name]")
description = get(payment_callback, "customer_extra")
Récupérez le montant du paiement :
amount = get(payment_callback, "sum")
Remarque : La valeur de
payment_sumest toujours attribuée après les variables facultatives telles quepayment_descriptionetproduct_name.
Rappels disponibles
En plus des rappels de paiement réussi, Prodamus envoie divers rappels système qui peuvent être utilisés pour automatiser votre chatbot.
Événements d'abonnement
- Abonnement annulé par le client
- Abonnement réactivé par le client
- Abonnement expiré
Événements d'échec de paiement
Selon le fournisseur de paiement, vous pouvez recevoir des rappels avec la raison de l'échec, par exemple :
- Paiement échoué – Fonds insuffisants
- Paiement échoué – Carte expirée
- Paiement échoué – Limite de carte dépassée
- Paiement échoué – Carte signalée comme perdue
- Paiement échoué – Erreur système
- Paiement échoué – Transaction refusée par la banque émettrice
- Paiement échoué – Transaction refusée par la banque
Autres événements
- Notification de paiement récurrent à venir
- Demande de paiement échelonné approuvée
- Demande de paiement échelonné annulée
- Demande de paiement échelonné rejetée
Vous pouvez créer des flux de chatbot qui réagissent à n'importe lequel de ces rappels.
Par exemple, vous pouvez notifier automatiquement les clients lorsqu'un paiement récurrent échoue.
Pour traiter une raison d'échec spécifique, créez un déclencheur qui correspond au rappel correspondant.

Pour traiter tous les paiements échoués, quelle qu'en soit la raison, utilisez une condition qui vérifie si le rappel contient :
Paiement échoué

Tout rappel contenant le texte Paiement échoué déclenchera l'action configurée du chatbot.
Paiements d'abonnement
Création d'un abonnement
Avant d'accepter des paiements par abonnement, créez un produit d'abonnement dans votre compte Prodamus.
Pour des instructions détaillées, consultez la documentation Prodamus.
Après avoir créé le produit d'abonnement, copiez son ID de produit d'abonnement.

Attribuez l'ID de produit d'abonnement à la variable suivante :
prodamus_subscription
Mavibot génère automatiquement la variable suivante :
prodamus_pay_url
L'URL générée peut être affichée dans un message ou attachée à un bouton.
Exemple :
https://payform.kz/7p3JR8/
Les paiements par abonnement sont traités exactement de la même manière que les paiements uniques.
Après un paiement d'abonnement réussi, le numéro de téléphone du client est automatiquement enregistré dans la variable customer_phone.
Si
customer_emailn'est pas fourni,customer_phoneest requis pour la gestion de l'abonnement.
get_prodamus_subscription_url
Vous pouvez également générer des liens de paiement d'abonnement à l'aide du Calculateur.
Fonction :
get_prodamus_subscription_url(
subscription_id,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
Exemple

Paramètres
| Paramètre | Description |
|---|---|
subscription_id |
Requis. ID du produit d'abonnement depuis votre compte Prodamus. |
product_name |
Requis. Nom du produit. |
expired |
Date d'expiration du lien de paiement. Prend en charge dd.MM.yyyy ou dd.MM.yyyy HH:mm. Les variables sont également prises en charge. |
customer_phone |
Numéro de téléphone du client. Optionnel si customer_email est spécifié. |
customer_email |
Adresse e-mail du client. Optionnel si customer_phone est spécifié. |
discount |
Montant de la réduction. |
description |
Description du produit. |
extra_params |
Paramètres supplémentaires de l'API Prodamus. |
products_for_receipt |
Informations sur le reçu. Requis lors de l'utilisation de la fiscalisation Prodamus sans votre propre caisse en ligne. |
Exemple
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Abonnement au cours de photographie, 2000 RUB/mois, https://example.com/course"
subscription_link = get_prodamus_subscription_url(618988, "Cours de photographie", "27.03.2023 17:02", "79167777771", "[email protected]", 20, "Abonnement premium", extra_params, products_for_receipt)
Si plusieurs fonctions de lien de paiement sont exécutées dans le même bloc Calculateur et que l'une d'elles échoue, l'erreur est stockée dans la variable
error_payment_func.
Gestion du statut de l'abonnement
La gestion de l'abonnement est disponible uniquement pour les abonnements actifs. Elle n'est pas prise en charge en mode démo car aucune carte de paiement n'est liée.
Pour gérer un abonnement, au moins un des paramètres suivants doit être disponible :
customer_phonecustomer_email
Pour annuler ou réactiver un abonnement, utilisez la fonction suivante :
delete_subscription_prodamus
Exemple de paramètres :
{
"customer_phone": "#{customer_phone}",
"id_subscription": "#{prodamus_subscription}",
"url": "https://demo.payform.ru/",
"secret_key": "453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",
"switcher": "0",
"profile_id": "12345"
}
Paramètres
| Paramètre | Description |
|---|---|
url |
URL du formulaire de paiement configurée dans Mavibot. |
secret_key |
Votre clé secrète Prodamus. |
id_subscription |
ID du produit d'abonnement. |
customer_phone |
Numéro de téléphone de l'abonné. |
switcher |
Action sur l'abonnement : 0 – désactiver, 1 – réactiver. |
profile_id |
ID du profil client dans Prodamus. |
Si un ID de profil est renvoyé par Prodamus, il est automatiquement enregistré dans la variable
profile_id. Vous pouvez utiliser cette variable à la place decustomer_phoneoucustomer_emaillors de la gestion des abonnements.
Exemple :

La fonction renvoie une valeur de statut.
Si l'opération réussit :
status = ok
prodamus_subscription_switch_status
Vous pouvez également gérer les abonnements à l'aide du Calculateur.
prodamus_subscription_switch_status(
subscription_id,
switcher,
customer_phone,
customer_email,
profile_id
)
Paramètres
| Paramètre | Description |
|---|---|
subscription_id |
ID du produit d'abonnement. |
switcher |
0 – désactiver l'abonnement, 1 – réactiver l'abonnement. |
customer_phone |
Numéro de téléphone du client. Optionnel si customer_email est fourni. |
customer_email |
Adresse e-mail du client. Optionnel si customer_phone est fourni. |
profile_id |
ID du profil client dans Prodamus. |
Exemple 1
Désactiver un abonnement en utilisant le numéro de téléphone du client.
status = prodamus_subscription_switch_status(
"618117",
"0",
"75431312321"
)
Exemple 2
Désactiver un abonnement en utilisant l'adresse e-mail du client.
status = prodamus_subscription_switch_status(
"618117",
"0",
"",
"[email protected]"
)
La fonction renvoie
oksi l'opération réussit. Sinon, elle renvoie un message d'erreur.
Gestion des réductions d'abonnement
Utilisez la fonction suivante pour appliquer une réduction aux futurs paiements récurrents.
La réduction peut être appliquée pour un nombre limité de paiements ou indéfiniment.
prodamus_subscription_discount(
subscription_id,
discount,
customer_phone,
num,
profile_id
)
Paramètres
| Paramètre | Description |
|---|---|
subscription_id |
ID de l'abonnement. |
discount |
Montant de la réduction. Doit être supérieur à zéro et ne pas dépasser le prix de l'abonnement. |
customer_phone |
Numéro de téléphone du client. Optionnel si disponible depuis customer_phone. |
num |
Nombre de futurs paiements auxquels la réduction doit être appliquée. Si omis, la réduction est permanente. |
profile_id |
ID du profil client dans Prodamus. |
En cas de succès, la fonction renvoie :
ok
Sinon, elle renvoie une description de l'erreur.
La mise à jour de la réduction ou du nombre de paiements nécessite d'appeler à nouveau la fonction avec les nouvelles valeurs.
Exemples
Réduction permanente
Appliquer une réduction de 1 à tous les futurs paiements d'abonnement.
result = prodamus_subscription_discount(
"624034",
"1"
)

Réduction pour les trois prochains paiements
result = prodamus_subscription_discount(
"624034",
"2",
"",
"3"
)

Réduction décimale
result = prodamus_subscription_discount(
#{prodamus_subscription},
10.25,
#{customer_phone},
3
)


Modification de la date du prochain paiement d'abonnement
Vous pouvez reporter le prochain paiement récurrent en modifiant sa date prévue.
La nouvelle date de paiement doit toujours être postérieure à la date de paiement actuellement prévue.
Cette fonctionnalité peut être utilisée, par exemple, pour prolonger la période d'abonnement d'un client en guise de bonus.
Utilisez la fonction suivante :
prodamus_subscription_payment_date(
subscription_id,
date,
customer_phone,
profile_id
)
Paramètres
| Paramètre | Description |
|---|---|
subscription_id |
ID de l'abonnement. |
date |
Nouvelle date de paiement au format dd.MM.yyyy ou dd.MM.yyyy HH:mm. Si aucune heure n'est spécifiée, 00:00 est utilisé. |
customer_phone |
Numéro de téléphone du client. Optionnel. Si omis, la valeur est prise depuis la variable customer_phone. |
profile_id |
ID du profil client dans Prodamus. |
Transmission de paramètres supplémentaires à Prodamus
Vous pouvez envoyer des paramètres supplémentaires pris en charge par Prodamus (tels que les dates de début d'abonnement ou les paramètres de versement) lors de la génération d'un lien de paiement.
Créez simplement une variable dont le nom commence par le préfixe prodamus_.
Exemple :
prodamus_some_parameter
Lorsqu'un lien de paiement est généré, toutes les variables avec le préfixe prodamus_ sont automatiquement incluses dans la requête envoyée à Prodamus.
Test des paiements
Seul le processus de paiement est simulé.
Lors de la configuration de votre intégration et de vos flux de chatbot, vous pouvez utiliser les cartes de test Prodamus pour éviter de débiter des fonds réels.
Commencez par basculer votre page de paiement en Mode démo.
N'oubliez pas de cliquer sur Enregistrer après avoir changé le mode.

Cartes de test
MIR
| Champ | Valeur |
|---|---|
| Numéro de carte | 2202 2050 0001 2424 |
| Date d'expiration | 05/35 |
| CVV | 669 |
Mastercard
| Champ | Valeur |
|---|---|
| Numéro de carte | 5469 9801 0004 8525 |
| Date d'expiration | 05/26 |
| CVV | 041 |
| Code 3-D Secure | 111111 |
Visa
| Champ | Valeur |
|---|---|
| Numéro de carte | 4006 8009 0096 2514 |
| Date d'expiration | 05/26 |
| CVV | 941 |
| Code 3-D Secure | 111111 |
Important : Les cartes de test déclenchent la même logique de chatbot, les mêmes rappels, automatismes et intégrations que les paiements réels.
Une fois les tests terminés, basculez la page de paiement en Mode live pour commencer à accepter les paiements réels.
Le bouton du mode démo doit être désactivé (interrupteur rouge désactivé).