Đi tới nội dung chính

Thiết lập từng bước

Từ tài khoản mới đến form sẵn sàng nhận tiền

Làm lần lượt 9 phần dưới đây. Các quy tắc liên quan đến tiền, số lượng và thời hạn đều được kiểm tra lại ở máy chủ khi tạo order.

Đang xem Chuẩn bị tài khoản
Chạm hoặc bấm vào ảnh minh họa để phóng to; dùng nút − / + để xem chi tiết.

Bước 01

Chuẩn bị tài khoản người bán

Đăng ký bằng email bạn dùng để vận hành kinh doanh, xác thực email rồi hoàn tất hồ sơ người bán. Mỗi tài khoản có thể tạo nhiều form cho các dịch vụ khác nhau.

Thông tin liên hệ

Tên, email, số điện thoại

Thương hiệu

Tên hiển thị và logo

Bảo mật

Mật khẩu riêng, email đã xác thực

Khu quản lý gồm những gì

Sau khi đăng nhập bạn vào thẳng Khu quản lý. Có hai tầng điều hướng, phân biệt rõ để đỡ lạc:

  • Panel trên cùng là bối cảnh và cấu hình của form: chọn form đang quản lý, Giao diện (logo, tone màu, mã nhúng) và Cài đặt (thông tin, lịch nhắc, tài khoản nhận tiền, webhook).
  • Thanh tab bên dưới là dữ liệu của chính form đó: đơn hàng, đăng ký, lựa chọn thanh toán, mã ưu đãi, thống kê, gói dịch vụ.

Mọi số liệu bạn thấy đều thuộc riêng form đang chọn. Có nhiều form thì đổi ở ô bên trái panel trước khi đọc số. Nút tròn dấu ? ở góc dưới bên phải mở lại hướng dẫn ngay trên trang bạn đang đứng.

Khu quản lý: panel chọn form phía trên, thanh tab dữ liệu phía dưới
Panel trên cùng chứa cấu hình form; thanh tab bên dưới là các mặt dữ liệu của form đó.

Khách thanh toán không cần tạo tài khoản. Thông tin khách được lưu theo từng người bán và dùng để lập order, gửi biên nhận và quản lý quyền sử dụng.

Bước 02

Kết nối SePay và tài khoản nhận tiền

Thanh Toán Gọn không giữ tiền hộ: khách chuyển khoản thẳng vào tài khoản ngân hàng của bạn. SePay.vn là dịch vụ trung gian đọc biến động số dư và báo về hệ thống qua webhook để tự động xác nhận đơn hàng, không cần bạn ngồi kiểm tra tin nhắn ngân hàng thủ công.

2.1. Đăng ký SePay và liên kết ngân hàng

Vào SePay.vn, đăng ký tài khoản (gói miễn phí dùng đủ cho phần lớn merchant). Vào mục "Ngân hàng""+ Kết nối thêm" → chọn ngân hàng của bạn → làm theo hướng dẫn xác thực của SePay.

Chọn ngân hàng để kết nối trong SePay
Chọn ngân hàng cần kết nối trong SePay.
Tài khoản ngân hàng đã kết nối trong SePay
Sau khi kết nối xong, tài khoản hiện trong danh sách "Ngân hàng".

Một số ngân hàng cấp số Tài khoản ảo (VA): dùng số VA, không dùng số tài khoản thật

Vào SePay → "Ngân hàng" → chọn tài khoản. Nếu có mục "Tài khoản ảo (VA)", hãy lấy đúng số VA - đây là số cần điền vào ô "Số tài khoản" khi tạo form hoặc ở Cài đặt của Thanh Toán Gọn. Điền nhầm số tài khoản thật trong khi ngân hàng đã cấp VA sẽ khiến hệ thống không thể đối soát giao dịch, đơn sẽ mãi ở trạng thái "Chờ thanh toán" dù tiền đã về.

Lấy số Tài khoản ảo (VA) trong SePay

2.2. Lấy Webhook URL và API key

Ở trang Cài đặt (hoặc ngay khi vừa tạo form), thẻ "Webhook SePay" hiện sẵn URL webhook và API key - copy cả hai để dùng ở bước tiếp theo. Khác với trước đây, bạn có thể quay lại trang này để xem hoặc sao chép lại API key bất cứ lúc nào, không chỉ đúng một lần lúc tạo.

Thẻ Webhook SePay trong trang Cài đặt, hiện Webhook URL và API key có thể xem lại bất cứ lúc nào

2.3. Tạo webhook trong SePay (4 tab)

Trong SePay, vào Tích hợp Webhooks"+ Thêm Webhook", điền lần lượt 4 tab:

