Paypal
Comment configurer Paypal lien Comment configurer Paypal
Comment créer un lien de paiement lien Comment créer un lien de paiement
Comment créer un paiement récurrent lien Comment créer un paiement récurrent
Comment traiter le résultat lien Comment traiter le résultat
Comment configurer Paypal
Pour travailler avec Paypal, vous devez obtenir deux clés : client_id et secret
Allez sur la page https://developer.paypal.com/developer/applications/
Et choisissez dans la liste ou créez une nouvelle application :
En haut, passez en mode Live et sélectionnez l’application souhaitée. La page des paramètres s’ouvre, où se trouvent les données dont nous avons besoin :
Copiez les données et collez-les dans les champs appropriés dans les paramètres de Mavibot : allez dans la section « Acquisition » et trouvez le service Paypal :

Ensuite, cliquez sur « Connecter » et remplissez les champs avec la clé secrète et l’ID client reçus précédemment :

Ensuite, cliquez sur « Enregistrer les paramètres ». Cela termine la connexion.
Comment créer un lien de paiement
En utilisant la variable payment_sum
Pour générer un lien de paiement, vous devez définir la valeur de la payment_sum variable et juste après la paypal_pay_url variable apparaîtra.
payment_title
(variable facultative) il s’agit du nom du produit.
Si elle n’est pas spécifiée, elle est remplie avec le texte : « Paiement de facture order_id » (order_id est l’identifiant de commande dans mavibot)
payment_description
description du produit, champ facultatif
company_name
le nom de votre société s’affiche tout en haut de la page de paiement (exemple ci-dessous, company)
En outre, avant de spécifier payment_sum, vous pouvez indiquer dans quelle langue la page de paiement sera affichée.
Pour cela, définissez la variable locale. La langue par défaut est le russe (ru-RU). Options possibles : da-DK, he-IL, id-ID, ja-JP, no-NO, pt-BR, ru-RU, sv-SE, th-TH, zh-CN, zh-HK, zh-TW, etc. (l’ensemble des langues disponibles varie, référez-vous à la source d’origine) lien source originale)
Vous pouvez aussi préciser la devise dans laquelle le paiement est accepté. Pour cela, indiquez la currency variable, le ruble (RUB) est défini par défaut ; pour le dollar, définissez sa valeur sur USD (currency = USD). Les options de devise possibles peuvent être consultées au lien. lien au lien.
Et le troisième paramètre supplémentaire est company_name - le nom de votre société, affiché tout en haut de la page de paiement (exemple ci-dessous, company)
Le paypal_pay_url la variable peut être affichée sous forme de lien ou placée sur un bouton avec le texte « Payer ».
Le lien ressemble à : https://www.paypal.com/checkoutnow?token=07N53571YM296381N
Un exemple d’implémentation.
Définition du montant du paiement et du nom de l’entreprise

Veuillez noter : le payment_sum la variable reçoit sa valeur en dernier, après les variables facultatives payment_title, company_name, etc.
Ensuite, spécifiez la variable #{paypal_pay_url} dans le deuxième bloc « Statut » :
La variable peut être spécifiée dans le champ message :

La variable peut être spécifiée dans le champ url dans les paramètres de la pièce jointe :

La variable peut être spécifiée dans le champ url dans les paramètres du bouton :

Lors de l’ouverture du lien de paiement
En utilisant la fonction calculatrice paypal_payment_url
Créez un bloc de constructeur d’entonnoir et utilisez la paypal_payment_url fonction dans la calculatrice, en lui transmettant les paramètres nécessaires :
! payment_sum
le paramètre obligatoire est le montant du paiement.
currency
La devise de paiement par défaut est « USD ». La liste complète est disponible au lien https://developer.paypal.com/docs/api/reference/currency-codes/
payment_title
l’en-tête du paiement (jusqu’à 127 caractères). (Si omis, il est rempli avec le texte : « Paiement de facture payment_id », où payment_id est l’ID de commande dans Mavibot)
payment_description
brève description du paiement (jusqu’à 127 caractères)
company_name
paramètre facultatif, nom de l’organisation/de l’entreprise, etc.
locale
La langue de la page de paiement est indiquée comme en-US, fr-XC, etc. Par défaut, c’est « ru-Ru ». La liste complète est disponible au lien https://developer.paypal.com/api/rest/reference/locale-codes/
Lorsque la condition du bloc est remplie, le client recevra un lien de paiement, et la paypal_payment_completed variable client sera créée avec la valeur False.

url = paypal_payment_url(2500, 'RUB', 'Paiement de facture payment_id','description du paiement', 'nom de l’organisation', 'ru-Ru')
Comment créer un paiement récurrent
Pour créer et recevoir un lien pour un paiement avec récurrence, vous devez créer un plan d’abonnement dans votre espace personnel.


Sélection d’une offre déjà créée :

Sinon, saisissez le nom de l’offre dans la barre de recherche et cliquez sur « Créer ».


Sélectionnez le type de prélèvement automatique Fixed :

Créer un abonnement

Choix de la devise de l’abonnement et des conditions de prélèvement :
Attention !!
Dans Mavibot, la devise par défaut est l’euro ; si le prélèvement est en dollars ou dans une autre devise, lors de la création de l’abonnement, indiquez la devise dont vous avez besoin et, dans Mavibot, la même devise provenant de l’abonnement Paypal.

Ensuite, activez l’abonnement :


Après la création, son ID sera disponible, que nous utiliserons plus tard pour créer un abonnement et recevoir un lien de paiement.

