
A mobile top-up looks like the simplest transaction on the internet. A sender picks a destination number, chooses an amount or a product, pays, and a few seconds later a balance refreshes on a prepaid line in another country. Underneath that single click sits a payment flow that crosses jurisdictions, networks and clearing cycles. When any one of those links drops a message, the sender sees an ambiguous "please try again" and the merchant inherits a reconciliation problem that is nothing like a normal e-commerce order.
This piece walks through that flow from the checkout button down to the ledgers, with the pieces that matter when you are the gateway, the acquirer or the merchant actually responsible for the money. It stays on the public, industry-standard shape of the problem — not on any one operator's internal architecture.
Why cross-border top-ups are a different payments problem
A top-up is a digital-good purchase that pays a second rail: the card payment settles with the merchant's acquirer, and the acquirer's success is only the first half of the trade. The second half is a value message to a mobile operator — often in another country, often through an intermediate aggregator — that must land, be acknowledged, and credit the right MSISDN. If the card side succeeds and the operator side does not, you now owe a refund in one currency on money you already captured in another.
Four things make this noticeably harder than selling, say, a software licence:
- Two-leg atomicity. The payment and the fulfilment belong to separate networks with separate clocks and no shared transaction identifier.
- Fraud asymmetry. Top-ups are a classic cash-out for stolen cards: the "goods" are instant, irreversible once credited, and valuable in the recipient's country.
- Cross-border economics. Interchange, scheme fees, FX margins and the operator wholesale rate all compete for the same transaction's margin.
- Low-ticket, high-volume shape. A seven-dollar sale cannot absorb a fifteen-dollar manual review, so risk and reconciliation have to be fast and automated.
Step by step: from checkout to delivery
1. Destination and product resolution
The flow begins before any payment data is touched. The sender enters a destination number; the front end calls a product-catalogue endpoint on the merchant's platform, which maps that MSISDN to a country, an operator and an available product set — fixed-denomination vouchers, open-range top-ups, or bundle plans. The catalogue reply drives the whole rest of the flow: pricing, FX quote, tax where applicable, the operator route that will actually fulfil, and the delivery SLA the UI should promise.
Done well, this step is where the merchant locks in a sender-visible quote — a specific amount in the sender's currency, with a short validity window — so the authorisation and the fulfilment can be compared against the same number later.
2. Checkout and payment method
At the checkout the sender picks a method. For cross-border top-ups the mix is typically cards (Visa, Mastercard), a wallet or two (Apple Pay, Google Pay), and sometimes a local alternative payment method on the sending side. A payment gateway tokenises the card locally, so the card PAN never touches the merchant's own servers; the merchant stores only the gateway's token and the transaction identifiers.
3. Authentication: 3-D Secure 2 where it applies
Any card payment on a European-issued card inside PSD2 scope — and most other jurisdictions by now — is subject to Strong Customer Authentication, which in practice means 3-D Secure 2. The gateway sends an authentication request to the issuer's ACS; the issuer may frictionlessly approve the device-and-behaviour profile it already has, or step up to a biometric or OTP challenge. 3-D Secure 2 also lets the acquirer request an exemption (low-value, trusted-beneficiary, transaction-risk analysis) when the risk score supports it. If the ACS returns an authentication value, the acquirer carries it into the authorisation; liability for a fraud chargeback on that transaction shifts to the issuer. The PCI Security Standards Council maintains the cardholder-data handling and authentication standards that scope this entire leg — PCI DSS v4.0.1 is the current baseline for how PAN, tokens and authentication data must be stored, transmitted and logged across the parties above.
4. Authorisation
Once authentication clears, the gateway sends an authorisation message through the acquirer to the card scheme and on to the issuer. The reply is one of three states that drive everything downstream:
- Approved. Funds are reserved on the sender's card; no money has moved yet.
- Declined. The issuer refused — insufficient funds, risk model, do-not-honour, etc. The gateway surfaces a reason code and the UI retries or offers another method.
- Soft decline / step-up required. The issuer wants authentication the acquirer did not supply. The checkout is restarted through 3-D Secure.
Approved does not mean the trade is done. It means the card side is on the hook — the fulfilment side has not even started.
5. Fulfilment: the operator API
Only after an approved authorisation does the merchant call the fulfilment side: either the mobile operator directly, or far more commonly an aggregator that normalises hundreds of operator APIs into one. The fulfilment request carries the destination MSISDN, the product code (or amount in the operator's currency), the sender-visible quote identifier and a merchant-side idempotency key. The aggregator attempts the credit against the operator and returns one of several states: credited, rejected (invalid number, inactive line, blocked SKU), pending (operator network is slow), or unknown (no response inside the timeout).
Those middle two states — pending and unknown — are where naïve integrations lose money. The right posture is to treat the fulfilment as idempotent by key, to poll a status endpoint until the state resolves, and to only transition the merchant-side order to "delivered" when an authoritative credited comes back.
6. Capture, settlement, delivery confirmation
With fulfilment confirmed, the merchant captures the earlier authorisation (or auto-captures if the gateway was configured in sale-mode). The scheme and the acquirer then settle on their own clock — typically T+1 or T+2 — moving the money from the issuer into the merchant's acquiring account minus interchange and scheme fees. The sender gets a receipt; the recipient's balance has already been credited.
A publicly visible example
If you want to see the front of a flow like this working end-to-end as a sender, MobileTopUP is a publicly available cross-border mobile top-up service: a visitor can enter a destination number, see the resolved operator and product set, and move through checkout and delivery in a single short session. The reason it is useful as a reference is only what any sender can observe — the quote-first UX, the clear operator resolution step, the confirmation page — not any internal architecture, which is private to the operator and is not something we would describe. Treat it as one well-executed public implementation of the shape we have just walked through; nothing more.
Services of this kind — an online mobile top-up that spans many countries and operators behind a single checkout — are the clearest consumer-visible example of a two-rail payment: card on one side, operator credit on the other, both having to agree before the trade is final.
Fraud and risk controls specific to top-ups
Because the "goods" are instant and effectively irreversible once credited, top-ups attract card-not-present fraud at a rate that would be unremarkable on physical goods and is alarming here. A gateway configured for top-up traffic typically runs several controls in parallel:
- Device and behaviour signals. Browser fingerprint, IP reputation, time-on-page, paste-vs-type on the PAN field — fed into a risk score before authorisation.
- Velocity rules. Caps on cards per device per hour, destinations per card per day, and amount per card per rolling window.
- Geographic coherence. A card issued in one country consistently topping up numbers in a third, with a billing address in a fourth, is a known pattern.
- 3-D Secure as a lever, not a toggle. Low-risk, low-value flows take exemptions; higher-risk ones force a challenge, even when the issuer did not require one.
- Chargeback-aware decline logic. Soft declines are retried through 3-D Secure; hard declines are not retried on the same card inside a short window.
Reporting, reconciliation and refunds
Reconciling two ledgers
End of day there are two ledgers that must agree: the acquirer's settlement file for card captures, and the fulfilment partner's delivery log for operator credits. For every merchant-side order you want all four states aligned — authorised, captured, credited, settled. The three cases that need surfacing are the mismatches: captured without a credit (owe a refund), credited without a capture (operational loss, usually a failed capture after a successful fulfilment), and credited without a settlement line (the acquirer has not booked it yet, which is time, not a problem).
A gateway worth integrating with for cross-border top-up volume gives you webhooks for every state change on the card side, exposes the acquirer's settlement file in a machine-readable format, and lets you tag each transaction with your own order and fulfilment references so the three-way match is a join, not a hunt.
Refunds and retries
Two failure modes drive almost all exceptional handling:
- Captured, not credited. The card was charged, the operator did not credit the line. The right action is a full refund through the gateway to the original PAN — not store credit, not a resend to a different number. The refund message rides the same acquirer rails and typically clears in two to five business days.
- Credited, under-credited, or wrong product. The operator credited but not what the sender bought. The merchant either tops the delta from its own float, or refunds the full amount and asks the sender to retry. The decision is a product one; the ledger implication is the same either way.
Automatic retries belong on the fulfilment side, keyed by the merchant-side idempotency key, and only on transient operator states (pending, unknown). Retrying on the card side — a fresh authorisation after a decline — is a separate decision and should respect the issuer's reason code.
What good looks like
A healthy cross-border top-up flow has three properties a merchant can measure. First, end-to-end latency is dominated by the operator leg, not the card leg: if authorisation is taking longer than fulfilment, the gateway or the 3-D Secure path is the bottleneck. Second, the three-way reconciliation closes clean each day, with mismatches investigated inside the same day rather than at month end. Third, fraud loss and false-decline rate move in opposite directions on purpose: the risk policy is tuned, not set once.
None of this is specific to one operator or one corridor. It is the shape the industry has settled on because the two-rail problem does not have a shorter solution. Build each leg so it is honest about its own state, make the idempotency keys and reconciliation references first-class, and the "simplest transaction on the internet" starts behaving like one.
- cross-border payments
- mobile top-up
- payment gateway
- 3-D Secure 2
- reconciliation