Nhảy tới nội dung

Hướng Dẫn Verify Signature

Sử dụng Open API SDK​

Để xác thực Signature của sự kiện, bạn có thể gọi hàm generateSignature như code mẫu bên dưới:

Code demo fallback when rendering server side!

Sau đó so sánh signature được build ra với signature trong header:

Code demo fallback when rendering server side!

Không sử dụng Open API SDK​

Trong trường hợp server tích hơp Webhook không có sẵn SDK, bạn có thể tự build signature từ data theo hướng dẫn sau:

  • Lấy tất cả danh sách fields dữ liệu trong data bạn nhận được sắp theo thứ tự Alphabet (A - Z)
  • Build chuỗi content các giá trị theo thứ tự fields vừa sắp xếp được
  • Signature được tính theo hàm hash sha256(content + API Key). Vui lòng tham khảo code mẫu bên dưới.

Code mẫu:

function generateSignature(data, apiKey) {
const keys = Object.keys(data).sort();
let content = '';
for (let k of keys) {
let value = data[k];
if (typeof value == 'object') {
value = JSON.stringify(value);
}
content += value;
}
const signature = crypto
.createHash('sha256')
.update(`${content}${apiKey}`)
.digest('hex');
return signature;
}