Le lien de paiement est généré et renvoyé par la fonction : paypal_subscription_url(plan_id, shipping_currency, shipping_payment_sum, start_time)
! plan_id
ID du plan d’abonnement
! shipping_currency
si le paiement du plan spécifié est en dollars, vous n’avez rien à transmettre ; sinon, nous transmettons le code de devise que vous avez spécifié dans le plan. La devise dans laquelle la livraison est payée est transmise ici (même pour un coût nul). Par défaut, USD
shipping_payment_sum
Il s’agit d’un paramètre facultatif qui spécifie le coût de la livraison. Par défaut, la valeur est zéro.
start_time
paramètre facultatif, date et heure du début de l’abonnement. Si vous ne transmettez rien, la date de début de l’abonnement = la date du paiement. Formats : %d.%m.%Y ou %d.%m.%Y %H:%M.

Lors de la création du lien, la paypal_subscription_id variable apparaîtra également, contenant l’ID de l’abonnement.
Lors du paiement, vous recevrez un callback, semblable au paiement d’un paiement classique.
paypal_subscription_data(paypal_subscription_id) - obtenir des informations sur l’abonnement
paypal_subscription_id
l’ID de l’abonnement.
Le résultat de l’exécution de la fonction - est un tableau contenant toutes les informations sur l’abonnement, y compris le nombre de paiements, le nombre de tentatives de prélèvement échouées, le statut, et plus encore.
Comment annuler l’abonnement
La fonction paypal_remove_subscription(paypal_subscription_id) aidera les clients à annuler leurs abonnements à vos services.
Paramètres :
paypal_subscription_id
l’ID de l’abonnement qui est enregistré dans la variable du client lors de l’abonnement.

Comment traiter le résultat
Après un paiement réussi, des callbacks seront envoyés au bot, ce qui vous indiquera que le paiement a réussi.
Dans le système, vous voyez les callbacks comme des messages de l’utilisateur, mais l’utilisateur lui-même NE LES VOIT PAS : ils sont affichés uniquement à l’opérateur.
Pour traiter le callback dans le bloc et envoyer à l’utilisateur des messages concernant l’état du paiement, utilisez le type de comparaison « Correspondance exacte ».
Les callbacks peuvent être retardés, donc après avoir affiché le lien de paiement à l’utilisateur, il est recommandé d’envoyer un message du type : « Après avoir effectué le paiement, veuillez attendre un message de confirmation indiquant que le paiement a réussi. »
Pour le paiement direct
Le callback de paiement réussi se compose des 10 premiers caractères du secret et de la signature avec le statut. Par exemple : EHsWHYOoWV_success
Exemple 1 : réaction à un paiement réussi à l’aide du bloc « Condition de démarrage » :

Exemple 2 : réaction à un paiement réussi à l’aide du bloc « Condition de démarrage » :

Si vous ne souhaitez pas sortir l’utilisateur du flux principal du chatbot, utilisez le bloc « Sans état avec condition » — les utilisateurs ne peuvent pas être redirigés directement vers ce bloc, donc après un paiement réussi ils resteront dans l’entonnoir principal, tout en recevant également une notification de succès du paiement.
Mais si vous souhaitez continuer l’entonnoir en fonction de l’événement de paiement réussi, utilisez le bloc « Condition de démarrage ». Dans ce cas, après l’exécution du bloc de paiement, l’utilisateur sera redirigé vers le bloc « Condition de démarrage », à partir duquel vous pourrez continuer à construire votre entonnoir.
De plus amples informations sur les blocs conditionnels sont fournies dans l’article du même nom. nous avons parlé des blocs avec condition lien
En cas de paiement réussi, la variable paypal_payment_completed est définie sur True.
Une fois le paiement terminé, la variable paypal_callback_data est ajoutée au client, contenant les données actuelles du système de paiement sur l’état de la transaction. Vous pouvez extraire les données nécessaires du dictionnaire reçu à l’aide de la méthode get.
Pour effectuer un paiement répété, vous devez réinitialiser la variable payment_sum, la variable avec le lien généré précédemment, puis réaffecter la variable payment_sum ou appeler la fonction pour obtenir un nouveau lien.
Pour les paiements d’abonnement
La fonction de configuration des callbacks pour les opérations liées aux abonnements a été ajoutée le 01/09/2024. Pour que les callbacks de cette catégorie fonctionnent correctement, vous devez désactiver puis reconnecter l’intégration du système de paiement Paypal dans votre projet.
Lors d’un paiement d’abonnement, le bot recevra l’un des messages suivants :
concernant l’activation de l’abonnement. Par exemple, subscription_I-PTV5H4MRC1H3_activated;
Notification d’un paiement récurrent d’abonnement réussi. Par exemple, subscription_I-PTV5H4MRC1H3_paid;
ou concernant une erreur de paiement d’abonnement. Par exemple, subscription_I-PTV5H4MRC1H3_not_paid;
Dans les exemples ci-dessus, « I-PTV5H4MRC1H3 » est l’ID de l’abonnement du client, auquel on peut accéder à l’aide de la variable paypal_subscription_id.
Le callback ajoutera la variable paypal_subscription_callback_data au client, contenant les données actuelles du système de paiement sur l’état de la transaction. Vous pouvez extraire les données nécessaires du dictionnaire reçu à l’aide de la méthode get.
Exemple 1 : réaction à l’activation de l’abonnement à l’aide du bloc « Condition de démarrage » :

Exemple 1 : réaction à l’activation de l’abonnement à l’aide du bloc « Sans état avec condition » :

Mis à jour