What is Idempotency?
If the connection drops as you pay and you tap again, a system with this protection recognises the same request and does not issue two profiles. It is why retrying on the same button beats opening a fresh checkout when you are unsure.
Idempotency is a word borrowed from mathematics, and it means that doing something again produces no additional effect. In online purchasing it describes the mechanism that stops a repeated instruction from creating a second outcome. Translated for somebody buying an eSIM: if the connection drops as you tap pay and you tap again, a system with this protection recognises the same request rather than a new one, and does not issue you two profiles.
This page explains the problem the mechanism solves, the principle it rests on, the difference between what it can and cannot prevent, and the habits on your side that let it help you fully. We do not describe any particular seller's internals, since those differ, but the principles below apply broadly.

The problem it was built to solve
You tap confirm, the mobile signal stutters for a moment, the screen sits on a spinner and then reports that the connection failed. The question you cannot answer at that instant is whether your instruction reached the server. From where you are sitting, the case where the request never arrived and the case where it arrived but the answer got lost on the way back look absolutely identical.
This is a fundamental property of communicating over a network, and no amount of extra speed removes it. However fast the link, there is always a window in which the reply is in flight and could be lost. What can be fixed is the safety of retrying. If a retry produces no new effect, you can retry without knowing whether the first attempt worked, which turns an unanswerable question into one you no longer need to ask.
| What actually happened | What you saw | Result without protection | Result with protection |
|---|---|---|---|
| The request never reached the server | A connection error | Retrying creates one order, which is correct | The same: one order |
| The request arrived but the reply was lost | An identical connection error | Retrying creates a second order and a second charge | The system recognises the same request and returns the original result |
| The request arrived and is still being processed | An unusually long spinner | Retrying starts a second job alongside the first | The second request is matched to the existing job rather than starting another |
Three situations that look the same from the user's side
How the mechanism works in principle
The heart of it is giving each request an identity. When you begin a checkout, the system generates a key tied to that particular intention of yours. The key travels with every request sent from that same screen. When the server receives a request carrying a key it has seen before, it does not perform the work again; it returns the result of the first attempt instead.
Two consequences matter. The first is that however many times you tap, the outcome is one and the same. The second is that the answer you receive on the second tap is not a new answer but a copy of the original one you missed when the connection dropped. That is precisely what you wanted, because what you needed was the result of the first attempt, not a fresh start.
- 1The checkout screen opensThe system creates a request identity for this particular intention to buy. That identity belongs to the screen, not to your account as a whole, which is why a fresh screen counts as a fresh intention.
- 2You confirm for the first timeThe request goes out carrying that identity. If all goes well the answer comes back and the story ends. The trouble only starts when the answer fails to make the return journey.
- 3The connection drops or the screen hangsAt this point you cannot know what happened at the other end. That is an ordinary condition of mobile use, especially on public Wi-Fi or a weak signal.
- 4You tap the same button againThe second request carries the same identity, so the server knows this is the same intention rather than another purchase. This is the moment the mechanism earns its keep, and the reason retrying on the same button is safer than opening a new page.
- 5You get one resultThe system returns the result of the first attempt. If that attempt succeeded, you see that order. If it never arrived, the system processes it now as the first attempt. Either way you end with a single order.
Why the same button beats a fresh checkout
The instinct when a screen hangs is to close it and start clean, which serves you well on an ordinary form and badly at a payment step. Starting clean means discarding the request identity, and with it the system's ability to know that you already expressed this intention once.
Retrying on the same button therefore gives the system more information. It says this is a second attempt at one story, whereas a fresh checkout says this is a new story. The system cannot guess on your behalf, because somebody who genuinely wants two plans performs exactly the same actions.
The workable rule is this: when you are unsure whether a payment went through, do two things in order. First, refresh the same page or press the same button again. Second, if it is still unclear, look at your order history rather than buying again. Order history is the source of truth that requires no guessing, and reading it creates nothing.

What the mechanism cannot prevent
Duplicate protection is a powerful tool with a narrower reach than most people assume. It operates on requests that carry the same identity. Anything outside that boundary is a new intention as far as the system is concerned, and will be carried out at face value.
- Opening a fresh checkout and completing it is always a separate order.
- Buying from a different device or browser reads as a different intention.
- Paying by another method after the first appears to fail can leave two transactions if the first succeeds afterwards.
- Two people buying for the same traveller cannot be recognised as one story.
- Choosing the wrong plan is not something this mechanism has any bearing on.
| What you do | How the system reads it | What follows |
|---|---|---|
| Press confirm again on the same screen | A second attempt at the same intention | One order |
| Refresh the same checkout page | A request for the status of that same intention | You see the first result without creating anything |
| Close the window and open a new checkout | A new intention unrelated to the first | A second order |
| Buy from another device or browser | Also a new intention | A second order |
| Open your order history | A read, not an instruction | Nothing is created |
Each action and what the system understands by it
Signs that a duplicate may exist
Most people discover a duplicate when the statement arrives, which is late from the point of view of peace of mind. Several signals appear much sooner and can be checked in under a minute.
- Order history shows more than one order for the same destination within minutes of each other.
- Two confirmation emails arrive carrying different order numbers.
- The banking app lists two transactions of the same amount close together.
- You receive two different QR codes for a single trip.
- The original order page starts reporting success just after you bought again.
If you spot any of these, resist installing both. Installation makes the situation harder to unwind. Work out which one you want, leave the other untouched, and wait for an answer. An uninstalled profile is always easier to deal with than an installed one.
You have a duplicate: what now
The order below runs from what to do first. The point is to make the situation unambiguous now rather than explaining it later.
- Open your order history and note down both order numbers.
- Decide which one you will use, checking that the plan matches your itinerary.
- Install only the one you chose and leave the other alone.
- Message support with both numbers, stating clearly which one you are using.
- Wait for a reply before starting anything with your bank, so two processes do not collide.
The reason not to install the surplus one is that a profile which has been installed and used may be treated as consumed, which complicates any reversal considerably. The exact terms vary by plan and by supplier, so we will not speak for every case, but leaving it untouched is invariably the safest position.

