Assinado com HMAC-SHA256 · event_id determinístico · Backoff de 6 estágios

Eventos Unificados de Webhook de Pagamentos Cripto e Arquitetura de Entrega.

Automatize a entrega de pedidos, upgrades de assentos SaaS, recargas de saldo de jogadores e emissão de licenças de software ES256 com notificações assinadas e idempotentes HMAC-SHA256 webhooks em todas as 12 blockchains suportadas.

Selecionar tipo de evento (9 eventos canônicos)

Cabeçalhos HTTP e Payload JSON do Evento


        

Verificação HMAC-SHA256 em Tempo Constante (6 Linguagens)


    
Confiabilidade

Cronograma de Retentativas Exponenciais em 6 Estágios

Respostas diferentes de 2xx acionam retentativas automáticas em 30s → 2m → 10m → 1h → 6h → 24h, além de reenvio manual em 1 clique nos Logs de Webhook do Lojista.

Integridade Contábil

Idempotência por event_id Único

Armazene event_id como chave UNIQUE no banco de dados antes de creditar saldos ou entregar produtos digitais para que retentativas nunca dupliquem o atendimento.

Segurança de Saída

TLS Fixado e Protegido contra SSRF

A XPayr impõe HTTPS estrito, resolução de IP público fixada por DNS, CURLOPT_FOLLOWLOCATION=falsee cabeçalhos de timestamp com janela anti-replay de 5 minutos.

Perguntas Frequentes sobre Webhooks e Callbacks

Como verifico se um webhook realmente se originou da XPayr?

Calcule o HMAC-SHA256 sobre o corpo bruto exato e não analisado da requisição HTTP usando seu segredo de endpoint whsec_ e compare o digest hexadecimal com X-XPayr-Signature usando uma função de tempo constante como crypto.timingSafeEqual (Node.js), hmac.compare_digest (Python) ou hash_equals (PHP).

Qual é a diferença entre payment.completed e payment.underpaid_accepted?

payment.completed é disparado quando a transferência on-chain iguala ou excede o valor exato da fatura. payment.underpaid_accepted é disparado quando um saque via QR direto de corretora chega dentro do limite de tolerância de 1% (máx. $0.50) da XPayr, expondo tanto requested_amount quanto received_amount para manter seu razão contábil preciso até o centavo.

Como a XPayr lida com indisponibilidade do endpoint ou respostas 5xx?

Qualquer resposta fora de HTTP 200–299 (ou mais lenta que 10 segundos) entra na fila de retentativas com backoff exponencial da XPayr (30s, 2m, 10m, 1h, 6h, 24h) preservando exatamente o mesmo event_id para que sua tabela de idempotência evite créditos duplicados.

Quais regras de segurança de URL se aplicam aos endpoints de webhook do lojista?

Os destinos de webhook em produção devem usar HTTPS sobre DNS/IPs públicos roteáveis com certificados TLS válidos. A XPayr bloqueia HTTP em texto simples, faixas privadas/loopback RFC1918, IPs de metadados em nuvem e redirecionamentos HTTP para evitar SSRF.