Kembali ke blog
BackendTerbit 4 menit baca

Integrasi Pembayaran QRIS dan E-Wallet di Website Bisnis

Pembayaran online bukan sekadar memasang tombol bayar. Pelajari alur QRIS, e-wallet, dan virtual account, cara sistem memastikan pembayaran sah, sampai urusan refund.

Seorang perempuan memegang ponsel Android untuk membayar di mesin pembayaran toko
Foto oleh Jonas Leupe di Unsplash

Pelanggan di Indonesia makin terbiasa membayar dengan memindai QRIS, membuka e-wallet, atau mentransfer ke virtual account. Kalau website Anda masih meminta pelanggan transfer lalu mengirim bukti lewat chat, setiap pesanan butuh pengecekan manual. Admin harus mencocokkan nominal, membalas pesan, lalu membuka akses atau memproses pesanan. Cara ini lambat, rawan salah, dan sulit dilakukan di malam hari.

Artikel ini menjelaskan cara kerja integrasi pembayaran lewat payment gateway dengan bahasa yang mudah. Contohnya diambil dari Numekara, bisnis pendidikan milik pemilik Lumekara, yang memakai Midtrans di produksi dan sudah memproses transaksi serta refund nyata.

Cara kerja payment gateway secara singkat

Payment gateway adalah perantara antara website Anda dan berbagai metode pembayaran. Anda tidak perlu menghubungkan diri ke setiap bank atau e-wallet satu per satu. Alurnya kira-kira seperti ini:

  1. Pelanggan memilih produk dan menekan tombol bayar di website Anda.
  2. Server Anda membuat pesanan, lalu meminta payment gateway menyiapkan transaksi dengan nominal yang sudah dihitung di server.
  3. Pelanggan melihat kode QRIS, nomor virtual account, atau diarahkan ke aplikasi e-wallet. Di Midtrans, halaman pembayaran siap pakai ini disebut Snap.
  4. Setelah pelanggan membayar, payment gateway mengirim notifikasi ke server Anda.
  5. Server memeriksa notifikasi itu, mencatat pembayaran, lalu menjalankan langkah berikutnya, misalnya membuka akses atau mengirim email konfirmasi.

Poin penting ada di langkah kedua: harga harus dihitung di server, bukan dikirim dari peramban pelanggan. Kalau harga diambil dari halaman, orang iseng bisa mengubahnya sebelum membayar.

QRIS, e-wallet, dan virtual account

  • QRIS: satu kode QR yang bisa dipindai dari banyak aplikasi bank dan e-wallet. Cocok untuk pembayaran cepat dari ponsel.
  • E-wallet: pelanggan diarahkan ke aplikasi seperti GoPay untuk menyetujui pembayaran. Di Numekara, GoPay tersedia berdampingan dengan QRIS.
  • Virtual account: nomor rekening khusus untuk satu pesanan. Pelanggan bisa membayar lewat m-banking, internet banking, atau ATM, dan pembayarannya otomatis dikenali.

Anda tidak wajib membuka semua metode sekaligus. Mulailah dari metode yang paling sering diminta pelanggan, lalu tambahkan sesuai kebutuhan. Biaya per transaksi berbeda untuk tiap metode dan tiap penyedia, jadi cek langsung ke penyedia yang Anda pilih.

Webhook: cara sistem tahu pembayaran benar-benar lunas

Notifikasi dari payment gateway ke server Anda disebut webhook. Inilah sumber kebenaran tentang status pembayaran, bukan halaman “terima kasih” yang dilihat pelanggan. Halaman itu bisa saja tertutup sebelum muncul, atau dibuka ulang tanpa ada pembayaran.

Karena webhook bisa memicu pembukaan akses, server harus memastikan notifikasinya asli. Di Numekara, setiap notifikasi dari Midtrans diperiksa tanda tangannya, yaitu kode yang hanya bisa dibuat oleh pihak yang memegang kunci rahasia akun. Notifikasi yang tanda tangannya tidak cocok ditolak.

Hal lain yang sering terlewat adalah notifikasi ganda. Payment gateway bisa mengirim notifikasi yang sama lebih dari sekali, misalnya saat server Anda lambat merespons. Sistem yang baik mencatat setiap pembayaran sekali saja, sehingga pelanggan tidak mendapat akses dobel dan kuota promo tidak terpakai dua kali.

Akses otomatis dan refund

Setelah pembayaran terverifikasi, langkah berikutnya bisa berjalan tanpa admin. Di Numekara, akses produk aktif begitu pesanan lunas, dan pemilik mendapat notifikasi Telegram saat ada pembayaran masuk. Sistemnya juga mendukung kode promo, termasuk pesanan yang menjadi Rp0 setelah promo, sehingga alurnya tetap sama walau tidak ada uang yang ditagih.

Refund juga perlu dipikirkan sejak awal. Masalah yang umum terjadi: uang sudah dikembalikan, tetapi akses pelanggan masih aktif karena tidak ada yang ingat menutupnya. Di Numekara, refund penuh otomatis memotong masa akses yang berasal dari pesanan tersebut. Admin tidak perlu mencari dan menutup akses secara manual.

Tetap menerima transfer manual dengan kode unik

Sebagian pelanggan tetap lebih nyaman transfer biasa. Anda tidak harus menolaknya, tetapi buat agar mudah dicocokkan. Caranya dengan menambahkan kode unik kecil pada nominal tagihan, sehingga setiap pesanan punya nominal yang berbeda. Saat mutasi rekening masuk, admin cukup mencari nominal yang persis sama. Numekara memakai cara ini untuk transfer manual di samping pembayaran lewat Midtrans.

Yang perlu Anda siapkan

  • Akun merchant yang terverifikasi. Payment gateway biasanya meminta data usaha dan rekening sebelum Anda bisa menerima pembayaran sungguhan.
  • Uji coba di mode sandbox. Hampir semua penyedia punya mode uji. Pastikan alur bayar, akses aktif, dan refund sudah dicoba di sana sebelum dibuka ke publik.
  • Kebijakan refund yang tertulis. Tentukan kapan refund diberikan dan apa yang terjadi pada akses pelanggan.
  • Penanganan pesanan yang tidak dibayar. Tentukan berapa lama pesanan menunggu sebelum dianggap kedaluwarsa, agar data tidak menumpuk.
  • Notifikasi untuk tim. Pilih kanal yang benar-benar dibaca, misalnya email atau Telegram, supaya pembayaran yang bermasalah cepat terlihat.

Langkah berikutnya

Catat bagaimana pembayaran diterima dan dikonfirmasi di bisnis Anda saat ini, termasuk siapa yang mengecek dan berapa lama prosesnya. Dari situ, tentukan metode pembayaran yang paling dibutuhkan pelanggan dan apa yang harus terjadi otomatis setelah lunas. Dengan gambaran itu, integrasi bisa dirancang dengan jelas, dan Anda tidak perlu lagi menunggu bukti transfer lewat chat.