Files
api-wipay/CARA_CEK.md

5.3 KiB

Cara Cek & Verifikasi API

🚀 Quick Start

1. Test dengan Script PHP (Paling Mudah)

cd timo.wipay.id_api
php test_api.php

Script ini akan test beberapa endpoint dasar dan menampilkan hasilnya.

2. Test dengan cURL (Manual)

# Test health check
curl http://localhost:8000/health

# Test login
curl -X POST http://localhost:8000/timo/login \
  -H "Content-Type: application/json" \
  -d '{"username":"testuser","password":"testpass"}'

# Test cek SL
curl -X POST http://localhost:8000/timo/cek_sl \
  -H "Content-Type: application/json" \
  -d '{"token":"1","no_sl":"123456"}'

3. Test dengan Postman

  1. Buka Postman
  2. Buat request baru:
    • Method: POST
    • URL: http://localhost:8000/timo/login
    • Headers: Content-Type: application/json
    • Body (raw JSON):
      {
        "username": "testuser",
        "password": "testpass"
      }
      
  3. Klik Send
  4. Lihat response

📊 Bandingkan dengan API Lama

Cara 1: Side-by-Side Comparison

  1. **Test API Lama: http://timo.wipay.id/timo/login
  2. Test API Baru: http://localhost:8000/timo/login
  3. Bandingkan response JSON-nya

Cara 2: Gunakan Diff Tool

# Simpan response API lama
curl -X POST http://timo.wipay.id/timo/login \
  -H "Content-Type: application/json" \
  -d '{"username":"test","password":"test"}' > response_lama.json

# Simpan response API baru
curl -X POST http://localhost:8000/timo/login \
  -H "Content-Type: application/json" \
  -d '{"username":"test","password":"test"}' > response_baru.json

# Bandingkan (jika punya diff tool)
diff response_lama.json response_baru.json

Cara 3: Format JSON untuk Mudah Dibaca

# Install jq (untuk format JSON)
# Windows: choco install jq
# Mac: brew install jq
# Linux: apt-get install jq

# Test dengan format JSON
curl -X POST http://localhost:8000/timo/login \
  -H "Content-Type: application/json" \
  -d '{"username":"test","password":"test"}' | jq

Checklist Verifikasi

Format Response

  • Ada field status (200, 300, 404)
  • Ada field pesan (string)
  • Ada field data (jika ada di API lama)
  • Field khusus di root level (seperti user, data_sl, wipay)

Data Response

  • Struktur data sama
  • Nama field sama
  • Tipe data sama
  • Nilai data sesuai

Error Handling

  • Error message sama
  • Status code error sama
  • Format error response sama

🔍 Endpoint yang Perlu Dicek

Prioritas Tinggi (Sering Dipakai)

  1. POST /timo/login - Login user
  2. POST /timo/cek_sl - Cek nomor SL
  3. POST /timo/request_pembayaran - Request pembayaran
  4. POST /timo/cek_pembayaran - Cek status pembayaran
  5. POST /timo/confirm_pembayaran - Konfirmasi pembayaran

Prioritas Sedang

  1. POST /timo/daftar - Registrasi
  2. POST /timo/update_akun - Update profil
  3. POST /timo/cek_wipay - Cek saldo WIPAY
  4. GET /timo/tagihan/{sl} - Data tagihan
  5. POST /timo/history_bayar - History pembayaran

Prioritas Rendah

  • Endpoint lainnya (lihat RESPONSE_COMPARISON.md)

🛠️ Tools yang Bisa Digunakan

  1. cURL - Command line (sudah ada di Windows/Mac/Linux)
  2. Postman - GUI tool (download: https://www.postman.com/)
  3. Insomnia - Alternative Postman (https://insomnia.rest/)
  4. HTTPie - User-friendly CLI (https://httpie.io/)
  5. Browser DevTools - Untuk GET request
  6. jq - JSON formatter (https://stedolan.github.io/jq/)

📝 Contoh Test Lengkap

Test Login

# API Lama
curl -X POST http://timo.wipay.id/timo/login \
  -H "Content-Type: application/json" \
  -d '{"username":"testuser","password":"testpass"}' | jq

# API Baru
curl -X POST http://localhost:8000/timo/login \
  -H "Content-Type: application/json" \
  -d '{"username":"testuser","password":"testpass"}' | jq

Response yang Diharapkan:

{
  "status": 200,
  "pesan": "Selamat Datang ...",
  "user": {...},
  "data_sl": [...]
}

Test Cek WIPAY

# API Lama
curl -X POST http://timo.wipay.id/timo/cek_wipay \
  -H "Content-Type: application/json" \
  -d '{"token":"1"}' | jq

# API Baru
curl -X POST http://localhost:8000/timo/cek_wipay \
  -H "Content-Type: application/json" \
  -d '{"token":"1"}' | jq

Response yang Diharapkan:

{
  "status": 404,
  "wipay": 1,
  "data": {...}
}

⚠️ Troubleshooting

Response berbeda?

  1. Cek file RESPONSE_COMPARISON.md untuk format yang benar
  2. Cek kode di controller yang sesuai
  3. Cek query database
  4. Cek log error

Error 500?

  1. Cek error log
  2. Cek database connection
  3. Cek apakah semua dependency terinstall

Response kosong?

  1. Cek apakah data ada di database
  2. Cek query database
  3. Cek log error

📚 Dokumentasi Lengkap

  • TESTING_GUIDE.md - Panduan lengkap testing
  • RESPONSE_COMPARISON.md - Perbandingan semua endpoint
  • FINAL_RESPONSE_CHECK.md - Summary final
  • README.md - Dokumentasi umum

💡 Tips

  1. Gunakan Data Real: Test dengan data yang sama di API lama dan baru
  2. Test Error Cases: Test dengan data invalid, token salah, dll
  3. Test Success Cases: Test dengan data valid
  4. Bandingkan Side-by-Side: Buka 2 terminal untuk bandingkan
  5. Gunakan JSON Formatter: Format JSON untuk mudah dibaca
  6. Test dengan Aplikasi Mobile: Jika memungkinkan, test langsung dengan aplikasi