# Stripe

## Comment connecter

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

Vous pouvez copier la clé API secrète en allant dans la section Developers -> API key et en copiant la Secret key.

Étape 1. Allez dans la section Developers -> API key :

<figure><img src="/files/9e49e17303ea2ac23a0de9dd7ed096bc476255f5" alt="" width="563"><figcaption><p>Fig. 1 Comment trouver la section API</p></figcaption></figure>

Étape 2. Trouvez et copiez la Secret key :

<figure><img src="/files/bbf406c9de434fdae885fd33b0b980b8c01c0389" alt=""><figcaption></figcaption></figure>

Ensuite, vous devez définir l’URL pour les callbacks. C’est nécessaire pour que le bot reçoive les notifications de paiement.

Allez dans la section Webhooks et ajoutez l’adresse pour les webhooks.

<figure><img src="/files/55272e26a0022be2436459ee3b6a77f309f8ec0b" alt=""><figcaption></figcaption></figure>

Le formulaire s’ouvre :

<figure><img src="/files/32fb46613641882cd12d3b5ae7b40c24300144cf" alt=""><figcaption></figcaption></figure>

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

Étape 2. Sélectionnez les événements :

<figure><img src="/files/68f6d0942f3c28a83f6d9616da503a7f9c92dbcf" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/d1d904a782c0939dadd6e3bd1b6f9309a61f3ac8" alt=""><figcaption></figcaption></figure>

Étape 4. Nous prenons connaissance du type de requête et cliquons sur "Continue" :

<figure><img src="/files/3082286aa2add1c26bbc5a73467b599bd09f8537" alt=""><figcaption></figcaption></figure>

Étape 5. Nous indiquons le nom et précisons l’URL du endpoint :

<figure><img src="/files/5fe6d13e71abdd898b0513afbf90c3c4a90ec289" alt=""><figcaption></figcaption></figure>

Spécifier l’URL - <https://chatter.salebot.pro/stripe_callback/result>

Étape 6. Deux endpoints seront créés, vous pouvez consulter les paramètres avant d’ajouter :&#x20;

<figure><img src="/files/4915141b41ea58369d48de4965a839f496524da8" alt="" width="563"><figcaption></figcaption></figure>

Étape 7. Ensuite, cliquez sur le bouton "Add destinations". Les webhooks seront alors enregistrés.

Étape 8. Cliquez sur le bouton "Done".

<figure><img src="/files/0f2367858e81f8c98fc432f75440ada102d234fa" alt=""><figcaption></figcaption></figure>

Nous l’enregistrons et arrivons à la page avec le webhook installé :

<figure><img src="/files/5efc38417ba592a2209869ce20d5c1561ed132d1" alt=""><figcaption></figcaption></figure>

Étape 9. Ensuite, cliquez sur le webhook où vous avez sélectionné tous les événements :

<figure><img src="/files/2038f8c49b55b065478945eb5f0e689b6e918755" alt=""><figcaption></figcaption></figure>

Étape 10. Nous trouvons la clé de signature et nous la sauvegardons (à l’avenir, nous en aurons besoin pour nous connecter à Salebot) :

<figure><img src="/files/0e10bc4d3ee54515812162c5ca2012126699582d" alt=""><figcaption></figcaption></figure>

Après avoir reçu les clés, nous passons à la connexion à Mavibot.

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

<figure><img src="/files/60c882d61895e761a6492d989d54b83011c3b85e" alt=""><figcaption></figcaption></figure>

Sur la page de connexion, vous devez saisir les clés reçues :

<figure><img src="/files/a0d0b3690f59dcb51e33d9737c0a728a66304359" alt=""><figcaption></figcaption></figure>

Cliquez sur "Save Settings".

{% hint style="success" %}
Terminé !&#x20;

Cela termine la connexion du système de paiement !
{% endhint %}

## Comment connecter un callback sur le statut de la transaction

Pour obtenir un callback supplémentaire, nous devrons connecter un webhook dans **en plus de celui existant.**

