Skip to main content
Webhooks ajudam sua aplicação a acompanhar mudanças importantes sem precisar consultar a API o tempo todo. Quando um evento relevante acontece, a Veepag envia um POST para a URL configurada em company.setting.webhook. Assim, seu sistema pode reagir a atualizações de transações, assinaturas e cobranças com mais agilidade.

Eventos confirmados

O payload de transaction.created pode trazer subscription, product e client dentro de transaction, quando esses dados estiverem disponíveis no fluxo de criação. No envio atual confirmado, transaction.update envia os campos base da transação. O objeto charge não é enviado dentro de transaction hoje.
Campos opcionais podem não aparecer no JSON quando estiverem undefined. Nos exemplos abaixo, usamos null apenas para representar campos que podem estar salvos explicitamente como nulos.

Transaction webhook

transaction.created

transaction.update

Campos de transaction

Subscription webhook

O evento subscription.update usa a mesma estrutura, alterando apenas o type para subscription.update e refletindo os dados atualizados da assinatura. Nos eventos de assinatura, os objetos client e product são enviados dentro de subscription quando disponíveis. O objeto client traz os dados cadastrais do cliente, incluindo nome, e-mail, documento, telefones e endereço quando cadastrados. O nome comercial do plano fica em subscription.product.product.title. O preço do produto fica em subscription.product.product.price e segue o formato cadastrado no produto.

Campos de subscription

Charge webhook

O evento charge.created usa a mesma estrutura, alterando apenas o type para charge.created e refletindo os dados da cobrança criada. Nos eventos de cobrança, os objetos client e product são enviados dentro de charge quando disponíveis. O objeto client traz os dados cadastrais do cliente, incluindo nome, e-mail e documento quando cadastrados.

Campos de charge

Objetos relacionados

client

O objeto client é enviado dentro de transaction.created quando o cliente está disponível no fluxo de criação, dentro dos webhooks de assinatura quando disponível e dentro dos webhooks de cobrança quando disponível.

product

O objeto product é enviado dentro de transaction.created, dos webhooks de assinatura e dos webhooks de cobrança quando disponível.

Boas práticas

  • Responda rapidamente com status 2xx quando receber o evento.
  • Registre o type e o identificador do recurso recebido.
  • Trate eventos de forma idempotente sempre que possível.
  • Consulte a API quando precisar confirmar o estado final de um recurso.
O provider atual envia um POST JSON simples para a URL configurada. Não há assinatura HMAC, verificação de webhook ou política de retry implementada nesse envio; erros de entrega são logados.
Se você estiver configurando webhooks pela primeira vez, recomendamos começar pelo sandbox e registrar os payloads recebidos. Isso facilita validar o fluxo com calma antes da homologação.