Qiwi api что это

Как пользоваться API QIWI Мастера

Чтобы автоматически управлять картами в составе пакета QIWI Мастер, используйте API. С помощью API вы сможете:

Для настройки API и работы с ним вам потребуются базовые знания знание программирования на языках PHP или Python. Далее мы пошагово расскажем как отправлять запросы и обрабатывать ответы от сервиса QIWI. В примерах мы будем использовать язык программирования PHP. Для удобства скопируйте код к себе в рабочий файл.

Установка и настройка сервера

Пропустите этот шаг если вы знаете, как запустить сервер на локальном компьютере или на хостинге.

Для отправки запросов на API и обработки ответов вам нужно настроить сервер. Разберем, как установить сервер Apache и подготовить его к работе с API на локальном компьютере или арендовать сервер в интернете.

Сервер на персональном компьютере

После установки откройте контрольную панель XAMPP (появится ярлык на рабочем столе) и запустите сервер Apache.

Qiwi api что это. qiwi master guide. Qiwi api что это фото. Qiwi api что это-qiwi master guide. картинка Qiwi api что это. картинка qiwi master guide

Далее в папке C:\xampp\htdocs создайте папку своего проекта, например master-api. Размещайте в этой папке исполняемые файлы вашей программы.

Qiwi api что это. qiwi master guide php folder. Qiwi api что это фото. Qiwi api что это-qiwi master guide php folder. картинка Qiwi api что это. картинка qiwi master guide php folder

В корне папки cоздайте файл index.php со следующим содержимым:

Qiwi api что это. qiwi master guide php start. Qiwi api что это фото. Qiwi api что это-qiwi master guide php start. картинка Qiwi api что это. картинка qiwi master guide php start

Qiwi api что это. qiwi master guide php page. Qiwi api что это фото. Qiwi api что это-qiwi master guide php page. картинка Qiwi api что это. картинка qiwi master guide php page

Аренда сервера у хостинг-компании

Этот способ быстрее, но нужен свободный домен, с которого будут отправляться запросы. Некоторые хостинг-провайдеры предоставляют домен в подарок при покупке хостинга. Желательно использовать SSL сертификат и отправлять запросы по https-протоколу. SSL сертификат нужен, чтобы ваш трафик не смогли расшифровать и подменить данные при отправке.

Для работы с API достаточно оплатить любой виртуальный хостинг с поддержкой скриптов на PHP и интерфейсом на cPanel (например тариф Host-A от Reg.ru). Виртуальные сервера VDS\VPS тоже подойдут, но на настройку понадобится больше времени.

После покупки хостинга откройте административную панель cPanel (доступы вам пришлют на почту).

Если вы купили хостинг с доменом — ничего настраивать не нужно. Переходите в менеджер файлов.

Qiwi api что это. qiwi master guide php hosting. Qiwi api что это фото. Qiwi api что это-qiwi master guide php hosting. картинка Qiwi api что это. картинка qiwi master guide php hosting

В корневой папке домена создайте файл index.php со следующим содержимым:

Подготовка к работе с API

Qiwi api что это. qiwi master guide qw rights. Qiwi api что это фото. Qiwi api что это-qiwi master guide qw rights. картинка Qiwi api что это. картинка qiwi master guide qw rights

Отправка запросов и обработка ответа

Любой запрос содержит заголовки и тело запроса. В заголовках передаётся тип запроса и авторизационный токен, а в теле — данные для отправки на сервер.

Qiwi api что это. qiwi master guide request. Qiwi api что это фото. Qiwi api что это-qiwi master guide request. картинка Qiwi api что это. картинка qiwi master guide request

Покупка пакета QIWI мастер

Код запроса для покупки пакета QIWI Мастер:

В теле запроса нужно передать объект Payment и дополнительные обязательные поля:

Справа пример запроса на PHP, который выведет статус покупки пакета. Скопируйте этот код в файл index.php и перейдите в браузере на cтраницу:

После исполнения скрипта в браузере появится статус транзакции.

Покупка карты

Шаг 1. Создание заказа

Код запроса для создания заказа карты в составе пакета QIWI Мастер

Отправьте POST-запрос на адрес:

В ссылке запроса укажите номер кошелька с купленным пакетом QIWI Мастер. В теле запроса отправьте параметр cardAlias с возможными значениями:

В ответе на запрос придет номер заказа, который будет нужен для второго шага.

Шаг 2. Подтверждение заказа карты

Код для подтверждения заказа карты в составе пакета QIWI Мастер

Отправьте PUT-запрос на адрес:

