FreemiumProBusinessEnterprise

Webhook no llegó: diagnóstico

Síntomas del problema

El participante informa que pagó el boleto, pero:

  • El estado del registro es «Pendiente de pago»
  • El correo con el boleto no llegó
  • En la lista de participantes, el estado del pago es pending

Lo más frecuente es que la causa sea que el webhook de la pasarela de pago no fue entregado o no fue procesado por tikento.

Paso 1. Verifique el registro de entrega del webhook

tikento mantiene un registro de todas las solicitudes webhook entrantes:

  1. Abra Configuración → Pagos.
  2. Seleccione la pasarela (YooKassa o Tochka).
  3. Vaya a la pestaña «Registro de webhooks».

En el registro se muestran:

  • Fecha y hora de la solicitud
  • Tipo de evento (payment.succeeded, payment.canceled, refund.succeeded)
  • Código de respuesta HTTP de tikento
  • Cuerpo de la solicitud (para diagnóstico)
  • Estado del procesamiento (éxito / error)

Resultados posibles

SituaciónQué significaQué hacer
Webhook no aparece en el registroLa pasarela no envió o no pudo entregarVaya al paso 2
Webhook presente, código 200Procesado exitosamenteVerifique que el payment_id coincida con el pago problemático
Webhook presente, código 4xxError de validación (firma incorrecta, formato desconocido)Vaya al paso 4
Webhook presente, código 5xxError interno de tikentoVaya al paso 5

Paso 2. Verifique la configuración del webhook en la pasarela

Inicie sesión en el panel de control de la pasarela de pago y verifique:

YooKassa

  1. Abra «Configuración»«Notificaciones HTTP».
  2. Asegúrese de que la URL del webhook coincida:
    https://app.tikento.com/webhooks/yookassa/{shopId}
    
  3. Verifique que estén seleccionados todos los eventos necesarios:
    • payment.succeeded
    • payment.canceled
    • refund.succeeded

Tochka

  1. Abra «Integración»«Notificaciones».
  2. Asegúrese de que la URL del webhook coincida:
    https://app.tikento.com/webhooks/tochka/{merchantId}
    
  3. Verifique los filtros de eventos.

Errores frecuentes en la URL

  • Falta https:// (se indicó http:// — las pasarelas requieren HTTPS)
  • Barra adicional al final de la URL
  • shopId o merchantId incorrecto en la ruta
  • URL de una conexión anterior (si reconectó la pasarela)

Paso 3. Verifique la disponibilidad del endpoint del webhook

Si la URL es correcta pero el webhook no se entrega, las posibles causas son:

  • Firewall o CDN bloquea las solicitudes POST entrantes de la pasarela
  • Timeout: tikento no respondió a tiempo (las pasarelas generalmente esperan 10-30 segundos)
  • Problemas de DNS: el dominio no se resuelve desde el lado de la pasarela

Para verificar, utilice el webhook de prueba del panel de control de la pasarela (si está disponible) o solicite el reenvío.

Paso 4. Error de validación (4xx)

Si el webhook llegó pero tikento devolvió un error 4xx:

CódigoCausaSolución
400Cuerpo de solicitud inválidoVerifique el formato de notificaciones en la pasarela. Asegúrese de que esté seleccionado el formato JSON y no XML
401Firma de solicitud incorrectaAsegúrese de que el secretKey en tikento esté actualizado. Si regeneró la clave en la pasarela, actualícela también en tikento
404Ruta incorrecta de la URL del webhookVerifique la URL — es posible que el shopId / merchantId sea incorrecto
409Webhook duplicado (ya procesado)Este es un comportamiento normal — la protección de idempotencia funcionó. El pago ya fue procesado

Paso 5. Error interno (5xx)

Si el webhook fue recibido pero tikento devolvió un 5xx — es un error temporal del lado de tikento. En la mayoría de los casos:

  1. La pasarela reintentará automáticamente la entrega (consulte la política de reintentos a continuación).
  2. En el siguiente intento, el problema generalmente se resuelve.
  3. Si el error persiste, contacte con el soporte de tikento.

Política de reintentos de entrega

PasarelaCantidad de intentosIntervalos
YooKassahasta 10Retardo exponencial: 1 s, 5 s, 30 s, 2 min, 10 min, 30 min, 1 h, 3 h, 6 h, 12 h
Tochkahasta 5Intervalo fijo: cada 5 minutos

Si todos los intentos se agotan, utilice el reintento manual.

Reintento manual y confirmación

Reintento manual del webhook

En el registro de webhooks haga clic en «Reintentar» junto a la entrada fallida. tikento reprocesará el cuerpo de la solicitud webhook.

Confirmación manual del pago

Si el webhook no se puede recuperar, pero usted ve el pago exitoso en el panel de control de la pasarela:

  1. Abra el evento → «Participantes».
  2. Busque el registro con estado pendiente.
  3. Haga clic en «Acciones»«Confirmar pago manualmente».
  4. Indique el motivo (para auditoría).

La confirmación manual actualiza el estado del registro y envía al participante el correo con el boleto.

Prueba del webhook

Para asegurarse de que el webhook funciona correctamente, antes o después de la configuración:

Pago de prueba

  1. Cree un evento de prueba con un boleto de pago.
  2. Conecte la pasarela en modo de prueba.
  3. Pague con la tarjeta de prueba (4111 1111 1111 1111).
  4. Verifique el registro de webhooks — debe aparecer una entrada con código 200.
  5. Asegúrese de que el estado del registro se actualizó a «Pagado».

Webhook de prueba desde la pasarela

Algunas pasarelas permiten enviar un webhook de prueba manualmente:

  • YooKassa: en la sección «Notificaciones HTTP», botón «Enviar notificación de prueba»
  • Tochka: contacte con el soporte de Tochka para el envío de una notificación de prueba

Prevención

Para evitar problemas con webhooks:

  • Al cambiar las claves API en la pasarela, actualícelas inmediatamente en tikento
  • No elimine ni cambie la URL del webhook sin necesidad
  • Verifique periódicamente el registro de webhooks en busca de errores
  • Al reconectar la pasarela, siempre realice un pago de prueba

Preguntas frecuentes

El pago se quedó en estado «Pendiente» — ¿qué hacer?
Verifique el registro de entrega del webhook en tikento (Configuración → Pagos → Registro de webhooks). Si no llegó ningún webhook, verifique la URL y la configuración de eventos en el panel de control de la pasarela. Si el webhook llegó con error, examine el código de respuesta en el registro.
¿Cuántas veces la pasarela reintenta el envío del webhook?
YooKassa — hasta 10 intentos con retardo exponencial (de segundos a horas). Tochka — hasta 5 intentos con intervalo de 5 minutos. Si todos los intentos se agotan, utilice el reintento manual.
¿Se puede confirmar manualmente un pago sin webhook?
Sí. Para ello abra el registro del participante, haga clic en «Acciones» → «Confirmar pago manualmente». Esto actualizará el estado del registro, pero no creará un registro de pago en la pasarela.
¿Cómo verificar que la URL del webhook es correcta?
En tikento abra Configuración → Pagos → seleccione la pasarela. Copie la URL del webhook que se muestra y compárela con la URL indicada en el panel de control de la pasarela. Deben coincidir completamente, incluido el protocolo (https://).