Ir al contenido

Crear sesión de checkout de Stripe

POST
/billing/checkout
curl --request POST \
--url https://api.dev.lade.com.mx/billing/checkout \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "teamId": "550e8400-e29b-41d4-a716-446655440000", "priceId": "price_1AbCDeFGhIJKlmn", "mode": "subscription", "successUrl": "https://app.lade.com.mx/dashboard/my-suscription?success=true", "cancelUrl": "https://app.lade.com.mx/dashboard/my-suscription?canceled=true" }'

Crea una sesión de Stripe Checkout para suscribirse a un plan (mode: subscription) o comprar un paquete de viajes (mode: payment). Requiere rol OWNER o ADMIN. Crea el Stripe Customer del equipo si aún no existe.

Media typeapplication/json
object
teamId
required
string format: uuid
priceId
required

Stripe Price ID (price_xxx), no un Product ID

string
mode
string
default: subscription
Allowed values: subscription payment
successUrl
required
string format: uri
cancelUrl
required
string format: uri
Example
{
"teamId": "550e8400-e29b-41d4-a716-446655440000",
"priceId": "price_1AbCDeFGhIJKlmn",
"mode": "subscription",
"successUrl": "https://app.lade.com.mx/dashboard/my-suscription?success=true",
"cancelUrl": "https://app.lade.com.mx/dashboard/my-suscription?canceled=true"
}

Sesión de checkout creada

Media typeapplication/json
object
checkoutUrl
string format: uri
Example
{
"checkoutUrl": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3..."
}

Solicitud inválida

Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{
"error": "Validation failed",
"field": "email",
"message": "Invalid email format"
}

Sin permisos

Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{
"error": "Forbidden",
"message": "You don't have permission to access this resource"
}

Recurso no encontrado

Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{
"error": "Not found",
"message": "Resource not found"
}