TransX402 Docs
Onboarding

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

AspekSandboxProduction
API key prefixipk_sandbox_ipk_live_
ChainAnvil fork BaseBase mainnet
IDRXKontrak nyata (state di-fork), token test gratisIDRX nyata
GasGratis (Anvil)ETH nyata (disponsori fasilitator)
PembayaranDisimulasikan, bukan uang nyataSettlement nyata
DashboardMenampilkan transaksi sandboxMenampilkan transaksi nyata
WebhookDikirim ke webhook URL merchantSama
URL Fasilitatorsandbox.transx402.comapi.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:

ipk_sandbox_abc123def456...

2. Fund Wallet Test

Sebelum melakukan pembayaran test, Anda perlu mengisi wallet dengan IDRX test. Ada dua cara:

Via API

curl -X POST https://sandbox.transx402.com/sandbox/fund \
  -H "X-API-Key: ipk_sandbox_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0xAlamatWalletAnda...",
    "amount": "1000000"
  }'

Response:

{
  "txHash": "0x...",
  "address": "0xAlamatWalletAnda...",
  "amount": "1000000",
  "token": "IDRX",
  "balance": "1000000"
}

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:

curl https://sandbox.transx402.com/sandbox/wallets \
  -H "X-API-Key: ipk_sandbox_abc123..."

Response:

{
  "wallets": [
    {
      "address": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
      "ethBalance": "10000.0",
      "idrxBalance": "10000000000",
      "privateKey": "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
    }
  ]
}

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

  1. Pasang integrasi — Gunakan API key sandbox di library JS atau plugin WordPress
  2. Fund wallet — Isi wallet test dengan IDRX via endpoint /sandbox/fund
  3. Akses konten — Buka halaman yang di-paywall
  4. Bayar — Klik "Pay with IDRX", hubungkan wallet, dan tanda tangani
  5. Verifikasi — Cek pembayaran di dashboard atau via API /payments

Testing dengan Library JS

const client = TransX402.create({
  apiKey: 'ipk_sandbox_abc123...',
});
 
// Ini akan mengarah ke sandbox.transx402.com secara otomatis
const response = await client.fetch('https://mysite.com/api/premium-content');

Testing dengan cURL

# 1. Cek health
curl https://sandbox.transx402.com/health
 
# 2. Lihat token yang didukung
curl https://sandbox.transx402.com/tokens
 
# 3. Fund wallet test
curl -X POST https://sandbox.transx402.com/sandbox/fund \
  -H "X-API-Key: ipk_sandbox_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"address": "0xWalletTest", "amount": "500000"}'
 
# 4. Cek pembayaran
curl https://sandbox.transx402.com/payments \
  -H "X-API-Key: ipk_sandbox_abc123..."

Reset Sandbox

Jika Anda perlu memulai dari awal (misalnya setelah testing yang intensif), Anda bisa mereset state sandbox:

curl -X POST https://sandbox.transx402.com/sandbox/reset \
  -H "X-API-Key: ipk_sandbox_abc123..."

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:

// Sandbox
const client = TransX402.create({
  apiKey: 'ipk_sandbox_abc123...',  // prefix ipk_sandbox_
});
 
// Production (kode sama, ganti key saja)
const client = TransX402.create({
  apiKey: 'ipk_live_xyz789...',     // prefix ipk_live_
});

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:

docker compose up

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 ForkBase Sepolia Testnet
Kontrak IDRX nyataYa (state di-fork)Tidak (perlu deploy mock)
Kontrak Permit2 nyataYaYa
Biaya gasGratisGratis (testnet ETH)
KecepatanBlock instan~2 detik per block
ReproducibleYa (fork dari block tertentu)Tidak (shared state)
CI-friendlyYaTergantung ketersediaan RPC
OfflineYa (setelah fork awal)Tidak

Tips Testing

  1. Selalu test di sandbox dulu sebelum beralih ke production
  2. Gunakan webhook untuk memverifikasi notifikasi pembayaran dikirim dengan benar
  3. Test skenario error — coba bayar dengan saldo kurang, deadline expired, dll.
  4. Cek dashboard — pastikan pembayaran muncul di halaman Payments
  5. Test pada berbagai wallet — MetaMask, Coinbase Wallet, dll.