# References

> Mã mạng, ánh xạ tiền-mạng và các giá trị trạng thái thanh toán dùng trong toàn bộ API 2328.io.

Trang này liệt kê tất cả các giá trị tham chiếu được sử dụng trong các yêu cầu và phản hồi API.

## Mã mạng

Các mã này được dùng ở bất kỳ nơi nào có trường `network`:

| Code | Network |
|------|---------|
| `TRX-TRC20` | Tron TRC-20 |
| `BSC-BEP20` | BNB Smart Chain |
| `ETH-ERC20` | Ethereum (ERC-20) |
| `BASE` | Base |
| `AVAX-C` | Avalanche C-Chain |
| `POL-MATIC` | Polygon (Matic) |
| `TON` | TON |
| `BTC` | Bitcoin |
| `LTC` | Litecoin |
| `DASH` | Dash |
| `SOL` | Solana |
| `DOGE` | Dogecoin |
| `ZEC` | Zcash |
| `XRP` | XRP Ledger |
| `XMR` | Monero |

## Ánh xạ tiền-mạng

Mỗi đồng tiền chỉ khả dụng trên một tập con các mạng. Sử dụng bảng này để chọn tổ hợp hợp lệ:

| Currency | Allowed networks |
|----------|-----------------|
| `USDT` | TRX-TRC20, BSC-BEP20, ETH-ERC20, BASE, AVAX-C, POL-MATIC, TON, SOL |
| `USDC` | BSC-BEP20, ETH-ERC20, BASE, AVAX-C, POL-MATIC, SOL |
| `BTC` | BTC |
| `ETH` | ETH-ERC20, BASE |
| `BNB` | BSC-BEP20 |
| `TRX` | TRX-TRC20 |
| `LTC` | LTC |
| `DASH` | DASH |
| `GRAM` | TON |
| `AVAX` | AVAX-C |
| `POL` | POL-MATIC |
| `SOL` | SOL |
| `DOGE` | DOGE |
| `ZEC` | ZEC |
| `XRP` | XRP |
| `XMR` | XMR |

`GRAM` là mã tài sản chính thức cho tiền tệ gốc của TON. Các API tạo thanh toán, ví tĩnh và thanh toán hiện tại chấp nhận đầu vào cũ `TON` và chuẩn hóa nó thành `GRAM`; các tích hợp nên lưu trữ và xử lý giá trị chính thức được trả về bởi API. Tài sản gốc của Polygon là `POL`, trong khi mã mạng của nó là `POL-MATIC`. Không bao giờ gửi `MATIC` làm mã mạng.

Các hướng được bật là cấu hình vận hành và có thể thay đổi độc lập với danh mục này. Hãy truy vấn `/v1/directions` trước khi trình bày các lựa chọn; coi bảng này như bản đồ mã hợp lệ, không phải là đảm bảo rằng mọi cặp hiện đang được bật.

## Trạng thái thanh toán

Trường `payment_status` trên các thanh toán và bộ lọc `/v1/payment/list` nhận các giá trị sau:

| Status | Description |
|--------|-------------|
| `pending` | Đã tạo, chờ khởi tạo |
| `check` | Chờ thanh toán từ khách hàng |
| `paid` | Thanh toán thành công |
| `underpaid_check` | Trả thiếu (có thể bù thêm) |
| `underpaid` | Trả thiếu |
| `overpaid` | Trả thừa (đã ghi có) |
| `cancel` | Đã hủy / hết hạn |
| `aml_lock` | Giao dịch bị chặn do AML |

> **INFO:** Khi lắng nghe một thanh toán thành công, bạn nên coi cả `paid` và `overpaid` đều là trạng thái thành công và ghi có cho đơn hàng của khách hàng.

### Chính sách xử lý trạng thái

| Trạng thái | Thực hiện đơn hàng? | Tiếp tục chờ đợi? | Hành động vận hành |
|--------|----------------|-------------------|--------------------|
| `pending` / `check` | Không | Có, cho đến khi hết hạn | Hiển thị trạng thái đang chờ và hòa giải bình thường. |
| `underpaid_check` | Mặc định là không | Có, tiền nạp bổ sung có thể đến | Lưu mỗi txid một cách không trùng lặp và hiển thị luồng công việc thanh toán còn lại. |
| `paid` | Có, một lần | Không | Thực hiện nguyên tử từ sự kiện đã xác minh. |
| `overpaid` | Có, một lần | Không | Thực hiện và giữ lại số dư/thực tế vượt mức theo chính sách của thương nhân. |
| `underpaid` | Theo sản phẩm | Không | Áp dụng chính sách thanh toán một phần/bàn luận thủ công rõ ràng. |
| `cancel` | Không | Không | Đánh dấu hết hạn/hủy, nhưng báo cáo bất kỳ bằng chứng sau đó trên chuỗi. |
| `aml_lock` | Không | Không thực hiện tự động | Xem xét tuân thủ/hỗ trợ; không tự động giải phóng giá trị. |

Trạng thái mô tả quan điểm của nền tảng về thanh toán. Chúng không thay thế trạng thái thực hiện tại địa phương của bạn. Lưu cả hai để một đơn hàng được hoàn tiền, xem xét thủ công hoặc đã thực hiện không bị làm hỏng bởi webhook cũ hơn.

Bộ lọc yêu cầu `/v1/payment/list` hiện tại chấp nhận `pending`, `check`, `paid`, `underpaid_check`, `underpaid`, `overpaid` và `cancel`. Nó không chấp nhận `aml_lock` làm bộ lọc mặc dù một khoản thanh toán bị khóa AML có thể được trả về bởi các điểm cuối thanh toán khác.

## Trạng thái rút tiền

Trường `status` trên `/v1/payout` và `/v1/payout/status/{uuid}` nhận một trong các giá trị:

| Status | Description |
|--------|-------------|
| `pending` | Đã tạo, chờ xử lý |
| `completed` | Hoàn tất thành công — `txid` đã được đặt |
| `failed` | Lỗi gửi — xem `error_type` |
| `cancelled` | Đã hủy |

## Loại lỗi rút tiền

Khi một rút tiền có `status = failed`, trường `error_type` mô tả lý do:

| Code | Description |
|------|-------------|
| `aml_risk` | Rút tiền bị chặn bởi kiểm tra rủi ro AML (địa chỉ người nhận bị đánh dấu rủi ro cao) |