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étodo | Qué 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.