https://edge.qiwi.com/cards/v2/persons/ /orders/ /submit

В ссылке запроса укажите номер кошелька с купленным пакетом QIWI Мастер и номер заказа из ответа в предыдущем шаге (поле id ). В теле запроса ничего не указывайте.

Успешный ответ на запрос будет содержать статус заказа.

Шаг 3. Покупка карты

Отправьте POST-запрос на адрес:

Список карт с реквизитами

Код для вывода номера карты, CVV и даты окончания обслуживания

Чтобы получить список карт, нужно отправить GET-запрос без параметров на адрес

Для получения реквизитов карт (PAN и CVV) нужен отдельный PUT-запрос на адрес

Источник

Условия использования

Последнее обновление: 09-09-2021

Для подключения на свой сайт сервиса приема переводов для физических лиц p2p необходимо иметь QIWI Кошелек со статусом идентификации «Основной» или «Профессиональный». Если Ваш кошелек имеет статус «Анонимный» – пройдите идентификацию удобным для вас способом. Для получения «Основного» статуса достаточно указать паспортные данные, для получения «Профессионального» статуса необходимо пройти очную идентификацию.

Рекомендуем получить «Профессиональный» статус. Такой статус имеет повышенные лимиты на остаток на балансе, сумму платежей и переводов в месяц, максимальную сумму одной операции. Подробнее про лимиты.

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

Активация p2p

Поздравляем! Вы можете приступить к интеграции.

Для работы API потребуются публичный и секретный ключи. Ключи создаются в разделе «API».

Схема работы с API

Пользователь формирует счет на вашей стороне.

Вы перенаправляете пользователя на платежную форму для выставления счета. Или выставляете счет по API и перенаправляете пользователя на созданную платежную форму.

Пользователь выбирает способ перевода и подтверждает перевод. По умолчанию подбирается оптимальный для пользователя способ перевода.

После перевода по счету вы получаете уведомление (предварительно настройте отправку уведомлений в Личном кабинете при создании ключей). Уведомления о переводе по счету содержат параметры авторизации, которые необходимо проверять на Вашем сервере.

Готовые решения

SDK и библиотеки

С руководством по работе с SDK можно ознакомиться здесь.

Решения для CMS

Авторизация

Ваши запросы авторизуются посредством секретного ключа API ( SECRET_KEY ). Параметр авторизации указывается в заголовке Authorization, значение которого формируется как «Bearer SECRET_KEY».

Публичный ключ ( PUBLIC_KEY ) используется для выставления счетов через форму.

Ключи создаются в личном кабинете на вкладке API после авторизации на p2p.qiwi.com.

Для выпуска пары ключей выполните следующие шаги:

Внизу страницы нажмите на кнопку Настроить.

Qiwi api что это. p2p api settings. Qiwi api что это фото. Qiwi api что это-p2p api settings. картинка Qiwi api что это. картинка p2p api settings

Придумайте название паре ключей, чтобы упростить поиск в списке.

Qiwi api что это. create p2p keys without notifications. Qiwi api что это фото. Qiwi api что это-create p2p keys without notifications. картинка Qiwi api что это. картинка create p2p keys without notifications

Подключите уведомления об оплате счетов, отметив Использовать эту пару ключей для серверных уведомлений об изменении статусов счетов.

Qiwi api что это. create p2p keys with notifications. Qiwi api что это фото. Qiwi api что это-create p2p keys with notifications. картинка Qiwi api что это. картинка create p2p keys with notifications

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

Qiwi api что это. p2p key pair. Qiwi api что это фото. Qiwi api что это-p2p key pair. картинка Qiwi api что это. картинка p2p key pair

Скопируйте в буфер секретный ключ и сохраните его в безопасном месте — в дальнейшем он не будет отображаться в интерфейсе. Используйте секретный ключ для запросов к API.

Выставление счета через форму

Простой способ для интеграции. При открытии формы клиенту автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке. Далее клиенту отображается форма с выбором способа перевода. При использовании этого способа нельзя гарантировать, что все счета выставлены вами, в отличие от выставления по API.

REDIRECT →

URL https://oplata.qiwi.com/create

Параметры

Взаимодействие через API

1. Выставление счета

Доступно выставление счетов в рублях и тенге.

Надежный способ для интеграции. Параметры передаются server2server с использованием авторизации.

Также существует более простой способ выставления счета — непосредственно через вызов платежной формы

Запрос → PUT

URL https://api.qiwi.com/partner/bill/v1/bills/

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

2. Проверка статуса перевода по счету

