checkouts

Actualizar un checkout o modificar sus items

Actualiza campos del checkout y agrega, modifica o elimina filas individuales sin reenviar el carrito completo.

El checkout debe pertenecer a la cuenta del contexto. Una plataforma que envía X-ACCOUNT-ID puede actualizar cualquier checkout de esa hija conectada, sin filtrar por creador.

items es una lista de mutaciones sparse. Las filas que no aparecen permanecen sin cambios:

  • Para agregar, envía price_id, quantity absoluta y metadata opcional. Solo se pueden agregar precios activos del catálogo de la cuenta; no se aceptan detalles inline en este endpoint.
  • Para modificar, envía el id de item con prefijo it_ y una nueva quantity absoluta o metadata. La metadata reemplaza el objeto completo; {} la limpia.
  • Para eliminar, envía el id de item y deleted: true sin otros campos.

Varias filas pueden compartir el mismo price_id: cada una conserva su propio id, cantidad y metadata. Una solicitud puede mezclar las tres operaciones y se aplica atómicamente; si cualquier mutación o validación del checkout falla, no se guarda ningún cambio. La respuesta exitosa siempre contiene el checkout completo y su colección items autoritativa.

Solo un checkout unpaid y sin un pago en proceso puede modificarse. Eliminar el último item deja el checkout abierto y vacío, pero no se puede pagar hasta agregar un item válido. Usa Idempotency-Key al agregar filas para que un retry de red devuelva la respuesta original sin duplicarlas.

patch/checkouts/{id}

Path parameters

idstring required

ID del checkout

Headers

X-SECRET-KEYstring required

Tu clave secreta de API.

Una llave de cuenta (sk_live_..., sk_test_...) opera sobre su propia cuenta y, con X-ACCOUNT-ID, sobre sus cuentas conectadas.

Una llave de organización (sk_org_live_..., sk_org_test_...) alcanza todas las cuentas de una organización y solo sirve para leer: saldos, movimientos y reportes. Para operar sobre una cuenta debe nombrarla con X-ACCOUNT-ID; omitirlo en una lectura devuelve todas las cuentas de la organización. Cualquier otro endpoint responde 403 con code: organization_key_unsupported.

Idempotency-Keystring

Clave de idempotencia para reintentos seguros de operaciones críticas, especialmente las que mueven dinero o cambian estado operativo. Reintentar con la misma clave y el mismo cuerpo devuelve la respuesta original (header Idempotency-Replayed: true); reusarla con parámetros distintos devuelve 409.

Request body

success_urlstring uri

Nueva URL de éxito

cancel_urlstring uri

Nueva URL de cancelación

metadataobject

Metadata personalizada

expires_atstring date-time

Nueva fecha de expiración

discount_codestring

Código de descuento/cupón a aplicar al checkout

Response

Checkout actualizado con la colección completa y autoritativa de items

idstring required

ID único del checkout

status'unpaid' | 'paid' | 'payment_in_progress' | 'expired' required

Estado del checkout

total_in_centsinteger

Monto total en centavos (después de descuentos)

subtotal_in_centsinteger

Monto subtotal en centavos (antes de descuentos)

currency'GTQ' | 'USD'

Moneda del checkout

payment_method_typesCheckoutPaymentMethodTypesItems[]

Métodos de pago que se le ofrecerán al comprador en este checkout, ya resueltos según la configuración del producto/cuenta, la moneda y el tipo de cobro: card (tarjeta, pago de contado), bank_transfer (transferencia bancaria), stablecoins (dólares digitales), balance (Balance Recurrente). Las cuotas se exponen por separado en available_installments; card indica pago de contado, así que un checkout puede ofrecer cuotas (available_installments no vacío) sin incluir card.

available_installmentsinteger[]

Opciones de cuotas (en meses) disponibles en este checkout, independientes de payment_method_types. Vacío si no se ofrecen cuotas.

live_modeboolean

Si el checkout está en modo producción (true) o prueba (false)

success_urlstring

URL de redirección en caso de pago exitoso

cancel_urlstring

URL de redirección en caso de cancelación

expires_atstring date-time

Fecha de expiración del checkout

created_atstring date-time

Fecha de creación

Changes

No recorded changes to this endpoint across all 1 revision of this API.