Tab "Cơ bản": đặt tên gợi nhớ, dán Webhook URL, chọn loại giao dịch "Tiền vào", định dạng "JSON"

Tab Cơ bản khi thêm Webhook trong SePay

Tab "Tài khoản": chọn "Tuỳ chọn" rồi tick đúng tài khoản ngân hàng đã liên kết ở bước 2.1

Tab Tài khoản khi thêm Webhook trong SePay

Tab "Bảo mật": chọn phương thức xác thực "API Key", dán đúng API key đã copy ở bước 2.2

Tab Bảo mật khi thêm Webhook trong SePay

Tab "Cảnh báo": để mặc định hoặc bật cảnh báo lỗi liên tiếp (tùy chọn), bấm "Thêm" để hoàn tất

Tab Cảnh báo khi thêm Webhook trong SePay
Bảo vệ khóa webhook: không gửi API key qua tin nhắn, không đặt trong mô tả form và không dùng lại khóa của project khác. Nếu nghi ngờ bị lộ, hãy thay khóa ở cả Thanh Toán Gọn và SePay - tạo lại ở Cài đặt sẽ hủy ngay key cũ.

Nếu webhook không tự xác nhận sau khoảng 1 phút

  • Kiểm tra Webhook URL và API key có khớp nguyên văn giữa Cài đặt của Thanh Toán Gọn và Webhook trong SePay không.
  • Vào SePay → Webhooks → "Lịch sử gửi" xem request đã gửi đi chưa và mã lỗi trả về là gì.
  • Kiểm tra lại số tài khoản/VA đã điền đúng như tài khoản đã liên kết trong SePay chưa - sai số này thì SePay không có gì để báo về.
  • Fallback: bấm nút "Xác nhận TT" ngay trong bảng Đơn hàng để xác nhận thủ công (dùng khi khách chuyển sai nội dung, không nên dùng để né lỗi cấu hình webhook).

Bước 03

Tạo form thanh toán

Một form nên đại diện cho một dịch vụ hoặc một loại quyền sử dụng. Nếu bạn bán hai dịch vụ độc lập, hãy tạo hai form để báo cáo và gia hạn không bị trộn.

Trang tạo form thanh toán
Bấm “+ Tạo form mới” ở panel trên cùng. Tên và đường dẫn là hai thứ khách sẽ thấy.
Tên form
Tên dịch vụ khách sẽ thấy trên checkout và biên nhận.
Đường dẫn
Slug ngắn, dễ đọc và không chứa dữ liệu nhạy cảm.
Mô tả
Nói rõ khách nhận gì sau khi thanh toán.
Thông tin khách
Chỉ hỏi các trường thật sự cần cho việc cung cấp dịch vụ.
Kết nối nhận tiền
Chọn đúng payment connection của tài khoản ngân hàng.

Bước 04

Cấu hình lựa chọn thanh toán

Mỗi lựa chọn là một cách mua hoặc một kỳ hạn của cùng dịch vụ. Giá, quyền lợi và điều kiện mở bán được chụp lại vào order để lịch sử không thay đổi khi bạn sửa cấu hình sau này.

Giá cố định

Một số tiền xác định

Nhập giá VND. Có thể kết hợp voucher nếu form và lựa chọn đáp ứng điều kiện voucher.

Ví dụ: 490.000 đ
Trả bao nhiêu tùy bạn

Khách chọn trong một khoảng

Minimum và maximum đều bắt buộc, đều tính cả hai đầu. Minimum có thể bằng 0.

Ví dụ: từ 0 đ đến 2.000.000 đ
Danh sách lựa chọn thanh toán của một form
Mỗi lựa chọn hiện rõ giá, quyền sau thanh toán, số lượng và thời gian mở bán.
Không dùng voucher với giá tùy chọn. Khi khách tự chọn số tiền, checkout sẽ ẩn voucher và máy chủ vẫn từ chối nếu client cố gửi mã ưu đãi.

Quyền sử dụng sau thanh toán

Một lần

Ghi một dòng "Đã hoàn tất" ở tab Đăng ký, không có ngày hết hạn và không gia hạn được. Khách mua lại bao nhiêu lần cũng được.

Có thời hạn

Nhập số ngày. Hệ thống tạo kỳ hạn và ngày hết hạn, có nhắc gia hạn.

Trọn đời

Không có ngày hết hạn và không gửi nhắc gia hạn.

