Прежде всего сообщения USSD довольно похожи на SMS, поскольку сообщение отправляется с мобильного устройства в сеть оператора. Это означает, что когда вы выполняете команду USSD на своем мобильном устройстве, вы не получите немедленный ответ, так как служба USSD операторской сети должна ответить на ваше сообщение. Это объясняет, почему вы получаете только «ОК» ответ на команду USSD. «ОК» в основном говорит вам, что синтаксис команды USSD действителен, и команда USSD была отправлена с вашего мобильного устройства в сеть оператора, не более того.
Во-вторых, поскольку ответы команды USSD будут возвращены как незапрашиваемый ответ и поэтому не будут сохранены вместе с вашими SMS-сообщениями.
Цитата из Википедии об этом:
USSD обычно ассоциируется с в режиме реального времени или службы мгновенных сообщений. Нет возможности хранения и пересылки, что характерно для других протоколов коротких сообщений, таких как SMS.
Обращаясь конкретно к вашей проблеме, я бы либо предположил, что сеть операторов невероятно медленно реагирует. Или, альтернативно, команда «получить баланс», которую вы отправляете, неверна для вашей сети оператора. Я бы рекомендовал проверить ваш веб-сайт операторских сетей, чтобы проверить код команды «получить баланс» USSD.
Вы нашли ответ? –