Sandbox
Panduan lengkap testing di environment sandbox TransX402 — fund wallet, lakukan pembayaran test, dan validasi integrasi Anda.
Apa itu Sandbox?
Sandbox adalah environment testing yang memungkinkan Anda menguji integrasi TransX402 tanpa menggunakan uang sungguhan. Sandbox menggunakan Anvil — fork lokal dari jaringan Base mainnet — sehingga kontrak IDRX dan Permit2 yang digunakan sama persis dengan production, tetapi semua transaksi gratis.
Sandbox vs Production
| Aspek | Sandbox | Production |
|---|---|---|
| API key prefix | ipk_sandbox_ | ipk_live_ |
| Chain | Anvil fork Base | Base mainnet |
| IDRX | Kontrak nyata (state di-fork), token test gratis | IDRX nyata |
| Gas | Gratis (Anvil) | ETH nyata (disponsori fasilitator) |
| Pembayaran | Disimulasikan, bukan uang nyata | Settlement nyata |
| Dashboard | Menampilkan transaksi sandbox | Menampilkan transaksi nyata |
| Webhook | Dikirim ke webhook URL merchant | Sama |
| URL Fasilitator | sandbox.transx402.com | api.transx402.com |
Cara Memulai
1. Dapatkan API Key Sandbox
Saat Anda mendaftar di dashboard.transx402.com, API key sandbox otomatis dibuat. Anda juga bisa membuat key sandbox tambahan di halaman API Keys:
2. Fund Wallet Test
Sebelum melakukan pembayaran test, Anda perlu mengisi wallet dengan IDRX test. Ada dua cara:
Via API
Response:
Via Dashboard
Buka halaman Sandbox di dashboard, masukkan alamat wallet dan jumlah IDRX yang ingin di-fund, lalu klik tombol Fund.
3. Gunakan Wallet Test Bawaan
Sandbox menyediakan wallet test yang sudah di-fund. Dapatkan daftar wallet:
Response:
Ini adalah akun deterministik Anvil dengan 10.000 ETH dan IDRX test yang banyak. Private key aman untuk digunakan di sandbox karena hanya berlaku di chain Anvil.
Testing Pembayaran
Alur Testing Dasar
- Pasang integrasi — Gunakan API key sandbox di library JS atau plugin WordPress
- Fund wallet — Isi wallet test dengan IDRX via endpoint
/sandbox/fund - Akses konten — Buka halaman yang di-paywall
- Bayar — Klik "Pay with IDRX", hubungkan wallet, dan tanda tangani
- Verifikasi — Cek pembayaran di dashboard atau via API
/payments
Testing dengan Library JS
Testing dengan cURL
Reset Sandbox
Jika Anda perlu memulai dari awal (misalnya setelah testing yang intensif), Anda bisa mereset state sandbox:
Ini akan re-fork chain Anvil dari block Base mainnet terbaru. Semua transaksi sandbox sebelumnya akan hilang, tetapi kontrak IDRX dan Permit2 tetap tersedia.
Perbedaan dengan Production
Kode integrasi Anda persis sama untuk sandbox dan production. Yang berbeda hanya:
Library secara otomatis mendeteksi environment dari prefix API key dan mengarahkan ke URL fasilitator yang tepat.
Development Lokal dengan Anvil
Untuk development lokal, Anda bisa menjalankan Anvil sendiri menggunakan Docker Compose:
Ini akan menjalankan:
- API TransX402 di
http://localhost:3402 - PostgreSQL di
localhost:5432 - Redis di
localhost:6379 - Anvil (fork Base) di
http://localhost:8545
Mengapa Anvil Fork?
| Anvil Fork | Base Sepolia Testnet | |
|---|---|---|
| Kontrak IDRX nyata | Ya (state di-fork) | Tidak (perlu deploy mock) |
| Kontrak Permit2 nyata | Ya | Ya |
| Biaya gas | Gratis | Gratis (testnet ETH) |
| Kecepatan | Block instan | ~2 detik per block |
| Reproducible | Ya (fork dari block tertentu) | Tidak (shared state) |
| CI-friendly | Ya | Tergantung ketersediaan RPC |
| Offline | Ya (setelah fork awal) | Tidak |
Tips Testing
- Selalu test di sandbox dulu sebelum beralih ke production
- Gunakan webhook untuk memverifikasi notifikasi pembayaran dikirim dengan benar
- Test skenario error — coba bayar dengan saldo kurang, deadline expired, dll.
- Cek dashboard — pastikan pembayaran muncul di halaman Payments
- Test pada berbagai wallet — MetaMask, Coinbase Wallet, dll.