> For the complete documentation index, see [llms.txt](https://docs.mavibot.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mavibot.ai/doc/fr/integrations/payment/stripe.md).

# Stripe

## Comment se connecter

Pour connecter le système de paiement Stripe, vous aurez besoin d’une clé API secrète et d’une clé de webhook.

La clé API secrète peut être copiée en allant dans Developers → API keys et en copiant la Secret key.

Étape 1. Allez dans Developers → API keys :

<div data-with-frame="true"><figure><img src="/files/b741fa246fb7caf8f5bada353d6ab5428952e12a" alt=""><figcaption><p>Fig. 1. Comment trouver la section des clés API</p></figcaption></figure></div>

Étape 2. Trouvez et copiez la Secret key :

<div data-with-frame="true"><figure><img src="/files/c2e998fdaa8abe52662fdc974d1f3346143ef196" alt=""><figcaption></figcaption></figure></div>

Ensuite, vous devez définir une URL de rappel. Cela permet au bot de recevoir les notifications de paiement.

Allez dans la section Webhooks et ajoutez l’URL du webhook.

<div data-with-frame="true"><figure><img src="/files/447f4fb5389221280eeb847387104f3c7be4d56e" alt=""><figcaption></figcaption></figure></div>

Un formulaire apparaîtra.

<div data-with-frame="true"><figure><img src="/files/17a12179c8ffd9cb6b717c9ff4c94dcb4178d081" alt=""><figcaption></figcaption></figure></div>

Étape 3. Cliquez sur "+add destination".

Étape 4. Sélectionnez les événements.

<div data-with-frame="true"><figure><img src="/files/d34558f6d4c9f664451f45f91e918e815a51cdae" alt=""><figcaption></figcaption></figure></div>

Étape 3. Sélectionnez le type "Webhook endpoint".

<div data-with-frame="true"><figure><img src="/files/4067484e221eddc03028bc90caa0fd4c94cbb4ad" alt=""><figcaption></figcaption></figure></div>

Étape 4. Vérifiez le type de requête et cliquez sur "Continue".

<div data-with-frame="true"><figure><img src="/files/2f26067652dd680160ec0cd21855f5e9d3712aea" alt=""><figcaption></figcaption></figure></div>

Étape 5. Entrez un nom et indiquez l’URL du point de terminaison.

<div data-with-frame="true"><figure><img src="/files/9e1bb0d5b221c01431953dad8bfd3cf63f92eee3" alt=""><figcaption></figcaption></figure></div>

Définissez l’URL sur : <https://chatter.mavibot.ai/stripe\\_callback/result>

Étape 6. Deux points de terminaison seront créés — vous pourrez vérifier les paramètres avant de les ajouter.

<div data-with-frame="true"><figure><img src="/files/b98e4f080a4b311e27a194f8a95235e78e49f9d4" alt=""><figcaption></figcaption></figure></div>

Étape 7. Cliquez sur le bouton "Add destinations". Les webhooks seront enregistrés.

Étape 8. Cliquez sur "Done".

<div data-with-frame="true"><figure><img src="/files/8264f8dfab03580f385393ee26a4293ac1e06ccc" alt=""><figcaption></figcaption></figure></div>

Enregistrez et vous serez redirigé vers la page avec le webhook configuré.

<div data-with-frame="true"><figure><img src="/files/68e62947616986ffeaac88d1432bd58d0a5b3db5" alt=""><figcaption></figcaption></figure></div>

Étape 9. Cliquez sur le webhook où vous avez sélectionné tous les événements.

<div data-with-frame="true"><figure><img src="/files/6fc9d2a7ca0d9854c244eba9b7b1e770886563d1" alt=""><figcaption></figcaption></figure></div>

Étape 10. Trouvez la Signing key et enregistrez-la (vous en aurez besoin plus tard pour vous connecter à MaviBot).

<div data-with-frame="true"><figure><img src="/files/eaeb2e0966edff6918c98a49669165f905042157" alt=""><figcaption></figcaption></figure></div>

Une fois que vous avez les clés, passez à la connexion dans Mavibot.

Dans Mavibot, ouvrez la section "Acquiring" et sélectionnez Stripe.

<div data-with-frame="true"><figure><img src="/files/74b49eee1bf9718915c8ba11ecd23edebf6147c5" alt=""><figcaption></figcaption></figure></div>

Sur la page de connexion, saisissez les clés que vous avez obtenues.

<div data-with-frame="true"><figure><img src="/files/0e79ecbcd9e916ce460c3eaf9889743569abe7fd" alt=""><figcaption></figcaption></figure></div>

Cliquez sur "Save settings".

{% hint style="success" %}
C’est fait ! Vous avez connecté Stripe.
{% endhint %}

## Comment connecter un rappel de statut de transaction

Pour recevoir un rappel supplémentaire, vous devez ajouter un deuxième webhook à côté de celui existant.

Définissez l’URL sur : <https://chatter.mavibot.ai/stripe\\_callback/\\>\<api\_key>/charge\_status

et sélectionnez les événements suivants :

* `charge.failed`
* `charge.pending`
* `charge.succeeded`

<div data-with-frame="true"><figure><img src="/files/ebe67e16eb00a02623eba43f756ddb1ce0a865f7" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="success" %}
Plus de détails sur chaque type de webhook :

