Skip to main content
POST
Criar Checkout

Descrição

Cria um checkout para pagamento de débitos veiculares. O checkout agrupa os débitos selecionados e gera um identificador único que será usado no processamento do pagamento.
Validade: O checkout é válido por 24 horas após a criação. Após este período, será necessário criar um novo checkout.

Fluxo de Uso

1

Consultar Débitos

Primeiro, consulte os débitos do veículo via POST /uvvi/v1/debts.
2

Selecionar Débitos

Permita que o cliente escolha quais débitos deseja pagar.
3

Criar Checkout

Crie o checkout com os débitos selecionados usando este endpoint.
4

Processar Pagamento

Use o checkoutId retornado para processar o pagamento.

Seleção de Débitos

Débitos Obrigatórios

Alguns débitos são obrigatórios e devem ser pagos em conjunto:
  • IPVA: Deve ser pago junto com o licenciamento
  • Licenciamento: Pode ter débitos dependentes
  • Multas: Algumas multas são pré-requisitos para o licenciamento
Atenção aos Dependentes: Consulte a documentação de débitos dependentes para entender as regras de dependência entre débitos.

Validação de Débitos

A API valida automaticamente:
  • Se todos os débitos obrigatórios estão incluídos
  • Se os débitos pertencem ao mesmo veículo
  • Se os débitos ainda estão válidos e não foram pagos
  • Se os valores correspondem aos débitos consultados

Campo externalId

Rastreabilidade: Use o campo externalId (UUID) para rastrear o checkout no seu sistema e correlacionar com webhooks futuros.

Dados do Cliente

Os dados do cliente são necessários para:
  • Emissão de nota fiscal
  • Envio de comprovantes por e-mail
  • Validação antifraude
  • Comunicação sobre o status do pagamento

Campos Obrigatórios

  • name: Nome completo do cliente
  • email: E-mail válido para envio de comprovantes
  • cpfCnpj: CPF ou CNPJ (apenas números)
O CPF/CNPJ informado deve corresponder ao proprietário do veículo ou pessoa autorizada a pagar os débitos.

Estrutura do Checkout

Débitos

Cada débito deve conter:
  • id: Identificador do débito retornado na consulta
  • amount: Valor do débito (para validação)

Cliente

Exemplo de Uso Completo

Resposta do Checkout

A resposta contém:
  • checkoutId: ID único do checkout para usar no pagamento
  • totalAmount: Valor total de todos os débitos selecionados
  • expiresAt: Data/hora de expiração do checkout (24 horas)

Expiração do Checkout

Checkout Expirado: Se tentar processar um pagamento com um checkout expirado, você receberá um erro 422. Neste caso, crie um novo checkout.

Renovar Checkout

Se o checkout expirar antes do pagamento:

Códigos de Resposta HTTP

200 - Sucesso

Checkout criado com sucesso. Use o checkoutId para processar o pagamento.

400 - Bad Request

Dados inválidos na requisição. Possíveis motivos:
  • Débitos inválidos ou não encontrados
  • Valores não correspondem aos débitos
  • Dados do cliente inválidos (CPF/CNPJ, e-mail)
  • Débitos obrigatórios faltando

422 - Unprocessable Entity

Dados válidos mas não podem ser processados:
  • Débitos já foram pagos
  • Débitos de veículos diferentes
  • Dependências de débitos não satisfeitas
  • Checkout duplicado (mesmo externalId)

Validação de Dependências

Antes de criar o checkout, valide as dependências:

Interface de Usuário

Boas Práticas

Exiba o valor total antes de criar o checkout:
Marque visualmente débitos que devem ser pagos juntos:
Valide no frontend antes de criar o checkout:
Informe ao cliente sobre a validade do checkout:

Próximos Passos

Após criar o checkout:

Tokenizar Cartão

Tokenize o cartão do cliente de forma segura

Simular Parcelas

Simule opções de parcelamento para o valor total

Processar Pagamento

Efetue o pagamento usando o checkoutId

Débitos Dependentes

Entenda as regras de dependência entre débitos

Suporte

Dúvidas sobre Checkout?

Entre em contato para esclarecer dúvidas sobre criação de checkout e validação de débitos.

Authorizations

x-api-key
string
header
required

API Key fornecida no painel administrativo da Uvvipague

Body

application/json
debts
object[]
required
customer
object
required
externalId
string
Example:

"550e8400-e29b-41d4-a716-446655440000"

Response

Checkout criado com sucesso

success
boolean
Example:

true

data
object