Download OpenAPI specification:
Public API for Vitorio payments.
Uma Charge representa uma cobrança (de 1 a N parcelas) emitida pela sua empresa ou por um dos seus clientes. Toda cobrança via API começa por aqui.
POST /v1/charges --> Charge criada (status: PENDING)
|
Registro junto ao BaaS
|
v
Charge ACTIVE + N Payments PENDING
|
Pagador efetua os pagamentos
|
v
Todos os Payments COMPLETED
|
v
Charge COMPLETED
| Issuer | Payer | Quando usar |
|---|---|---|
| TENANT | CUSTOMER | Sua empresa cobra um cliente cadastrado (payer_customer_id). |
| CUSTOMER | ANONYMOUS | Seu cliente cobra um pagador externo, informado inline (anonymous_payer). |
Para emissão pelo TENANT, omita o bloco issuer_customer_id. Para emissão por
um CUSTOMER, informe issuer_customer_id com o UUID do cliente emissor.
A API suporta PIX e BOLETO. Configure via pix_config ou boleto_config
(mutuamente exclusivos), conforme o payment_method informado.
| Operação | Endpoint |
|---|---|
| Criar uma Charge com N parcelas | POST /v1/charges |
| Listar Charges do tenant (paginado) | GET /v1/charges |
| Detalhar uma Charge com suas parcelas | GET /v1/charges/{charge_id} |
| Cancelar uma Charge e todas as parcelas pendentes | DELETE /v1/charges/{charge_id} |
Para cancelar uma única parcela sem afetar as demais, use
DELETE /v1/payments/{payment_id} (veja Payment).
Pre-requisitos: Customer cadastrado e conta ativa para o emissor (tenant ou customer-issuer, conforme o caso).
Lista as cobranças do tenant autenticado
| page | integer <int32> Número da página (padrão: 1) |
| pageSize | integer <int32> Tamanho da página (padrão: 10, máx: 50) |
| status | string Filtra por status da cobrança |
{- "data": {
- "charges": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "externalId": "ORD-12345",
- "status": "ACTIVE",
- "totalCents": 300000,
- "installments": 3,
- "customerId": "660e8400-e29b-41d4-a716-446655440001",
- "createdAt": "2025-01-01T10:00:00Z",
- "updatedAt": "2025-01-01T10:00:00Z",
- "paymentMethod": "PIX"
}
], - "pagination": {
- "page": 1,
- "pageSize": 10,
- "totalCount": 25,
- "totalPages": 3
}
}
}Cria uma nova cobrança com parcelas
| issuerCustomerId | string UUID do cliente emissor — definido para cobranças emitidas pelo CUSTOMER; omita para cobranças emitidas pelo TENANT |
| subtotalCents required | string Subtotal da cobrança em centavos (deve ser > 0) |
| installments required | integer <int32> Número de parcelas (>= 1) |
| paymentMethod required | string Enum: "PIX" "BOLETO" Método de pagamento |
| dueDate required | string Data de vencimento da primeira parcela (YYYY-MM-DD) |
| externalId required | string Identificador da cobrança do cliente |
object Configuração de pagamento PIX (obrigatória quando payment_method é PIX) | |
object Configuração de pagamento do boleto (obrigatória quando payment_method é BOLETO) | |
| payerCustomerId | string UUID do cliente pagador — definido para pagadores CUSTOMER |
object Detalhes do pagador inline — definido para pagadores ANONYMOUS (apenas CUSTOMER -> ANONYMOUS) |
Seu cliente cobra um pagador externo via boleto. Informe issuerCustomerId e os dados do pagador em anonymousPayer (nome, CPF e endereço completos). Cobrança parcelada em 3x.
{- "issuerCustomerId": "550e8400-e29b-41d4-a716-446655440000",
- "subtotalCents": 180000,
- "installments": 3,
- "paymentMethod": "BOLETO",
- "dueDate": "2026-06-15",
- "externalId": "ORD-BOLETO-3X-001",
- "anonymousPayer": {
- "name": "João da Silva",
- "taxId": "52998224725",
- "address": {
- "street": "Rua das Flores",
- "number": "123",
- "complement": "Apto 42",
- "neighborhood": "Centro",
- "city": "São Paulo",
- "state": "SP",
- "postalCode": "01001000"
}
}, - "boletoConfig": {
- "fineBps": 200,
- "interestBps": 100,
- "deadlineDays": 30,
- "instructions": "Pagamento referente à venda parcelada em 3x"
}
}{- "data": {
- "charge": {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "externalId": "ORD-12345",
- "status": "ACTIVE",
- "totalCents": 300000,
- "installmentsCount": 3,
- "customerId": "660e8400-e29b-41d4-a716-446655440001",
- "createdAt": "2025-01-01T10:00:00Z",
- "updatedAt": "2025-01-01T10:00:00Z",
- "subtotalCents": 50000,
- "paymentMethod": "PIX"
}, - "payments": [
- {
- "id": "string",
- "installmentNumber": 0,
- "amountCents": "string",
- "dueDate": "string",
- "status": "string",
- "paymentMethod": "string",
- "pixQrCode": "string",
- "pixLocationUrl": "string",
- "boletoBarcode": "string",
- "boletoBankLine": "string",
- "boletoUrl": "string"
}
]
}
}Obtém os detalhes da cobrança com as parcelas
| chargeId required | string ID da cobrança (formato UUID) |
{- "data": {
- "charge": {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "externalId": "ORD-12345",
- "status": "ACTIVE",
- "totalCents": 300000,
- "installmentsCount": 3,
- "customerId": "660e8400-e29b-41d4-a716-446655440001",
- "createdAt": "2025-01-01T10:00:00Z",
- "updatedAt": "2025-01-01T10:00:00Z",
- "subtotalCents": 50000,
- "paymentMethod": "PIX"
}, - "installments": [
- {
- "id": "770e8400-e29b-41d4-a716-446655440002",
- "installmentNumber": 1,
- "dueDate": "2026-02-01",
- "amountCents": 100000,
- "status": "PENDING",
- "lateFeeCents": 2000,
- "lateInterestCents": 1500,
- "totalOwedCents": 103500,
- "boletoBarcode": "string",
- "boletoBankLine": "string",
- "boletoUrl": "string",
- "pixQrCode": "string"
}
]
}
}Cancela uma cobrança e todas as suas parcelas pendentes
| chargeId required | string ID da cobrança (formato UUID) |
{- "data": {
- "charge": {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "externalId": "ORD-12345",
- "status": "ACTIVE",
- "totalCents": 300000,
- "installmentsCount": 3,
- "customerId": "660e8400-e29b-41d4-a716-446655440001",
- "createdAt": "2025-01-01T10:00:00Z",
- "updatedAt": "2025-01-01T10:00:00Z",
- "subtotalCents": 50000,
- "paymentMethod": "PIX"
}
}
}O cadastro de clientes é o primeiro passo para utilizar a API da Vitorio. Um Customer representa uma pessoa jurídica (PJ) que será associada a contas e cobranças.
POST /v1/customers --> Customer criado (status: ACTIVE)
POST /v1/customers.customer_id retornado será usado na criação de cobranças (Charge).PATCH /v1/customers/{id}.Próximo passo: Com o cliente cadastrado, crie uma cobrança seguindo o fluxo de Charge.
Cria um novo cliente. Este endpoint deve ser utilizado apenas para cadastrar clientes diretos da sua empresa. Clientes dos seus clientes não devem ser registrados. Telefone é obrigatório caso voce pretenda abrir uma conta bancária para o cliente eventualmente.
| name required | string |
| taxId required | string CPF (11 dígitos) ou CNPJ (14 dígitos). |
| externalId | string |
| phone | string |
required | object (customers.v1.Address) |
Exemplo de criação de cliente pessoa jurídica (CNPJ) com endereço completo
{- "name": "Tech Solutions Ltda",
- "taxId": "12345678000190",
- "externalId": "CUST-PJ-001",
- "phone": "+5511933334444",
- "address": {
- "street": "Avenida Brigadeiro Faria Lima",
- "number": "3477",
- "complement": "11º andar",
- "neighborhood": "Itaim Bibi",
- "city": "São Paulo",
- "state": "SP",
- "postalCode": "04538-133"
}
}{ }Atualiza um cliente existente
| customerId required | string |
| name | string |
| externalId | string |
| phone | string |
object (customers.v1.Address) |
Exemplo de atualização parcial do nome e telefone de um cliente existente
{- "name": "Ana Paula Ferreira Santos",
- "phone": "+5511912345678"
}{ }