1. `charge.succeeded` — contient des informations sur une transaction terminée avec succès (similaire au rappel de paiement réussi)
2. `charge.pending` — "transaction en cours", peut prendre jusqu’à 7 jours pour être finalisée. Le webhook aura le format {10 premiers caractères}{type de webhook} Par exemple : sk\_test\_45LDPJLKT95d\_charge.pending
3. `charge.failed` — "transaction échouée". Le webhook aura le format {10 premiers caractères}{type de webhook} Par exemple : sk\_test\_45LDPJLKT95d\_charge.failed
   {% endhint %}

Ajoutez la clé de webhook obtenue après l’enregistrement dans le champ Mavibot — Webhook key2.

<div data-with-frame="true"><figure><img src="/files/f8712f131ca1f3a37e1401362be053e2a8de7a9b" alt=""><figcaption></figcaption></figure></div>

**stripe\_invoice\_id** — l’identifiant de la transaction pour laquelle un rappel de paiement réussi n’a pas été reçu immédiatement après le paiement.

## Comment configurer les taxes

Pour utiliser les taxes dans les paiements, vous devez d’abord les créer dans votre tableau de bord Stripe. Pour ce faire, tapez "tax rates" dans la barre de recherche :

<div data-with-frame="true"><figure><img src="/files/82d2177aade16d406b20e06896c81c70ad7a179c" alt=""><figcaption></figcaption></figure></div>

Puis cliquez sur "+ Add tax rates".

<div data-with-frame="true"><figure><img src="/files/b0261bac19693c2e5b8c61b4181e0c77527f51f1" alt=""><figcaption></figcaption></figure></div>

Ensuite, saisissez le taux de taxe applicable.

<div data-with-frame="true"><figure><img src="/files/b1d0681bd11ed7898175ec617aa58f48fd1d3a8f" alt=""><figcaption></figcaption></figure></div>

Dans le menu qui s’ouvre, sélectionnez le type de taxe, la région à laquelle elle s’applique, le pourcentage et si la taxe sera incluse dans le montant du paiement (Inclusive) ou ajoutée en supplément (Exclusive).

<div data-with-frame="true"><figure><img src="/files/38e0b2c47fad5e2128f2af5142f6f6afed298968" alt=""><figcaption></figcaption></figure></div>

Après avoir créé le taux de taxe, copiez son ID dans la variable stripe\_tax\_id avant de déclarer le montant du paiement.

<div data-with-frame="true"><figure><img src="/files/2a149b5338db18a5aa82233226b234918c21c444" alt=""><figcaption></figcaption></figure></div>

Pour éviter les erreurs, il est recommandé de définir la variable stripe\_tax\_id sur une chaîne vide ("") après avoir reçu le lien — ainsi, vous pourrez appliquer la taxe uniquement lorsque c’est nécessaire.

Si tout est correctement configuré, dans le cas d’un taux de taxe avec le paramètre exclusive, vous verrez ce qui suit :

<div data-with-frame="true"><figure><img src="/files/fb0ea9a4018f5a7e4a10d7bec4426ac8c7050ec7" alt=""><figcaption></figcaption></figure></div>

