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 — uma Charge de 1 parcela substitui o conceito anterior de "pagamento avulso".
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
conta receptora é resolvida 1:1 a partir do 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 Account ativa para o emissor (tenant ou customer-issuer, conforme o caso).
Create a new charge with installments
| issuerCustomerId | string Issuer customer UUID — set for CUSTOMER-issued charges; omit for TENANT-issued charges |
| subtotalCents required | string Charge subtotal in cents (must be > 0) |
| installments required | integer <int32> Number of installments (>= 1) |
| paymentMethod required | string Enum: "PIX" "BOLETO" Payment method |
| dueDate required | string First installment due date (YYYY-MM-DD) |
| externalId required | string Client's charge identifier |
object PIX payment configuration (required when payment_method is PIX) | |
object Boleto payment configuration (required when payment_method is BOLETO) | |
| payerCustomerId | string Payer customer UUID — set for CUSTOMER payers |
object Inline payer details — set for ANONYMOUS payers (CUSTOMER -> ANONYMOUS only) |
{- "issuerCustomerId": "550e8400-e29b-41d4-a716-446655440000",
- "subtotalCents": 50000,
- "installments": 1,
- "paymentMethod": "PIX",
- "dueDate": "2026-03-01",
- "externalId": "ORD-12345",
- "pixConfig": {
- "expirationDaysAfterDueDate": 0,
- "includeDebtor": true,
- "fine": {
- "modality": "FIXED_VALUE",
- "amount": "string"
}, - "interest": {
- "modality": "FIXED_VALUE",
- "amount": "string"
}, - "discount": {
- "modality": "FIXED_VALUE",
- "amount": "string",
- "untilDate": "2026-03-01"
}
}, - "boletoConfig": {
- "fineBps": 0,
- "interestBps": 0,
- "deadlineDays": 0,
- "instructions": "string",
- "discount": {
- "modality": "FIXED_VALUE",
- "amount": "string",
- "limitDate": "2026-03-01"
}
}, - "payerCustomerId": "660e8400-e29b-41d4-a716-446655440001",
- "anonymousPayer": {
- "name": "João da Silva",
- "taxId": "12345678901",
- "address": {
- "street": "Rua das Flores",
- "number": "123",
- "complement": "Apto 42",
- "neighborhood": "Centro",
- "city": "São Paulo",
- "state": "SP",
- "postalCode": "01001000"
}
}
}{- "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"
}
]
}
}Get charge details with installments
| chargeId required | string Charge ID (UUID format) |
{- "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"
}
]
}
}Cancel a charge and all its pending installments
| chargeId required | string Charge ID (UUID format) |
{- "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 física (PF) ou 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 (Order).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 e endereço são obrigatórios caso voce pretenda abrir uma conta para o cliente.
| name required | string |
| taxId required | string CPF (11 dígitos) ou CNPJ (14 dígitos). |
| externalId | string |
| phone | string |
required | object (customers.v1.Address) |
{- "name": "John Doe",
- "taxId": "12345678901",
- "externalId": "CUST-001",
- "phone": "+5511999999999",
- "address": {
- "postalCode": "string",
- "street": "string",
- "number": "string",
- "complement": "string",
- "neighborhood": "string",
- "city": "string",
- "state": "string"
}
}{- "data": {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "John Doe",
- "taxId": "12345678901",
- "customerType": "PF",
- "externalId": "CUST-001",
- "phone": "+5511999999999",
- "address": {
- "postalCode": "string",
- "street": "string",
- "number": "string",
- "complement": "string",
- "neighborhood": "string",
- "city": "string",
- "state": "string"
}, - "createdAt": "2019-08-24T14:15:22Z"
}
}Atualiza um cliente existente
| customerId required | string |
| name | string |
| externalId | string |
| phone | string |
object (customers.v1.Address) |
{- "name": "John Doe Updated",
- "externalId": "string",
- "phone": "string",
- "address": {
- "postalCode": "string",
- "street": "string",
- "number": "string",
- "complement": "string",
- "neighborhood": "string",
- "city": "string",
- "state": "string"
}
}{- "data": {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "John Doe",
- "taxId": "12345678901",
- "customerType": "PF",
- "externalId": "CUST-001",
- "phone": "+5511999999999",
- "address": {
- "postalCode": "string",
- "street": "string",
- "number": "string",
- "complement": "string",
- "neighborhood": "string",
- "city": "string",
- "state": "string"
}, - "createdAt": "2019-08-24T14:15:22Z"
}
}