Links de pagamento
Criar link de pagamento
Cria uma página de pagamento (payment link) configurável, com produtos, formas de pagamento aceitas, cupons e aparência personalizada. O link é reutilizável e não fica vinculado a um cliente específico.
É obrigatório informar priceId (preço já cadastrado) ou product (produto com preços inline).
Formas de pagamento suportadas: pix, creditcard, boleto e pix_automatico.
Pix Automático está disponível apenas para contas PJ (conta ValidaPay cadastrada com CNPJ) e só é aceito em preços recorrentes (recurrenceType WEEKLY, MONTHLY, QUARTERLY, SEMIANNUAL ou YEARLY). O cliente autoriza a recorrência uma única vez no aplicativo do banco e as cobranças seguintes são debitadas automaticamente, sem novo QR Code a cada ciclo. Até o banco do pagador confirmar a autorização, a assinatura fica com status PENDING.
O valor mínimo por cobrança é de R$ 4,99.
Erros: 400 PIX_AUTOMATICO_PJ_ONLY (conta PF) e 400 PIX_AUTOMATICO_MIN_AMOUNT (valor abaixo do mínimo).
Ao informar termsOfServiceUrl e/ou privacyPolicyUrl, o checkout exibe um aceite obrigatório com os links: o cliente só consegue finalizar a compra depois de marcar que leu e concorda. O texto do aceite se adapta a um ou aos dois links. Sem esses campos, nenhum aceite é exibido.
Case de uso:
Como SaaS, quero criar um link de pagamento reutilizável para uma oferta — definindo cores, parcelamento e order bumps — e compartilhá-lo com vários clientes.
/v1/checkoutshttps://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
{
"priceId": "price_xxx",
"product": {
"name": "Plano Premium",
"description": "Acesso completo a plataforma",
"type": "RECURRING",
"prices": [
{
"title": "Mensal",
"amount": 99.9,
"recurrenceType": "MONTHLY"
}
]
},
"allowedPaymentMethods": [
"pix",
"creditcard",
"boleto",
"pix_automatico"
],
"successUrl": "https://meusite.com/obrigado",
"cancelUrl": "https://meusite.com/cancelado",
"redirectAfterPaymentUrl": "https://meusite.com/redirect",
"termsOfServiceUrl": "https://meusite.com/termos-de-servico",
"privacyPolicyUrl": "https://meusite.com/politica-de-privacidade",
"successMessage": "Obrigado pela compra!",
"maxInstallments": 12,
"freeInstallments": 1,
"passFeesToCustomer": false,
"checkoutName": "Oferta Black Friday",
"primaryColor": "#7C3AED",
"secondaryColor": "#EDE9FE",
"fontColor": "#1F2937",
"showProductImage": true,
"metadata": {},
"companyName": "Minha Empresa",
"description": "Assinatura mensal com acesso completo",
"showProductImage": true,
"orderBumps": [
{
"priceId": "price_yyy",
"productId": "prod_bump123",
"title": "Leve tambem o suporte premium",
"description": "Atendimento prioritario por mais R$ 49",
"callToAction": "Adicionar ao pedido",
"showImage": true
}
],
"orderBumpLabel": "Oferta especial",
"orderBumpDisplayMode": "checkbox"
}Schema
priceIdstringobrigatórioallowedPaymentMethodsarray[4]obrigatóriopixcreditcardboletopix_automaticoproductobjectopcionalsuccessUrlstringopcionaluricancelUrlstringopcionaluriredirectAfterPaymentUrlstringopcionaluritermsOfServiceUrlstringopcionaluriprivacyPolicyUrlstringopcionalurisuccessMessagestringopcionalmaxInstallmentsnumberopcional1 a 12freeInstallmentsnumberopcional0 a 12passFeesToCustomerbooleanopcionalcheckoutNamestringopcionalprimaryColorstringopcionalsecondaryColorstringopcionalfontColorstringopcionalshowProductImagebooleanopcionalmetadataobjectopcionalcompanyNamestringopcionaldescriptionstringopcionalorderBumpsarray[1]opcionalorderBumpLabelstringopcionalorderBumpDisplayModestringopcionalHeaders
Content-Typeopcionalconst url = 'https://sandbox.validapay.com.br/v1/checkouts';
const options = {
method: 'POST',
headers: {
'Authorization': 'Bearer {{token}}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"priceId": "price_xxx",
"product": {
"name": "Plano Premium",
"description": "Acesso completo a plataforma",
"type": "RECURRING",
"prices": [
{
"title": "Mensal",
"amount": 99.9,
"recurrenceType": "MONTHLY"
}
]
},
"allowedPaymentMethods": [
"pix",
"creditcard",
"boleto",
"pix_automatico"
],
"successUrl": "https://meusite.com/obrigado",
"cancelUrl": "https://meusite.com/cancelado",
"redirectAfterPaymentUrl": "https://meusite.com/redirect",
"termsOfServiceUrl": "https://meusite.com/termos-de-servico",
"privacyPolicyUrl": "https://meusite.com/politica-de-privacidade",
"successMessage": "Obrigado pela compra!",
"maxInstallments": 12,
"freeInstallments": 1,
"passFeesToCustomer": false,
"checkoutName": "Oferta Black Friday",
"primaryColor": "#7C3AED",
"secondaryColor": "#EDE9FE",
"fontColor": "#1F2937",
"showProductImage": true,
"metadata": {},
"companyName": "Minha Empresa",
"description": "Assinatura mensal com acesso completo",
"showProductImage": true,
"orderBumps": [
{
"priceId": "price_yyy",
"productId": "prod_bump123",
"title": "Leve tambem o suporte premium",
"description": "Atendimento prioritario por mais R$ 49",
"callToAction": "Adicionar ao pedido",
"showImage": true
}
],
"orderBumpLabel": "Oferta especial",
"orderBumpDisplayMode": "checkbox"
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Response Examples
200200▾
{
"id": "pl_xxx",
"url": "https://app.validapay.com.br/pagamento/pl_xxx",
"priceId": "price_xxx"
}