Introducción
Ejecuta funciones de Inngest y trabajos en segundo plano cuando se produzcan eventos de pago. Dodo Payments envía cada evento a Inngest, donde tus funciones pueden enviar notificaciones, actualizar bases de datos y ejecutar flujos de trabajo de varios pasos con los reintentos y la gestión de errores de Inngest.Necesitas una URL de webhook de Inngest. Puedes crearla en el dashboard de Inngest, en Manage → Webhooks.
Comenzando
1
Open the Webhook Section
En el dashboard de Dodo Payments, ve a Developer → Webhooks y haz clic en Add endpoint.

2
Select Inngest
En Integration, selecciona Inngest. En Subscribed events, selecciona los eventos que deben activar tus funciones.
3
Create an Inngest Webhook
En el dashboard de Inngest, abre la pestaña Manage y selecciona Webhooks. Crea un webhook y copia su URL. Inngest ejecuta la función de transformación del webhook en cada solicitud, así que comprueba que conserve los campos
name y data que esperan tus funciones.4
Paste Webhook URL
Pega la URL del webhook de Inngest en Endpoint URL.
5
Configure Transformation
En Transformation code, edita el código para dar formato a los eventos para tus funciones de Inngest. Consulta los ejemplos siguientes.
6
Test & Create
En Test this code, selecciona un tipo de evento y haz clic en Simulate para ejecutar la transformación con un payload de ejemplo. Después, haz clic en Create endpoint para activar la integración.
7
Done
Los eventos de Dodo Payments ahora activan tus funciones de Inngest.
Ejemplos de Código de Transformación
Cada ejemplo transformawebhook.payload en un evento de Inngest. name es el evento que activa tu función, data contiene los detalles del evento, user contiene el cliente y ts es la hora del evento en milisegundos, que requiere el formato de eventos de Inngest.
Payload de evento básico
basic_event.js
Controlador de eventos de suscripción
subscription_event.js
Controlador de eventos de disputas
Este controlador reenvía todos los eventosdispute.* y marca dispute.opened como urgentes. Los payloads de disputas no incluyen detalles del cliente, por lo que no envía ningún objeto user.
dispute_event.js
Casos de uso comunes de Inngest
Payment Processing
Payment Processing
- Enviar correos electrónicos de confirmación
- Actualizar registros de clientes
- Procesar reembolsos
- Generar facturas
- Actualizar el inventario
Subscription Management
Subscription Management
- Dar la bienvenida a nuevos suscriptores
- Procesar cancelaciones
- Enviar recordatorios de renovación
- Actualizar ciclos de facturación
- Gestionar pagos fallidos
Analytics & Reporting
Analytics & Reporting
- Actualizar métricas de ingresos
- Hacer seguimiento del comportamiento de los clientes
- Generar informes
- Sincronizar datos con plataformas de analítica
- Calcular las tasas de abandono
Consejos
- Usa nombres de eventos descriptivos. Inngest recomienda anteponerles el origen, como
dodo/payment.succeeded. - Coloca los detalles del cliente en
user, que Inngest cifra en reposo. - Establece
tsa partir detimestampdel webhook, en milisegundos, para que los eventos conserven su orden y hora originales. - Usa la misma estructura de datos en todos los eventos.
- Usa las funciones de reintento y gestión de errores de Inngest.
Solución de problemas
Functions not triggering
Functions not triggering
- Comprueba que la URL del endpoint coincida con la URL del webhook de Inngest y que el webhook esté activo.
- Comprueba que tu función de Inngest esté implementada y activa.
- Comprueba que los nombres de los eventos coincidan con los activadores de tu función.
- Revisa los logs de la función de Inngest para detectar errores.
Data not received correctly
Data not received correctly
- Comprueba que la estructura del payload coincida con el formato de eventos de Inngest.
- Comprueba que los nombres de los eventos tengan el formato correcto.
- Comprueba que la función de transformación del webhook de Inngest conserve los campos que establece la transformación de Dodo Payments.
- Comprueba que se incluyan todos los campos obligatorios.
- Realiza pruebas con la herramienta de pruebas de webhooks de Inngest.