Spécifier l’URL - [https://chatter.salebot.pro/stripe\_callback/\<api\_key>/charge\_status](https://chatter.salebot.pro/stripe_callback/<api_key>/charge_status)

et sélectionnez les événements :

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

<figure><img src="/files/ebe67e16eb00a02623eba43f756ddb1ce0a865f7" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
**En savoir plus sur chaque type de webhook :**

1. **charge.succeeded** - contient des informations sur la réussite de la transaction (similaire à un callback sur un paiement réussi)
2. **charge.pending** - "la transaction est en cours", elle peut prendre jusqu’à 7 jours pour être terminée.\
   Le webhook ressemblera à {10 premiers caractères}{type de webhook}\
   *Par exemple*: *sk\_test\_45LDPJLKT95d\_charge.pending*&#x20;
3. **charge.failed** *-* "la transaction a échoué."\
   Le webhook ressemblera à {10 premiers caractères}{type de webhook}\
   Par exemple : *sk\_test\_45LDPJLKT95d\_charge.failed*
   {% endhint %}

Nous ajoutons le webhook reçu après l’enregistrement au champ Mavibot - Webhook key2 :

<figure><img src="/files/bcbf8b0a92c409b042786a9d060abd00787e80fd" alt="" width="563"><figcaption></figcaption></figure>

**stripe\_invoice\_id** - ID de transaction pour laquelle le callback de paiement réussi n’a pas été reçu immédiatement après le paiement.

## Comment connecter les taxes

Pour utiliser les taxes dans les paiements, vous devez d’abord les créer dans le compte Stripe. Pour ce faire, entrez tax rates dans la barre de recherche :

<figure><img src="/files/82d2177aade16d406b20e06896c81c70ad7a179c" alt=""><figcaption></figcaption></figure>

Et cliquez sur "+ Add tax rates" :

<figure><img src="/files/b0261bac19693c2e5b8c61b4181e0c77527f51f1" alt=""><figcaption></figcaption></figure>

Ensuite, spécifiez le taux de taxe applicable :

<figure><img src="/files/b1d0681bd11ed7898175ec617aa58f48fd1d3a8f" alt=""><figcaption></figcaption></figure>

Dans le menu qui s’ouvre, sélectionnez le type de taxe, la région d’application, le taux de taxe, ainsi que l’option indiquant si cette taxe doit être incluse dans le montant du paiement ('Inclusive') ou ajoutée en supplément du montant - exclusive :

<figure><img src="/files/38e0b2c47fad5e2128f2af5142f6f6afed298968" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/2a149b5338db18a5aa82233226b234918c21c444" alt=""><figcaption></figcaption></figure>

Pour éviter les erreurs, mettez une chaîne vide ("") dans la variable stripe\_tax\_id après avoir reçu le lien, afin de pouvoir appliquer la taxe uniquement lorsque cela est nécessaire.

Si tout est fait correctement, alors dans le cas du taux de taxe avec le paramètre exclusive, vous verrez ce qui suit

<figure><img src="/files/c74c7141a1f2005e7ec88e056a6bf24c65dc58d6" alt=""><figcaption><p>Exemple d’un paiement avec un taux de taxe exclusive</p></figcaption></figure>

## **Comment obtenir un lien de paiement**&#x20;

Pour générer un lien de paiement, vous devez définir la valeur de la **payment\_sum** variable (par exemple, 150 ou 100.55 (séparé par un point !)), puis la variable stripe\_pay\_url apparaîtra. Cette variable peut être affichée sous forme de lien ou placée sur un bouton avec le texte "Pay".

Le lien ressemble à :

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

{% hint style="warning" %}
Par défaut, USD (dollar) est défini. Si vous avez besoin d’une autre devise, vous devez définir la valeur de la **currency** variable.
{% endhint %}

Aussi, avant de définir la valeur de la **payment\_sum** variable, vous pouvez définir les variables facultatives suivantes pour configurer le paiement.

<table><thead><tr><th width="255">Paramètres de la fonction</th><th>Description des paramètres</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>est la devise de la commande. Valeurs acceptées -<a href="https://stripe.com/docs/currencies">https://stripe.com/docs/currencies</a></td></tr><tr><td><strong>payment_description</strong></td><td>description de la commande</td></tr><tr><td> <strong>stripe_tax_id</strong></td><td>Il s’agit de l’ID du taux de taxe, configuré dans le compte Stripe.<br>La manière de le configurer est décrite dans la section "Comment configurer les taxes" lien "<a href="#kak-podklyuchit-nalogi">Comment connecter les taxes</a>"</td></tr><tr><td><strong>stripe_invoice_enable</strong> </td><td>Ce paramètre indique la nécessité de sauvegarder les factures (invoices, receipts). Entrez n’importe quelle valeur — tous les documents nécessaires seront alors disponibles dans votre compte Stripe.</td></tr><tr><td><strong>stripe_locale</strong></td><td>définir la langue du lien de paiement : en, ru, de. Toutes les langues disponibles sont ici : <a href="https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale ">https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale </a><br>Si le <strong>stripe_local</strong> si la valeur n’est pas fournie, la langue du navigateur du client sera utilisée par défaut.</td></tr><tr><td><strong>stripe_payment_method_type</strong></td><td><p>est le moyen de paiement ; par défaut, le paiement par carte est utilisé. Vous pouvez le remplacer par d’autres moyens de paiement disponibles dans Stripe. Les méthodes disponibles sont indiquées ci-dessous</p><p>Par exemple, <code>stripe_payment_method_type = "customer_balance"</code></p></td></tr><tr><td><strong>stripe_additional_payment_method_type</strong> </td><td>sert à ajouter un moyen de paiement supplémentaire. Les méthodes disponibles sont indiquées ci-dessous, par exemple, <code>stripe_additional_payment_method_type  = "sepa_debit"</code></td></tr><tr><td><strong>coupon_id</strong></td><td>ID du coupon de réduction</td></tr><tr><td>stripe_expired </td><td>est la durée de validité du lien de paiement. Spécifiée en secondes. Le temps minimum est de 30 minutes, le maximum est de 24 heures. La valeur par défaut est 24 heures</td></tr><tr><td>stripe_automatic_tax</td><td>activation du calcul et de la collecte automatiques des taxes pendant le paiement. Pour l’activer, transmettez "1". Des informations détaillées sur ce réglage se trouvent dans la documentation Stripe. lien <a href="https://docs.stripe.com/tax/set-up">dans la documentation Stripe </a></td></tr></tbody></table>

{% hint style="warning" %}
Attention ! Si vous utilisez à la fois  ***stripe\_payment\_method\_type** et  **stripe\_additional\_payment\_method\_type*** variable&#x73;***, alors les valeurs qu’elles contiennent DOIVENT être DIFFÉRENTES !***
{% endhint %}

<details>

<summary><em><mark style="color:green;"><strong>Liste des valeurs pour</strong></mark><strong>  </strong><strong>stripe_payment_method_type</strong> et <strong>stripe_additional_payment_method_type</strong></em></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>

Vous pouvez en savoir plus sur chacun des moyens de paiement et sur les pays où ils sont disponibles dans la documentation Stripe : [voir sur le site ](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)

### **Exemple de génération d’un lien de paiement**

Créons un lien de paiement d’un montant de 1000 roubles (par défaut en dollars)

<figure><img src="/files/090e9c874043a01f1a1d83dd736af66a6201ab85" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Veuillez noter :** \
\- D’abord, vous indiquez les paramètres facultatifs  **first\_name, payment\_description** etc.\
\- Et la dernière à laquelle on attribue une valeur est la variable **payment\_sum**

Les variables peuvent aussi être définies plus tôt dans la chaîne, et non dans un seul bloc ; c’est un exemple.
{% endhint %}

Ensuite, à l’endroit voulu, nous affichons la variable **stripe\_pay\_url**, qui contient le lien dans un bloc ou dans un bouton :

Exemple 1. Nous affichons le lien de paiement directement dans le message :

<figure><img src="/files/6e7152c16fac60ab1c1dcbbfe162f80826b1ddcf" alt=""><figcaption></figcaption></figure>

Test dans le bot :

<figure><img src="/files/d41d2a81b138994b64857c6fc5441dd277045795" alt="" width="563"><figcaption></figcaption></figure>

Exemple 2. Nous ajoutons le lien de paiement à un bouton :

<figure><img src="/files/f07fb26eea4095365bc3b6649ca9a6cc6673f45c" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8c6400f02f06f3a7bece09f6bff78e4edebe7453" alt="" width="563"><figcaption></figcaption></figure>

Exemple 3. Nous ajoutons le lien comme pièce jointe au message :

<figure><img src="/files/1b8a2a1a8f892d2f279d2c2671775279916562f5" alt=""><figcaption></figcaption></figure>

Test dans le bot :

<figure><img src="/files/82740367482540a310caee7a4cb22b71b27d18d4" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
Les trois options sont valables pour envoyer le lien de paiement dans le bot.&#x20;
{% endhint %}

Lors d’un clic sur le bouton ou en suivant le lien, votre payeur sera redirigé vers la page de paiement :

<figure><img src="/files/537e821b6158c34526f7a871b7a40769bebcac3d" alt=""><figcaption></figcaption></figure>

Dans l’exemple, on voit que les paramètres que nous avons indiqués dans le calculateur dans les paramètres du bloc ont été appliqués : description de la commande, devise et montant.&#x20;

Si vous transmettez le paramètre du taux de taxe (**stripe\_tax\_id)** dans le bloc :&#x20;

<figure><img src="/files/013882f21c2f1c9670fdfe98ca449a5455368d4b" alt=""><figcaption></figcaption></figure>

Alors le taux de taxe sera également affiché dans le formulaire de paiement :

<figure><img src="/files/9b09e48411aaf15071fc99f0b16d6cfea31da3a9" alt=""><figcaption></figcaption></figure>

<details>

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

`payment_description = 'Paiement test dans Stripe'` \
`currency = 'RUB'` \
`stripe_tax_id = 'copiez ici votre tax ID'` \
`payment_sum = 1000`

Où trouver le tax ID :

<figure><img src="/files/28d682ef54e8a30e15e28c758adfbab38dc629b5" alt=""><figcaption></figcaption></figure>

</details>

## **Comment configurer les paiements récurrents**

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

Vous pouvez également ajouter les variables suivantes : \
**interval** – durée de l’intervalle d’abonnement, vous devez transmettre à cette variable la valeur **‘day’** - pour les jours, **‘week’** - semaines, **‘month’** - mois, **‘year’** - ans.\
Si la variable n’est pas déclarée, alors ***par défaut*** le paramètre **‘month’.**

{% hint style="warning" %}
**Important !** La durée d’un cycle d’abonnement ne peut pas dépasser 1 an (pour le paramètre ‘year’), plus de 12 mois (pour le paramètre ‘month’), plus de 52 semaines (pour le paramètre ‘week’).
{% endhint %}

<figure><img src="/files/d96b4815a3e60c1ba0e238f73d4a68e09da57e3b" alt=""><figcaption></figcaption></figure>

**interval\_count** – nombre d’intervalles indiqués, combien de jours, semaines ou mois l’abonnement comprendra pour le montant spécifié. ***Par défaut*** le paramètre transmis sera égal à un (**1**);

**stripe\_payment\_method\_type** - moyen de paiement, par défaut le paiement par carte (card) est utilisé. Vous pouvez le remplacer par d’autres moyens de paiement disponibles dans Stripe. Les méthodes disponibles sont indiquées ci-dessous.

Par exemple, `stripe_payment_method_type = 'customer_balance'`

**stripe\_additional\_payment\_method\_type** - ajouter un moyen de paiement supplémentaire. Les méthodes disponibles sont indiquées ci-dessous

Par exemple, `stripe_additional_payment_method_type  = 'sepa_debit'`

{% hint style="warning" %}
Important ! Si vous utilisez les deux variables ***stripe\_payment\_method\_type** et  **stripe\_additional\_payment\_method\_type, alors les valeurs doivent OBLIGATOIREMENT être DIFFÉRENTES !***
{% endhint %}

<details>

<summary><em><mark style="color:green;"><strong>Liste des valeurs pour</strong></mark><strong>  </strong><strong>stripe_payment_method_type</strong> et  <strong>stripe_additional_payment_method_type :</strong></em></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 d’informations sur chacun des moyens et sur les pays où ils sont disponibles, consultez la documentation Stripe : voir le site lien [voir sur le site ](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)
{% endhint %}

{% hint style="warning" %}
**Attention !** La durée de l’abonnement ne peut pas dépasser 1 an (pour le paramètre ‘year’), plus de 12 mois (pour le paramètre ‘month’), plus de 52 semaines (pour le paramètre ‘week’).
{% endhint %}

Dans cet exemple, un abonnement nommé 'My\_subscription' sera créé avec un prix de 90 USD pour 3 mois, et un paiement récurrent du même montant sera effectué après ces 1 mois :

<figure><img src="/files/e513b330acfe3b0615a33f8ec558bf85dc934883" alt=""><figcaption></figcaption></figure>

Un exemple à copier :

`stripe_subscription = 'My_subscription'` \
`interval = 'month'` \
`interval_count = 3` \
`payment_sum = 90`&#x20;

Après le paiement, le client aura **stripe\_subscription\_id** variables dans les variables de la transaction, qui seront nécessaires 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) n’est reçue qu’au premier paiement récurrent !

