KiPaydocs
Dokumentasi/Panduan

PANDUAN

Uji jalur berhasil, jalur lambat, dan jalur gagal

Integrasi pembayaran siap digunakan ketika hasilnya tetap benar meskipun event terlambat, berulang, atau tidak pernah menjadi paid.

CAKUPAN SKENARIOUji hasil, sinyal, dan keputusan order sebagai satu kontrak.
Matriks cakupan pengujian pembayaranEmpat skenario diuji pada empat lapisan kontrak. paid dan expired memeriksa API, webhook, order, dan aksi. Event duplikat memeriksa idempotency. API key tidak valid memeriksa penolakan tanpa perubahan order.HASIL APIWEBHOOKSTATUS ORDERAKSI DIHARAPKANpaidskenario 01expiredskenario 02event duplikatskenario 03API key tidak validskenario 04Syarat rilisSetiap baris memiliki status order dan aksi yang diharapkan.
01

Matriks pengujian minimum

SkenarioCara memicuHasil yang diharapkan
Pembayaran berhasilPanggil endpoint simulate di sandboxOrder dipenuhi tepat satu kali
Pembayaran kedaluwarsaBiarkan expires_at terlewatiCheckout ditutup
Webhook duplikatKirim payload dua kaliOrder tidak dipenuhi dua kali
Status terlambatTunda polling dan webhookUI tetap pending tanpa menampilkan error
API key salahGunakan API key yang tidak validData transaksi tidak terekspos
02

Gunakan endpoint simulasi

POST/api/pay/{apiKey}/transactions/{trxId}/simulate
simulate.sh
cURL
curl --request POST \
  --url https://api.kipay.biz.id/api/pay/apg_your_project_key/transactions/SBX-20260825-VG57V5/simulate \
  --header "Content-Type: application/json" \
  --data '{ "provider": "gopay" }'
03

Assertion yang berguna

  • Status hanya berubah dari pending menjadi paid atau expired
  • matched_at terisi ketika status menjadi paid
  • provider berisi shopeepay atau gopay setelah simulasi
  • Production menolak endpoint simulate
  • Satu trx_id tidak pernah memenuhi order dua kali
04

Sebelum mengubah project ke production

Jalankan pengujian dari sistem yang benar-benar akan digunakan

Uji backend, queue, database, dan deployment calon production sebagai satu alur. Pengujian manual dari laptop saja tidak cukup.