Tài liệu này sẽ hướng dẫn bạn qua quy trình cài đặt & cập nhật của TXAHUB, cũng như các tính năng nâng cao có sẵn cấu hình.
Hầu hết các tính năng bên trong TXAHUB đều tự giải thích và có văn bản trợ giúp gần chúng.
Các bước thực hiện rất đơn giản và không yêu cầu bất kỳ nhiệm vụ đặc biệt hay khác thường nào, chỉ cần có kiến thức tối thiểu về web.
Hỗ trợ chỉ được cung cấp thông qua Facebook hoặc email:
Mua sản phẩm: Bạn có thể tải TXAHUB miễn phí và mua key kích hoạt tại software.txahub.click/packages
License Key
TXAHUB yêu cầu license key để kích hoạt và sử dụng. License key được cung cấp sau khi bạn mua sản phẩm tại software.txahub.click/packages.
Định dạng License Key
TXAHUB có 2 loại license key với các tính năng và mức hỗ trợ khác nhau:
⚠️ Lưu ý: Các định dạng và mẫu license key dưới đây chỉ là ví dụ. License key thực tế của bạn sẽ được cung cấp sau khi mua sản phẩm và có định dạng tương tự nhưng khác nhau.
| Loại License | Định dạng | Mẫu License Key (Ví dụ) | Thời hạn | Tính năng |
|---|---|---|---|---|
| TXAPRO | txapro_[a-zA-Z0-9_]{20,} |
txapro_BZ3bWnQaxPzodh8aPW5YD |
Có thời hạn (Cần gia hạn định kỳ) - mặc định 50 ngày |
|
| TXAVIP | txavip_[a-zA-Z0-9_]{20,} |
txavip_SVwtnai1lL1NpEhdbECgE7Rb |
Trọn đời (Không cần gia hạn) |
|
💡 Mẹo: Click vào nút Copy bên cạnh các mẫu license key ở trên để copy nhanh. Lưu ý: Đây chỉ là ví dụ, bạn cần sử dụng license key thực tế được cung cấp sau khi mua sản phẩm.
Chi tiết về các loại License
📦 TXAPRO License
⚠️ Lưu ý quan trọng về hỗ trợ: TXAPRO chỉ hỗ trợ cập nhật (update), KHÔNG hỗ trợ hướng dẫn cài đặt. Nếu bạn cần hỗ trợ cài đặt, vui lòng nâng cấp lên TXAVIP hoặc sử dụng dịch vụ cài đặt có phí.
Đặc điểm TXAPRO:
- Thời hạn: Có thời hạn sử dụng, cần gia hạn định kỳ
- Tính năng: Đầy đủ tính năng cơ bản của TXAHUB
- Cập nhật: Được cập nhật lên các phiên bản mới nhất
- Hỗ trợ kỹ thuật:
- ✅ Hỗ trợ cập nhật (update) phiên bản mới
- ✅ Hỗ trợ xử lý lỗi khi cập nhật
- ✅ Hỗ trợ qua email và Facebook
- ❌ KHÔNG hỗ trợ hướng dẫn cài đặt ban đầu
- Auto-refresh: License tự động làm mới mỗi giờ
- Gia hạn: Có thể gia hạn trực tiếp từ Admin Panel
- API trao đổi tiền tệ: FreeCurrencyAPI (❌ Không hỗ trợ tỉ giá VND)
⭐ TXAVIP License
✅ Hỗ trợ đầy đủ: TXAVIP bao gồm hỗ trợ kỹ thuật đầy đủ, bao gồm cả hướng dẫn cài đặt chi tiết và hỗ trợ cập nhật.
Đặc điểm TXAVIP:
- Thời hạn: Trọn đời, không cần gia hạn
- Tính năng: Đầy đủ tính năng cơ bản của TXAHUB + các tính năng nâng cao:
- ✅ Passkey Authentication (Đăng nhập không cần mật khẩu)
- ✅ Google Drive Backup Passkey (Sao lưu tự động Passkey lên Google Drive)
- ✅ File Extension (Quản lý và giới hạn định dạng file)
- ✅ Cron Job (Quản lý tác vụ tự động)
- ✅ Plugin (Hệ thống plugin mở rộng)
- ✅ Tùy chỉnh gói plan (Customize plan packages)
- ✅ Và nhiều tính năng nâng cao khác
- API trao đổi tiền tệ: CurrencyLayer API (✅ Có hỗ trợ tỉ giá VND)
- Cập nhật: Được cập nhật lên các phiên bản mới nhất
- Hỗ trợ kỹ thuật đầy đủ:
- ✅ Hỗ trợ hướng dẫn cài đặt chi tiết từ đầu
- ✅ Hỗ trợ cập nhật (update) phiên bản mới
- ✅ Hỗ trợ xử lý lỗi và troubleshooting
- ✅ Hỗ trợ qua email và Facebook với ưu tiên
- ✅ Hỗ trợ cấu hình nâng cao
- Ưu tiên: Được ưu tiên xử lý khi liên hệ hỗ trợ
- Không giới hạn: Không có thời hạn, sử dụng mãi mãi
📊 So sánh License
| Tính năng / Hỗ trợ | TXAPRO | TXAVIP |
|---|---|---|
| Tất cả tính năng cơ bản | ||
| Cập nhật phiên bản mới | ||
| Hỗ trợ hướng dẫn cài đặt | ||
| Hỗ trợ cập nhật (update) | ||
| Hỗ trợ xử lý lỗi | ||
| Ưu tiên hỗ trợ | ||
| Thời hạn | Có thời hạn | Trọn đời |
| Gia hạn | Cần gia hạn định kỳ | Không cần |
| 🔐 Passkey Authentication | Không | |
| 💾 Google Drive Backup Passkey | Không | |
| 📁 File Extension | Không | |
| ⏰ Cron Job | Không | |
| 🔌 Plugin System | Không | |
| 🎨 Tùy chỉnh gói plan | Không | |
| 💱 API trao đổi tiền tệ | FreeCurrencyAPI ❌ Không hỗ trợ VND |
CurrencyLayer API ✅ Có hỗ trợ VND |
Kích hoạt License Key
- Đăng nhập vào Bảng Điều khiển Quản trị
- Điều hướng đến Cài đặt → Tab License
- Nhập license key của bạn vào trường License Key
- Nhấp Kích hoạt để xác thực license
- Hệ thống sẽ tự động kiểm tra và kích hoạt license của bạn
Lưu ý: License key sẽ được tự động liên kết với domain hiện tại của bạn. Nếu bạn cần thay đổi domain, vui lòng liên hệ hỗ trợ.
License Auto-Refresh
Đối với license TXAPRO, hệ thống sẽ tự động làm mới license mỗi giờ để đảm bảo thông tin luôn được cập nhật.
Gia hạn License
Nếu bạn sở hữu license TXAPRO và cần gia hạn:
- Điều hướng đến Bảng Điều khiển Quản trị → Cài đặt → Tab License
- Nhấp vào nút Gia hạn License
- Hệ thống sẽ chuyển hướng bạn đến trang thanh toán để gia hạn
- Sau khi thanh toán thành công, license sẽ tự động được cập nhật
Lưu ý: Nếu license đã hết hạn, bạn sẽ không thể truy cập vào các tính năng admin. Hãy đảm bảo gia hạn trước khi license hết hạn.
💡 Khi nào nên chọn TXAPRO hay TXAVIP?
Chọn TXAPRO nếu:
- Bạn đã có kinh nghiệm cài đặt và cấu hình web
- Bạn chỉ cần hỗ trợ cập nhật và xử lý lỗi
- Bạn muốn tiết kiệm chi phí ban đầu
- Bạn sẵn sàng tự cài đặt hoặc sử dụng dịch vụ cài đặt có phí
Chọn TXAVIP nếu:
- Bạn là người mới, cần hướng dẫn cài đặt chi tiết
- Bạn muốn hỗ trợ kỹ thuật đầy đủ và ưu tiên
- Bạn muốn sử dụng lâu dài, không muốn lo gia hạn
- Bạn muốn đầu tư một lần cho giải pháp trọn đời
💼 Dịch vụ cài đặt: Nếu bạn có TXAPRO và cần hỗ trợ cài đặt, bạn có thể sử dụng dịch vụ cài đặt có phí của chúng tôi. Hoặc nâng cấp lên TXAVIP để được hỗ trợ cài đặt miễn phí.
Yêu cầu
Đảm bảo máy chủ của bạn đáp ứng các yêu cầu đã chỉ định trước khi cài đặt hoặc mua.
| PHP | PHP 8.3 - 8.4 |
| Phần mở rộng | cURL, OpenSSL, mbstring, MySQLi |
| Cơ sở dữ liệu | MySQL 5.7.3+ hoặc MariaDB tương đương |
| Máy chủ | Apache hoặc Nginx |
Những yêu cầu này giả định rằng bạn đang chạy trên một máy chủ tốt, cập nhật với các tiện ích mở rộng thiết yếu đã được cài đặt sẵn. Nếu không, có thể cần thêm các tiện ích mở rộng khác và một số thay đổi nhỏ.
Dịch vụ lắp đặt
Tôi cũng cung cấp dịch vụ cài đặt chất lượng với chi phí thấp nếu bạn không muốn bận tâm với quá trình cài đặt.
Cài đặt phần mềm - $35
- Tải lên các tệp sản phẩm trên máy chủ của bạn (yêu cầu máy chủ được cấu hình và sẵn sàng hoạt động hoàn chỉnh).
- Tạo và cấu hình cơ sở dữ liệu sẽ được sử dụng.
- Cài đặt đầy đủ sản phẩm.
Bạn phải sở hữu một máy chủ với bảng điều khiển như Plesk, cPanel...v.v.
Cấu hình máy chủ & cài đặt phần mềm - $69
- Thiết lập máy chủ mới (Hệ điều hành Ubuntu) trên một trong những nền tảng: Hetzner, Cloudways, Vultr, DigitalOcean
- Thiết lập tên miền cho máy chủ
- Cài đặt Chứng chỉ SSL miễn phí (Let's Encrypt)
- Cài đặt Apache, MySQL với MySQLi, PHP
- Cài đặt và cấu hình các mô-đun/tiện ích mở rộng cần thiết của PHP
- Cài đặt đầy đủ sản phẩm
Cập nhật sản phẩm - $30
- Sao lưu các tệp và cơ sở dữ liệu (theo yêu cầu).
- Cập nhật sản phẩm lên phiên bản mới nhất (không quan trọng bạn đang ở phiên bản nào).
- Cập nhật tất cả các plugin bạn sở hữu (nếu có).
Bạn chịu trách nhiệm tích hợp lại bất kỳ chỉnh sửa tùy chỉnh nào vào các tệp sản phẩm gốc sau khi cập nhật.
Liên hệ: Gửi email đến support@txahub.click hoặc liên hệ qua Facebook để biết thêm chi tiết.
Cài đặt
Quy trình cài đặt này thường cần khoảng 10 phút để hoàn thành khi được thực hiện chính xác.
Chuẩn bị cơ sở dữ liệu
- Tạo Người dùng Cơ sở dữ liệu mới cho cơ sở dữ liệu mới sắp tới (tùy chọn)
- Tạo Cơ sở dữ liệu mới
- Chuẩn bị Host, Tên, Tên người dùng và Mật khẩu của Cơ sở dữ liệu cho các bước sắp tới.
Tải lên sản phẩm
Tải lên nội dung của thư mục product/ trên máy chủ web của bạn.
Sản phẩm có thể được tải lên trên subdomain, domain hoặc subfolder, tùy thuộc vào nhu cầu của bạn.
Máy chủ Apache: Đảm bảo tệp .htaccess được tải lên, vì nó có thể xuất hiện như một tệp ẩn trên máy tính của bạn theo mặc định.
Máy chủ Nginx: Đảm bảo bạn thực hiện thiết lập Nginx sau khi cài đặt.
Bắt đầu quy trình cài đặt
- Truy cập sản phẩm trên trang web của bạn và truy cập đường dẫn
domain.com/install. - Bạn cần đặt quyền (CHMOD) của các tệp/thư mục được đề cập trong quy trình cài đặt thành 755, 775 hoặc 777, tùy thuộc vào máy chủ thực tế của bạn.
- Thực hiện theo các bước trong quy trình cài đặt.
- Nếu cài đặt thành công, bạn sẽ thấy thông tin đăng nhập quản trị viên.
Thiết lập Cron job
Cron job phải được thiết lập vì nó chịu trách nhiệm xử lý các tác vụ nền.
- Đảm bảo đăng nhập và vào Bảng Điều khiển Quản trị \-> Cài đặt \-> Tab Cron
- Tạo cron job mới với mỗi lệnh cron job mà bạn thấy ở đó.
- Quy trình này khác nhau tùy thuộc vào nhà cung cấp máy chủ web của bạn; tham khảo tài liệu của họ để biết hướng dẫn thiết lập Cron job.
Thiết lập Email
Nếu bạn muốn trang web của mình có thể gửi email, thì bạn phải thực hiện thiết lập này.
- Đảm bảo đăng nhập và vào Bảng Điều khiển Quản trị \-> Cài đặt \-> Tab SMTP (Email)
- Điền các trường bằng thông tin đăng nhập nhà cung cấp SMTP của bạn.
- Lưu và kiểm tra SMTP của bạn để đảm bảo nó hoạt động.
Cập nhật
Phần này hướng dẫn bạn cập nhật cài đặt hiện tại lên các phiên bản phát hành mới hơn.
Lưu ý: Nếu bạn đã chỉnh sửa các tệp gốc, các bước này sẽ ghi đè các thay đổi của bạn.
Sao lưu
Trước khi bắt đầu quy trình cập nhật, hãy đảm bảo tạo sao lưu để tạo điều kiện khôi phục trong trường hợp có vấn đề.
- Sao lưu cơ sở dữ liệu của bạn
- Sao lưu các tệp của bạn
Cập nhật tệp
- Tải xuống và giải nén phiên bản mới nhất của sản phẩm.
- Điều hướng đến thư mục
product, sao chép tất cả tệp và thư mục, sau đó tải lên chúng lên máy chủ của bạn, nơi sản phẩm được cài đặt. - Không tải lên/ghi đè tệp
config.php.
Cập nhật cơ sở dữ liệu
- Vào trang web của bạn và truy cập đường dẫn
/update, theo định dạng sau:https://domain.com/update. - Thực hiện theo tất cả các bước bên trong quy trình cập nhật.
- Sau khi hoàn thành, hãy đảm bảo xóa thư mục
updatevì bạn không cần nó nữa.
Nếu bạn sử dụng plugin Offload để tải tài sản lên kho lưu trữ, hãy đảm bảo cập nhật tài sản trong kho lưu trữ đã tải lên bằng các tài sản mới từ thư mục themes/assets/.
Cấu hình
NGINX Setup
Sử dụng quy tắc ghi lại NGINX sau để đảm bảo hoạt động đúng của URL:
if(!-e $request_filename){
rewrite ^\/(.+)$ /index.php?altum=$1 last;
}
Lệnh này nên được thêm vào tệp domain.conf nginx của bạn trong trường location / { ... }.
Captchas
TXAHUB hỗ trợ các loại captcha sau:
- Basic Captcha - Captcha hình ảnh tích hợp sẵn (yêu cầu extension GD)
- Google reCAPTCHA v2 - Hộp kiểm "I'm not a robot" (Checkbox)
- hCaptcha - Giải pháp captcha thay thế
- Cloudflare Turnstile - Captcha miễn phí từ Cloudflare
Cấu hình Captcha
Bạn có thể thiết lập captcha từ:
Bảng Điều khiển Quản trị → Cài đặt → Tab Captcha
Google reCAPTCHA v2
Để sử dụng Google reCAPTCHA v2:
- Truy cập Google reCAPTCHA Admin và đăng nhập
- Tạo site mới hoặc chọn site hiện có
- Chọn loại reCAPTCHA: reCAPTCHA v2 → "I'm not a robot" Checkbox
- Thêm domain của bạn vào danh sách
- Sao chép Site Key (Public Key) và Secret Key (Private Key)
- Trong Bảng Điều khiển Quản trị → Cài đặt → Tab Captcha:
- Chọn loại: Google ReCaptcha v2 checkbox
- Nhập ReCaptcha Public Key
- Nhập ReCaptcha Private Key
- Bật captcha cho các form cần thiết: Login, Register, Lost Password, Contact, Biolink
- Lưu cài đặt
Lưu ý: TXAHUB hiện chỉ hỗ trợ reCAPTCHA v2 Checkbox. reCAPTCHA v3 (invisible) chưa được hỗ trợ.
hCaptcha
Để sử dụng hCaptcha:
- Truy cập hCaptcha và tạo tài khoản
- Tạo site mới và lấy Site Key và Secret Key
- Trong Bảng Điều khiển Quản trị → Cài đặt → Tab Captcha, chọn hCaptcha và nhập keys
Cloudflare Turnstile
Để sử dụng Cloudflare Turnstile:
- Truy cập Cloudflare Dashboard
- Điều hướng đến Turnstile và tạo site mới
- Lấy Site Key và Secret Key
- Trong Bảng Điều khiển Quản trị → Cài đặt → Tab Captcha, chọn Turnstile và nhập keys
Bộ xử lý thanh toán
📚 Tài liệu chính thức: docs.txahub.click (Tìm kiếm "Bộ xử lý thanh toán" hoặc "Payment processors")
Hệ thống hỗ trợ nhiều phương thức thanh toán. Tất cả các phương thức thanh toán yêu cầu giấy phép TXA VIP License hoặc TXA Pro License.
Cấu hình từ: Bảng Điều khiển Quản trị → Cài đặt → Tab Thanh toán
PayPal
📚 Tham khảo: docs.txahub.click/#paypal
Mô tả: Thanh toán qua PayPal, hỗ trợ thanh toán một lần và định kỳ.
Các bước cấu hình:
- Truy cập PayPal Developer
- Đăng nhập và tạo New App
- Chọn Sandbox (để test) hoặc Live (cho production)
- Ghi nhớ Client ID và Secret
- Truy cập Admin Settings → PayPal trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Mode: Chọn
livehoặcsandbox - Client ID: Client ID từ PayPal
- Secret: Secret từ PayPal
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Webhook URL:
https://yourdomain.com/webhook-paypal(tự động hiển thị) - Cấu hình Webhook trong PayPal Developer:
- Vào Webhooks trong app settings
- Thêm webhook URL:
https://yourdomain.com/webhook-paypal - Chọn các events cần thiết
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-paypal
Stripe
📚 Tham khảo: docs.txahub.click/#stripe
Mô tả: Thanh toán qua Stripe, hỗ trợ thanh toán một lần và định kỳ.
Các bước cấu hình:
- Truy cập Stripe Dashboard
- Vào Developers → API keys
- Ghi nhớ Publishable key và Secret key
- Vào Developers → Webhooks
- Tạo Add endpoint:
- Endpoint URL:
https://yourdomain.com/webhook-stripe - Events to send: Chọn các events cần thiết (ví dụ:
payment_intent.succeeded,customer.subscription.created, etc.)
- Endpoint URL:
- Sau khi tạo, ghi nhớ Signing secret
- Truy cập Admin Settings → Stripe trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Publishable Key: Publishable key từ Stripe
- Secret Key: Secret key từ Stripe
- Webhook Secret: Signing secret từ webhook
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Webhook URL:
https://yourdomain.com/webhook-stripe(tự động hiển thị) - Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-stripe
PayOS
📚 Tham khảo: docs.txahub.click/#payos
Mô tả: Thanh toán qua PayOS (chỉ dành cho thị trường Việt Nam), chỉ hỗ trợ VND.
Yêu cầu:
- Giấy phép: TXA VIP License
- Tiền tệ: Bắt buộc phải có VND trong danh sách tiền tệ
Các bước cấu hình:
- Truy cập PayOS Dashboard hoặc PayOS Portal
- Đăng ký tài khoản merchant và tạo ứng dụng
- Lấy thông tin từ PayOS Dashboard:
- Client ID (Client ID của ứng dụng)
- API Key (API Key từ ứng dụng)
- Checksum Key (Checksum Key để xác thực webhook)
- Đảm bảo đã thêm VND vào danh sách tiền tệ trong Admin Settings → Payment
- Truy cập Admin Settings → PayOS trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Client ID: Client ID từ PayOS
- API Key: API Key từ PayOS
- Checksum Key: Checksum Key từ PayOS
- Expiration Minutes: Thời gian hết hạn link thanh toán (mặc định: 15 phút)
- Currencies: VND sẽ tự động được chọn và không thể bỏ chọn
- Webhook URL:
https://yourdomain.com/webhook-payos(tự động hiển thị) - Cấu hình Webhook trong PayOS Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-payos
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Currency: VND only
- Minimum Amount: 2000 VND
- Webhook URL:
{SITE_URL}webhook-payos - Expiration: 1-1440 phút (mặc định: 15 phút)
- Order Code: 6 chữ số (tự động generate, đảm bảo unique)
- Description Format:
TPL{PLAN_NAME}{RANDOM}(tối đa 25 ký tự, chỉ chữ cái và số)- TPL: 3 ký tự cố định
- PLAN_NAME: Tên gói (chữ in hoa, chỉ alphanumeric)
- RANDOM: 4 ký tự ngẫu nhiên (a-z, A-Z, 0-9)
- Return Parameters:
code(numeric, ví dụ: '00'),status(ví dụ: 'PAID'),orderCode,id
Lưu ý:
- PayOS chỉ hỗ trợ VND
- Số tiền phải là số nguyên (không có phần thập phân)
- Link thanh toán sẽ tự động hết hạn sau thời gian cấu hình
- PayOS redirect về với parameter
code(numeric) - khác với discount code (alphanumeric) - Hệ thống tự động cleanup các payment đã hết hạn (status = 0, expired)
- Description được tự động format theo quy tắc: TPL + tên gói (chữ hoa, alphanumeric) + 4 ký tự random
Coinbase
📚 Tham khảo: docs.txahub.click/#coinbase
Mô tả: Thanh toán bằng tiền điện tử qua Coinbase Commerce.
Các bước cấu hình:
- Truy cập Coinbase Commerce
- Đăng ký và tạo API key
- Ghi nhớ API Key và Webhook Secret
- Truy cập Admin Settings → Coinbase trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- API Key: API Key từ Coinbase
- Webhook Secret: Webhook Secret từ Coinbase
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Coinbase Commerce:
- Thêm webhook URL:
https://yourdomain.com/webhook-coinbase
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Webhook URL:
{SITE_URL}webhook-coinbase
PayU
📚 Tham khảo: docs.txahub.click/#payu
Mô tả: Thanh toán qua PayU (phổ biến ở Đông Âu và Ấn Độ).
Các bước cấu hình:
- Truy cập PayU Dashboard
- Đăng ký và tạo merchant account
- Lấy thông tin:
- Merchant POS ID
- Signature Key
- OAuth Client ID
- OAuth Client Secret
- Truy cập Admin Settings → PayU trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Mode: Chọn
secure(live) hoặcsandbox(test) - Merchant POS ID: Merchant POS ID từ PayU
- Signature Key: Signature Key từ PayU
- OAuth Client ID: OAuth Client ID từ PayU
- OAuth Client Secret: OAuth Client Secret từ PayU
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Mode:
secure(live) hoặcsandbox(test)
Iyzico
📚 Tham khảo: docs.txahub.click/#iyzico
Mô tả: Thanh toán qua Iyzico (phổ biến ở Thổ Nhĩ Kỳ).
Các bước cấu hình:
- Truy cập Iyzico Dashboard
- Đăng ký và tạo API key
- Lấy thông tin:
- API Key
- Secret Key
- Truy cập Admin Settings → Iyzico trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Mode: Chọn
live(production) hoặcsandbox(test) - API Key: API Key từ Iyzico
- Secret Key: Secret Key từ Iyzico
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Mode:
livehoặcsandbox
Paystack
📚 Tham khảo: docs.txahub.click/#paystack
Mô tả: Thanh toán qua Paystack (phổ biến ở châu Phi).
Các bước cấu hình:
- Truy cập Paystack Dashboard
- Đăng ký và tạo API key
- Lấy thông tin:
- Public Key
- Secret Key
- Truy cập Admin Settings → Paystack trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Public Key: Public Key từ Paystack
- Secret Key: Secret Key từ Paystack
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Paystack Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-paystack
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-paystack
Razorpay
📚 Tham khảo: docs.txahub.click/#razorpay
Mô tả: Thanh toán qua Razorpay (phổ biến ở Ấn Độ).
Các bước cấu hình:
- Truy cập Razorpay Dashboard
- Đăng ký và tạo API key
- Lấy thông tin:
- Key ID
- Key Secret
- Webhook Secret
- Truy cập Admin Settings → Razorpay trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Key ID: Key ID từ Razorpay
- Key Secret: Key Secret từ Razorpay
- Webhook Secret: Webhook Secret từ Razorpay
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Razorpay Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-razorpay
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-razorpay
Mollie
📚 Tham khảo: docs.txahub.click/#mollie
Mô tả: Thanh toán qua Mollie (phổ biến ở châu Âu).
Các bước cấu hình:
- Truy cập Mollie Dashboard
- Đăng ký và tạo API key
- Lấy thông tin:
- API Key
- Truy cập Admin Settings → Mollie trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- API Key: API Key từ Mollie
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Mollie Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-mollie
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-mollie
MyFatoorah
📚 Tham khảo: docs.txahub.click/#myfatoorah
Mô tả: Thanh toán qua MyFatoorah (phổ biến ở Trung Đông).
Các bước cấu hình:
- Truy cập MyFatoorah Dashboard
- Đăng ký và tạo API key
- Lấy thông tin:
- API Key
- Secret Key
- Xác định API Endpoint dựa trên khu vực:
api.myfatoorah.com(Global)api-sa.myfatoorah.com(Saudi Arabia)api-qa.myfatoorah.com(Qatar)api-eg.myfatoorah.com(Egypt)apitest.myfatoorah.com(Test)
- Truy cập Admin Settings → MyFatoorah trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- API Endpoint: Chọn endpoint phù hợp
- API Key: API Key từ MyFatoorah
- Secret Key: Secret Key từ MyFatoorah
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- API Endpoints:
api.myfatoorah.com(Global)api-sa.myfatoorah.com(Saudi Arabia)api-qa.myfatoorah.com(Qatar)api-eg.myfatoorah.com(Egypt)apitest.myfatoorah.com(Test)
YooKassa
📚 Tham khảo: docs.txahub.click/#yookassa
Mô tả: Thanh toán qua YooKassa (phổ biến ở Nga).
Các bước cấu hình:
- Truy cập YooKassa Dashboard
- Đăng ký và tạo shop
- Lấy thông tin:
- Shop ID
- Secret Key
- Truy cập Admin Settings → YooKassa trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Shop ID: Shop ID từ YooKassa
- Secret Key: Secret Key từ YooKassa
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong YooKassa Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-yookassa
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Webhook URL:
{SITE_URL}webhook-yookassa
Crypto.com
📚 Tham khảo: docs.txahub.click/#crypto_com
Mô tả: Thanh toán bằng tiền điện tử qua Crypto.com Pay.
Các bước cấu hình:
- Truy cập Crypto.com Pay
- Đăng ký và tạo merchant account
- Lấy thông tin:
- Publishable Key
- Secret Key
- Webhook Secret
- Truy cập Admin Settings → Crypto.com trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Publishable Key: Publishable Key từ Crypto.com
- Secret Key: Secret Key từ Crypto.com
- Webhook Secret: Webhook Secret từ Crypto.com
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Crypto.com Pay:
- Thêm webhook URL:
https://yourdomain.com/webhook-crypto-com
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Webhook URL:
{SITE_URL}webhook-crypto-com
Paddle
📚 Tham khảo: docs.txahub.click/#paddle
Mô tả: Thanh toán qua Paddle (legacy).
Các bước cấu hình:
- Truy cập Paddle Dashboard
- Đăng ký và tạo vendor account
- Lấy thông tin:
- Vendor ID
- API Key
- Public Key
- Truy cập Admin Settings → Paddle trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Mode: Chọn
live(production) hoặcsandbox(test) - Vendor ID: Vendor ID từ Paddle
- API Key: API Key từ Paddle
- Public Key: Public Key từ Paddle
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Paddle Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-paddle
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Mode:
livehoặcsandbox - Webhook URL:
{SITE_URL}webhook-paddle
Paddle Billing
📚 Tham khảo: docs.txahub.click/#paddle_billing
Mô tả: Thanh toán qua Paddle Billing (phiên bản mới).
Các bước cấu hình:
- Truy cập Paddle Dashboard
- Đăng ký và tạo vendor account
- Chuyển sang Paddle Billing
- Lấy thông tin:
- API Key
- Webhook Secret
- Truy cập Admin Settings → Paddle Billing trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- API Key: API Key từ Paddle Billing
- Webhook Secret: Webhook Secret từ Paddle Billing
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Paddle Billing:
- Thêm webhook URL:
https://yourdomain.com/webhook-paddle-billing
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-paddle-billing
MercadoPago
📚 Tham khảo: docs.txahub.click/#mercadopago
Mô tả: Thanh toán qua MercadoPago (phổ biến ở Mỹ Latinh).
Các bước cấu hình:
- Truy cập MercadoPago Dashboard
- Đăng ký và tạo application
- Lấy thông tin:
- Access Token
- Truy cập Admin Settings → MercadoPago trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Access Token: Access Token từ MercadoPago
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong MercadoPago Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-mercadopago
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Webhook URL:
{SITE_URL}webhook-mercadopago
Midtrans
📚 Tham khảo: docs.txahub.click/#midtrans
Mô tả: Thanh toán qua Midtrans (phổ biến ở Indonesia).
Các bước cấu hình:
- Truy cập Midtrans Dashboard
- Đăng ký và tạo merchant account
- Lấy thông tin:
- Server Key
- Truy cập Admin Settings → Midtrans trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Server Key: Server Key từ Midtrans
- Mode: Chọn mode phù hợp
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Midtrans Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-midtrans
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Webhook URL:
{SITE_URL}webhook-midtrans
Flutterwave
📚 Tham khảo: docs.txahub.click/#flutterwave
Mô tả: Thanh toán qua Flutterwave (phổ biến ở châu Phi).
Các bước cấu hình:
- Truy cập Flutterwave Dashboard
- Đăng ký và tạo merchant account
- Lấy thông tin:
- Secret Key
- Truy cập Admin Settings → Flutterwave trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Secret Key: Secret Key từ Flutterwave
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Flutterwave Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-flutterwave
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-flutterwave
LemonSqueezy
📚 Tham khảo: docs.txahub.click/#lemonsqueezy
Mô tả: Thanh toán qua LemonSqueezy.
Các bước cấu hình:
- Truy cập LemonSqueezy Dashboard
- Đăng ký và tạo store
- Lấy thông tin:
- API Key
- Signing Secret
- Store ID
- Tạo các variants cho các gói:
- One-time Monthly Variant ID
- One-time Quarterly Variant ID
- One-time Biannual Variant ID
- One-time Annual Variant ID
- One-time Lifetime Variant ID
- Recurring Monthly Variant ID
- Recurring Annual Variant ID
- Truy cập Admin Settings → LemonSqueezy trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- API Key: API Key từ LemonSqueezy
- Signing Secret: Signing Secret từ LemonSqueezy
- Store ID: Store ID từ LemonSqueezy
- Nhập các Variant IDs tương ứng
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong LemonSqueezy Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-lemonsqueezy
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time, Recurring
- Webhook URL:
{SITE_URL}webhook-lemonsqueezy
Klarna
📚 Tham khảo: docs.txahub.click/#klarna
Mô tả: Thanh toán qua Klarna (Buy now, pay later).
Các bước cấu hình:
- Truy cập Klarna Dashboard
- Đăng ký và tạo merchant account
- Lấy thông tin:
- API Key
- Secret Key
- Truy cập Admin Settings → Klarna trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- API Key: API Key từ Klarna
- Secret Key: Secret Key từ Klarna
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Cấu hình Webhook trong Klarna Dashboard:
- Thêm webhook URL:
https://yourdomain.com/webhook-klarna
- Thêm webhook URL:
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Webhook URL:
{SITE_URL}webhook-klarna
Offline Payment
📚 Tham khảo: docs.txahub.click/#offline_payment
Mô tả: Thanh toán offline (chuyển khoản ngân hàng, thanh toán khi nhận hàng, v.v.).
Các bước cấu hình:
- Truy cập Admin Settings → Offline Payment trong hệ thống
- Nhập các thông tin:
- Is Enabled: Bật tính năng
- Instructions: Hướng dẫn thanh toán (ví dụ: số tài khoản ngân hàng, thông tin chuyển khoản)
- Proof Size Limit: Giới hạn kích thước file chứng từ thanh toán (MB)
- Currencies: Chọn các loại tiền tệ hỗ trợ
- Lưu cấu hình
Thông số kỹ thuật:
- Payment Type: One-time only
- Proof Size Limit: Tối đa bằng
get_max_upload()
Lưu ý:
- Người dùng sẽ phải upload chứng từ thanh toán sau khi thanh toán
- Admin cần xác nhận thanh toán thủ công
Thuế
Bạn có thể cấu hình các quy tắc thuế tùy chỉnh từ:
Bảng Điều khiển Quản trị → Cài đặt → Tab Thuế
Các quy tắc thuế có thể được thiết lập theo quốc gia, loại thanh toán và thời gian.
Đa tiền tệ
📚 Tài liệu chính thức: docs.txahub.click (Tìm kiếm "Đa tiền tệ" hoặc "Multi-currency")
Hệ thống hỗ trợ API chuyển đổi tiền tệ với cấu hình khác nhau tùy theo loại giấy phép.
Cấu hình từ: Bảng Điều khiển Quản trị → Cài đặt → Tab Đa tiền tệ
TXA Pro License
Sử dụng FreeCurrencyAPI
- Truy cập trang Admin Settings → Payment
- Tìm mục Currency Exchange API Key
- Đăng ký API key tại FreeCurrencyAPI
- Nhập API key vào trường Currency Exchange API Key
- Lưu cấu hình
API Endpoint:
- URL:
https://api.freecurrencyapi.com/v1/latest?apikey={API_KEY}&base_currency={FROM}¤cies={TO} - Ví dụ:
https://api.freecurrencyapi.com/v1/latest?apikey=YOUR_API_KEY&base_currency=USD¤cies=VND
Mô tả:
- API key từ FreeCurrencyAPI
- Hỗ trợ chuyển đổi tiền tệ tự động
- Không yêu cầu cấu hình thêm
- API được gọi tự động khi cần chuyển đổi tiền tệ
- ❌ Không hỗ trợ tỉ giá VND
TXA VIP License
Sử dụng CurrencyLayer (CurrencyAPI)
- Truy cập trang Admin Settings → Payment
- Đăng ký API key tại CurrencyLayer
- Nhập API key vào trường Currency API Key
- Bật toggle Currency API Enabled
- Cấu hình Currency Cache TTL (mặc định: 1800 giây = 30 phút)
- Lưu cấu hình
Thông số kỹ thuật:
- API URL:
http://api.currencylayer.com/live(được cấu hình trongconfig.php) - API Format:
{API_URL}?access_key={API_KEY}¤cies=VND&source=USD&format=1 - Register URL:
https://currencylayer.com/(được cấu hình trongconfig.php) - Cache File:
uploads/logs/currency_cache.json(được cấu hình trongconfig.php) - Default USD to VND: 26335 (tỷ giá mặc định nếu API lỗi, được cấu hình trong
config.php) - USD to VND Fee Percent: 8% (phí trên tỷ giá, được cấu hình trong
config.php) - USD to VND Extra Fee Percent: 3% (phí bổ sung trên số tiền gốc, được cấu hình trong
config.php)
Lưu ý:
- Cache TTL tối thiểu: 60 giây
- Cache TTL tối đa: 86400 giây (24 giờ)
- Hệ thống sẽ tự động cache tỷ giá để giảm số lần gọi API
- Nếu API lỗi, hệ thống sẽ sử dụng tỷ giá mặc định
- ✅ Có hỗ trợ tỉ giá VND
💡 Lưu ý: Nếu bạn cần hỗ trợ tỉ giá VND cho website của mình, vui lòng nâng cấp lên license TXAVIP để sử dụng CurrencyLayer API với đầy đủ tính năng.
Google Safe Browsing
Tích hợp Google Safe Browsing API để kiểm tra các URL độc hại.
Lấy API key từ Google Cloud Console.
Google Static Maps
Sử dụng Google Static Maps API để hiển thị bản đồ tĩnh.
Thiết lập API key từ: Google Cloud Console
Tên miền tùy chỉnh
Cho phép người dùng liên kết tên miền tùy chỉnh của họ.
Cấu hình DNS: Trỏ A record đến IP của server.
📹 Video hướng dẫn: Xem video hướng dẫn cấu hình Tên miền tùy chỉnh
Trình xử lý thông báo
Cấu hình email, SMS và thông báo đẩy từ:
Bảng Điều khiển Quản trị → Cài đặt → Thông báo
Tích hợp Telegram Bot Notifications
Tổng quan
Tính năng này cho phép người dùng kết nối Telegram Bot của riêng họ để nhận thông báo từ hệ thống TXAHUB. Admin có thể quản lý và cấu hình tính năng này thông qua Admin Panel.
Yêu cầu
- PHP 8.4+
- MySQL/MariaDB
- Telegram Bot Token (tạo từ @BotFather)
- HTTPS (bắt buộc cho webhook Telegram)
Hướng dẫn cài đặt
Bước 1: Tạo Telegram Bot
- Mở Telegram và tìm @BotFather
- Gửi lệnh
/newbot - Làm theo hướng dẫn để đặt tên và username cho bot
- BotFather sẽ cung cấp Bot Token (dạng:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz) - Lưu lại token này
Bước 2: Cấu hình Admin
- Đăng nhập vào Admin Panel
- Vào Settings → Telegram Bot
- Bật tính năng bằng cách check vào "Enable Telegram Bot Integration"
- Cấu hình thời gian hết hạn mã xác minh (mặc định: 5 phút)
- Chọn các loại thông báo được phép gửi:
- Link Created
- Link Updated
- Link Deleted
- Payment Received
- Biolink Created
- QR Code Created
- Click Update để lưu
Hướng dẫn sử dụng cho User
Kết nối Telegram Bot
- Đăng nhập vào tài khoản
- Vào Account → Telegram Bot Connect (hoặc truy cập
/telegram-bot-connect) - Nhập Bot Token đã tạo từ BotFather
- Click Connect Bot
- Hệ thống sẽ hiển thị:
- Webhook URL (copy URL này)
- Verification Code (mã xác minh)
Cấu hình Webhook cho Bot
Lưu ý: Webhook sẽ được tự động set khi bạn nhập bot token và click "Connect Bot". Tuy nhiên, nếu cần set thủ công hoặc webhook tự động set không thành công:
Cách 1: Set Webhook qua URL (Nhanh nhất)
- Đăng nhập vào tài khoản và vào trang Telegram Bot Connect
- Copy Webhook URL từ trang (click vào nút copy bên cạnh webhook URL)
- Mở trình duyệt và truy cập URL sau:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook?url=<WEBHOOK_URL> - Thay
<YOUR_BOT_TOKEN>bằng bot token của bạn (ví dụ:123456789:ABCdefGHIjklMNOpqrsTUVwxyz) - Thay
<WEBHOOK_URL>bằng webhook URL đã copy từ hệ thống (ví dụ:https://txahub.click/telegram-webhook/abc123...) - Ví dụ URL đầy đủ:
https://api.telegram.org/bot123456789:ABCdefGHIjklMNOpqrsTUVwxyz/setWebhook?url=https://txahub.click/telegram-webhook/abc123def456... - Nếu thành công, bạn sẽ thấy response:
{"ok":true,"result":true,"description":"Webhook was set"}
Cách 2: Set Webhook qua cURL (Từ Terminal/Command Prompt)
curl -X POST "https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook" \
-H "Content-Type: application/json" \
-d '{
"url": "<WEBHOOK_URL>",
"allowed_updates": ["message"]
}'
Thay <YOUR_BOT_TOKEN> và <WEBHOOK_URL> bằng giá trị thực tế.
Cách 3: Kiểm tra Webhook hiện tại
Để kiểm tra webhook đã được set chưa, truy cập:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getWebhookInfo
Response sẽ cho biết:
url: Webhook URL hiện tạihas_custom_certificate: Có certificate tùy chỉnh khôngpending_update_count: Số update đang chờ xử lýlast_error_date: Ngày lỗi cuối cùng (nếu có)last_error_message: Thông báo lỗi cuối cùng (nếu có)
Cách 4: Xóa Webhook (Nếu cần)
Nếu muốn xóa webhook, truy cập:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/deleteWebhook
⚠️ Lưu ý quan trọng:
- Webhook URL từ hệ thống là duy nhất cho mỗi bot và user, không được chia sẻ
- Webhook URL phải sử dụng HTTPS (không hỗ trợ HTTP)
- Server phải có thể nhận POST request từ Telegram (kiểm tra firewall)
- Webhook URL chỉ có thể được set một lần cho mỗi bot token
Xác minh Bot
- Mở Telegram và tìm bot của bạn (theo username đã đặt)
- Click Start để bắt đầu chat với bot
- Bot sẽ gửi mã xác minh cho bạn
- Nhập mã xác minh vào bot (mã có dạng:
TXATE_XXXXXXXX) - Nếu đúng, bot sẽ gửi thông báo xác nhận
- Quay lại trang web, bạn sẽ thấy trạng thái "Bot Verified"
Sử dụng sau khi xác minh
Sau khi bot được xác minh:
- Notification handler tự động được tạo
- Bạn sẽ nhận thông báo qua Telegram khi có sự kiện được cấu hình
- Có thể quản lý notification handler tại Notification Handlers
Cấu trúc Verification Code
- Prefix:
TXATE_ - Format:
TXATE_+ 8 ký tự ngẫu nhiên (chữ hoa) - Ví dụ:
TXATE_A1B2C3D4 - Thời gian hết hạn: Mặc định 5 phút (có thể cấu hình trong Admin)
Quy trình xác minh chi tiết
1. User nhập Bot Token
↓
2. Hệ thống validate token qua Telegram API
↓
3. Tạo Verification Code (TXATE_XXXXXXXX)
↓
4. Tạo Webhook URL và set webhook
↓
5. User start bot trên Telegram
↓
6. Bot gửi mã xác minh cho user
↓
7. User nhập mã vào bot
↓
8. Webhook nhận message và kiểm tra mã
↓
9. Nếu đúng → Xác minh thành công
↓
10. Tự động tạo/update Notification Handler
Troubleshooting
Bot không nhận được webhook
- Kiểm tra webhook URL có đúng không
- Đảm bảo server có HTTPS
- Kiểm tra firewall có chặn request từ Telegram không
- Thử set webhook thủ công qua API:
https://api.telegram.org/bot<TOKEN>/setWebhook?url=<URL>
Mã xác minh không hoạt động
- Kiểm tra mã có hết hạn không (mặc định 5 phút)
- Đảm bảo nhập đúng mã (có prefix TXATE_)
- Thử tạo lại bot token và nhập lại
Bot không gửi thông báo
- Kiểm tra bot đã được xác minh chưa
- Kiểm tra Notification Handler đã được tạo và enabled chưa
- Kiểm tra Admin đã bật loại thông báo đó chưa
- Kiểm tra logs để xem có lỗi không
Lỗi "Invalid Bot Token"
- Kiểm tra token có đúng format không (số:chuỗi)
- Kiểm tra token có còn hợp lệ không
- Thử tạo bot mới và lấy token mới
API Reference
Webhook Endpoint
- URL:
POST /telegram-webhook/{webhook_secret} - Headers:
Content-Type: application/json - Body: Telegram Update object (tự động gửi từ Telegram)
- Response:
200 OK(luôn trả về 200 để Telegram không retry)
User Connect Endpoint
- URL:
GET /telegram-bot-connect - Authentication: Required (User login)
- Method:
GET(view),POST(submit) - POST Data:
bot_token: Bot token từ BotFathertoken: CSRF token
Security Considerations
- Webhook Secret: Mỗi bot có webhook secret riêng để bảo mật
- Verification Code Expiry: Mã xác minh tự động hết hạn sau thời gian cấu hình
- CSRF Protection: Tất cả forms đều có CSRF protection
- Token Validation: Bot token được validate qua Telegram API trước khi lưu
- HTTPS Required: Telegram yêu cầu HTTPS cho webhook
Best Practices
- Tạo bot riêng cho mỗi user: Không chia sẻ bot token
- Bảo mật webhook secret: Không công khai webhook secret
- Kiểm tra thường xuyên: Kiểm tra bot còn hoạt động không
- Backup token: Lưu backup bot token ở nơi an toàn
- Monitor logs: Theo dõi logs để phát hiện lỗi sớm
Support
Nếu gặp vấn đề, vui lòng:
- Kiểm tra logs trong
uploads/logs/ - Kiểm tra error logs của server
- Liên hệ support qua:
- Website: https://txahub.click
- X: https://x.com/TxaVlog
- Facebook: fb.com/vlog.txa.2311
- YouTube: https://youtube.com/@admintxa
Changelog
Version 6120 - 2025-11-29
✨ Added - Tính năng mới
🔐 Đăng nhập bằng QR Code
- Tính năng đăng nhập bằng QR Code: Người dùng có thể đăng nhập vào hệ thống bằng cách quét QR code từ ứng dụng mobile
- API Endpoints mới:
POST /api/auth/qr/generate- Tạo QR code đăng nhậpGET /api/auth/qr/check- Kiểm tra trạng thái QR codePOST /api/auth/qr/scanAuth- Mobile app quét QR codePOST /api/auth/qr/confirmAuth- Mobile app xác nhận đăng nhậpGET /api/auth/qr/devicesAuth- Lấy danh sách thiết bị đã đăng nhập
- Database mới:
- Bảng
qr_sessions: Lưu trữ phiên đăng nhập QR code - Bảng
user_devices: Lưu trữ lịch sử thiết bị đăng nhập
- Bảng
- Frontend JavaScript:
- Auto-refresh QR code khi hết hạn
- Polling status mỗi 2 giây
- Tự động redirect khi đăng nhập thành công
- Models mới:
QrSession- Quản lý phiên QR codeUserDevice- Quản lý thiết bị người dùng
- Controller mới:
QrAuthController- Xử lý các API endpoints cho QR login
🔧 Technical Details
- QR code có thời gian hết hạn: 60 giây
- Tự động refresh QR code 5 giây trước khi hết hạn
- Hỗ trợ đa ngôn ngữ cho các thông báo QR login
- Tích hợp với hệ thống authentication hiện có mà không ảnh hưởng đến login cũ
📝 Notes
- Tính năng này hoàn toàn độc lập với hệ thống login hiện tại
- Không có thay đổi breaking changes
- Tương thích ngược 100%
OpenAI Integration
Thực hiện theo các bước sau để kết nối hệ thống của bạn với OpenAI API cho các tính năng AI như dịch thuật AI.
Lấy API Key từ OpenAI
- Đăng nhập vào OpenAI Dashboard bằng tài khoản OpenAI của bạn.
- Điều hướng đến phần View API Keys.
- Nhấp Create new secret key.
- Đặt tên mô tả cho key (ví dụ: "Production Website") và xác nhận.
- Lưu ý quan trọng: Sao chép API key ngay lập tức – bạn sẽ không thể xem lại nó sau khi rời khỏi trang.
Cấu hình AI Translation
Trong Bảng Điều khiển Quản trị → Cài đặt → Tab Main → Other settings → OpenAI API key, dán API key vào trường được cung cấp và lưu.
⚠️ Lưu ý: Đảm bảo bạn đã sao chép API key trước khi đóng trang. Nếu bạn quên hoặc mất API key, bạn sẽ cần tạo key mới.
🤖 Gemini AI Integration (v6108+)
📚 Tài liệu chính thức: docs.txahub.click/#gemini-ai
Hệ thống hỗ trợ Google Gemini AI bên cạnh ChatGPT cho hệ thống AI Chat. Admin có thể chọn AI provider (ChatGPT hoặc Gemini) và tất cả users sẽ tự động sử dụng AI provider mà admin đã chọn.
ℹ️ Plugin Requirement: Tính năng này chỉ hoạt động khi plugin AIX có trong hệ thống.
Tính năng mới (v6108)
- 🤖 Hỗ trợ Gemini AI: Thêm hỗ trợ Google Gemini AI bên cạnh ChatGPT cho hệ thống AI Chat
- ⚙️ Chọn AI Provider: Admin có thể chọn AI provider (ChatGPT hoặc Gemini) trong Admin Settings > AIX > Chats
- 🔄 Tự động sử dụng: Tất cả users sẽ tự động sử dụng AI provider mà admin đã chọn
- 🔑 Nhiều API Keys: Hỗ trợ nhiều Gemini API keys (hệ thống sẽ tự động chọn ngẫu nhiên)
- 📋 Nhiều Models: Hỗ trợ nhiều Gemini models: gemini-2.0-flash-exp, gemini-1.5-pro, gemini-1.5-flash, gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite, gemini-pro
Lấy Gemini API Key
- Truy cập Google AI Studio - API Keys
- Đăng nhập bằng tài khoản Google của bạn
- Nhấp Create API Key
- Chọn project hoặc tạo project mới
- Lưu ý quan trọng: Sao chép API key ngay lập tức – bạn sẽ không thể xem lại nó sau khi rời khỏi trang
Cấu hình Gemini AI
Cấu hình từ: Bảng Điều khiển Quản trị → Cài đặt → Tab AIX → Chats
1. Chọn AI Provider
- Truy cập Admin Settings → AIX → Chats
- Chọn AI Provider:
- ChatGPT: Sử dụng OpenAI ChatGPT (mặc định)
- Gemini: Sử dụng Google Gemini AI
- UI sẽ tự động hiển thị/ẩn các trường cấu hình Gemini dựa trên provider được chọn
2. Cấu hình Gemini API Key
- Nhập Gemini API Key vào trường được cung cấp
- Hỗ trợ nhiều API keys: Nhập nhiều API keys (mỗi key trên một dòng), hệ thống sẽ tự động chọn ngẫu nhiên
- Ví dụ:
AIzaSyA1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q AIzaSyZ9Y8X7W6V5U4T3S2R1Q0P9O8N7M6L5K4J AIzaSyH3I2J1K0L9M8N7O6P5Q4R3S2T1U0V9W8X
3. Chọn Gemini Model
- Chọn Gemini Model từ dropdown:
- gemini-2.0-flash-exp (Mặc định - Gemini 2.0 Flash Experimental)
- gemini-1.5-pro (Gemini 1.5 Pro)
- gemini-1.5-flash (Gemini 1.5 Flash)
- gemini-2.5-pro (Gemini 2.5 Pro)
- gemini-2.5-flash (Gemini 2.5 Flash)
- gemini-2.5-flash-lite (Gemini 2.5 Flash Lite)
- gemini-pro (Gemini Pro)
- Mặc định: gemini-2.0-flash-exp
- Tài liệu models: https://ai.google.dev/models/gemini
Cập nhật Database
⚠️ Migration: Sau khi cập nhật lên version 6108, bạn cần chạy Migration để cập nhật database:
Truy cập: https://yourdomain.com/update
Các trường mới được thêm vào database:
- chats_ai_provider (aix settings): Chọn AI provider -
chatgpthoặcgemini(Mặc định:chatgpt) - gemini_api_key (aix settings): API key cho Gemini (hỗ trợ nhiều keys, mỗi key trên một dòng)
- gemini_model (aix settings): Model Gemini được sử dụng (Mặc định:
gemini-2.0-flash-exp)
Giao diện mới
Admin Settings → AIX → Chats:
- ✅ UI chọn AI provider (ChatGPT/Gemini)
- ✅ Input field để nhập Gemini API key (hỗ trợ nhiều keys)
- ✅ Dropdown để chọn Gemini model
- ✅ UI tự động hiển thị/ẩn các trường cấu hình Gemini dựa trên provider được chọn
- ✅ Help text và tooltips hướng dẫn cấu hình cho từng field
Kỹ thuật
- System Prompt: Gemini sử dụng
systemInstructionthay vìsystemnhư ChatGPT - Response Format: Hệ thống tự động xử lý sự khác biệt về format response giữa ChatGPT và Gemini
- Error Handling: Cải thiện error handling cho từng AI provider
- Model Selection: Tự động chọn model dựa trên AI provider được admin cấu hình
- API Key Rotation: Hệ thống tự động chọn ngẫu nhiên từ nhiều API keys được cung cấp
✅ Backward Compatibility: Version này tương thích ngược 100% với version trước, không có breaking changes. Nếu không cấu hình Gemini, hệ thống sẽ tiếp tục sử dụng ChatGPT như mặc định.
🔒 Security: API keys được lưu trữ an toàn trong database và được mã hóa.
Lưu ý quan trọng
- Plugin Requirement: Tính năng này chỉ hoạt động khi plugin AIX có trong hệ thống
- Migration: Chạy
https://yourdomain.com/updateđể cập nhật database - Default Provider: Mặc định hệ thống sử dụng ChatGPT (
chatgpt) - Gemini API Key: Có thể lấy từ https://ai.google.dev/
- Multiple API Keys: Hỗ trợ nhập nhiều API keys (mỗi key trên một dòng), hệ thống sẽ tự động chọn ngẫu nhiên
- Model Selection: Admin có thể chọn Gemini model phù hợp với nhu cầu sử dụng
- Default Model: Mặc định sử dụng
gemini-2.0-flash-exp(Gemini 2.0 Flash Experimental) - Documentation: Gemini models documentation: https://ai.google.dev/models/gemini
Passkey Authentication
TXAHUB hỗ trợ đăng nhập bằng Passkey (WebAuthn) - một phương thức xác thực không mật khẩu an toàn hơn.
Tính năng
- Đăng nhập không cần mật khẩu bằng Passkey
- Hỗ trợ nhiều thiết bị (điện thoại, máy tính, khóa bảo mật)
- Backup tự động lên Google Drive (nếu đã cấu hình)
- Hiển thị thông tin thiết bị và vị trí khi đăng ký
- Quản lý Passkey từ trang quản lý tài khoản
Cấu hình
- Điều hướng đến Bảng Điều khiển Quản trị → Cài đặt → Tab Passkey
- Bật Passkey Login
- Cấu hình các tùy chọn:
- Attestation: Chọn mức độ xác thực (none, indirect, direct)
- User Verification: Yêu cầu xác thực người dùng
- Resident Key: Cho phép lưu passkey trên thiết bị
- Lưu cài đặt
Lưu ý: Passkey yêu cầu HTTPS để hoạt động. Đảm bảo website của bạn đã có SSL certificate.
Google Drive Backup
TXAHUB hỗ trợ sao lưu tự động Passkey lên Google Drive để bảo vệ dữ liệu của bạn.
Thiết lập Google Drive API
- Truy cập Google Cloud Console và đăng nhập
- Tạo project mới hoặc chọn project hiện có
- Điều hướng đến APIs & Services → Library
- Tìm và bật Google Drive API
- Điều hướng đến APIs & Services → Credentials
- Tạo OAuth 2.0 Client ID cho ứng dụng web
- Thêm Authorized redirect URIs:
https://yourdomain.com/admin/google-drive - Sao chép Client ID và Client Secret
Cấu hình trong TXAHUB
- Điều hướng đến Bảng Điều khiển Quản trị → Cài đặt → Tab Google Drive
- Nhập Client ID và Client Secret
- Nhấp Kết nối Google Drive để xác thực
- Cho phép quyền truy cập Google Drive
- Bật Auto Backup Passkeys nếu muốn tự động sao lưu
- Lưu cài đặt
Lưu ý: Google Drive backup chỉ hoạt động với Passkey. Đảm bảo đã cấu hình Passkey trước khi sử dụng tính năng này.
Đăng nhập nhanh (Quick Login)
📚 Tài liệu chính thức: docs.txahub.click (Tìm kiếm "Quick Login" hoặc "Đăng nhập nhanh")
Mô tả: Tính năng cho phép người dùng tạo link đăng nhập nhanh để đăng nhập trên nhiều thiết bị khác nhau mà không cần nhập mật khẩu.
Các bước cấu hình:
- Truy cập Admin Settings → Users trong hệ thống
- Tìm mục Enable Quick Login
- Bật toggle Enable Quick Login
- Lưu cấu hình
Cách sử dụng:
- Người dùng đăng nhập vào tài khoản
- Truy cập Đăng nhập nhanh từ menu sidebar hoặc header avatar menu
- Click Tạo link đăng nhập nhanh
- Hệ thống sẽ tạo một link đăng nhập duy nhất
- Copy link này và mở trên thiết bị khác
- Hệ thống sẽ tự động đăng nhập và đăng xuất tất cả các phiên đăng nhập khác
Thông số kỹ thuật:
- Token Prefix:
txasso_ - Token Format:
txasso_{hash} - URL:
{SITE_URL}quick-login/auth?token={token} - Security: Token được lưu trữ trong database và chỉ có thể sử dụng một lần
- Auto Logout: Khi đăng nhập bằng quick login, tất cả các phiên đăng nhập khác sẽ bị đăng xuất tự động
Lưu ý:
- ⚠️ Cảnh báo: Không chia sẻ link đăng nhập nhanh với người khác
- Link đăng nhập nhanh có thể bị thu hồi bất cứ lúc nào
- Admin có thể bật/tắt tính năng này trong settings
- Nếu tính năng bị tắt, menu sẽ ẩn và truy cập trực tiếp URL sẽ redirect về trang chủ
🔐 Đăng nhập bằng QR Code
📚 Tài liệu chính thức: docs.txahub.click/#qr-code-login
Mô tả: Tính năng cho phép người dùng đăng nhập vào hệ thống bằng cách quét QR code từ ứng dụng mobile. Tính năng này giúp đăng nhập nhanh chóng và an toàn mà không cần nhập mật khẩu.
ℹ️ Yêu cầu: Tính năng này yêu cầu ứng dụng mobile TXAHUB đã được cài đặt và đăng nhập trên thiết bị của bạn.
Cách sử dụng trên Web:
- Truy cập trang đăng nhập của hệ thống
- Click vào nút "Đăng nhập bằng QR Code" hoặc "Login with QR Code"
- Hệ thống sẽ hiển thị QR code trên màn hình
- Mở ứng dụng mobile TXAHUB trên điện thoại của bạn
- Trong ứng dụng, chọn tính năng "Quét QR Code" hoặc "Scan QR Code"
- Quét QR code hiển thị trên màn hình web
- Xác nhận đăng nhập trên ứng dụng mobile
- Hệ thống sẽ tự động đăng nhập và chuyển hướng bạn vào trang chủ
Cách sử dụng trên Mobile App:
- Mở ứng dụng TXAHUB trên điện thoại
- Đảm bảo bạn đã đăng nhập vào ứng dụng
- Vào menu hoặc tìm tính năng "Quét QR Code" / "Scan QR Code"
- Cho phép ứng dụng truy cập camera (nếu chưa cấp quyền)
- Quét QR code hiển thị trên màn hình web
- Xem lại thông tin đăng nhập và click "Xác nhận" / "Confirm"
- Đăng nhập sẽ được thực hiện tự động trên trình duyệt web
Tính năng tự động:
- ✅ Auto-refresh QR code: QR code sẽ tự động được làm mới 5 giây trước khi hết hạn (thời gian hết hạn: 60 giây)
- ✅ Polling status: Hệ thống tự động kiểm tra trạng thái QR code mỗi 2 giây
- ✅ Auto redirect: Tự động chuyển hướng khi đăng nhập thành công
- ✅ Thông báo trạng thái: Hiển thị thông báo rõ ràng về trạng thái QR code (đang chờ, đã quét, đã xác nhận, hết hạn)
API Endpoints:
Hệ thống cung cấp các API endpoints sau cho tính năng QR Code login:
POST /api/auth/qr/generate- Tạo QR code đăng nhập mới- Response:
{"qr_token": "...", "expires_at": "..."}
- Response:
GET /api/auth/qr/check?token={qr_token}- Kiểm tra trạng thái QR code- Response:
{"status": "pending|scanned|confirmed|expired", "user_id": ...}
- Response:
POST /api/auth/qr/scanAuth- Mobile app quét QR code- Body:
{"qr_token": "...", "device_info": {...}} - Response:
{"success": true, "user": {...}}
- Body:
POST /api/auth/qr/confirmAuth- Mobile app xác nhận đăng nhập- Body:
{"qr_token": "...", "confirm": true} - Response:
{"success": true, "session_token": "..."}
- Body:
GET /api/auth/qr/devicesAuth- Lấy danh sách thiết bị đã đăng nhập- Response:
{"devices": [...]}
- Response:
Database Schema:
Hệ thống sử dụng 2 bảng mới để quản lý QR Code login:
Bảng qr_sessions:
id- ID phiên QR codeqr_token- Token QR code duy nhấtstatus- Trạng thái: pending, scanned, confirmed, expireduser_id- ID người dùng (null nếu chưa xác nhận)expires_at- Thời gian hết hạncreated_at- Thời gian tạoupdated_at- Thời gian cập nhật
Bảng user_devices:
id- ID thiết bịuser_id- ID người dùngdevice_name- Tên thiết bịdevice_type- Loại thiết bị (mobile, tablet, desktop)device_info- Thông tin chi tiết thiết bị (JSON)last_login_at- Thời gian đăng nhập cuốicreated_at- Thời gian tạo
Models & Controllers:
- QrSession Model: Quản lý phiên QR code, xử lý tạo token, kiểm tra trạng thái, cập nhật status
- UserDevice Model: Quản lý lịch sử thiết bị đăng nhập của người dùng
- QrAuthController: Xử lý tất cả các API endpoints cho QR login, bao gồm:
- Generate QR code
- Check QR status
- Handle scan from mobile
- Handle confirm from mobile
- Get user devices list
Thông số kỹ thuật:
- Thời gian hết hạn QR code: 60 giây
- Thời gian auto-refresh: 5 giây trước khi hết hạn (tức là refresh sau 55 giây)
- Polling interval: 2 giây (kiểm tra trạng thái mỗi 2 giây)
- Token format: Random string được mã hóa an toàn
- Security: QR token chỉ có thể sử dụng một lần, tự động hết hạn sau 60 giây
Hỗ trợ đa ngôn ngữ:
Hệ thống hỗ trợ đa ngôn ngữ cho các thông báo QR login, bao gồm:
- Tiếng Việt
- Tiếng Anh
- Và các ngôn ngữ khác được cấu hình trong hệ thống
Tương thích:
✅ Backward Compatibility: Tính năng này hoàn toàn độc lập với hệ thống login hiện tại. Không có thay đổi breaking changes và tương thích ngược 100%.
Người dùng vẫn có thể sử dụng các phương thức đăng nhập truyền thống (email/password, social login, quick login) như bình thường.
Lưu ý bảo mật:
⚠️ Lưu ý:
- QR code chỉ có hiệu lực trong 60 giây, sau đó sẽ tự động hết hạn
- Mỗi QR code chỉ có thể sử dụng một lần
- Đảm bảo bạn đang quét QR code từ trang web chính thức của hệ thống
- Không chia sẻ QR code với người khác
- Luôn kiểm tra thông tin đăng nhập trước khi xác nhận trên ứng dụng mobile
Troubleshooting:
- QR code không hiển thị: Kiểm tra kết nối internet, thử refresh trang
- Không quét được QR code: Đảm bảo camera có đủ ánh sáng, QR code rõ ràng, kiểm tra quyền truy cập camera
- QR code hết hạn: QR code sẽ tự động refresh, chờ vài giây hoặc refresh trang
- Đăng nhập không thành công: Kiểm tra bạn đã đăng nhập vào ứng dụng mobile, kiểm tra kết nối internet
- Lỗi API: Kiểm tra logs trong
uploads/logs/hoặc liên hệ support
Support Key
Support Key được sử dụng để xác thực quyền nhận hỗ trợ kỹ thuật từ TXAHUB.
Định dạng Support Key
Support Key có định dạng:
TXAHUB-SUPPORT-YYYY-TYPE-SUFFIX
Trong đó:
- YYYY: Năm (4 chữ số)
- TYPE: Loại hỗ trợ:
PREMIUM: Cho license TXAVIPSTANDARD: Cho license TXAPRO
- SUFFIX: 8 ký tự hex (A-F, 0-9)
Ví dụ Support Key
↑ Cho license TXAVIP
↑ Cho license TXAPRO
Cấu hình Support Key
- Điều hướng đến Bảng Điều khiển Quản trị → Cài đặt → Tab Support
- Nhập Support Key của bạn vào trường Support Key
- Hệ thống sẽ tự động kiểm tra định dạng và xác thực với API
- Nếu Support Key hợp lệ, bạn sẽ thấy thông tin về thời hạn hỗ trợ
- Lưu cài đặt
Lưu ý: Support Key phải khớp với loại license của bạn. TXAVIP cần PREMIUM, TXAPRO cần STANDARD.
Quan trọng: Support Key được cung cấp khi bạn mua sản phẩm. Nếu bạn không có Support Key, vui lòng liên hệ hỗ trợ qua email hoặc Facebook.
Hosting
Khuyến nghị Hosting
Để có hiệu suất tối ưu, chúng tôi khuyên dùng:
- VPS/Dedicated Server: Cloudways, DigitalOcean, Hetzner, Vultr
- Shared Hosting: Namecheap, Hostinger, SiteGround
Tên miền
NameCheap cho đăng ký tên miền, họ cung cấp giá tốt và giao diện đơn giản. Chúng tôi đã sử dụng họ từ khi bắt đầu TXAHUB.
Xử lý lỗi
Khi gặp lỗi trong quá trình sử dụng TXAHUB, bạn có thể xử lý theo các cách sau:
🔍 Báo lỗi qua Email
Nếu bạn gặp lỗi, hệ thống sẽ hiển thị mã lỗi trên trang. Bạn có thể báo lỗi cho admin thông qua email:
- Ghi lại mã lỗi: Khi gặp lỗi, trang sẽ hiển thị một mã lỗi (error code) hoặc thông báo lỗi chi tiết. Hãy copy mã lỗi này.
- Gửi email báo lỗi:
- Gửi email đến địa chỉ hỗ trợ: support@txahub.click
- Tiêu đề:
[TXAHUB] Báo lỗi - Mã lỗi: [Mã lỗi của bạn] - Nội dung email bao gồm:
- Mã lỗi (Error Code) đã copy từ trang
- Mô tả chi tiết về lỗi
- Bước thực hiện dẫn đến lỗi
- Thông tin môi trường (PHP version, database version nếu có)
- Screenshot (nếu có thể)
💡 Lưu ý: Mã lỗi giúp admin xác định nhanh chóng nguyên nhân và đưa ra giải pháp. Hãy đảm bảo bạn đã copy đầy đủ mã lỗi khi gửi email.
📦 Cập nhật phiên bản mới nhất
Nếu bạn không thể xác định được mã lỗi hoặc lỗi đã được sửa trong phiên bản mới, hãy cập nhật lên phiên bản mới nhất:
- Kiểm tra phiên bản hiện tại:
- Đăng nhập vào Bảng Điều khiển Quản trị
- Kiểm tra phiên bản tại Cài đặt → Tổng quan
- Tải phiên bản mới nhất:
- Bạn có thể vào link trực tiếp trên thông báo để tải xuống
- Hoặc có thể truy cập https://software.txahub.click/product/txahub/changelog#v6120
- Cập nhật theo hướng dẫn:
- Tham khảo phần Cập nhật trong tài liệu này
- Đảm bảo đã sao lưu dữ liệu trước khi cập nhật
- Làm theo các bước cập nhật từng bước
⚠️ Quan trọng: Luôn sao lưu (backup) dữ liệu và file trước khi cập nhật. Nếu bạn có Google Drive Backup đã được cấu hình, hệ thống sẽ tự động backup trước khi cập nhật.
🔄 Quy trình xử lý lỗi khuyến nghị
- Ghi lại mã lỗi: Copy mã lỗi từ trang web
- Kiểm tra tài liệu: Xem phần FAQ để tìm giải pháp nhanh
- Gửi email báo lỗi: Nếu không tìm thấy giải pháp, gửi email với mã lỗi
- Đợi phản hồi: Admin sẽ phản hồi và hướng dẫn giải quyết
- Cập nhật phiên bản: Nếu được thông báo, cập nhật lên phiên bản mới nhất
✅ Mẹo: Nhiều lỗi đã được sửa trong các phiên bản cập nhật. Hãy đảm bảo bạn luôn sử dụng phiên bản mới nhất để tránh các lỗi đã biết.
📞 Liên hệ hỗ trợ
Nếu bạn cần hỗ trợ thêm:
- Email: support@txahub.click
- Facebook: https://fb.com/vlog.txa.2311
Khi liên hệ, vui lòng cung cấp:
- License key của bạn (để xác thực)
- Mã lỗi (nếu có)
- Mô tả chi tiết vấn đề
- Screenshot (nếu có thể)
Câu hỏi thường gặp
📝 Làm thế nào để cập nhật văn bản trên trang web?
Bất kỳ văn bản tĩnh nào từ trang web đều có thể được thay đổi từ Bảng Điều khiển Quản trị \-> Ngôn ngữ \-> {tên ngôn ngữ} \-> Trang Dịch ứng dụng.
Khuyến nghị tạo ngôn ngữ mới thay vì chỉnh sửa ngôn ngữ gốc, để nó không bị ghi đè khi cập nhật lên phiên bản mới.
✍️ Tại sao tôi không thể chỉnh sửa tất cả các chuỗi ngôn ngữ trong bảng điều khiển quản trị?
Điều này xảy ra vì cấu hình hosting hiện tại của bạn không cho phép gửi biểu mẫu với tất cả các trường dịch thuật hiện có.
Để khắc phục, bạn phải tăng biến PHP ini max_input_vars lên giá trị được đề cập trong Bảng Điều khiển Quản trị \-> Ngôn ngữ \-> {tên ngôn ngữ} \-> Trang Dịch ứng dụng.
Nếu bạn không có tùy chọn hoặc không biết cách tăng giá trị này, hãy liên hệ nhà cung cấp hosting của bạn.
🌎 Làm thế nào để dịch phần mềm sang ngôn ngữ khác?
Bạn có thể tạo gói ngôn ngữ mới và bắt đầu dịch từ Bảng Điều khiển Quản trị \-> Ngôn ngữ \-> Tạo ngôn ngữ \-> Trang Dịch ứng dụng.
Bạn cũng có tùy chọn nâng cao để sao chép trực tiếp tệp app/languages/english#en.php cho phía ứng dụng người dùng hoặc tệp app/languages/admin/english#en.php cho phía bảng điều khiển quản trị, tuân theo cùng khái niệm đặt tên cho tệp: language_name#language_code.php.
⚠️ Tại sao tôi nhận được 404 Not Found trên tất cả các liên kết?
Trong phần lớn các trường hợp, điều này do một trong những trường hợp sau:
- Máy chủ Nginx - Bạn chưa thực hiện thiết lập Nginx đúng cách hoặc chưa thực hiện.
- Máy chủ Apache
- Bạn không tải lên tệp .htaccess.
- Bạn không có quyền phù hợp (CHMOD 644) cho tệp .htaccess.
- Nhà cung cấp máy chủ web của bạn không bật mod_rewrite cho Apache.
- Tệp .htaccess tồn tại, nhưng nội dung không giống với tệp gốc từ sản phẩm của tôi.
⚠️ Tôi nhận được lỗi máy chủ nội bộ 503, tại sao?
- Nếu bạn chạy máy chủ hỗ trợ .htaccess, một số máy chủ có thể không chấp nhận dòng đầu tiên của tệp .htaccess. Hãy thử xóa dòng đầu tiên trên tệp .htaccess.
- Nếu bạn nhận được lỗi này khi gửi biểu mẫu, điều này có nghĩa là máy chủ web của bạn đã chặn yêu cầu. Hãy thử tắt
mod_security, vì nó có thể kích hoạt dương tính giả, hoặc liên hệ nhà cung cấp máy chủ web của bạn.
🧟 Tôi nhận được đăng ký người dùng spam, làm thế nào để ngăn chặn chúng?
Đăng ký spam không thể được ngăn chặn hoàn toàn. Không trang web nào có thể hoàn toàn loại bỏ thư rác. TXAHUB cung cấp nhiều biện pháp bảo vệ spam, vì vậy bạn chỉ cần sử dụng chúng.
- Xác nhận email - Đặt từ phần Bảng điều khiển quản trị \-> Cài đặt \-> Người dùng
- Captcha - Đặt từ phần Bảng điều khiển quản trị \-> Cài đặt \-> Captcha
- Chặn quốc gia - Đặt từ phần Bảng điều khiển quản trị \-> Cài đặt \-> Người dùng
- Chặn domain email - Đặt từ phần Bảng điều khiển quản trị \-> Cài đặt \-> Người dùng
- Tự động xóa người dùng chưa xác nhận / cũ - Đặt từ phần Bảng điều khiển quản trị \-> Cài đặt \-> Người dùng
- Xóa hàng loạt người dùng - Đặt từ trang Bảng điều khiển quản trị \-> Người dùng. Trong trường hợp bạn muốn xóa nhiều người dùng cùng lúc.
- Plugin Email Shield - Sử dụng các thuật toán tiên tiến và nhiều danh sách đen từ web để ngăn chặn đăng ký domain spam.
🗺️ Có sitemap không?
Bạn có thể truy cập sitemap bằng cách truy cập đường dẫn /sitemap trên website, chẳng hạn như https://example.com/sitemap.
📧 Email không được gửi / Tôi có lỗi với SMTP của mình.
Tất cả lỗi liên quan đến hệ thống gửi email đều do: Thông tin đăng nhập SMTP không chính xác, máy chủ SMTP không hoạt động đúng, hoặc máy chủ web chặn kết nối SMTP thực tế. Đối với bất kỳ vấn đề nào trong số này, hãy liên hệ nhà cung cấp SMTP hoặc máy chủ web của bạn.
✨ Làm thế nào để tùy chỉnh trang landing page index?
Chỉnh sửa cấu trúc & thành phần của trang được thực hiện từ tệp themes/altum/views/index/index.php.
Chỉnh sửa văn bản được thực hiện như đã đề cập ở trên trong phần 📝 Làm thế nào để cập nhật văn bản trên trang web?.
Chỉnh sửa hình ảnh được thực hiện trực tiếp qua Bảng điều khiển quản trị \-> Cài đặt \-> Trang Hình ảnh tùy chỉnh.
Để tắt trang landing page gốc để chuyển hướng đến trang landing page tùy chỉnh, bạn phải vào trang Bảng điều khiển quản trị \-> Cài đặt và tìm trường Custom landing page URL nơi bạn có thể thêm URL trang landing page mới của mình.
🧑💻 Tôi cố gắng thực hiện yêu cầu API, nhưng nhận được "The request is missing the Bearer Authentication header".
Bạn đang không gửi header Bearer Authentication đúng cách, hoặc nhà cung cấp hosting của bạn đang loại bỏ header đó trước khi nó đến TXAHUB. Trong trường hợp này, bạn cần liên hệ nhà cung cấp hosting của mình, hoặc bạn có thể tự thử một cách khắc phục nhanh, có thể hoạt động với một số người: Stack Overflow - Apache strips Authorization header
🎨 Làm thế nào để tùy chỉnh màu sắc hoặc các khía cạnh thiết kế (CSS) khác của trang web?
Có thể thực hiện theo nhiều cách, tùy thuộc vào kiến thức CSS/SCSS thực tế của bạn.
- Cách dễ nhất: Bạn có thể chỉnh sửa màu chủ đề trực tiếp trong Bảng điều khiển quản trị \-> Cài đặt \-> Trang Chủ đề.
- Bạn có thể viết CSS tùy chỉnh của riêng mình, ghi đè các quy tắc đã tồn tại, và dán vào trường Bảng điều khiển quản trị \-> Cài đặt \-> CSS tùy chỉnh.
- Bạn có thể thay thế màu thủ công thông qua các tệp bootstrap CSS trong thư mục themes/altum/assets/css/.
© Làm thế nào để thay đổi/xóa branding TXAHUB mặc định ở footer?
Bạn có thể làm điều này qua Bảng điều khiển quản trị \-> Tài nguyên, Trang.
💳 Tại sao tôi không thấy các thanh toán được ghi lại trong danh sách thanh toán sau khi thực hiện thanh toán thử nghiệm?
Điều này có thể xảy ra vì bạn đã bỏ qua hoặc cấu hình sai một bước khi cấu hình cổng thanh toán.
🧑💼 Tôi mất mật khẩu quản trị viên & không thể đặt lại, phải làm gì?
Trong trường hợp này, bạn cần truy cập trình quản lý cơ sở dữ liệu của mình (chẳng hạn như phpMyAdmin), chọn cơ sở dữ liệu của sản phẩm đã cài đặt, đi đến bảng users, tìm tài khoản quản trị viên của bạn và đặt mật khẩu thành $2y$12$KCOWATm7xY1r8g4zAlhmH.y36XJjS/iaAscA42i4sQOgqvL0LzzT2, tương đương với 2311 là mật khẩu. Bây giờ bạn cần tìm uploads/cache/ từ các tệp cài đặt sản phẩm và xóa thư mục bạn thấy bên trong.
🔐 Tôi đã cấu hình captcha với API key sai, bây giờ tôi không thể đăng nhập. Tôi có thể làm gì?
Trong trường hợp này, bạn cần truy cập trình quản lý cơ sở dữ liệu của mình (chẳng hạn như phpMyAdmin), chọn cơ sở dữ liệu của sản phẩm đã cài đặt, đi đến bảng settings, tìm khóa captcha và chỉnh sửa value như sau:
Tìm phần "login_is_enabled":true của văn bản và chỉnh sửa thành "login_is_enabled":false.
Bây giờ bạn cần tìm uploads/cache/ từ các tệp cài đặt sản phẩm và xóa thư mục bạn thấy bên trong.
🖥️ Làm thế nào để di chuyển sang hosting khác?
Đầu tiên bạn cần sao lưu cả các tệp và cơ sở dữ liệu của cài đặt hiện tại. Sau đó bạn cần thực hiện di chuyển thực tế sang hosting khác với các tệp và cơ sở dữ liệu đã sao lưu, và sau đó, bạn chỉ cần chỉnh sửa tệp config.php và đảm bảo tất cả các chi tiết bên trong vẫn chính xác.
🔑 Tôi không thể kích hoạt license key, phải làm gì?
Nếu bạn gặp vấn đề khi kích hoạt license key:
- Đảm bảo bạn đã nhập đúng license key (format:
txapro_[a-zA-Z0-9_]{20,}hoặctxavip_[a-zA-Z0-9_]{20,}) - Kiểm tra kết nối internet của bạn
- Đảm bảo domain của bạn khớp với domain đã đăng ký license
- Xóa cache bằng cách xóa thư mục
uploads/cache/và thử lại - Nếu vẫn không được, vui lòng liên hệ hỗ trợ qua email hoặc Facebook
🔑 License key của tôi đã hết hạn, tôi cần làm gì?
Nếu bạn sở hữu license TXAPRO và license đã hết hạn, tùy thuộc vào tình huống của bạn:
✅ Trường hợp 1: Vẫn có thể truy cập vào trang quản trị
Nếu bạn vẫn có thể đăng nhập vào Bảng Điều khiển Quản trị:
- Đăng nhập vào Bảng Điều khiển Quản trị
- Điều hướng đến Cài đặt → Tab License
- Nhấp vào nút Gia hạn License để thanh toán gia hạn
- Sau khi thanh toán thành công, license sẽ tự động được cập nhật
❌ Trường hợp 2: Không thể truy cập vào trang quản trị
Nếu bạn không thể đăng nhập vào Bảng Điều khiển Quản trị:
- Hệ thống sẽ tự động chuyển hướng bạn đến trang nhập license key mới
- Trên trang này, bạn sẽ thấy nút Mua license mới
- Nhấp vào nút Mua license mới để chuyển đến trang thanh toán
- Sau khi mua license mới thành công, quay lại trang nhập license key
- Nhập license key mới của bạn vào trường và nhấp Kích hoạt
- Sau khi kích hoạt thành công, bạn sẽ được chuyển hướng về trang quản trị
💡 Mẹo: Nếu bạn gặp khó khăn trong quá trình gia hạn hoặc mua license mới, vui lòng liên hệ hỗ trợ qua email hoặc Facebook để được hỗ trợ.
🔄 Tôi đã gia hạn nhưng thời gian và key không được cập nhật lại, cần làm gì?
Nếu bạn đã thanh toán gia hạn nhưng license key và thời gian không được cập nhật, hãy thử các bước sau:
- Xóa cache:
- Xóa thư mục
uploads/cache/từ các tệp cài đặt sản phẩm - Hoặc đợi tối đa 1 giờ để hệ thống tự động làm mới (auto-refresh) cho license TXAPRO
- Xóa thư mục
- Kiểm tra lại license:
- Đăng nhập vào Bảng Điều khiển Quản trị
- Điều hướng đến Cài đặt → Tab License
- Kiểm tra thông tin license hiện tại
- Kích hoạt lại license:
- Nhập lại license key của bạn vào trường License Key
- Nhấp Kích hoạt để hệ thống kiểm tra và cập nhật lại
- Kiểm tra kết nối:
- Đảm bảo server của bạn có kết nối internet ổn định
- Kiểm tra xem server có thể kết nối đến API license không
- Liên hệ hỗ trợ:
- Nếu đã thử tất cả các bước trên nhưng vẫn không được cập nhật, vui lòng liên hệ hỗ trợ qua email support@txahub.click hoặc Facebook
- Cung cấp thông tin: License key, email đã thanh toán, thời gian thanh toán, và screenshot màn hình license
💡 Lưu ý: Đối với license TXAPRO, hệ thống sẽ tự động làm mới license mỗi giờ. Nếu bạn vừa gia hạn, có thể cần đợi tối đa 1 giờ để thông tin được cập nhật tự động.
⚠️ Quan trọng: Nếu bạn đã thanh toán gia hạn nhưng license không được cập nhật sau 24 giờ, vui lòng liên hệ hỗ trợ ngay lập tức với thông tin thanh toán để được xử lý.
🔐 Tôi đã cấu hình Passkey nhưng không hoạt động, tại sao?
Passkey yêu cầu một số điều kiện để hoạt động:
- HTTPS: Website phải có SSL certificate (HTTPS)
- Trình duyệt hỗ trợ: Chrome, Firefox, Safari, Edge (phiên bản mới)
- Thiết bị hỗ trợ: Thiết bị phải hỗ trợ WebAuthn (hầu hết thiết bị hiện đại)
- Cấu hình đúng: Đảm bảo đã bật Passkey Login trong cài đặt
Nếu vẫn không hoạt động, hãy kiểm tra console của trình duyệt để xem lỗi cụ thể.
🔑 Tôi không thể nhập Support Key, tại sao?
Support Key phải đúng định dạng:
TXAHUB-SUPPORT-YYYY-TYPE-SUFFIX
Ví dụ:
Đảm bảo:
- Support Key phải khớp với loại license của bạn (TXAVIP cần PREMIUM, TXAPRO cần STANDARD)
- Đã kích hoạt license key trước khi nhập Support Key
- Nhập đúng định dạng (chữ hoa, dấu gạch ngang, v.v.)
💾 Google Drive Backup không hoạt động, phải làm gì?
Nếu Google Drive Backup không hoạt động, hãy kiểm tra theo thứ tự ưu tiên sau:
⚠️ QUAN TRỌNG NHẤT: Đảm bảo license của bạn là TXAVIP, không phải TXAPRO. Google Drive Backup chỉ khả dụng với license TXAVIP. Nếu bạn đang sử dụng TXAPRO, bạn cần nâng cấp lên TXAVIP để sử dụng tính năng này.
Sau khi đảm bảo license là TXAVIP, kiểm tra các điều kiện sau:
- Đảm bảo đã cấu hình Google Drive API đúng cách (Client ID và Client Secret)
- Đã kết nối Google Drive thành công (nhấp "Kết nối Google Drive")
- Đã bật "Auto Backup Passkeys" trong cài đặt passkey
- Đã có ít nhất một Passkey được đăng ký
- Kiểm tra quyền truy cập Google Drive trong Google Cloud Console
Nếu vẫn không hoạt động sau khi đã kiểm tra tất cả các điều kiện trên, hãy kiểm tra log trong admin panel để xem lỗi cụ thể.
Đăng nhập xã hội
Thực hiện theo các bước sau để thiết lập phương thức đăng nhập bổ sung thông qua các mạng xã hội phổ biến. Đảm bảo sử dụng HTTPS cho tất cả Redirect URIs và xác minh tên miền khi được yêu cầu.
Video hướng dẫn: Xem video tutorial về cách thiết lập Facebook Login và Google Login.
Facebook Login
📹 Video hướng dẫn: Xem video hướng dẫn thiết lập Facebook Login
- App Domains
- Privacy Policy URL
- Terms of Service URL
- App Icon (khuyến nghị)
Tên miền của bạn phải được xác minh nếu được yêu cầu.https://yourdomain.com/login/facebookGoogle Login
📹 Video hướng dẫn: Xem video hướng dẫn thiết lập Google Login
openid,email,profile.https://yourdomain.com/login/google📚 Tài liệu chính thức: docs.txahub.click/#social-logins
Hệ thống hỗ trợ đăng nhập qua các mạng xã hội (trừ Facebook và Google). Tất cả các social login đều yêu cầu cấu hình OAuth credentials từ nhà cung cấp tương ứng.
Microsoft Login
📚 Tham khảo: docs.txahub.click/#social-logins
Mô tả: Đăng nhập bằng tài khoản Microsoft (Outlook, Hotmail, Office 365).
Các bước cấu hình:
https://yourdomain.com/login/microsofthttps://yourdomain.com/login/microsoft(tự động hiển thị)Thông số kỹ thuật:
user.readcommon{SITE_URL}login/microsoftDiscord Login
📚 Tham khảo: docs.txahub.click/#social-logins
Mô tả: Đăng nhập bằng tài khoản Discord.
Các bước cấu hình:
https://yourdomain.com/login/discordemailvàidentifyhttps://yourdomain.com/login/discord(tự động hiển thị)Thông số kỹ thuật:
email identify{SITE_URL}login/discordLinkedIn Login
📚 Tham khảo: docs.txahub.click/#social-logins
Mô tả: Đăng nhập bằng tài khoản LinkedIn.
Các bước cấu hình:
https://yourdomain.com/login/linkedinhttps://yourdomain.com/login/linkedinhttps://yourdomain.com/login/linkedin(tự động hiển thị)Thông số kỹ thuật:
openid profile email{SITE_URL}login/linkedinTwitter/X Login
📚 Tham khảo: docs.txahub.click/#social-logins
Mô tả: Đăng nhập bằng tài khoản Twitter/X.
Các bước cấu hình:
https://yourdomain.com/login/twitterhttps://yourdomain.com/login/twitter(tự động hiển thị)Thông số kỹ thuật:
true{SITE_URL}login/twitteroauth_tokenvàoauth_verifierLưu ý: