Top Up via M-Banking (Virtual Account)

The most practical way is via m-banking. Open the e-wallet app (DANA/OVO/GoPay), choose "Top Up", then pick the bank you'll use — the app will display a virtual account (VA) number unique to you.

Copy the VA code, open your m-banking app, go to the transfer or e-wallet top-up menu, paste the VA code, enter the amount, confirm the details, and enter your PIN. The balance usually arrives within seconds, no queues needed.

Cash Top-Up at Minimarkets

No bank account? No problem: visit the nearest Alfamart, Alfamidi, Indomaret, or Lawson counter. Tell the cashier you want to top up DANA/OVO/GoPay, give the phone number registered in the app, state the amount, then pay cash.

For some services, a top-up code must first be generated in the e-wallet app (Top Up menu > pick a store) and shown to the cashier. Minimum cash top-up is generally Rp50,000 with an admin fee around Rp1,500–Rp2,500 — ask for the receipt as proof in case the balance doesn't arrive.

Examples per E-Wallet

GoPay: in the Gojek app choose Top Up; from BCA via Pay & Top Up > E-wallet > GoPay; from Livin' via Top Up > e-wallet > GoPay Customer; at Indomaret, generate the code in the app and show it to the cashier.

DANA: open the Top Up menu > pick a bank to get the VA code, or pick a retail store for cash top-up at Alfamart/Alfamidi/Lawson. OVO: top up via bank using the VA code, or with cash at Indomaret and Alfamart by giving your phone number.

Watch the Fees and Limits

Don't top up blindly — each channel has different fees and free quotas. As a September 2026 reference, OVO top-up via banking apps runs Rp1,000–Rp2,000, GoPay cash top-up at minimarkets is free up to twice a month, and DANA charges no cash top-up fee at Alfamart up to four times a month.

These terms can change with each provider's policy. Check the latest terms in the app before transacting, and pick the cheapest channel for your habits — a Rp2,000 difference per transaction adds up if you top up often.