Payment Gateway Indonesia: Cards, Virtual Accounts and QRIS Compared 2026
A general comparison of Indonesian payment gateways — Midtrans, Xendit, DOKU, Duitku and HitPay — across card, virtual account and QRIS fees, for buyers searching beyond QRIS alone.
Most buyers researching an Indonesian payment gateway need three facts before comparing vendors. First, the QRIS merchant fee is fixed by Bank Indonesia at 0.7% across every licensed provider, so it is not where gateways actually differ. Second, card fees cluster around 2.9% plus a small fixed fee at Midtrans, Xendit, DOKU and Duitku alike. Third, the real cost and coverage differences show up in virtual account (bank-transfer) and e-wallet pricing, where Duitku tends to run the lowest published VA fees and HitPay's Indonesian coverage is narrower than the other four. For a standard store wanting the fastest launch, Midtrans's ready-made plugins usually win; for a product team planning to expand across Southeast Asia, Xendit's API is the more natural base. If QRIS specifically is what you're comparing, our dedicated QRIS breakdown goes deeper on the regulated rate and why it isn't a real differentiator.
| Gateway | Card fee | Virtual account (VA) fee | QRIS fee |
|---|---|---|---|
| Midtrans | ~2.9% + fixed fee | Varies by bank, not a flat published rate | 0.7% (Bank Indonesia-regulated) |
| Xendit | ~2.9% + fixed fee | Varies by bank, not a flat published rate | 0.7% (Bank Indonesia-regulated) |
| DOKU | ~2.9% + fixed fee | Varies by bank, not a flat published rate | 0.7% (Bank Indonesia-regulated) |
| Duitku | ~2.9% + fixed fee | Tends to have the lowest published VA fees among the four | 0.7% (Bank Indonesia-regulated) |
| HitPay | Pay-per-transaction (rate not itemized for Indonesia) | Narrower Indonesian VA coverage than the local-first providers | Accepted via e-wallet rate; narrower Indonesian depth |
SEA Operational Reasoning
A general search for an Indonesian payment gateway usually means comparing more than QRIS alone, and the biggest time-saver is realizing that two of the three major rails barely differ between vendors: QRIS is fixed by Bank Indonesia at 0.7% everywhere, and card fees cluster around 2.9% plus a small fixed fee at Midtrans, Xendit, DOKU and Duitku. The decision instead turns on virtual accounts and e-wallets, plus three practical factors. Integration effort favors Midtrans for a standard store, since its plugin coverage (WooCommerce, Magento, OpenCart) gets a launch live in about one to two weeks; Xendit favors a product team that wants a cleaner API and room to add the Philippines, Malaysia or Thailand later. Cost on the rails you actually use matters more than the headline card or QRIS number — if a lot of volume runs through virtual accounts, Duitku's typically lower VA fees matter more than any single blended rate. Risk posture is the third factor: DOKU trades some setup speed for a longer OJK-compliant track record dating to 2007, which some finance teams weight heavily. HitPay is the lightweight cross-border option but has thinner Indonesian-specific coverage than the other four.
Related Expert Guides
The questions operators actually ask.
What's the difference between this page and your QRIS guide?
This page is the general 'which Indonesian payment gateway' overview across cards, virtual accounts, e-wallets and QRIS together. Our dedicated QRIS comparison goes deeper specifically on the Bank Indonesia-regulated QRIS rate and why it is not a real point of differentiation between providers.
Do Indonesian payment gateways charge the same card fee?
Card fees cluster around 2.9% plus a small fixed fee across Midtrans, Xendit, DOKU and Duitku — close enough that card pricing alone rarely decides the choice. The real differences show up in virtual-account and e-wallet pricing instead.
Which Indonesian gateway has the lowest fees overall?
It depends on your payment mix. QRIS is fixed at 0.7% everywhere by Bank Indonesia; for virtual-account-heavy businesses, Duitku tends to have the lowest published VA fees; card fees sit in a similar band across the main local providers. Compare on the specific rails your customers actually use rather than a single headline number.