Chuyển đến nội dung chính
Nhận một sự kiện có chữ ký trên server của bạn khi một giao dịch thay đổi. Dùng webhook để xác nhận một khoản thanh toán mà server của bạn không thấy hoàn tất, ví dụ khi quyết toán lỗi hoặc một response bị mất. Webhook bao gồm mọi giao dịch của tài khoản Seller của bạn. Điều này gồm khoản thanh toán từ người mua InFlow và từ người mua khác.

Thêm endpoint

Thêm endpoint webhook của bạn trong dashboard InFlow của tài khoản Seller, trên trang Webhooks. Tài khoản sandbox và tài khoản production tách biệt nhau. Thêm một endpoint trong mỗi tài khoản.

Sự kiện

InFlow chỉ ghi nhận một số khoản thanh toán khi chúng quyết toán. Với các khoản thanh toán này, bạn chỉ nhận TRANSACTION_UPDATED.

Đọc trạng thái

data.status cho biết trạng thái của giao dịch.

Kiểm tra chữ ký

  1. Đọc header x-signature. Header này có dạng t=<timestamp>,v1=<digest>.
  2. Tính HMAC-SHA256 của <timestamp>.<raw body> bằng secret webhook của bạn.
  3. So sánh kết quả của bạn với v1. Dùng phép so sánh constant-time.
  4. Từ chối request nếu timestamp lệch quá 5 phút so với giờ của server.
Dùng body thô của request. Không phân tích JSON trước khi bạn kiểm tra chữ ký.

Gửi lại

Nếu endpoint của bạn không trả về trạng thái 2xx, InFlow gửi lại sự kiện. InFlow cũng gửi lại sau một lỗi mạng. InFlow gửi lại tối đa 11 lần. Lần gửi lại đầu tiên là sau 1 phút. Mỗi khoảng chờ dài gấp hai lần khoảng chờ trước đó. InFlow không đi theo chuyển hướng. Mỗi lần gửi lại có một timestamp chữ ký mới.

Trùng lặp và thứ tự

Mỗi lần gửi lại có cùng eventId. Chỉ xử lý mỗi eventId một lần. Các sự kiện có thể đến theo thứ tự khác với thứ tự của các thay đổi.

Bước tiếp theo

Phí và rút tiền

Đọc InFlow thu phí gì và cách bạn nhận tiền.
Lần sửa đổi cuối 13 tháng 11, 2026