FreemiumProBusinessEnterprise

Webhook non reçu : diagnostic

Symptômes du problème

Un participant signale avoir payé son billet, mais :

  • Le statut d'inscription est « En attente de paiement »
  • L'email avec le billet n'a pas été reçu
  • Dans la liste des participants, le statut de paiement est pending

La cause la plus fréquente est que le webhook de la passerelle de paiement n'a pas été livré ou n'a pas été traité par tikento.

Étape 1. Vérifiez le journal de livraison des webhooks

tikento conserve un journal de toutes les requêtes webhook entrantes :

  1. Ouvrez Paramètres -> Paiements.
  2. Sélectionnez la passerelle (YooKassa ou Tochka).
  3. Accédez à l'onglet "Journal des webhooks".

Le journal affiche :

  • Date et heure de la requête
  • Type d'événement (payment.succeeded, payment.canceled, refund.succeeded)
  • Code de réponse HTTP d'tikento
  • Corps de la requête (pour le diagnostic)
  • Statut de traitement (succès / erreur)

Résultats possibles

SituationSignificationAction
Webhook absent du journalLa passerelle n'a pas envoyé ou n'a pas pu livrerPassez à l'étape 2
Webhook présent, code 200Traité avec succèsVérifiez que le payment_id correspond au paiement problématique
Webhook présent, code 4xxErreur de validation (signature incorrecte, format inconnu)Passez à l'étape 4
Webhook présent, code 5xxErreur interne d'tikentoPassez à l'étape 5

Étape 2. Vérifiez la configuration du webhook dans la passerelle

Connectez-vous à l'espace personnel de la passerelle de paiement et vérifiez :

YooKassa

  1. Ouvrez "Paramètres" -> "Notifications HTTP".
  2. Vérifiez que l'URL du webhook correspond :
    https://app.tikento.com/webhooks/yookassa/{shopId}
    
  3. Vérifiez que tous les événements nécessaires sont sélectionnés :
    • payment.succeeded
    • payment.canceled
    • refund.succeeded

Tochka

  1. Ouvrez "Intégration" -> "Notifications".
  2. Vérifiez que l'URL du webhook correspond :
    https://app.tikento.com/webhooks/tochka/{merchantId}
    
  3. Vérifiez les filtres d'événements.

Erreurs courantes dans l'URL

  • https:// manquant (indiqué http:// -- les passerelles exigent HTTPS)
  • Barre oblique en trop à la fin de l'URL
  • shopId ou merchantId incorrect dans le chemin
  • URL d'une ancienne connexion (si vous avez reconnecté la passerelle)

Étape 3. Vérifiez l'accessibilité du point de terminaison webhook

Si l'URL est correcte mais le webhook n'est pas livré, les causes possibles sont :

  • Pare-feu ou CDN bloquant les requêtes POST entrantes de la passerelle
  • Timeout : tikento n'a pas répondu dans le temps imparti (les passerelles attendent généralement 10 à 30 secondes)
  • Problèmes DNS : le domaine n'est pas résolu du côté de la passerelle

Pour vérifier, utilisez le webhook test depuis l'espace personnel de la passerelle (si disponible) ou demandez un renvoi.

Étape 4. Erreur de validation (4xx)

Si le webhook est arrivé mais tikento a renvoyé une erreur 4xx :

CodeCauseSolution
400Corps de requête invalideVérifiez le format des notifications dans la passerelle. Assurez-vous que le format JSON est sélectionné, pas XML
401Signature de requête incorrecteVérifiez que le secretKey dans tikento est à jour. Si vous avez regénéré la clé dans la passerelle, mettez-la aussi à jour dans tikento
404Chemin d'URL webhook incorrectVérifiez l'URL -- le shopId / merchantId est peut-être incorrect
409Webhook en double (déjà traité)Comportement normal -- la protection d'idempotence a fonctionné. Le paiement est déjà traité

Étape 5. Erreur interne (5xx)

