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 ; son exemple : demo.payform.ru.
La clé secrète peut être obtenue dans votre espace personnel, où vous devez également indiquer l’URL vers laquelle les notifications seront envoyées.

Guide complet sur la manière de procéder
Adresse pour les notifications: https://chatter.mavibot.ai/prodamus_callback/result
Cette adresse doit être indiquée à deux endroits dans les paramètres.
Sur la page d’accueil 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 » allez dans 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 de « Enregistrer » cliquer sur le bouton.
Pour connecter Prodamus, « Acquiring » section.

il suffit ensuite 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.
L’intégration est donc 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 ».
Voyons 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.
Lors du passage à 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 paramètres 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 du bouton avec 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 seront 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 » — lorsque vous cliquez sur ce bouton, des champs supplémentaires s’ouvrent pour créer le lien :
Description de la commande
Remise 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 l’abonnement (pour les paiements automatiques)
Contenu payé
Case à cocher « Notification au clic » — peut être sélectionnée pour suivre l’ouverture du lien de paiement. Dans ce cas, lorsqu’on clique sur le bouton, un message est envoyé dans le dialogue du client dans SaleBot, indiquant qu’un passage sur le lien a eu lieu.

Sur la base de ce message, il est possible de configurer la logique de fonctionnement ultérieure du bot. De nombreux systèmes de paiement prennent en charge les caisses en ligne cloud, requises 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 après avoir suivi 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 « Remise » — ici, vous pouvez indiquer le montant de la remise en roubles ou en roubles et kopecks. Pour les kopecks, utilisez un point comme séparateur : 50.99 Sur la page de paiement, le Montant à payer champ affichera la remise 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 fourni) — ici est indiqué l’e-mail de l’utilisateur (client). Vous pouvez également 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 fourni) — ici, vous pouvez utiliser une variable indiquant le numéro de téléphone de l’acheteur, au format : 79000000000, par exemple : #{phone}
Il faut obligatoirement un e-mail et/ou un téléphone.
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 l’abonnement » — pour créer un paiement automatique, indiquez l’ID du produit. 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 fourni pour l’abonnement, le montant du paiement n’est pas pris en compte. Les informations sur le produit sont récupérées depuis la fiche produit dans l’espace 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 fourni 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 un 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, le scénario suivant 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 se trouve dans le dialogue, le paiement sera impossible, et le message suivant lui sera affiché :
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, et sa valeur sera la suivante :
"Erreur : la date d’expiration du lien doit être postérieure à la date actuelle".
Pour que l’utilisateur puisse effectuer le paiement correctement, il est recommandé de gérer ce cas séparément.
Créez le bloc conditionnel suivant :
Si le message suivant arrive :
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 payer à temps, le lien de paiement était invalide".


