# ข้อมูลอ้างอิง

> รหัสเครือข่าย การจับคู่สกุลเงิน-เครือข่าย และค่าสถานะการชำระเงินที่ใช้ทั่วทั้ง API ของ 2328.io

หน้านี้แสดงค่าอ้างอิงทั้งหมดที่ใช้ในคำขอและการตอบกลับของ API

## รหัสเครือข่าย

รหัสเหล่านี้ใช้ในทุกที่ที่มีฟิลด์ `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 |

## การจับคู่สกุลเงิน-เครือข่าย

แต่ละสกุลเงินใช้ได้บนชุดย่อยของเครือข่ายเท่านั้น ใช้ตารางนี้เพื่อเลือกชุดที่ถูกต้อง:

| 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` คือรหัสสินทรัพย์มาตรฐานสำหรับสกุลเงินดั้งเดิมของ TON API สำหรับการชำระเงิน กระเป๋าสตางค์คงที่ และการสร้างการจ่ายเงินในปัจจุบันยอมรับข้อมูลรุ่นเก่า `TON` และปรับให้อยู่ในรูปแบบ `GRAM`; การรวมระบบควรเก็บและจัดการค่ามาตรฐานที่ API ส่งกลับ สินทรัพย์ดั้งเดิมของ Polygon คือ `POL` ในขณะที่รหัสเครือข่ายของมันคือ `POL-MATIC` ห้ามส่ง `MATIC` เป็นรหัสเครือข่าย

ทิศทางที่เปิดใช้งานเป็นการกำหนดค่าการทำงานและสามารถเปลี่ยนแปลงได้โดยไม่ขึ้นกับแคตตาล็อกนี้ ตรวจสอบ `/v1/directions` ก่อนแสดงตัวเลือก; ถือว่าตารางนี้เป็นแผนที่รหัสที่ถูกต้อง ไม่ใช่การรับประกันว่าคู่ทุกคู่เปิดใช้งานอยู่ในปัจจุบัน

## สถานะการชำระเงิน

ฟิลด์ `payment_status` บนการชำระเงินและตัวกรองของ `/v1/payment/list` รับค่าต่อไปนี้:

| Status | Description |
|--------|-------------|
| `pending` | สร้างแล้ว รอการเริ่มต้น |
| `check` | รอการชำระเงินจากลูกค้า |
| `paid` | ชำระเงินสำเร็จ |
| `underpaid_check` | จ่ายขาด (สามารถเติมได้) |
| `underpaid` | จ่ายขาด |
| `overpaid` | จ่ายเกิน (เครดิตให้แล้ว) |
| `cancel` | ยกเลิก / หมดอายุ |
| `aml_lock` | ธุรกรรมถูกบล็อกเนื่องจาก AML |

> **INFO:** เมื่อรับฟังการชำระเงินสำเร็จ คุณควรถือว่าทั้ง `paid` และ `overpaid` เป็นสถานะสำเร็จและเครดิตคำสั่งซื้อของลูกค้า

### นโยบายการจัดการสถานะ

| สถานะ | ดำเนินการคำสั่งซื้อหรือไม่? | รอต่อไปหรือไม่? | การดำเนินการเชิงปฏิบัติการ |
|--------|----------------|-------------------|--------------------|
| `pending` / `check` | ไม่ | ใช่ จนกว่าจะหมดอายุ | แสดงสถานะรอดำเนินการและกระทบยอดตามปกติ |
| `underpaid_check` | ค่าเริ่มต้นคือ ไม่ | ใช่ สามารถเติมเงินได้ | จัดเก็บแต่ละ txid อย่างไม่ทำให้เกิดผลซ้ำและแสดงเวิร์กโฟลว์การชำระเงินที่เหลือ |
| `paid` | ใช่ ครั้งเดียว | ไม่ | ดำเนินการให้ครบถ้วนจากเหตุการณ์ที่ตรวจสอบแล้ว |
| `overpaid` | ใช่ ครั้งเดียว | ไม่ | เติมเต็มและเก็บจำนวนเงินส่วนเกิน/จำนวนจริงสำหรับนโยบายของผู้ค้า |
| `underpaid` | เฉพาะผลิตภัณฑ์ | ไม่ | ใช้สิ่งที่ชัดเจนเกี่ยวกับนโยบายการชำระเงินบางส่วน/การตรวจสอบด้วยตนเอง |
| `cancel` | ไม่ | ไม่ | ทำเครื่องหมายหมดอายุ/ยกเลิก แต่ยกระดับหลักฐานบนเครือข่ายในภายหลัง |
| `aml_lock` | ไม่ | ไม่มีการเติมเต็มอัตโนมัติ | การตรวจสอบการปฏิบัติตาม/สนับสนุน; ห้ามปล่อยมูลค่าโดยอัตโนมัติ |

สถานะอธิบายมุมมองของแพลตฟอร์มต่อการชำระเงิน ซึ่งไม่ได้แทนที่สถานะการเติมเต็มภายในพื้นที่ของคุณ เก็บทั้งสองอย่างเพื่อไม่ให้ออเดอร์ที่คืนเงิน ตรวจสอบด้วยตนเอง หรือเติมเต็มแล้ว ถูกทำให้เสียหายโดย webhook เก่า

ตัวกรองคำขอ `/v1/payment/list` ปัจจุบันยอมรับ `pending`, `check`, `paid`, `underpaid_check`, `underpaid`, `overpaid`, และ `cancel` แต่ไม่ยอมรับ `aml_lock` เป็นตัวกรองแม้ว่าการชำระเงินที่ถูกล็อกโดย AML สามารถส่งคืนได้โดยจุดสิ้นสุดการชำระเงินอื่น ๆ

## สถานะการถอน

ฟิลด์ `status` บน `/v1/payout` และ `/v1/payout/status/{uuid}` รับค่าใดค่าหนึ่งจากต่อไปนี้:

| Status | Description |
|--------|-------------|
| `pending` | สร้างแล้ว รอการดำเนินการ |
| `completed` | ดำเนินการสำเร็จ — `txid` ถูกตั้งค่า |
| `failed` | เกิดข้อผิดพลาดในการส่ง — ดู `error_type` |
| `cancelled` | ยกเลิกแล้ว |

## ประเภทข้อผิดพลาดของการถอน

เมื่อการถอนมี `status = failed` ฟิลด์ `error_type` อธิบายสาเหตุ:

| Code | Description |
|------|-------------|
| `aml_risk` | การถอนถูกบล็อกโดยการตรวจสอบความเสี่ยง AML (ที่อยู่ผู้รับถูกแฟล็กว่ามีความเสี่ยงสูง) |