# Tạo và theo dõi thanh toán

Tạo thanh toán có VietQR và mã chuyển khoản riêng, gửi cho khách, rồi theo dõi tới khi đã thanh toán, thanh toán một phần, thanh toán dư hay hết hạn.

Một **thanh toán** là yêu cầu thu tiền cho một đơn hàng. Thanh toán có số tiền, **mã chuyển khoản** riêng, mã VietQR và một trang thanh toán khách mở được trên điện thoại. Khi tài khoản ngân hàng của bạn nhận được giao dịch mang mã đó, thanh toán tự chuyển sang đã thanh toán.

Phần lớn thanh toán do website hay hệ thống bán hàng tạo lúc khách đặt hàng. Bạn cũng có thể tạo tay trong dashboard, ví dụ cho đơn chốt qua điện thoại hay qua chat. Tạo, huỷ và đánh dấu thanh toán cần quyền **Làm việc** trong module Thanh toán.

## Tạo thanh toán

1. Mở **Thanh toán → Thanh toán**.
2. Điền:
   - **Số tiền (VND, đã gồm VAT)**: số tiền khách sẽ chuyển.
   - **Mô tả**: hiện cho khách trên trang thanh toán, ví dụ `Đơn DH000016`. Đây không phải nội dung chuyển khoản.
   - **Mã chuyển khoản** (không bắt buộc): để trống thì Hạ Tầng tự sinh mã như `HTBF7RDGVQ`, hoặc nhập mã đơn của bạn (6 tới 20 chữ và số) để sao kê ngân hàng và đơn hàng khớp nhau.
   - **Hết hạn sau (giây)**: thời gian khách có để thanh toán, tính bằng giây. `86400` là 24 giờ.
   - **Nhận vào**: tài khoản nhận tiền, khi bạn liên kết nhiều tài khoản.
3. Nếu cần, mở **Phát hành hoá đơn điện tử khi đã thanh toán**. Xem [Xuất hoá đơn điện tử](https://hatang.dev/vi/help/payments/issue-einvoices).
4. Bấm **Tạo thanh toán**.

![Danh sách thanh toán và biểu mẫu tạo thanh toán](https://hatang.dev/help/img/vi/payments/payments-list.webp)

Trang thanh toán mở ra với mã QR, mã chuyển khoản và thông tin tài khoản.

## Nhận tiền

Gửi cho khách trang thanh toán (**Mở trang thanh toán**), hoặc cho khách quét mã QR. Khách có ba cách trả:

- **Quét VietQR** bằng ứng dụng ngân hàng Việt Nam bất kỳ (NAPAS 247, tức thì, cả ngày lẫn đêm). Tài khoản, số tiền và mã chuyển khoản đã điền sẵn; khách chỉ cần xác nhận.
- **Dùng trang thanh toán**: trang hiện mã QR, thông tin ngân hàng có nút sao chép và đồng hồ đếm ngược, và tự cập nhật ngay khi tiền về.
- **Chuyển khoản tay** từ bất kỳ ngân hàng hay internet banking nào, ghi mã chuyển khoản vào nội dung chuyển khoản.

> [!TIP]
> Khi khách chuyển khoản tay, hãy hiện mã chuyển khoản thật to và nhờ khách dán vào nội dung. Chữ xung quanh không ảnh hưởng (`CK HTBF7RDGVQ cam on`); chữ hoa, khoảng trắng và dấu cũng không quan trọng. Thiếu mã thì giao dịch không được khớp tự động.

![Một thanh toán đang chờ tiền, với mã QR và các thao tác](https://hatang.dev/help/img/vi/payments/payment-detail.webp)

## Trạng thái

| Trạng thái | Ý nghĩa |
|---|---|
| **Đang chờ** | Đang chờ khách chuyển khoản |
| **Đã thanh toán** | Đã nhận đủ số tiền |
| **Thanh toán một phần** | Nhận ít hơn số tiền. Giao dịch tiếp theo cùng mã sẽ được cộng dồn |
| **Thanh toán dư** | Nhận nhiều hơn số tiền, hoặc khách trả hai lần |
| **Hết hạn** | Không có tiền về trong thời hạn |
| **Đã huỷ** | Bạn đã huỷ khi thanh toán còn đang chờ |

Các trường hợp đặc biệt:

- **Tiền về sau khi hết hạn** vẫn được ghi nhận: thanh toán đã hết hạn chuyển sang **Đã thanh toán** (hoặc một phần, dư). Bạn tự quyết có giao đơn đó nữa hay không.
- **Thanh toán một phần không bao giờ hết hạn**; nó chờ khách trả nốt hoặc chờ bạn xử lý.
- **Thanh toán đã huỷ** không còn được khớp. Giao dịch mang mã của nó về thành giao dịch chưa khớp.
- **Hoàn tiền** khi khách trả dư được làm từ ngân hàng của bạn; Hạ Tầng chỉ ghi nhận tiền vào.

Mục **Dòng thời gian** trên trang thanh toán ghi lại từng thay đổi, từng giao dịch và ai đã đánh dấu đã thanh toán. Nếu website của bạn đăng ký nhận thông báo, mục **Lệnh gọi IPN** liệt kê mọi thông báo đã gửi và phản hồi.

## Đánh dấu đã thanh toán bằng tay

Khi tiền về bằng cách khác (tiền mặt tại quầy, chuyển khoản không ghi mã), hãy ghi nhận:

1. Mở thanh toán.
2. Nếu muốn, nhập ghi chú, ví dụ `Tiền mặt tại cửa hàng`.
3. Bấm **Đánh dấu đã thanh toán**.

Thanh toán chuyển trạng thái y như khi có giao dịch về (sang **Đã thanh toán** hoặc **Thanh toán dư**), dòng thời gian ghi lại người thực hiện, và website của bạn được báo như thường lệ. Thao tác này dùng được cho thanh toán đang chờ, thanh toán một phần và đã hết hạn.

## Huỷ thanh toán

Bấm **Huỷ thanh toán** trên thanh toán còn **Đang chờ**, ví dụ khi khách đổi đơn. Thanh toán đã trả thì không huỷ được.

## Ở môi trường thử nghiệm

Ở môi trường thử nghiệm, trang thanh toán có khung **Giả lập người mua chuyển khoản (thử nghiệm)**: đổi số tiền hoặc nội dung nếu muốn, rồi bấm **Giả lập chuyển khoản**. Giao dịch giả lập đi qua đúng quy trình khớp lệnh và thông báo như giao dịch thật. Thử số tiền nhỏ hơn để thấy **Thanh toán một phần**, lớn hơn để thấy **Thanh toán dư**, hoặc nội dung không có mã để thấy giao dịch chưa khớp.

## Lọc và tìm

Danh sách lọc được theo trạng thái (**Đang chờ**, **Đã thanh toán**, **Thanh toán một phần**, **Thanh toán dư**, **Hết hạn**, **Đã huỷ**) và hiện trạng thái hoá đơn điện tử của từng thanh toán. **Tổng quan** cho biết các thanh toán đang chờ và tiền đã thu 7 ngày qua.

Lập trình viên tạo thanh toán từ website bằng API; xem [Tạo thanh toán ở trang dành cho lập trình viên](https://hatang.dev/vi/docs/guides/payments/create-payment).
