Trung tâm trợ giúp
Thanh toán

Dùng SePay làm tài khoản thanh toán chính (chuyển khoản QR)

Sau khi làm xong: hội viên mua gói trên app → quét mã QR → chuyển khoản **thẳng vào tài khoản ngân hàng của phòng tập**. SePay thấy tiền vào thì báo về DANAVA, đơn tự hoàn tất trong 1–2 giây: gói được kích hoạt, hoá đơn và hợp đồng ghi nhận như bình thường. Tiền không đi qua trung gian nào. > 📄 Bản PDF để in hoặc gửi cho nhân viên: [Tải hướng dẫn SePay (PDF)](/help/sepay/Huong-dan-tich-hop-SePay.pdf) --- ## Chuẩn bị - Tài khoản **my.sepay.vn** đã **liên kết tài khoản ngân hàng** của phòng tập (mục **Ngân hàng** trong SePay). - Đăng nhập Studio bằng tài khoản **Chủ phòng tập**. - Một tài khoản ngân hàng **khác** để chuyển thử 10.000đ ở bước cuối (ngân hàng không cho tự chuyển vào chính mình). **3 giá trị hay bị dán nhầm, mỗi giá trị chỉ dán vào đúng một chỗ:** - **URL webhook** `https://api.danava.vn/api/v1/tools/sepay/webhook`: chép từ Studio, dán vào SePay → Webhook → tab **Cơ bản**. - **API Key** (dạng `DNV-…`): tạo trong Studio, dán vào SePay → Webhook → tab **Bảo mật**. - **API Token**: lấy ở SePay → **API Access**, dán vào Studio → ô **API Token (đối soát tự động)**. --- ## Bước 1 — Studio: khai tài khoản nhận tiền Vào **Cài đặt → Cổng thanh toán** → tab **SePay (chuyển khoản QR)**. 1. Nhập **Ngân hàng**, **Số tài khoản**, **Chủ tài khoản** (tên trên tài khoản ngân hàng, viết không dấu). **Số tài khoản phải trùng đúng tài khoản đã liên kết trong SePay.** 2. Ở khối **Khai báo bên SePay**, bấm **Tạo khoá cho Studio này** để hệ thống sinh **API Key** (`DNV-…`). 3. Tick **Bật SePay** rồi bấm **Lưu cấu hình** (cuối trang). > ⚠️ **Tạo khoá xong mới tick "Bật SePay".** Bật trước thì bấm Lưu sẽ báo "Cần đủ Ngân hàng, Số tài khoản và API Key webhook mới bật được SePay." ![Khai đủ thì hiện nhãn xanh "Sẵn sàng" và mã QR mẫu. Quét thử mã mẫu để chắc tên và số tài khoản đúng, rồi bấm huỷ, không chuyển tiền.](/help/sepay/st-account.png) ![Khối "Khai báo bên SePay": bấm Chép cạnh URL webhook và API Key để dán sang SePay. Bấm "Tạo khoá mới" thì khoá cũ mất hiệu lực ngay, phải dán lại sang SePay.](/help/sepay/st-declare.png) --- ## Bước 2 — SePay: tạo webhook báo tiền về (BẮT BUỘC) Thiếu webhook thì khách chuyển tiền xong **đơn vẫn nằm chờ**, vì hệ thống không biết tiền đã vào tài khoản. 1. Đăng nhập [my.sepay.vn](https://my.sepay.vn/webhooks) → menu trái **Tích hợp WebHooks** → bấm **+ Thêm webhook**. ![Menu Tích hợp WebHooks, nút "+ Thêm webhook" ở góc phải.](/help/sepay/sp-webhook-menu.png) 2. **Tab "Cơ bản":** bật **Kích hoạt webhook**, đặt tên phòng tập; **URL nhận webhook** dán URL đã chép từ Studio; **Loại giao dịch** chọn **Tiền vào**; **Định dạng dữ liệu** chọn **JSON**; bật **Tự động gửi lại khi server trả lỗi**. ![Tab Cơ bản: URL, Tiền vào, JSON.](/help/sepay/sp-webhook-basic.png) 3. **Tab "Tài khoản":** chọn **Tuỳ chọn** rồi chọn **đúng tài khoản ngân hàng** đã khai ở Studio. Ô "Dùng để xác thực thanh toán" có thể để tắt. ![Tab Tài khoản: chỉ định đúng tài khoản nhận tiền (số tài khoản trong ảnh đã làm mờ).](/help/sepay/sp-webhook-account.png) 4. **Tab "Bảo mật":** **Phương thức xác thực** chọn **API Key**, dán **API Key** (`DNV-…`) đã chép từ Studio. **Không chọn HMAC-SHA256** dù SePay có khuyến nghị: DANAVA hiện chỉ đọc được kiểu API Key. ![Tab Bảo mật: chọn API Key và dán khoá DNV-….](/help/sepay/sp-webhook-security.png) 5. Bấm **Lưu / Cập nhật**. Webhook hiện trong danh sách với chấm xanh và nhãn **API Key** là xong. --- ## Bước 3 — SePay: tạo API Token để tự đối soát (nên làm) API Token cho DANAVA **tự hỏi lại SePay mỗi 2 phút**. Nếu webhook không về, đơn vẫn tự chốt thay vì nằm chờ. 1. Trong my.sepay.vn: **Cấu hình Công ty → API Access** → **+ Thêm API**, đặt tên → lưu. 2. Chép token vừa tạo. 3. Quay lại Studio → tab SePay → dán vào ô **API Token (đối soát tự động)** → **Lưu cấu hình**. ![Cấu hình Công ty → API Access → "+ Thêm API" (token trong ảnh đã làm mờ).](/help/sepay/sp-apikey.png) > Studio **thử token ngay lúc lưu**. Nếu báo SePay từ chối token, hoặc báo ô đang chứa một đường dẫn, là đã dán nhầm URL webhook hoặc khoá `DNV-…`. Ô này chỉ nhận token lấy từ **API Access**. --- ## Bước 4 — Studio: đặt SePay làm cổng chính Tab **Tổng quan** của màn **Cổng thanh toán** → thẻ **SePay (chuyển khoản QR)** → bấm **Đặt làm cổng chính**. Khối "Tiền hội viên đang chảy đường nào" hiện **CỔNG CHÍNH · SePay · Đang hoạt động** là đúng. ![Hội viên mua gói chỉ thấy một cách trả tiền, là cổng chính.](/help/sepay/st-routing.png) > **Nên có cổng phụ:** đã khai thêm PayOS hoặc TingeE thì bấm **Đặt làm cổng phụ**. Cổng chính lỗi, hệ thống tự chuyển sang cổng phụ và khách không thấy lỗi. --- ## Bước 5 — Nghiệm thu: chuyển thử 10.000đ Chưa chuyển thử thành công thì chưa coi là xong. Cuối tab SePay có khối **Chuyển thử 10.000đ — kiểm cả đường ống**: 1. Bấm **Tạo mã QR kiểm tra**. 2. Dùng app ngân hàng của **một tài khoản khác** quét và chuyển. **Giữ nguyên nội dung chuyển khoản.** 3. Chờ vài giây và xem kết quả trên màn hình. Kết quả Studio báo: - **"Cả đường ống thông"**: xong, đơn của hội viên sẽ chốt trong 1–2 giây. - **"Tiền về được, nhưng webhook đang HỎNG"**: đơn chốt nhờ API Token (chậm tới 2 phút). Kiểm lại URL và API Key trong webhook SePay. - **"Mã đã hết hạn"**, chưa thấy tiền: ngân hàng chưa đẩy giao dịch sang SePay, hoặc webhook và token đều chưa đúng. Xem phần lỗi bên dưới rồi tạo mã mới. ![Khối Chuyển thử 10.000đ. Tiền chuyển thử vào thẳng tài khoản phòng tập, không mất đi đâu.](/help/sepay/st-test.png) --- ## Lỗi hay gặp **Khách chuyển tiền rồi mà đơn vẫn chờ** Kiểm webhook trong SePay: đúng URL, **Tiền vào**, đúng tài khoản, xác thực **API Key** trùng khoá trong Studio. Vừa bấm "Tạo khoá mới" thì phải dán lại khoá sang SePay. **Khách sửa nội dung chuyển khoản hoặc chuyển thiếu tiền** Đơn không tự chốt được, vì mã đơn trong nội dung là thứ duy nhất nối tiền với đơn. Nhân viên đối soát tay. Dặn khách **quét QR và giữ nguyên nội dung**. **Tài khoản VietinBank cá nhân** VietinBank chỉ đẩy sang SePay những giao dịch có nội dung bắt đầu bằng `SEVQR`. DANAVA đã tự thêm `SEVQR` vào mọi mã QR nên phòng tập không phải làm gì, miễn khách không xoá nội dung. **Bấm Lưu báo lỗi token** Dán nhầm URL hoặc khoá `DNV-…` vào ô API Token. Lấy lại token ở **API Access**. **QR mẫu hiện sai tên hoặc số tài khoản** Sửa ô Ngân hàng / Số tài khoản / Chủ tài khoản trong Studio rồi Lưu. Chủ tài khoản là tên chủ tài khoản ngân hàng, không phải email. > 🔒 **Bảo mật:** API Key và API Token có giá trị như mật khẩu. **Không gửi qua Zalo/Messenger** cho bất kỳ ai, kể cả người tự xưng là nhân viên DANAVA hay SePay. Lỡ để lộ thì bấm **Tạo khoá mới** trong Studio rồi dán lại sang SePay, và xoá token cũ trong API Access.
Bài viết này có hữu ích không?