Prodamus (KZ)
Comment connecter Prodamus
Pour connecter Prodamus, vous aurez 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 ; voici un exemple : demo.payform.ru.
La clé secrète peut être obtenue dans l’espace personnel, où il faut également indiquer l’URL vers laquelle les notifications (notifications) seront envoyées.

Guide détaillé sur la manière de procéder
Adresse pour les notifications : https://chatter.mavibot.ai/prodamus_callback/result
Cette adresse doit être indiquée dans les paramètres à deux endroits.
Sur la page principale des paramètres, vous pouvez choisir le mode de fonctionnement du formulaire de paiement : mode démo sans paiement ou mode d’acceptation des paiements.

L’adresse pour les notifications doit être indiquée à deux endroits dans les paramètres du système de paiement : « Configuration du formulaire » onglet — pour les paiements uniques (classiques) et « Abonnements » onglet — pour les paiements par abonnement.

Adresse pour les notifications : https://chatter.mavibot.ai/prodamus_callback/result
Pour configurer le travail avec les paiements par abonnement, « Abonnements » ouvrez l’onglet et indiquez l’adresse pour les notifications :
https://chatter.mavibot.ai/prodamus_callback/result

Attention ! Après avoir saisi l’URL, n’oubliez pas d’appuyer sur « Enregistrer » bouton.
Pour connecter Prodamus, « Acquiring » section.

Ensuite, il suffit de saisir les données mentionnées ci-dessus dans le formulaire :

Important ! Lorsque vous indiquez l’URL du formulaire de paiement, https:// ne l’ajoutez pas.
La connexion est ainsi terminée. Voyons maintenant comment utiliser cette fonctionnalité.
Comment créer un lien de paiement
Bouton avec la fonction « Payer »
Un lien de paiement peut être créé dans un bouton avec la fonction « Payer ».
Examinons maintenant tous les paramètres possibles de ce bouton.
Paramètres obligatoires du bouton « Payer » pour Prodamus
Pour créer un lien de paiement, il faut indiquer les paramètres obligatoires dans les réglages du bouton : « Montant », « Nom du produit », ainsi que le paramètre « Contenu payé » — si vous n’avez pas votre propre caisse en ligne et souhaitez recevoir un reçu de Prodamus.
Lorsque l’on passe à la page de commande, les informations sur le produit et son prix sont affichées à l’avance, et le client ne saisit que ses coordonnées.
Si l’e-mail et/ou le téléphone de l’utilisateur sont indiqués dans les réglages du bouton, la page de commande affichera les coordonnées du payeur ainsi que les informations sur le produit et son prix.

Champ « Texte » — ce texte sera affiché dans le message avec le bouton contenant le lien de paiement.
Champ « Fonction » — pour créer un bouton donnant un lien de paiement, nous choisissons la fonction « Payer ».
Champ « Système de paiement » — les systèmes de paiement connectés au projet sont affichés dans la liste. Si aucun système de paiement n’est connecté au projet, ce type de bouton ne sera pas disponible.
Champ « Nom du produit » (obligatoire) — il faut indiquer le nom exact du produit. Par exemple : pas « Téléphone », mais « Smartphone Xiaomi, modèle … ». Remarque : les guillemets doubles ne peuvent pas être utilisés dans le nom du produit ; supprimez-les ou remplacez-les par des guillemets simples.
Champ « Montant » (obligatoire) — nous indiquons le prix du produit.
Menu « Informations supplémentaires » — en cliquant sur ce bouton, des champs supplémentaires pour créer le lien s’ouvrent :
Description de la commande
Réduction en roubles
Variable de l’e-mail de l’acheteur
Variable du numéro de téléphone de l’acheteur
Durée de validité du lien
ID du produit pour abonnement (pour créer un paiement automatique)
Contenu payé
Case à cocher « Notification au clic » — peut être activée pour suivre le passage vers le lien de paiement. Dans ce cas, lorsqu’on clique sur le bouton, un message apparaît dans le dialogue du client dans SaleBot indiquant qu’un passage vers le lien a été effectué.

À partir de ce message, on peut configurer la logique de fonctionnement ultérieure du bot. De nombreux systèmes de paiement prennent en charge les caisses en ligne cloud, nécessaires conformément à la loi 54-FZ.
Lisez sur le site du système de paiement choisi les particularités de l’émission des reçus afin d’éviter des problèmes avec l’administration fiscale.
Voici à quoi ressemble la page de paiement qui s’ouvre lorsqu’on suit le lien dans le bouton « Payer » :

Paramètres supplémentaires pour créer un lien de paiement

