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:

Servidor
const session = await billete.customerSessions.create({
  customer: "cus_ejemplo",
});

Entrega session.token exclusivamente a ese usuario.

Navegador
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.