Notifications de paiement Stripe sur iPhone
Connectez Stripe à Honk et recevez une notification sur votre iPhone pour chaque paiement échoué, chaque litige et chaque virement échoué, et, si vous le voulez, un Bip-bip pour chaque vente. Aucun code à écrire : Stripe envoie ses événements à une seule URL, et Honk vérifie la signature de Stripe, attribue à chaque événement un niveau sur l’échelle Honk et regroupe les répétitions.
Les problèmes de paiement arrivent dans la même boîte de réception que votre boutique, votre site et vos serveurs. Un client dont la carte est refusée cinq fois de suite forme un seul groupe avec un compteur, pas cinq alertes distinctes.
Avant de commencer
- Un compte Honk. Honk est pour l’instant sur invitation : demandez un accès.
- Un projet pour les paiements, par exemple « Boutique », dans un espace de travail dont vous êtes propriétaire ou administrateur.
- Un compte Stripe sur lequel vous pouvez ajouter des webhooks.
1. Créer la connexion dans Honk
Dans l’app web Honk, ouvrez le projet, allez dans Connexions et cliquez sur Connecter un service. Choisissez Stripe, gardez le nom ou modifiez-le, puis cliquez sur Connecter.
Honk affiche l’URL du webhook de la connexion, qui commence par https://honk-honk.app/v1/hooks/stripe/. Copiez-la et gardez la page ouverte : vous y collerez la clé de signature de Stripe à l’étape 3.

2. Ajouter une destination d’événements dans Stripe
Dans le Dashboard Stripe, ouvrez Workbench ▸ Webhooks et cliquez sur Create an event destination. Ensuite :
- Choisissez Your account, puis Snapshot comme format. Honk lit les événements snapshot, le format qui contient le paiement lui-même. Stripe recommande Thin, mais un événement thin ne contient qu’un identifiant : Honk le refuse et la connexion affiche une erreur.
- Sélectionnez les événements :
payment_intent.payment_failed,invoice.payment_failed,charge.dispute.createdetpayout.failed. Pour les ventes, ajoutezcheckout.session.completedoupayment_intent.succeeded, pour les remboursements,charge.refunded, et pour les résiliations,customer.subscription.deleted. - Choisissez Webhook endpoint comme type de destination, et collez l’URL de Honk dans Endpoint URL.
Ne prenez qu’un seul des deux événements de vente. Un paiement via Stripe Checkout envoie les deux : avec les deux sélectionnés, chaque vente vous serait signalée deux fois.
3. Coller la clé de signature dans Honk
Sur la page de la nouvelle destination, Stripe affiche une clé de signature qui commence par whsec_. Cliquez sur Reveal secret et copiez-la. Dans Honk, collez-la dans Clé de signature et cliquez sur Enregistrer la clé.
Honk refuse les envois de Stripe tant que la clé n’est pas enregistrée. Ensuite, il vérifie la signature de chaque envoi : un envoi dont la signature ne correspond pas, ou signé plus de 5 minutes auparavant, ne devient jamais un message.
4. Essayer dans un environnement de test
Un environnement de test Stripe (sandbox) a ses propres destinations d’événements et ses propres clés de signature : il lui faut donc sa propre connexion dans Honk. Créez une deuxième connexion de la même façon, ajoutez la destination dans cet environnement de test, puis envoyez un événement de test avec la CLI Stripe :
# with the Stripe CLI, signed in to the sandbox
stripe trigger payment_intent.payment_failedUn Coup de klaxon appuyé arrive en quelques secondes. Les événements de test portent l’environnement test : ils ne sont jamais regroupés avec ceux du mode production. Avec le forfait Free, ce deuxième service connecté est aussi le dernier possible : supprimez-le une fois le test concluant. En mode production, la connexion affiche l’heure du dernier envoi de Stripe, ou la dernière erreur, par exemple une signature qui ne correspond pas.
Ce que devient chaque événement
- Un paiement échoué (
payment_intent.payment_failed) ou un paiement de facture échoué (invoice.payment_failed) : un Coup de klaxon appuyé, intitulé « Payment failed » suivi du montant, avec le motif donné par Stripe et le client. Chaque client a son propre groupe : les échecs répétés d’un même client sont regroupés. - Un nouveau litige (
charge.dispute.created) : un Klaxon long, avec le montant et le motif. - Un virement échoué (
payout.failed) : un Klaxon long, avec l’explication de Stripe. - Une vente (
checkout.session.completedoupayment_intent.succeeded) : un Bip-bip, intitulé « New sale » ou « Payment received » suivi du montant. Toutes les ventes partagent un même groupe. - Un remboursement (
charge.refunded) : un Petit coup de klaxon, intitulé « Payment refunded » suivi du montant, ou « Partial refund » pour un remboursement partiel, avec la part du paiement que cela représente. Les remboursements d’un même client sont regroupés. - Un abonnement résilié (
customer.subscription.deleted) : un Petit coup de klaxon.
Les autres types d’événements sont acceptés puis écartés. Les montants s’affichent dans l’unité principale de la devise, et la plupart des messages renvoient vers le paiement, le litige, le virement ou l’abonnement dans le Dashboard Stripe.
Le premier événement d’un groupe déclenche un push immédiat. Les suivants arrivent sous forme de mise à jour avec le compteur, au plus une toutes les 5 minutes. Après 24 heures sans événement (valeur par défaut), le groupe repart de zéro, et l’événement suivant déclenche à nouveau un push. Stripe ne signale jamais qu’un paiement échoué a été réglé : ce sont donc des événements, pas des incidents, et il n’y a pas de rétablissement à attendre. Quand les paiements de plusieurs clients échouent à quelques minutes d’intervalle, chaque échec est tout de même signalé par un push, mais seul le premier émet un son.
Choisir ce que vous voulez suivre
Tous les types d’événements ci-dessus sont activés par défaut. Dans Événements transformés en messages, sur la connexion, décochez ceux dont vous ne voulez pas, par exemple les ventes, puis cliquez sur Enregistrer.
Pour garder les ventes hors de vos push tout en les voyant passer, ajoutez une règle dans les Règles du projet : quand Canal est égal à payment_intent.succeeded (ou checkout.session.completed), réglez Notifications sur Récapitulatif uniquement. Les ventes arrivent alors dans un récapitulatif, toutes les 15 minutes par défaut, tandis que les litiges et les virements échoués déclenchent toujours un push immédiat.
Forfaits et limites
Chaque service connecté compte dans le forfait de votre espace de travail : Free en inclut 2, Pro 20 et Team 100. Les messages de Stripe comptent dans les limites quotidiennes de messages et de push du forfait, comme tous les autres ; les tarifs les détaillent.
Les push arrivent dans Honk pour iPhone et sur votre Apple Watch. Si vous vendez aussi via Shopify ou WooCommerce, le guide Shopify et le guide WooCommerce réunissent les commandes dans la même boîte de réception, et la page Intégrations liste toutes les autres façons d’envoyer des événements à Honk.
Pour l’instant, Honk est sur invitation : demandez un accès. Tout ce guide fonctionne avec le forfait Free.