Initial commit: API Wipay dengan fix CORS untuk GET request
This commit is contained in:
119
RESPONSE_FORMAT_VERIFICATION.md
Normal file
119
RESPONSE_FORMAT_VERIFICATION.md
Normal 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)
|
||||
Reference in New Issue
Block a user