Cliente de navegador
Consulta el estado de un cliente o construye un checkout sin una clave secreta.
Estado del cliente
Tu servidor crea una sesión después de autenticar al usuario y resolver el cliente que le pertenece:
const session = await billete.customerSessions.create({
customer: "cus_ejemplo",
});Entrega session.token exclusivamente a ese usuario.
import { createClient } from "@boelabs/billete-sdk/client";
const client = createClient({ apiVersion: "2026-10-24", customerSession: token });
const customer = await client.customer.retrieve();
const subscriptions = await client.customer.subscriptions();
const features = await client.customer.features();customerSession también admite una función que devuelve el token vigente. Para una experiencia lista para usar, crea una portalSession desde el servidor y redirige a su url.
Apps móviles
El cliente de navegador solo necesita fetch, AbortController y setTimeout, así que funciona igual en React Native y Expo, sin polyfills. No envía Idempotency-Key: cada mutación de /v1/client ya rechaza su repetición por el estado de lo que cambia (un checkout con un pago en curso responde payment_in_progress; un reclamo abierto, claim_already_open), así que reintentar es seguro.
Construir un checkout propio · Crear sesiones desde el servidor.