Bỏ qua điều hướng
Thuật ngữ

Standard Webhooks

Đặc tả mở về cách gửi và ký webhook, dùng ba header webhook-id, webhook-timestamp và webhook-signature.

Standard Webhooks là đặc tả mở mô tả cách gửi và ký webhook để mọi bên nhận dùng chung một cách kiểm tra. Mỗi yêu cầu mang ba header: webhook-id, webhook-timestamp và webhook-signature.

Ba header

  • webhook-id: mã duy nhất của sự kiện. Gửi lại cùng sự kiện giữ nguyên mã này.
  • webhook-timestamp: thời điểm gửi theo giây Unix.
  • webhook-signature: chữ ký HMAC-SHA256 trên chuỗi gồm mã, thời điểm và thân yêu cầu, mã hoá base64, có tiền tố phiên bản v1,.

Cách kiểm chữ ký

  1. Lấy thân yêu cầu gốc, chưa phân tích JSON.
  2. Ghép webhook-id, webhook-timestamp và thân yêu cầu theo đúng thứ tự của đặc tả.
  3. Tính HMAC-SHA256 với khoá ký, rồi đối chiếu với chữ ký trong header bằng hàm chạy trong thời gian cố định.
  4. Từ chối yêu cầu có thời điểm lệch quá xa thời gian hiện tại.

Phần lớn ngôn ngữ đã có thư viện Standard Webhooks làm sẵn các bước này.

Vì sao dùng chuẩn chung

Bên nhận không phải viết bộ kiểm chữ ký riêng cho từng nhà cung cấp, và dùng lại thư viện đã được kiểm tra. Cách xử lý mã sự kiện và thời điểm cũng thống nhất.

Trong Dòng Tiền Pro

Mọi webhook của Dòng Tiền Pro theo Standard Webhooks, có nhật ký giao hàng và gửi lại. SDK chính thức cho TypeScript (@dongtien/sdk) và Python (dongtien) dùng cùng cách kiểm này.

Câu hỏi thường gặp

Khoá ký có thể đổi không?

Có. Khi đổi khoá, cập nhật khoá mới ở máy chủ của bạn trước khi bỏ khoá cũ để không lỡ sự kiện.

Có cần dùng HTTPS không?

Có. Chữ ký chống giả mạo, còn HTTPS bảo vệ nội dung trên đường truyền.

Nhận giao dịch đầu tiên ngay hôm nay

Nhập MST, thêm tài khoản ngân hàng, chọn kênh nhận. 1.000 giao dịch đầu mỗi tháng miễn phí, tiền luôn về thẳng tài khoản của bạn.

  • Không cần thẻ khi đăng ký
  • Không cần mật khẩu Internet Banking
  • Tài khoản đầu tiên trong khoảng 10 phút
  • Nâng cấp bất cứ lúc nào