Handling pending recharge transactions without losing customers
Pending is a normal state, not an error. Here is how to design status checks, callbacks and customer messages around it.
Every recharge integration meets it sooner or later: a request that is neither successful nor failed. The result has not reached the provider yet. How you handle that moment decides whether customers trust your service.
Treat pending as in progress
A pending request may still succeed. If you refund the customer or retry too early, you may end up paying twice. Store the request with a pending state and wait for a final answer.
Use both callbacks and status checks
- Accept the callback on a secure URL and update the order when it arrives.
- Also check the status of old pending orders on a schedule, in case a callback never reached you.
- Ignore duplicate callbacks for an order that already has a final status.
Talk to your customer
Show a clear message such as: "Your recharge is being processed. We will update this page and message you when it completes." Give them the reference number and a way to contact support.
Log what matters
- Your order ID and the provider reference
- Every status change with its time
- The customer-facing message that was shown
These records let your support team answer "where is my recharge" in one look.
How long can a recharge stay pending?
It varies. Ask your provider what times to expect for your account, and schedule your status checks around those times instead of guessing.