Comment obtenir un lien de paiement

Pour générer un lien de paiement, définissez la valeur de la variable payment\_sum (par ex. 150 ou 100.55 — utilisez un point, pas une virgule !). Ensuite, la variable stripe\_pay\_url apparaîtra. Vous pouvez afficher cette variable sous forme de lien ou l’ajouter à un bouton avec le texte "Pay".

Le lien ressemble à ceci :

`https://checkout.stripe.com/pay/cs_test_a17mskKFFRwEuo3WgBSAUjfk7xaZZIrct9B3Ds2AdODVq1I8aRiqYEBdrU#fidkdWxOYHwnPyd1blpxYHZxWjA0TGFsVzFPVmpmMzJAbVYzUkp1Y0lLYDVgfzR2Q0NxcWZBNUNnTnRSVVRJSGFobEB1UExSczRMMTc8PWRLMGBddl8xalxyPDRoUGhnZm9xXXZANDZyaF0wNTVBVExsPHZyfycpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl`

{% hint style="warning" %}
Par défaut, la devise est réglée sur USD. Pour utiliser une autre devise, définissez la valeur de la variable currency.
{% endhint %}

Vous pouvez également définir les variables optionnelles suivantes avant de définir la valeur payment\_sum pour configurer le paiement.

<table><thead><tr><th width="271.8984375">Paramètres de la fonction</th><th>Description du paramètre</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>devise de la commande. Les valeurs autorisées sont ici —<a href="https://stripe.com/docs/currencies">https://stripe.com/docs/currencies</a></td></tr><tr><td><strong>payment_description</strong></td><td>description du paiement</td></tr><tr><td> <strong>stripe_tax_id</strong></td><td>identifiant du taux de taxe configuré dans votre tableau de bord Stripe.<br>Les instructions de configuration sont fournies dans la section "<a href="#how-to-set-up-taxes">Comment configurer les taxes</a>".</td></tr><tr><td><strong>stripe_invoice_enable</strong> </td><td>indicateur permettant d’activer l’enregistrement des factures (reçus). Définissez n’importe quelle valeur pour l’activer — tous les documents pertinents seront disponibles dans votre tableau de bord Stripe.</td></tr><tr><td><strong>stripe_locale</strong></td><td><p>définissez la langue de la page de paiement : en, de, etc. Toutes les options disponibles : https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale</p><p>Si stripe_locale n’est pas défini, la langue du navigateur du client sera utilisée.</p></td></tr><tr><td><strong>stripe_payment_method_type</strong></td><td>méthode de paiement ; par défaut, il s’agit du paiement par carte. Peut être remplacée par d’autres méthodes de paiement disponibles dans Stripe. Les méthodes disponibles sont listées ci-dessous. Par exemple, <code>stripe_payment_method_type = "customer_balance"</code></td></tr><tr><td><strong>stripe_additional_payment_method_type</strong> </td><td>ajoutez une méthode de paiement supplémentaire. Les méthodes disponibles sont listées ci-dessous. Par exemple, <code>stripe_additional_payment_method_type = "sepa_debit"</code></td></tr><tr><td><strong>coupon_id</strong></td><td>identifiant du coupon de réduction</td></tr><tr><td>stripe_expired </td><td>durée d’expiration du lien de paiement. Spécifiée en secondes. Le minimum est de 30 minutes, le maximum de 24 heures. La valeur par défaut est de 24 heures.</td></tr><tr><td>stripe_automatic_tax</td><td>activez le calcul et la collecte automatiques des taxes au moment du paiement. Passez "1" pour l’activer. Pour plus de détails, consultez les <a href="https://docs.stripe.com/tax/set-up">articles Stripe.</a></td></tr></tbody></table>

{% hint style="warning" %}
Important ! Si vous utilisez à la fois les variables stripe\_payment\_method\_type et stripe\_additional\_payment\_method\_type, leurs valeurs doivent être différentes !
{% endhint %}

<details>

<summary>Liste des valeurs pour stripe_payment_method_type et stripe_additional_payment_method_type</summary>

