Crear sesión de checkout de Stripe
POST
/billing/checkout
const url = 'https://api.dev.lade.com.mx/billing/checkout';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"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"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Sección titulada «Authorizations»Request Bodyrequired
Sección titulada «Request Bodyrequired»Media typeapplication/json
object
teamId
required
string format: uuid
priceId
required
Stripe Price ID (price_xxx), no un Product ID
string
mode
string
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"}Responses
Sección titulada «Responses»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"}