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 prefijo sha256=.
  • X-XPayr-Event: tipo de evento como payment.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.

Playground MCP en Vivo (/tools/mcp-playground) Verificador de Licencias ES256 Simulador de políticas para agentes IA Probador de Webhooks HMAC-SHA256 mcp.xpayr.com docs.xpayr.com api-docs.xpayr.com