card\
acss\_debit\
affirm \
afterpay\_clearpay \
alipay\
au\_becs\_debit \
bacs\_debit \
bancontact \
blik \
boleto \
cashapp \
customer\_balance \
eps \
fpx \
giropay \
grabpay \
ideal \
klarna \
konbini \
link \
oxxo \
p24 \
paynow \
paypal \
pix \
promptpay \
sepa\_debit \
sofort \
us\_bank\_account \
wechat\_pay zip

</details>

{% hint style="info" %}
[Pour plus de détails sur chaque méthode et les pays où elles sont disponibles, consultez la documentation Stripe](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)
{% endhint %}

### Exemple de génération de lien de paiement

Créons un lien de paiement pour 1000 AED (la devise par défaut est USD).

<div data-with-frame="true"><figure><img src="/files/8b14bb32b0e8a5d407f286d8cbe0047b074f222c" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Remarque :&#x20;

— Tout d’abord, spécifiez les paramètres optionnels tels que first\_name, payment\_description, etc.&#x20;

— Ensuite, attribuez la valeur à la variable payment\_sum en dernier.

Les variables peuvent également être définies plus tôt dans la chaîne, pas nécessairement dans le même bloc — ce n’est qu’un exemple.
{% endhint %}

Affichez ensuite la variable stripe\_pay\_url, qui contient le lien, à l’endroit souhaité — soit dans un bloc de message, soit sur un bouton :

Exemple 1. Afficher le lien de paiement directement dans un message :

<div data-with-frame="true"><figure><img src="/files/8c775719447d4103363ffa8d4a15202cc5d8395c" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/71b2d2cf71063d66c8b30460cae5b3585a77bddd" alt="" width="563"><figcaption><p>Test dans le bot.</p></figcaption></figure></div>

Exemple 2. Ajouter le lien de paiement à un bouton.

<div data-with-frame="true"><figure><img src="/files/3f609bd20cb193ccc07bf7cfc34927343123a07b" alt=""><figcaption></figcaption></figure></div>

Lorsque le bouton est cliqué ou que le lien est suivi, votre payeur sera redirigé vers la page de paiement.

<div data-with-frame="true"><figure><img src="/files/f7ddb81ed9ab645cd3eb9fc9cf0be89035e3f11e" alt=""><figcaption></figcaption></figure></div>

L’exemple montre que les paramètres que nous avons spécifiés dans la calculatrice dans les paramètres du bloc ont été appliqués : description de la commande, devise et montant.

Si vous passez le paramètre du taux de taxe (stripe\_tax\_id) dans le bloc.

<div data-with-frame="true"><figure><img src="/files/51c7a40bac722823203a204ba50c0502c6d8cb51" alt=""><figcaption></figcaption></figure></div>

Le taux de taxe sera également affiché dans le formulaire de paiement.

<div data-with-frame="true"><figure><img src="/files/5162015506550ad2632ef5b6709936df13bbd715" alt=""><figcaption></figcaption></figure></div>

<details>

<summary>Exemple de code à copier</summary>

payment\_description = "test payment"&#x20;

currency = 'AED'&#x20;

stripe\_tax\_id = 'enter\_your\_stripe\_id\_tax'&#x20;

payment\_sum = 1000

</details>

Où trouver l’ID de taxe.

<div data-with-frame="true"><figure><img src="/files/b8e9f3c665427270756513a2105b194a6688c378" alt=""><figcaption></figcaption></figure></div>

## Comment configurer les paiements récurrents

Pour les paiements récurrents (abonnements), déclarez la variable stripe\_subscription avant la variable payment\_sum et attribuez-lui le nom de l’abonnement.

Vous pouvez également ajouter les variables suivantes : interval — la durée de l’intervalle d’abonnement. Passez 'day' pour les jours, 'week' pour les semaines, 'month' pour les mois ou 'year' pour les années. Si la variable n’est pas définie, 'month' sera utilisé par défaut.

{% hint style="warning" %}
Important !

La durée d’un cycle d’abonnement ne peut pas dépasser 1 an (pour le paramètre 'year'), 12 mois (pour le paramètre 'month') ou 52 semaines (pour le paramètre 'week').
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/547ea1378acb76cd111c0710be61ad33a24b213a" alt=""><figcaption></figcaption></figure></div>

interval\_count — le nombre d’intervalles spécifiés : combien de jours, semaines ou mois sont inclus dans l’abonnement pour le montant donné. La valeur par défaut est 1.

