Documentation WP Simple Pay

Documentation, matériel de référence et tutoriels pour WP Simple Pay

Comment configurer votre site pour accepter les webhooks de Stripe

Les webhooks permettent à Stripe d’envoyer des messages à votre site WordPress. La configuration des webhooks est requise pour certaines fonctionnalités de WP Simple Pay, telles que l’envoi d’e-mails, la création de plans de paiement échelonné, la possibilité pour les clients de mettre à jour les détails de paiement de leur abonnement, et l’utilisation de son intégration avec AffiliateWP.

WP Simple Pay tente de créer automatiquement des points de terminaison de webhook. Dans la plupart des cas, la configuration manuelle, comme illustré ci-dessous, ne sera pas nécessaire.

Ajouter un point de terminaison dans Stripe

Pour ajouter les points de terminaison de webhook appropriés, accédez à Développeurs → Webhooks dans votre tableau de bord Stripe.

Ajouter un endpoint Stripe

Cliquez sur Ajouter un point de terminaison, puis ajoutez l’URL trouvée dans WP Simple Pay → Paramètres → Stripe → Webhooks.

Paramètres de l'endpoint webhook WP Simple Pay
les webhooks Stripe écoutent les événements Stripe

N’activez pas Écouter les événements sur les comptes connectés, car cela pourrait perturber la fonctionnalité des webhooks de WP Simple Pay.

Vous devrez maintenant ajouter les événements spécifiques à écouter en cliquant sur le bouton +Sélectionner des événements. Après cela, vous pouvez copier et coller chaque événement listé ci-dessous dans la boîte de recherche Sélectionner les événements à envoyer → Rechercher des événements.

sélectionner les événements webhook à envoyer

Après avoir recherché chaque terme, cochez la case pour l’ajouter, puis recherchez d’autres termes. Ne cliquez pas sur Ajouter des événements avant d’avoir coché tous les événements listés ci-dessous :

  • payment_intent.processing
  • payment_intent.succeeded
  • charge.failed
  • charge.refunded
  • charge.succeeded
  • checkout.session.completed
  • customer.subscription.deleted
  • customer.subscription.updated
  • invoice.payment_succeeded
  • invoice.upcoming

Les détails sur la fonctionnalité de chacun de ces événements sont présentés en bas de ce document.

Une fois que vous avez terminé d’ajouter des événements, cliquez sur Ajouter un point de terminaison pour terminer le processus. Après avoir ajouté le point de terminaison, vous devriez voir la nouvelle URL listée dans les paramètres des webhooks.

ajouter un endpoint webhook

Configuration du secret de signature des webhooks

Stripe peut signer les événements webhook qu'il envoie à vos points de terminaison pour une sécurité accrue, et nous vous recommandons vivement de le configurer.

Pour ce faire, récupérez le secret de votre point de terminaison à partir des paramètres des webhooks de votre tableau de bord. Sélectionnez le point de terminaison ajouté pour lequel vous souhaitez obtenir le secret, puis cliquez sur le bouton Afficher .

révéler la clé secrète du webhook

Copiez ensuite le secret de signature du tableau de bord Stripe, retournez dans WP Simple Pay → Paramètres → Stripe → Webhooks dans votre administration WordPress, puis collez-le dans la zone de texte Secret du point de terminaison pour le mode de paiement actuel.

Répéter en mode test

Un point de terminaison webhook doit également être créé en mode test. Activez le bouton Mode test en haut à droite du tableau de bord Stripe et répétez les étapes ci-dessus.

Basculer le mode test Stripe

Descriptions des types d'événements

invoice.payment_succeeded

  • Utilisé pour incrémenter les plans de paiement échelonné et envoyer les e-mails « Confirmation de paiement » et « Notification de paiement » e-mails pour les abonnements.
  • Expose l'action simpay_webhook_subscription_created pour un traitement ultérieur après la création réussie d'un abonnement.
  • Expose l'action simpay_webhook_invoice_payment_succeeded pour un traitement ultérieur après le traitement d'une facture.
