Документация для разработчиков
Темная тема

VerifyPhoneCode

int|false public static
CUser::VerifyPhoneCode(
	string $phoneNumber,
	string $code
);

Метод проверяет одноразовый код подтверждения телефона и возвращает идентификатор пользователя при успешной проверке. Метод статический.

CUser::VerifyPhoneCode нормализует номер телефона, ищет запись в таблице b_user_phone_auth и проверяет код по секрету OTP_SECRET.

Параметры вызова

Параметр Описание
$phoneNumber Номер телефона пользователя. Перед проверкой метод приводит номер к формату E.164.
$code Одноразовый код подтверждения.

Возвращаемое значение

Метод возвращает идентификатор пользователя USER_ID, если код прошел проверку.

Метод возвращает false, если код пустой, телефон не найден, в записи телефона нет OTP_SECRET, код неверный, формат кода не прошел проверку или для записи уже накоплено три неудачные попытки.

Особенности работы

Если код неверный, метод увеличивает счетчик ATTEMPTS на 1. Когда значение ATTEMPTS достигает 3, дальнейшая проверка возвращает false.

Если код верный, метод устанавливает CONFIRMED в Y, если телефон еще не был подтвержден, и очищает поле DATE_SENT.

Пример

$phoneNumber = '+79990000000';
$code = $_POST['SMS_CODE'];

$userId = CUser::VerifyPhoneCode($phoneNumber, $code);

if ($userId !== false)
{
	echo 'Телефон подтвержден для пользователя ' . $userId;
}

Смотрите также



Была ли эта страница полезна?

Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026
Наверх