Как привести сайт WooCommerce в соответствие с Федеральным законом № 152-ФЗ «О персональных данных»

Сегодня о 152-ФЗ «О персональных данных» не написал только ленивый. Но, как говорится, dura lex, sed lex (лат. Суров закон, но это закон!). Сайт в любом случае обязательно нужно приводить в соответствие с этим законом. И здесь многое решает платформа, на которой сделан ваш интернет-магазин или сайт. Если вам несказанно повезло не вляпаться по уши в какой-нибудь Битрикс, а вы использовали мировые решения e-Commerce, лидером среди которых является WooCommerce, то эта короткая статья для вас и для ваших программистов.

На самом деле программные функции, требуемые 152-ФЗ, в WooCommerce изначально есть, нужно их лишь задействовать. Но есть несколько маленьких деталей. Давайте рассмотрим подробнее.

Итак, вам потребуется выполнить несколько шагов:

  1. Создайте на сайте новую страницу, которую вы назовёте «Политика обработки персональных данных». Текст страницы может быть примерно таким или таким. В идеале вам нужно проконсультироваться с юристом.
  2. Обязательно сделайте ссылку на эту страницу из меню вашего сайта или разместите ее на всех страницах сайта.
  3. Далее, переходите в настройки WooCommerce и на закладке платежи выберите в пункте «условия и соглашения» свою страницу:

настройки WooCommerce

  1. Сохраните настройки.

Собственно, заказ уже настроен. Теперь его невозможно сделать, пока пользователь не примет условия политики обработки персональных данных.

Однако, у нас остался еще один момент — регистрация пользователя. При использовании WooCommerce регистрация в WordPress может быть (и должна быть) заменена страницей «Мой аккаунт». И пользователь регистрируется, уже используя персональные данные, например, E-mail. Давайте сделаем обязательными условия и там. Здесь нам на помощь приходят хуки WordPress (как же я люблю архитектуру WP / WC!) и нам нет необходимости вмешиваться в программный код WooCommerce.

  1. Открывайте файл functions.php своей темы и дописывайте туда следующий код:

[php]
// Форма регистрации
add_action( ‘woocommerce_register_form’, ‘in_woocommerce_register_form’ );
function in_woocommerce_register_form()
{ ?>

<label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
<input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="terms" <?php checked( apply_filters( ‘woocommerce_terms_is_checked_default’, isset( $_POST[‘terms’] ) ), true ); ?> id="terms" /> <span><?php printf( __( ‘I&rsquo;ve read and accept the <a href="%s" class="woocommerce-terms-and-conditions-link">terms &amp; conditions</a>’, ‘woocommerce’ ), esc_url( wc_get_page_permalink( ‘terms’ ) ) ); ?></span> <span class="required">*</span>
</label>
<input type="hidden" name="terms-field" value="1" />

<?php
}
[/php]

Как можно увидеть, этот код навешивает на хук вывода формы регистрации свою функцию, которая опять же использует страницу из настроек WooCommerce:

принятие соглашения

  1. Теперь дописываем код проверки этого условия и вывода ошибки:

[php]
// Проверка согласия с условиями
add_action( ‘woocommerce_process_registration_errors’, ‘in_woocommerce_process_registration_errors’, 10, 4 );
function in_woocommerce_process_registration_errors( $errors, $username, $password, $email )
{
if ( empty( $_POST[‘terms’] ) ) {
throw new Exception( ‘В соответствии с Федеральным законом РФ № 152-ФЗ "О персональных данных" Вы должны прочитать и принять соглашение об обработке Ваших персональных данных.’ );
}
return $errors;
}
[/php]

Собственно, всё! Вот что появится, если пользователь не отметит галочку:

Ошибка персональных данных

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

Надеюсь, этот простой рецепт вам поможет.