stripe\_payment\_method\_type — la méthode de paiement ; par défaut, il s’agit du paiement par carte. Peut être remplacée par d’autres méthodes de paiement disponibles dans Stripe. Les méthodes disponibles sont listées ci-dessous.

Par exemple, `stripe_payment_method_type = 'customer_balance'`

stripe\_additional\_payment\_method\_type — ajoutez une méthode de paiement supplémentaire. Les méthodes disponibles sont listées ci-dessous.

Par exemple, `stripe_additional_payment_method_type = 'sepa_debit'`

{% hint style="warning" %}
Important ! Si vous utilisez à la fois les variables stripe\_payment\_method\_type et stripe\_additional\_payment\_method\_type, les valeurs DOIVENT être DIFFÉRENTES !
{% endhint %}

<details>

<summary>Liste des valeurs pour stripe_payment_method_type et stripe_additional_payment_method_type :</summary>

card\
acss\_debit\
affirm \
afterpay\_clearpay \
alipay\
au\_becs\_debit \
bacs\_debit \
bancontact \
blik \
boleto \
cashapp \
customer\_balance \
eps \
fpx \
giropay \
grabpay \
ideal \
klarna \
konbini \
link \
oxxo \
p24 \
paynow \
paypal \
pix \
promptpay \
sepa\_debit \
sofort \
us\_bank\_account \
wechat\_pay zip

</details>

{% hint style="info" %}
[Pour plus de détails sur chaque méthode et les pays où elles sont disponibles, consultez la documentation Stripe](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type).
{% endhint %}

{% hint style="warning" %}
Important !

La durée d’un cycle d’abonnement ne peut pas dépasser 1 an (pour le paramètre 'year'), 12 mois (pour le paramètre 'month') ou 52 semaines (pour le paramètre 'week').
{% endhint %}

Dans cet exemple, un abonnement nommé 'My\_subscription' sera créé avec un prix de 1000 AED par 1 mois, et un paiement récurrent du même montant sera prélevé après 1 mois.

<div data-with-frame="true"><figure><img src="/files/ffbfa947807c63b7752c27fb6c594e7a28b17aa1" alt=""><figcaption></figcaption></figure></div>

Exemple à copier :

`stripe_subscription = 'My_subscription' interval = 'month' payment_sum = 90`

Pour prélever le paiement de l’abonnement une fois tous les deux, trois ou quatre mois, passez le paramètre interval\_count :

`stripe_subscription = 'My_subscription'`

`interval = 'month'`

`interval_count = 3`

`payment_sum = 90`

Pour changer l’intervalle de paiement de l’abonnement de mensuel à hebdomadaire, passez le mot week dans le paramètre interval :

`stripe_subscription = 'My_subscription'`

`interval = 'week'`

`interval_count = 3`

`payment_sum = 90`

Après le paiement, les variables de transaction du client incluront stripe\_subscription\_id, qui est nécessaire pour configurer l’annulation de l’abonnement, et stripe\_customer\_id, qui pourra ensuite être utilisé pour vérifier le statut de l’abonnement.

{% hint style="warning" %}
La notification (callback) est envoyée uniquement pour le premier paiement récurrent !

Il n’y aura AUCUN callback pour les paiements suivants. Le suivi se fait via la fonction et stripe\_customer\_id.
{% endhint %}

<figure><img src="/files/3052fbba6597bbebfa31b097b065ed219252caa2" alt="" width="371"><figcaption></figcaption></figure>

## Paramètres pour revenir aux paiements réguliers

Pour revenir aux paiements réguliers, attribuez une chaîne vide à la variable d’abonnement : stripe\_subscription = ''. Dans ce cas, les variables interval et interval\_count n’affecteront pas la génération du lien.

<div data-with-frame="true"><figure><img src="/files/16243c02dc89fc37b2793c83a3101086ff85cf0d" alt=""><figcaption></figcaption></figure></div>

## Paramètres pour annuler un abonnement

Pour annuler un abonnement dans la calculatrice, utilisez la méthode stripe\_remove\_subscription(stripe\_subscription\_id), où stripe\_subscription\_id est l’identifiant enregistré dans les variables de transaction après le paiement.