Các lựa chọn độc lập với nhau. Khách mua lựa chọn nào, bao nhiêu lần, theo thứ tự nào cũng được: mua gói trọn đời rồi vẫn mua thêm được vé một lần. Thời hạn thì cộng dồn xuyên mọi lựa chọn theo từng khách trên cùng form, nên mua gói 30 ngày rồi mua tiếp gói 365 ngày là 395 ngày liên tục, không phải hai chuỗi song song.

Số lượng và thời gian mở bán

  • Sales limit chỉ đếm order đã thanh toán, gồm order gia hạn và order 0 đ.
  • Order đang chờ không giữ suất. Hệ thống kiểm tra lại suất khi xác nhận tiền.
  • Thời điểm bắt đầu và kết thúc áp dụng cho cả mua mới và gia hạn.
  • Tiền tới sau deadline hoặc khi hết suất được ghi nhận và chuyển sang cần kiểm tra, không tự cấp quyền.

Bước 05

Mã ưu đãi và thông tin khách

Hai phần tùy chọn, bỏ qua được nếu bạn chỉ cần nhận tiền đơn giản.

Mã ưu đãi

Tạo ở trang Mã ưu đãi. Giảm theo số tiền hoặc theo phần trăm, có thể giới hạn số lượt dùng và thời gian hiệu lực.

  • Mã luôn được lưu và tra cứu ở dạng chữ in hoa, khách gõ thường vẫn khớp.
  • Không dùng được với lựa chọn để khách tự nhập số tiền. Giao diện tự ẩn ô nhập mã, và máy chủ vẫn từ chối nếu có ai cố gửi lên.
  • Mã đã dùng được chụp lại vào đơn, nên sửa hay xóa mã về sau không làm đổi các đơn cũ.

Trường thanh toán

Thêm ở trang Trường thanh toán khi bạn cần hỏi thêm thông tin ngoài tên, email và số điện thoại.

  • Nhiều kiểu: một dòng, nhiều dòng, chọn một, chọn nhiều.
  • Chỉ hỏi thứ bạn thật sự cần để cung cấp dịch vụ. Mỗi trường thêm vào là một bước khách phải vượt qua.
  • Giá trị khách nhập hiện ở tab Đơn hàng, trong email và file Excel xuất ra, theo đúng nhãn bạn đặt.
Danh sách mã ưu đãi của một form
Mã không đặt thời gian hiện “Luôn có hiệu lực”; mã có lịch thì hiện đúng khoảng ngày.
Danh sách trường thanh toán tùy chỉnh
Trường tùy chỉnh hiện thêm ở trang thanh toán, và đi kèm vào đơn, email và file Excel theo đúng nhãn bạn đặt.

Bước 06

Mua gói dịch vụ để bật nhận tiền thật

Đây là bước dễ bị bỏ sót nhất. Tạo form, cấu hình và xem thử đều miễn phí, nhưng một form chỉ nhận được thanh toán thật từ khách khi nó đang có gói dịch vụ còn hiệu lực.

Form chưa có gói thì khách không đặt được đơn nào

Khách mở link sẽ thấy thông báo form đang tạm dừng và không có đơn nào được tạo, chứ không phải đơn vẫn ghi nhận rồi chờ thanh toán sau. Hãy mua gói trước khi bắt đầu chia sẻ link.

Mua ở đâu
Khu quản lý → tab Gói dịch vụ. Gói tính riêng cho TỪNG form, không dùng chung cho cả tài khoản.
Trả thế nào
Chọn gói rồi chuyển khoản theo QR hoặc theo thông tin hiển thị sẵn. Tiền về là kích hoạt ngay, không cần chờ duyệt.
Mua thêm khi còn hạn
Thời hạn được nối tiếp từ ngày hết hạn hiện có, bạn không mất phần thời gian chưa dùng.
Chuyển thừa
Gói vẫn kích hoạt đủ. Phần dư chỉ được ghi nhận để đối soát, không cộng thêm ngày và không chuyển sang gói sau.
Sắp hết hạn
Chúng tôi gửi email nhắc trước, và gửi thêm một email nữa nếu gói đã hết mà form chưa có gói mới.
Hết hạn
Chỉ đúng form đó tạm ngừng nhận đơn MỚI. Các form khác của bạn không bị ảnh hưởng, và dữ liệu đơn hàng vẫn giữ nguyên.
Đơn đã đặt trước đó
Vẫn thanh toán được bình thường cho tới khi hết hạn thanh toán của đơn: khách mở lại link cũ vẫn thấy mã QR và tiền về vẫn được ghi nhận. Riêng email nhắc thanh toán thì tạm dừng cho tới khi bạn mua gói mới.

Giá từng gói được công bố tại trang Bảng giá. Gói càng dài thì giá mỗi ngày càng rẻ.

