Bagian 12
Checklist pengujian
Skenario pengujian, persiapan production, dan informasi untuk investigasi.
Skenario pengujian
| Skenario | Hasil yang harus dibuktikan |
|---|---|
| Payin normal | Client menampilkan instruksi dan menyelesaikan order sekali saat webhook completed atau GET SUCCEEDED. |
| Retry request timeout | Body/key/reference sama mengarah ke transaksi yang sama. |
| Key sama body berbeda | Client menangani 409 tanpa membuat transaksi baru otomatis. |
| QR belum siap atau expired | UI menampilkan status yang sesuai; API key tidak bocor ke browser. |
| Webhook duplikat | Order atau pencairan pengguna tidak diproses dua kali. |
| Webhook tidak berurutan | Status client tidak mundur; GET menjadi sumber konfirmasi. |
| Signature salah / timestamp lama | Payload ditolak tanpa perubahan data. |
| Webhook endpoint mati | Client mengambil status lewat API dan dapat memproses replay. |
| Payout saldo kurang | Client menangani penolakan tanpa mengurangi saldo pengguna secara final. |
Payout UNKNOWN | Client mempertahankan status sedang diperiksa; tidak membuat transfer pengganti. |
| Cancel beradu dengan execution | Client menerima INVALID_STATE dan mengambil status terbaru. |
| Saldo dan jurnal | CREDIT/DEBIT mengikuti bucket; hold tidak dihitung sebagai pengeluaran dua kali. |
| Akses tenant salah | Resource tidak dapat dibaca atau dimodifikasi. |
| Rate limit dan 5xx | Retry memakai backoff/jitter, Retry-After, serta key yang sama. |
Sebelum aktivasi production
- Dapatkan base URL, key, webhook secret, scope, kanal, limit, dan kebijakan fee efektif dari AntaraPay.
- Jalankan seluruh skenario sandbox. Jangan memakai uang riil untuk menguji timeout atau pengiriman ganda.
- Pastikan inbox webhook durable, deduplikasi transaksi bisnis, polling fallback, masking log, dan jam server tersinkronisasi.
- Pisahkan kredensial serta data sandbox/production dan siapkan prosedur rotasi key.
- Pantau jumlah payin pending, payout belum final, webhook gagal, dan perbedaan laporan.
Informasi untuk investigasi
Saat meminta bantuan, sertakan request_id, ID transaksi, reference, waktu UTC, environment, endpoint, HTTP status, dan error code. Jangan mengirim API key, webhook secret, nomor rekening lengkap, atau data pribadi pelanggan dalam log bantuan. Gunakan saluran dukungan yang diberikan saat onboarding.
Catatan kontrak
Semua endpoint, batas validasi, dan contoh dalam panduan ini adalah rancangan kontrak v1 untuk implementasi. Perubahan yang memutus kompatibilitas harus memakai versi API baru atau jadwal migrasi yang dikomunikasikan kepada client.