<?php
add_action(
	'simpay_webhook_subscription_created',
	/**
	 * Fires when a subscription is created in Stripe.
	 * 
	 * @param \SimplePay\Vendor\Stripe\Event        $event Stripe webhook event.
	 * @param \SimplePay\Vendor\Stripe\Subscription $subscription Stripe Subscription.
	 */
	function( $event, $subscription ) {
		// Do something.
	},
	10,
	2
);
<?php
add_action(
	'simpay_webhook_invoice_payment_succeeded',
	/**
	 * Fires when a subscription invoice payment has succeeded.
	 * Does not fire for the subscription creation (first) invoice.
	 * 
	 * @param \SimplePay\Vendor\Stripe\Event        $event Stripe webhook event.
	 * @param \SimplePay\Vendor\Stripe\Invoice      $invoice Stripe Invoice object.
	 * @param \SimplePay\Vendor\Stripe\Subscription $subscription Stripe Subscription object.
	 */
	function( $event, $invoice, $subscription ) {
		// Do something.
	},
	10,
	3
);

Apprenez à ajouter du code personnalisé →

payment_intent.succeeded

  • Envoie les e-mails « Confirmation de paiement » et « Notification de paiement » e-mails pour les paiements uniques.
  • Expose l'action simpay_webhook_payment_intent_succeeded pour un traitement ultérieur après un paiement réussi
<?php
add_action(
	'simpay_webhook_payment_intent_succeeded',
	/**
	 * Fires when a one-time payment has succeeded.
	 * 
	 * @param \SimplePay\Vendor\Stripe\Event         $event Stripe webhook event.
	 * @param \SimplePay\Vendor\Stripe\PaymentIntent $paymentintent Stripe PaymentIntent.
	 */
	function( $event, $paymentintent ) {
		// Do something.
	},
	10,
	2
);

Apprenez à ajouter du code personnalisé →

invoice.upcoming

  • Envoie le rappel par e-mail « Facture à venir » e-mail pour la mise à jour d'un mode de paiement. En savoir plus

checkout.session.completed

  • Utilisé pour supprimer les enregistrements de paiement abandonnés générés par Stripe Checkout.
  • Expose l'action simpay_webhook_checkout_session_completed pour un traitement ultérieur si nécessaire.

charge.succeeded

  • Envoie les e-mails « Confirmation de paiement » et « Notification de paiement » e-mails pour les paiements uniques par débit ACH.
  • Expose l'action simpay_webhook_charge_succeeded pour un traitement ultérieur après un paiement réussi

charge.failed

  • Expose l'action simpay_webhook_charge_failed pour un traitement ultérieur après l'échec d'un paiement.

Questions fréquemment posées

Les webhooks sont-ils requis ?

Les webhooks ne sont pas requis pour traiter les paiements, et lorsqu'un webhook échoue, cela n'indique pas qu'un paiement a échoué. Cependant, les webhooks sont utilisés pour alimenter des fonctionnalités telles que la détection de fraude, les reçus par e-mail, les notifications de factures à venir et la gestion des plans de paiement échelonné.

Les webhooks sont requis pour utiliser la vérification par e-mail lorsque la fraude est détectée.

Même si vous n'utilisez pas actuellement ces fonctionnalités, il est fortement recommandé de vous assurer que votre point de terminaison webhook est correctement configuré pour éviter toute confusion si vous décidez d'activer ces fonctionnalités à l'avenir, ou si WP Simple Pay nécessite ces fonctionnalités pour des fonctionnalités futures.

Pourquoi vois-je « WP Simple Pay pourrait ne pas fonctionner correctement. »

WP Simple Pay tente de vous alerter d'une éventuelle mauvaise configuration ou erreur du point de terminaison webhook afin d'éviter l'interruption des fonctionnalités qui utilisent la fonctionnalité webhook (e-mails, plans de paiement échelonné, etc.). Si WP Simple Pay n'est pas en mesure de vérifier un événement webhook attendu, vous verrez une bulle de notification dans les paramètres du plugin et le message d'erreur « WP Simple Pay pourrait ne pas fonctionner correctement. »

