Webhook-Vertrauen
Pruefen Sie das Ereignis, bevor Sie die Bestellung aktualisieren.
XPayr signiert Webhook-Payloads mit Ihrem Webhook-Secret. Speichern Sie den Raw-Body, pruefen Sie X-XPayr-Signature und verarbeiten Sie das Ereignis idempotent.
Zu lesende Header
X-XPayr-Signature: HMAC-SHA-256-Signatur mit dem Praefixsha256=.X-XPayr-Event: Ereignistyp wiepayment.completed.X-XPayr-Delivery: Zustell-/Ereignis-Kennung, sofern verfuegbar.
Mehrsprachige Verifizierungs-Snippets
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")
);
}
Zu behandelnde Ereignisse
Behandeln Sie mindestens payment.completed, payment.failed, payment.expired, test.webhook. Nutzen Sie zum Abgleich die Session-ID und Ihre eigene Bestell-ID aus den Metadaten.
Offizielle NPM-SDKs (v0.2.0) & Remote-MCP-Server
Schneller integrieren mit offiziellen XPayr-Paketen & installationsfreiem MCP
Installieren Sie @xpayr/node-sdk (v0.2.0), @xpayr/payment-evidence (v0.2.0), @xpayr/extension-kit (v0.2.0)oder @xpayr/mcp-server (v1.0.0) über NPM oder führen Sie Live JSON-RPC 2.0 Tool-Aufrufe aus über POST https://xpayr.com/api/mcp.