Documentación
docs

Configurar Stripe

Configura Stripe en Shipabase: crea productos y precios, conecta los webhooks en local y en producción, y entiende cómo se sincroniza todo con Supabase.

Crear productos y precios

Importante: configura primero tus variables de entorno y deja corriendo el webhook (más abajo), porque los productos se sincronizan a Supabase vía webhooks en el momento en que los creas.

  1. Ve al Stripe Dashboard
  2. Navega a Products → Add Product
  3. Configura tu producto:
    • Name: por ejemplo, "Plan Pro"
    • Description: descripción breve del plan
    • Pricing: monto (ej. $29.00), período de facturación (mensual, anual…) y, opcionalmente, días de prueba gratis
  4. Guarda y repite para cada plan

Cómo funciona: cada vez que creas o modificas un producto en Stripe, el webhook lo sincroniza a tu base de datos. Los verás aparecer en las tablas products y prices de Supabase, y la página de precios de tu app los mostrará automáticamente.

Webhooks en desarrollo local

Stripe no puede llamar a localhost, así que la CLI de Stripe hace de túnel:

# Inicia sesión en la CLI de Stripe (solo la primera vez)
npm run stripe:login

# Reenvía los webhooks a tu app local
npm run stripe:listen

Al arrancar, stripe listen imprime un secreto de firma. Cópialo en tu .env.local:

STRIPE_WEBHOOK_SECRET="whsec_..."

Deja esta terminal corriendo mientras desarrollas: sin ella, los eventos de Stripe no llegan a tu app.

Webhooks en producción

En el Stripe Dashboard, crea un webhook endpoint:

  • URL: https://tudominio.com/api/webhooks
  • Eventos: selecciona todos los de checkout, customer, product, price y subscription

Stripe te dará un whsec_... distinto al de desarrollo — configúralo como STRIPE_WEBHOOK_SECRET en tu plataforma de hosting.

El flujo completo

  1. Stripe envía un evento a /api/webhooks
  2. El handler valida la firma con STRIPE_WEBHOOK_SECRET
  3. Los event handlers actualizan las tablas de Supabase
  4. La UI refleja los cambios automáticamente

Siguiente paso

Verifica tu instalación con el preflight check.