When you really do want two
There are plenty of situations where two profiles are exactly what you want: one for yourself and one for a travelling companion, or two plans covering two legs of a trip that crosses regions. Duplicate protection does not stand in your way here, because each intention begins on its own screen.
To avoid confusion later, keep them separate from the start. Complete one purchase at a time, wait for the first to confirm before starting the second, and if you are buying for other people, write down which order number belongs to whom. One QR code installs onto one handset, so mixing them up at installation creates a harder problem than it needs to be.
Pros
- Completing one order at a time keeps the history readable and easy to audit later
- Recording which order belongs to whom prevents installing on the wrong handset
Cons
- Several tabs at once makes it impossible to tell which order succeeded
- One shared email with no notes leaves you guessing at installation time
From the system's side: why it does not auto-cancel
A reasonable question is why the system does not simply cancel the second order when it sees two purchases minutes apart. The answer is that it cannot know your intention. Two purchases in quick succession is entirely correct behaviour for somebody buying for a family. Cancelling automatically would risk destroying an order that was meant.
The solution is a division of labour. The system is responsible for making sure one request is not accidentally executed twice. You are responsible for making sure that a new intention really is new. When both sides hold up their end, duplicates become rare, and the ones that do occur are quick to resolve because the trail is clear.
Small habits that help at the payment step
The protection on the system's side works best when your behaviour does not fight it. The habits below are not rules, but they measurably reduce the chance of trouble, especially when you are buying somewhere with a poor signal such as a train or an airport.
- Buy on a stable Wi-Fi connection rather than on a patchy signal while moving.
- Keep one checkout tab open, not several at once.
- If the screen hangs, wait a moment and refresh the same page before doing anything else.
- Note the order number the moment it appears; it is the key to every conversation afterwards.
- Before buying again, always check order history, even when you are sure the first attempt failed.
What to remember
Duplicate protection exists so that retrying is a safe act. It solves a problem that speed cannot solve, namely the uncertainty of networks. Its reach, though, stops at requests carrying the same identity. Anything begun afresh on a new page falls outside it.
In practice there are three things to hold onto: press the same button rather than opening a new page; check order history before buying again; and if two orders really do exist, report both numbers straight away instead of waiting for the statement. Those three cover nearly everything that happens at a checkout.
बारम्बार सोधिने प्रश्न
Is it really safe to press the pay button twice?+
It is clearly safer than opening a fresh checkout, because a second request from the same screen carries the same identity and is matched to the original intention rather than creating a new one. What is not safe is closing the window and running the whole purchase again, since that reads as a new intention. When unsure, refresh the same page first and check your order history next.
If a card payment fails and I switch methods, will that duplicate?+
It can. A card attempt that looks failed is sometimes an authorisation that completes later. Before switching methods, open your banking app to see whether an amount is held, and check your order history for a new order. If two amounts do appear, send both order numbers together; that is much faster than waiting for the statement.
Will the system notice a duplicate and cancel it for me?+
No, it does not cancel anything automatically, because two purchases in quick succession is normal behaviour for somebody buying for a family or covering two legs of a trip. Guessing your intention risks deleting an order you meant. What the system can do is avoid repeating one request; confirming which order you want has to come from you.
I received two QR codes. Should I install both?+
Do not install both. Pick the one that matches your itinerary, install only that, and leave the other untouched, because a profile that has been installed and used may count as consumed and is much harder to unwind. Then send both order numbers, saying which one you are using. Cancellation terms vary by plan, so we need to look at the actual orders before answering.
If the connection drops mid-payment and I do nothing, what happens?+
There are two possibilities. The request may never have arrived, in which case nothing happened and nothing was charged. Or it arrived and ran to completion, meaning you have a successful order you never saw confirmed. The way to tell them apart is to open your order history and check your email, not to infer anything from the screen that vanished.
Does duplicate protection apply to top-ups as well?+
The same principle applies: resending one request from the same screen should not add the allowance twice. But opening a new top-up page and completing it is still a separate transaction. What makes top-ups more confusing is that the figure shown on the handset can lag behind the network's, so people assume it failed and buy another. Check the order history first, every time.