Champ « Description de la commande » — les informations saisies dans ce champ seront affichées sur la page de paiement dans Données supplémentaires champ.
Champ « Réduction » — ici, vous pouvez indiquer le montant de la réduction en roubles ou en roubles et kopecks. Pour les kopecks, utilisez le point comme séparateur : 50.99 Sur la page de paiement, le montant Montant à payer sera affiché avec la réduction prise en compte, et le prix principal du produit sera barré.
Champ « Variable de l’e-mail de l’acheteur » (facultatif, si un numéro de téléphone est renseigné) — ici, indiquez l’e-mail de l’utilisateur (client). Vous pouvez aussi utiliser une variable contenant l’e-mail, par exemple : #{email}
Champ « Variable du numéro de téléphone de l’acheteur » (facultatif, si l’e-mail est renseigné) — ici, vous pouvez utiliser une variable contenant le numéro de téléphone de l’acheteur, au format : 79000000000, par exemple : #{phone}
Un e-mail et/ou un téléphone doivent обязательно être renseignés.
Champ « Durée de validité du lien » — la date jj.mm.aaaa hh:mm peut être indiquée au format (par exemple, 25.01.2021 11:00) ou la date d’expiration du lien peut être définie via une variable. Par exemple : #{link_expired}
Champ « ID du produit pour abonnement » — fournissez la valeur de l’ID du produit pour créer un paiement automatique. Pour créer un abonnement, il faut créer un produit d’abonnement. Guide complet : Création et configuration des abonnements Prodamus Si un ID de produit est renseigné pour l’abonnement, le montant du paiement ne sera pas pris en compte. Les informations sur le produit sont prises depuis la fiche produit dans l’espace personnel Prodamus. Le numéro de téléphone indiqué lors du paiement sera nécessaire pour gérer l’abonnement. Si un ID de produit est renseigné pour l’abonnement, en cas de paiement réussi, l’ID de ce produit sera transmis dans le callback.
Champ « Contenu payé » (conditionnellement obligatoire) — ces données sont nécessaires pour fiscaliser le paiement via Prodamus si vous n’avez pas votre propre caisse en ligne. Dans ce champ, indiquez la description de l’achat, son prix et le lien vers le contenu.
Par exemple : Cours « Tressage de cheveux », prix 3000 roubles, lien vers la page du cours : https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911
Bouton avec la fonction « Payer »
Si vous indiquez la durée de validité du lien, la situation suivante se produit : Si l’utilisateur demande le lien de paiement pendant sa période de validité (c’est-à-dire avant l’expiration du lien) et qu’il est dans le dialogue, il ne pourra pas effectuer le paiement, et le message suivant s’affichera :
La date d’expiration du lien doit être postérieure à la date actuelle, sinon le client ne pourra pas payer avec ce lien.
2. Lorsque l’utilisateur demande le lien, s’il n’est pas actif à ce moment-là
Dans ce cas, le bouton ne s’affichera tout simplement pas. Dans les variables du client "error_payment_button" la variable apparaîtra avec la valeur suivante :
"Erreur : La date d’expiration du lien doit être postérieure à la date actuelle".
Pour permettre à l’utilisateur d’effectuer le paiement correctement, il est recommandé de traiter ce cas séparément.
Créez un bloc conditionnel comme suit :
Si le message suivant est reçu :
error_payment_button == "Erreur : La date d’expiration du lien doit être postérieure à la date actuelle"
Alors affichez le texte suivant : "Désolé, vous n’avez pas pu effectuer le paiement à temps, le lien de paiement n’était plus valide".


Variables client créées automatiquement lors de l’utilisation du bouton avec la fonction « Payer »
Lorsqu’un utilisateur reçoit un bloc avec le bouton « Payer », des variables sont automatiquement créées pour le client :
Variable client système __payments — cette variable stocke le montant et l’identifiant du lien créé, et est nécessaire pour identifier le webhook provenant du système de paiement.
Variable client système __paymentsNe pas supprimer ni modifier !
error_payment_button variable client est créée automatiquement si une erreur survient lors de la création du bouton.
Dans cette variable, le texte de l’erreur ou la réponse d’erreur du système de paiement est enregistré.
Les valeurs des variables deviennent à jour lors du passage au bloc suivant.
Comment traiter le résultat
Paiement réussi
Après un paiement réussi, le bot reçoit UN CALLBACK AUTOMATIQUE qui se compose des 10 premiers caractères de la clé secrète du système de paiement, _success du mot et du montant du paiement.
Pour l’utiliser dans la configuration du schéma, il suffit de le copier.
Par exemple : ovg58keefc_success 44, où :
ovg58keefc— les 10 premiers caractères de la clé secrète du système de paiement_success— le résultat du traitement de la requête (paiement réussi)44— le montant du paiement
L’utilisateur NE VOIT PAS les callbacks (notifications) provenant du système de paiement. Ils sont affichés uniquement dans l’onglet « Clients » et visibles par l’opérateur.
Exemple d’utilisation : Étape 1. Nous ajoutons des boutons avec la fonction « Payer » au bloc « Bloc avec bouton de paiement ». Étape 2. Depuis ce bloc vers le bloc « Paiement réussi », nous indiquons le callback dans le champ Condition de liaison . De même, si, dans le bloc « Condition initiale », on indique un callback de paiement réussi dans la condition, le fonctionnement se fera de manière analogue.
Important : Choisir l’option « Correspondance exacte » ou « Contient des mots-clés ».
❗️Si vous décidez de vérifier le paiement dans la flèche indiquée par condition exacte, réfléchissez bien à la logique de votre schéma. Si le client quitte le bloc qui est franchi par callback selon la condition, le passage au bloc n’aura pas lieu. Il est préférable d’utiliser cette méthode de vérification uniquement si le client n’a pas changé de position dans l’entonnoir.
Dans les schémas où le client se déplace entre les blocs, il est plus efficace d’utiliser l’option consistant à indiquer le callback dans le bloc « Condition initiale » .

