# References

> Kode jaringan, pemetaan mata uang–jaringan, dan nilai status pembayaran yang digunakan di seluruh API 2328.io.

Halaman ini mendaftarkan semua nilai referensi yang digunakan di seluruh permintaan dan respon API.

## Kode jaringan

Kode-kode ini digunakan di mana pun field `network` hadir:

| Kode | Jaringan |
|------|---------|
| `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 |

## Pemetaan mata uang–jaringan

Setiap mata uang hanya tersedia pada subset jaringan. Gunakan tabel ini untuk memilih kombinasi yang valid:

| Mata uang | Jaringan yang diizinkan |
|----------|-----------------|
| `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` adalah kode aset kanonik untuk mata uang asli TON. API pembayaran, dompet-statis, dan pembuatan pembayaran saat ini menerima input `TON` lama dan menormalkannya ke `GRAM`; integrasi harus menyimpan dan menangani nilai kanonik yang dikembalikan oleh API. Aset asli Polygon adalah `POL`, sedangkan kode jaringannya adalah `POL-MATIC`. Jangan pernah mengirim `MATIC` sebagai kode jaringan.

Arah yang diaktifkan adalah konfigurasi operasional dan dapat berubah secara independen dari katalog ini. Tanyakan `/v1/directions` sebelum menampilkan pilihan; anggap tabel ini sebagai peta kode yang valid, bukan sebagai jaminan bahwa setiap pasangan saat ini diaktifkan.

## Status pembayaran

Field `payment_status` pada pembayaran dan filter `/v1/payment/list` mengambil nilai berikut:

| Status | Deskripsi |
|--------|-------------|
| `pending` | Dibuat, menunggu inisialisasi |
| `check` | Menunggu pembayaran dari pelanggan |
| `paid` | Berhasil dibayar |
| `underpaid_check` | Kurang bayar (dapat di top-up) |
| `underpaid` | Kurang bayar |
| `overpaid` | Lebih bayar (dikreditkan) |
| `cancel` | Dibatalkan / kedaluwarsa |
| `aml_lock` | Transaksi diblokir karena AML |

> **INFO:** Saat mendengarkan pembayaran sukses, Anda harus memperlakukan `paid` dan `overpaid` sebagai status sukses dan kreditkan pesanan pelanggan.

### Kebijakan penanganan status

| Status | Memenuhi pesanan? | Terus menunggu? | Tindakan operasional |
|--------|----------------|-------------------|--------------------|
| `pending` / `check` | Tidak | Ya, sampai kadaluarsa | Tampilkan status tertunda dan rekonsiliasi secara normal. |
| `underpaid_check` | Tidak secara default | Ya, top-up bisa datang | Simpan setiap txid secara idempotent dan tunjukkan alur kerja pembayaran tersisa. |
| `paid` | Ya, sekali | Tidak | Penuhi secara atomik dari event yang diverifikasi. |
| `overpaid` | Ya, sekali | Tidak | Penuhi dan pertahankan jumlah berlebih/aktual untuk kebijakan pedagang. |
| `underpaid` | Spesifik produk | Tidak | Terapkan kebijakan pembayaran sebagian/ulasan manual secara eksplisit. |
| `cancel` | Tidak | Tidak | Tandai kadaluarsa/dibatalkan, tetapi eskalasikan setiap bukti on-chain yang muncul kemudian. |
| `aml_lock` | Tidak | Tidak ada pemenuhan otomatis | Ulasan kepatuhan/dukungan; jangan lepaskan nilai secara otomatis. |

Status menggambarkan pandangan platform terhadap pembayaran. Mereka tidak menggantikan status pemenuhan lokal Anda. Simpan keduanya agar pesanan yang dikembalikan dana, ditinjau secara manual, atau sudah dipenuhi tidak rusak oleh webhook yang lebih lama.

Filter permintaan `/v1/payment/list` saat ini menerima `pending`, `check`, `paid`, `underpaid_check`, `underpaid`, `overpaid`, dan `cancel`. Filter ini tidak menerima `aml_lock` meskipun pembayaran yang dikunci AML dapat dikembalikan melalui titik akhir pembayaran lainnya.

## Status penarikan

Field `status` pada `/v1/payout` dan `/v1/payout/status/{uuid}` mengambil salah satu dari:

| Status | Deskripsi |
|--------|-------------|
| `pending` | Dibuat, menunggu pemrosesan |
| `completed` | Selesai dengan sukses — `txid` telah ditetapkan |
| `failed` | Kesalahan pengiriman — lihat `error_type` |
| `cancelled` | Dibatalkan |

## Tipe error penarikan

Saat penarikan memiliki `status = failed`, field `error_type` menjelaskan alasannya:

| Kode | Deskripsi |
|------|-------------|
| `aml_risk` | Penarikan diblokir oleh pemeriksaan risiko AML (alamat penerima ditandai berisiko tinggi) |