# OrderKuota Web Client (Demo)

Website PHP sederhana untuk menggunakan class `OrderKuota` dengan fitur:
- **loginRequest** (minta OTP)
- **getAuthToken** (Verifikasi OTP → ambil `auth_token`)
- **getTransactionQris**
- **withdrawalQris**

> UI responsif, modern, dan ringan (tanpa framework).

## Struktur
```
orderkuota-web/
├── index.php         # UI (HTML/CSS/JS) + fetch ke api.php
├── api.php           # Router sederhana untuk memanggil class
└── OrderKuota.php    # Class dari pertanyaan, disertai perbaikan kecil
```

## Cara Menjalankan
1. Copy semua file ke server PHP (Apache/Nginx atau `php -S 0.0.0.0:8080`).
2. Pastikan ekstensi **cURL** aktif (`php -m | grep curl`).
3. Akses `http://localhost/index.php` (atau port Anda).
4. Isi form sesuai langkah-langkah:
   - **Login Request**: masukkan *username* dan *password* → kirim (mendapatkan notifikasi OTP dari OrderKuota).
   - **Get Auth Token**: masukkan *username* dan *OTP* → kirim → salin `auth_token` dari hasil.
   - **Get Transaction QRIS** dan **Withdrawal QRIS**: pakai *username* + `auth_token`.

> Token & username disimpan di **localStorage** browser untuk memudahkan auto-fill. Jangan gunakan di perangkat publik.

## Catatan Perbaikan
Pada kode asli, payload `loginRequest` dan `getAuthToken` kurang tanda `&` sebelum `app_version_name`. Di file ini **sudah diperbaiki** agar request valid:
```php
"&app_version_code=..." . "&app_version_name=..."
```

## Keamanan
Ini contoh/demo. Untuk produksi:
- Simpan *auth token* di server-side session / database, **jangan** di localStorage.
- Tambahkan rate limit, CSRF token, dan validasi input lebih ketat.
- Log sensitif **jangan** disimpan sembarangan.

Selamat mencoba! 🎉