Paiement réussi pour les produits avec abonnement automatique
Après un paiement réussi, le bot reçoit UN CALLBACK AUTOMATIQUE qui se compose des 10 premiers caractères de la clé secrète du système de paiement, _success du mot et de l’ID du produit d’abonnement.
Par exemple : 214009eefc_success 618117, où :
009eefc— les 10 premiers caractères de la clé secrète du système de paiement_success— le résultat du traitement de la requête (paiement réussi)618117— ID du produit d’abonnement

Paiement en erreur
En cas d’erreur lors de l’exécution du paiement, le bot reçoit UN CALLBACK AUTOMATIQUE qui se compose des 10 premiers caractères de la clé secrète du système de paiement, _fail du mot et du montant du paiement.
Par exemple : ovg58keefc_fail 44, où :
ovg58keefc— les 10 premiers caractères de la clé secrète du système de paiement_fail— le résultat du traitement de la requête (paiement non effectué ou erreur)44— le montant du paiement
Cela dépend du système de paiement. Tous les systèmes de paiement n’envoient pas de callback en cas d’erreur de paiement.
Si le montant indiqué dans les réglages du bouton diffère du montant payé par le client, le bot reçoit UN CALLBACK AUTOMATIQUE . Il se compose des 10 premiers caractères de la clé secrète du système de paiement, _different_amounts du mot et de l’ID unique du paiement.
Par exemple : ovg58keefc_different_amounts 123456, où :
ovg58keefc— les 10 premiers caractères de la clé secrète du système de paiement_different_amounts— le résultat du traitement de la requête (le montant du paiement diffère du montant indiqué dans le lien)123456— l’ID unique du paiement
Dans le calculateur get_prodamus_payment_url fonction
get_prodamus_payment_url fonctionPour créer un lien de paiement, dans le bloc Calculateur, get_prodamus_payment_url fonction peut être utilisée.
Dans le champ Calculateur, attribuons à la variable la valeur de cette fonction : get_prodamus_payment_url.
Vous choisissez vous-même le nom de la variable. Les captures d’écran montrent des exemples de noms de variables.
Le lien de paiement sera écrit dans cette variable. Vous pouvez afficher la variable comme lien dans un message ou la placer dans un bouton avec le texte « Payer ».
Exemple de lien de paiement : https://payform.kz/7p3JR8/
Exemple 1 :

