Initial commit: API Wipay dengan fix CORS untuk GET request

This commit is contained in:
mwpn
2026-01-21 10:13:38 +07:00
commit 4895761764
70 changed files with 12036 additions and 0 deletions

View File

@@ -0,0 +1,119 @@
# Verifikasi Format Response - Pastikan Sama dengan API Lama
## ⚠️ PENTING: Format Response Harus Sama Persis
Aplikasi mobile mungkin bergantung pada format response yang spesifik. Perbedaan format bisa membuat aplikasi tidak berjalan dengan baik.
## Endpoint dengan Response Khusus
### 1. batal_pembayaran
**API Lama:**
```php
$data = array(
'status' => 404,
'pesan' => "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi",
);
...
if ($cek_pembayaran) {
$data['status'] = 200; // Hanya update status, pesan TIDAK diubah
}
```
**Response API Lama saat sukses:**
```json
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
```
**API Baru (Sekarang):**
```json
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
```
**SAMA**
### 2. confirm_pembayaran
**API Lama:**
```php
$data = array(
'status' => 404,
'pesan' => "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi",
);
...
if ($cek_pembayaran) {
$data['status'] = 200; // Hanya update status, pesan TIDAK diubah
}
```
**Response API Lama saat sukses:**
```json
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
```
**API Baru (Sekarang):**
```json
{
"status": 200,
"pesan": "Gagal membatalkan pembayaran, silahkan coba beberapa saat lagi"
}
```
**SAMA**
## Format Response Standar
### Success dengan Data
```json
{
"status": 200,
"pesan": "Message",
"data": {}
}
```
### Success dengan Field di Root (login)
```json
{
"status": 200,
"pesan": "Selamat Datang ...",
"user": {...},
"data_sl": [...]
}
```
### Success Tanpa Pesan (beberapa endpoint)
```json
{
"status": 200,
"pesan": "Default message (tidak diubah)"
}
```
### Error
```json
{
"status": 404,
"pesan": "Error message"
}
```
## Catatan Penting
1. **Aplikasi mobile mungkin hanya cek `status == 200`** untuk menentukan sukses
2. **Tapi untuk amannya, format response harus sama persis** dengan API lama
3. **Field `pesan` tetap ada** meskipun status 200 (sesuai API lama)
4. **Beberapa endpoint mengembalikan field langsung di root** (bukan nested di `data`)
## Rekomendasi Testing
Sebelum deploy ke production, lakukan testing dengan:
1. Test semua endpoint dengan aplikasi mobile
2. Bandingkan response JSON dari API lama vs API baru
3. Pastikan aplikasi mobile bisa parse response dengan benar
4. Test edge cases (error handling, empty data, dll)