Home
About
Join Today
Join Today
  • Sign Up
  • Sign In
Conatct Us
Home
About
Join Today
Join Today
  • Sign Up
  • Sign In
Conatct Us
  1. Callbacks
  • Introduction
  • Getting Started
  • Authentication
  • HTTPS Status Codes
  • Rate Limits
  • Callbacks
    • Recharge Callback
  • NSDL Account Opening
    • BC Agent Onboarding
      POST
    • Create Account
      POST
    • Account Status
      GET
  • Recharge
    • Operator List
      GET
    • HLR Check
      POST
    • DTH Info
      POST
    • Browse Plans
      POST
    • Initiate Recharge
      POST
    • Check Status
      GET
  • Bill Payment
    • Biller List
      POST
    • Fetch Bill
      POST
    • Bill Pay
      POST
  • Verification Suite
    • Digilocker
      • Initiate
      • Check Status
      • Download Aadhaar
    • Aadhaar
      • Send OTP
      • Verify OTP
    • UPI Verification
      POST
    • Bank Verification
      POST
    • PAN Verification
      POST
    • GSTIN Verification
      POST
  • Comunications API
    • Send SMS OTP
    • Send Whatsapp OTP
  1. Callbacks

Recharge Callback

Recharge Callback (Webhook)#

The Recharge Callback API is used to send real-time recharge status updates to the merchant server once the transaction is processed by the operator.
Instead of continuously polling the Status API, merchants should implement this webhook to receive automatic transaction updates.

Callback Method#

POST

When Callback Is Triggered#

The system sends callback notifications in the following cases:
Recharge Successful
Recharge Failed
Operator Final Status Update

SUCCESS RECHARGE#

{
    "event": "RECHARGE_SUCCESS",
    "status": "success",
    "data": {
        "request_id": "rechtxn00001",
        "number": "99XXXXXX99",
        "amount": "22.00",
        "operator_id": "11",
        "reference_id": "IMBRCH22264720260227_f870fdf4",
        "ackno": "1122XXXX65",
        "message": "SUCCESS",
        "refunded": false
    },
    "timestamp": "2026-03-01T12:05:21+05:30"
}

FAILED RECHARGE#

{
    "event": "RECHARGE_FAILURE",
    "status": "failed",
    "data": {
        "request_id": "rechtxn00001",
        "number": "99XXXXXX99",
        "amount": "22.00",
        "operator_id": "11",
        "reference_id": "IMBRCH22280520260227_8c5ef3a3",
        "ackno": "112XXXXX65",
        "message": "Failed",
        "refunded": true
    },
    "timestamp": "2026-03-01T12:12:08+05:30"
}

Security Recommendation#

INFO
Always validate callback requests from trusted IPs.
Verify transaction using Check Status API before updating wallet balance.
Do not rely solely on frontend success messages.
Store callback logs for reconciliation and dispute handling.

📥 Merchant Expected Response#

After receiving the callback, merchant server must return HTTP 200 response.

Required Response#

{
  "status": 200,
  "message":"Transaction completed successfully"
}

⚠️ Important Rules#

WARNING
Callback endpoint must respond within 5 seconds.
Non-200 response will trigger automatic retry attempts.
Do not block or authenticate callbacks using session login.
Callback URL must support POST requests.
Ensure HTTPS is enabled; HTTP URLs are rejected.

Callback Retry Policy#

If merchant server does not acknowledge callback:
AttemptRetry Time
1Immediate
2After 1 Minute
3After 5 Minutes
4After 15 Minutes
5Final Retry
After maximum retries, status must be verified using Status API.

Best Integration Flow#

1.
Receive callback request.
2.
Validate transaction_id.
3.
Verify status using Status API (recommended).
4.
Update order status in database.
5.
Send acknowledgment response.
6.
Avoid duplicate processing using reference_id.

Recommended Practice#

INFO
Always design callback handling as idempotent.
Duplicate callbacks may be received; merchant system must safely ignore already processed transactions.
Previous
Rate Limits
Next
BC Agent Onboarding
Built with