Comment configurer Paypal

Pour travailler avec Paypal, vous devez obtenir deux clés : client_id et secret

Accédez à 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 des paramètres Mavibot : allez dans la section "Acquiring" et trouvez le service Paypal :

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

Ensuite, cliquez sur "Enregistrer les paramètres". Ceci 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 variable payment_sum et immédiatement après, la variable paypal_pay_url apparaîtra.

Paramètres de la fonction Description du paramètre Note
payment_title (variable facultative)c'est le nom du produit. S'il n'est pas spécifié, il est rempli avec le texte : "Paiement de facture order_id" (order_id est l'identifiant de la commande dans mavibot)
payment_description description du produit, champ facultatif
company_name le nom de votre entreprise s'affiche tout en haut de la page de paiement (exemple ci-dessous, entreprise)

De plus, avant de spécifier payment_sum, vous pouvez spécifier la langue dans laquelle la page de paiement sera affichée.

Pour ce faire, 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 originale) source originale)

Vous pouvez également spécifier la devise dans laquelle le paiement est accepté. Pour ce faire, spécifiez la variable currency, le rouble (RUB) est défini par défaut, pour le dollar, définissez sa valeur sur USD (currency = USD). Les options de devise possibles se trouvent sur le lien. lien.

Et le troisième paramètre supplémentaire est company_name - le nom de votre entreprise, affiché tout en haut de la page de paiement (exemple ci-dessous, entreprise)

La variable paypal_pay_url peut être affichée avec un lien ou placée sur un bouton avec le texte "Payer".

Le lien ressemble à : https://www.paypal.com/checkoutnow?token=07N53571YM296381N

Un exemple de mise en œuvre.

Définition du montant du paiement et du nom de l'entreprise

Veuillez noter : la variable payment_sum reçoit la 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" :

  1. La variable peut être spécifiée dans le champ du message :

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

  1. 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 de calculatrice paypal_payment_url

Créez un bloc de constructeur d'entonnoir et utilisez la fonction paypal_payment_url dans la calculatrice, en lui passant les paramètres nécessaires :

Lorsque la condition du bloc est remplie, le client recevra un lien de paiement, et la variable client paypal_payment_completed 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 de paiement avec des paiements récurrents, vous devez créer un plan d'abonnement dans votre compte personnel.

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

Alternativement, tapez le nom de l'offre dans la barre de recherche et cliquez sur "Créer".

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

Créer un abonnement

Choisir la devise de l'abonnement et les 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 d'un abonnement, spécifiez la devise dont vous avez besoin et dans Mavibot la même devise que celle de l'abonnement Paypal.

Ensuite, activez l'abonnement :

Après la création, son ID sera disponible, que nous utiliserons à l'avenir 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)

Paramètres de la fonction Description du paramètre
! plan_id ID du plan d'abonnement
! shipping_currency si le paiement pour le plan spécifié est en dollars, vous n'avez rien à transférer, sinon nous transférons 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 définie sur zéro.
start_time paramètre facultatif, date et heure de début de l'abonnement. Si vous ne transférez rien, la date de début de l'abonnement = la date de paiement. Formats : %d.%m.%Y ou %d.%m.%Y %H:%M.

Lors de la création du lien, la variable paypal_subscription_id apparaîtra également, qui contiendra l'ID de l'abonnement.

Pendant le paiement, vous recevrez un callback, similaire au paiement d'un paiement régulier.

paypal_subscription_data(paypal_subscription_id) - obtenir des informations sur l'abonnement

Paramètres de la fonction Description des paramètres
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, etc.

Comment annuler un abonnement

La fonction paypal_remove_subscription(paypal_subscription_id) aidera les clients à annuler leurs abonnements à vos services.

Paramètres :

Paramètres de la fonction Description
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 permettra de savoir que le paiement a été effectué avec succès.

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 sur le statut 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 tel que : "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 en utilisant le bloc "Condition de départ" :

Exemple 2 : réaction à un paiement réussi en utilisant le bloc "Condition de départ" :

Si vous ne souhaitez pas sortir l'utilisateur du flux principal du chatbot, utilisez le bloc "Pas d'état avec condition" — les utilisateurs ne peuvent pas être redirigés directement vers ce bloc, donc après un paiement réussi, ils resteront toujours dans l'entonnoir principal, tout en recevant une notification de paiement réussi.

Mais si vous souhaitez continuer l'entonnoir en fonction de l'événement de paiement réussi, utilisez le bloc "Condition de départ". Dans ce cas, après avoir terminé le bloc de paiement, l'utilisateur sera redirigé vers le bloc "Condition de départ", à partir duquel vous pouvez continuer à construire votre entonnoir.

Plus d'informations sur les blocs conditionnels sont fournies dans l'article du même nom. blocs avec condition expliqués

Lors d'un 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, qui contient les données à jour du système de paiement sur le statut de la transaction. Vous pouvez extraire les données nécessaires du dictionnaire reçu en utilisant la méthode get.

Pour effectuer un nouveau paiement, vous devez réinitialiser la variable payment_sum, la variable avec le lien précédemment généré, puis réaffecter la variable payment_sum ou appeler la fonction pour obtenir un nouveau lien.

Pour les paiements d'abonnement

La fonction de paramétrage des callbacks pour les opérations liées à l'abonnement a été ajoutée le 01/09/2024. Pour que les callbacks de cette catégorie fonctionnent correctement, vous devez désactiver et 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 d'abonnement récurrent 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, accessible via la variable paypal_subscription_id.

Le callback ajoutera la variable paypal_subscription_callback_data au client, qui contient les données actuelles du système de paiement sur le statut de la transaction. Vous pouvez extraire les données nécessaires du dictionnaire reçu en utilisant la méthode get.

Exemple 1 : réaction à l'activation de l'abonnement en utilisant le bloc "Condition de départ" :

Exemple 1 : Réaction à l'activation de l'abonnement en utilisant le bloc "Pas d'état avec condition" :