Crea una Checkout Session y devuelve su representación completa, incluida la url a la que se deriva al cliente final para pagar o inscribir un medio de pago.
El campo mode fija qué hace la sesión: PAYMENT cobra deudas o un monto, ENROLLMENT inscribe un medio de pago automático y SAVE_PAYMENT_INSTRUMENT guarda una cuenta bancaria sin cobrar.
Si se envía customer_data sin billing_data.id_customer, el Customer se crea o se actualiza con esos datos. Si se envía invoice_data, se crea una deuda nueva y la sesión queda asociada a ella.
expiration_datetime se interpreta en formato ISO 8601 (sin zona horaria se asume UTC) y no puede quedar en el pasado. Cuando se envía, la sesión se expira de forma automática en esa fecha. Si se omite, la sesión expira según la duración que configure el flujo, sin importar su mode. Si el flujo no configura ninguna, permanece abierta hasta expirarla manualmente.
Cuando la sesión queda asociada a un Customer y no se envía skip_message_trigger, se le manda el enlace de pago por el canal indicado en communication_channel. El envío es best-effort: si falla, la Checkout Session se crea igual. Si en cambio se envía id_template, la plantilla debe existir: si no, la solicitud se rechaza con 400 y la sesión no se crea.
unique_external_id hace la creación idempotente: si la organización vuelve a enviar un valor que ya usó, se devuelve la Checkout Session que ya se creó con él, en el estado en que esté, sin crear una nueva — ni la sesión, ni el Customer, ni la deuda — ni volver a enviarle el enlace al cliente. Sirve para que un reintento por timeout reciba la url de la sesión que sí se creó en vez de generar una segunda. El reintento se valida igual que una creación nueva: si con esos datos ya no se podría crear la sesión, responde el mismo error. El resto de sus campos se ignora, con una sola excepción: un allowed_payment_options con botones reemplaza el filtro de la sesión si sigue abierta y el flow_name es el mismo de la sesión.
allowed_payment_options limita los botones de medio de pago que muestra el checkout.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||