Skip to content

Pembayaran Online Midtrans Juragan

Selain checkout WhatsApp, tema bisa menerima pembayaran online (QRIS, Virtual Account & E-Wallet) lewat payment gateway Midtrans. Uang pembayaran masuk langsung ke akun Midtrans Anda. Backend memakai Cloudflare Worker (endpoint create-payment + notification).

Prasyarat wajib: Riwayat Pesanan Otomatis

Fitur ini tidak bisa dipakai tanpa Riwayat Pesanan Otomatis: webhook dari panduan tersebut menjadi pencatat pesanan sekaligus penerima status pembayaran. Selesaikan dulu Riwayat Pesanan Otomatis, termasuk memasang webhook di tema (langkah 5).

1. Kebutuhan & akun Midtrans

  1. Akun Midtrans (menerima pembayaran).
  2. Akun Cloudflare (untuk Worker).
  3. Akun Google (Riwayat Pesanan Otomatis dari halaman sebelumnya).

Di dashboard Midtrans: aktifkan Snap. Uji pakai Sandbox (Development) dulu, lalu Production setelah pola berjalan. Salin Server Key dari Settings → Access Keys (sesuai mode). Jangan bagikan server key.

2. Buat kode Worker

Buka Generator Kode Cloudflare Worker di https://tools.sugeng.id/juragan-worker/. Isi Server Key, mode (Sandbox/Production), URL webhook Riwayat Pesanan Otomatis (wajib, dari halaman Riwayat Pesanan Otomatis), dan Alamat toko (redirect setelah pembayaran sukses). Klik Buat Kode Worker, lalu salin kode.

3. Deploy di Cloudflare

  1. Dashboard Cloudflare → Workers & Pages → Create application → pilih Start with Hello World!Deploy.
  2. Klik Edit code, hapus semua kode bawaan, ganti dengan kode hasil generator, klik Deploy (Save and Deploy).
  3. Salin URL worker (https://<nama>.<subdomain>.workers.dev).

4. Notification URL & pastikan tidak diblokir

  1. Di Midtrans Settings → Payment → Notification URL, isi endpoint: (URL worker kamu)/notification.
  2. Pastikan notifikasi tidak terblokir Cloudflare Browser Integrity Check (error 1010). Cara teraman: pakai custom domain untuk worker DAN buat WAF Custom Rule bypass Browser Integrity Check khusus path /notification.

WARNING

Tanpa ini, pembayaran sukses tidak otomatis tercatat "Lunas" (notifikasi ditolak sebelum sampai worker).

5. Hubungkan ke Riwayat Pesanan

Pastikan Apps Script Riwayat Pesanan Otomatis terpasang dari template Sheet terbaru (lihat Riwayat Pesanan Otomatis). Template terbaru sudah mendukung update status pesanan otomatis (Lunas). Saat membuat kode di generator (langkah 2), kolom URL webhook Riwayat Pesanan Otomatis wajib diisi URL webhook Anda (nilai ini masuk ke kode worker sebagai ORDER_WEBHOOK), agar notifikasi settlement mengubah status jadi Lunas di sheet.

6. Aktifkan di tema

  1. Buka Generator Kode Pengaturan di https://tools.sugeng.id/juragan-setting/, grup Fitur tingkat lanjut.
  2. Nyalakan toggle Bayar Online (Midtrans) dan isi URL Cloudflare Worker = https://<nama>.<subdomain>.workers.dev (cukup URL dasar; /create-payment ditambahkan otomatis).
  3. Buat Kode, salin, lalu pasang ulang kode pengaturan di tema: Tata Letak → widget "Kode Pengaturan Template".
  4. Metode "Bayar Online (QRIS, Virtual Account & E-Wallet)" muncul di dropdown checkout.

7. Uji & produksi

  • Uji sandbox: pastikan generate memakai mode Sandbox (kode berisi CFG.IS_PRODUCTION = false), tes pesanan. Pastikan redirect ke Snap, status jadi Lunas di sheet, dan notif Telegram masuk.
  • Produksi: generate ulang dengan Server Key Production + mode Production (CFG.IS_PRODUCTION = true), deploy ulang dengan kode baru, uji sekali dengan transaksi sungguhan.

Troubleshooting

GejalaKemungkinan penyebabSolusi
Metode "Bayar Online" tidak munculWebhook riwayat belum terpasang, atau tema versi lamaLengkapi Riwayat Pesanan Otomatis dulu (webhook wajib); pastikan tema versi terbaru
Bayar gagal "Pembayaran gagal"URL worker salah / worker offline / CORSCek URL Cloudflare Worker benar; worker online; server key sesuai mode
Status tidak jadi LunasNotifikasi terblokir WAF atau ORDER_WEBHOOK/Notification URL salahPeriksa bypass WAF untuk /notification; pastikan webhook terisi di generator
Redirect balik salah setelah bayarAlamat toko tidak terisi saat generateGenerate ulang dengan Alamat toko yang benar

Dokumentasi Template Blogger & WordPress