Checkout
🔓👤 checkout de la sesion
Section titled “🔓👤 checkout de la sesion”🔗 Endpoint
Section titled “🔗 Endpoint”POST /create-checkout-session📚 Descripción
Section titled “📚 Descripción”Crea una sesión de pago única (one-time payment) en Stripe Checkout. Incluye manejo de productos, clientes, metadata dinámica y validación de payload.
Valida el payload recibido.
Busca el producto correspondiente en Strapi usando productStripeID.
Sincroniza o crea un cliente en Stripe según su email.
Genera metadata estructurada usando updateMetadataUnified.
Crea una sesión de pago (mode: payment) usando Stripe Checkout.
Retorna los datos relevantes de la sesión.
🧪 Ejemplo de uso
Section titled “🧪 Ejemplo de uso”POST http://localhost:1337/api/create-checkout-session📦 Body completo
Section titled “📦 Body completo”✅ Obligatorios
Section titled “✅ Obligatorios”| Campo | Tipo | Descripción |
|---|---|---|
priceID | string | ID del precio de Stripe |
productStripeID | string | ID del producto en Strapi/Stripe |
success_url | string | URL a la que Stripe redirige tras pagar |
cancel_url | string | URL a la que Stripe redirige al cancelar |
customer_email | string | Email del cliente |
origin | string | CRM o cuenta de Stripe que se usará |
vertical | string | Identificador del vertical del producto |
⚙️ Opcionales
Section titled “⚙️ Opcionales”| Campo | Tipo | Descripción |
|---|---|---|
payment_intent_data | object | Metadata interna del intent |
metadata.laab_fetch | array | Lista opcional de datos extra para metadata |
{ "priceID": "price_123456789", "productStripeID": "prod_ABCDEF123", "success_url": "https://tusitio.com/success", "cancel_url": "https://tusitio.com/cancel", "customer_email": "cliente@example.com", "origin": "crm_main", "vertical": "fitness", "payment_intent_data": { "metadata": { "orderId": "12345XYZ" } }, "metadata": { "laab_fetch": [ { "key": "extra1", "value": "dato1" }, { "key": "extra2", "value": "dato2" } ] }}📤 Ejemplo de respuesta
Section titled “📤 Ejemplo de respuesta”{ "id": "cs_test_123", "payment_method_types": ["card", "paypal"], "object": "checkout.session", "amount_subtotal": 4900, "amount_total": 4900, "currency": "usd", "cancel_url": "https://tusitio.com/cancel", "customer": "cus_123456", "mode": "payment", "status": "open", "success_url": "https://tusitio.com/success", "url": "https://checkout.stripe.com/pay/cs_test_123"}🔓💳 Checkout subscripcion
Section titled “🔓💳 Checkout subscripcion”🔗 Endpoint
Section titled “🔗 Endpoint”POST /create-checkout-subscription📚 Descripción
Section titled “📚 Descripción”Crea una sesión de Stripe Checkout para un pago recurrente o suscripción.
Valida los campos necesarios para suscripciones.
Busca un producto en Strapi con precios de suscripción.
Valida que el priceID pertenezca a los precios del producto.
Sincroniza o crea un cliente en Stripe.
Crea un checkout de suscripción (mode: subscription).
Devuelve la sesión limpia y lista para usar.
🧪 Ejemplo de uso
Section titled “🧪 Ejemplo de uso”POST http://localhost:1337/api/create-checkout-subscription📦 Body completo
Section titled “📦 Body completo”✅ Obligatorios
Section titled “✅ Obligatorios”| Campo | Tipo | Descripción |
|---|---|---|
productStripeID | string | ID del producto en Strapi |
priceID | string | ID del precio de suscripción |
success_url | string | URL tras suscripción exitosa |
cancel_url | string | URL tras cancelar |
customer_email | string | Email del usuario |
origin | string | CRM (Stripe Account) |
vertical | string | Vertical del producto |
{ "productStripeID": "prod_ABCDEF123", "priceID": "price_monthly_123", "success_url": "https://tusitio.com/subscription/success", "cancel_url": "https://tusitio.com/subscription/cancel", "customer_email": "suscriptor@example.com", "origin": "crm_main", "vertical": "fitness"}📤 Ejemplo de respuesta
Section titled “📤 Ejemplo de respuesta”{ "id": "cs_test_sub_123", "payment_method_types": ["card", "paypal"], "object": "checkout.session", "mode": "subscription", "status": "open", "success_url": "https://tusitio.com/subscription/success", "cancel_url": "https://tusitio.com/subscription/cancel", "url": "https://checkout.stripe.com/pay/cs_test_sub_123"}