Cobrança avulsa no cartão da assinatura

Cobra uma única vez um valor no cartão salvo da assinatura, sem CVV, sem 3DS e sem interação do cliente (venda recorrente subsequente, como as mensalidades). Uso típico: o proporcional do restante do ciclo depois de um reajuste — o valor é o que a sua plataforma calcular. Independente da série recorrente: não muda o plano, o próximo vencimento nem o status da assinatura; combine com POST .../change-plan para a mensalidade futura.

Na hora: a cobrança é feita dentro desta chamada e a resposta traz a fatura avulsa (kind=ONE_OFF) no estado final:

statusSignifica
PAIDAprovada; paymentId em GET /v1/acquiring/payments/{paymentId}
OVERDUERecusada (lastFailureCode ABECS, lastFailureReason). Tentativa única: a Autra não repete; cobre de novo com outro externalRef se quiser. A assinatura não muda de status.
RETRYING sem nextAttemptAtO adquirente não respondeu: a venda pode ter passado. Fica em conciliação; ninguém cobra de novo sozinho. Acompanhe por GET .../invoices ou pelos webhooks.

Idempotência e timeout: externalRef é a sua chave, única por assinatura entre as cobranças avulsas. Depois de um timeout, repita a chamada com o mesmo externalRef e o mesmo valor: a resposta é a mesma fatura no estado em que estiver, sem nova cobrança (a venda também é idempotente pelo id da fatura). Mesmo externalRef com outro valor: 409 EXTERNAL_REF_IN_USE. Se a cobrança não chegou ao adquirente (503 CHARGE_NOT_SENT), nada foi debitado: repita com o mesmo externalRef.

Webhooks (domínio subscriptions): invoice.created, depois invoice.paid ou invoice.payment_failed, com invoice.kind=ONE_OFF, invoice.externalRef e invoice.description para correlacionar com o seu pedido.

Requisitos: assinatura ACTIVE ou PAST_DUE, com cartão salvo pela adesão. Pagamento por cartão de crédito à vista.

Erros — corpo {"errors":[{"code":"...","msg":"..."}]}; msg detalha o campo quando é validação:

codeHTTPQuando aconteceO que fazer
INVALID_INPUT400amount, description ou externalRef inválido; msg diz qual e a regra.Corrija o campo indicado.
INVALID_JSON400Corpo não é um objeto JSON válido.Corrija o JSON.
MISSING_DOCUMENT_ID400Estabelecimento não informado.Envie o header X-Merchant-Document (ou documentId).
TENANT_REQUIRED400A credencial não identifica o tenant.Gere o token com as credenciais do seu tenant (POST /v1/oauth/token).
FEATURE_DISABLED403O módulo de assinaturas não está habilitado para o tenant.Peça a habilitação à Autra.
MERCHANT_NOT_FOUND404O documento não é de um estabelecimento do seu tenant.Confira o CPF/CNPJ do estabelecimento.
SUBSCRIPTION_NOT_FOUND404Assinatura não existe neste estabelecimento.Confira o id.
EXTERNAL_REF_IN_USE409O externalRef já foi usado nesta assinatura com outro valor.Use outra chave para outra cobrança.
PAYLOAD_TOO_LARGE413Corpo acima de 64 KiB.Reduza o corpo da requisição.
SUBSCRIPTION_NOT_CHARGEABLE422Assinatura fora de ACTIVE/PAST_DUE ou sem cartão salvo válido.Conclua a adesão do cartão ou reative a assinatura.
INVALID_DOCUMENT422Documento do estabelecimento malformado.CPF com 11 ou CNPJ com 14 dígitos, só números.
INTERNAL_ERROR500Falha interna.Consulte GET .../invoices antes de repetir; repita com o mesmo externalRef.
CHARGE_NOT_SENT503A cobrança não chegou ao adquirente; nada foi debitado.Repita com o mesmo externalRef.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

ID da assinatura (UUID)

Query Params
string

CPF/CNPJ do estabelecimento, quando não usar o header nem o corpo

Body Params

Valor, descrição e sua chave de idempotência

number
required

Valor em reais, maior que zero, até 2 casas decimais (máximo 1.000.000,00). Calculado pela sua plataforma (ex.: proporcional do ciclo).

string
required
length ≤ 200

Descrição da cobrança, 1 a 200 caracteres; volta na fatura e no webhook.

string

Documento do estabelecimento (alternativa ao header X-Merchant-Document).

string
required
length ≤ 120

Sua chave de idempotência desta cobrança, única por assinatura (1 a 120 caracteres). Repetir com a mesma chave e o mesmo valor devolve a mesma fatura, sem cobrar de novo.

Headers
string

CPF/CNPJ do estabelecimento (só números). Preferido; alternativa: documentId no corpo ou na query

Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json