IL N’Y AURA PAS de callback pour les appels répétés. Le contrôle se fait via la fonction et le stripe\_customer\_id. [via la fonction](#proverka-statusa-podpiski) lien
{% endhint %}

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

### Retour aux paramètres des paiements réguliers

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

<figure><img src="/files/6a17ed9f15cab02d7daa9e674c092e0dfa8aed33" alt=""><figcaption></figcaption></figure>

### **Annulation des paramètres d’abonnement**

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

Cela vous permettra de conserver votre abonnement payant actif jusqu’à la fin de la période payée en cours, mais les futurs prélèvements n’auront pas lieu, et l’abonnement sera annulé à l’expiration :

<figure><img src="/files/55cb7e39f94678867b9d527b6afee9649d423036" alt=""><figcaption></figcaption></figure>

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

stripe\_remove\_subscription - En cas de succès, vous recevrez une réponse contenant des informations sur la date jusqu’à laquelle l’abonnement annulé reste valide.

Dans cet exemple, le résultat de l’exécution de la fonction sera placé dans la variable answer et il sera possible de vérifier le résultat de l’exécution.&#x20;

### Vérification du statut de l’abonnement

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

**stripe\_subscription\_id** - ID d’abonnement \
**stripe\_customer\_id** - ID client dans Stripe (paramètre facultatif)

<figure><img src="/files/ca565dc82ee9c5d35f9303c7918ff95394945510" alt=""><figcaption></figcaption></figure>

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

Pour recevoir l’ID de réduction, créez un coupon dans votre compte personnel dans la section ”coupons”. lien ”[coupons](https://dashboard.stripe.com/coupons)».

<figure><img src="/files/714d3997b6003f5cc06a2a69956651ec34360853" alt=""><figcaption></figcaption></figure>

Après avoir cliqué sur le bouton “New”, une page s’ouvre où vous devez indiquer :

1. &#x20;Name — nom de la réduction ;
2. ID — identifiant généré automatiquement.
3. Type — type de réduction : pourcentage ou montant fixe
4. Duration — durée de la réduction (ponctuelle ou récurrente, par exemple pour les abonnements) et autres paramètres.

<figure><img src="/files/593101d8b865cc9846462f7ffa013f14298ac11b" alt=""><figcaption></figcaption></figure>

Le coupon de réduction apparaîtra dans le “Product catalog“ dans la section “Coupons”, et vous pouvez voir l’ID de réduction en allant dans le menu du coupon :

<figure><img src="/files/6a48b5010f4f9a351b935125369de10c0855acf8" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/4dd4a9d08fca000f4a03e4c271e6001f0ccf519f" alt=""><figcaption></figcaption></figure>

### Comment ajouter une réduction à la commande

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

Dans le calculateur du bloc, avant de déclarer la **payment\_sum** définissez la variable **coupon\_id** variable en lui attribuant l’ID de réduction provenant du compte Stripe.

<figure><img src="/files/63f446dafb7414f6e5df7c3bbb295c43e0aaff69" alt=""><figcaption></figcaption></figure>

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

Définissez les conditions de déclenchement du bloc et appelez la fonction indiquée dans le calculateur, en lui fournissant les paramètres stripe\_subscription\_id (ID d’abonnement) et coupon\_id (ID du coupon de réduction). La réduction sera appliquée pour les paiements d’abonnement suivants.

<figure><img src="/files/1d3b7d0f4673380d4479274d304a03b260d9f88d" alt=""><figcaption></figcaption></figure>

<details>

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

`stripe_subscription = 'Abonnement premium'` \
`interval = 'month'` \
`payment_description = 'Paiement test dans Stripe'` \
`currency = 'USD'` \
`coupon_id = 'ID de votre coupon'` \
`stripe_add_subscription_discount(stripe_subscription_id, coupon_id)` \
`stripe_tax_id = 'ID de la taxe'` \
`payment_sum = 90`

</details>

En cas d’ajout réussi, la fonction renvoie un message indiquant l’ID de l’abonnement, le type, le montant ou le pourcentage de la réduction ainsi que sa date d’expiration.

<figure><img src="/files/380bf16fd5a88b8672a9fb81bebfcc920a4071a6" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Pour plus d’informations sur la création d’un abonnement, consultez la section "Comment configurer les paiements récurrents" lien "[Comment configurer les paiements récurrents](#kak-nastroit-rekurrentnye-platezhi)"
{% endhint %}

### Comment supprimer/modifier la réduction de l’abonnement

La réduction attachée à l’abonnement peut être supprimée ou remplacée par une autre réduction.

Si vous souhaitez mettre fin à la réduction, définissez une condition de déclenchement du bloc et appelez la **stripe\_remove\_subscription\_discount** fonction dans le calculateur, en lui donnant le **stripe\_subscrition\_id** paramètre (ID d’abonnement).

<figure><img src="/files/eaaedfa9417fd105de21d1f105a4cdebbfd56b07" alt=""><figcaption></figcaption></figure>

Après exécution réussie de l’opération, la fonction renvoie un message contenant l’ID de l’abonnement et la date d’annulation de la réduction.

Le remplacement de la réduction, ainsi que l’ajout d’une nouvelle, se fait à l’aide de **stripe\_add\_subscription\_discount** fonction. N’oubliez pas de lui transmettre les **stripe\_subscription\_id** et **coupon\_id** paramètres.\
Une requête réussie mettra à jour le coupon attaché à l’abonnement et renverra un message avec les informations actuelles.

{% hint style="info" %}
Vous pouvez lire comment obtenir un ID de réduction dans la section "Comment créer un coupon et obtenir un ID de réduction". lien "[Comment créer un coupon et obtenir un ID de réduction](#kak-sozdat-kupon-i-poluchit-id-skidki)".
{% endhint %}

## 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 réussi. Vous voyez ces callbacks dans le système comme des messages provenant de l’utilisateur, afin que l’utilisateur ne puisse pas les envoyer ; ils se composent des 20 premiers caractères de la clé secrète et du suffixe de succès, par exemple : **sk\_live\_d35gky6d8ers\_success**&#x20;

<figure><img src="/files/aa6e5133d4689607dfe87bcc11e2e4d3b591cb8f" alt="" width="563"><figcaption></figcaption></figure>

Ces callbacks NE SONT PAS VISIBLES pour l'utilisateur, ils ne sont affichés qu'à l'opérateur.

Le type de comparaison doit être "**Correspondance exacte"**

De plus, après un paiement réussi, la **stripe\_payment\_completed** variable est définie sur **True.**

Par exemple, vous pouvez traiter un paiement réussi dans un bloc conditionnel et afficher le message correspondant à l'utilisateur :

<figure><img src="/files/4a0647233acc465d17a01676877faa378e75c634" alt=""><figcaption></figcaption></figure>

Une fois le paiement effectué, la variable **stripe\_callback\_data** variable sera ajoutée au client et contiendra les données de la réponse du système de paiement pour la transaction effectuée. Vous pouvez extraire les données nécessaires du dictionnaire obtenu à l’aide de la **get** .

{% hint style="warning" %}
Pour effectuer un paiement répété, vous devez réinitialiser payment\_sum, le lien précédemment généré, puis réattribuer la variable payment\_sum pour obtenir un nouveau lien. Vous pouvez spécifier 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 en mode test dans le compte Stripe à l’aide du commutateur dans le menu de droite&#x20;

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

Ensuite, effectuez la configuration décrite au début de ce guide. Entrez la clé secrète de test et ajoutez l’adresse du webhook à l’environnement de test.

Le numéro de carte de test

4242 4242 4242 4242\
toute date future\
CVC - n’importe quels trois chiffres

Si quelque chose ne fonctionne pas, comparez les données avec celles du site officiel. lien[ sur le site officiel.](https://stripe.com/docs/testing#regulatory-cards)


---

# 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/paiement/stripe.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.