Bốn gói dịch vụ trong tab Gói dịch vụ
Gói càng dài giá mỗi ngày càng rẻ. Bấm “Mua gói này” là mã QR và thông tin chuyển khoản hiện ra ngay phía trên.

Bước 07

Giao diện, kiểm thử và chia sẻ

Mở link form trong cửa sổ riêng và đi hết luồng như một khách hàng. Dùng một lựa chọn thử nghiệm có giá phù hợp, sau đó thực hiện giao dịch thật nếu chính sách ngân hàng của bạn cho phép.

Checklist trước khi mở bán

Tên người nhận và số tài khoản đúng
QR hiển thị đúng số tiền và nội dung
Giá minimum, maximum hoạt động đúng biên
Lựa chọn chưa mở hoặc đã đóng bị khóa
Webhook cập nhật order sau khi tiền vào
Email biên nhận tới đúng địa chỉ khách

Khi mọi mục đều đúng, bật trạng thái công khai và chia sẻ URL /f/slug-cua-ban.

Trang thanh toán khách nhìn thấy
Trang khách thấy khi mở link: mô tả form, các trường bạn hỏi thêm, danh sách lựa chọn và nút Tiếp tục thanh toán.
Bước cuối: mã QR và thông tin chuyển khoản
Sau khi xác thực email, khách thấy mã QR cùng đầy đủ số tài khoản, số tiền và nội dung chuyển khoản. Trang tự cập nhật khi tiền về.

7.1. Đổi tone màu trang thanh toán

Vào Cài đặt → thẻ Tone màu trang thanh toán và chọn một trong các tone dựng sẵn. Khung xem trước ngay bên dưới cập nhật lập tức; bấm Lưu tone màu để áp dụng cho khách.

  • Các tone đều đã được kiểm độ tương phản, nên chữ luôn đọc được trên mọi nền.
  • Tone áp cho toàn bộ trang thanh toán: nút, tiêu đề, viền ô nhập và nền trang.
  • Logo và tên form đặt ở thẻ Logo form thanh toán ngay phía trên, tách riêng khỏi tone màu.
Card chọn tone màu trang thanh toán
Tám tone dựng sẵn, đều đã kiểm độ tương phản. Chọn xong bấm “Lưu tone màu” thì khách mới thấy.

7.2. Nhúng form vào website khác

Nếu bạn đã có website hoặc landing page riêng, không cần bắt khách rời trang. Vào Cài đặt → thẻ Nhúng vào website khác, sao chép đoạn mã và dán vào bất kỳ nền tảng nào cho phép chèn HTML (WordPress, Wix, Ladipage, Google Sites, Haravan...).

  • Bản nhúng bỏ hẳn thanh điều hướng của Thanh Toán Gọn, chỉ còn logo và khối thanh toán của bạn.
  • Khung tự co giãn theo từng bước, nên mã QR không bị cắt khi khách chuyển sang bước thanh toán.
  • Trang chứa mã nhúng nên chạy trên HTTPS, nếu không trình duyệt có thể chặn nội dung.
  • Đoạn mã chỉ chứa đường dẫn form, không chứa khóa bí mật nào, nên dán công khai được.
  • Form vẫn phải còn gói dịch vụ hiệu lực thì khung nhúng mới nhận được thanh toán thật.
Card mã nhúng và khung xem trước
Sao chép đoạn mã rồi dán vào website của bạn. Khung xem trước ngay bên dưới là trang thật, không phải ảnh mô phỏng.

Bước 08

Theo dõi đơn hàng và đối soát

Mỗi lần checkout tạo một order riêng. Không sửa số tiền hoặc thời hạn trực tiếp trên order đã thanh toán. Hãy dùng action điều chỉnh có lưu lịch sử khi cần xử lý ngoại lệ.

Chờ thanh toán

Chưa nhận đủ tiền và vẫn còn trong hạn thanh toán.

Thanh toán một phần

Đã nhận tiền nhưng tổng vẫn thấp hơn số phải trả.

Đã thanh toán

Đã nhận đủ và quyền sử dụng đã được cấp đúng một lần.

Cần kiểm tra

Tiền muộn, hết suất, giao dịch mơ hồ, hoặc tiền về một đơn đã hủy hay đã hoàn. Không tự cấp quyền, chờ bạn xử lý.

Quá hạn

Hết hạn thanh toán mà chưa nhận được đồng nào. Hệ thống tự đóng đơn, khách cần đặt lại.

Đã hủy

Bạn chủ động hủy khi đơn chưa nhận tiền.

Đã hoàn tiền

