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.

Vous pouvez copier la clé API secrète en allant dans la section Développeurs -> Clés API et en copiant la clé secrète.

Étape 1. Allez dans la section Développeurs -> Clés API :

Étape 2. Trouvez et copiez la clé secrète :

Ensuite, vous devez définir l'URL pour les rappels. Ceci 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 "Webhook endpoint" :

Étape 4. Prenez connaissance du type de requête et cliquez sur "Continue" :

Étape 5. Nous écrivons le nom et spécifions l'URL du point de terminaison :

Spécifiez l'URL - https://chatter.salebot.pro/stripe_callback/result

Étape 6. Deux points de terminaison 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 enregistrons et accédons à la page avec le webhook installé :

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

Étape 10. Nous trouvons la clé de signature et la sauvegardons (nous en aurons besoin plus tard pour nous connecter à Mavibot) :

Après avoir reçu les clés, nous procédons à 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".

Terminé !

Ceci termine la connexion du système de paiement !

Comment connecter un rappel concernant le statut de la transaction

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

Spécifiez l'URL - https://chatter.salebot.pro/stripe_callback/<api_key>/charge_status

et sélectionnez les événements :

  • charge.failed
  • charge.pending
  • charge.succeeded

En savoir plus sur chaque type de webhook :

  1. charge.succeeded - contient des informations sur la réussite de la transaction (similaire à un rappel de paiement réussi)
  2. charge.pending - "la transaction est en cours", son achèvement peut prendre jusqu'à 7 jours.
    Le webhook ressemblera à {10 premiers caractères }{type de webhook}
    Par exemple : sk_test_45LDPJLKT95d_charge.pending
  3. charge.failed - "la transaction a échoué."
    Le webhook ressemblera à {10 premiers caractères }{type de webhook}
    Par exemple : sk_test_45LDPJLKT95d_charge.failed

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

stripe_invoice_id - ID de transaction pour lequel le rappel 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 personnel Stripe. Pour ce faire, saisissez les taux de taxe 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 à laquelle elle s'applique, le taux de taxe et l'option indiquant si cette taxe doit être incluse dans le montant du paiement 'Inclusive' ou ajoutée en sus du montant - exclusive :

Après avoir créé le taux de taxe, copiez son ID dans la variable stripe_tax_id 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 exclusif, vous verrez ce qui suit :

Comment obtenir un lien de paiement

Pour générer un lien de paiement, vous devez définir la valeur de la variable payment_sum (par exemple, 150 ou 100.55 (séparé par un point !)), et la variable stripe_pay_url apparaîtra ensuite. Cette variable peut être affichée avec un lien ou placée sur un bouton avec le texte "Payer".

Le lien ressemble à :

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

Par défaut, USD (dollar) est défini, si vous avez besoin d'une autre devise, vous devez définir la valeur de la variable currency.

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

Attention ! Si vous utilisez à la fois stripe_payment_method_type et stripe_additional_payment_method_type, alors les valeurs dans ces variables DOIVENT ÊTRE DIFFÉRENTES !***

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

Pour plus d'informations sur chaque méthode et pour quels pays elles sont disponibles, consultez la documentation Stripe : voir sur le site

Exemple de création d'un lien de paiement

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

Remarque :
- Spécifiez d'abord les paramètres facultatifs first_name, payment_description, etc.
- Et en dernier, attribuez la valeur à la variable payment_sum

Les variables peuvent également être définies plus tôt dans la chaîne, et non dans un seul bloc, ceci est un exemple.

Ensuite, à l'endroit souhaité, affichez 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 dans un bouton :

Exemple 3. Nous ajoutons le lien en tant que pièce jointe au message :

Test dans le bot :

Les trois options sont acceptables pour envoyer le lien de paiement dans le bot.

En cliquant 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 spécifiés dans le calculateur des 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 :

payment_description = 'Test de paiement dans Stripe'
currency = 'RUB'
stripe_tax_id = 'copiez ici votre ID de taxe'
payment_sum = 1000

Où trouver l'ID de taxe :

Comment configurer les paiements récurrents

Pour les paiements récurrents (abonnements), vous devez déclarer la variable stripe_subscription avant de déclarer la variable payment_sum et lui attribuer le nom de l'abonnement.

Vous pouvez également ajouter les variables suivantes :
interval – durée de l'intervalle de l'abonnement, dans cette variable vous devez passer la valeur 'day' - pour les jours, 'week' - semaines, 'month' - mois, 'year' - années.
Si la variable n'est pas déclarée, alors par défaut le paramètre 'month' sera transmis.

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

interval_count – nombre d'intervalles spécifiés, combien de jours, semaines ou mois seront dans l'abonnement pour le montant indiqué. Par défaut, le paramètre sera transmis égal à un (1);

