Bản v7 chuyển hệ thống thanh toán từ SePay/VietQR sang PayOS nhưng vẫn giữ nguyên flow bán hàng của shop:
- ticket + order + log + giao hàng + feedback + bảo hành
- tạo checkout PayOS cho từng đơn có giá tiền
- gửi QR + nút Thanh toán ngay ngay trong ticket
- webhook PayOS tự xác nhận thanh toán
- trang
returnUrl/cancelUrlđể khách xem kết quả thanh toán - DM thanh toán thành công, DM hoàn thành đơn, DM giao tài khoản
- mã đơn random dạng
CR_123456 - ticket dạng
ticket-123456 /congno,/khachhang, transcript, scheduler non-legit
- Copy
.env.examplethành.env - Điền
BOT_TOKEN,CLIENT_ID,GUILD_ID - Điền
PUBLIC_BASE_URL,PAYOS_CLIENT_ID,PAYOS_API_KEY,PAYOS_CHECKSUM_KEY - Chạy:
npm install
npm run check:env
npm run deploy
npm start- Bật Message Content Intent nếu muốn dùng
+donevà+qr - Dùng
/setup-ticketđể cấu hình panel, category, log, feedback, transcript - Dùng
/setup-payos xac_nhan_webhook:trueđể kiểm tra cấu hình PayOS và xác nhận webhook URL với PayOS
PAYMENT_PROVIDER=PAYOS
PUBLIC_BASE_URL=https://your-domain.com
PAYOS_CLIENT_ID=...
PAYOS_API_KEY=...
PAYOS_CHECKSUM_KEY=...
PAYOS_WEBHOOK_PATH=/webhooks/payos
PAYOS_RETURN_PATH=/payments/payos/return
PAYOS_CANCEL_PATH=/payments/payos/cancelCó 2 cách:
- Trên Discord:
/setup-payos xac_nhan_webhook:true - Hoặc terminal:
npm run confirm:webhook- Khách mở ticket từ panel
- Staff chạy
/oder - Nếu có giá tiền, bot tự gửi embed QR + nút checkout PayOS trong ticket
- Khách thanh toán trên PayOS
- PayOS bắn webhook -> bot tự đổi trạng thái đơn sang
ĐANG XỬ LÍ - Staff xử lý xong dùng
/hoanthanhhoặc+done - Bot nhắc feedback và mở bảo hành nếu cần
/setup-ticket/setup-payos/setup-bank(alias cũ để xem cấu hình PayOS)/oder/qr/hoanthanh/done/giaohang/feedback/congno/khachhang/baohanh
- Auto payment cần URL HTTPS public để PayOS gọi tới
/qr dong_bo_payos:truesẽ bắt bot hỏi PayOS lại trạng thái đơn mới nhất- Nếu webhook chưa chạy, staff vẫn có thể xác nhận tay bằng
/qr xac_nhan_tay:true
- Fixed missing
getOrderByPaymentCodeimport in PayOS webhook handler. - Added
GEThealth response on the PayOS webhook path so opening the URL in a browser no longer showsCannot GET. - Kept the existing PayOS payment flow unchanged.