Cómo activar acciones con webhooks
Un webhook es un punto de conexión HTTP que recibe eventos desde Stripe.
Los webhooks te permiten recibir notificaciones sobre eventos de pago que suceden en el mundo real fuera de tu flujo de pago, por ejemplo:
- Pagos efectuados con éxito (
payment_intent.succeeded
) - Pagos en disputa (
charge.dispute.created
) - Saldo disponible en tu cuenta de Stripe (
balance.available
)
Mientras que el Dashboard es excelente para acciones puntuales, como el rembolso de un pago o la actualización de la información del cliente, los webhooks son esenciales para expandir tu integración de pagos, ya que te ayudan a procesar grandes volúmenes de eventos críticos para la empresa.
Crear tu propio webhook
Puedes crear un controlador de webhooks en tu propio servidor para administrar todos los flujos de pagos fuera de línea. Comienza por presentar un punto de conexión que pueda recibir solicitudes de Stripe y que utilice la CLI para probar de manera local tu integración. Cada solicitud de Stripe contiene un objeto Event con una referencia al objeto de Stripe que fue modificado.
Crear un punto de conexión de webhooks
Agrega un nuevo punto de conexión en tu aplicación. Puedes actuar sobre determinados eventos corroborando el campo type
del objeto Event enviado en el cuerpo de la solicitud. Por ahora, vamos a usar la salida estándar para verificar el buen funcionamiento del webhook.
Inicia tu servidor luego de agregar el nuevo punto de conexión.
Instala y configura la CLI de Stripe
Para obtener más opciones de instalación, consulta Cómo empezar a usar la CLI de Stripe.
Después de que la CLI de Stripe esté instalada, ejecuta stripe login
en la línea de comandos para generar un código de emparejamiento para vincularla a tu cuenta de Stripe. Presiona Intro para iniciar tu navegador e inicia sesión en tu cuenta de Stripe para permitir el acceso. La clave de API que se generó es válida por 90 días. Puedes modificarla o eliminarla desde Claves de API en el Dashboard.
stripe login Your pairing code is: humour-nifty-finer-magic Press Enter to open up the browser (^C to quit)
Si quieres utilizar una clave de API existente, utiliza la marca --api-key
:
stripe login --api-key
Your pairing code is: humour-nifty-finer-magic Press Enter to open up the browser (^C to quit)sk_test_4eC39HqLyjWDarjtT1zdp7dc
Prueba tu webhook de manera local
Utiliza la CLI para reenviar eventos a tu punto de conexión de webhooks local con el comando listen
.
Si tu aplicación está funcionando en un puerto 4242, ejecuta:
stripe listen --forward-to http://localhost:4242/webhook
En otra pestaña del terminal, utiliza el comando trigger
de la CLI para activar un evento de webhook simulado.
stripe trigger payment_intent.succeeded
En la pestaña listen
, deberías ver el siguiente evento:
[200 POST] OK payment_intent.succeeded
También deberías ver una mención que indique que “el PaymentIntent se completó con éxito” en la pestaña del terminal que está ejecutando tu servidor.
Implementa tu punto de conexión de webhooks
Cuando estés listo para implementar tu punto de conexión de webhooks en modo activo, hay algunas cosas que debes hacer:
Utiliza las claves de API para modo activo, no las claves para modo de prueba.
Configura tu punto de conexión de webhooks en el Dashboard de Stripe o con la API.
Para configurar tu punto de conexión en el Dashboard, ve a la configuración de webhooks.
Haz click en “Agregar un punto de conexión” e ingresa la dirección URL de tu punto de conexión, la versión de la API de Stripe y los eventos específicos que quieres que Stripe envíe.
Reemplaza la clave secreta del punto de conexión de webhooks en tu aplicación con la nueva clave secreta presentada en la vista del Dashboard de tu punto de conexión.
¡Eso es todo! Tu aplicación está lista para aceptar eventos activos. Para más información sobre cómo configurar tu punto de conexión de webhooks, la API Webhook Endpoint y las pruebas en modo de prueba, consulta nuestra guía de desarrollo.