Cela maintiendra l’abonnement payé actif jusqu’à la fin de la période de facturation en cours, mais aucun prélèvement supplémentaire n’aura lieu, et l’abonnement sera annulé une fois la période expirée.

<div data-with-frame="true"><figure><img src="/files/69d98789fc52d4a0894e1788720f20082e6c6734" alt=""><figcaption></figcaption></figure></div>

answer = stripe\_remove\_subscription('#{stripe\_subscription\_id}')

stripe\_remove\_subscription — en cas de succès, renvoie une réponse contenant des informations sur la date jusqu’à laquelle l’abonnement annulé restera actif.

Dans cet exemple, le résultat de la fonction sera stocké dans la variable answer, ce qui vous permettra de vérifier le résultat.

## Vérification du statut de l’abonnement

stripe\_check\_subscription(subscription\_id, customer\_id), où

stripe\_subscription\_id — identifiant de l’abonnement stripe\_customer\_id — identifiant du client dans Stripe (paramètre facultatif)

<div data-with-frame="true"><figure><img src="/files/6e3cd9c60471f72ea3112e04a557d9f14a353d86" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/7c3ac570bfe52877f21b7a3f160d8104d3ecf04d" alt=""><figcaption></figcaption></figure></div>

## Comment créer un coupon et obtenir un identifiant de réduction

