Не знаю как там устроено с смс( не пробовал пока). Но думаю нет никакой сложности проверять переменную на соответствие условиям и если надо то повторять предыдущий действия. Можно переходом к метке или сделать цикл который будет выполняться пока условие не выполниться.
все твои вопросы есть на форуме в поиске забей про капчу
или найди на ютубе видео от господина @DrPrime там есть про запросы.
капча багнутая всетаки вот что там одмин глаголит - Баг происходит из-за неверной очистки устаревших значений капчи, вместо старых удаляются новые.