Recharge · mobile and DTH
Four screens, one operator, and the word “pending”
A recharge looks instant to the customer. Behind it are a lookup, a live plan list, an operator that answers in its own time, and a status that sometimes says “wait”. This guide is for apps and retail counters that sell recharges, and for the people who reconcile them.
1 · Number
Recharge which number?
98••• ••210
From contacts, or typed in.
2 · Operator
Found for this number
Operator B · prepaid
Circle: KarnatakaLooked up, not guessed from the prefix: numbers can move between operators.
3 · Plan
Plans for Operator B, Karnataka
- ₹299 · 28 days · data + calls
- ₹719 · 84 days
- ₹49 · data add-on
4 · Status
₹299 recharge
SuccessfulOperator confirmed the recharge
Operator ref OPR-58812…
What happens behind the button
A recharge is a purchase of a prepaid plan from an operator, bought through a chain. The customer pays you, or a retailer pays from their balance; your recharge provider sends the request to the operator; the operator credits the plan to the number and reports back.
Each link in that chain can be slow on a bad day, and the operator's answer is the only one that counts. That's why recharge status handling, not the purchase screen, is where good recharge products differ.
- 1Customer or retailerChooses number and plan; pays, or the retailer's balance is used.
- 2Your app or counterSends the request with your own unique reference.
- 3Recharge providerRoutes it to the operator and tracks its status.
- 4OperatorCredits the plan, or refuses it, and returns a reference.
Operator, circle, then plans
Plans depend on the operator and the circle (the telecom region), so the order of the first screens matters. Find the operator and circle, then show only plans that are valid for them. Showing a plan from the wrong circle is the most common cause of a recharge that fails or delivers the wrong plan.
| Step | Why it matters | If it goes wrong |
|---|---|---|
| Operator lookup | Numbers can move between operators | The request goes to the wrong operator and fails |
| Circle | Plans and prices differ by circle | A plan that isn't valid for the number |
| Plan fetch | Plans change often | A plan that no longer exists, or a changed price |
| Amount check | Some operators accept only listed amounts | Rejected for an invalid amount |
Which lookups Peneu provides, including plan fetch, is confirmed during onboarding.
Pending is normal. Recharging again isn't.
Operators don't always answer immediately. A recharge can sit as pending for a while and then succeed, or fail. The customer, meanwhile, sees no balance and asks the retailer to “just do it again”.
Doing it again is how customers end up recharged twice and retailers end up out of pocket. The pending recharge stays pending until the operator answers; your system checks its status, and nothing new is sent for that number and plan until it's final.
Show it honestly
“Recharge in progress. We'll confirm shortly.” Not “failed”.
Check, don't resend
Ask for the status; block a second recharge for the same number and plan.
Resolve
Success: tell the customer. Failure: refund, then they can try again.
Escalate the stuck ones
Anything pending beyond your usual time goes to your provider with the reference.
Recharge statuses and what to do
| Status | Means | Do |
|---|---|---|
| Successful | The operator credited the plan | Confirm to the customer with the operator reference |
| Pending | Sent; no final answer yet | Check status; don't resend |
| Failed | The operator refused it, or it never reached them | Refund; the customer can try again |
| Reversed | Reported successful, then reversed | Refund, and keep both references |
Statuses described generally. Exact status names on Peneu are confirmed in the API reference.
Refunds for failed recharges
A failed recharge means the customer paid for something they didn't get, so the refund is the part of the product that decides whether they come back. Refund to where the money came from: the customer's payment method for an app, the retailer's balance at a counter.
Where a recharge runs through the Bharat Bill Payment System, RBI's BBPS Directions require failed transactions to be handled within the timelines of RBI's framework for failed transactions, and give customers a centralised way to raise disputes using the BBPS reference number. See the BBPS guide.
App customer
Refund to the original payment method, and say when to expect it.
Retail counter
Credit the retailer's balance, so they can refund their customer in cash.
Reversed after success
Treat as a failure: refund, and record both the success and the reversal.
For retail counters and agent networks
At a shop counter, the retailer usually pays for recharges from a balance they've topped up in advance, and earns a margin on each. Three things keep that business healthy: a balance that never runs out mid-queue, a clear record of every recharge for the day, and fast refunds of failures back to the balance.
Balance alerts
A warning before the balance is too low for the next few recharges.
Day-end statement
Every recharge with its status and reference, and the balance movements that go with it.
Refunds to balance
Failed recharges credited back so the retailer can refund their customer at once.
Whether Peneu provides retailer balances, margins or statements is confirmed during onboarding; no commission rates are stated here.
For apps: small details that cut support calls
In an app, the customer is their own retailer, and every confusing moment becomes a support ticket. The biggest wins are cheap: remember numbers they recharge often, show the operator and circle you found so they can correct it, and make the pending state clear and calm.
Recent numbers. One tap for the family's numbers.
Show what you detected. “Operator B · Karnataka” with a way to change it.
Plan details up front. Validity and benefits before payment, not after.
Status they can find later. A recharge history with references, not just a toast message.
DTH and other prepaid services
DTH recharges follow the same pattern with a different identifier: a subscriber or customer ID instead of a mobile number, and packs instead of plans. The same rules apply: look up and validate the ID first, show valid packs, never resend while pending. Other prepaid services, such as a FASTag top-up, look similar on the surface but have their own rules; see FASTag.
What to ask a recharge provider
Recharge providers look alike from the outside: same operators, similar prices. The differences show up on bad days, when an operator slows down or a batch of recharges sits pending. Ask about those days, not the good ones.
Pending handling
How long do recharges usually stay pending, and how do I learn the final status?
Refunds
How quickly are failed recharges refunded, and to where?
Coverage
Which operators, circles and recharge types, and is plan fetch live?
Reporting
Is there a day-end report with operator references I can reconcile against?
Support
Who do I escalate a stuck recharge to, and with what?
Closing each day
Recharges are many small transactions, which makes daily reconciliation the only practical kind. At the end of each day, three totals should agree:
Your records
Recharges sold, by status
Provider report
The same recharges, with operator references
Money
Payments collected or balance debited, minus refunds
Differences are almost always pending recharges that resolved after cut-off, or refunds not yet applied. Carry them to the next day by reference; don't net them away. See reconciliation.
Guarding against double recharges in code
Give every recharge your own unique reference and store it before sending. Before accepting a new recharge, check for one already pending for the same number and plan, and hold the new one until the first is final. When a status update arrives, look up the recharge by your reference and apply the update only if it moves the recharge forward; a late “pending” after a “successful” should change nothing.
Recharge questions
Add recharges to your app or counter
We'll walk through operators, statuses and reconciliation.
Talk to PeneuWhy did a successful recharge not show on the customer's phone?
The operator may take a moment to apply it, or it was applied to a different number or plan than the customer expected. Check the number and plan on the record, and share the operator reference if the customer contacts their operator.
Can a recharge be cancelled after it succeeds?
Generally no: once the operator has credited a plan, it's been delivered. That's why confirming the number and plan before payment matters more than any refund process.
How does a recharge API work?
Your app or counter sends the number, the operator and the amount or plan to a recharge provider, which passes the request to the operator. The operator credits the plan to the number and returns a status. The provider then tells you whether the recharge succeeded, failed or is still pending.
Why detect the operator instead of using the number's prefix?
Because numbers can move between operators while keeping the same number, so the first digits no longer reliably tell you the operator. A lookup gives the current operator and circle, which also decides which plans are valid.
What does a pending recharge mean?
The request reached the operator but a final answer hasn't come back yet. Most pending recharges resolve on their own. Don't recharge the same number again while one is pending, or the customer may be recharged twice.
What happens to the money when a recharge fails?
A failed recharge should be refunded to whoever paid, whether that's a customer's payment method or a retailer's balance. How quickly, and through which route, depends on how the recharge was paid for and your provider's terms.
Are recharges part of BBPS?
RBI's Bharat Bill Payment System Directions, 2024 define a bill to include a notice or advice for the recharge of prepaid services, and say that for prepaid services the customer's relationship with the biller is validated through the platform. Whether a given recharge runs through BBPS depends on the operator and the provider's setup.
What is plan fetch?
A request that returns the plans currently available for an operator and circle, so the customer picks from a live list instead of your app keeping one that goes out of date.
Which operators and recharge types does Peneu support?
Which operators, circles and recharge types (mobile, DTH and others) are available, and whether plan fetch is included, is confirmed during onboarding.
Official sources
- RBI — Master Direction – Bharat Bill Payment System Directions, 2024 (29 Feb 2024)A bill includes a notice for recharge of prepaid services; failed transactions follow RBI's turnaround-time framework.
Last reviewed . Examples, amounts and screens marked illustrative are not Peneu figures.