Метод позволяет проверить статус перевода по счету. Рекомендуется его использовать после получения уведомления о переводе.

Запрос → GET

URL https://api.qiwi.com/partner/bill/v1/bills/

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

3. Отмена неоплаченного счета

Метод позволяет отменить счет, по которому не был выполнен перевод.

Запрос → POST

URL https://api.qiwi.com/partner/bill/v1/bills//reject

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

Статусы оплаты счетов

СтатусОписаниеФинальный
WAITINGСчет выставлен, ожидает оплаты
PAIDСчет оплачен+
REJECTEDСчет отклонен+
EXPIREDВремя жизни счета истекло. Счет не оплачен+

Уведомления о переводе по счету

Адрес сервера для уведомлений указывается в личном кабинете p2p.qiwi.com при генерации ключей.

Перед началом работы с сервисом уведомлений прочитайте условия по интеграции API уведомлений.

Пулы IP-адресов, с которых сервисы QIWI отправляют уведомления:

Если ваш сервер обработки уведомлений работает за брандмауэром, необходимо добавить эти IP-адреса в список разрешенных адресов входящих TCP-пакетов.

Запрос ← POST

Уведомление представляет собой входящий POST-запрос.

Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).

HEADERS

Авторизация уведомлений

Алгоритм проверки подписи:

Объединить значения следующих параметров уведомления в одну строку с разделителем | :

где <*>– значение параметра. Все значения при проверке подписи должны трактоваться как строки.

Вычислить HMAC-хэш c алгоритмом хэширования SHA256:

hash = HMAС(SHA256, invoice_parameters, secret_key) Где:

Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.

Строка и ключ подписи кодируются в UTF-8.

Данные

В уведомлении содержится информация о счете.

ПолеОписаниеТип
billДанные о счетеObject
billIdУникальный идентификатор счета в вашей системе, указанный при выставленииString(200)
siteIdВаш идентификатор в системе p2p.qiwiString
amountДанные о сумме счетаObject
amount.valueСумма счета, округленная до двух десятичных знаков в меньшую сторонуNumber(6.2)
amount.currencyИдентификатор валюты суммы счета (Alpha-3 ISO 4217 код)String(3)
statusДанные о статусе счетаObject
status.valueСтроковое значение статусаString
status.changedDateTimeДата обновления статуса. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
String
customerДанные о пользователеObject
customer.phoneНомер телефона (если был указан при выставлении счета)String
customer.emailE-mail пользователя (если был указан при выставлении счета)String
customer.accountИдентификатор пользователя в вашей системе (если был указан при выставлении счета)String
creationDateTimeДата создания счета. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
String
expirationDateTimeСрок оплаты счета. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:СС+ЧЧ:ММ\-Z
String
commentКомментарий к счетуString(255)
customFieldsДополнительные данные счета (если были указаны при выставлении счета).Object
versionВерсия уведомленийString

Ответ →

HEADERS

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

Настройки формы и счета

При выставлении счета через API в ответе присутствует поле payUrl со ссылкой на форму. К ссылке можно добавить следующие параметры:

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

Пример передачи реферальной ссылки

Персонализация

Вы можете настроить персонализированную форму оплаты – изменить свое имя на название магазина и настроить цвет фона и кнопок.

Qiwi api что это. Custom. Qiwi api что это фото. Qiwi api что это-Custom. картинка Qiwi api что это. картинка Custom

Перейдите в личном кабинете в раздел Форма приема переводов, нажмите на кнопку Настроить, произведите настройку и нажмите на кнопку Сохранить.

Qiwi api что это. p2p sdk image1. Qiwi api что это фото. Qiwi api что это-p2p sdk image1. картинка Qiwi api что это. картинка p2p sdk image1

Пример передачи параметра при вызове платежной формы

Пример передачи параметра в запросе к API

Обратите внимание, что значение themeCode индивидуально для разных кошельков.

Для применения стиля к платежной форме:

Checkout Popup

Пример работы popup

Всплывающее окно (popup) позволяет открыть форму перевода поверх вашего сайта.

В библиотеке доступно два метода: открытие существующего счета и открытие вашей формы приема переводов.

Установка и подключение:

Открытие существующего счета

Пример открытия уже созданного счета в popup

Открытие персонализированной формы

Пример открытия персонализированной формы

Источник

Как легально «вскрыть» QIWI Кошелек и прокачать его по полной программе

С недавнего времени пользователям Visa QIWI Кошелька доступны новые методы API. Под катом: что это за API, зачем мы его открыли и почему стоит начать им пользоваться уже сейчас.

