Midtrans vs Xendit vs DOKU vs Duitku: Indonesian Payment Gateway Fees 2026
All four publish QRIS at 0.7%, so the rate is not the comparison — Xendit adds a flat IDR 4,000 to every Indonesian method. Card, virtual account and QRIS fees from each vendor's own rate card, verified August 2026.
All four Indonesian gateways publish the same 0.7% QRIS rate, so the headline number tells you nothing — the cost difference is in the flat fees stacked on top of it. Xendit charges a flat IDR 4,000 Xendit processing fee on every Indonesian payment method, on top of the method fee: a IDR 100,000 QRIS sale costs IDR 700 at Midtrans, DOKU or Duitku and IDR 4,700 at Xendit, and one virtual-account transaction costs IDR 13,000 at Xendit (IDR 9,000 + IDR 4,000) against IDR 4,000 at Midtrans and DOKU. On cards DOKU is the cheapest published rate at 2.80% + IDR 2,000, ahead of Midtrans (2.9% + IDR 2,000) and Duitku (2.9% + IDR 2,500). Duitku's virtual accounts are the cheapest only at specific banks — IDR 1,500 at Artha Graha and Sahabat Sampoerna, IDR 3,000 at most banks — but IDR 5,000 at BCA, where Midtrans and DOKU's flat IDR 4,000 wins. HitPay is not an Indonesian gateway at all: its pricing page offers Singapore, Malaysia, Philippines and Global as merchant countries and never mentions QRIS, so it belongs in a cross-border comparison, not this one. Xendit's flat fee buys a multi-country API, which is a real reason to pay it — it is just not a cheaper Indonesian rate.
| Gateway | Cards | Virtual account (per transaction) | QRIS | Flat fee on every method |
|---|---|---|---|---|
| Midtrans | 2.9% + IDR 2,000 | IDR 4,000, flat across all listed banks | 0.7% (quoted PPN-inclusive) | None |
| DOKU | 2.80% + IDR 2,000 | IDR 4,000 | 0.7% (rates exclude PPN) | None |
| Duitku | 2.9% + IDR 2,500 | IDR 1,500 Artha Graha / Sahabat Sampoerna · IDR 3,000 most banks · IDR 4,000 Mandiri · IDR 5,000 BCA | 0.7% | None |
| Xendit | 2.90% + IDR 2,000 + IDR 4,000 = 2.90% + IDR 6,000 | IDR 9,000 + IDR 4,000 = IDR 13,000 | 0.70% VAT-inclusive + IDR 4,000 | IDR 4,000 Xendit processing fee |
| HitPay | Not applicable — HitPay does not onboard Indonesian merchants | Not offered | Not offered; QRIS appears nowhere on its pricing page | Indonesia is a payer country only: IDR 2% online, 1.5% in-person |
SEA Operational Reasoning
Every Indonesian gateway publishes QRIS at 0.7%, so comparing the percentage is wasted effort — what separates them is the flat fee attached to each transaction, and that is where the difference runs several hundred percent rather than a few basis points. Xendit adds a flat IDR 4,000 processing fee to every Indonesian payment method on top of the method fee, so its effective cost is dominated by ticket size: on a IDR 500,000 order the fee is under 1% of the sale and barely matters, while on a IDR 50,000 order it is 8% and destroys the margin. Midtrans, DOKU and Duitku attach no equivalent flat fee, which is why a low-ticket Indonesian merchant should default to one of them and a merchant with high average order values and a multi-country roadmap can rationally pay Xendit's fee for its API and its Philippines, Malaysia and Thailand coverage. Beyond price, three practical factors decide. Integration effort favours Midtrans for a standard store, whose WooCommerce, Magento and OpenCart plugins get a launch live in roughly one to two weeks. Payment mix matters more than any blended rate: if most volume lands on BCA virtual accounts, Midtrans and DOKU's flat IDR 4,000 beats Duitku's IDR 5,000, while Duitku wins at Artha Graha and Sahabat Sampoerna at IDR 1,500. Risk posture is third — DOKU is Bank Indonesia PJP Level 1-licensed and has operated since 2007, which some finance teams weight above a few hundred rupiah per transaction. Two footnotes worth reading before you model anything: Midtrans quotes QRIS, GoPay and ShopeePay inclusive of PPN but every other method exclusive of it, and DOKU quotes all of its rates exclusive of PPN, so a like-for-like comparison has to add 11% VAT to the exclusive figures. Midtrans also states that gaming and digital-product companies are charged different rates entirely.
Related Expert Guides
- ↗Midtrans publishes QRIS 0.7%, cards 2.9% + IDR 2,000, virtual account IDR 4,000 flat across every listed bank, GoPay 2%, ShopeePay 2% and DANA 1.5%, and states that all transaction fees exclude PPN except QRIS, GoPay and ShopeePayverified 2026-08-21
- ↗Xendit's rate card adds a flat IDR 4,000 Xendit processing fee on top of the payment-method fee for every Indonesian method: QRIS 0.70% VAT-inclusive + IDR 4,000, virtual accounts IDR 9,000 + IDR 4,000, cards 2.90% + IDR 2,000 + IDR 4,000verified 2026-08-21
- ↗DOKU publishes QRIS 0.7%, cards 2.80% + IDR 2,000, e-wallet 1.5% and virtual account IDR 4,000, with the note that prices exclude PPN (Harga belum termasuk PPN)verified 2026-08-21
- ↗Duitku publishes QRIS 0.7%, cards 2.9% + IDR 2,500, and virtual account fees that differ by bank — IDR 1,500 Artha Graha and Sahabat Sampoerna, IDR 3,000 most banks, IDR 4,000 Mandiri, IDR 5,000 BCA — plus OVO/DANA/LinkAja 1.67% and ShopeePay 2%verified 2026-08-21
- ↗HitPay's pricing page offers only Singapore, Malaysia, Philippines and Global as merchant countries and never mentions QRIS; Indonesia appears solely as a payer country under Cross-Border Payments at IDR 2% online and 1.5% in-personverified 2026-08-21
- ↗DOKU Customer Support (ticket #1126761) replied to our fact-check email confirming the 0.7% QRIS MDR, PJP Level 1 licence and cross-border QRIS acceptance, and corrected none of the figures we publishedverified 2026-08-18
We verify pricing and features via official vendor documentation and live platform audits. Software-listing.com is independent and may earn affiliate commissions from some links.
The questions operators actually ask.
Which Indonesian payment gateway has the lowest fees?
It depends almost entirely on your average ticket size, because the flat fee matters more than the percentage. On a IDR 100,000 QRIS sale, Midtrans, DOKU and Duitku each charge IDR 700 while Xendit charges IDR 4,700, because Xendit adds a flat IDR 4,000 processing fee to every Indonesian payment method. On cards, DOKU publishes the lowest rate at 2.80% + IDR 2,000. On virtual accounts, Duitku is cheapest at Artha Graha and Sahabat Sampoerna (IDR 1,500) but the most expensive of the three at BCA (IDR 5,000), where Midtrans and DOKU charge a flat IDR 4,000.
Is the QRIS fee really the same at every provider?
The rate is. Midtrans, DOKU, Duitku and Xendit all publish 0.7% for QRIS, and DOKU's support team confirmed the figure to us directly in August 2026. The total cost is not the same, because Xendit adds a flat IDR 4,000 processing fee on top of the 0.7%. Two further details change the comparison: Midtrans quotes QRIS inclusive of PPN, DOKU quotes its rates exclusive of PPN, and Midtrans notes that gaming and digital-product companies are charged different rates.
Why isn't HitPay listed as an Indonesian payment gateway here?
Because it is not one. HitPay's own pricing page offers Singapore, Malaysia, Philippines and Global as merchant countries, with no Indonesia option, and the word QRIS does not appear on it. Indonesia shows up only as a payer country under Cross-Border Payments, at IDR 2% online and 1.5% in-person — that is a Singaporean or Malaysian merchant accepting an Indonesian customer, not an Indonesian business collecting locally. We previously listed it here and that was wrong.
What's the difference between this page and your QRIS guide?
This page compares the whole rate card — cards, virtual accounts and QRIS side by side — and is the right page if you are choosing a gateway. Our dedicated QRIS comparison goes deeper on the QRIS rail specifically and on why the regulated 0.7% is not the number that separates providers.
What does Xendit's IDR 4,000 processing fee actually buy?
A multi-country API. The same rate card prices Thailand (PromptPay QR), the Philippines (QRPH), Vietnam and Malaysia alongside Indonesia, so a product team that expects to launch in a second Southeast Asian market integrates once instead of twice. That is a legitimate reason to pay it. It is not a cheaper Indonesian rate, and on low-ticket Indonesian volume it is a materially more expensive one.