# Bouton de paiement

Un bouton avec la fonction Paiement simplifie le travail avec les systèmes de paiement connectés en fournissant un lien de paiement.

image

Veuillez noter que dans de nombreux messageries, les liens ne peuvent être placés que dans des boutons inline à l’intérieur du texte. N’oubliez pas de sélectionner le type de bouton approprié dans les paramètres du bloc après avoir créé le bouton.

Le bouton de la fonction Paiement est disponible pour les systèmes de paiement suivants :

* Stripe

Dans un seul bloc, vous pouvez créer des boutons « Paiement » pour différents systèmes de paiement avec des montants de paiement différents.

Si aucun système de paiement n’est connecté au projet, ce type de bouton ne sera pas disponible.

image

**Principaux champs du bouton Paiement :**

* **Champ Texte :** Ce texte apparaîtra sur le bouton avec le lien de paiement dans le message.
* **Fonction :** Sélectionnez le type de bouton **Paiement**.
* **Champ Fonction :** Pour créer un bouton qui fournit un lien de paiement, choisissez le **Paiement** fonction.
* **Champ Système de paiement :** La liste affiche les systèmes de paiement connectés au projet.

Selon le système de paiement choisi, les champs requis pour générer le lien et créer le reçu varieront.

Vous pouvez consulter ici les paramètres du bouton de la fonction Paiement pour différents systèmes de paiement :

Le **champs requis pour générer le lien de paiement** sont **Montant** et **Nom du produit/Description du produit**.

* **Champ Montant :** Saisissez ici le montant du paiement.
* **Champ Nom du produit :** Saisissez le nom du produit qui sera affiché sur la page de paiement.

Guillemets doubles **ne pouvez pas** être utilisés dans le nom du produit.

Vous pouvez les remplacer par des apostrophes ou des guillemets simples.

Selon le système de paiement choisi, des menus déroulants intitulés « Données du reçu » et/ou « Informations supplémentaires » apparaîtront dans les paramètres du bouton. En cliquant dessus, des champs supplémentaires s’afficheront :

image

### Variables lors de l’utilisation du bouton de la fonction Paiement <a href="#variables-when-using-the-payment-function-button" id="variables-when-using-the-payment-function-button"></a>

Dès que l’utilisateur reçoit le bloc avec le bouton « Paiement », les variables client suivantes sont créées automatiquement :

* **Variable client système `__payments`** – cette variable stocke le montant du paiement et l’identifiant du lien de paiement généré. Elle est utilisée pour identifier la réponse du webhook provenant du système de paiement.

La variable client système `__payments` **ne doit pas être supprimée ni modifiée**!

La variable client `error_payment_button` est créée si une erreur survient lors de la génération du bouton de paiement.

Sa valeur contiendra soit le message d’erreur, soit la réponse d’erreur renvoyée par le système de paiement.

Les valeurs des variables deviennent actives (à jour) lorsque l’utilisateur passe au bloc suivant.

#### Comment traiter le résultat <a href="#how-to-handle-the-result" id="how-to-handle-the-result"></a>

**Paiement réussi**

Après un paiement réussi, le bot recevra un **callback** constitué des 10 premiers caractères de la clé secrète du système de paiement, du mot `_success`, et du montant du paiement séparés par un espace. Par exemple : **`ovg58keefc_success 44`**, où :

* `ovg58keefc`: les 10 premiers caractères de la clé secrète du système de paiement
* `_success`: indique le résultat de la requête (paiement réussi)
* `44`: le montant du paiement

Les callbacks (notifications) du système de paiement sont **invisibles pour l’utilisateur**. Ils sont affichés uniquement dans l’onglet **section Clients** et sont visibles pour l’ **opérateur**.

**Exemple d’utilisation :** **Étape 1.** Dans le bloc avec le **Paiement** bouton, ajoutez des boutons avec le **Paiement** fonction. **Étape 2.** Dans l’onglet **Condition de connexion** champ de ce bloc au **Paiement réussi** bloc, indiquez le **callback**. Cela fonctionne de la même manière si vous spécifiez le callback de paiement réussi dans le **Champ Condition** du bloc **Vérification de la condition principale** .

Attention ! Sélection du type de correspondance — **Correspondance exacte** ou **Correspondance par mot-clé.**

Conseil utile

Pour envoyer une notification d’un paiement réussi au client sans interrompre sa progression dans le tunnel principal, créez **« Des blocs sans état avec conditions. »**

**Paiement avec erreur**

Si une **erreur de paiement se produit**, le bot recevra un **callback** constitué des 10 premiers caractères de la clé secrète du système de paiement, du mot `_fail`, et du montant du paiement séparés par un espace. 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 échoué ou erreur survenue
* `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 paramètres du bouton diffère de **le montant réellement payé par le client**, le bot recevra un **callback** constitué des 10 premiers caractères de la clé secrète du système de paiement, de l’expression `_different_amounts`, et d’un identifiant de paiement unique séparés par un espace. 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 dans le lien)
* `123456`: identifiant de paiement unique


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/chatbot/builder/boutons/bouton-de-paiement.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