your_variable = get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Paramètres de la fonction :
amount
Montant du paiement — peut être fourni comme un entier ou comme un nombre décimal séparé par un point. Par exemple : 25 ou 52.5. (paramètre obligatoire)
product_name
Nom du produit (paramètre obligatoire)
expired
Durée de validité du lien de paiement — jj.mm.aaaa au format (par exemple, 25.01.2021).
De plus, Calculateur dans le champ, vous pouvez indiquer ce qui suit :
expired = current_date + 2 (le lien sera valide pendant 2 jours jusqu’à 00:00).
Il est également possible d’indiquer une heure exacte : jj.mm.aaaa hh:mm (par exemple, 25.01.2021 12:23).
Vous pouvez aussi utiliser des variables standard, par exemple pour fixer la validité du lien à 30 minutes :
Si vous voulez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple, un guillemet double ou None valeur.
customer_phone
Numéro de téléphone de l’acheteur — facultatif, si le paramètre customer_email est fourni.
Si vous voulez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou un guillemet double.
customer_email
Adresse e-mail de l’acheteur — facultatif, si le paramètre customer_phone est fourni.
Si vous voulez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou un guillemet double.
discount
Montant de la réduction — le paramètre peut être fourni comme un entier ou comme un nombre avec un point : 25 ou 63.5.
Si vous voulez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou un guillemet double.
description
Description du produit (si non indiqué, sera rempli automatiquement par 'Paiement de la facture order_id' ).
Si vous voulez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou un guillemet double.
extra_params
Paramètres supplémentaires, paramètres absents de cette fonction. Les paramètres supplémentaires disponibles peuvent être consultés dans la documentation de travail avec l’API du système de paiement : Prodamus REST API
Par exemple :
Si vous voulez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple/double ou None valeur.
products_for_receipt
Chaîne de 50 à 4000 caractères au format "description de la commande - prix - lien vers la ressource achetée".
Par exemple :
“Cours « Pêche à la brème », prix 4999 roubles, lien vers la page du cours : https://www.lovilescha.ru/courses/poimai_kilogram/"
Ce paramètre est obligatoire si vous n’avez pas votre propre caisse en ligne et est nécessaire pour fiscaliser le paiement via Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Cours « Pêche à la brème », prix 4999 tenge, lien vers la page du cours : https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_url = get_prodamus_payment_url( 4999, 'Cours « Pêche à la brème »', '27.03.2023 17:00', '79167777771', '[email protected]', 20, 'Le meilleur cours du marché', extra_params, products_for_receipt
Dans cet exemple :
extra_params— paramètres supplémentaires (par exemple, limite de paiement).products_for_receipt— informations sur le produit affichées sur le reçu.get_prodamus_payment_urlLe lien de paiement est créé via la fonction.
Si plusieurs fonctions de génération de lien sont présentes dans le bloc et qu’une erreur survient, la valeur de l’erreur sera écrite dans la variable error_payment_func .
L’erreur est écrite dans le Calculateur selon la dernière fonction.
payment_sum création du lien via la variable et des paramètres supplémentaires
payment_sum création du lien via la variable et des paramètres supplémentairesAttention : payment_sum la valeur de la variable est prise à partir de la dernière variable, c’est-à-dire après les variables facultatives : payment_description, product_name et autres.
Pour créer un lien de paiement, Dans le champ Calculateur, payment_sum il suffit de définir la valeur de la variable.
Après cela, prodamus_pay_url la variable apparaîtra automatiquement.
Exemple de lien de paiement : https://payform.ru/7p3JR8/
Vous pouvez afficher cette variable comme lien dans un message ou la placer dans un bouton avec le texte « Payer ».
payment_sum Avant de déclarer la variable, vous pouvez spécifier les variables facultatives suivantes :
product_name
Nom du produit (si non indiqué, sera automatiquement rempli par "Paiement de la facture order_id") – la capture d’écran ci-dessous montre où il est affiché.
payment_description
Description du produit (si non indiqué, sera rempli automatiquement par 'Paiement de la facture order_id' sera rempli) – la capture d’écran ci-dessous montre où il est affiché.
discount_value
Montant de la réduction (par exemple, discount_value = 25 ou discount_value = 50.25)
customer_phone
Numéro de téléphone de l’acheteur — facultatif, si un autre paramètre est fourni.
customer_email
Adresse e-mail de l’acheteur
link_expired
Durée de validité du lien de paiement — jj.mm.aaaa au format (par exemple, 25.01.2021).
De plus, Calculateur dans le champ, vous pouvez indiquer ce qui suit :
link_expired = current_date + 2 (le lien sera valide pendant 2 jours jusqu’à 00:00).
link_expired
Vous pouvez également indiquer une heure exacte, au format : jj.mm.aaaa hh:mm (par exemple, 25.01.2021 12:23).
Vous pouvez aussi utiliser des variables standard, par exemple pour fixer la durée de validité du lien à 30 minutes :
time = current_time + 30 link_expired = "#{current_date} #{time}"
currency
Devise du paiement, par défaut "rub".
Liste complète des arguments :
rubusdeurkzt
Ce paramètre doit être fourni en minuscules.
payment_title
Titre du paiement (jusqu’à 127 caractères). Si non indiqué, il sera automatiquement rempli avec le texte suivant :
“Paiement de la facture payment_id” (payment_id — identifiant de la commande dans MaviBot).
payment_description
Brève description du paiement (jusqu’à 127 caractères)
locale
Langue de la page de paiement — en-US, fr-XC etc. Le format de présentation. La valeur par défaut est ru-RU.
La liste complète est disponible via ce lien
products_for_receipt
Chaîne de 50 à 4000 caractères au format "description de la commande - prix - lien vers la ressource achetée".
Par exemple :
“Cours « Pêche à la brème », prix 4999 tenge, lien vers la page du cours : https://www.lovilescha.ru/courses/poimai_kilogram/"
Ce paramètre obligatoire est nécessaire pour fiscaliser le paiement via Prodamus si vous n’avez pas votre propre caisse en ligne.
payment_sum
(obligatoire) montant du paiement
discount_value, customer_phone, customer_email et link_expired les variables sont également pertinentes pour les abonnements.

Exemple de mise en œuvre. Dans le premier bloc, nous définissons le montant du paiement :

À l’étape suivante, au besoin, prodamus_pay_url le lien est affiché :

prodamus_available_payment_methods variable payment_sum est définie avant de déclarer.
Valeurs possibles :
AC
Paiement par carte émise en РФ
ACkz
Paiement par carte du Kazakhstan
ACf
Paiement par cartes des pays de la CEI, sauf la РФ
ACEURNMBX
Paiement par carte EUR de tous les pays, sauf la Russie et la Biélorussie
SBP
Paiement rapide, sans saisir les données de la carte. Pour les cartes russes
QW
Qiwi wallet
PC
Юmoney
GP
Terminal de paiement
sbol
Sberbank en ligne
invoice
Paiement par facture
installment
Paiement échelonné via Prodamus
installment_5_21
Paiement échelonné sur 3 mois via Prodamus
installment_6_28
Paiement échelonné sur 6 mois via Prodamus
installment_10_28
Paiement échelonné sur 10 mois via Prodamus
installment_12_28
Paiement échelonné sur 12 mois via Prodamus
installment_0_0_3
Paiement échelonné sur 3 mois via Tinkoff
installment_0_0_4
Paiement échelonné sur 4 mois via Tinkoff
installment_0_0_6
Paiement échelonné sur 6 mois via Tinkoff
installment_0_0_10
Paiement échelonné sur 10 mois via Tinkoff
installment_0_0_12
Paiement échelonné sur 12 mois via Tinkoff
installment_0_0_24
Paiement échelonné sur 24 mois via Tinkoff
installment_0_0_36
Paiement échelonné sur 36 mois via Tinkoff
credit
Crédit via Tinkoff
vsegdada_installment_0_0_4
Paiement échelonné sur 4 mois via « Vsegdada » (ne fonctionne pas avec available_payment_methods)
vsegdada_installment_0_0_6
Paiement échelonné sur 6 mois via « Vsegdada »
vsegdada_installment_0_0_10
Paiement échelonné sur 10 mois via « Vsegdada »
vsegdada_installment_0_0_12
Paiement échelonné sur 12 mois via « Vsegdada »
vsegdada_installment_0_0_24
Paiement échelonné sur 24 mois via « Vsegdada »
vsegdada_installment_0_0_36
Paiement échelonné sur 36 mois via « Vsegdada »
sbrf_installment_0_0_6
Paiement échelonné sur 6 mois via Sberbank
sbrf_installment_0_0_10
Paiement échelonné sur 10 mois via Sberbank
sbrf_installment_0_0_12
Paiement échelonné sur 12 mois via Sberbank
sbrf_installment_0_0_24
Paiement échelonné sur 24 mois via Sberbank
sbrf_installment_0_0_36
Paiement échelonné sur 36 mois via Sberbank
otp_installment_0_0_6
Paiement échelonné sur 6 mois via la « Banque OTP »
otp_installment_0_0_10
Paiement échelonné sur 10 mois via la « Banque OTP »
otp_installment_0_0_12
Paiement échelonné sur 12 mois via la « Banque OTP »
otp_installment_0_0_24
Paiement échelonné sur 24 mois via la « Banque OTP »
otp_installment_0_0_36
Paiement échelonné sur 36 mois via la « Banque OTP »
mts_installment_0_0_6
Paiement échelonné sur 6 mois via la « Banque MTS »
mts_installment_0_0_10
Paiement échelonné sur 10 mois via la « Banque MTS »
mts_installment_0_0_12
Paiement échelonné sur 12 mois via la « Banque MTS »
mts_installment_0_0_24
Paiement échelonné sur 24 mois via « MTS Bank »
mts_installment_0_0_36
Paiement échelonné sur 36 mois via « MTS Bank »
monetaworld
Cartes des banques mondiales, à l’exception de la Russie
sbrf_bnpl
Paiement échelonné via Sber
Plusieurs valeurs par la barre verticale sont autorisées à être séparées. Par exemple :
prodamus_currency — c’est un autre paramètre supplémentaire qui permet d’afficher le montant dans une devise donnée.
Devises possibles :
kzt— pour le tengeeur— pour l’eurousd— pour le dollar
Ainsi, le montant indiqué dans le lien sera dans la devise choisie.
Callback payment_callback à la réception de currency et currency_sum il faut faire attention aux paramètres, où la devise et le montant sont indiqués.
Si ce n’est pas indiqué, la redirection se fera vers une page sans méthodes de paiement. Les méthodes de paiement peuvent être ajoutées via le support. Vous pouvez voir les méthodes ajoutées dans les paramètres de la page ou en testant le lien de paiement.


Comment traiter le résultat
Paiement réussi
Important : après un paiement réussi ou échoué, des callbacks sont envoyés au bot, grâce auxquels vous pouvez déterminer si le paiement a été effectué avec succès.
Les callbacks apparaissent dans le système comme des messages venant de l’utilisateur, mais l’utilisateur ne peut pas les envoyer. Ils se présentent sous la forme d’une combinaison d’une clé secrète et d’un statut. Par exemple :
ou
Après un paiement réussi prodamus_payment_completed la variable True prend automatiquement la valeur.
Remarque : Les callbacks arrivent avec un léger délai, il est donc préférable d’envoyer le message à l’utilisateur après l’envoi du lien :
« Après avoir effectué le paiement, attendez la confirmation de réussite du paiement. »
Structure du callback
Pour les liens créés via le bouton Paiement ou via la fonction du Calculateur, un callback est envoyé automatiquement au bot après le paiement. Il se compose de :
Par exemple :
ovg58keefc— la clé secrète complète du système de paiement_success— le résultat du traitement de la requête (paiement réussi)
Utilisation pratique
Vous pouvez traiter un paiement réussi via un bloc conditionnel et afficher au utilisateur le message approprié.

Le type de comparaison doit être "Full match" / "Correspondance complète"
Pour effectuer un paiement à nouveau, il est nécessaire de payment_sum mettre la variable à zéro et supprimer le lien précédemment créé. Ce n’est qu’ensuite qu’il est possible de payment_sum attribuer une nouvelle valeur à la variable et d’obtenir un lien mis à jour.
Désactivation/réactivation de l’abonnement
De plus, dans le système Prodamus, il existe des notifications concernant l’activation ou l’arrêt de l’abonnement :

« L’abonnement a été désactivé par l’utilisateur » — si l’abonnement est arrêté manuellement (par exemple, en cas de désabonnement). Ce message peut arriver avant la fin de la période payée en cours. L’action dépend de votre décision : ignorer, surveiller ou tenter de récupérer l’utilisateur.
« L’abonnement a été réactivé par l’utilisateur » — l’abonnement a été rétabli. Ce message peut arriver avant la fin de la période payée en cours si l’utilisateur rétablit son abonnement. L’action dépend de votre décision : ignorer ou retirer de la liste de surveillance.
« Désactivation de l’abonnement » — si l’abonnement est arrêté après plusieurs paiements échoués.
Enregistrement des valeurs à partir du callback
Après réception d’un message de paiement réussi payment_callback la variable contiendra un callback de Prodamus, avec toutes les données de paiement. Vous pouvez enregistrer ces données et les utiliser comme vous le souhaitez.
Exemple de callback :
Lors de la création du lien product_name et payment_description les variables peuvent être indiquées. Dans ce cas, lorsqu’un callback arrive, elles peuvent être récupérées comme suit :

Attention : payment_sum la variable prendra la dernière valeur, qui se trouve après les variables non obligatoires : payment_description, product_name.
Le montant peut être récupéré comme suit :
Callbacks disponibles
En plus des callbacks principaux de paiement réussi, les messages suivants apparaîtront dans le chat et ne seront pas visibles par l’utilisateur :
callbacks
L’abonné a désactivé l’abonnement (plus de détails ici)
L’abonné a réactivé l’abonnement (plus de détails ici)
L’abonnement est terminé
Paiement non réussi - avec une note explicative (comme sur la capture ci-dessus)
Notification d’un prélèvement à venir - date et heure du prochain prélèvement
Demande de paiement échelonné avec le statut
Exemples de callbacks dans une conversation avec le client
L’abonné a désactivé l’abonnement
L’abonné a réactivé l’abonnement
L’abonnement est terminé
Paiement non réussi - Fonds insuffisants.
Paiement non réussi - Carte expirée.
Paiement non réussi - Limite de carte dépassée.
Paiement non réussi - Carte perdue
Paiement non réussi - Erreur système
Paiement non réussi - Opération refusée. Veuillez contacter la banque émettrice de la carte.
Paiement non réussi - Refus d’exécuter l’opération par la banque émettrice.
Paiement non réussi - Refus d’exécuter l’opération par la banque.
Notification d’un prélèvement à venir - jj.mm.aaaa hh:mm
La demande de paiement échelonné est approuvée
La demande de paiement échelonné est annulée
La demande de paiement échelonné est rejetée
Si vous le souhaitez, vous pouvez configurer l’envoi de n’importe quel message à l’utilisateur. Par exemple, envoyer un message en cas d’échec du paiement automatique.
Vous pouvez configurer des blocs de réponse au message pour un échec de paiement selon une cause précise comme suit :

Pour envoyer un message à tous les paiements échoués, quelle qu’en soit la raison, vous pouvez configurer comme suit :

Dans tous les callbacks, si le texte contient « Paiement échoué » un message avec le texte que vous avez défini sera envoyé à l’utilisateur.
Comment effectuer un paiement par abonnement
Comment créer un abonnement
Pour créer un abonnement, il faut d’abord créer un produit d’abonnement . Guide complet : Comment créer et configurer un abonnement
Ensuite, nous copions l’ID du produit d’abonnement. Par exemple, ci-dessous il est indiqué où le récupérer :
Pour créer un lien de paiement d’abonnement, prodamus_subscription la variable doit contenir l’ID l’ID du produit d’abonnement. Après cela, automatiquement prodamus_pay_url la variable apparaîtra automatiquement.

Traduction en français (style professionnel) :
prodamus_pay_url la variable peut être affichée à l’écran comme un lien ou placée sur un bouton avec le texte « Payer ». Exemple de lien : https://payform.kz/7p3JR8/
Le traitement du résultat s’effectue comme pour un paiement unique (comme vu ci-dessus).
Après un abonnement réussi, le numéro de téléphone saisi lors du paiement est ajouté à l’utilisateur customer_phone la variable. Le numéro de téléphone est nécessaire pour gérer l’abonnement.
Si customer_email n’est pas fourni, alors pour gérer l’abonnement customer_phone est obligatoire.
get_prodamus_subscription_url comment créer un lien d’abonnement avec la fonction
get_prodamus_subscription_url comment créer un lien d’abonnement avec la fonctionVoyons une autre méthode pour créer un lien de paiement par abonnement pour un produit.
Un produit d’abonnement est créé dans l’espace personnel Prodamus. Le guide complet peut être consulté via ce lien : Comment créer et configurer un abonnement
Ensuite, nous copions l’ID du produit d’abonnement. Par exemple, ci-dessous il est indiqué où le récupérer :
Pour obtenir un lien de paiement d’un produit par abonnement dans le Calculateur, nous indiquons la fonction
get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Exemple 1 : Lien de paiement pour un produit par abonnement

link = get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Paramètres de la fonction :
subscription_id
ID du produit d’abonnement — peut être copié depuis l’espace Prodamus (paramètre obligatoire).
product_name
Nom du produit (paramètre obligatoire).
expired
Durée de validité du lien de paiement — au format jj.mm.aaaa (par exemple, 25.01.2021).
Peut aussi être indiqué dans le champ « Calculateur » :
expired le paramètre peut aussi être indiqué avec l’heure exacte, format : jj.mm.aaaa hh:mm (par exemple, 25.01.2021 12:23).
Vous pouvez aussi utiliser des variables standard, par exemple pour définir la durée de validité du lien à 30 minutes :
Si vous souhaitez omettre ce paramètre, mettez à la place une simple ou double apostrophe, ou None valeur.
customer_phone
Numéro de téléphone de l’acheteur — facultatif, si le paramètre customer_email si le paramètre est fourni.
Si vous souhaitez omettre ce paramètre, mettez à la place une simple ou double apostrophe.
customer_email
E-mail de l’acheteur — facultatif, si le paramètre customer_phone si le paramètre est fourni.
Si vous souhaitez omettre ce paramètre, mettez à la place une simple ou double apostrophe.
discount
Montant de la réduction — le paramètre peut être fourni comme entier ou décimal : 25 ou 63.5.
Si vous souhaitez omettre ce paramètre, mettez à la place une simple ou double apostrophe.
description
Description du produit — si non renseigné, 'Paiement de la facture order_id' est rempli par défaut.
Si vous souhaitez omettre ce paramètre, mettez à la place une simple ou double apostrophe.
extra_params
Paramètres supplémentaires, ce sont des paramètres absents dans cette fonction. Les paramètres supplémentaires possibles peuvent être consultés dans la documentation API du système de paiement : Guide Prodamus REST API
Exemple :
Si vous souhaitez omettre ce paramètre, mettez à la place une simple/double apostrophe ou None valeur.
products_for_receipt
une chaîne de 50 à 4000 caractères, format : "description de la commande - prix - lien vers la ressource achetée"
Exemple : Cours « Pêche au brème », prix 4999 tenge, lien vers la page du cours : https://www.lovilescha.ru/courses/poimai_kilogram/.
Ce paramètre est obligatoire, il est nécessaire pour fiscaliser les paiements via Prodamus si vous n’avez pas votre propre caisse en ligne.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Cours ‘Pêche au brème’, prix de l’abonnement mensuel 2000 tenge, lien vers la page du cours : https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_sub = get_prodamus_subscription_url(618988, 'Cours ‘Pêche au brème’', '27.03.2023 17:02', '79167777771', '[email protected]', 20, 'Le meilleur cours du marché', extra_params, products_for_receipt)
S’il y a une erreur dans le bloc lors de la récupération du lien via plusieurs fonctions, la valeur de l’erreur error_payment_func sera enregistrée dans la variable.
L’erreur est écrite dans le Calculateur selon la dernière fonction.
Comment gérer le statut de l’abonnement
Cette méthode est destinée uniquement aux abonnements réels ; il n’y a pas de liaison de carte en mode démo.
Pour gérer l’abonnement, il est impératif que customer_phone ou customer_email l’un des paramètres soit fourni.
Pour désinscrire un utilisateur de l’abonnement, il faut créer un bloc et appeler la fonction suivante : delete_subscription_prodamus
Exemple de paramètres :
url— l’URL du formulaire de paiement, obtenue depuis les paramètres du constructeursecret_key— la clé secrète obtenue depuis les paramètresid_subscription— l’ID du produit d’abonnementcustomer_phone— le téléphone du titulaire de l’abonnementswitcher— gestion de l’abonnement :0— arrêter l’abonnement,1— réactiver l’abonnementprofile_id— l’ID du profil dans le système Prodamus
Remarque :
Si l’ID du profil est présent, il est profile_id enregistré dans la variable.
profile_id à la fonction customer_phone ou customer_email et peut être utilisé pour arrêter l’abonnement.
Exemple : configuration des blocs d’abonnement

Veuillez noter que la fonction status renvoie, vous pouvez le sauvegarder et le traiter comme vous le souhaitez. Lors de l’arrêt ou de la réactivation réussie de l’abonnement, status = ok sera
Fonction de gestion de l’abonnement
prodamus_subscription_switch_status(subscription_id, switcher, customer_phone, customer_email, profile_id) Paramètres :
subscription_id – ID du produit d’abonnement
switcher – gestion de l’abonnement : 0 – arrêter l’abonnement, 1 – réactiver l’abonnement
customer_phone – téléphone du titulaire de l’abonnement ; facultatif si customer_email est renseigné
customer_email – adresse e-mail du titulaire de l’abonnement ; facultatif si customer_phone est renseigné
profile_id – ID du profil dans le système Prodamus

Traduction en français (style professionnel) :
Exemple 1 : customer_phone le paramètre est fourni, customer_email omis :
Exemple 2 : customer_email le paramètre est fourni, customer_phone omis :
La fonction renvoie 'ok' si toutes les opérations se terminent avec succès, ou renvoie la description de l’erreur en cas d’erreur.
Gestion des remises sur l’abonnement
Cette fonction définit le montant de la remise pour les prochains paiements d’abonnement. La remise peut être accordée pour un nombre de paiements limité ou illimité .
Paramètres :
subscription_id— ID de l’abonnementdiscount— nombre décimal avec deux chiffres après la virgule ; la valeur doit être supérieure à zéro et ne pas dépasser le coût de base de l’abonnementcustomer_phone— numéro de téléphone du client, format :+79999999999(facultatif, sicustomer_emailla variable est présente ; elle apparaît après le premier paiement)num— nombre de paiements auxquels la remise s’applique (facultatif ; si non indiqué, la remise s’applique à tous les paiements)profile_id— l’ID du profil dans le système Prodamus
Si la requête est exécutée avec succès, la fonction 'ok' sera retourné ; en cas d’erreur, la fonction renverra la description de l’erreur.
Le montant de la remise et l’intervalle ne sont réécrits que si la fonction est appelée à nouveau avec de nouvelles valeurs !
Exemples :
1. Accorder une remise de 1₽ sur tous les prochains paiements automatiques (le numéro de téléphone n’est pas indiqué, car il est récupéré automatiquement à partir de la variable customer_phone ; le montant de la remise s’applique par défaut à toute la durée de l’abonnement) :
2. Exemple d’octroi d’une remise de 2₽ pour les 3 prochains paiements (le numéro de téléphone est fourni avec des guillemets vides, car il est récupéré automatiquement à partir de la variable customer_phone ) :
3. Exemple d’affichage de la remise sous forme décimale (le séparateur est un point, les valeurs sont indiquées sans guillemets), le numéro de téléphone peut être fourni via une variable.

r = prodamus_subscription_discount(#{prodamus_subscription}, 10.25, #{customer_phone}, 3)
Comment définir la date du prochain paiement d’abonnement
Cette méthode permet de décaler la date du prochain paiement d’abonnement. La date ne peut être décalée que de la date du prochain paiement actuellement définie « vers le futur » afin d’augmenter la durée de participation au club.
Par exemple, cela peut être utilisé comme bonus pour les abonnés.
Pour cela, il faut utiliser la fonction suivante :
Paramètres :
subscription_id— identifiant de l’abonnementdate— date au format jj.mm.aaaa hh:mm ou jj.mm.aaaa ; si seul jj.mm.aaaa est fourni, l’heure sera 00:00customer_phone— facultatif ; si non renseigné,customer_phoneest récupéré depuis la variable ; si introuvable, la fonction ne fonctionnera pasprofile_id— ID du profil dans le système Prodamus
Comment envoyer des paramètres à Prodamus
Pour envoyer les paramètres nécessaires (par exemple, la date de début de l’abonnement, la désactivation de l’échelonnement, etc.) au système Prodamus, ajoutez prodamus_ comme préfixe au nom de la variable.
Ensuite, lors de la création du lien de paiement, les paramètres de cette variable seront automatiquement envoyés au système de paiement.
Comment tester le paiement
Nous testons uniquement le paiement !
Lors de la configuration de l’intégration et des tunnels de paiement, afin de ne pas prélever d’argent sur votre compte, vous pouvez utiliser des cartes de test.
Tout d’abord, passez votre page de paiement en MODE DÉMO ⤵ N’oubliez pas de cliquer sur le bouton « Enregistrer ».

Pour effectuer un paiement de test, vous pouvez utiliser des comptes de test.
Cartes de test de Sberbank :
MIR Numéro de carte : 2202 2050 0001 2424 Date d’expiration : 05/35 Code de vérification au dos (CVV) : 669
MasterCard Numéro de carte : 5469 9801 0004 8525 Date d’expiration : 05/26 Code de vérification au dos (CVV) : 041 Code de vérification 3‑D Secure : 111111
Visa Numéro de carte : 4006 8009 0096 2514 Date d’expiration : 05/26 Code de vérification au dos (CVV) : 941 Code de vérification 3‑D Secure : 111111
❗️Lors d’un paiement via des comptes de test, tous les tunnels et intégrations configurés fonctionnent comme pour un paiement normal❗️
Le formulaire a été vérifié
Pour accepter les paiements réels, le formulaire doit être passé en mode de fonctionnement. Autrement dit, le commutateur du mode démo doit être réglé sur rouge vif
Mis à jour