Configuration, signature HMAC et événements marchands.
Créez un endpoint dans Développeurs → Webhooks ou via POST /merchant/merchants/:id/webhook-endpoints.
Le secret whsec_… n'est affiché qu'une fois.
Chaque livraison inclut X-Izzi-Signature et X-Izzi-Timestamp.
Payload signé : {timestamp}.{rawBody} en HMAC-SHA256.
import { verifyWebhookSignature } from "@izzipay/sdk";
const result = verifyWebhookSignature({
secret: process.env.IZZI_WEBHOOK_SECRET!,
rawBody: requestBody,
signature: request.headers["x-izzi-signature"],
timestamp: request.headers["x-izzi-timestamp"],
});
if (!result.verified) {
throw new Error(result.reason ?? "invalid signature");
}Voir la référence API Webhooks pour les payloads exemples de chaque type.