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 :
- Ouvrez Paramètres -> Paiements.
- Sélectionnez la passerelle (YooKassa ou Tochka).
- 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
| Situation | Signification | Action |
|---|---|---|
| Webhook absent du journal | La passerelle n'a pas envoyé ou n'a pas pu livrer | Passez à l'étape 2 |
Webhook présent, code 200 | Traité avec succès | Vérifiez que le payment_id correspond au paiement problématique |
Webhook présent, code 4xx | Erreur de validation (signature incorrecte, format inconnu) | Passez à l'étape 4 |
Webhook présent, code 5xx | Erreur interne d'tikento | Passez à 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
- Ouvrez "Paramètres" -> "Notifications HTTP".
- Vérifiez que l'URL du webhook correspond :
https://app.tikento.com/webhooks/yookassa/{shopId} - Vérifiez que tous les événements nécessaires sont sélectionnés :
payment.succeededpayment.canceledrefund.succeeded
Tochka
- Ouvrez "Intégration" -> "Notifications".
- Vérifiez que l'URL du webhook correspond :
https://app.tikento.com/webhooks/tochka/{merchantId} - 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
shopIdoumerchantIdincorrect 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 :
| Code | Cause | Solution |
|---|---|---|
400 | Corps de requête invalide | Vérifiez le format des notifications dans la passerelle. Assurez-vous que le format JSON est sélectionné, pas XML |
401 | Signature de requête incorrecte | Vé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 |
404 | Chemin d'URL webhook incorrect | Vérifiez l'URL -- le shopId / merchantId est peut-être incorrect |
409 | Webhook 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 :
- La passerelle retentera automatiquement la livraison (voir la politique de relance ci-dessous).
- Lors de la nouvelle tentative, le problème se résout généralement.
- Si l'erreur persiste, contactez le support tikento.
Politique de relance
| Passerelle | Nombre de tentatives | Intervalles |
|---|---|---|
| YooKassa | jusqu'à 10 | Délai exponentiel : 1 s, 5 s, 30 s, 2 min, 10 min, 30 min, 1 h, 3 h, 6 h, 12 h |
| Tochka | jusqu'à 5 | Intervalle 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 :
- Ouvrez l'événement -> "Participants".
- Trouvez l'entrée avec le statut bloqué.
- Cliquez sur "Actions" -> "Confirmer le paiement manuellement".
- 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
- Créez un événement test avec un billet payant.
- Connectez la passerelle en mode test.
- Payez avec la carte de test (
4111 1111 1111 1111). - Vérifiez le journal des webhooks -- une entrée avec le code
200devrait apparaître. - 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