Skip to main content

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 amountOutcomePerilaku
001SUCCESS seketikaQRIS langsung berstatus SUCCESS, yang mensimulasikan pembayaran berhasil oleh customer. Disbursement langsung berstatus SUCCESS, yang mensimulasikan transfer berhasil ke rekening tujuan.
002FAILED seketikaTransaksi langsung berstatus FAILED, yang mensimulasikan penolakan dari provider.
003Provider tidak meresponsSimulasi 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 punPENDINGStatus 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.

note

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

  • qrString yang 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 groupId diarahkan ke provider lain yang belum mendukung Sandbox Simulator, request akan gagal. Jika mengalami kondisi ini, hubungi tim integrasi TuplePay.