Bỏ qua để đến nội dung

Thanh toán hóa đơn (Checkout)

Khi shop bạn nhận được hóa đơn gói TrolyPage (subscription), trang Checkout (/app/checkout/{invoiceCode}) là nơi thanh toán. Đây là Luồng B trong tổng quan SePay — dùng cùng SePay nhưng khác mục đích với Luồng A (khách trả tiền cho shop).

  1. Mở Tài khoản & Thanh toán (/app/billing).
  2. Xem hóa đơn chưa thanh toán trong list.
  3. Bấm Thanh toán ngay.
  4. Redirect → /app/checkout/{invoiceCode}.

Hoặc click Xem thông tin thanh toán → ở bất kỳ invoice nào.

Trang chia 2 bước hiển thị tuần tự:

Chọn cổng thanh toán:

Phương thức Yêu cầu
Chuyển khoản SePay đã cấu hình → QR VietQR + thông tin CK
SePay (đổi tên từ Chuyển khoản nếu có nhiều config)
Stripe Thẻ Visa/Mastercard (USD)
PayPal Tài khoản PayPal (USD)
MoMo QR MoMo động
VNPay QR VNPay động

Mặc định = Chuyển khoản nếu SePay/Bank transfer đã cấu hình.

Tuỳ phương thức, hiển thị khác nhau. Với Chuyển khoản (SePay):

  • Mã QR VietQR — quét bằng app ngân hàng bất kỳ.
  • Thông tin chuyển khoản (copy từng dòng):
Dòng Giá trị
Ngân hàng (theo STK shop cấu hình)
Số tài khoản STK
Chủ tài khoản Tên shop
Nội dung CK Mã hóa đơn (vd PLAB12CD34) — quan trọng!
Số tiền X VNĐ

Nhập chính xác nội dung CK

Banner “Nhập chính xác nội dung chuyển khoản để hệ thống tự động xác nhận.” — nếu nhập sai mã invoice → webhook đến nhưng không match → bạn phải liên hệ support đối soát tay.

  • Countdown: “Hết hạn sau: XX:YY” — invoice có hạn, quá hạn phải tạo lại.

Trang checkout tự poll mỗi 5 giây (không cần F5):

  1. Bạn chuyển khoản xong (đúng nội dung + đúng số tiền).
  2. SePay phát hiện giao dịch → gọi POST /webhook/billing/sepay.
  3. TrolyPage match mã invoice trong nội dung → BillingService::confirmPayment().
  4. Invoice chuyển trạng thái paid.
  5. Checkout poll → phát hiện status: 'paid'.
  6. Trang hiển thị “Thanh toán thành công!” + confetti + nút in biên lai.

Nếu bạn CK nhưng không khớp mã invoice mà khớp Virtual Account / memo của shop bạn → SePay tự nạp số tiền đó vào Ví nội bộ TrolyPage thay vì match invoice.

Tình huống Xảy ra gì
CK đúng nội dung invoice Invoice paid
CK khớp Virtual Account Nạp ví (số dư ví tăng)
CK không khớp gì Unmatched → admin TrolyPage xử lý tay
Triệu chứng Nguyên nhân Fix
CK xong > 1 phút, trang vẫn “Đang chờ” Nội dung CK sai Liên hệ support + gửi billet CK
Hiện “Hết hạn” Quá hạn invoice Vào Billing tạo invoice mới
“Không có mã QR” SePay chưa cấu hình Kết nối SePay hoặc dùng VietQR manual
Trùng giao dịch CK 2 lần Sẽ auto-refund vào ví nội bộ

Gửi cho hotro@trolypage.com:

  1. Mã hóa đơn (PL...).
  2. Billet CK (screenshot app ngân hàng).
  3. Thời gian CK.
  4. STK nguồn.

Support sẽ đối soát tay + cập nhật trạng thái trong 1-2 giờ làm việc.

Xem toàn bộ giao dịch đã thanh toán:

Mỗi giao dịch có: mã, ngày, số tiền, phương thức, invoice liên quan, trạng thái.