Địa chỉ IP của SePay

Danh sách địa chỉ IP mà SePay sử dụng để gửi webhooks, IPN callbacks và các kết nối ra ngoài đến hệ thống của bạn. Thêm các IP này vào allowlist trên firewall để đảm bảo nhận được thông báo từ SePay.


SePay sử dụng các địa chỉ IP dưới đây để gửi các kết nối ra ngoài (outbound) đến hệ thống của bạn. Các kết nối này bao gồm:

  • Webhooks — Thông báo giao dịch theo thời gian thực
  • IPN (Instant Payment Notification) — Thông báo thanh toán từ Cổng thanh toán và BankHub
  • Các callback khác — Mọi kết nối từ SePay đến server của bạn

Nếu hệ thống của bạn sử dụng firewall hoặc bất kỳ cơ chế lọc IP nào, bạn cần thêm tất cả các địa chỉ IP bên dưới vào allowlist (whitelist) để đảm bảo nhận được thông báo từ SePay.


Danh sách địa chỉ IP

Code
1
2
3
4
5
6
172.236.138.20
172.233.83.68
171.244.35.2
151.158.108.68
151.158.109.79
103.255.238.139
Quan trọng

Bạn cần allowlist tất cả các địa chỉ IP trên. SePay có thể gửi request từ bất kỳ IP nào trong danh sách này. Danh sách IP có thể được cập nhật trong tương lai — hãy kiểm tra trang này định kỳ hoặc theo dõi thông báo từ SePay.


Cấu hình Firewall

Nếu bạn cần cấu hình firewall, hãy cho phép các kết nối đến (inbound) từ các IP trên đến cổng mà server của bạn lắng nghe (thường là cổng 443 cho HTTPS).

Yêu cầu HTTPS

URL webhook và IPN của bạn phải sử dụng HTTPS. SePay không gửi request đến các URL HTTP không mã hóa.

Ví dụ cấu hình

iptables (Linux):

Bash
1
2
3
4
5
6
7
# Cho phép kết nối từ SePay đến cổng 443
iptables -A INPUT -s 172.236.138.20 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 172.233.83.68 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 171.244.35.2 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 151.158.108.68 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 151.158.109.79 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 103.255.238.139 -p tcp --dport 443 -j ACCEPT

Nginx (allow directive):

NGINX
1
2
3
4
5
6
7
8
9
10
11
12
# Trong block location nhận webhook
location /webhook {
allow 172.236.138.20;
allow 172.233.83.68;
allow 171.244.35.2;
allow 151.158.108.68;
allow 151.158.109.79;
allow 103.255.238.139;
deny all;
 
proxy_pass http://your_backend;
}

Xác thực nguồn gọi

Ngoài việc lọc IP, SePay khuyến nghị sử dụng thêm các phương thức xác thực sau:

  • API Key — SePay gửi header Authorization: Apikey YOUR_API_KEY trong mỗi request. Kiểm tra header này để xác nhận request đến từ SePay.
  • OAuth 2.0 — Dành cho các tích hợp yêu cầu mức bảo mật cao hơn.

Kết hợp lọc IP với xác thực API Key/OAuth 2.0 sẽ cung cấp hai lớp bảo mật cho hệ thống của bạn.


Tài liệu liên quan