Confianza en webhooks
Verifique el evento antes de actualizar el pedido.
XPayr firma las cargas de webhook con su secreto. Guarde el cuerpo sin procesar, verifique X-XPayr-Signature y procese el evento de forma idempotente.
Cabeceras a leer
X-XPayr-Signature: Firma HMAC SHA-256 con el prefijosha256=.X-XPayr-Event: tipo de evento comopayment.completed.X-XPayr-Delivery: identificador de entrega/evento cuando este disponible.
Fragmentos de Verificación Multilenguaje
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 gestionar
Como minimo, gestione payment.completed, payment.failed, payment.expired, test.webhook. Use el ID de sesion y su propio ID de pedido en los metadatos para conciliar.
SDKs Oficiales en NPM (v0.2.0) y Servidor MCP Remoto
Integra Más Rápido con los Paquetes Oficiales de XPayr y MCP sin Instalación
Instala @xpayr/node-sdk (v0.2.0), @xpayr/payment-evidence (v0.2.0), @xpayr/extension-kit (v0.2.0)o @xpayr/mcp-server (v1.0.0) desde NPM, o ejecuta llamadas a herramientas JSON-RPC 2.0 en vivo mediante POST https://xpayr.com/api/mcp.