Tạo webhook trong Test mode SePay

Tạo webhook trong Test mode (sandbox) SePay qua 3 bước Cơ bản, Tài khoản và Bảo mật. Cùng kiểu xác thực với Live, SSL tắt, chỉ chọn được tài khoản Test mode.

||

Webhook trong Test mode (chế độ thử nghiệm) dùng cùng luồng tạo, cùng kiểu xác thực và cùng cơ chế gửi như Live. Test mode rút gọn từ 4 còn 3 bước (ẩn bước Cảnh báo) và giới hạn tài khoản ngân hàng trong phạm vi Test mode.

Tạo webhook Test mode tại Dashboard

Tạo tại Test modeTích hợp WebhookThêm webhook. Khung tạo trượt từ phía phải, đi qua ba bước theo thứ tự:

  1. Cơ bản: tên, URL, loại giao dịch, định dạng dữ liệu, điều kiện gửi lại khi lỗi
  2. Tài khoản: chọn tài khoản nguồn, bộ lọc mã thanh toán
  3. Bảo mật: chọn phương thức xác thực và điền cấu hình tương ứng

Sau bước 3 bấm Thêm ở cuối khung để lưu.

Trang Webhook trong Test mode
Nhấn để phóng to
Trang Webhook trong Test mode với nút Thêm webhook

Bước 1: Cơ bản

TrườngBắt buộcMô tả
Tên webhookTối đa 300 ký tự. Dùng để phân biệt nhiều webhook trong danh sách. Ví dụ: Xác thực thanh toán.
URL nhận webhookTối đa 300 ký tự. SePay gửi POST dữ liệu giao dịch tới URL này. Test mode chấp nhận HTTP và HTTPS với chứng chỉ tự ký.
Loại giao dịchTiền vào (mặc định), Tiền ra, hoặc Tất cả.
Định dạng dữ liệuJSON (application/json, khuyến nghị), Form (hỗ trợ tệp đính kèm) (multipart/form-data), hoặc Form (URL-encoded) (application/x-www-form-urlencoded).
Tự động gửi lại khi server trả lỗiKhôngBật để SePay tự động retry khi endpoint trả HTTP ngoài 200-299. Tối đa 7 lần theo lịch trình Fibonacci.
Bước Cơ bản khi tạo webhook Test mode
Nhấn để phóng to
Bước Cơ bản: tên, URL, loại giao dịch, định dạng, retry

Bước 2: Tài khoản

Tài khoản ngân hàng

Lựa chọnMô tả
Tất cả tài khoản (mặc định)Webhook nhận mọi giao dịch từ tất cả tài khoản Test mode.
Tuỳ chọnMở khu vực chọn cây tài khoản (cột trái = chưa chọn, cột phải = đã chọn). Có thể tìm kiếm và mở rộng/thu gọn.

Dùng để xác thực thanh toán

Bật toggle này khi webhook dùng để xác nhận đơn hàng đã thanh toán. Khi bật, hiện thêm hai tuỳ chọn lọc:

Tuỳ chọnMô tả
Chỉ gửi khi có mã thanh toánWebhook chỉ gửi khi nội dung giao dịch chứa mã thanh toán (cấu hình mã tại Cấu hình chung → Cấu trúc mã thanh toán).
Lọc theo mã thanh toánMulti-select tiền tố: webhook chỉ gửi khi mã thanh toán bắt đầu bằng một trong các tiền tố đã chọn. Để trống để nhận tất cả.
Bước Tài khoản và Bộ lọc khi tạo webhook Test mode
Nhấn để phóng to
Bước Tài khoản: chọn cây tài khoản và cấu hình bộ lọc mã thanh toán

Bước 3: Bảo mật

Bước này hiển thị banner khuyến nghị: "Sử dụng HMAC-SHA256 để xác minh dữ liệu webhook không bị thay đổi và chống giả mạo."

Phương thức xác thựcCấu hình thêm
Không xác thực (mặc định)Không có. Phù hợp cho test nhanh, không nên dùng cho endpoint thật.
API KeyTrường API Key. SePay gửi header Authorization: Apikey <API_KEY>.
HMAC-SHA256 (khuyến nghị)Trường Secret Key (hỗ trợ nút tạo khoá ngẫu nhiên). SePay ký payload và gửi chữ ký trong header X-SePay-Signature. Secret key không rời khỏi máy chủ SePay.
OAuth 2.0Ba trường: Access Token URL, Client ID, Client Secret. SePay lấy bearer token từ Access Token URL trước mỗi lần gửi.

Cấu hình chi tiết từng phương thức và cách verify ở phía endpoint: Xác thực webhook.

Bước Bảo mật khi tạo webhook Test mode với HMAC-SHA256
Nhấn để phóng to
Bước Bảo mật: chọn phương thức xác thực và điền cấu hình

Khác biệt so với webhook Live

Khía cạnhLiveTest mode
Số bước tạo webhook4 (có bước Cảnh báo)3 (ẩn bước Cảnh báo)
Xác thực SSL của endpointBắt buộc chứng chỉ hợp lệTắt (chấp nhận HTTP và chứng chỉ tự ký)
Tài khoản ngân hàng có thể chọnTài khoản LiveChỉ tài khoản ngân hàng Test mode
Số webhook tối đaKhông giới hạnCó hạn mức (xem Hạn mức Test mode)
SSL tắt trong Test mode

Test mode tắt xác thực SSL để thuận tiện test trên localhost hoặc server dev có chứng chỉ tự ký. Trước khi đưa webhook lên Live, đảm bảo endpoint có chứng chỉ HTTPS hợp lệ.

Tiếp theo