Thiết lập VietQR / SePay

BotTele Store dùng VietQR để tạo mã QR thanh toán và SePay để đối soát giao dịch tự động. Khi thiết lập đúng, mỗi đơn hàng thành công sẽ được giao hàng ngay mà không cần bạn can thiệp thủ công.

Thông tin tài khoản ngân hàng

Tạo tài khoản và truy cập vào sepay.vn. Vào Home → Ngân hàng → Thêm tài khoản ngân hàng. Nhập số tài khoản ngân hàng, chọn ngân hàng từ danh sách (vd. Vietcombank, MB Bank, Techcombank), và nhập tên chủ tài khoản đúng như trong sổ ngân hàng. Thông tin này dùng để tạo mã VietQR cho mỗi đơn hàng.

Dùng tài khoản chuyên biệt cho cửa hàng — tách riêng khỏi tài khoản cá nhân để dễ đối soát và quản lý thuế.
Màn hình thêm tài khoản ngân hàng trong Home → Ngân hàng
Form thêm tài khoản ngân hàng.

Liên kết SePay

Đăng nhập vào tài khoản SePay của bạn tại sepay.vn. Vào mục API / Webhook, tạo một API key mới. Quay lại dashboard BotTele Store → Cài đặt → Thanh toán, dán API key vào ô SePay API Key và bấm Lưu.

Sau khi lưu, BotTele Store sẽ tự động đăng ký webhook IPN với SePay. Bạn không cần cấu hình thêm gì bên phía SePay.

Trang cài đặt thanh toán với trường SePay API Key
Ô nhập SePay API Key trong Cài đặt → Thanh toán.

Webhook IPN

IPN (Instant Payment Notification) là cơ chế SePay gọi về BotTele Store mỗi khi có giao dịch mới vào tài khoản ngân hàng của bạn. BotTele Store đối chiếu số tiền và mã đơn hàng trong nội dung chuyển khoản, rồi tự động xác nhận đơn.

Webhook dùng HMAC-SHA256 để xác thực mỗi yêu cầu từ SePay, đảm bảo không có đơn nào bị giả mạo xác nhận.

Kiểm tra đối soát

Sau khi thiết lập, thử đặt một đơn hàng thực tế từ bot Telegram của bạn và thanh toán. Vào Đơn hàng trong dashboard — đơn đó phải chuyển sang trạng thái 'Đã thanh toán' và bot phải giao hàng tự động trong vòng vài giây.

Ghi chính xác mã đơn hàng vào nội dung chuyển khoản khi test. Nếu thiếu mã, SePay sẽ không đối soát được với đơn.

Phí giao dịch & lưu ý

BotTele Store không thu thêm phí giao dịch. Phí (nếu có) là do ngân hàng hoặc SePay thu theo hợp đồng riêng của bạn. Một số ngân hàng miễn phí giao dịch nội bộ; kiểm tra biểu phí của ngân hàng bạn đang dùng.

  • Nội dung chuyển khoản phải chứa mã đơn hàng để đối soát tự động.
  • Giao dịch không có mã đơn sẽ vào danh sách 'Giao dịch không xác định' để bạn xử lý thủ công.
  • SePay thường gửi IPN trong 5–30 giây sau khi giao dịch qua ngân hàng.

Khắc phục sự cố

  • Đơn không tự xác nhận sau thanh toán: Kiểm tra API key SePay còn hiệu lực và số tài khoản ngân hàng nhập đúng.
  • Mã QR sai số tiền: Xoá bộ nhớ đệm trình duyệt và thử lại; nếu vẫn sai hãy liên hệ hỗ trợ.
  • Webhook báo lỗi 401: API key hết hạn hoặc bị thu hồi — tạo key mới trong SePay và cập nhật lại.
  • Giao dịch vào tài khoản nhưng đơn vẫn chờ: Kiểm tra nội dung chuyển khoản có chứa đúng mã đơn hàng không.