Bỏ qua

Cổng Thanh Toán (Payment Gateways)

Trang Cổng Thanh Toán (/dashboard/financial/payment-gateways) quản lý tất cả cổng thanh toán tích hợp trong hệ thống. Từ đây có thể kích hoạt/tắt gateway, cấu hình thông tin API, xem webhook URL và kiểm tra kết nối thực tế.


Tổng Quan Trang

Danh sách cổng thanh toán — cấp độ cấu hình, alert và các card gateway

Header & Mô Tả

# Phần tử Mô tả
Tiêu đề "Payment Gateway Management"
Mô tả Giải thích phạm vi quản lý và gợi ý chuyển đổi cấp độ (nếu có quyền)
Tab Payment Gateways Tab duy nhất — danh sách tất cả cổng thanh toán

Bộ Điều Khiển Cấp Độ (Chain/Platform Admin)

Chỉ hiển thị với người dùng có vai trò Chain Manager hoặc Platform Admin:

# Phần tử Mô tả
Chọn cấp độ Dropdown chọn cấp độ cấu hình: Hotel / Chain / Platform
Bulk Update Cập nhật hàng loạt nhiều gateway cùng lúc
Alert thông tin Mô tả phạm vi áp dụng của cấp độ đang chọn

Card Cổng Thanh Toán

# Phần tử Mô tả
Card gateway Mỗi cổng thanh toán hiển thị dạng card riêng biệt
Tags trạng thái Enabled/Disabled · Configured/Not Configured · Inherited (nếu kế thừa)
Tỷ lệ thành công % giao dịch thành công (xanh nếu >95%, vàng nếu thấp hơn)
Doanh số tháng Tổng giá trị giao dịch trong tháng (VND)
Cài đặt Mở modal cấu hình API gateway
Webhook Xem URL webhook được tự động tạo
Kiểm tra Gửi giao dịch thử để kiểm tra kết nối (chỉ khi gateway Active + Configured)

Cấp Độ Cấu Hình

Hệ thống hỗ trợ cấu hình gateway theo 3 cấp độ, theo thứ tự ưu tiên từ cao xuống thấp:

Cấp độ Icon Màu Ý nghĩa
PLATFORM Tím Cấu hình toàn nền tảng (chỉ Platform Admin)
CHAIN 🌐 Xanh dương Cấu hình cho toàn chuỗi khách sạn
HOTEL 🏠 Xanh lá Cấu hình riêng cho từng khách sạn
INHERITED 🔀 Cam Kế thừa từ cấp cao hơn (không có cấu hình riêng)

Kế thừa cấu hình

Gateway ở cấp HOTEL có thể kế thừa cấu hình từ CHAIN hoặc PLATFORM. Tag "Inherited from CHAIN" xuất hiện khi gateway không có cấu hình riêng ở cấp hiện tại.


Các Cổng Thanh Toán Được Hỗ Trợ

Gateway Màu đặc trưng
VNPAY Xanh dương
MOMO Hồng đậm
ONEPAY Xanh lá
STRIPE Tím
PAYPAL Xanh đậm

Cấu Hình Gateway

Modal cấu hình API — Basic Config và API Config

Nhấn icon Cài đặt (⚙) trên card để mở modal cấu hình. Modal rộng 800px.

# Phần tử Mô tả
Tiêu đề "Configure {TÊN GATEWAY} Gateway - {CẤP ĐỘ} Level"
Alert thông tin Nhắc nhở về phạm vi áp dụng cấu hình (chỉ hiện nếu không phải HOTEL level)
Card Basic Configuration Phần cấu hình cơ bản
Enable Gateway Switch bật/tắt gateway
Environment Môi trường: Sandbox (Testing) hoặc Production (Live)
Card API Configuration Phần thông tin kết nối API
Merchant ID Mã định danh merchant từ nhà cung cấp
API Key / Access Code Khóa API hoặc Access Code (OnePay)
Secret Key Khóa bí mật (ô nhập ẩn, có toggle hiện/ẩn)
Webhook URL URL tự động tạo — read-only nếu đã có, có nút Copy
Hủy Đóng modal, không lưu thay đổi
Lưu cấu hình Lưu và áp dụng cấu hình gateway

Tham Chiếu Các Trường Cấu Hình

Trường Bắt buộc Mô tả
Enable Gateway Bật: gateway hoạt động và nhận thanh toán; Tắt: tạm dừng
Environment Sandbox = môi trường thử nghiệm; Production = thực tế
Merchant ID Mã merchant do nhà cung cấp cấp khi đăng ký
API Key Khóa API để xác thực request (OnePay gọi là Access Code)
Secret Key Khóa bí mật để ký/xác minh request — không chia sẻ
Webhook URL URL hệ thống tự tạo để nhận callback từ gateway

