Confianca no webhook
Verifique o evento antes de atualizar o pedido.
A XPayr assina os payloads de webhook com o seu segredo. Guarde o corpo bruto, verifique X-XPayr-Signature e processe o evento de forma idempotente.
Cabecalhos a ler
X-XPayr-Signature: Assinatura HMAC SHA-256 com o prefixosha256=.X-XPayr-Event: tipo de evento comopayment.completed.X-XPayr-Delivery: identificador de entrega/evento quando disponivel.
Trechos de Verificação Multilíngues
import crypto from "node:crypto";
export function verifyXPayrWebhook(rawBody, signatureHeader, secret) {
const received = String(signatureHeader || "").replace(/^sha256=/, "");
const expected = crypto
.createHmac("sha256", secret)
.update(rawBody)
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(received, "hex"),
Buffer.from(expected, "hex")
);
}
Eventos a tratar
No minimo, trate payment.completed, payment.failed, payment.expired, test.webhook. Use o ID da sessao e o seu proprio ID de pedido nos metadados para reconciliar.
SDKs Oficiais no NPM (v0.2.0) e Servidor MCP Remoto
Integre Mais Rápido com Pacotes Oficiais da XPayr e MCP sem Instalação
Instale @xpayr/node-sdk (v0.2.0), @xpayr/payment-evidence (v0.2.0), @xpayr/extension-kit (v0.2.0)ou @xpayr/mcp-server (v1.0.0) pelo NPM, ou execute chamadas de ferramentas JSON-RPC 2.0 ao vivo via POST https://xpayr.com/api/mcp.