How DTH recharge differs from mobile recharge
At the counter, DTH looks like mobile recharge. Three details change how you build it.
- The identifier belongs to the brand. A mobile recharge always uses a 10-digit number. A DTH top-up uses the subscriber or customer ID that the DTH brand issued, and each brand has its own format. Label the field with the brand's own name for it, and read the ID back before you submit.
- There is no circle. DTH brands work nationally, so a request needs the brand, the subscriber ID and the amount.
- Bharat Connect treats most DTH billers as ad hoc. Most DTH operators in the Bharat Connect DTH category don't support a bill fetch, so there is no amount to pull from the biller. Our BBPS API still issues a
bill_tokenfor these billers, markedallow_manual_amount: true, so your user types the top-up amount.
A top-up sent to a wrong but valid subscriber ID reaches someone else's connection. A platform can't pull back a recharge the operator has already credited, and any correction is at the operator's discretion. Put a read-back screen in your flow.
Two routes to the DTH operator
| Recharge provider (operator distribution) | Bharat Connect DTH category | |
|---|---|---|
| How you connect | A DTH operator code on your recharge provider's API | A biller in the DTH category, through a Bharat Connect route |
| Amount | Entered by the user | Entered by the user, for ad-hoc billers |
| Reference the customer gets | Operator or provider reference | Bharat Connect transaction reference |
| Final result | Provider callback or status check | Bharat Connect transaction status |
| Complaints | The provider's support process | The Bharat Connect complaint process |
Cable TV is a separate Bharat Connect category. If your users pay a local cable operator, look for the biller there, not under DTH.
Ways to offer DTH recharge with Payonclick India
| Route | What it means | Status |
|---|---|---|
| White-label platform | DTH top-up inside your own branded portal and Android app, connected to your recharge providers | Available |
| Custom development | DTH top-up added to your existing software | Scoped per project |
| BBPS API, DTH category | Pay DTH top-ups as Bharat Connect bills from your own servers | Live API |
| DTH recharge API from Payonclick | A DTH endpoint on the partner API | Not offered |
| Distributor account | Sell DTH recharge through shops on the Payonclick app | Available on payonclick.in |
The DTH brands live for Payonclick retailers today are Airtel Digital TV, Tata Play, Dish TV, d2h and Sun Direct. In your own build, brand coverage depends on the providers you sign with and on which billers are live in the Bharat Connect category.
Designing the DTH top-up flow
Pick the brand
Show the DTH brands your providers support, so the retailer picks the brand the customer names.
Enter the subscriber ID
Label the field with the brand's own term for its ID, and show any format hint your provider gives you.
Read it back
Show the brand, the subscriber ID and the amount on one confirmation screen before the request leaves.
Hold and send
The module holds the amount in the wallet under a unique reference, then sends the top-up with the operator code mapped for that provider.
Settle the result
Success shows the operator reference. Pending stays pending until a callback or a status check confirms it. A confirmed failure releases the held amount.
Why DTH top-ups fail, and what to do
| What happened | What the retailer sees | What to do |
|---|---|---|
| Subscriber ID typed wrongly | Failed | Check the ID against the customer's DTH account, then try again |
| Brand doesn't match the ID | Failed | Confirm the brand with the customer |
| Provider slow to confirm | Pending | Wait for the result. Never send the same top-up again |
| Provider unavailable before the request reached the operator | Failed | Try later, or let the failover pool use the next provider if you enabled it |
Keep the retailer's screen honest: a pending top-up is not a failure, and showing it as one invites a second, duplicate recharge.
Built on the same recharge engine
DTH runs on the same module as mobile recharge:
- several providers behind one interface, with operator codes mapped per provider
- optional failover that fires only when a request never reached the operator
- a signed callback token per transaction, checked with the provider's IP allowlist
- status checks every two minutes for pending top-ups up to 24 hours old
- complete API logs with credentials masked
Admins choose the primary DTH provider separately from the prepaid one. A DTH outage at one provider therefore doesn't have to move your mobile traffic.