# Lingkungan Pengujian (Test Environment)

Dokumentasi setup untuk menggunakan environment pengujian (sandbox) sebelum go-live ke production.

## Informasi Koneksi Test

| Parameter | Nilai |
|---|---|
| **Base URL** | https://pay-test.targeted.work/ |
| **Merchant ID** | 10036 |
| **Secret Key** | 150kz9esh1s2f793abb8l0e4mjot3r2c |

## Cara Menggunakan

1. Gunakan URL di atas untuk semua endpoint test
2. Gunakan merchant ID dan secret key yang diberikan
3. Signature dihitung sama seperti di environment production
4. Test hingga semua fitur berfungsi dengan baik

## Aturan Testing

### Pembayaran Penerimaan (Pay-In)

Payment gateway akan otomatis memproses callback berdasarkan **digit terakhir nomor telepon (phone number)**:

| Digit Terakhir | Hasil | Refund |
|---|---|---|
| **Ganjil** (1,3,5,7,9) | ✓ Sukses (refCode = 1) | Tidak |
| **Genap** (0,2,4,6,8) | ✗ Gagal (refCode = 2) | Ya |

### Contoh Testing

#### Test Pembayaran Sukses
- Gunakan nomor telepon dengan digit terakhir ganjil: `08123456789`, `08123456781`, dll
- Tunggu callback dengan status sukses (refCode = 1)
- Payment akan ditandai PAID (BERHASIL)

#### Test Pembayaran Gagal
- Gunakan nomor telepon dengan digit terakhir genap: `08123456780`, `08123456782`, dll
- Tunggu callback dengan status gagal (refCode = 2)
- Payment akan ditandai FAILED (GAGAL)
- Dana akan dikembalikan (refund otomatis)

## Skema Retry Callback

Jika merchant tidak membalas callback dengan "OK" atau "SUCCESS", sistem akan retry:
- **Max Retry**: 5 kali
- **Interval**: 12 jam
- Setelah 5 kali gagal, notifikasi tidak akan dikirim lagi

Response yang diterima:
```
OK
```
atau
```
SUCCESS
```

## Checklist Testing

Sebelum go-live, pastikan sudah test:

- [ ] Pemayaran dengan Bank VA (semua bank)
- [ ] Pembayaran dengan E-wallet (OVO, DANA, GOPAY, SHOPEEPAY, LINKAJA)
- [ ] Pembayaran dengan QRIS
- [ ] Callback diterima dan diverifikasi signature-nya
- [ ] Query status order berfungsi dengan benar
- [ ] Pembayaran keluar (payout) berfungsi
- [ ] Error handling dan retry logic berfungsi
- [ ] Database terupdate dengan benar setelah callback
- [ ] UI/UX sesuai ekspektasi

## Frekuensi Testing

| Item | Minimal Test |
|---|---|
| Endpoint utama | 1x setiap endpoint |
| Signature verification | 1x success + 1x fail |
| Retry mechanism | 1x test |
| All payment methods | 1x setiap metode |

---

**Penting**: Setelah testing selesai dan semua berjalan baik, minta production credentials ke support team untuk go-live.
