Skip to main content
WEBHOOK
rejected é a contestação indeferida — ou seja, você ganhou. Como em med.approved, o adjetivo descreve a decisão sobre a contestação, não sobre a sua loja.
É aqui que você libera o que med.opened mandou segurar: a entrega pode seguir. O valor retido voltou ao saldo disponível. data.charge continua paid, e refund vem null porque não houve estorno. Confira a assinatura antes de agir. Ver Verificar a assinatura.

Este desfecho é final

Não existe reabertura: a trava é de banco, uma contestação por venda, para sempre. Recebido este evento, a venda não volta a ser contestada — você pode encerrar o caso no seu lado sem deixar um estado pendente esperando por um evento que não vem.

Headers

X-Vext-Signature
string
required

Assinatura da entrega, no formato t=<timestamp>,v1=<hmac>, onde hmac é HMAC-SHA256("<timestamp>.<corpo bruto>", <segredo>).

Duas regras ao conferir:

  1. Calcule sobre o corpo bruto, antes de desserializar. Reserializar muda espaçamento e ordem, e o HMAC deixa de bater.
  2. Recuse timestamps com mais de 5 minutos. É isso que impede alguém que interceptou uma entrega de charge.paid de reenviá-la quantas vezes quiser, com assinatura perfeitamente válida.
Pattern: ^t=[0-9]+,v1=[0-9a-f]{64}$
X-Vext-Event
string
required

Tipo do evento, repetido fora do corpo. Redundante com o payload e útil mesmo assim: permite filtrar no seu log sem desserializar nada.

X-Vext-Delivery
string
required

Identificador da entrega. Cite-o ao abrir um chamado - é por ele que localizamos a tentativa, a resposta do seu servidor e o horário.

Body

application/json
id
string
required

Identificador do evento. Estável entre as retentativas da mesma entrega - use-o para deduplicar do seu lado.

Example:

"evt_01k1y6r7z2m4n6p8q0r2s4t6u8"

type
enum<string>
required
Available options:
charge.paid,
charge.failed,
charge.in_analysis,
charge.refunded,
charge.chargedback,
withdrawal.paid,
med.opened,
med.approved,
med.rejected
created_at
string<date-time>
required
data
object
required

Response

Recebido.