Checkout Transparente
Gerar cobrança Boleto
Gera uma cobrança via boleto pelo checkout transparente. O cliente informa os dados na sua própria interface e você os envia para a API.
Para boleto, o endereço completo do comprador é obrigatório. Você pode personalizar vencimento, multa, juros e desconto por meio de boletoInstructions.
Produto ou valor: envie items com os produtos OU amount para uma cobrança avulsa.
Notificações por e-mail: use notifications para escolher quais e-mails saem nesta cobrança. Eventos aceitos aqui: oneoff.boleto.generated (envia o boleto ao comprador assim que a cobrança é criada), oneoff.payment.success (confirmação ao comprador quando o boleto compensa) e new.sale (avisa você, vendedor, da venda paga). Os eventos destinados ao comprador exigem customer.email. Sem o campo, uma cobrança avulsa (enviada com amount) não dispara e-mail nenhum; com items de um produto, vale a configuração de notificações do produto, e notifications no payload tem precedência sobre ela.
⚠️ Atenção: envie o campo
externalIdcomo chave de idempotência (idempotencyKey). Se duas cobranças forem enviadas com o mesmoexternalId, a segunda é recusada com409 DUPLICATE_CHARGE, retornando ochargeIdda cobrança original.
Erros comuns: 409 DUPLICATE_CHARGE (externalId já utilizado), 404 PRICE_NOT_FOUND (preço inexistente) e 400 INVALID_DATA (campo inválido — inclui endereço ausente).
Use externalTxid para identificar a loja, o caixa ou o vendedor responsável pela cobrança.
Correlação com o pedido: use externalId — ele é persistido e devolvido. O campo metadata é aceito nesta rota mas não é gravado na cobrança nem volta no webhook; ele só é persistido em POST /v1/charges/pix.
/v1/chargeshttps://api.validapay.com.brhttps://sandbox.validapay.com.brAuthorizations
Authorization
string obrigatório
Cabeçalho de autenticação Bearer no formato Bearer {{token}} onde {{token}} é o seu token OAuth2.
Escopos requeridos
Body
application/json
{
"paymentMethod": "boleto",
"externalId": "pedido-2026-0001",
"externalTxid": "loja-01-caixa-03",
"customer": {
"name": "João da Silva",
"email": "joao@email.com",
"documentNumber": "12345678901",
"metadata": { "origem": "site" },
"phone": "+5511999998888",
"cep": "01310100",
"address": {
"type": "BILLING",
"street": "Av. Paulista",
"number": "1000",
"complement": "Apto 52",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP",
"zipCode": "01310100",
"country": "BR",
"cityCode": "3550308"
}
},
"amount": 10.00,
"items": [
{
"priceId": "price_abc123",
"quantity": 1,
"isOrderBump": false
}
],
"dueDate": "2026-07-30",
"boletoDueDays": 7,
"expirationAfterDueDate": 30,
"boletoInstructions": {
"fine": 2.0,
"interest": 1.0,
"discount": {
"amount": 10.0,
"modality": "fixed",
"limitDate": "2026-07-28",
"daysBeforeDue": 3
}
},
"couponCode": "PROMO10",
"metadata": { "referencia": "pedido-001" },
"description": "Assinatura Premium",
"split": [
{ "type": "fixed", "accountNumber": "896532569", "amount": 0.10 }
],
"installments": 1,
"freeInstallments": 1,
"passFeesToCustomer": false,
"allowedPaymentMethods": ["pix", "creditcard"],
"nfConfigId": "nfc_1788364755079_psuecwgdc",
"notifications": ["oneoff.pix.generated", "oneoff.payment.success", "new.sale"],
"discounts": [
{
"type": "percentage",
"value": 10,
"paymentMethod": "pix",
"amount": 10.0,
"couponCode": "PROMO10",
"fromCycle": 1,
"toCycle": 3,
"durationMonths": 3
}
],
"tokenId": "tok_abc123",
"cartId": "cart_2026_0001",
"productId": "prod_123456_example",
"billingDay": 10
}Schema
paymentMethodstringobrigatóriopixcreditcardboletopix_automaticocustomerobjectobrigatórioexternalIdstringopcionalaté 100 caracteresexternalTxidstringopcionalaté 100 caracteresamountnumberopcional0.01itemsarray[1]opcionaldueDatestringopcional^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$boletoDueDaysnumberopcional1expirationAfterDueDatenumberopcional0 a 60boletoInstructionsobjectopcionalcouponCodestringopcionalmetadataobjectopcionaldescriptionstringopcionalsplitarray[1]opcionalinstallmentsnumberopcional1 a 12freeInstallmentsnumberopcional0 a 12passFeesToCustomerbooleanopcionalallowedPaymentMethodsarray[2]opcionalpixcreditcardboletopix_automaticonfConfigIdstringopcionalnotificationsarray[3]opcionaloneoff.pix.generatedoneoff.boleto.generatedoneoff.payment.successoneoff.payment.failednew.saleseller.charge.pendingdiscountsarray[1]opcionaltokenIdstringopcionalcartIdstringopcionalproductIdstringopcional^prod_billingDaynumberopcional1 a 31Headers
Content-Typeopcionalconst url = 'https://sandbox.validapay.com.br/v1/charges';
const options = {
method: 'POST',
headers: {
'Authorization': 'Bearer {{token}}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"paymentMethod": "boleto",
"externalId": "pedido-2026-0001",
"externalTxid": "loja-01-caixa-03",
"customer": {
"name": "João da Silva",
"email": "joao@email.com",
"documentNumber": "12345678901",
"metadata": { "origem": "site" },
"phone": "+5511999998888",
"cep": "01310100",
"address": {
"type": "BILLING",
"street": "Av. Paulista",
"number": "1000",
"complement": "Apto 52",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP",
"zipCode": "01310100",
"country": "BR",
"cityCode": "3550308"
}
},
"amount": 10.00,
"items": [
{
"priceId": "price_abc123",
"quantity": 1,
"isOrderBump": false
}
],
"dueDate": "2026-07-30",
"boletoDueDays": 7,
"expirationAfterDueDate": 30,
"boletoInstructions": {
"fine": 2.0,
"interest": 1.0,
"discount": {
"amount": 10.0,
"modality": "fixed",
"limitDate": "2026-07-28",
"daysBeforeDue": 3
}
},
"couponCode": "PROMO10",
"metadata": { "referencia": "pedido-001" },
"description": "Assinatura Premium",
"split": [
{ "type": "fixed", "accountNumber": "896532569", "amount": 0.10 }
],
"installments": 1,
"freeInstallments": 1,
"passFeesToCustomer": false,
"allowedPaymentMethods": ["pix", "creditcard"],
"nfConfigId": "nfc_1788364755079_psuecwgdc",
"notifications": ["oneoff.pix.generated", "oneoff.payment.success", "new.sale"],
"discounts": [
{
"type": "percentage",
"value": 10,
"paymentMethod": "pix",
"amount": 10.0,
"couponCode": "PROMO10",
"fromCycle": 1,
"toCycle": 3,
"durationMonths": 3
}
],
"tokenId": "tok_abc123",
"cartId": "cart_2026_0001",
"productId": "prod_123456_example",
"billingDay": 10
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Response Examples
200200▾
{
"success": true,
"customerId": "cus_xxx",
"chargeId": "cha_abc123",
"boleto": {
"digitableLine": "23793.38128 60007.827136 95000.063305 9 84410000010000",
"barCode": "23799844100000100003381260007827139500006330",
"dueDate": "2026-07-30",
"pdfUrl": "https://app.validapay.com.br/boletos/cha_abc123.pdf"
}
}404404 PRICE_NOT_FOUND▾
{
"error": {
"message": "Preço não encontrado",
"code": "PRICE_NOT_FOUND"
}
}409409 DUPLICATE_CHARGE▾
{
"error": {
"message": "Cobrança duplicada: já existe uma cobrança para este pedido",
"code": "DUPLICATE_CHARGE",
"details": {
"chargeId": "cha_1784065113577_5dw2oyfic"
},
"timestamp": "2026-07-14T21:39:36.322Z"
}
}