stripe_payment_method_type - mode de paiement, par défaut le paiement par carte (card) est défini. Vous pouvez le remplacer par d'autres modes de paiement disponibles pour 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 mode de paiement supplémentaire. Les méthodes disponibles sont indiquées ci-dessous.

Par exemple, stripe_additional_payment_method_type = 'sepa_debit'

Important ! Si vous utilisez les deux variables stripe_payment_method_type et stripe_additional_payment_method_type, alors les valeurs dans ces variables DOIVENT ÊTRE DIFFÉRENTES !

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

Pour plus d'informations sur chaque méthode et pour quels pays elles sont disponibles, consultez la documentation Stripe : voir sur le site voir sur le site

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

Dans cet exemple, un abonnement nommé 'My_subscription' sera créé avec un prix de 90 USD pour 3 mois et un paiement répété sera effectué avec le même montant 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 les variables stripe_subscription_id dans les variables de l'affaire, qui seront nécessaires pour configurer l'annulation de l'abonnement, et stripe_customer_id, qui pourra être utilisé ultérieurement pour vérifier le statut de l'abonnement.

La notification (rappel) n'est reçue que lors du premier paiement récurrent !

IL N'Y AURA PAS de rappel pour les appels répétés. Le contrôle passe par la fonction et le stripe_customer_id. via la fonction

Retour aux paramètres de paiement 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.

Paramètres d'annulation de l'abonnement

Pour annuler un abonnement dans le calculateur, utilisez la méthode stripe_remove_subscription(stripe_subscription_id), où stripe_subscription_id est l'identifiant qui a été enregistré dans les informations de l'affaire après le paiement.

Cela vous permettra de maintenir votre abonnement payant actif jusqu'à la fin de la période payée en cours, mais aucun débit supplémentaire n'aura lieu et l'abonnement sera annulé après la date d'expiration :

answer = stripe_remove_subscription('#{stripe_subscription_id}')

stripe_remove_subscription - En cas de succès, vous recevrez une réponse avec 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 de l'abonnement
stripe_customer_id - ID du client dans Stripe (paramètre facultatif)

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

Pour obtenir l'ID de réduction, créez un coupon dans votre compte personnel dans la section "coupons". coupons.

Après avoir cliqué sur le bouton "New", une page s'ouvre où vous devez spécifier :

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

Le coupon de réduction apparaîtra dans le "Catalogue de produits" 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 à une commande

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

Dans le calculateur du bloc, avant de déclarer la variable payment_sum, définissez la variable coupon_id en lui attribuant l'ID de réduction du compte personnel Stripe.

  1. Pour ajouter à 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 le calculateur, en lui donnant les paramètres stripe_subscription_id (id de l'abonnement) et coupon_id (id du coupon de réduction). La réduction sera appliquée pour les paiements d'abonnement suivants.

stripe_subscription = 'Abonnement premium'
interval = 'month'
payment_description = 'Test de paiement 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.

Pour plus d'informations sur la création d'un abonnement, consultez la section "Comment configurer les paiements récurrents" Comment configurer les paiements récurrents

Comment supprimer/modifier la réduction d'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 fonction stripe_remove_subscription_discount dans le calculateur, en lui donnant le paramètre stripe_subscrition_id (id de l'abonnement).

En cas de succès 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 la fonction stripe_add_subscription_discount. N'oubliez pas de lui passer les paramètres stripe_subscription_id et coupon_id.
Une requête réussie mettra à jour le coupon attaché à l'abonnement et renverra un message avec les informations actuelles.

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". Comment créer un coupon et obtenir un ID de réduction.

Comment traiter le résultat

Après un paiement réussi, des rappels seront envoyés au bot, qui vous informeront que le paiement a réussi. Vous voyez ces rappels dans le système comme des messages de l'utilisateur, afin que l'utilisateur ne puisse pas les envoyer, ils sont constitués des 20 premiers caractères de la clé secrète et du post-scriptum de succès, par exemple : sk_live_d35gky6d8ers_success

Ces rappels NE SONT PAS VISIBLES pour l'utilisateur, ils sont affichés uniquement à l'opérateur.

Le type de comparaison doit être "Exact Match"

De plus, après un paiement réussi, la variable stripe_payment_completed 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 terminé, la variable stripe_callback_data sera ajoutée au client, contenant les données de la réponse du système de paiement à la transaction terminée. Vous pouvez extraire les données nécessaires du dictionnaire résultant à l'aide de la méthode get.

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.

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 personnel Stripe à l'aide du bouton dans le menu de droite

Ensuite, effectuez la configuration décrite au début de ce guide. Saisissez 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
une date quelconque dans le futur
CVC - trois chiffres quelconques

Si quelque chose ne fonctionne pas, comparez les données avec les données sur le site officiel. sur le site officiel.