Checkouts

Crea una compra y redirige al cliente a su página de pago.

Usa billete.checkouts desde tu servidor. Configura el cliente con el entorno y la clave de tu negocio.

Ejemplo

const checkout = await billete.checkouts.create({
  items: [{ product: "prod_ejemplo", quantity: 1 }],
  customer: { email: "cliente@example.com" },
  successUrl: "https://example.com/gracias?checkout={CHECKOUT_ID}",
}, { idempotencyKey: "checkout-order-123" });

Métodos

MétodoQué hace
create(input, options?)Crear un checkout de productos o de plan.
retrieve(id, options?)Consultar su estado.
list(query?, options?)Listar checkouts.
iterate(query?)Recorrer checkouts.
expire(id, options?)Vencer un checkout abierto.

Qué debes tener en cuenta

Redirige a checkout.url. Para una suscripción, sustituye items por plan y months. Si el plan cobra por puesto y no envías quantity, el cliente elige los puestos en el checkout, dentro del rango del plan; con quantity quedan fijos, salvo que añadas adjustableQuantity: true para que solo sea el punto de partida. La redirección de éxito no demuestra que se pagó: confirma checkout.completed en tu servidor antes de entregar.

// El cliente elige entre el mínimo y el máximo de puestos del plan.
const team = await billete.checkouts.create({ plan: "plan_equipo", months: 1 });
// Cinco puestos fijos.
const fixed = await billete.checkouts.create({ plan: "plan_equipo", months: 1, quantity: 5 });

Para cambiar una suscripción existente, usa billete.subscriptions.changes.create. Cuando devuelve un checkout, sus condiciones quedan congeladas hasta la confirmación del pago; verifica también que subscriptionChange.outcome sea applied.

Referencia HTTP y reglas de checkouts.