Integraciones de Pago
Sección titulada «Integraciones de Pago»TalentBricksAI está construido sobre la plantilla Open SaaS, que incluye soporte integrado para Stripe como procesador de pagos principal.
Por qué Stripe
Sección titulada «Por qué Stripe»Stripe es el procesador de pagos elegido para TalentBricksAI por las siguientes razones:
Ventajas:
- Más maduro y ampliamente utilizado a nivel global
- Mejor documentación y soporte para desarrolladores
- Excelentes opciones de personalización
- Soporta facturación compleja y precios dinámicos
- Excelentes herramientas para desarrolladores (Stripe CLI, webhooks, etc.)
- Funciona en casi todos los países
- Amplio ecosistema de integraciones
Consideraciones:
- Requiere configuración inicial (pero esta guía te ayuda con eso)
- Necesitas manejar el cumplimiento fiscal tú mismo (o usar Stripe Tax)
- Las tarifas pueden variar según el país
Tarifas típicas: 2.9% + $0.30 por transacción (varía según el país)
Aprende más: Guía de Integración de Stripe
configuración Rápida
Sección titulada «configuración Rápida»Para comenzar con cualquier procesador de pago, sigue estos pasos generales:
- Regístrate en el procesador de pago que elijas
- Obtén tus claves API del dashboard del procesador
- Configura las variables de entorno en tu aplicación
- Crea productos/precios en el dashboard del procesador
- Configura webhooks para recibir actualizaciones de eventos
- Prueba tu integración en modo de prueba
Estructura del Código
Sección titulada «Estructura del Código»TalentBricksAI organiza el código de pagos de la siguiente manera:
app/src/payment/├── operations.ts # Operaciones de pago (queries y actions)├── plans.ts # Definición de planes de pago├── paymentProcessor.ts # Interfaz común de procesador de pago├── webhook.ts # Manejador principal de webhooks└── stripe/ ├── checkoutUtils.ts # Utilidades de checkout de Stripe ├── paymentProcessor.ts # Implementación del procesador de Stripe ├── stripeClient.ts # Cliente configurado de Stripe └── webhook.ts # Manejador de webhooks de StripeVariables de Entorno
Sección titulada «Variables de Entorno»Stripe requiere las siguientes variables de entorno:
STRIPE_API_KEY=sk_test_... # Clave secreta de StripeSTRIPE_WEBHOOK_SECRET=whsec_... # Secret del webhook
# IDs de planes (obtenidos del Dashboard de Stripe)PAYMENTS_MONTHLY_SUBSCRIPTION_PLAN_ID=price_...PAYMENTS_ANNUAL_SUBSCRIPTION_PLAN_ID=price_...PAYMENTS_CREDITS_10_PLAN_ID=price_...Planes de Pago
Sección titulada «Planes de Pago»Los planes de pago se definen en app/src/payment/plans.ts:
export enum PaymentPlanId { Hobby = "hobby", Pro = "pro", Credits10 = "credits10", MonthlySubscription = "monthly-subscription", AnnualSubscription = "annual-subscription",}Cada plan requiere un ID del procesador de pago correspondiente:
PAYMENTS_HOBBY_SUBSCRIPTION_PLAN_ID=price_...PAYMENTS_PRO_SUBSCRIPTION_PLAN_ID=price_...PAYMENTS_CREDITS_10_PLAN_ID=price_...PAYMENTS_MONTHLY_SUBSCRIPTION_PLAN_ID=price_test_monthlyPAYMENTS_ANNUAL_SUBSCRIPTION_PLAN_ID=price_test_annualWebhooks
Sección titulada «Webhooks»Los webhooks son esenciales para que tu aplicación reciba actualizaciones sobre eventos de pago (pagos completados, suscripciones canceladas, etc.).
URL del webhook de Stripe:
https://tu-dominio.com/payments/stripe-webhookPara configurar webhooks en Stripe:
- Ve al Dashboard de Stripe → Developers → Webhooks
- Agrega la URL del webhook
- Selecciona los eventos que necesitas escuchar
- Copia el Signing secret y agrégalo a
STRIPE_WEBHOOK_SECRET
Eventos importantes que TalentBricksAI escucha:
checkout.session.completed- Pago completadoinvoice.paid- Factura pagada (suscripciones)customer.subscription.updated- Suscripción actualizadacustomer.subscription.deleted- Suscripción cancelada
Modo de Prueba vs Producción
Sección titulada «Modo de Prueba vs Producción»Stripe ofrece dos ambientes separados:
| Ambiente | Claves API | Uso |
|---|---|---|
| Test | sk_test_... / pk_test_... | Desarrollo local y testing |
| Live | sk_live_... / pk_live_... | Producción |
Próximos Pasos
Sección titulada «Próximos Pasos»Para configurar Stripe en TalentBricksAI, consulta estas guías:
- Guía de Integración de Stripe - Tutorial completo paso a paso
- Configurar Pagos - Guía rápida de configuración
Cambiar de Procesador de Pago (Avanzado)
Sección titulada «Cambiar de Procesador de Pago (Avanzado)»Si necesitas cambiar a Lemon Squeezy o Polar:
- Consulta la documentación de Open SaaS sobre Payment Integrations
- Modifica
app/src/payment/paymentProcessor.tspara usar el procesador deseado - Actualiza las variables de entorno correspondientes
- Crea productos/precios en el nuevo procesador
- Actualiza los IDs de plan en
.env.server
El resto de tu código de aplicación permanece sin cambios gracias a la interfaz común de procesador de pago.