Eventos de Stripe con Webhooks

Implemente Stripe Webhooks en su sistema de suscripción con Express js.

Denisse Avatar

Por:

Denisse Abreu
Mayo 23, 2022 8pm ET

Eng/Spa 3-min

Hola 🖐🏼, esta es la tercera parte de nuestra guía, ¿Cómo crear un sistema de suscripción con Stripe y Express js?. En este tutorial, conectaré el Stripe Webhook a nuestro sistema de suscripción. Los webhooks son una parte integral de cualquier sistema de suscripción. Cuando las personas se suscriben, cambian o cancelan su suscripción, su sistema necesita Escuchar estos eventos y actualizar la base de datos para otorgar o rechazar el acceso a su servicio. Para este proyecto, estoy usando Express. Si aún no tienes un proyecto, puedes copiar el mío aquí: Vue Stripe Subscriptions.

1. Configure Stripe.

Instale el paquete de Stripe y la CLI de Stripe según su sistema operativo. Guía de instalación del CLI de Stripe.


  npm install stripe --save
  
  • Cree un archivo .env en la raíz del proyecto; ¡Por favor, no exponga sus claves directamente en el código!
.env

Configure un middleware para separar los eventos de webhook de otras solicitudes posteriores que su aplicación pueda tener. Esto se debe a que los webhooks no se pueden analizar como objetos JSON.

server/index.js

2. Inicie la consola CLI de Stripe.

Abra su terminal y escriba stripe -v para verificar la instalación de Stripe. Si Stripe CLI no está instalado en su computadora, vaya a las Instrucciones de Stripe CLI, luego escriba stripe login y stripe listen --forward-to:localhost:3000/api/posts/webhook para redirigir las llamadas del webhook a su servidor node js. Si desea utilizar su clave secreta (stripe secret key) para escuchar estos eventos, use --api-key seguido de su clave. Asegúrese de que su código 'webhook signing secret' sea el mismo en su Navegador; si el código de emparejamiento 'pairing code' es correcto, recibirá su código de inicio de sesión webhook, inserte este código en su archivo .env y reinicie su servidor.

Command Prompt

  • Comience a escuchar eventos dentro del webhook; si todo esta bien, recibirás respuestas 200 ok de Stripe.

Respuesta Command Prompt Stripe

  • Alternativamente, puede desencadenar diferentes eventos usando el Stripe Shell

Stripe Shell

  • A continuación, verás expresiones switch case de javascript; Recuerda borrar los registros de la consola y usar dataObject.status para manipular su base de datos.

Vscode Terminal

3. Comience las pruebas de integración de Stripe.

El siguiente código es la ruta completa del webhook; en lugar de hacer console log a cada caso, manipule su base de datos para otorgar, actualizar o cancelar servicios de suscripción. Consulta la lista de eventos de las suscripciones de Stripe para mas 'switch cases'.

server/posts.js