Testing di Sandbox
Dengan X-Environment: SANDBOX pada proses autentikasi (lihat
Partner Auth API), transaksi akan diarahkan ke provider
simulasi, bukan provider pembayaran sebenarnya. Tidak ada dana yang benar-benar berpindah.
Outcome simulasi (SUCCESS, FAILED, PENDING, dan lainnya) ditentukan secara deterministik
berdasarkan nilai yang dikirim dalam request, bukan melalui endpoint atau dashboard konfigurasi
terpisah. Dengan mekanisme ini, berbagai skenario transaksi, termasuk skenario kegagalan, dapat
diuji tanpa memerlukan koordinasi manual dengan tim TuplePay.
Simulator akan tersedia secara bertahap untuk setiap provider. Saat ini, GDC (provider default
untuk grup Sandbox) merupakan provider yang sudah mendukung simulator. Jika grup Sandbox
menggunakan provider yang belum mendukung simulator, request akan ditolak dengan error
501 GATEWAY_SANDBOX_UNAVAILABLE.
Simulasi Berdasarkan Nominal (QRIS dan Disbursement)
3 digit terakhir dari amount yang kamu kirim menentukan outcome:
3 digit terakhir amount | Outcome | Perilaku |
|---|---|---|
001 | SUCCESS seketika | QRIS langsung berstatus SUCCESS, yang mensimulasikan pembayaran berhasil oleh customer. Disbursement langsung berstatus SUCCESS, yang mensimulasikan transfer berhasil ke rekening tujuan. |
002 | FAILED seketika | Transaksi langsung berstatus FAILED, yang mensimulasikan penolakan dari provider. |
003 | Provider tidak merespons | Simulasi gangguan provider — mensimulasikan kondisi ketika provider tidak tersedia, sehingga proses pembuatan transaksi gagal dengan 500 Internal Server Error (code INTERNAL_ERROR). Skenario ini digunakan untuk menguji mekanisme retry dan resilience pada sisi client, bukan untuk menguji status atau data transaksi. |
| Nilai lain apa pun | PENDING | Status default — mencerminkan kondisi QRIS/transfer pada transaksi nyata yang dapat berada dalam status PENDING hingga proses lebih lanjut selesai. Di Sandbox, status ini tidak berubah secara otomatis karena tidak ada webhook lanjutan yang menyelesaikan transaksi. Jika ingin menguji transisi ke status akhir, buat transaksi baru menggunakan trigger 001 atau 002. |
Contoh: amount: 150001 -> 3 digit terakhir 001 -> SUCCESS. amount: 10002 -> FAILED.
Perhatikan minimum nominal setiap endpoint saat menentukan nilai trigger: QRIS minimum 100,
sedangkan Disbursement minimum 10000. Untuk simulasi SUCCESS, gunakan 1001 untuk QRIS dan
10001 untuk Disbursement.
Simulasi Disbursement Berdasarkan Nomor Rekening
Nomor rekening tujuan (destAccountNo) yang berakhiran 0000 selalu ditolak pada tahap validasi
rekening, sebelum transfer diproses. Transaksi akan tercatat sebagai FAILED dan dana tidak akan
dikurangi. Nomor rekening lainnya akan lolos validasi ini dan melanjutkan ke simulasi berdasarkan
nominal di atas.
Catatan Tambahan
qrStringyang dihasilkan di Sandbox bukan merupakan kode QR EMVCo yang valid dan tidak dapat dipindai. Field ini hanya digunakan untuk menguji apakah sistem dapat menyimpan dan menampilkan QR string dengan benar, bukan untuk pengujian pemindaian QR secara langsung.- Saat ini, simulator hanya tersedia untuk provider GDC. Jika
groupIddiarahkan ke provider lain yang belum mendukung Sandbox Simulator, request akan gagal. Jika mengalami kondisi ini, hubungi tim integrasi TuplePay.