FreemiumProBusinessEnterprise

Webhook non ricevuto: diagnostica

Sintomi del problema

Il partecipante comunica di aver pagato il biglietto, ma:

  • Lo stato della registrazione e "In attesa di pagamento"
  • L'email con il biglietto non e arrivata
  • Nella lista dei partecipanti lo stato del pagamento e pending

Nella maggior parte dei casi la causa e che il webhook dal gateway di pagamento non e stato consegnato o non e stato elaborato da tikento.

Passo 1. Controllate il log di consegna dei webhook

tikento tiene un log di tutte le richieste webhook in ingresso:

  1. Aprite Impostazioni -> Pagamenti.
  2. Selezionate il gateway (YooKassa o Tochka).
  3. Andate alla scheda "Log webhook".

Il log mostra:

  • Data e ora della richiesta
  • Tipo di evento (payment.succeeded, payment.canceled, refund.succeeded)
  • Codice di risposta HTTP di tikento
  • Corpo della richiesta (per la diagnostica)
  • Stato dell'elaborazione (successo / errore)

Risultati possibili

SituazioneCosa significaCosa fare
Webhook assente nel logIl gateway non lo ha inviato o non e riuscito a consegnarloPassate al passo 2
Webhook presente, codice 200Elaborato con successoVerificate che il payment_id corrisponda al pagamento problematico
Webhook presente, codice 4xxErrore di validazione (firma non valida, formato sconosciuto)Passate al passo 4
Webhook presente, codice 5xxErrore interno di tikentoPassate al passo 5

Passo 2. Verificate le impostazioni del webhook nel gateway

Accedete al pannello del gateway di pagamento e verificate:

YooKassa

  1. Aprite "Impostazioni" -> "Notifiche HTTP".
  2. Assicuratevi che l'URL del webhook corrisponda:
    https://app.tikento.com/webhooks/yookassa/{shopId}
    
  3. Verificate che siano selezionati tutti gli eventi necessari:
    • payment.succeeded
    • payment.canceled
    • refund.succeeded

Tochka

  1. Aprite "Integrazione" -> "Notifiche".
  2. Assicuratevi che l'URL del webhook corrisponda:
    https://app.tikento.com/webhooks/tochka/{merchantId}
    
  3. Verificate i filtri degli eventi.

Errori comuni nell'URL

  • Manca https:// (indicato http:// — i gateway richiedono HTTPS)
  • Slash finale in eccesso nell'URL
  • shopId o merchantId errato nel percorso
  • URL di un collegamento precedente (se avete ricollegato il gateway)

Passo 3. Verificate la raggiungibilita dell'endpoint webhook

Se l'URL e corretto ma il webhook non viene consegnato, le possibili cause sono:

  • Firewall o CDN blocca le richieste POST in ingresso dal gateway
  • Timeout: tikento non ha risposto nel tempo previsto (i gateway generalmente attendono 10-30 secondi)
  • Problemi DNS: il dominio non viene risolto dal lato del gateway

Per la verifica utilizzate il webhook di test dal pannello del gateway (se disponibile) o richiedete un nuovo invio.

Passo 4. Errore di validazione (4xx)

Se il webhook e arrivato ma tikento ha restituito un errore 4xx:

CodiceCausaSoluzione
400Corpo della richiesta non validoVerificate il formato delle notifiche nel gateway. Assicuratevi che sia selezionato il formato JSON e non XML
401Firma della richiesta non validaAssicuratevi che la secretKey in tikento sia aggiornata. Se avete rigenerato la chiave nel gateway, aggiornatela anche in tikento
404Percorso URL webhook erratoVerificate l'URL — forse shopId / merchantId e indicato in modo errato
409Webhook duplicato (gia elaborato)Questo e un comportamento normale — la protezione idempotency ha funzionato. Il pagamento e gia stato elaborato

Passo 5. Errore interno (5xx)

Se il webhook e stato ricevuto ma tikento ha restituito 5xx — si tratta di un errore temporaneo dal lato di tikento. Nella maggior parte dei casi:

  1. Il gateway riprova automaticamente la consegna (vedi la politica di retry di seguito).
  2. Al tentativo successivo il problema generalmente si risolve.
  3. Se l'errore si ripete, contattate il supporto tikento.

Politica di riconsegna

GatewayNumero di tentativiIntervalli
YooKassafino a 10Ritardo esponenziale: 1 s, 5 s, 30 s, 2 min, 10 min, 30 min, 1 h, 3 h, 6 h, 12 h
Tochkafino a 5Intervallo fisso: ogni 5 minuti

Se tutti i tentativi sono esauriti, utilizzate la ripetizione manuale.

Ripetizione manuale e conferma

Ripetizione manuale del webhook

Nel log dei webhook cliccate "Riprova" accanto al record non riuscito. tikento rielaborera il corpo della richiesta webhook.

Conferma manuale del pagamento

Se non e possibile ripristinare il webhook, ma vedete un pagamento riuscito nel pannello del gateway:

  1. Aprite l'evento -> "Partecipanti".
  2. Trovate il record con lo stato bloccato.
  3. Cliccate "Azioni" -> "Conferma pagamento manualmente".
  4. Indicate il motivo (per l'audit).

La conferma manuale aggiorna lo stato della registrazione e invia al partecipante l'email con il biglietto.

Test del webhook

Per assicurarvi che il webhook funzioni correttamente, prima o dopo la configurazione:

Pagamento di prova

  1. Create un evento di prova con un biglietto a pagamento.
  2. Collegate il gateway in modalita di test.
  3. Pagate con la carta di test (4111 1111 1111 1111).
  4. Controllate il log webhook — deve apparire un record con codice 200.
  5. Assicuratevi che lo stato della registrazione sia aggiornato a "Pagato".

Webhook di test dal gateway

Alcuni gateway permettono di inviare un webhook di test manualmente:

  • YooKassa: nella sezione "Notifiche HTTP" il pulsante "Invia notifica di test"
  • Tochka: contattate il supporto Tochka per l'invio di una notifica di test

Prevenzione

Per evitare problemi con i webhook:

  • Quando cambiate le chiavi API nel gateway, aggiornatele subito in tikento
  • Non eliminate e non modificate l'URL del webhook senza necessita
  • Controllate periodicamente il log webhook per la presenza di errori
  • Quando ricollegate il gateway, effettuate sempre un pagamento di prova

Domande frequenti

Il pagamento e bloccato nello stato 'In attesa' — cosa fare?
Controllate il log di consegna dei webhook in tikento (Impostazioni -> Pagamenti -> Log webhook). Se il webhook non e stato ricevuto, verificate l'URL e le impostazioni degli eventi nel pannello del gateway. Se il webhook e arrivato con un errore, esaminate il codice di risposta nel log.
Quante volte il gateway riprova l'invio del webhook?
YooKassa — fino a 10 tentativi con ritardo esponenziale (da secondi a ore). Tochka — fino a 5 tentativi con intervallo di 5 minuti. Se tutti i tentativi sono esauriti, utilizzate la ripetizione manuale.
E possibile confermare manualmente un pagamento senza webhook?
Si. Aprite il record del partecipante, cliccate 'Azioni' -> 'Conferma pagamento manualmente'. Questo aggiornera lo stato della registrazione, ma non creera un record di pagamento nel gateway.
Come verificare che l'URL del webhook sia corretto?
In tikento aprite Impostazioni -> Pagamenti -> selezionate il gateway. Copiate l'URL del webhook visualizzato e confrontatelo con l'URL indicato nel pannello del gateway. Devono coincidere completamente, incluso il protocollo (https://).