Criar link de pagamento
Cria um link de pagamento completo com suporte a cartão de crédito, PIX, parcelamento, desconto e personalização visual.
Se accept_credit e accept_pix não forem enviados, ambos são tratados como true. O pix_discount é opcional e assume 0.
Headers
| Header | Valor | Obrigatório |
|---|---|---|
Content-Type |
application/json | Sim |
venture-signature |
1de97abb11146a6c5aa3f84f811da866c211720cadb58ccca41398c6ddf4bcd | Sim |
Corpo da requisição
{
"public_key": "vp_prod_ce2d9ce1f7c213eaade842738a4e4",
"custom_name": "Premium Course",
"description": "Access to premium online course",
"amount": 30,
"customer_email": "john@gmail.com",
"customer_name": "John Doe",
"webhook_url": "https://old-piano-01.webhook.cool",
"max_installments": 6,
"expiration_date": "2025-08-30T23:59:59Z",
"accept_credit": true,
"accept_pix": true,
"pix_discount": 5.0,
"fee_payer": "customer",
"send_email": true,
"logo_url": "https://venturepay.com.br/logo.png",
"redirect_url": "https://meusite.com/obrigado"
}
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
public_key |
string | Sim | Sua chave pública de API. |
custom_name |
string | Sim | Nome do produto ou serviço exibido no checkout. |
description |
string | Sim | Descrição detalhada do produto ou serviço. |
amount |
number | Sim | Valor em reais (ex.: 30 equivale a R$ 30,00). |
customer_email |
string | Sim | E-mail do cliente. |
customer_name |
string | Sim | Nome completo do cliente. |
webhook_url |
string | Não | URL que receberá as notificações de pagamento. |
max_installments |
number | Não | Máximo de parcelas permitidas (1 a 12). |
expiration_date |
string | Não | Data de expiração no formato ISO 8601. |
accept_credit |
boolean | Não | Aceitar cartão de crédito (padrão: true). |
accept_pix |
boolean | Não | Aceitar PIX (padrão: true). |
pix_discount |
number | Não | Desconto percentual para PIX (padrão: 0). |
fee_payer |
string | Não | Quem paga a taxa: customer ou merchant. |
send_email |
boolean | Não | Enviar e-mail com o link de pagamento ao cliente. |
logo_url |
string | Não | URL do logo exibido na página de pagamento. |
redirect_url |
string | Não | URL de redirecionamento após aprovação do pagamento. |
{
"success": true,
"data": {
"link_id": "2794cfd3-d3e7-41bf-97e2-997c557d276e",
"friendly_id": "RNJ149AZ",
"payment_url": "https://venturepay.com.br/pay/?id=RNJ149AZ",
"custom_name": "Premium Course",
"description": "Access to premium online course",
"amount": 30,
"max_installments": 6,
"expiration_date": "2025-08-30 20:59:59",
"accept_credit": true,
"accept_pix": false,
"pix_discount": 5,
"fee_payer": "customer",
"no_interest_installments": false,
"logo_url": "https://venturepay.com.br/uploads/products/...",
"webhook_url": "https://old-piano-01.webhook.cool",
"webhook_secret": "ce39c8a97c30aa9f889d2a483ad00653c4000aba7b45df2f55648608f5873ebc",
"status": "active",
"customer": {
"name": "John Doe",
"email": "john@gmail.com"
},
"email_sent": true,
"created_at": "2025-07-30 01:11:02",
"metadata": {
"api_version": "1.0",
"request_id": "req_68899b5692066",
"processing_time_ms": 280.46
}
},
"message": "Payment link created successfully"
}
| Campo | Tipo | Descrição |
|---|---|---|
link_id |
string | Identificador único do link de pagamento. |
friendly_id |
string | Identificador curto usado em URLs e referências. |
payment_url |
string | URL completa da página de pagamento. |
webhook_secret |
string | Chave usada para validar a assinatura dos webhooks (SHA256). |
status |
string | Status do link: active, expired ou paid. |
email_sent |
boolean | Indica se o e-mail foi enviado ao cliente. |
| Código | Significado |
|---|---|
200 | Link criado com sucesso. |
400 | Dados inválidos ou campos obrigatórios ausentes. |
401 | Não autenticado — assinatura inválida. |
403 | Sem permissão para a operação. |
405 | Método HTTP incorreto. |
413 | Payload muito grande. |
429 | Rate limit excedido. |
500 | Erro interno do servidor. |
Testando em sandbox
Use o endpoint de sandbox com as mesmas credenciais de produção. Nenhum valor real é movimentado.
Cartões de teste
| Resultado | Número | CVV | Validade |
|---|---|---|---|
| Aprovado | 4111 1111 1111 1111 |
123 |
Qualquer data futura |
| Recusado | 4000 0000 0000 0002 |
123 |
Qualquer data futura |
| Sem saldo | 4000 0000 0000 9995 |
123 |
Qualquer data futura |
Webhook de confirmação de pagamento
Quando o pagamento é confirmado, enviamos um POST para a webhook_url configurada, com a assinatura no header x-venturepay-signature.
| Header | Exemplo | Descrição |
|---|---|---|
x-venturepay-signature |
fee1afa1bd6cae83f0f7837566d90c20b7131eee6c0d552d1e26c2c3c470e07d | Assinatura HMAC SHA256 gerada com o webhook_secret. |
Content-Type |
application/json | Tipo de conteúdo do payload. |
{
"id": "wh_51GX5GJ3Z3DOODPTXNDLYGGV",
"event": "payment_link.payment_completed",
"api_version": "1.0",
"created_at": "2025-07-30T01:10:02-03:00",
"data": {
"object": "payment_link_payment",
"payment_link": {
"id": 104,
"friendly_id": "0Q3VPO1I",
"custom_name": "Premium Course",
"amount": 30,
"status": "paid",
"payment_url": "https://venturepay.com.br/pay/?id=0Q3VPO1I",
"created_at": "2025-07-30T01:08:01-03:00",
"expires_at": "2025-08-30T20:59:59-03:00",
"paid_at": "2025-07-30T01:10:02-03:00"
},
"payment": {
"id": "pay_51GX5GJ3Z3DOODPTXNDLYGGV",
"transaction_id": "cb822d24-c5d5-4449-8bca-9963d3ac310f",
"gateway_id": "or_gbEWZE9iLtr80Zax",
"status": "paid",
"amount": 31.91,
"net_amount": 30,
"fee_amount": 0,
"currency": "BRL",
"payment_method": "credit_card",
"paid_at": "2025-07-30T01:10:02-03:00",
"credit_card": {
"brand": "Visa",
"installments": 1,
"masked_number": "477587****1106",
"authorization_code": "0034EG",
"acquirer_tid": "4040072294",
"acquirer_nsu": "4040072294"
}
},
"customer": {
"name": "Vitor Hugo",
"email": "john@gmail.com",
"document": "11111111111"
},
"company": {
"id": "comp_88b3fd10-4c95-11f0-8ec2-4e191bcb11b5",
"name": "VENTUREPAY PAGAMENTOS",
"document": "53768953000161"
}
}
}