إنتقل إلى المحتوى الرئيسي

أدوات المطور

تحقق من توقيعات Webhook وحاكِ التسليمات الموقّعة.

التحقق من توقيع Webhook

الصق السر والجسم الخام وقيمة X-Lynq-Signature.

محاكي أحداث Webhook

أنشئ مغلفاً موقّعاً وأمر curl لاختبار المستمع.

أمثلة التحقق

import crypto from 'node:crypto';

export function verifyLynqWebhook(secret, rawBody, signatureHeader) {
  const parts = Object.fromEntries(
    signatureHeader.split(',').map((p) => p.trim().split('=')),
  );
  const signingString = `${parts.t}.${rawBody}`;
  const expected = crypto
    .createHmac('sha256', secret)
    .update(signingString, 'utf8')
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(expected, 'hex'),
    Buffer.from(parts.v1, 'hex'),
  );
}