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 :

Fig. 1 Comment trouver la section API

Étape 2. Trouvez et copiez la Secret key :

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.

Le formulaire s’ouvre :

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

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

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

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

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

Spécifier l’URL - https://chatter.salebot.pro/stripe_callback/resultarrow-up-right

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

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

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

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

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

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

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

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

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

Cliquez sur "Save Settings".

circle-check

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_statusarrow-up-right

et sélectionnez les événements :

  • charge.failed

  • charge.pending

  • charge.succeeded

circle-check

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

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 :

Et cliquez sur "+ Add tax rates" :

Ensuite, spécifiez le taux de taxe applicable :

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 :

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.

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

Exemple d’un paiement avec un taux de taxe exclusive

Comment obtenir un lien de paiement

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

circle-exclamation

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

Paramètres de la fonction
Description des paramètres

currency

est la devise de la commande. Valeurs acceptées -https://stripe.com/docs/currenciesarrow-up-right

payment_description

description de la commande

stripe_tax_id

Il s’agit de l’ID du taux de taxe, configuré dans le compte Stripe. La manière de le configurer est décrite dans la section "Comment configurer les taxes" lien "Comment connecter les taxes"

stripe_invoice_enable

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.

stripe_locale

définir la langue du lien de paiement : en, ru, de. Toutes les langues disponibles sont ici : https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale arrow-up-right Si le stripe_local si la valeur n’est pas fournie, la langue du navigateur du client sera utilisée par défaut.

stripe_payment_method_type

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

Par exemple, stripe_payment_method_type = "customer_balance"

stripe_additional_payment_method_type

sert à 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"

coupon_id

ID du coupon de réduction

stripe_expired

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

stripe_automatic_tax

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 dans la documentation Stripe arrow-up-right

circle-exclamation
chevron-rightListe des valeurs pour stripe_payment_method_type et stripe_additional_payment_method_typehashtag

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

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 arrow-up-right

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)

circle-exclamation

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 :

Test dans le bot :

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

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

Test dans le bot :

circle-check

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

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.

Si vous transmettez le paramètre du taux de taxe (stripe_tax_id) dans le bloc :

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

chevron-rightExemple de code à copierhashtag

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

Où trouver le tax ID :

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.

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’.

circle-exclamation

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'

circle-exclamation
chevron-rightListe des valeurs pour stripe_payment_method_type et stripe_additional_payment_method_type :hashtag

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

circle-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 arrow-up-right

circle-exclamation

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 :

Un exemple à copier :

stripe_subscription = 'My_subscription' interval = 'month' interval_count = 3 payment_sum = 90

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.

circle-exclamation

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.

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 :

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.

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)

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 ”couponsarrow-up-right».

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

  1. 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.

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 :

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

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.

  1. 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.

chevron-rightExemple de code à copierhashtag

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

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.

circle-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"

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).

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.

circle-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".

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

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 :

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 .

circle-exclamation

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

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.arrow-up-right

Mis à jour