Variables client créées automatiquement lors de l’utilisation du bouton avec la fonction « Payer »
Dès que l’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 elle est nécessaire pour identifier le webhook provenant du système de paiement.
Variable client système __paymentsNe peut pas être supprimé ni modifié !
error_payment_button variable client est créée automatiquement si une erreur survient lors de la création du bouton.
Cette variable contient le texte de l’erreur ou la réponse d’erreur du système de paiement.
Les valeurs des variables deviennent actives au moment 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 composé des 10 premiers caractères de la clé secrète du système de paiement, _success du mot et du montant du paiement.
Il suffit simplement de le copier pour l’utiliser dans la configuration du schéma.
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 demande (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 sont visibles par l’opérateur.
Exemple d’utilisation : Étape 1. Ajoutons des boutons avec la fonction « Payer » au bloc « Avec bouton de paiement ». Étape 2. Dans ce bloc, vers le bloc « Paiement réussi » Condition de liaison champ, nous indiquons le callback. De même, si le callback de paiement réussi est indiqué dans la condition du bloc « Condition initiale », le fonctionnement se fera de manière analogue.
Important : faire le choix « Correspondance exacte » ou « Présence des mots-clés ».
❗️Si vous décidez de vérifier le paiement sur la flèche indiquée par condition exacte, réfléchissez bien à la logique de votre schéma. Si le client quitte le bloc où la condition est traitée avec le callback, il n’y aura pas de passage au bloc suivant. Il est préférable d’utiliser cette méthode de vérification uniquement si le client ne change pas de position dans le tunnel.
Dans les schémas où le client se déplace entre les blocs, il est plus pratique d’utiliser le callback « Condition initiale » dans le bloc.

Paiement réussi pour les produits avec abonnement automatique
Après un paiement réussi, le bot reçoit UN CALLBACK AUTOMATIQUE composé 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 demande (paiement réussi)618117— l’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 composé 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 demande (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’échec du paiement.
Si le montant indiqué dans les paramètres du bouton diffère du montant payé par le client, le bot recevra UN CALLBACK AUTOMATIQUE un callback. 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’identifiant 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 demande (le montant du paiement diffère du montant du lien)123456— l’identifiant 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 du Calculateur, nous 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 nommage des variables.
Le lien de paiement sera écrit dans cette variable. La variable peut être affichée dans un message comme lien ou placée 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 sous forme d’entier ou de 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 :
expired = current_date + 2 (le lien sera valable pendant 2 jours jusqu’à 00:00).
Il est également possible d’indiquer une heure précise : jj.mm.aaaa hh:mm (par exemple, 25.01.2021 12:23).
Vous pouvez également utiliser des variables standard, par exemple, définir la validité du lien à 30 minutes :
Si vous souhaitez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple, un guillemet double ou None comme valeur.
customer_phone
Numéro de téléphone de l’acheteur — facultatif, si customer_email paramètre est fourni.
Si vous souhaitez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou double.
customer_email
Adresse e-mail de l’acheteur — facultatif, si customer_phone paramètre est fourni.
Si vous souhaitez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou double.
discount
Montant de la remise — le paramètre peut être fourni sous forme d’entier ou de nombre avec un point : 25 ou 63.5.
Si vous souhaitez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou double.
description
Description du produit (si non spécifié, le champ 'Paiement de la facture order_id' sera rempli automatiquement).
Si vous souhaitez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple ou double.
extra_params
Paramètres supplémentaires, paramètres qui ne figurent pas dans cette fonction. Les paramètres supplémentaires disponibles peuvent être consultés dans la documentation de l’API du système de paiement : Prodamus REST API
Par exemple :
Si vous souhaitez omettre ce paramètre, vous pouvez mettre à la place un guillemet simple/double ou None comme 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 ; il 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 tenges, 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', 'mail@mail.com', 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éé à l’aide de la fonction.
Si le bloc contient plusieurs fonctions d’obtention de lien et qu’une erreur se produit, la valeur d’erreur error_payment_func sera écrite dans la variable.
L’erreur est écrite dans le calculateur pour la dernière fonction.
payment_sum création du lien via la variable et les paramètres supplémentaires
payment_sum création du lien via la variable et les 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 etc.
Pour créer un lien de paiement, Dans le champ du Calculateur, payment_sum il suffit de définir la valeur de la variable.
Ensuite, la variable prodamus_pay_url apparaît automatiquement.
Exemple de lien de paiement : https://payform.ru/7p3JR8/
Cette variable peut être affichée dans un message comme lien ou placée dans un bouton avec le texte « Payer ».
payment_sum Avant de déclarer la variable, vous pouvez indiquer les variables facultatives suivantes :
product_name
Nom du produit (si non spécifié, le champ « Paiement de la facture order_id » sera rempli automatiquement) – indiqué dans la capture d’écran ci-dessous.
payment_description
Description du produit (si non spécifié, le champ 'Paiement de la facture order_id' sera rempli automatiquement) – indiqué dans la capture d’écran ci-dessous.
discount_value
Montant de la remise (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 :
link_expired = current_date + 2 (le lien sera valable pendant 2 jours jusqu’à 00:00).
link_expired
Il est également possible d’indiquer une heure précise, format : jj.mm.aaaa hh:mm (par exemple, 25.01.2021 12:23).
Vous pouvez également utiliser des variables standard, par exemple, pour définir 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 indiqué en minuscules.
payment_title
Titre du paiement (jusqu’à 127 caractères). Si non spécifié, il sera rempli automatiquement avec le texte suivant :
“Paiement de la facture payment_id” (payment_id — identifiant de 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. s'affiche au format. La valeur par défaut est ru-RU.
La liste complète est disponible via le 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 au brème’, prix 4999 tenges, lien vers la page du cours : https://www.lovilescha.ru/courses/poimai_kilogram/ »
C'est un paramètre obligatoire, nécessaire pour la fiscalisation du 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 d'implémentation. Dans le premier bloc, nous définissons le montant du paiement :

À l'étape suivante, là où c'est nécessaire prodamus_pay_url nous affichons le lien :

prodamus_available_payment_methods variable payment_sum est définie avant la publication.
Valeurs possibles :
AC
Paiement par carte émise en Fédération de Russie
ACkz
Paiement par carte du Kazakhstan
ACf
Paiement par cartes des pays de la CEI, sauf la Fédération de Russie
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
Portefeuille Qiwi
PC
ЮMoney
GP
Terminal de paiement
sbol
Sberbank en ligne
invoice
Paiement sur 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 « ВсегдаДа » (ne fonctionne pas avec available_payment_methods)
vsegdada_installment_0_0_6
Paiement échelonné sur 6 mois via « ВсегдаДа »
vsegdada_installment_0_0_10
Paiement échelonné sur 10 mois via « ВсегдаДа »
vsegdada_installment_0_0_12
Paiement échelonné sur 12 mois via « ВсегдаДа »
vsegdada_installment_0_0_24
Paiement échelonné sur 24 mois via « ВсегдаДа »
vsegdada_installment_0_0_36
Paiement échelonné sur 36 mois via « ВсегдаДа »
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 OTP Bank
otp_installment_0_0_10
Paiement échelonné sur 10 mois via OTP Bank
otp_installment_0_0_12
Paiement échelonné sur 12 mois via OTP Bank
otp_installment_0_0_24
Paiement échelonné sur 24 mois via OTP Bank
otp_installment_0_0_36
Paiement échelonné sur 36 mois via OTP Bank
mts_installment_0_0_6
Paiement échelonné sur 6 mois via MTS Bank
mts_installment_0_0_10
Paiement échelonné sur 10 mois via MTS Bank
mts_installment_0_0_12
Paiement échelonné sur 12 mois via MTS Bank
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, sauf la Russie
sbrf_bnpl
Paiement en plusieurs fois via Sber
Plusieurs valeurs séparées par une barre verticale sont autorisées. Exemple :
prodamus_currency est un autre paramètre additionnel 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 prêter attention aux paramètres, dans lesquels la devise et le montant sont indiqués.
Si non indiqué, il redirige vers la page sans moyens de paiement. Les moyens de paiement peuvent être ajoutés via le support. Les méthodes activées peuvent être vérifiées dans les paramètres de la page ou en créant un lien de paiement.


Comment traiter le résultat
Paiement réussi
Important : Après un paiement réussi ou échoué, des callbacks arrivent 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 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 retard, il est donc préférable d'envoyer un message à l'utilisateur après avoir envoyé le lien :
« Après le paiement, veuillez attendre la confirmation de la 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 contient :
Par exemple :
ovg58keefc— clé secrète complète du système de paiement_success— le résultat du traitement de la demande (paiement réussi)
Utilisation pratique
Vous pouvez traiter un paiement réussi via un bloc conditionnel et afficher à l'utilisateur le message approprié.

Le type de comparaison doit être "Full match" / "Correspondance exacte"
Pour effectuer un nouveau paiement, il faut impérativement payment_sum remettre la variable à zéro et supprimer le lien précédemment créé. Ce n'est qu'ensuite que payment_sum vous pouvez attribuer une nouvelle valeur à la variable et obtenir le lien mis à jour.
Désactivation/réactivation de l'abonnement
De plus, dans le système Prodamus, il existe des notifications indiquant si l'abonnement a été activé ou arrêté :

« L'abonnement a été désactivé par l'utilisateur » — si l'abonnement est arrêté manuellement (par exemple, en cas de désabonnement). Cette notification peut arriver avant la fin de la période actuellement payée. L'action dépend de votre décision : ignorer, mettre sous surveillance ou tenter de reconquérir l'utilisateur.
« L'abonnement a été réactivé par l'utilisateur » — l'abonnement a été rétabli. Cette notification peut arriver si l'utilisateur rétablit l'abonnement avant la fin de la période actuellement payée. 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 la réception d'une notification de paiement réussi payment_callback la variable reçoit un callback de Prodamus contenant toutes les données du 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, vous pouvez les récupérer ainsi :

Attention : payment_sum la variable reçoit la dernière valeur, qui des variables optionnelles se place après : payment_description, product_name.
Le montant peut être récupéré ainsi :
Callbacks disponibles
En plus des principaux callbacks de paiement réussi, les messages suivants arrivent dans le chat sans être 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 échoué - message supplémentaire avec explication (sur la capture ci-dessus)
Notification d'un prochain prélèvement - date et heure du prochain prélèvement
Demande de paiement échelonné avec le statut
Exemples de callbacks dans la conversation avec le client
L'abonné a désactivé l'abonnement
L'abonné a réactivé l'abonnement
L'abonnement est terminé
Paiement échoué - fonds insuffisants.
Paiement échoué - la carte a expiré.
Paiement échoué - limite de carte dépassée.
Paiement échoué - carte perdue
Paiement échoué - erreur système
Paiement échoué - opération refusée. Veuillez contacter la banque émettrice de la carte.
Paiement échoué - opération refusée par la banque émettrice.
Paiement échoué - opération refusée par la banque.
Notification d'un prochain prélèvement - jj.mm.aaaa hh:mm
Demande de paiement échelonné approuvée
Demande de paiement échelonné annulée
Demande de paiement échelonné refusé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.
Pour un paiement échoué spécifique, vous pouvez configurer les blocs de réponse au message selon la raison 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é » l'utilisateur recevra un message avec le texte que vous avez défini.
Comment effectuer un paiement par abonnement
Comment créer un abonnement
Pour créer un abonnement, il faut d'abord produit d'abonnement à créer. Instructions complètes : Comment créer et configurer un abonnement
Ensuite, nous copions le ID du produit d'abonnement. Par exemple, ci-dessous est indiqué où le récupérer :
Pour créer un lien de paiement d'abonnement, prodamus_subscription la variable du produit d'abonnement ID doit être renseignée. Ensuite, automatiquement prodamus_pay_url apparaît automatiquement.

Traduction en français (style commercial) :
prodamus_pay_url la variable peut être affichée à l'écran comme lien ou placée sur un bouton portant le texte « Payer ». Exemple de lien : https://payform.kz/7p3JR8/
Le traitement du résultat s'effectue comme pour un paiement unique (comme lu ci-dessus).
Après un abonnement réussi, le numéro de téléphone saisi lors du paiement customer_phone est ajouté à l'utilisateur. Le numéro de téléphone est nécessaire pour gérer l'abonnement.
Si customer_email n'est pas renseigné, pour gérer l'abonnement customer_phone est obligatoire.
get_prodamus_subscription_url comment créer un lien vers un abonnement avec la fonction
get_prodamus_subscription_url comment créer un lien vers un abonnement avec la fonctionExaminons une autre méthode pour créer un lien de paiement d'abonnement pour un produit.
Depuis le compte Prodamus, un produit d'abonnement est créé. Les instructions complètes sont disponibles via le lien : Comment créer et configurer un abonnement
Ensuite, nous copions le ID du produit d'abonnement. Par exemple, ci-dessous est indiqué où le récupérer :
Pour obtenir un lien de paiement d'un produit par abonnement, dans le Calculateur, 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 le compte 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 également être indiqué dans le champ « Calculateur » :
expired Le paramètre peut également être défini avec l'heure exacte, format : jj.mm.aaaa hh:mm (par exemple, 25.01.2021 12:23).
Vous pouvez également utiliser des variables standard, par exemple définir la durée de validité du lien à 30 minutes :
Si vous souhaitez omettre ce paramètre, utilisez à la place des guillemets simples ou doubles, ou None comme valeur.
customer_phone
Numéro de téléphone du payeur — facultatif, si customer_email si le paramètre
Si vous souhaitez omettre ce paramètre, mettez à la place des guillemets simples ou doubles.
customer_email
E-mail du payeur — facultatif, si customer_phone si le paramètre
Si vous souhaitez omettre ce paramètre, mettez à la place des guillemets simples ou doubles.
discount
Montant de la remise — le paramètre peut être donné comme entier ou décimal : 25 ou 63,5.
Si vous souhaitez omettre ce paramètre, mettez à la place des guillemets simples ou doubles.
description
Description du produit — si non renseigné, par défaut 'Paiement de la facture order_id' sera renseigné.
Si vous souhaitez omettre ce paramètre, mettez à la place des guillemets simples ou doubles.
extra_params
Paramètres supplémentaires, ce sont des paramètres absents de cette fonction. Les paramètres additionnels possibles peuvent être consultés dans la documentation API du système de paiement : Guide API REST de Prodamus
Exemple :
Si vous souhaitez omettre ce paramètre, mettez à la place des guillemets simples/doubles ou None comme 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 tenges, lien vers la page du cours : https://www.lovilescha.ru/courses/poimai_kilogram/.
Ce paramètre obligatoire, 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 tenges, 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', 'mail@mail.com', 20, 'Le meilleur cours du marché', extra_params, products_for_receipt)
Si, dans le bloc, une erreur survient lors de la récupération du lien via plusieurs fonctions, la valeur d'erreur error_payment_func dans la variable sera écrite.
L’erreur est écrite dans le calculateur pour la dernière fonction.
Comment gérer le statut de l'abonnement
Cette méthode est réservée aux abonnements réels ; en mode démo, il n'y a pas de liaison de carte.
Pour gérer un abonnement, il faut impérativement customer_phone ou customer_email l'un des paramètres
doit être renseigné. delete_subscription_prodamus
Exemple de paramètres :
url– URL du formulaire de paiement, obtenu à partir des paramètres du constructeursecret_key– clé secrète obtenue à partir des paramètresid_subscription– ID du produit d’abonnementcustomer_phone– téléphone du titulaire de l’abonnementswitcher– gestion de l’abonnement :0– suspendre l’abonnement,1– réactiver l’abonnementprofile_id– ID du profil dans le système Prodamus
Remarque :
Si l’ID du profil est fourni, il est profile_id enregistré dans la variable.
profile_id à la fonction customer_phone ou customer_email peut être transmis à la place, ce qui permet de suspendre l’abonnement.
Exemple : configuration des blocs d’abonnement

Notez que la fonction status renvoie, vous pouvez la sauvegarder et la traiter comme vous le souhaitez. Lors de la suspension 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 – suspendre 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 commercial) :
Exemple 1 : customer_phone paramètre est fourni, customer_email a été omis :
Exemple 2 : customer_email paramètre est fourni, customer_phone a été omis :
La fonction, si toutes les opérations se terminent avec succès, ok renvoie 'ok' ou, en cas d’erreur, renvoie sa description.
Gestion des remises sur l’abonnement
Cette fonction définit le montant de la remise sur les prochains paiements de l’abonnement. La remise peut être limitée ou illimitée en nombre de paiements.
Paramètres :
subscription_id– ID de l’abonnementdiscount– nombre décimal avec une précision de deux chiffres après la virgule ; la valeur doit être supérieure à zéro et ne pas dépasser le prix de base de l’abonnementcustomer_phone– numéro de téléphone du client, format :+79999999999(facultatif, sicustomer_emailla variable existe ; 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– ID du profil dans le système Prodamus
Si la requête est exécutée avec succès, la fonction 'ok' renvoie ; en cas d’erreur, la fonction renvoie la description de l’erreur.
Le montant de la remise et l’intervalle ne sont réécrits que si la fonction est rappelée 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 automatiquement customer_phone récupéré à partir de la variable ; 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₽ sur les 3 prochains paiements (le numéro de téléphone est donné entre guillemets vides, car il est automatiquement customer_phone récupéré à partir de la variable) :
3. Exemple d’affichage de la remise en nombre décimal (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 de l’abonnement
Cette méthode permet de décaler la date du prochain paiement de l’abonnement. La date ne peut être décalée que par rapport à la date du prochain paiement actuellement définie « vers le futur » vers l’avant, ce qui permet d’augmenter la durée d’adhésion 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 seule la date jj.mm.aaaa est fournie, l’heure sera 00:00customer_phone– facultatif ; si non indiqué,customer_phoneest récupéré à partir de la variable ; si elle n’est pas trouvée, 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 du paiement échelonné, etc.) au système Prodamus, ajoutez au nom de la variable prodamus_ le préfixe.
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 !
Afin d’éviter que de l’argent soit débité de votre compte lors de la configuration de l’intégration et des tunnels de paiement vous pouvez utiliser des cartes de test.
D’abord, mettez votre page de paiement en mode DÉMO ⤵ N’oubliez pas d’appuyer sur le bouton « Enregistrer ».

Vous pouvez utiliser des comptes de test pour effectuer un paiement 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❗️
Formulaire vérifié
Pour accepter des paiements réels, le formulaire doit passer en mode fonctionnement. Autrement dit, le commutateur du mode démo doit être rouge clair réglé sur l’état.
Mis à jour