Qiwi api что это. image loader. Qiwi api что это фото. Qiwi api что это-image loader. картинка Qiwi api что это. картинка image loader

История появления API

Формально история нашего API началась в апреле этого года, хотя часть из входящих в него методов была доступна задолго до этого.

Массовый пользовательский сервис QIWI Кошелек постепенно переходит на архитектуру микросервисов, поэтому внутри нашей системы компоненты взаимодействуют друг с другом посредством некоего API. Любой пользователь может зайти на сайт, открыть дебаггер и просмотреть, какие запросы браузер отправляет на сервер. Минимальных навыков программиста достаточно, чтобы вытащить отправляемые запросы и использовать их в собственных решениях в обход сайта.

Желающих так схитрить оказалось довольно много. Это и студенты-энтузиасты, которым интересно поковыряться в деталях работы Кошелька, и профессиональные разработчики, желающие интегрировать отдельные функции сайта QIWI Кошелька в свои решения. В итоге параллельно с развитием сайта начала развиваться целая экосистема сторонних решений в «сером» режиме, не легализованном в пользовательском соглашении и не обеспеченным нашим саппортом.

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

Чтобы упорядочить выгрузку данных с сайта, мы приняли решение легализовать ее, как это сделали в свое время в Citibank, Wargaming и Вконтакте. Мы описали наиболее современный и стабильный из существующих способов получения информации, сформировав первую версию пользовательского API.

С появлением документации для разработчиков пользователям больше не нужно разбирать наш сайт по кусочкам, рискуя наткнуться на старые протоколы. По посещаемости раздела документации мы отслеживали, насколько востребован API. Мы также разместили адрес электронной почты для обратной связи и вопросов и мониторили публикации по теме в социальных сетях и форумах. На тот момент перед нами не стояло задачи как-то продвигать API — мы хотели навести порядок и предложить сторонним разработчикам бесплатный, безопасный, проверенный способ доступа.

Публикация документации по API сама по себе никак не отразилась на работе сторонних инструментов доступа к функциям Кошелька. Мы не планировали регламентировать «самострой», но наблюдали за ситуацией, поскольку решения были построены разработчиками на свой страх и риск на основе недокументированных возможностей сервиса. И пока они не затрагивают данные наших пользователей, мы никак с ними не боремся, но стараемся выйти на контакт с их создателями и рекомендовать перейти на использование задокументированного API.

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

Проблемы первой версии

К сожалению, на момент создания первой версии API у нас еще не было отдельной системы аутентификации. Поэтому на том этапе мы использовали схему аутентификации с нашего сайта (CAS), она была разобрана по отдельным командам и опубликована на developer.qiwi.com.

Аутентификация стала ключевой проблемой первого API. Если с точки зрения сайта механизм был правильным (именно так организована аутентификация на большинстве веб-страниц, по принципу двух токенов с разным временем жизни), то пользователю пройти процедуру оказалось довольно сложно. Этот метод изначально не был ориентирован на пользователей, а служил внутренним задачам нашего сайта. В результате возникали различные сложности, к примеру, выскакивала капча «докажите, что вы не робот», что было неожиданностью для пользователей, поскольку API предполагает доступ именно при помощи автоматических систем.

Хотя публикацию открытого API мы никак не афишировали, в сети появилось несколько статей, в том числе с негативными отзывами. На адрес обратной связи api_help@qiwi.com мы получили более сотни писем, смысл которых сводился к тому, что сам по себе API хороший, но аутентификация никуда не годится. Не все пользователи понимали, почему для подключения к финансовому сервису надо проходить столь заковыристую процедуру, в то время как с Instagram или Вконтакте все намного проще. Мы разъясняли, что сложности были обусловлены именно финансовой составляющей, ведь используемый метод (как в аутентификации сайта, так и в API) не должен ставить под угрозу счета клиентов.

Анализируя обратную связь, мы увидели, что API востребован, а критика направлена в основном на систему аутентификации, и приняли решение развивать API дальше.

Обновленный API

Разработка новых методов в рамках API была поручена команде специалистов, которые делают бекэнд для сайта и мобильного приложения QIWI Кошелька. API — их ключевая компетенция, именно эта команда переводит основной сайт на архитектуру микросервисов. И API тут служит для взаимодействия основного сайта и отдельных сущностей через запросы, которые мы передаем нашим пользователям.

Чтобы доработать существующий API и добавить в него новые методы, мы тщательно проанализировали обратную связь от пользователей.

