Setup Midtrans (Danum Admin)

Untuk: Super-admin Danum saja. Kredensial ini milik Danum. Menerima pembayaran subscription tenant. Waktu: 15-30 menit plus waktu verifikasi Midtrans.

Overview

Kalau payment mode adalah GATEWAY_MIDTRANS, tenant klik “Pay” di dashboard dan diarahkan ke checkout Midtrans Snap.js (kartu, VA, GoPay, OVO, dll). Midtrans notify Danum via webhook, dan subscription otomatis aktif.

Prasyarat

  • PT / CV / Perorangan dengan KYC lengkap
  • NPWP
  • Rekening bank atas nama legal entity
  • Merchant profile (nama toko, alamat, nomor HP resmi)

Langkah

1. Register Midtrans

  • Buka https://dashboard.midtrans.com/register
  • Klik Sign Up. Pilih akun Business (bukan Personal).
  • Isi profil bisnis. Upload KTP direktur + NPWP + akta perusahaan.
  • Tunggu 1-3 hari kerja untuk verifikasi.

2. Test di sandbox dulu

Sebelum production, test di sandbox:

  • Dashboard Midtrans > toggle Sandbox (kiri atas).
  • Menu Settings > Access Keys > salin Server Key dan Client Key.

3. Input sandbox key ke Danum Admin

4. Konfigurasi webhook

  • Midtrans > Settings > Configuration > Payment Notification URL = https://ai.numintek.com/webhooks/midtrans/notification
  • Klik Save.

5. Test transaksi

  • Ganti payment mode ke GATEWAY_MIDTRANS di /admin/settings/payment-mode.
  • Login sebagai tenant demo, buka /app/billing, klik upgrade plan, dan checkout.
  • Pakai kartu sandbox 4811 1111 1111 1114 (kartu test Midtrans). Transaksi sukses.
  • Cek /admin/tenants/[id] - subscription harusnya PAID.

6. Pindah ke production

Setelah testing OK:

  • Toggle dashboard Midtrans ke Production (kanan atas).
  • Settings > Access Keys (Production) > salin key production.
  • Update di Danum Admin:
    • payment.midtrans.server_key = Mid-server-XXXXX (tanpa prefix SB-)
    • payment.midtrans.client_key = Mid-client-XXXXX
    • payment.midtrans.is_production = true
  • Update webhook URL di dashboard production ke URL yang sama.

Biaya Midtrans

  • Kartu kredit: 2,9% + Rp 2.000 per transaksi.
  • Virtual account: Rp 4.000 per transaksi.
  • GoPay / OVO / DANA / ShopeePay: 1,5-2% per transaksi.
  • QRIS: 0,7% per transaksi (paling murah).

Harga terbaru di midtrans.com/pricing.

Selama menunggu verifikasi Midtrans

Pakai payment mode MANUAL (default). Tenant transfer ke rekening bank Danum, upload bukti, dan admin approve. Lihat panduan pembayaran manual.

Troubleshooting

T: Webhook signature mismatch. Cek payment.midtrans.server_key sesuai dengan value di dashboard Midtrans. Salin ulang kalau ragu.

T: Halaman Snap tidak muncul. Cek payment.midtrans.client_key benar dan setting CORS di Midtrans.

T: Status transaksi tidak refresh di dashboard Danum. Cek log webhook di dashboard Midtrans (Settings > Configuration > Notification History). Kalau webhook gagal, cron worker Danum akan retry.