Si le webhook a été reçu mais tikento a renvoyé un 5xx, il s'agit d'une erreur temporaire du côté d'tikento. Dans la plupart des cas :

  1. La passerelle retentera automatiquement la livraison (voir la politique de relance ci-dessous).
  2. Lors de la nouvelle tentative, le problème se résout généralement.
  3. Si l'erreur persiste, contactez le support tikento.

Politique de relance

PasserelleNombre de tentativesIntervalles
YooKassajusqu'à 10Délai exponentiel : 1 s, 5 s, 30 s, 2 min, 10 min, 30 min, 1 h, 3 h, 6 h, 12 h
Tochkajusqu'à 5Intervalle fixe : toutes les 5 minutes

Si toutes les tentatives sont épuisées, utilisez la relance manuelle.

Relance manuelle et confirmation

Relance manuelle du webhook

Dans le journal des webhooks, cliquez sur "Relancer" à côté de l'entrée échouée. tikento traitera de nouveau le corps de la requête webhook.

Confirmation manuelle du paiement

Si le webhook ne peut pas être restauré mais que vous voyez un paiement réussi dans l'espace personnel de la passerelle :

  1. Ouvrez l'événement -> "Participants".
  2. Trouvez l'entrée avec le statut bloqué.
  3. Cliquez sur "Actions" -> "Confirmer le paiement manuellement".
  4. Indiquez la raison (pour l'audit).

La confirmation manuelle met à jour le statut d'inscription et envoie au participant l'email avec le billet.

Test du webhook

Pour vous assurer que le webhook fonctionne correctement, avant ou après la configuration :

Paiement test

  1. Créez un événement test avec un billet payant.
  2. Connectez la passerelle en mode test.
  3. Payez avec la carte de test (4111 1111 1111 1111).
  4. Vérifiez le journal des webhooks -- une entrée avec le code 200 devrait apparaître.
  5. Assurez-vous que le statut d'inscription est passé à « Payé ».

Webhook test depuis la passerelle

Certaines passerelles permettent d'envoyer un webhook test manuellement :

  • YooKassa : dans la section « Notifications HTTP », bouton « Envoyer une notification test »
  • Tochka : contactez le support Tochka pour l'envoi d'une notification test

Prévention

Pour éviter les problèmes de webhook :

  • Lors du changement de clés API dans la passerelle, mettez-les immédiatement à jour dans tikento
  • Ne supprimez pas et ne modifiez pas l'URL du webhook sans nécessité
  • Vérifiez périodiquement le journal des webhooks pour détecter les erreurs
  • Lors de la reconnexion d'une passerelle, effectuez toujours un paiement test

Questions fréquentes

Le paiement est bloqué au statut « En attente » -- que faire ?
Vérifiez le journal de livraison des webhooks dans tikento (Paramètres -> Paiements -> Journal des webhooks). Si aucun webhook n'a été reçu, vérifiez l'URL et la configuration des événements dans l'espace personnel de la passerelle. Si un webhook est arrivé avec une erreur, examinez le code de réponse dans le journal.
Combien de fois la passerelle retente-t-elle l'envoi du webhook ?
YooKassa -- jusqu'à 10 tentatives avec un délai exponentiel (de quelques secondes à plusieurs heures). Tochka -- jusqu'à 5 tentatives à intervalles de 5 minutes. Si toutes les tentatives sont épuisées, utilisez la relance manuelle.
Peut-on confirmer manuellement un paiement sans webhook ?
Oui. Ouvrez la fiche du participant, cliquez sur « Actions » -> « Confirmer le paiement manuellement ». Cela met à jour le statut d'inscription, mais ne crée pas d'enregistrement de paiement dans la passerelle.
Comment vérifier que l'URL du webhook est correcte ?
Dans tikento, ouvrez Paramètres -> Paiements -> sélectionnez la passerelle. Copiez l'URL du webhook affichée et comparez-la avec l'URL indiquée dans l'espace personnel de la passerelle. Elles doivent correspondre exactement, y compris le protocole (https://).