Comment corriger un point de terminaison webhook mal configuré ?

Pour résoudre une éventuelle mauvaise configuration du point de terminaison webhook, visitez Développeurs → Webhooks dans votre tableau de bord Stripe (si vous êtes en mode Test, affichez vos points de terminaison en mode Test).

Sous Points de terminaison hébergés, vous devriez voir une entrée contenant le récepteur d'événements webhook WP Simple Pay : wp-json/wpsp/v1/webhook-receiver. Si vous ne voyez pas ce point de terminaison, veuillez suivre les étapes de configuration décrites au début de cet article.

Cliquez sur l'URL du point de terminaison WP Simple Pay pour afficher la configuration du point de terminaison. Vous y trouverez une liste des événements webhook qui ont été envoyés au point de terminaison.

Cliquez sur l'onglet Échec pour lister les événements qui ont échoué.

Événements webhook Stripe échoués

Si vous avez des événements webhook échoués, la sélection d'une des entrées révélera la réponse reçue de l'URL du point de terminaison. Cette réponse contient souvent des informations sur la raison pour laquelle le point de terminaison n'a pas pu traiter l'événement dans la section Réponse.

Aucun corps de réponse

Échec de la connexion à l'hôte distant

Stripe n'a pas pu communiquer avec votre serveur. Veuillez vous assurer que votre serveur Web répond aux requêtes, et en particulier qu'il est capable de répondre à tous les noms de domaine complets et adresses IP de Stripe.

Aucune signature trouvée correspondant à la signature attendue pour la charge utile

Stripe n'a pas pu vérifier les données de l'événement webhook à l'aide des secrets de signature fournis dans WP Simple Pay → Paramètres Stripe Webhooks. En consultant votre point de terminaison webhook, cliquez sur Afficher sous Secret de signature et mettez à jour vos paramètres de secret de signature dans WP Simple Pay pour chaque mode de paiement.

404 ERR <!DOCTYPE html>

L'URL du point de terminaison webhook est incorrecte et pointe vers une page 404 non trouvée. Visitez WP Simple Pay Paramètres Stripe Webhooks pour trouver la valeur correcte de votre URL de point de terminaison webhook et mettez à jour le point de terminaison dans Stripe.

Mettre à jour les détails de l'endpoint webhook Stripe

J'ai vérifié les paramètres de mon point de terminaison, pourquoi est-ce que je vois toujours une erreur ?

WP Simple Pay est délibérément trop réactif aux mauvaises configurations possibles pour garantir qu'une véritable erreur ne passe pas inaperçue. Cependant, il est toujours possible de recevoir des notifications de faux positifs d'un événement webhook mal configuré. Cela peut se produire s'il y a un délai plus long que la moyenne dans l'envoi des données d'événement par Stripe, ou dans certains cas de Stripe Checkout où la page de paiement hors site est abandonnée.

Si vous avez vérifié qu'aucun événement d'endpoint webhook n'a échoué sur votre endpoint alors vous pouvez désactiver la notification de configuration en suivant les étapes ci-dessous.

Puis-je désactiver les notifications de configuration des webhooks ?

Comme mentionné précédemment, il est fortement recommandé de configurer correctement et de maintenir votre endpoint webhook activé. Cependant, à vos risques et périls, si vous ne souhaitez pas être alerté de toute mauvaise configuration potentielle ou d'événements mal reçus, vous pouvez ignorer définitivement la notification dans WP Simple Pay → Paramètres → Stripe → Webhooks en cliquant sur Ne plus afficher.

Vous avez encore des questions ? Nous sommes là pour vous aider !

Dernière modification :

Commencez à accepter les paiements dès aujourd'hui

Commencez à accepter les paiements uniques et récurrents ou les dons sur votre site Web WordPress.