Guides
Setup

How to build a game top-up website

A top-up site looks like a shop, but it behaves like a payment system: it takes a player ID, buys the top-up from a supplier in real time and has to undo everything cleanly when that fails.

Selling game top-ups is different from selling gift card codes. A code can sit in your stock for weeks and be handed over in a second. A top-up is bought at the moment of the order, for one specific player account, through a supplier's API. That changes what your website has to do.

This guide walks through the parts of a game top-up website, in the order an order passes through them, and shows how each part works in Kavia Commerce, our store software for digital goods.

The three kinds of products you will sell

Most top-up stores end up selling three kinds of products side by side:

  • Stock codes: gift cards and game codes you buy in bulk and keep in stock. Delivery is instant because the code already exists.
  • API top-ups: diamonds, UC, coins and similar in-game currency credited straight to a player account through a supplier. Nothing is stored; the purchase happens when the buyer orders.
  • Manual orders: anything a supplier cannot automate yet. The order goes to your staff, who complete it by hand.

Your software has to treat these three differently while showing them in one catalog. In Kavia Commerce each product has a delivery type, and the order flow picks the right path for it.

Step 1: ask for the right input

A top-up needs data from the buyer before payment: a player ID, sometimes a server or zone, sometimes a nickname check. If the field is wrong, the top-up lands on the wrong account and cannot be taken back.

So each top-up product needs its own input fields, with validation, shown before checkout. Kavia Commerce lets you define input fields per product, so a mobile game can ask for a player ID and a zone while a gift card asks for nothing.

Step 2: hold the money, do not spend it yet

When the buyer confirms, the order amount should be held on their balance, not spent. The supplier has not delivered anything yet, and it may still fail.

In Kavia Commerce the amount is held on the buyer's wallet and written to an append-only ledger. Balances change only through new ledger entries, so you can always see why a balance is what it is. If the supplier rejects the top-up, the hold is released and the money is back on the buyer's balance, with the reason recorded.

Step 3: check the order before money leaves

Top-up stores attract fraud, because a stolen card turned into in-game currency is hard to reverse. A risk check before delivery is worth having from the start.

On the Pro plan, orders that look suspicious wait in a review queue, and your staff approves or rejects them before anything is bought from the supplier.

Step 4: buy from the supplier and deliver

Now the platform calls the supplier's API with the player ID, waits for the result and completes the order. For stock codes, it takes a code from your encrypted stock instead. Codes are stored encrypted (AES-256-GCM) and decrypted only for delivery.

The buyer sees the result in their account, and the same order appears in the admin panel with its full history. Kavia Commerce comes with prebuilt supplier integrations: one on Start, three on Pro, with automatic game top-ups on Pro. New suppliers are connected on request.

Step 5: the admin side nobody sees

The storefront is the easy part. Running a top-up store every day means:

  • seeing every order with its status, supplier response and refunds to balance;
  • managing stock and supplier products from one panel;
  • giving staff only the permissions their role needs, with two-factor sign-in;
  • keeping an audit log of critical admin actions.

All of these are in the Kavia Commerce admin panel. Admin panel demo access is available on request: message @kaviasoftbot on Telegram.

Build it or start from a ready platform

You can build all of this yourself. Our guide on ready script vs custom build compares the two routes honestly, and what an e-pin store costs breaks down the budget. If you want to see a working top-up flow first, open the live demo store, pick a product with a player ID field and go through checkout. No real money is charged there.

When you are ready, tell us about your store and which suppliers you work with.

Questions

What is the difference between an e-pin and a game top-up?

An e-pin is a code you hold in stock and hand to the buyer. A top-up is credited directly to a player account through a supplier API at the moment of the order, so it needs the player ID before payment.

What happens if the supplier fails to deliver a top-up?

In Kavia Commerce the order amount is only held while the supplier works. If the top-up fails, the hold is released and the money returns to the buyer's balance, with the event recorded in the ledger.

Can I sell top-ups and gift card codes in the same store?

Yes. Each product has its own delivery type: stock code, API top-up or manual order. They share one catalog, one cart and one wallet balance.

Which suppliers can I connect?

Kavia Commerce has prebuilt supplier integrations, and new suppliers are connected on request. Tell us which wholesalers you use and we will check them before you sign.

Related posts

Let’s talk about your project

Tell us briefly what you need. We usually reply within one business day.

Tell us about your project

Fill in the form. We usually reply within one business day.