Payment gateway adalah layanan perantara yang menerima pembayaran online dari pembelimu lewat banyak metode (virtual account bank, QRIS, e-wallet, kartu, minimarket, paylater), lalu memberi tahu sistemmu secara otomatis begitu pembayaran berhasil dan meneruskan dananya ke rekening bisnismu. Jadi fungsinya dua: menyediakan pilihan bayar, dan memastikan status pesanan berubah jadi lunas tanpa ada orang yang mengecek mutasi rekening.
Artikel ini ditulis dari sisi developer yang memasang payment gateway ke website klien, bukan dari sisi penyedia layanannya. Selain pengertian dan cara kerja, kamu akan melihat alur teknisnya, perbandingan metode bayar, biaya resmi yang kami cek langsung, syarat daftar, aturan Bank Indonesia, dan kesalahan integrasi yang paling sering membuat pesanan “nyangkut”.
Arti Payment Gateway dengan Bahasa Sederhana
Kalau diterjemahkan bebas, payment gateway berarti “gerbang pembayaran”. Bayangkan kasir digital yang duduk di antara websitemu dan bank. Pembeli tidak membayar langsung ke rekeningmu, tapi lewat gerbang ini. Gerbang itulah yang terhubung ke puluhan bank dan e-wallet, mencatat transaksi, lalu mengabari websitemu.
Bedanya dengan transfer manual terasa di operasional. Pada transfer manual, pembeli kirim bukti transfer, admin membuka mobile banking, lalu mencocokkan nominal satu per satu. Dengan payment gateway, langkah itu hilang. Nominal sudah terkunci, pembayaran diverifikasi sistem, dan pesanan yang dibayar jam 2 pagi tetap langsung lunas.
Perlu dibedakan juga dengan QRIS. QRIS adalah standar kode QR nasional, yaitu salah satu metode bayar. Payment gateway adalah layanan yang menyediakan banyak metode sekaligus, termasuk QRIS, plus notifikasi otomatis ke sistemmu. QRIS statis yang ditempel di meja kasir tidak memberi tahu website apa pun. QRIS dinamis dari payment gateway bisa.
Cara Kerja Payment Gateway: Alur dari Checkout sampai Status Lunas
Hampir semua penyedia besar di Indonesia (Midtrans, Xendit, DOKU, dan lainnya) memakai pola yang mirip. Ini alur payment gateway yang biasa kami pasang di website klien:
- Pembeli checkout. Websitemu membuat pesanan dengan nomor order unik dan status menunggu pembayaran.
- Server membuat transaksi ke payment gateway. Server websitemu (bukan browser) mengirim nomor order, nominal, dan data pembeli ke API penyedia memakai kunci rahasia (server key).
- Pembeli diarahkan ke halaman bayar. Bisa berupa pop-up atau halaman milik penyedia (misalnya Snap di Midtrans, Checkout di DOKU), atau tampilan buatan sendiri yang memanggil API langsung. Di sini pembeli memilih VA, QRIS, e-wallet, dan seterusnya.
- Pembeli membayar. Penyedia meneruskan transaksi ke bank atau e-wallet terkait untuk diproses.
- Payment gateway mengirim notifikasi ke server kamu. Ini disebut webhook atau callback: permintaan HTTP otomatis ke alamat yang kamu daftarkan, berisi status transaksi.
- Server memverifikasi notifikasi. Keaslian notifikasi dicek (signature atau token), nominal dicocokkan, dan bila perlu status ditanyakan ulang ke API penyedia.
- Status pesanan diperbarui. Pesanan jadi lunas, stok dikurangi, pembeli menerima email atau WhatsApp konfirmasi.
- Settlement. Penyedia memotong biaya layanan dan mengirim sisa dana ke rekening bisnismu sesuai jadwal pencairannya.
Satu hal yang sering disalahpahami: status lunas di sistemmu terjadi seketika (langkah 7), sedangkan uangnya menyusul sesuai jadwal settlement (langkah 8). Keduanya memang terpisah.
Notifikasi payment gateway membawa status transaksi. Di Midtrans, misalnya, nilainya antara lain sebagai berikut, dan websitemu perlu menerjemahkannya ke status pesanan:
| Status dari payment gateway | Artinya | Yang dilakukan website |
|---|---|---|
pending |
Tagihan sudah dibuat, belum dibayar | Pesanan tetap “menunggu pembayaran” |
settlement / capture |
Pembayaran berhasil (capture untuk kartu) | Tandai lunas, proses pesanan |
expire |
Batas waktu bayar lewat | Batalkan pesanan, kembalikan stok |
deny / cancel |
Ditolak bank atau sistem anti-fraud, atau dibatalkan | Batalkan, tawarkan metode lain |
refund |
Dana dikembalikan ke pembeli | Catat pengembalian di laporan |
Metode Pembayaran di Payment Gateway dan Kapan Memakainya
Satu integrasi biasanya membuka banyak metode sekaligus. Tapi tidak semua metode cocok untuk semua jenis transaksi.
| Metode | Cara pembeli bayar | Cocok untuk | Catatan |
|---|---|---|---|
| Virtual account (VA) | Transfer ke nomor rekening unik per tagihan | Tagihan bernilai jelas: SPP, invoice, pesanan besar | Biaya flat per transaksi, jadi hemat untuk nominal besar |
| QRIS | Scan dari aplikasi bank atau e-wallet mana pun | Transaksi kecil sampai menengah | Biaya persentase, jadi hemat untuk nominal kecil |
| E-wallet | Bayar dari saldo GoPay, OVO, DANA, ShopeePay | Pembeli muda, transaksi impulsif | Biaya per e-wallet berbeda |
| Kartu kredit/debit | Isi data kartu di halaman penyedia | Nominal besar, pembeli luar negeri, cicilan | Biaya paling tinggi, butuh dokumen tambahan saat daftar |
| Minimarket | Bayar tunai di Alfamart/Indomaret dengan kode | Pembeli tanpa rekening bank | Biaya flat, ada batas nominal |
| Paylater | Bayar nanti lewat Akulaku, Kredivo, dan sejenisnya | Produk bernilai menengah ke atas | Pembeli perlu akun paylater yang disetujui |
Bank transfer lewat payment gateway: apa bedanya dengan transfer biasa?
Bank transfer di payment gateway hampir selalu berbentuk virtual account. Setiap pesanan mendapat nomor rekening tujuan sendiri dengan nominal yang sudah pas. Karena nomornya unik, sistem langsung tahu pembayaran itu milik pesanan yang mana. Ini yang tidak bisa dilakukan transfer ke rekening biasa, di mana dua pembeli yang transfer nominal sama di jam berdekatan harus ditebak manual.
Biaya Payment Gateway: Tarif Resmi Midtrans dan DOKU
Model biaya yang umum adalah potongan per transaksi berhasil, berupa persentase atau nominal flat. DOKU, misalnya, menyatakan tidak ada biaya setup maupun biaya bulanan. Tabel ini kami salin dari halaman harga resmi masing-masing penyedia, dicek pada 19 Oktober 2026. Tarif bisa berubah, jadi selalu cek ulang sebelum memutuskan.
| Metode | Midtrans | DOKU |
|---|---|---|
| Virtual account | Rp4.000 | Rp4.000 (BCA Rp4.500) |
| QRIS | 0,7% | 0,7% (0% untuk transaksi Rp0–Rp100.000, biaya DOKU bisa berlaku) |
| Kartu kredit | 2,9% + Rp2.000 | 2,8% + Rp2.000 |
| E-wallet | GoPay 2%, ShopeePay 2%, DANA 1,5%, OVO 1,5% | DANA 1,5%, OVO 2%–3,18%, ShopeePay 2%–4% |
| Minimarket | Rp5.000 | Rp5.000 (Alfamart dkk), Rp6.500 (Indomaret) |
| Paylater | Akulaku 1,7%, Kredivo 2% | Akulaku 1,5% + Rp2.000, Kredivo 2,3% + Rp2.000 |
Catatan pajak: Midtrans menyebut semua tarifnya belum termasuk PPN kecuali QRIS, GoPay, dan ShopeePay. DOKU menyebut seluruh tarifnya belum termasuk PPN. Xendit juga menerbitkan daftar harga, tapi halamannya tidak bisa kami akses saat pengecekan, jadi angkanya tidak kami cantumkan. Sumber: harga Midtrans dan harga DOKU.
Dari tabel itu terlihat pola praktisnya. Untuk tagihan Rp1 juta, VA (Rp4.000) jauh lebih murah dari QRIS (0,7% = Rp7.000). Untuk transaksi Rp50 ribu, QRIS (Rp350) jauh lebih murah dari VA. Developer yang paham pola ini bisa mengatur metode mana yang ditampilkan untuk nominal tertentu. Biaya ini boleh kamu serap sendiri atau dibebankan ke pembeli sebagai biaya layanan, keduanya lazim.
Syarat Daftar Payment Gateway: Perorangan vs Badan Usaha
Akun payment gateway harus atas nama bisnismu sendiri, karena dana settlement masuk ke rekening yang terdaftar di akun itu. Sebagai contoh, halaman aktivasi Midtrans membedakan dua jenis pendaftar:
- Perorangan: KTP (WNI) atau paspor dan KITAS (WNA). Kalau ingin menerima kartu kredit, ditambah NPWP.
- Badan usaha: KTP direktur, NPWP badan usaha, akta pendirian, akta perubahan, dan SK Kemenkumham.
Selain dokumen, penyedia juga memeriksa jenis usaha (ada kategori yang dilarang) dan website atau katalog produkmu. Penyedia lain punya daftar yang mirip tapi tidak sama persis, jadi cek halaman aktivasi penyedia yang kamu pilih.
Kabar baiknya, mode uji coba (sandbox) biasanya langsung bisa dipakai setelah mendaftar. Developer bisa membangun dan menguji seluruh alur pembayaran sambil dokumenmu diverifikasi.
Regulasi: Payment Gateway Wajib Berizin Bank Indonesia
Di Indonesia, penyedia jasa pembayaran (PJP) diawasi Bank Indonesia. Sejak 31 Maret 2026 berlaku Peraturan Bank Indonesia Nomor 10 Tahun 2025 tentang Pengaturan Industri Sistem Pembayaran. Pasal 32 aturan itu tegas: setiap pihak yang bertindak sebagai PJP harus memperoleh izin dari Bank Indonesia. Pemegang izin lama tetap diakui.
Artinya untuk kamu sebagai pemilik bisnis: pilih penyedia yang tercatat berizin di Bank Indonesia, dan hati-hati dengan “payment gateway” yang sebenarnya hanya rekening penampung milik perorangan. Sebelum mendaftar, cek nama badan hukum penyedia dan cocokkan dengan informasi perizinan sistem pembayaran di situs resmi Bank Indonesia.
Keamanan: Data Kartu Jangan Pernah Lewat Server Kamu
Standar keamanan untuk data kartu adalah PCI DSS. Penyedia payment gateway yang menerima kartu wajib memenuhinya. Tugasmu di sisi website adalah tidak ikut memegang data itu:
- Pakai halaman bayar atau formulir kartu dari penyedia (pop-up, halaman hosted, atau tokenisasi), sehingga nomor kartu dan CVV langsung terkirim ke penyedia, bukan ke server kamu.
- Jangan pernah menyimpan nomor kartu lengkap atau CVV di database, log, atau email.
- Server key hanya disimpan di server. Kunci rahasia yang ikut terbawa ke kode JavaScript di browser bisa dipakai orang lain untuk membuat atau memeriksa transaksi atas nama akunmu.
- Seluruh website wajib HTTPS, terutama halaman checkout dan alamat webhook.
Kesalahan Integrasi Payment Gateway yang Paling Sering Terjadi
Memasang tombol bayar itu mudah. Masalah biasanya muncul setelahnya: pembeli sudah bayar tapi pesanan masih “pending”, atau satu pembayaran tercatat dua kali. Ini daftar kesalahan yang perlu dicek di integrasi mana pun:
- Webhook tidak diverifikasi. Siapa pun bisa mengirim permintaan palsu ke alamat webhook yang berbunyi “pembayaran berhasil”. Midtrans menyertakan
signature_keyberupa hash SHA512 dari order_id, status_code, gross_amount, dan server key. Xendit menyertakan token di headerx-callback-token. Keduanya harus dicek sebelum status pesanan diubah. - Percaya pada halaman “terima kasih”. Redirect pembeli ke halaman sukses di browser bisa dimanipulasi. Status lunas hanya boleh berasal dari webhook yang terverifikasi atau dari pengecekan status ke API penyedia.
- Tidak idempoten. Penyedia bisa mengirim notifikasi yang sama lebih dari sekali, misalnya saat server kamu lambat merespons. Midtrans mencoba ulang hingga 5 kali, Xendit hingga 6 kali. Kalau handler tidak mengecek “pesanan ini sudah diproses atau belum”, stok bisa terpotong dua kali atau email konfirmasi terkirim berulang.
- Webhook terlalu lambat. Penyedia menunggu respons 2xx. Handler yang mengirim email, membuat PDF, dan memanggil layanan lain sebelum merespons bisa kena timeout, lalu memicu pengiriman ulang. Simpan dulu, balas 200, proses berat belakangan.
- Nominal tidak dicocokkan. Pastikan nominal di notifikasi sama dengan nominal pesanan di database, bukan sekadar status “settlement”.
- Status kedaluwarsa tidak ditangani. Pesanan yang tidak dibayar tetap mengunci stok selamanya. Status
expireharus membatalkan pesanan dan mengembalikan stok. - Tidak ada rekonsiliasi. Sesekali laporan di dashboard payment gateway perlu dicocokkan dengan data pesanan, supaya selisih karena webhook gagal terkirim ketahuan cepat.
Pola-pola ini yang kami terapkan di proyek sendiri. Di Kurikulum Otomatis, pembayaran QRIS memakai endpoint callback yang idempoten, sehingga kredit pengguna langsung bertambah begitu pembayaran masuk tanpa konfirmasi manual. Di B.Night Run Party, payment gateway dipasang di sistem pendaftaran marathon supaya panitia tidak perlu cek bukti transfer satu per satu. Alur serupa kami bahas di artikel sistem pendaftaran event lari online dengan pembayaran otomatis.
Kapan Bisnis Sudah Butuh Payment Gateway
Payment gateway bukan kewajiban. Kalau transaksimu masih beberapa kali sehari dari pelanggan tetap, transfer manual belum jadi masalah dan biaya per transaksi malah jadi beban. Tanda sudah waktunya pindah:
- Admin mulai kewalahan mencocokkan bukti transfer di jam ramai.
- Pernah ada pesanan terlewat atau salah tandai karena verifikasi manual.
- Banyak pembeli checkout di luar jam kerja dan mengeluh konfirmasinya lama.
- Kamu menagih rutin (SPP, langganan, sewa) dan ingin setiap tagihan punya nomor bayar sendiri, seperti pada tagihan SPP digital.
Kalau kamu sedang menimbang tetap di marketplace atau punya toko sendiri, baca juga jualan di marketplace vs website sendiri. Di marketplace, pembayaran sudah diurus platform. Di website sendiri, payment gateway yang mengisi peran itu.
Pertanyaan yang Sering Diajukan
Apakah QRIS termasuk payment gateway?
Tidak persis. QRIS adalah standar kode QR pembayaran, yaitu salah satu metode bayar. Payment gateway adalah layanan yang menyediakan QRIS bersama metode lain, plus notifikasi otomatis ke websitemu. Jadi QRIS bisa kamu terima lewat payment gateway, tapi QRIS sendiri bukan payment gateway.
Apakah payment gateway berbayar?
Ya, umumnya berupa potongan per transaksi berhasil, seperti di tabel biaya di atas. Sebagian penyedia, misalnya DOKU, menyatakan tidak ada biaya setup atau bulanan; cek syarat penyedia lain langsung di halaman harganya. Biaya pengembangan website dan integrasinya dihitung terpisah oleh developer.
Apa contoh payment gateway di Indonesia?
Yang paling banyak dipakai antara lain Midtrans, Xendit, DOKU, iPaymu, Duitku, dan Finpay. Pilih berdasarkan metode bayar yang dibutuhkan pembelimu, tarif untuk nominal transaksi khasmu, dokumen yang kamu punya, dan kualitas dokumentasi API-nya.
Berapa lama uang masuk ke rekening?
Tergantung jadwal settlement penyedia dan metode bayarnya, umumnya hitungan hari kerja setelah transaksi. Selama itu dana tercatat di dashboard penyedia, tidak hilang. Status lunas di websitemu sendiri sudah berubah sejak pembayaran berhasil.
Bisa dipasang di website yang sudah ada?
Bisa, selama websitemu punya alur pesanan yang jelas. WooCommerce dan platform populer lain biasanya sudah punya plugin resmi. Website custom (Laravel, Go, Node, atau lainnya) butuh pengerjaan di sisi server: membuat transaksi, menerima webhook, dan memetakan status.
Ringkasnya, payment gateway adalah gerbang yang membuat pembayaran online masuk lewat banyak metode, terverifikasi otomatis, lalu mengalir ke rekeningmu. Bagian yang paling menentukan justru integrasinya: webhook yang diverifikasi, idempoten, dan statusnya dipetakan dengan benar. Kalau kamu ingin bagian itu dikerjakan sampai pembayaran benar-benar jalan, lihat layanan jasa integrasi payment gateway ke website kami, atau ceritakan dulu model bisnismu lewat halaman kontak.

Leave a Reply