Webhook URL

Modal xem Webhook URL — URL read-only và nút Copy

Nhấn icon Webhook (🔗) trên card để xem URL webhook đã được hệ thống tự động tạo.

# Phần tử Mô tả
Tiêu đề "{TÊN GATEWAY} Webhook Configuration"
Card Webhook URL Khung hiển thị URL
URL Địa chỉ webhook (read-only) — dán vào cổng thanh toán
Copy Sao chép URL vào clipboard
Đóng Đóng modal

Cách sử dụng Webhook URL

Sau khi copy, dán URL này vào phần cấu hình webhook trong trang quản trị của nhà cung cấp (VD: trang admin VNPAY, MoMo Business, Stripe Dashboard). Hệ thống sẽ tự động nhận thông báo kết quả thanh toán qua URL này.


Cập Nhật Hàng Loạt (Bulk Update)

Chỉ dành cho Chain Manager / Platform Admin

Nút Bulk Update chỉ hiển thị khi người dùng có quyền quản lý cấp Chain hoặc Platform.

Modal Bulk Update cho phép áp dụng cùng một cấu hình cho nhiều gateway cùng lúc:

Trường Mô tả
Chọn Gateways Multi-select — chọn các gateway cần cập nhật
Environment Đặt môi trường chung cho tất cả gateway đã chọn
Enable All Selected Bật hoặc tắt đồng loạt tất cả gateway đã chọn

Kiểm Tra Kết Nối (Test Gateway)

Nhấn icon Kiểm tra (🧪) trên card để gửi giao dịch thử tới cổng thanh toán.

Điều kiện để Test

Nút Test chỉ hoạt động khi gateway đồng thời thỏa mãn:

  • isActive = true (đang bật)
  • Đã cấu hình đầy đủ (có merchantId + apiKey + secretKey)

Nếu một trong hai điều kiện không đạt, nút bị disabled.


Mẹo & Thực Hành Tốt Nhất

Không dùng Production khi đang thử nghiệm

Luôn chọn Sandbox khi kiểm tra tích hợp. Chỉ chuyển sang Production sau khi đã xác nhận gateway hoạt động đúng trong môi trường Sandbox.

Bảo mật Secret Key

Secret Key không bao giờ được hiển thị lại sau khi lưu. Lưu trữ Secret Key ở nơi an toàn (password manager) trước khi nhập vào hệ thống. Nếu quên, phải tạo lại từ trang quản trị của nhà cung cấp.

Webhook tự động — không cần nhập thủ công

Webhook URL được hệ thống sinh tự động theo chuẩn bảo mật. Không thay đổi URL này — chỉ cần copy và cấu hình ở phía nhà cung cấp.

Kế thừa cấu hình giúp giảm lặp lại

Nếu tất cả khách sạn trong chuỗi dùng cùng một cổng thanh toán với cùng thông tin API, cấu hình ở cấp Chain một lần — tất cả khách sạn sẽ kế thừa tự động mà không cần cấu hình riêng.

Kiểm tra tỷ lệ thành công thường xuyên

Tỷ lệ thành công < 95% (màu vàng) là dấu hiệu cần điều tra: gateway đang ở Sandbox chưa chuyển Production, thông tin API sai, hoặc kết nối mạng không ổn định.


Câu Hỏi Thường Gặp

Hotel Manager có thể cấu hình cổng thanh toán không?

Có. Hotel Manager thấy tab Payment Gateways và có thể cấu hình các gateway ở cấp HOTEL. Tuy nhiên, Hotel Manager không thấy bộ chọn cấp độ (CHAIN/PLATFORM) và không có nút Bulk Update.

Gateway 'Not Configured' nhưng vẫn Active — có ảnh hưởng gì không?

Gateway Active nhưng Not Configured (thiếu merchantId/apiKey/secretKey) sẽ không xử lý được giao dịch thực tế. Nút Test cũng bị disabled. Cần cấu hình đầy đủ trước khi đưa vào sử dụng.

Tại sao nút Test bị disabled?

Nút Test bị disabled khi gateway ở trạng thái Disabled hoặc Not Configured. Phải bật gateway và điền đủ merchantId + apiKey + secretKey thì mới test được.

Bulk Update có ảnh hưởng đến cấu hình API riêng của từng gateway không?

Bulk Update chỉ cập nhật các trường được chọn trong form (Environment và Enable/Disable). Thông tin API riêng (merchantId, apiKey, secretKey) của từng gateway không bị thay đổi.

Webhook URL có thay đổi khi cập nhật cấu hình không?

Không. Webhook URL được tạo một lần và cố định theo gateway ID. Việc cập nhật merchantId/apiKey/secretKey không ảnh hưởng đến Webhook URL.


Liên Kết Liên Quan


Quay lại Tài chính