Skip to content

Checkout


POST /create-checkout-session

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.

POST http://localhost:1337/api/create-checkout-session
CampoTipoDescripción
priceIDstringID del precio de Stripe
productStripeIDstringID del producto en Strapi/Stripe
success_urlstringURL a la que Stripe redirige tras pagar
cancel_urlstringURL a la que Stripe redirige al cancelar
customer_emailstringEmail del cliente
originstringCRM o cuenta de Stripe que se usará
verticalstringIdentificador del vertical del producto
CampoTipoDescripción
payment_intent_dataobjectMetadata interna del intent
metadata.laab_fetcharrayLista 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" }
]
}
}
{
"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"
}


POST /create-checkout-subscription

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.

POST http://localhost:1337/api/create-checkout-subscription
CampoTipoDescripción
productStripeIDstringID del producto en Strapi
priceIDstringID del precio de suscripción
success_urlstringURL tras suscripción exitosa
cancel_urlstringURL tras cancelar
customer_emailstringEmail del usuario
originstringCRM (Stripe Account)
verticalstringVertical 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"
}
{
"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"
}