Payment — Tổng quan
Payment là domain thu tiền và quản lý phương thức thanh toán: PayLater, PayNow/Windcave, Direct Debit/Kiwi, Deposit, payment settings và availability.
Payment không sinh invoice; nó dùng invoice/billing/payment option từ Finance để quyết định customer trả bằng cách nào, provider nào xử lý và kết quả thanh toán được ghi nhận ra sao.
Hình dung nhanh
Payment bao phủ những gì?
| Mảng | Một câu |
|---|---|
| Payment method settings | Bật/tắt method theo BU/site/category và cấu hình provider. |
| PayLater | Cho phép booking đi tiếp với trạng thái chờ thanh toán hoặc xử lý sau. |
| PayNow/Windcave | Checkout card, redirect/notification URL, webhook/result và status message. |
| Direct Debit/Kiwi | Tạo customer token, batch debit, BU scoping và provider sync. |
| Deposit | Thu một phần tiền trước khi confirm booking, dùng lock/eligibility để chống double submit. |
| Zero-amount checkout | Total = 0: bypass provider, dùng Proceed/Submit để auto-confirm hoặc giữ pending. |
| PayLater display name | Admin đặt tên hiển thị PayLater cho consumer ở BU level; fallback "Pay Later". |
| Change Payment Method | Booking Manager đổi payment option của billing giữa Direct Debit và Other. |
| Success message settings | Admin soạn rich-text success message riêng cho Pay Now, Deposit, Direct Debit, Pay Later. |
| Checkout success surfaces | Màn hình/message sau thanh toán theo method và kết quả provider. |
Implementation hiện tại
- Pay Now booking invoice dùng ngày thanh toán để tiền được apply ngay vào invoice đúng; processing lock được nhả khi payment settle, không giữ invoice ở trạng thái processing lâu hơn cần thiết.
- Xero overpayment chỉ được ghi khi provider xác nhận invoice không còn room; phần tiền dư dùng overpayment account code của BU và phần còn lại của batch vẫn được đẩy theo kết quả Xero.
- Netcash trên site dùng Tux được settle vào đúng Tux payment batch; webhook/result có guard idempotent.
Đọc theo thứ tự
Liên quan
- Booking gọi checkout trong flow submit/confirm.
- Finance sở hữu invoice/billing/payment option trên chứng từ.
- Master Data cung cấp BU/account/attendee/site scope cho payment.
- Subscription gọi checkout trong flow submit/confirm.
Ví dụ thực tế: Xero báo invoice không còn room sau khi apply một phần batch. → Chỉ phần dư được ghi vào overpayment account code của BU; phần còn lại của batch vẫn tiếp tục xử lý.