Pour obtenir un identifiant de réduction, créez un coupon dans votre tableau de bord, dans la section "Coupons". ”[coupons](https://dashboard.stripe.com/coupons)”.

<div data-with-frame="true"><figure><img src="/files/714d3997b6003f5cc06a2a69956651ec34360853" alt=""><figcaption></figcaption></figure></div>

En cliquant sur le bouton "New", vous ouvrirez une page où vous devrez indiquer :

1. Nom — le nom de la réduction ;
2. ID — l’identifiant, généré automatiquement ;
3. Type — le type de réduction : pourcentage ou montant fixe ;
4. Durée — la durée de la réduction (ponctuelle ou continue, par ex. pour les abonnements) et d’autres paramètres.

<div data-with-frame="true"><figure><img src="/files/47072e549ce223594698cf0dcd5e01393c42b9f8" alt=""><figcaption></figcaption></figure></div>

Le coupon de réduction apparaîtra dans le "Product catalogue" sous la section "Coupons", et vous pourrez voir l’ID de réduction en ouvrant le menu du coupon.

<div data-with-frame="true"><figure><img src="/files/be6e54203cedad72eea11f649b74b65577bd617f" alt=""><figcaption></figcaption></figure></div>

Cliquez sur le coupon pour copier l’ID du coupon.

<div data-with-frame="true"><figure><img src="/files/25f5a9a8d837a6d0a39ea5f015c6e87039cbb4f5" alt=""><figcaption></figcaption></figure></div>

## Comment appliquer une réduction à une commande

1. Lors de la génération d’un lien de paiement (fonctionne à la fois pour les abonnements et les paiements uniques).

Dans la calculatrice du bloc, avant de déclarer la variable payment\_sum, définissez la variable coupon\_id et passez l’identifiant de réduction depuis votre tableau de bord Stripe.

<div data-with-frame="true"><figure><img src="/files/17b9a3d570e4ece45767cc25a7442998393444fe" alt=""><figcaption></figcaption></figure></div>

2. À un abonnement existant à l’aide de la fonction stripe\_add\_subscription\_discount.

Définissez les conditions de déclenchement du bloc et appelez la fonction spécifiée dans la calculatrice, en passant les paramètres stripe\_subscription\_id (ID d’abonnement) et coupon\_id (ID de réduction du coupon). La réduction sera appliquée aux paiements d’abonnement suivants.

<div data-with-frame="true"><figure><img src="/files/60ded3a56f3ddf60c55381b7d5fe4dc15e292236" alt=""><figcaption></figcaption></figure></div>

<details>

<summary>Exemple de code à copier</summary>

stripe\_subscription = 'test subscription'&#x20;

interval = 'month'&#x20;

payment\_description = 'test payment'&#x20;

currency = 'AED'&#x20;

coupon\_id = 'BD8VIwi8' stripe\_add\_subscription\_discount(stripe\_subscription\_id, coupon\_id)

stripe\_tax\_id = 'Qfkiwiki29jcs'

payment\_sum = 90

</details>

Si la réduction est appliquée avec succès, la fonction renverra un message avec l’ID de l’abonnement, le type de réduction, le montant ou le pourcentage, ainsi que la date d’expiration.

<div data-with-frame="true"><figure><img src="/files/0109d8cfc320f72ccc47f5ca949b4c6ee7962622" alt=""><figcaption></figcaption></figure></div>

## Comment supprimer ou modifier une réduction pour un abonnement

Une réduction associée à un abonnement peut être supprimée ou remplacée par une autre réduction.

Pour arrêter une réduction, définissez les conditions de déclenchement du bloc et appelez la fonction stripe\_remove\_subscription\_discount dans la calculatrice, en passant le paramètre stripe\_subscription\_id (ID d’abonnement).

<div data-with-frame="true"><figure><img src="/files/8c519645ea1843d940e15c43e5c9ed7a9933c686" alt=""><figcaption></figcaption></figure></div>

Si l’opération réussit, la fonction renverra un message contenant l’ID de l’abonnement et la date d’annulation de la réduction.

Le remplacement d’une réduction, comme l’ajout d’une nouvelle, se fait à l’aide de la fonction stripe\_add\_subscription\_discount. Veillez à passer les paramètres stripe\_subscription\_id et coupon\_id. Une requête réussie mettra à jour le coupon associé à l’abonnement et renverra un message avec les détails mis à jour.

## Comment traiter le résultat

Après un paiement réussi, le bot recevra des callbacks indiquant une transaction réussie. Dans le système, ces callbacks apparaissent comme des messages de l’utilisateur. Pour empêcher les utilisateurs de les envoyer manuellement, ils se composent des 20 premiers caractères de la clé secrète suivis de \_success, par exemple : sk\_live\_d35gky6d8ers\_success

<div data-with-frame="true"><figure><img src="/files/11ca6d7023e13de5e8a384aaed6702562df2454d" alt="" width="563"><figcaption></figcaption></figure></div>

Ces callbacks ne sont PAS visibles pour l’utilisateur — ils sont visibles uniquement pour l’opérateur.

Le type de comparaison doit être défini sur "Exact match".

Après un paiement réussi, la variable stripe\_payment\_completed est également définie sur True.

Par exemple, vous pouvez gérer un paiement réussi à l’aide d’un bloc conditionnel et afficher le message approprié à l’utilisateur.

<div data-with-frame="true"><figure><img src="/files/322225cd8e0cf0a5e3871edfe40778cb3a1e39ee" alt=""><figcaption></figcaption></figure></div>

Une fois le paiement terminé, la variable stripe\_callback\_data sera ajoutée aux données du client, contenant la réponse du système de paiement pour la transaction terminée. Les données requises peuvent être extraites du dictionnaire résultant à l’aide de la méthode get.

{% hint style="warning" %}
Pour traiter un paiement répété, vous devez d’abord réinitialiser payment\_sum et le lien précédemment généré, puis seulement réattribuer la variable payment\_sum pour obtenir un nouveau lien. Vous pouvez utiliser la valeur précédente.
{% endhint %}

## Comment tester les paiements

Pour tester l’intégration, vous pouvez utiliser la clé secrète de l’environnement de test. Pour ce faire, passez à l’environnement de test dans le tableau de bord Stripe à l’aide du menu à droite.

![](https://lh5.googleusercontent.com/r-tuJboMES8alkTUpKwA4HKrmL_epNtSXdENrv12EyR9dGCtvRLBK6qw4UGcr59GA3unxc1cV1otCu80nqHEw9VhbEK05ovPQ1Ad8chBv50LAWPO16nEPC2hFhCAsCe3khtBJrob=s0)

Ensuite, suivez les étapes de configuration décrites au début de ce guide. Entrez la clé secrète de test et ajoutez l’URL du webhook dans l’environnement de test.

Pour tester, utilisez un numéro de carte de paiement de test ([vous pouvez trouver le numéro de carte pour votre pays sur le site officiel de Stripe](https://stripe.com/docs/testing#regulatory-cards)).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/integrations/payment/stripe.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
