Skip to main content
POST
Cancelar venda rápida
POST /checkout/charges/{id}/cancel Faz parte do recurso Vendas rápidas — a relação com Link e Session está lá. Leva a cobrança para canceled, que é estado terminal: a URL para de aceitar pagamento e não há como reabri-la. A resposta é 200 com a Session já no estado novo.
Só cancela o que ainda não foi pago. Os estados aceitos são created, opened, filling e failed. Uma cobrança paid ou paying responde 409 com key: "errors.checkout.session_not_cancellable", e o estado atual vem em params.status.Para desfazer uma cobrança já paga, o caminho é outro: o estorno, sobre a transação.
Este é o único endpoint de cancelamento do Checkout, e ele não se limita às vendas rápidas. Apesar do endereço, ele aceita qualquer Session da sua conta em estado cancelável — inclusive as materializadas a partir de um Link.
Cancelar é opcional. Session não cancelada expira sozinha ao atingir expiresAt (24h por padrão) e vai para expired. Cancelar serve para encerrar antes disso.
O conflito de domínio não vai em code. A resposta traz code: "CONFLICT" — o que distingue o caso é a key, com o prefixo inteiro. Comparar error.code === "session_not_cancellable" nunca casa. Veja Erros de domínio.
Endpoint idempotente. Veja Convenções.

Exemplo

Resposta 200

Authorizations

x-api-key
string
header
required

API key unificada (z2_{live|test}{sk|pk}...) — secret (sk) para integração backend, publishable (pk) para uso no frontend público

Path Parameters

id
string
required

ID da Session (cs_*)

Response

Venda rápida cancelada

id
string

Identificador único do registro.

Identificador do link de checkout que originou o registro; nulo em sessões ad-hoc.

status
string

Estado atual do registro.

mode
string

Modo do checkout: 'payment' (pagamento único) ou 'subscription' (assinatura).

currency
string

Moeda no padrão ISO 4217 (ex.: BRL).

locale
string

Idioma do checkout (ex.: pt-BR, en-US, es-ES).

config
object

Snapshot da configuração do checkout (formas de pagamento, itens e personalização visual).

customer
object | null

Dados do comprador (nome, e-mail, documento e demais informações).

customFieldValues
object | null

Valores preenchidos nos campos personalizados, indexados pela key de cada campo.

paymentMethodSelected
string | null

Forma de pagamento selecionada pelo comprador na sessão (ex.: credit_card, pix, boleto).

subtotal
integer

Soma dos itens antes dos descontos, em centavos.

discountTotal
integer

Total de descontos aplicados, em centavos.

amount
integer

Valor total a ser cobrado, em centavos.

discounts
object[] | null

Descontos aplicados ao valor da sessão.

paymentAttempts
integer

Quantidade de tentativas de pagamento realizadas na sessão.

transactionId
string | null

Identificador da transação gerada pelo pagamento da sessão; nulo até haver pagamento.

subscriptionId
string | null

Identificador da assinatura criada a partir da sessão; nulo até a ativação.

metadata
object | null

Metadados livres (pares chave-valor) para uso do integrador; não afeta o processamento.

createdAt
string<date-time>

Data e hora de criação do registro (ISO 8601).

updatedAt
string<date-time>

Data e hora da última atualização do registro (ISO 8601).

openedAt
string<date-time> | null

Data e hora em que a sessão foi aberta pelo comprador (ISO 8601); nula se ainda não aberta.

paidAt
string<date-time> | null

Data e hora em que o pagamento foi confirmado (ISO 8601); nula se não pago.

canceledAt
string<date-time> | null

Data e hora do cancelamento (ISO 8601); nula se não cancelado.

expiresAt
string<date-time>

Data e hora de expiração (ISO 8601).

url
string

URL pública do checkout para o comprador finalizar o pagamento.