Хотя среди наших клиентов довольно много любителей-энтузиастов, склонных пробовать что-то новое, основная часть пользователей API — профессиональные разработчики, интегрирующие QIWI Кошелек в свои бизнес-процессы (причем, это не интернет-магазины — для юридических лиц у нас предусмотрен отдельный API). В основном речь идет об оптимизации работы Кошелька под собственные нужды: настройке уведомлений, автоматизации оплаты услуг и обмена цифровыми товарами между пользователями, а также других задачах, не связанных с привычной электронной коммерцией.

Опираясь на отзывы, мы предложили новую аутентификацию пользователей через API, добавили новые функции для взаимодействия с Кошельком. В первой версии у нас были описаны запрос баланса, история платежей и отправка перевода. Сейчас их дополнили запрос профиля пользователя, оплата сотовой связи, переводы в банки и на карты по номерам карт, счетов и договоров вместо полных реквизитов.

Новая аутентификация

Для построения системы аутентификации, ориентированной на API, мы использовали стандарт RFC 6749 по открытому протоколу OAuth 2.0. Чтобы аутентификация соответствовала требованиям финансового сервиса, мы обеспечили двухфакторный доступ — по паролю к Кошельку и SMS-коду. Для прохождения процедуры пользователю необходимо выпустить токен, действительный в течение одного месяца 180 дней (выпуск подтверждается SMS-сообщением). По просьбе пользователей в новой версии OAuth 2.0 мы также открыли возможность выбора прав доступа для токена. К примеру, если требуется запросить баланс или получить историю платежей, токену даются права только на чтение. Всего доступно четыре группы прав доступа:

Функция оказалась весьма востребована, менее половины токенов выпускается с полными правами (осуществление платежей), многим нужно лишь получение информации.

Профиль пользователя

Одна из новых функций, родившихся внутри нашей команды, а не из пожеланий клиентов — запрос профиля пользователя. Он позволяет получать различную информацию о Кошельке: дату регистрации, привязанный адрес электронной почты, уровень идентификации Кошелька. Последнее особенно важно для финансового сервиса, поскольку уровень идентификации определяет лимиты по операциям для кошелька. Ранее эту информацию можно было найти в настройках Кошелька на сайте qiwi.com, теперь она доступна и через API.

Отметим, что персональные данные пользователя через запрос профиля не доступны — таково требование безопасности.

Комиссионные тарифы

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

Оплата сотовой связи

Еще одно нововведение, инициированное нашими пользователями, — инструмент автоматизации оплаты сотовой связи, например, для телефонов курьеров.

Фактически метод состоит из двух этапов:

Переводы в банки и на банковские карты

По аналогии с оплатой сотовой связи эта группа методов API позволяет автоматизировать переводы на банковские карты систем VISA, MasterCard и национальной платежной системы МИР по России и СНГ. Перевод осуществляется по номеру карты, по нему же определяется платежная система.

Банковский перевод — это отдельный метод, используемый для отправки денег в некоторые банки, с которыми у нас реализован онлайн-протокол моментальных переводов. В отличие от обычных денежных переводов по банковским реквизитам, для этих банков можно использовать большее количество идентификаторов клиента (номер карты, договора, счета и т. п.).

Юридическая сторона вопроса

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

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

Что будет дальше?

Перечисленные методы доступа к данным уже работают, а документация по ним опубликована на сайте developer.qiwi.com.

Завершено внутреннее тестирование, и, опубликовав API, мы перешли ко второму этапу — проверке работоспособности связки «пользователь + документация + API». Этот этап должен ответить на вопросы о том, насколько понятна документация, нужны ли какие-то дополнительные пояснения и т. п. Поэтому мы предлагаем пользователям направлять отзывы на наш адрес: api_help@qiwi.com.

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

Если вам интересны детали разработки новой версии API, пишите и задавайте вопросы в комментариях — мы постараемся ответить на них в наших следующих публикациях.

Внимание, конкурс

Чтобы заинтересовать разработчиков в использовании нового API, мы проводим всероссийский QIWI API Contest. Это первый конкурс в рамках QIWI Open Platform, направленный на популяризацию API компании.

Для участия в конкурсе необходимо создать Mobile First решения — чат-боты, мобильные приложения и web-продукты c использованием API QIWI Кошелька. Наши эксперты отберут наиболее проработанные решения и пригласят до 15 участников в финал конкурса, который пройдет в Москве 23 сентября.

Конкурсанты из других городов могут принять участие дистанционно. Регистрация проектов открыта и продлится до 15 сентября. Заявку на участие можно сделать на сайте QIWI API Contest через Timepad или отправить на почту apimarket@qiwi.com. Для всех вопросов мы создали специальный чат в Telegram.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *