Saltar al contenido principal

Pasarelas de Pago (Stripe y PayPal)

FeedbackPulse SaaS admite Stripe y PayPal para la facturación por suscripción. Puedes habilitar uno o ambos.


💰 Cómo Funciona la Facturación

  1. Creas planes de suscripción en Admin → Planes (ej., Starter $9.99/mes, Pro $29.99/mes)
  2. Cada plan tiene un ID de Precio de Stripe y/o ID de Plan de PayPal
  3. Cuando un inquilino se suscribe, es redirigido a Stripe Checkout o PayPal
  4. Después del pago, FeedbackPulse activa su suscripción
  5. Los webhooks mantienen todo sincronizado (renovaciones, cancelaciones, fallos)

💳 Configuración de Stripe

Paso 1: Crear una Cuenta de Stripe

  1. Regístrate en stripe.com
  2. Completa la verificación de identidad
  3. Obtén tus claves API desde Developers → API Keys

Paso 2: Obtener tus Claves API

ClaveDónde EncontrarlaVariable .env
Clave PublicablePanel de Control → Developers → API KeysSTRIPE_PUBLISHABLE_KEY
Clave SecretaPanel de Control → Developers → API KeysSTRIPE_SECRET_KEY
STRIPE_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxx

🧪 Pruebas: Usa claves pk_test_ y sk_test_ para el modo sandbox.

Paso 3: Crear Productos y Precios en Stripe

Para cada plan de suscripción, crea un precio recurrente en Stripe:

  1. Ve a Products → Add Product
  2. Nombre: "FeedbackPulse Starter" (o el nombre de tu plan)
  3. Agrega un precio recurrente: $9.99 / mes
  4. Opcionalmente agrega un precio anual: $99.99 / año
  5. Copia el Price ID (comienza con price_)

Paso 4: Vincular Precios a los Planes

En FeedbackPulse, ve a Admin → Planes → Editar:

Campo del PlanValor de Stripe
ID de Precio Mensual de Stripeprice_xxxxxxxxx (ID de precio mensual)
ID de Precio Anual de Stripeprice_xxxxxxxxx (ID de precio anual)

Paso 5: Configurar Webhooks de Stripe

Esto es crítico — los webhooks mantienen las suscripciones sincronizadas.

  1. Ve a Stripe Dashboard → Developers → Webhooks
  2. Haz clic en Add endpoint
  3. URL del Endpoint: https://yourdomain.com/webhooks/stripe
  4. Eventos a escuchar:
    • checkout.session.completed
    • customer.subscription.created
    • customer.subscription.updated
    • customer.subscription.deleted
    • invoice.payment_failed
  5. Copia el Signing Secret (comienza con whsec_)
STRIPE_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxx

Paso 6: Habilitar en el Panel de Administración

Ve a Admin → Configuración → Pagos:

  • Activa Stripe
  • Pega tus claves publicable y secreta
  • Guarda

💰 Configuración de PayPal

Paso 1: Crear una Cuenta de PayPal Business

  1. Regístrate en paypal.com/business
  2. Ve a developer.paypal.com

Paso 2: Crear una App de API REST

  1. Ve a Dashboard → Apps & Credentials
  2. Haz clic en Create App
  3. Nombre: "FeedbackPulse"
  4. Copia el Client ID y el Secret
PAYPAL_CLIENT_ID=your_client_id
PAYPAL_CLIENT_SECRET=your_client_secret
PAYPAL_MODE=live

🧪 Pruebas: Usa PAYPAL_MODE=sandbox y credenciales de sandbox.

Paso 3: Crear Planes de Suscripción en PayPal

  1. Ve a PayPal Developer Dashboard → Subscriptions → Plans
  2. Crea primero un producto, luego crea los planes para él
  3. Copia cada Plan ID (comienza con P-)

Paso 4: Vincular Planes en FeedbackPulse

En Admin → Planes → Editar:

Campo del PlanValor de PayPal
ID de Plan Mensual de PayPalP-xxxxxxxxx (plan mensual)
ID de Plan Anual de PayPalP-xxxxxxxxx (plan anual)

Paso 5: Configurar Webhooks de PayPal

  1. En PayPal Developer Dashboard → Webhooks
  2. Agrega URL del webhook: https://yourdomain.com/webhooks/paypal
  3. Selecciona eventos:
    • BILLING.SUBSCRIPTION.CREATED
    • BILLING.SUBSCRIPTION.ACTIVATED
    • BILLING.SUBSCRIPTION.UPDATED
    • BILLING.SUBSCRIPTION.CANCELLED
    • BILLING.SUBSCRIPTION.SUSPENDED
    • PAYMENT.SALE.COMPLETED
  4. Copia el Webhook ID
PAYPAL_WEBHOOK_ID=your_webhook_id

Paso 6: Habilitar en el Panel de Administración

Ve a Admin → Configuración → Pagos:

  • Activa PayPal
  • Pega tu Client ID y Secret
  • Guarda

🧪 Prueba de Pagos

Modo de Prueba de Stripe

Usa números de tarjeta de prueba:

  • Éxito: 4242 4242 4242 4242
  • Rechazo: 4000 0000 0000 0002
  • 3D Secure: 4000 0025 0000 3155

Vencimiento: cualquier fecha futura. CVC: cualquier 3 dígitos.

Sandbox de PayPal

  1. Ve a developer.paypal.com → Sandbox → Accounts
  2. Usa la cuenta de comprador sandbox generada para probar pagos

Soporte Multi-Moneda

Los planes pueden tener diferentes monedas (ej., USD, EUR, GBP). Configura la lista de monedas admitidas en Admin > Configuración > Pagos bajo el campo Monedas Admitidas.

  • Stripe: Las sesiones de checkout pasan automáticamente la moneda del plan, por lo que los clientes son cobrados en la moneda correcta.
  • PayPal: Las solicitudes de suscripción incluyen metadatos de moneda que coinciden con la moneda configurada del plan.
  • La moneda se almacena en cada factura para un registro preciso.

Para más detalles sobre la configuración de monedas admitidas, consulta Configuración de la Plataforma.


🔒 Notas de Seguridad

  • Las claves API se almacenan cifradas en la tabla platform_settings
  • Las firmas de webhook se verifican (HMAC de Stripe, validación de firma de PayPal)
  • Los eventos de pago se registran en la tabla payment_events (Admin → Pagos)
  • La deduplicación de eventos previene el doble procesamiento de webhooks

⏭️ Próximos Pasos