serviceTabs

Cerrar y cobrar una cuenta

Cierra la cuenta: deja de aceptar items y se cobra el total.

Con channel: payment_link (el valor por defecto) la respuesta trae un checkout_url que el cliente puede pagar con cualquier método que tengas habilitado. Con channel: saved_card se cobra de inmediato la tarjeta guardada; si el banco pide autenticación, la cuenta queda en closing y el checkout_url es donde el cliente la completa.

Pagar ese checkout marca la cuenta como paid, sin importar el canal.

Usa un Idempotency-Key único por cierre. Si la respuesta es 422, la llave queda reservada — el cobro pudo haber llegado al procesador antes del error — así que un reintento con la misma llave responde 409. Usa una llave nueva para volver a intentar.

post/service_tabs/{service_tab_id}/closure

Path parameters

service_tab_idstring required

ID de la cuenta abierta

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.

Request body

channel'payment_link' | 'saved_card'

Cómo se cobra la cuenta

payment_method_idstring

Método de pago guardado a cobrar con channel: saved_card. Por defecto, el de la cuenta abierta.

Response

Cuenta cerrada

idstring

ID de la cuenta abierta

status'open' | 'closing' | 'paid' | 'voided' | 'abandoned'

Estado de la cuenta. open acepta items; closing ya está cerrada y espera el pago; paid se cobró; voided se anuló sin cobrar; abandoned se dejó vencer.

display_namestring

Nombre con el que el comercio identifica la cuenta (mesa, cliente, cuarto)

phonestring nullable

Teléfono del cliente al momento de abrir la cuenta

customer_idstring

ID del cliente dueño de la cuenta

currencystring

Moneda de la cuenta

total_in_centsinteger

Total consumido hasta ahora, en centavos

payment_strategy'card_on_file' | 'preauthorization'

card_on_file cobra al cerrar la tarjeta guardada del cliente. preauthorization mantiene un hold del monto estimado y solo se puede activar desde el dashboard, porque requiere una autorización real del procesador.

opening_commitment'none' | 'manual_amount' | 'product' | 'products'

Qué se comprometió al abrir la cuenta. Se infiere de la solicitud: products si mandaste items, manual_amount si mandaste estimated_amount, none si no mandaste ninguno.

authorized_amount_in_centsinteger

Monto preautorizado con hold sobre la tarjeta, en centavos. 0 cuando no hay preautorización.

authorization_expires_atstring date-time nullable

Momento en que expira el hold de la preautorización

checkout_urlstring nullable

Checkout que cierra la cuenta; pagarlo la marca como paid. Solo aparece mientras la cuenta se está cobrando (closing o paid): si un cobro con tarjeta se declina, la cuenta se reabre y el checkout de ese intento no se publica, porque el cliente no podría pagarlo.

opened_atstring date-time

Momento en que se abrió la cuenta

closed_atstring date-time nullable

Momento en que se cerró la cuenta

created_atstring date-time

Changes

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