149 lines
3.9 KiB
Markdown
149 lines
3.9 KiB
Markdown
# Perbandingan Business Logic: timo.wipay.id vs timo.wipay.id_api
|
|
|
|
## ✅ Status: Sudah Sesuai
|
|
|
|
### 1. Flow Pembayaran BRI ✅
|
|
|
|
**Backend Lama (timo.wipay.id):**
|
|
|
|
1. User request pembayaran → status `DIBUAT`
|
|
2. User upload bukti transfer → status `MENUNGGU VERIFIKASI`
|
|
3. Admin/System cek via `/site/verify_bri` → cek mutasi BRI
|
|
4. Jika cocok → auto approve → status `DIBAYAR`
|
|
5. Kirim WhatsApp ke user ✅
|
|
|
|
**Backend Baru (timo.wipay.id_api):**
|
|
|
|
1. User request pembayaran → status `DIBUAT` ✅
|
|
2. User upload bukti transfer → status `MENUNGGU VERIFIKASI` ✅
|
|
3. Admin/System cek via `/site/verify_bri` → cek mutasi BRI ✅
|
|
4. Jika cocok → auto approve → status `DIBAYAR` ✅
|
|
5. Kirim WhatsApp ke user ✅ (sudah ditambahkan)
|
|
|
|
### 2. Flow Pembayaran QRIS ✅
|
|
|
|
**Backend Baru (timo.wipay.id_api):**
|
|
|
|
1. User request pembayaran QRIS (< 70rb) → generate QR code ✅
|
|
2. User scan QR code → bayar via e-wallet ✅
|
|
3. User click "Cek Status" → check status QRIS API ✅
|
|
4. Jika paid → auto approve → status `DIBAYAR` ✅
|
|
5. Kirim WhatsApp ke user ✅
|
|
|
|
**Note:** QRIS adalah fitur baru, tidak ada di backend lama.
|
|
|
|
### 3. Notifikasi Telegram ✅
|
|
|
|
**Backend Lama:**
|
|
|
|
- Kirim Telegram ke admin saat ada transaksi baru (BRI)
|
|
|
|
**Backend Baru:**
|
|
|
|
- ✅ Kirim Telegram ke admin saat user upload bukti transfer (BRI)
|
|
- ✅ Kirim Telegram ke admin gangguan saat ada laporan gangguan
|
|
|
|
### 4. Notifikasi WhatsApp ✅
|
|
|
|
**Backend Lama:**
|
|
|
|
- Kirim WhatsApp ke user setelah pembayaran BRI berhasil
|
|
- Format: "_PEMBAYARAN BERHASIL_" dengan detail transaksi
|
|
|
|
**Backend Baru:**
|
|
|
|
- ✅ Kirim WhatsApp ke user setelah pembayaran BRI berhasil (via `SiteController::approve()`)
|
|
- ✅ Kirim WhatsApp ke user setelah pembayaran QRIS berhasil (via `PembayaranController::autoApproveQris()`)
|
|
- ✅ Format sama dengan backend lama
|
|
|
|
### 5. Auto Approve Flow ✅
|
|
|
|
**BRI:**
|
|
|
|
- ✅ Cek mutasi BRI → jika cocok → approve → kirim WhatsApp
|
|
|
|
**QRIS:**
|
|
|
|
- ✅ Cek status QRIS → jika paid → approve → kirim WhatsApp
|
|
|
|
### 6. Kode Unik ✅
|
|
|
|
**Backend Lama:**
|
|
|
|
- BRI/Manual: pakai kode unik
|
|
- WIPAY: tidak pakai kode unik
|
|
|
|
**Backend Baru:**
|
|
|
|
- ✅ BRI/Manual: pakai kode unik (via `KodeHelper::generateKodeUnikPrioritas()`)
|
|
- ✅ QRIS: tidak pakai kode unik
|
|
- ✅ WIPAY: tidak pakai kode unik
|
|
|
|
### 7. Status Pembayaran ✅
|
|
|
|
**Backend Lama:**
|
|
|
|
- `DIBUAT` → `MENUNGGU VERIFIKASI` → `DIBAYAR`
|
|
- `DIBUAT` → `DIBATALKAN` / `EXPIRED`
|
|
|
|
**Backend Baru:**
|
|
|
|
- ✅ `DIBUAT` → `MENUNGGU VERIFIKASI` → `DIBAYAR` (BRI/Manual)
|
|
- ✅ `DIBUAT` → `DIBAYAR` (QRIS - auto approve)
|
|
- ✅ `DIBUAT` → `DIBATALKAN` / `EXPIRED`
|
|
|
|
### 8. Expired Policy ✅
|
|
|
|
**Backend Lama:**
|
|
|
|
- Pembayaran expired setelah 1 hari
|
|
|
|
**Backend Baru:**
|
|
|
|
- ✅ Pembayaran BRI/Manual: expired setelah 1 hari
|
|
- ✅ Pembayaran QRIS: expired setelah 30 menit
|
|
|
|
### 9. Validasi Pembayaran ✅
|
|
|
|
**Backend Lama:**
|
|
|
|
- Satu SL hanya boleh punya 1 pembayaran aktif (`DIBUAT`)
|
|
|
|
**Backend Baru:**
|
|
|
|
- ✅ Satu SL hanya boleh punya 1 pembayaran aktif (`DIBUAT`)
|
|
- ✅ Cek pembayaran expired sebelum buat baru
|
|
|
|
### 10. Payment to PDAM ✅
|
|
|
|
**Backend Lama:**
|
|
|
|
- Format: `{token, data: [{rek_nomor, rek_total, serial, byr_tgl, loket}]}`
|
|
- Headers: Content-Type, Accept-Encoding, Cache-Control, Connection, Accept-Language
|
|
|
|
**Backend Baru:**
|
|
|
|
- ✅ Format sama dengan backend lama
|
|
- ✅ Headers sama dengan backend lama
|
|
- ✅ URL: `https://timo.tirtaintan.co.id/payment/{token}`
|
|
|
|
## 📋 Summary
|
|
|
|
**Semua business logic sudah sesuai dengan backend lama (timo.wipay.id):**
|
|
|
|
1. ✅ Flow pembayaran BRI (auto verify + WhatsApp)
|
|
2. ✅ Flow pembayaran QRIS (auto approve + WhatsApp)
|
|
3. ✅ Notifikasi Telegram ke admin
|
|
4. ✅ Notifikasi WhatsApp ke user
|
|
5. ✅ Kode unik untuk BRI/Manual
|
|
6. ✅ Status pembayaran
|
|
7. ✅ Expired policy
|
|
8. ✅ Validasi pembayaran
|
|
9. ✅ Payment to PDAM format
|
|
|
|
**Fitur Baru (tidak ada di backend lama):**
|
|
|
|
- ✅ QRIS payment method (< 70rb)
|
|
- ✅ QRIS status check dengan retry mechanism
|
|
- ✅ QRIS expired 30 menit
|