Check mobile top-up status using internal top-up ID
topupId returned from the send endpoint. Generally, our servers will process your request in about 5-30 seconds.
/mobile/send responsePENDING
PENDING status indicates that the order has been created and is currently in the queue, awaiting processing by one of our servers. It will be processed as soon as possible.Typical duration: 2-15 secondsAction: Continue polling every 5-10 secondsHANDLING
HANDLING status indicates that the order is currently being processed by one of our servers.Typical duration: 3-8 secondsAction: Continue polling every 5-10 secondsFULFILLED
FULFILLED status indicates that the mobile top-up has been successfully sent. ✅Action: Update order status to completed, notify userREFUNDED
REFUNDED status indicates that the mobile top-up has been refunded. ❌Fields available:refund_message: Show this to user (in Arabic)suggested_offers: Alternative plans (if plan mismatch)UNKNOWN_ERROR
UNKNOWN_ERROR status indicates that the mobile top-up might have been successful or failed. The status will update within 1 to 12 hours to either FULFILLED or REFUNDED after manual check by our support team. We will be notified immediately and no action from your part is required. ⚠️Such errors happen due to the nature of AT Commands and unexpected behaviors from operators (new messages, network issues, etc.).Action:refund_message to usersuggested_offers is an array and can contain multiple items, for example when you send GETMENU plans.Start Polling
Poll Interval
FULFILLED, REFUNDED, or UNKNOWN_ERROR, send a check request to our API, update your database, then reply to your user.Handle Result
UNKNOWN_ERROR status indicates uncertainty about whether the top-up succeeded or failed. This happens due to the nature of AT Commands and unexpected behaviors from operators (new messages, network issues, etc.).
Show Message
refund_message to user explaining the delayExample message: “هذه العملية حالتها غير معروفة، يرجى التأكد مع عميلك، ولن نتحمل أي مسؤولية عن أي خسائر. إذا فشلت العملية بالفعل، فلا تقلق، سيتم استرداد أموالك خلال 24 ساعة”Mark for Review
Automated Recheck
Final Resolution
refund_message (Arabic message) will be added to the top-up operation, and you should show it as-is to your client.
Example scenarios:
suggested_offers array shows the correct plans for the phone number. Update your app UI to represent these new plans instead of showing all plans.
suggested_offers is an array and can contain multiple items, especially when you send GETMENU requests.Normal Flow
PENDINGHANDLINGFULFILLEDTest Refund with Message
refund_message that should be shown to clientTest Refund with Suggestions
refund_message and suggested_offersTest Unknown Error
UNKNOWN_ERROR status to ensure your daily cronjob logic works correctly