Tutorial: Setup Pembayaran Midtrans di Website Sendiri (Step-by-Step)
Panduan lengkap integrasi Midtrans payment gateway di website — dari daftar akun, dapat API key, sampai test transaksi sukses. Cocok untuk pemula.
Midtrans adalah payment gateway paling populer di Indonesia. Sekali setup, website kamu bisa terima QRIS, GoPay, OVO, ShopeePay, transfer bank, kartu kredit, dan cicilan — semua dalam satu integrasi. Tutorial ini memandu kamu dari pendaftaran sampai test transaksi sukses.
Apa Itu Midtrans dan Kenapa Pilih Ini?
Midtrans (sekarang bagian dari GoTo Financial) adalah payment gateway B2B yang menghubungkan website kamu dengan berbagai metode pembayaran Indonesia.
Kelebihan Midtrans:
- Support hampir semua metode pembayaran lokal
- Dashboard rapi dengan reporting real-time
- SDK & integration banyak platform
- Settlement H+1 ke rekening kamu
- Dukungan customer service Indonesia
Fee Midtrans (per November 2025):
| Metode | Fee |
|---|---|
| QRIS | 0.7% |
| GoPay / OVO / ShopeePay | 2% |
| Transfer bank (VA) | Rp 4.000 / transaksi |
| Kartu kredit | 2.9% + Rp 2.000 |
| Cicilan tanpa bunga | Variasi (3.5–9% tergantung tenor) |
Langkah 1: Daftar Akun Midtrans
Buka midtrans.com dan klik "Daftar". Pilih tipe akun:
- Individual — untuk UMKM perorangan, KTP cukup
- Business — untuk PT/CV, butuh NPWP & akta perusahaan
Isi data: nama, email, nomor HP, jenis bisnis. Akun langsung aktif di mode Sandbox (untuk testing). Mode Production butuh approval dokumen.
Langkah 2: Dapatkan API Key
Login ke dashboard Midtrans. Pergi ke Settings > Access Keys. Kamu akan lihat 2 set keys:
- Sandbox Keys — untuk testing, transaksi tidak real
- Production Keys — untuk live, transaksi real (perlu approval)
Masing-masing punya 2 nilai:
- Server Key — RAHASIA, simpan di backend, jangan expose ke browser
- Client Key — boleh expose di frontend
Langkah 3: Pasang Midtrans di Website
Cara A: Di Platform yang Sudah Support Native (Alusio)
Paling mudah. Di Alusio:
- Login ke dashboard
- Settings > Payments
- Klik "Aktifkan Midtrans"
- Paste Server Key dan Client Key
- Pilih mode Sandbox (untuk test) atau Production
- Save
Selesai. Pelanggan yang checkout akan otomatis lihat Midtrans Snap (popup) dengan semua metode pembayaran.
Cara B: Di Platform Lain (Custom Integration)
Kalau kamu pakai platform yang belum support, ada beberapa cara:
- Plugin WooCommerce — install plugin "Midtrans for WooCommerce" gratis di WordPress repository, masukkan API key, selesai.
- Shopify — butuh app pihak ketiga seperti "Midtrans Snap" (berbayar ~USD 9/bln).
- Custom code — pakai SDK official Midtrans (Node.js, PHP, Python, Ruby tersedia).
Langkah 4: Test Transaksi di Mode Sandbox
Sangat penting: test dulu di Sandbox sebelum go-live. Midtrans menyediakan kartu kredit test:
| Metode | Test Number |
|---|---|
| Kartu kredit (success) | 4811 1111 1111 1114, CVV 123, exp 01/26 |
| Kartu kredit (failed) | 4111 1111 1111 1112 |
| VA, GoPay, dll | Pakai simulator di dashboard Sandbox |
Lakukan minimal 3 skenario test:
- Transaksi sukses → status order di website kamu otomatis berubah ke "Paid"
- Transaksi gagal → status tetap "Pending" atau "Failed"
- Transaksi expired → status berubah ke "Expired"
Langkah 5: Submit Dokumen untuk Mode Production
Setelah Sandbox lancar, submit dokumen untuk aktivasi Production:
- KTP + selfie pemilik usaha
- Untuk Business: NPWP, akta perusahaan, SK Menkumham
- Bukti website aktif (URL toko kamu)
- Sample produk/jasa yang dijual
- Rekening bank atas nama yang sama dengan akun Midtrans
Approval biasanya 3–7 hari kerja. Setelah approve, ganti API key di settings dari Sandbox ke Production.
Langkah 6: Setup Webhook untuk Notifikasi Otomatis
Webhook = Midtrans kirim notifikasi ke server kamu setiap kali status transaksi berubah. Ini penting supaya order di website kamu otomatis update tanpa manual cek.
Di dashboard Midtrans > Settings > Configuration > Payment Notification URL, masukkan URL endpoint webhook kamu.
Di Alusio, ini sudah otomatis ter-setup saat kamu masukkan API key.
Tips & Pitfall yang Sering Terjadi
- Jangan pernah commit Server Key ke Git — pakai environment variable
- Aktifkan email notification di dashboard Midtrans untuk every transaksi
- Set order expiry — di Alusio default 24 jam, sesuaikan dengan kebijakan kamu
- Cek dashboard tiap pagi di awal launch untuk catch anomaly
- Settle ke rekening bisnis bukan rekening pribadi (untuk pisah pajak)
Troubleshooting Umum
| Problem | Solusi |
|---|---|
| "Invalid Server Key" | Cek mode Sandbox vs Production — keys berbeda |
| Order tidak update setelah pembayaran | Webhook URL belum diset atau di-blokir firewall |
| Snap popup tidak muncul | Cek Client Key benar & CORS setting allow Midtrans domain |
| QRIS tidak muncul di pilihan | Aktifkan di dashboard > Configuration > Payment Methods |
Kesimpulan
Midtrans adalah backbone payment paling reliable untuk UMKM Indonesia. Setup awalnya 1–2 jam, tapi setelah jalan, fungsinya bertahun-tahun tanpa perlu disentuh.
Mau platform yang sudah include integrasi Midtrans tanpa setup ribet? Coba Alusio — cukup paste API key, aktifkan, jalan.