Bạn đã ghi nhận hoàn tiền cho một đơn đã thanh toán. Doanh thu được trừ lại trong thống kê.

Nút dành cho khách là Kiểm tra trạng thái thanh toán. Việc bấm nút không tự đánh dấu đã trả tiền, trạng thái chỉ thay đổi sau khi hệ thống ghi nhận giao dịch hoặc người bán đối soát thủ công có lưu audit.
Bảng đơn hàng trong khu quản lý
Mỗi lượt mua hoặc gia hạn là một đơn riêng. Hàng thao tác nằm ngay dưới mỗi đơn, chỉ hiện những việc thật sự làm được với trạng thái đó.

Bước 09

Đăng ký, gia hạn và nội dung email

Mỗi lần khách mua là một dòng riêng ở tab Đăng ký, không có dòng tổng hợp. Gia hạn là một checkout mới và một order mới, dùng chuyển khoản thủ công chứ không tự trừ tiền định kỳ. Link gia hạn dùng token ký và OTP để bảo vệ thông tin khách.

Gia hạn khi còn hạn

Cộng tiếp từ hạn hiện tại

Period mới bắt đầu tại ngày hết hạn đang có, nên khách không mất phần thời gian chưa dùng.

Gia hạn sau khi hết hạn

Bắt đầu từ lúc trả tiền

Period mới bắt đầu tại thời điểm order gia hạn được xác nhận thanh toán.

  • Khách chọn lại số tiền cho mỗi lần gia hạn nếu lựa chọn dùng giá tùy chọn.
  • Thanh toán thừa không tự cộng thêm ngày.
  • Gói trọn đời không có ngày hết hạn và không hiển thị hành động gia hạn hữu hạn. Lượt mua một lần cũng không gia hạn được.
  • Nhắc gia hạn mặc định trước 5 ngày và được chống gửi trùng theo từng ngày hết hạn.
  • Chỉ nhắc theo dòng có hạn xa nhất của mỗi khách, nên người vừa gia hạn không nhận thêm email nhắc từ dòng cũ.
  • Khi một kỳ hạn kết thúc mà khách không còn quyền nào xa hơn, hệ thống gửi một email báo hết hạn kèm link mua lại.
  • Tắt công tắc nhắc gia hạn ở Cài đặt sẽ tắt cả email nhắc lẫn email báo hết hạn. Biên nhận, OTP và kết quả giao dịch thì luôn được gửi.
Khách tự quay lại form mua tiếp là một lượt MUA MỚI, không phải gia hạn. Chỉ đơn đi từ đúng link gia hạn trong email mới được tính là gia hạn của một dòng cụ thể. Dù vậy thời hạn vẫn cộng dồn như nhau, nên khách không thiệt gì.
Bảng đăng ký của khách
Mỗi lần khách mua là một dòng riêng. Cột “Loại quyền” cho biết đó là vé một lần, có thời hạn hay trọn đời.

Hủy một lượt đăng ký

Ở tab Đăng ký bạn có thể hủy đúng một dòng. Hủy chỉ đổi trạng thái dòng đó, không xóa và không đụng tới các lượt mua khác của cùng khách. Đây là thao tác cắt quyền, không phải hoàn tiền: muốn trả tiền lại thì dùng nút Hoàn tiền ở tab Đơn hàng.

Tự soạn nội dung email

Trang Nội dung email cho phép bạn viết lại tiêu đề và phần lời văn của ba email gửi khách: biên nhận thanh toán, nhắc gia hạn và báo hết hạn.

  • Bạn chỉ sửa câu chữ. Bảng thông tin giao dịch, logo và chân thư vẫn do hệ thống dựng, nên biên nhận không bao giờ thiếu dữ liệu đối soát.
  • Soạn được mẫu riêng cho từng lựa chọn thanh toán, hoặc một mẫu dùng chung cho tất cả.
  • Chèn biến động như {{ten_khach}} theo danh sách có sẵn ngay trong trang soạn.
  • Có nút xem trước dựng bằng chính email thật, dùng dữ liệu đơn gần nhất của bạn.
  • Chưa soạn gì thì mọi email vẫn gửi bình thường bằng câu chữ mặc định.
Trang soạn nội dung email
Ba loại email gửi khách, mỗi loại soạn được nhiều mẫu theo từng lựa chọn thanh toán.

Sẵn sàng thiết lập form đầu tiên?

Bắt đầu từ một form đơn giản, kiểm thử trọn luồng rồi mới nhân bản cho dịch vụ tiếp theo.

Tạo tài khoản người bán

Ảnh hướng dẫn phóng to

100%