Stripe est le service de paiement qu’utilise HappenBoard Pro pour vendre des billets, et pour encaisser les rendez-vous si vous le souhaitez. Les acheteurs paient sur la page sécurisée de Stripe : les données de carte n’arrivent jamais sur votre site.
Vous connectez Stripe une seule fois, dans HappenBoard → Settings → Stripe. Il vous faut deux clés de votre compte Stripe, plus un webhook et son secret de signature.
La vente de billets demande HappenBoard Pro. Voir ce que Pro ajoute.
Avant de commencer
- Un compte Stripe.
- HappenBoard Pro installé et activé.
- La permission de gérer les intégrations, que les administrateurs ont.
Saisir vos clés de test
Commencez en mode test : les clés de test ne déplacent jamais d’argent réel.
- Allez dans HappenBoard → Settings → Stripe.
- Cliquez sur Open Stripe dashboard et vérifiez que Stripe est en mode test.
- Copiez la clé publiable (elle commence par
pk_test_) dans Publishable key. - Copiez la clé secrète (elle commence par
sk_test_) dans Secret key. - Choisissez votre devise dans Currency.
- Cliquez sur Save changes.
Ce sont les clés qui décident si de l’argent réel circule. Les clés de test passent par l’environnement de test de Stripe. Les clés réelles (pk_live_ et sk_live_) encaissent de vrais paiements. Une fois la clé secrète enregistrée, l’onglet indique de quel type elle est, par exemple Mode: Test, et vous prévient si la clé publiable vient de l’autre mode.
Une fois enregistrée, la clé secrète n’est plus jamais affichée. Le champ montre seulement ses quatre derniers caractères. Laissez-le vide lors des enregistrements suivants pour garder la clé enregistrée.
Choisir la devise
Currency propose USD, EUR, GBP, CAD, AUD, JPY, CHF, SEK, NOK, DKK, NZD, SGD, HKD, BRL, MXN et INR. Par défaut : USD. Stripe doit accepter cette devise dans le pays de votre compte.
Choisissez-la avant de créer vos billets. Un billet garde la devise de sa création :
- le premier billet d’un événement prend la devise réglée ici ;
- les billets suivants de cet événement prennent la devise de l’événement, même si vous changez ce réglage entre-temps ;
- un acheteur paie un panier dans une seule devise. Un panier qui mélange deux devises est refusé, avec un message qui demande de réserver les billets séparément.
Le guide Créer des types de billets détaille les autres réglages des billets.
Déclarer le webhook
Un webhook est un message que Stripe envoie à votre site quand quelque chose se produit, par exemple un paiement réussi. Sans lui, un acheteur peut payer sans recevoir de billet.
- Dans la carte Webhook endpoint, cliquez sur Copy. L’adresse ressemble à
https://example.com/wp-json/happenboard/v1/stripe/webhook. - Dans votre tableau de bord Stripe, ouvrez la section Développeurs (Developers), puis Webhooks, et ajoutez une destination avec cette adresse.
- Sélectionnez ces événements :
checkout.session.completed,checkout.session.expiredetcharge.refunded. - Si vous encaissez des types de rendez-vous soumis à validation, ajoutez
payment_intent.amount_capturable_updated,payment_intent.succeededetpayment_intent.canceled. - Copiez le secret de signature de cette destination (il commence par
whsec_) dans Webhook signing secret. - Cliquez sur Save changes.
checkout.session.completed confirme le paiement : votre site ajoute alors l’acheteur à la liste des participants et envoie l’e-mail de confirmation. checkout.session.expired libère tout de suite les places d’un paiement abandonné. charge.refunded enregistre les remboursements, y compris ceux faits depuis le tableau de bord Stripe. Des types d’événements Stripe en plus ne gênent pas : HappenBoard les ignore.
Votre site vérifie chaque message avec le secret de signature. Sans le bon secret, il les refuse tous : les acheteurs sont débités et rien n’est enregistré sur votre site.
Tester la connexion
Cliquez sur Test Stripe connection. Le bouton est disponible dès qu’une clé secrète est enregistrée. Il vérifie la clé auprès de Stripe et indique si elle est acceptée, ou ce qui ne va pas (clé erronée, permission manquante, ou serveur qui ne joint pas Stripe). Il précise aussi s’il s’agit d’une clé de test ou d’une clé réelle.
Ce test ne vérifie pas le webhook. Pour tester toute la chaîne, faites un achat de test :
- Créez un type de billet sur un événement de test.
- Achetez un billet sur la page de l’événement.
- Sur la page de Stripe, payez avec la carte de test
4242 4242 4242 4242, une date d’expiration future et n’importe quel code de sécurité. - Vérifiez que l’acheteur apparaît dans votre liste de participants et dans l’écran Orders.
Passer aux paiements réels
Dans Stripe, le mode test et le mode réel ont des clés et des webhooks distincts.
- Dans Stripe, passez en mode réel et copiez votre clé publiable et votre clé secrète réelles.
- Ajoutez la même adresse de webhook en mode réel, avec les mêmes événements, et copiez son nouveau secret de signature.
- Dans HappenBoard, collez les trois valeurs réelles.
- Cliquez sur Save changes. L’onglet affiche alors Mode: Live.
- Achetez vous-même un billet bon marché, puis remboursez la commande pour vérifier les deux sens.
Comment les places sont protégées
Quand un acheteur lance un paiement, ses places lui sont réservées environ 30 minutes, le temps de payer. Pour empêcher quelqu’un de bloquer toute une salle sans payer, un même visiteur (une même adresse internet) peut lancer 10 paiements et réserver 60 places par heure au maximum. Au-delà, on lui demande de patienter. Un développeur peut changer ces limites avec le filtre happenboard_pro_checkout_limits (voir les hooks billetterie et paiements).
Encaisser les rendez-vous en ligne
La carte Bookings contient un seul interrupteur, Take booking payments online, désactivé par défaut. Activez-le pour faire payer via Stripe les types de rendez-vous avec un prix, au moment de la réservation : le prix complet ou un acompte. Pour les types soumis à validation, la carte est bloquée au moment de la demande et débitée seulement quand vous l’acceptez.
Les prix des rendez-vous sont saisis dans la devise Currency des réglages généraux. Réglez la même devise aux deux endroits : quand elles diffèrent, un avertissement s’affiche sous Currency dans cet onglet. Le parcours complet est décrit dans Paiements, acomptes et règles de prix des rendez-vous.
Vendre via WooCommerce à la place
Pour vendre vos billets via votre boutique WooCommerce plutôt qu’avec Stripe Checkout, utilisez la carte WooCommerce ticketing, en bas de l’onglet. Voir Vendre vos billets via WooCommerce.
En cas de problème
- Les acheteurs paient mais n’apparaissent pas dans vos participants : le webhook manque, son adresse est fausse, ou le secret de signature est celui de l’autre mode (test ou réel).
- Le formulaire de billets indique que le paiement en ligne n’est pas configuré : la clé publiable n’est pas enregistrée.
- Le formulaire s’affiche mais le paiement échoue avec une erreur : la clé secrète manque ou est erronée. Utilisez Test Stripe connection.
Pour aller plus loin
- Créer des types de billets : ajouter les billets que vend chaque événement.
- Vendre des billets sur la page événement : ce que voient les acheteurs avant et après le paiement.
- Le tableau de bord Commandes : suivre vos ventes et vos remboursements.