Статусы и типы операций, коды ошибок {#statuses}
Коды ошибок {#http-errors}
Протокол приема платежей использует для запросов API следующие HTTP-коды ошибок:
Код ошибки | Описание |
---|---|
400 | Bad Request — Ваш запрос некорректен (ошибка в данных или в формате запроса). |
401 | Unauthorized — Неправильный ключ доступа к API. |
403 | Forbidden — Доступ к API запрещен. |
404 | Not Found — Указанный ресурс не найден. |
405 | Method Not Allowed — Для создания платежа использовался неправильный метод. |
406 | Not Acceptable — Формат данных отличается от JSON. |
410 | Gone — Запрашиваемый ресурс удален. |
429 | Too Many Requests — Слишком много запросов. |
500 | Internal Server Error — Внутренняя ошибка сервиса. Если тело ответа пустое, повторите запрос с теми же параметрами. Если тело ответа не пустое, выполните запрос статуса платежа или статуса счета. |
502 | Bad Gateway — Нет связи с сервисом |
503 | Service Unavailable — Сервер временно недоступен по техническим причинам, попробуйте позже. |
Типы операций {#operation-types}
Тип операции возвращается в поле {operation}.type
уведомления.
Тип операции | Описание |
---|---|
PAYMENT | Платеж. В уведомлении может присутствовать поле flag: [ "SALE" ] (обычный платеж) или flag: [ "AUTH" ] (платеж с холдированием средств). |
CAPTURE | Операция подтверждения. |
REFUND | Операция возврата. В уведомлении может присутствовать поле flag: [ "REVERSAL" ] . Это значит, что финансовой операции (списания средств со счета покупателя) не было, комиссия по операции удержана не будет. |
Статусы операций {#operation-statuses}
Статус операции отражает ее текущее состояние.
API возвращает синхронный статус операции в поле status.value
.
В уведомлениях статус помещается в поле {operation}.status.value
.
В таблице перечислены возможные статусы и типы операций, в которых эти статусы используются.
Статус операции | Тип операции | Описание статуса | Где возвращается |
---|---|---|---|
WAITING | PAYMENT | Ожидание 3DS авторизации | Ответы API |
DECLINED | PAYMENT | Запрос авторизации отклонен | Уведомления, Ответы API |
DECLINE | REFUND | Запрос возврата отклонен | Уведомления, Ответы API |
DECLINE | CAPTURE | Запрос подтверждения отклонен | Уведомления, Ответы API |
DECLINED | CAPTURE | Запрос подтверждения отклонен | Ответ API на запрос статуса |
SUCCESS | PAYMENT | Запрос авторизации успешно обработан | Уведомления |
COMPLETED | PAYMENT | Запрос авторизации успешно обработан | Ответы API |
SUCCESS | REFUND | Запрос возврата успешно обработан | Уведомления |
COMPLETED | REFUND | Запрос возврата успешно обработан | Ответы API |
SUCCESS | CAPTURE | Запрос подтверждения успешно обработан | Уведомления |
COMPLETED | CAPTURE | Запрос подтверждения успешно обработан | Ответы API |
Для счетов используется только статус CREATED.
Справочник ошибок API {#reason-codes}
Ошибки API описывают причину отклонения операции и передаются:
- в ответах на запросы — в поле
status.reason
; - в уведомлениях — в поле
status.reasonCode
.
Ошибка API | Описание |
---|---|
INVALID_STATE | Некорректный статус транзакции |
INVALID_AMOUNT | Некорректная сумма |
INVALID_RECEIVER_DATA | Ошибка при передаче данных о получателе |
DECLINED_BY_MPI | Отклонено MPI |
DECLINED_BY_FRAUD | Отклонено fraud-мониторингом |
REATTEMPT_NOT_PERMITTED | Повторный запрос авторизации запрещен на основании полученного ответа от Платежной системы |
GATEWAY_INTEGRATION_ERROR | Ошибка взаимодействия с банком |
GATEWAY_TECHNICAL_ERROR | Техническая ошибка на стороне банка |
ACQUIRING_MPI_TECH_ERROR | Техническая ошибка при проведении 3DS аутентификации |
ACQUIRING_GATEWAY_TECH_ERROR | Техническая ошибка |
ACQUIRING_ACQUIRER_ERROR | Техническая ошибка |
ACQUIRING_AUTH_TECHNICAL_ERROR | Ошибка при проведении авторизации средств |
ACQUIRING_ISSUER_NOT_AVAILABLE | Ошибка эмитента. Банк-эмитент не доступен |
ACQUIRING_SUSPECTED_FRAUD | Ошибка эмитента. Подозрение на мошенничество |
ACQUIRING_LIMIT_EXCEEDED | Ошибка эмитента. Превышен один из лимитов |
ACQUIRING_NOT_PERMITTED | Ошибка эмитента. Операция не разрешена |
ACQUIRING_INCORRECT_CVV | Ошибка эмитента. Некорректный CVV |
ACQUIRING_EXPIRED_CARD | Ошибка эмитента. Неверный срок действия карты |
ACQUIRING_INVALID_CARD | Ошибка эмитента. Проверьте корректность введенных данных |
ACQUIRING_INSUFFICIENT_FUNDS | Ошибка эмитента. Недостаточно средств |
ACQUIRING_UNKNOWN | Неизвестная ошибка |
BILL_ALREADY_PAID | Счет уже оплачен |
PAYIN_PROCESSING_ERROR | Ошибка при проведении платежа |
PAYMENT_EXPIRED_3DS | Не пройдена 3DS-аутентификация |
QW_LIMIT_ERROR | Ошибка превышения лимита пользователя QIWI Кошелька |
QW_IDENTIFICATION_ERROR | Пользователю необходимо пройти идентификацию в QIWI Кошельке |
QW_AUTH_ERROR | Ошибка авторизации в QIWI Кошельке |
QW_INSUFFICIENT_FUNDS | Недостаточно средств в QIWI Кошельке |
QW_AMOUNT_ERROR | Недопустимая сумма платежа |
QW_REGISTRATION_ERROR | Ошибка регистрации пользователя QIWI Кошелька |
QW_AGENT_ERROR | Ошибка при пополнении QIWI Кошелька пользователя |
QW_ACCOUNT_ERROR | QIWI Кошелек заблокирован |
QW_IDENTIFICATION_STATUS_ERROR | Достигнут лимит платежей в QIWI Кошельке |
QW_CURRENCY_ERROR | Валюта QIWI Кошелька не найдена |
QW_PAYMENT_ERROR | Ошибка проведения платежа в QIWI Кошельке |
QW_PROVIDER_ERROR | Провайдер QIWI Кошелька заблокирован |
QW_SMS_CONFIRM_EXPIRED | Истекло время СМС-подтверждения платежа в QIWI Кошельке |
Когда на сайт пытается попасть человек, а вместо искомого контента натыкается на ошибку, то важно выяснить, что это за ошибка и почему она посмела явиться в столь неподходящий (а это любой) момент.
Благо у нас есть замечательные коды 4хх и 5хх, хоть и не так подробно, как хотелось бы, но рассказывающие о том, почему возникла ошибка. Ну а мы, зная эту информацию, можем попытаться ошибку исправить.
В этом материале речь пойдет об ошибке 405 Method Not Allowed. В деталях опишу проблему и расскажу, как ее побороть.
Код 405 Method Not Allowed говорит нам о том, что сервер получил определенный запрос с заданным HTTP-методом, смог его распознать, но не дает добро на его реализацию. То есть пользователь не получит доступ к контенту, который запросил.
В отличие от 404, 405 уточняет, что запрашиваемая страница существует и функционирует. Только вот стоит изменить используемый в HTTP-запросе метод. Иначе ничего не выйдет.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Из-за чего я вижу эту ошибку?
Есть 9 HTTP-методов, которые используются браузерами для общения с серверами. Из них два задействуются чаще остальных. Это метод GET для запроса информации с ресурса и метод POST для передачи какой-нибудь информации на ресурс. Два метода покрывают почти все существующие сценарии взаимодействия клиента и сервера от запроса статьи до отправки логина и пароля на сайт. Так как они выполняют разные задачи, для сервера нет никакой нужды принимать GET для авторизации на сайте или POST для загрузки данных. Если же клиент так делает и отправляет некорректный запрос (не с тем методом, который должен быть), то сервер ответит ему ошибкой. То же произойдет, если ресурс будет настроен так, что не сможет принимать специфичный набор запросов, не попадающих в «стандарт». Такие дела.
Как исправить 405 Method Not Allowed?
Ок, небольшой ликбез провел, теперь расскажу о том, что можно предпринять, чтобы исправить обнаруженную ошибку и вернуть посетителям доступ к сайту.
Что может сделать пользователь?
Ошибка Method Not Allowed под номером 4хх вроде бы говорит о вине клиента. Но несмотря на это, пользователь мало что может сделать, чтобы устранить проблему. В его компетенции только убедиться в том, что он не допустил ошибку в базовых вещах, и попробовать повторить те же действия в надежде на успех.
Заново открыть ту же страницу
Иногда 405 Method Not Allowed может исчезнуть после перезагрузки страницы. Так что перед тем как принимать сложные решения и жаловаться на владельцев сайта, нажмите F5 или Cmd + R раза два.
Проверить, правильно ли он ввел URL-адрес
Несложная задача, но полезная. Как и в случае с кучей других ошибок, 405 может явиться из-за банальной опечатки или лишнего символа. К тому же многие серверы защищены таким образом, чтобы напрочь блокировать доступ к несуществующим страницам или каким-либо подуровням (в которые человек может пытаться залезть неслучайно).
Так что пользователю стоит заглянуть в адресную строку браузера и убедиться в корректности введенной ссылки. Если что-то нет так, то лучше открыть главную страницу сайта и искать нужную информацию там, а не пытаться попасть на нее, вводя адрес вручную.
Что может сделать владелец сайта?
Как это часто бывает, у сервера гораздо больше способов исправить клиентскую ошибку. Тут реально целый ворох решений: от удаления подозрительных компонентов из CMS до редактирования конфигурационных файлов.
Проверить настройки сервера
Тут будут инструкции для владельцев сайтов на базе Apache и Nginx в Timeweb. Понятно, что есть другие варианты конфигураций, но эти два — чуть ли стандарт, использующийся повсеместно. А информация, касающаяся конкретно Timeweb, заденет только расположение файлов и работу с панелью управления хостинга. Остальные моменты универсальны.
Инструкция для пользователей Apache
Наша задача состоит в том, чтобы в файле .htaccess найти записи, которые могут провоцировать появление ошибки 405. А потом их закомментировать или удалить. Чтобы это сделать:
- Открываем панель управления Timeweb.
- Ищем внутри вкладку «Файловая система» и переходим на нее.
- Открываем файл .htaccess.
- Внутри .htaccess ищем директивы Rewrite… (обычно это RewriteEngine, RewriteCond и RewriteRule).
Эти директивы помогают в настройке переадресации и некоторых других аспектах поведения сервера. Например, чтобы заставить сервер отправлять клиенту ошибку на каждый запрос GET, можно ввести такой код:
RewriteEngine on RewriteCond %{REQUEST_URI} ^/ru/services/?.$ RewriteCond %{REQUEST_METHOD} =GET RewriteRule ^(.)$ http://timeweb/ru/new$1 [R=405,L]
За появление ошибки отвечает запись [R=405,L]. То есть в настройках указано, как себя будет вести сервер при определенном запросе. Надо найти все такие директивы и закомментировать их, поставив # перед записью.
Инструкция для пользователей Nginx
Здесь нужно сделать примерно то же. Разница в том, как выглядит файл с настройками и в его расположении.
- Ищем файл nginx.conf по пути /usr/local/nginx/conf или /usr/local/etc/nginx.
- Открываем его любым текстовым редактором.
- Находим код, включающий в себя упоминание ошибки 405.
В Nginx код выглядит немного сложнее. Например, запрос метода для ссылки https://moysait.com/ru/services/create будет выглядеть так:
server { listen 80; listen 443 ssl; server_name moysait.com; location /users/create { if ($request_method = POST) { return 405 https://moysait.com/services/create$request_uri; } } }
Делаем ту же процедуру. Останавливаемся везде, где находим директиву с ошибкой 405. Анализируем ее (вдруг, она тут случайно). И при необходимости комментируем или удаляем.
Исправить проблемы, связанные с PHP-скриптами
Ошибки могут возникнуть при попытке импортировать или экспортировать слишком объемную базу данных. На хостинге может быть установлено ограничение в полминуты, запрещающее использовать один PHP-скрипт дольше этого времени. Поэтому, если процесс затянется, сервер может отозваться ошибкой 405.
Обойти ограничение можно тремя путями:
- Попробовать экспортировать БД через phpMyAdmin.
- Разбить файл БД на несколько мелких частей, передача каждого из которых займет меньше 30 секунд.
- Использовать для передачи БД Cron-задачу. На них сервер выделяет больше времени.
Еще специалисты рекомендуют удалить статические файлы с разрешением, которые Nginx обрабатывать не должен. Это делается через панель управления хостингом в соответствующем разделе файлового менеджера.
Исправить эксклюзивные для Nginx ошибки
Как мы уже выяснили выше, ошибка может возникнуть при попытке использовать неподходящий метод. Вот как можно исправить это в случае с Nginx-сервером.
Первый вариант — убедить сервер в том, что вместо кода 405 надо отправлять код 200, и это вполне нормально:
server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 404 /404.html; error_page 403 /403.html; error_page 405 =200 $uri; … }
Для тех, у кого Nginx-сервер — это proxy, понадобится вот такой код:
error_page 405 =200 @405; location @405 { root /htdocs; proxy_pass http://localhost:8080; }
Аналогичная ошибка возникает при работе с модулем FastCGI. Из-за него сервер неправильно считывает запросы с методом POST, поэтому необходимо делить параметры и адрес скрипта вот так:
location ~.php(.*) { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include /etc/nginx/fastcgi_params; }
Далее речь пойдет об общих методах диагностики и исправления ошибок. На крайний случай, если конкретные решения не помогли.
Проанализировать все недавние изменения в коде
Если недавно что-то поменяли, а после этого все сломалось, то надо это «поменяли» рассмотреть подробнее. Провести ручной дебаггинг, если можно это так назвать. Наверняка где-то затесалась несерьезная, но обидная ошибка.
Удалить сторонние дополнения для CMS
Если вы используете условный WordPress, то разного рода ошибки могут подкрасться оттуда, где их не ждешь. Например, после установки нового расширения.
Так что при подозрении на наличие сбойного дополнения, лучше попробовать от него избавиться и посмотреть, что будет. Возможно, ошибка исчезнет.
После этого уже можно будет поискать альтернативное расширение или пообщаться с разработчиками по поводу того, почему вообще возникает сбой.
Главное, не забудьте сделать резервную копию CMS перед тем, как что-то удалять и менять. И продолжайте делать бэкапы после, чтобы всегда можно было восстановить рабочую версию сайта.
Откатиться на более старую версию CMS
Бывает так, что сама CMS несет в себе баги и ошибки. Ну или криво установилась. В таком случае можно восстановиться из старой резервной копии и откатиться на одну или несколько версий в прошлое. Когда все работало без ошибок.
Проверить новые записи в базе данных
Расширения могут вносить изменения в базу данных сайта. Иногда не очень полезные. Надо проверить, не появилось ли после установки свежего дополнения каких-либо непрошенных изменений в базе данных. Может, появились подозрительные записи, которых не должно быть. Лучше подвергнуть анализу всю БД от начала до конца (если другие методы исправления ошибки 405 не помогли, конечно).
На этом будем заканчивать. Мы и так уже перешли на самые маловероятные способы исправления этой ошибки. Надеюсь, они не понадобятся, но знать о таких вариантах стоит. Вдруг эти знания когда-нибудь спасут вас и посетителей вашего сайта.
Статусы и типы операций, коды ошибок {#statuses}
Коды ошибок {#http-errors}
Протокол приема платежей использует для запросов API следующие HTTP-коды ошибок:
Код ошибки | Описание |
---|---|
400 | Bad Request — Ваш запрос некорректен (ошибка в данных или в формате запроса). |
401 | Unauthorized — Неправильный ключ доступа к API. |
403 | Forbidden — Доступ к API запрещен. |
404 | Not Found — Указанный ресурс не найден. |
405 | Method Not Allowed — Для создания платежа использовался неправильный метод. |
406 | Not Acceptable — Формат данных отличается от JSON. |
410 | Gone — Запрашиваемый ресурс удален. |
429 | Too Many Requests — Слишком много запросов. |
500 | Internal Server Error — Внутренняя ошибка сервиса. Если тело ответа пустое, повторите запрос с теми же параметрами. Если тело ответа не пустое, выполните запрос статуса платежа или статуса счета. |
502 | Bad Gateway — Нет связи с сервисом |
503 | Service Unavailable — Сервер временно недоступен по техническим причинам, попробуйте позже. |
Типы операций {#operation-types}
Тип операции возвращается в поле {operation}.type
уведомления.
Тип операции | Описание |
---|---|
PAYMENT | Платеж. В уведомлении может присутствовать поле flag: [ "SALE" ] (обычный платеж) или flag: [ "AUTH" ] (платеж с холдированием средств). |
CAPTURE | Операция подтверждения. |
REFUND | Операция возврата. В уведомлении может присутствовать поле flag: [ "REVERSAL" ] . Это значит, что финансовой операции (списания средств со счета покупателя) не было, комиссия по операции удержана не будет. |
Статусы операций {#operation-statuses}
Статус операции отражает ее текущее состояние.
API возвращает синхронный статус операции в поле status.value
.
В уведомлениях статус помещается в поле {operation}.status.value
.
В таблице перечислены возможные статусы и типы операций, в которых эти статусы используются.
Статус операции | Тип операции | Описание статуса | Где возвращается |
---|---|---|---|
WAITING | PAYMENT | Ожидание 3DS авторизации | Ответы API |
DECLINED | PAYMENT | Запрос авторизации отклонен | Уведомления, Ответы API |
DECLINE | REFUND | Запрос возврата отклонен | Уведомления, Ответы API |
DECLINE | CAPTURE | Запрос подтверждения отклонен | Уведомления, Ответы API |
DECLINED | CAPTURE | Запрос подтверждения отклонен | Ответ API на запрос статуса |
SUCCESS | PAYMENT | Запрос авторизации успешно обработан | Уведомления |
COMPLETED | PAYMENT | Запрос авторизации успешно обработан | Ответы API |
SUCCESS | REFUND | Запрос возврата успешно обработан | Уведомления |
COMPLETED | REFUND | Запрос возврата успешно обработан | Ответы API |
SUCCESS | CAPTURE | Запрос подтверждения успешно обработан | Уведомления |
COMPLETED | CAPTURE | Запрос подтверждения успешно обработан | Ответы API |
Для счетов используется только статус CREATED.
Справочник ошибок API {#reason-codes}
Ошибки API описывают причину отклонения операции и передаются:
- в ответах на запросы — в поле
status.reason
; - в уведомлениях — в поле
status.reasonCode
.
Ошибка API | Описание |
---|---|
INVALID_STATE | Некорректный статус транзакции |
INVALID_AMOUNT | Некорректная сумма |
INVALID_RECEIVER_DATA | Ошибка при передаче данных о получателе |
DECLINED_BY_MPI | Отклонено MPI |
DECLINED_BY_FRAUD | Отклонено fraud-мониторингом |
REATTEMPT_NOT_PERMITTED | Повторный запрос авторизации запрещен на основании полученного ответа от Платежной системы |
GATEWAY_INTEGRATION_ERROR | Ошибка взаимодействия с банком |
GATEWAY_TECHNICAL_ERROR | Техническая ошибка на стороне банка |
ACQUIRING_MPI_TECH_ERROR | Техническая ошибка при проведении 3DS аутентификации |
ACQUIRING_GATEWAY_TECH_ERROR | Техническая ошибка |
ACQUIRING_ACQUIRER_ERROR | Техническая ошибка |
ACQUIRING_AUTH_TECHNICAL_ERROR | Ошибка при проведении авторизации средств |
ACQUIRING_ISSUER_NOT_AVAILABLE | Ошибка эмитента. Банк-эмитент не доступен |
ACQUIRING_SUSPECTED_FRAUD | Ошибка эмитента. Подозрение на мошенничество |
ACQUIRING_LIMIT_EXCEEDED | Ошибка эмитента. Превышен один из лимитов |
ACQUIRING_NOT_PERMITTED | Ошибка эмитента. Операция не разрешена |
ACQUIRING_INCORRECT_CVV | Ошибка эмитента. Некорректный CVV |
ACQUIRING_EXPIRED_CARD | Ошибка эмитента. Неверный срок действия карты |
ACQUIRING_INVALID_CARD | Ошибка эмитента. Проверьте корректность введенных данных |
ACQUIRING_INSUFFICIENT_FUNDS | Ошибка эмитента. Недостаточно средств |
ACQUIRING_UNKNOWN | Неизвестная ошибка |
BILL_ALREADY_PAID | Счет уже оплачен |
PAYIN_PROCESSING_ERROR | Ошибка при проведении платежа |
PAYMENT_EXPIRED_3DS | Не пройдена 3DS-аутентификация |
QW_LIMIT_ERROR | Ошибка превышения лимита пользователя QIWI Кошелька |
QW_IDENTIFICATION_ERROR | Пользователю необходимо пройти идентификацию в QIWI Кошельке |
QW_AUTH_ERROR | Ошибка авторизации в QIWI Кошельке |
QW_INSUFFICIENT_FUNDS | Недостаточно средств в QIWI Кошельке |
QW_AMOUNT_ERROR | Недопустимая сумма платежа |
QW_REGISTRATION_ERROR | Ошибка регистрации пользователя QIWI Кошелька |
QW_AGENT_ERROR | Ошибка при пополнении QIWI Кошелька пользователя |
QW_ACCOUNT_ERROR | QIWI Кошелек заблокирован |
QW_IDENTIFICATION_STATUS_ERROR | Достигнут лимит платежей в QIWI Кошельке |
QW_CURRENCY_ERROR | Валюта QIWI Кошелька не найдена |
QW_PAYMENT_ERROR | Ошибка проведения платежа в QIWI Кошельке |
QW_PROVIDER_ERROR | Провайдер QIWI Кошелька заблокирован |
QW_SMS_CONFIRM_EXPIRED | Истекло время СМС-подтверждения платежа в QIWI Кошельке |
Предлагаю расширить коды ошибок для транзакций:
{ "3": "Техническая ошибка, нельзя отправить запрос провайдеру", "4": "Неверный формат счета/телефона", "5": "Номер не принадлежит оператору", "8": "Прием платежа запрещен по техническим причинам", "13": "Сервер занят, повторите запрос через минуту", "74": "Ошибка платежа. Временный технический сбой", "130": "Платеж в адрес выбранного провайдера невозможен", "131": "Платежи на выбранного провайдера запрещено проводить из данной страны.", "155": "Прием платежа для данного провайдера запрещен", "202": "Ошибка в параметрах запроса", "203": "Ошибка авторизации пользователя", "206": "Кошелек временно заблокирован службой безопасности. Обратитесь в поддержку", "220": "Недостаточно средств", "241": "Сумма платежа меньше минимальной", "242": "Сумма платежа больше максимальной", "270": "Ошибка на стороне провайдера (получателя)", "300": "Техническая ошибка. Проверьте правильность введенных данных или повторите попытку позже. Возможно отправитель и получатель совпадают!", "319": "Платеж невозможен", "402": "Вас давно не было. =( Начните авторизацию заново.", "500": "По техническим причинам этот платеж не может быть выполнен. Для совершения платежа обратитесь, пожалуйста, в свой обслуживающий банк", "521": "Неверный счет или БИК плательщика", "522": "Неверный номер или срок действия карты получателя", "542": "Неверный номер карты получателя", "544": "Ошибка платежа", "547": "Ошибка в сроке действия карты получателя", "548": "Истек срок действия карты получателя", "561": "Платеж отвергнут оператором банка получателя", "601": "Недопустимое значение кода подтверждения", "702": "Платеж не проведен из-за ограничений у получателя", "705": "Ежемесячный лимит платежей и переводов для статуса Стандарт - 200 000 р. Для увеличения лимита пройдите идентификацию.", "704": "Ошибка платежа", "745": "Ошибка платежа", "746": "Превышен лимит по платежам в пользу провайдера", "747": "Превышен лимит по платежам в пользу провайдера", "750": "Ошибка платежа", "780": "Проведение платежа запрещено СБ", "801": "Кажется, что-то пошло не так. Пожалуйста, авторизуйтесь заново", "852": "Превышен лимит по платежам в пользу провайдера", "868": "Платеж не проведен. 5 000 рублей — лимит на переводы в месяц. Повысьте статус идентификации в Профиле и переводите без ограничений.", "893": "Срок действия перевода истек", "901": "Ошибка платежа", "934": "Cервис недоступен в стране пользователя", "943": "Ошибка платежа", "1001": "Кажется, что-то пошло не так. Повторите попытку позже.", "1018": "Пул номеров страны не активен", "1021": "Ограничение исходящих платежей", "1022": "Пополнение чужого номера запрещено", "1050": "Превышен лимит на операции, либо превышен дневной лимит на переводы на карты Visa/MasterCard", "1066": "Ошибка платежа", "7700": "Провайдер заблокирован", "7703": "Персона заблокирована" } ``
Предлагаю расширить коды ошибок для транзакций:
{ "3": "Техническая ошибка, нельзя отправить запрос провайдеру", "4": "Неверный формат счета/телефона", "5": "Номер не принадлежит оператору", "8": "Прием платежа запрещен по техническим причинам", "13": "Сервер занят, повторите запрос через минуту", "74": "Ошибка платежа. Временный технический сбой", "130": "Платеж в адрес выбранного провайдера невозможен", "131": "Платежи на выбранного провайдера запрещено проводить из данной страны.", "155": "Прием платежа для данного провайдера запрещен", "202": "Ошибка в параметрах запроса", "203": "Ошибка авторизации пользователя", "206": "Кошелек временно заблокирован службой безопасности. Обратитесь в поддержку", "220": "Недостаточно средств", "241": "Сумма платежа меньше минимальной", "242": "Сумма платежа больше максимальной", "270": "Ошибка на стороне провайдера (получателя)", "300": "Техническая ошибка. Проверьте правильность введенных данных или повторите попытку позже. Возможно отправитель и получатель совпадают!", "319": "Платеж невозможен", "402": "Вас давно не было. =( Начните авторизацию заново.", "500": "По техническим причинам этот платеж не может быть выполнен. Для совершения платежа обратитесь, пожалуйста, в свой обслуживающий банк", "521": "Неверный счет или БИК плательщика", "522": "Неверный номер или срок действия карты получателя", "542": "Неверный номер карты получателя", "544": "Ошибка платежа", "547": "Ошибка в сроке действия карты получателя", "548": "Истек срок действия карты получателя", "561": "Платеж отвергнут оператором банка получателя", "601": "Недопустимое значение кода подтверждения", "702": "Платеж не проведен из-за ограничений у получателя", "705": "Ежемесячный лимит платежей и переводов для статуса Стандарт - 200 000 р. Для увеличения лимита пройдите идентификацию.", "704": "Ошибка платежа", "745": "Ошибка платежа", "746": "Превышен лимит по платежам в пользу провайдера", "747": "Превышен лимит по платежам в пользу провайдера", "750": "Ошибка платежа", "780": "Проведение платежа запрещено СБ", "801": "Кажется, что-то пошло не так. Пожалуйста, авторизуйтесь заново", "852": "Превышен лимит по платежам в пользу провайдера", "868": "Платеж не проведен. 5 000 рублей — лимит на переводы в месяц. Повысьте статус идентификации в Профиле и переводите без ограничений.", "893": "Срок действия перевода истек", "901": "Ошибка платежа", "934": "Cервис недоступен в стране пользователя", "943": "Ошибка платежа", "1001": "Кажется, что-то пошло не так. Повторите попытку позже.", "1018": "Пул номеров страны не активен", "1021": "Ограничение исходящих платежей", "1022": "Пополнение чужого номера запрещено", "1050": "Превышен лимит на операции, либо превышен дневной лимит на переводы на карты Visa/MasterCard", "1066": "Ошибка платежа", "7700": "Провайдер заблокирован", "7703": "Персона заблокирована" } ``
В этой статье мы объясним, что такое ошибка 405 и как она может проявляться. А также расскажем, как исправить эту ошибку, возникающую на WordPress-сайте.
- Что означает ошибка 405 Method Not Allowed
- Google Chrome
- Safari
- Firefox
- Microsoft Edge
- Вариации ошибки 405
- Как исправить ошибку 405 Method Not Allowed на WordPress-сайте
- Проверьте, правильно ли вы ввели URL-адрес
- Откат недавно установленных обновлений WordPress
- Удалите новые плагины и темы оформления
- Проверить любые непреднамеренные изменения в базе данных
- Проверка конфигурации сервера
- Просмотрите журналы сервера
- Отладка кода приложения или скриптов
- Что делать, если ни одно из этих решений не помогло
- Заключение
Ошибка 405 Method Not Allowed возникает, когда браузер запросил доступ к одной из страниц сайта, но веб-сервер отклонил определенный в запросе HTTP-метод. Получается, что браузер не может получить доступ к запрашиваемой странице. Вместо интересующего пользователей конвента они увидят страницу с ошибкой.
Ошибка 405 Not Allowed в Chrome
Ошибка 405 Not Allowed в Safari
Ошибка 405 Not Allowed в Firefox
Ошибка 405 Not Allowed в Microsoft Edge
Ошибку 405 не следует путать с кодом ответа 404 Not Found. Он означает, что запрошенный URL-адрес не найден или введен неправильно. Сообщение об ошибке 405 подтверждает, что запрашиваемая страница, но для выполнения запроса использовался неподдерживаемый HTTP-метод.
Это код ответа HTTP указывает, что метод запроса известен серверу, но не поддерживается целевым ресурсом.
Вот некоторые варианты отображения ошибки:
- 405 Not Allowed;
- Method Not Allowed;
- HTTP 405 Error;
- HTTP Error 405 – Method Not Allowed;
- HTTP 405 Method Not Allowed.
Самой распространенной причиной возникновения ошибки 405 является неправильный URL-адрес. Большинство веб-серверов блокируют доступ пользователей к несуществующим страницам сайта.
Если вы обновили WordPress незадолго до того, как стало появляться сообщение об ошибке 405 Method Not Allowed, то именно обновление может являться причиной возникновения проблем. Это также относится к любым плагинам и темам оформления, которые вы недавно обновили.
Самый простой способ откатить обновления WordPress – использовать специальный плагин. Самый эффективный из них – WP Downgrade. Он в значительной степени автоматизирует процесс обновления.
Плагины и темы оформления могут создавать проблемы. Это связано с тем, что добавление любой функциональности на сайт влияет на его работу. Ошибка 405 быть связана с плагином или темой оформления, которую вы используете. А также если конкретное расширение конфликтует с другой частью CMS.
Удаления определенных плагинов или тем оформления может устранить ошибку 405 Method Not Allowed. Для этого перейдите в раздел «Плагины» панели администрирования WordPress.
Страница плагинов в WordPress
После удаления каждого плагина не забудьте проверять, устранена ли возникшая ошибка. Этот процесс позволит вам точно определить, какой плагин вызывает проблему.
Как деактивировать плагин в WordPress
После проверки плагинов можно приступить к деактивации (удалению) используемой темы.
Рассмотренный выше способ не гарантирует, что изменения, внесенные расширениями, будут полностью отменены. Это особенно актуально для WordPress-плагинов. Многие из них могут изменять записи в базе данных, которые влияют на работоспособность WordPress.
Если вы уверены, что плагин или тема оформления являются причиной возникновения ошибки 405 Method Not Allowed, проверка используемой базы данных полностью решит проблему. Для этого необходимо открыть базу данных сайта и вручную просмотреть таблицы и записи, измененные расширением.
Ваш сайт, скорее всего, работает на сервере, который использует Apache или Nginx. На их основе базируется более 80% всех серверов. Проверка файлов конфигурации сервера на наличие неподдерживаемых инструкций поможет решить причину возникновения ошибки 405.
Например, если веб-сервер работает под управлением Apache, то конфигурационный файл .htaccess располагается в корневом каталоге сайта. В него можно попасть, перейдя по следующему пути:
Таким образом, файл .htaccess будет располагаться по адресу:
/home/public_html/.htaccess
Откройте файл .htaccess в текстовом редакторе и найдите строки, которые используют директивы Rewrite. Они являются частью модуля mod_rewrite в Apache и определяют текстовый шаблон, который будет сопоставляться со всеми введенными URL-адресами. Если посетитель сайта запрашивает URL-адрес, подходящий под правило RewriteRule, оно перенаправит посетителя соответствующим образом.
Вот простой пример правила RewriteRule, которое сопоставляет все входящие запросы и отвечает кодом ошибки 405 Method Not Allowed
Пример правила RewriteRule
В конце записи правила есть флаг R = 405. Поэтому полученный код ответа будет 405. Если вы обнаружите другие «странные» директивы Rewrite в файле .htaccess, попробуйте временно закомментировать их, используя префикс #. После этого перезапустите веб-сервер, чтобы увидеть, решило ли данное изменение возникшую проблему.
Почти каждое веб-приложение хранит журналы на стороне сервера. Они содержат полную историю операций, совершенных приложением.
Журналы сервера немного отличаются. Они часто предоставляют подробную информацию о состоянии всех подключенных служб или даже только самого сервера.
Чтобы просмотреть логи сервера, вам нужно подключиться к вашему сайту через протокол защищенной передачи файлов (SFTP). В корневом каталоге найдите папку logs. В ней находятся журналы доступа и журналы ошибок WordPress:
- Access.log;
- Error.log.
Теперь просмотрите журналы и проверьте все записи, которые выглядят странно.
Если ни один из предыдущих методов не помог, тогда проблема связана с пользовательским кодом. Для ее решения нужно провести отладку кода.
Для этого нужно скопировать весь сайт на промежуточный сайт. После этого можно будет провести пошаговую процедуру отладки.
Если ни один из перечисленных методов не помог, то возникла более сложная проблема. В этом случае стоит обратиться к вашему хостинг-провайдеру.
К счастью, в большинстве случаев ошибку 405 Method Not Allowed можно легко исправить с помощью быстрой отладки.
Техническая ошибка Qiwi – это недоразумение способно испортить общее впечатление от пользования платежной системой. От нее не застрахован никто, так как любой технический софт имеет свои изъяны. Неполадка может подстерегать пользователя на любом этапе: при входе, при оплате кредита, телефона или же во время перевода на другой счет (Вебмани или Яндекс.Деньги). Рассмотрим подробнее, что значит техническая ошибка в Киви, и как с ней бороться.
Содержание статьи
- 1 Виды неполадок и способы решения проблем
- 1.1 Техническая ошибка сертификата Киви
- 1.2 Ошибка при оплате с Qiwi
- 1.3 Не могу войти в кошелек
- 1.4 Проблема с использованием Qiwi Visa Card
- 1.5 Недостаточно средств
- 1.6 Проблема при привязке карты к Киви кошельку
- 1.7 Ошибка авторизации
- 1.8 Некорректный идентификатор счета
- 2 Как обратиться в техническую поддержку?
- 3 Полезное видео
- 4 Другие статьи по теме
Виды неполадок и способы решения проблем
Чаще всего встречаются следующие ошибки.
Техническая ошибка сертификата Киви
Такая проблема возникает при несоответствии времени устройства со временем сервера платежной системы. Система безопасности автоматически сравнивает данные, переданные компьютером с теми, которые передает сайт и если они не совпадут, дальнейшие действия со счетом блокируются.
Этот вопрос легко решаем. Для начала заходим на сайт точного времени – time100.ru, выбираем свой часовое пояс и сравниваем дату и время на компьютере с тем, что указано на сайте.
Если время совпадает, то достаточно будет воспользоваться другим браузером. Если нет – поможет перезагрузка компьютера, чтобы он заново синхронизировался со своим сервером и установил правильные настройки.
Кроме того, проблема может быть в установленных расширениях. Для решения вопроса их нужно отключить. В зависимости от браузера они так же могут быть в разделе «Дополнения».
Ошибка при оплате с Qiwi
Проблема с транзакцией – одна из самых распространенных и легко решаемых. Так же ее называют «200 ошибка Киви», так как при невозможности совершить платеж высвечивается именно эта цифра.
Если вы столкнулись с этим – не пытайтесь осуществить перевод. Отложите процедуру на несколько часов и попробуйте снова. Если через сутки вопрос не решился сам собой, помочь сможет только техническая поддержка Киви кошелька. Обратиться к ней можно с главной страницы.
Не могу войти в кошелек
Если при вводе логина и пароля вы не переходите в личный кабинет, на то могут быть несколько вариантов:
- Вы неправильно ввели логин и пароль. Попробуйте ввести их снова.
- Возникла неполадка на стороне системы. Можно подождать некоторое время и зайти снова.
- Возникла неполадка, связанная с вашим аккаунтом. Попробуйте сменить пароль.
- Если вы попробовали все вышеперечисленное, войти так и не удается, остается только обращаться в техническую поддержку. Как можно подробнее объясните проблему и вам восстановят аккаунт.
Проблема с использованием Qiwi Visa Card
Еще одна техническая ошибка при оплате Qiwi может возникнуть при использовании виртуальной карты. Для многих онлайн-игр нужна привязка банковской карты, однако при попытке связать виртуальную карту и аккаунт в игре пользователь получает отказ.
Это происходит только у тех, у кого на счету нет денег. Когда происходит привязка, со счета списывается несколько рублей, чтобы убедиться, что карта действительно существует и с нее возможно производить оплату. Через некоторое время деньги возвращаются на счет. Соответственно, если списывать нечего, то система выдает отказ. То есть решить вопрос можно банальным пополнением счета.
Недостаточно средств
Такая техническая ошибка при переводе Qiwi возникает когда на счету не хватает денег. Зачастую это происходит из-за того, что пользователь указывает сумму не учитывая комиссию, а она может быть довольно велика. К примеру, при выводе денег на банковскую карту с вас возьмут как минимум 50 рублей, плюс 2% от переводимой суммы. Решить вопрос просто: указать меньшую сумму, или же пополнить счет.
Проблема при привязке карты к Киви кошельку
Проблема точно такая же, как и при привязке виртуальной карты к игровому аккаунту: на карте нет денег для подтверждения. Платежная система так же должна убедиться, что с карты можно списывать деньги, прежде чем добавить ее в личный кабинет. Для того, чтобы избавится от проблемы, на счет нужно положить 30 рублей. Этих денег хватит для подтверждения, после чего они вернуться на счет.
Ошибка авторизации
Эта надпись возникает при попытке пополнить счет. Это происходит из-за того, что где-то при вводе были указаны неверные данные. Попробуйте еще раз проверить все цифры. Если вы уверены, что все в порядке, стоит почистить файлы куки и попробовать снова.
Некорректный идентификатор счета
Эта фраза появляется у большинства пользователей нового дизайна. Есть несколько выходов из ситуации:
- Вернуть старый дизайн. Сбоку есть специальная кнопка, нажатие на которую позволяет пользоваться старым дизайном.
- Почистить историю, куки и кэш браузера.
- Использовать другой браузер.
Технические ошибки при оплате могут возникать даже из-за того, что в браузере храняться данные о других платежах (в виде куки) и эта информация мешает совершать новые операции. Остается надеяться, что специалисты платежной системы исправят эту недоработку, а пока остается самостоятельно чистить данные браузера (ctrl + F5), или же использовать другой.
Как обратиться в техническую поддержку?
Существует несколько способов обращения. Подробнее о способах, правильном заполнении формы и времени ответа читайте в этой статье
Полезное видео
Видео об одной из самых распространенных ошибок.
Автор и источники
Авторы статьи: Виктор Еремеев и Дмитрий Луцкий. Владеют практически всеми электронными кошельками, имеют финансовое образование и большой опыт электронной коммерции.
Источником статьи является официальный сайт платежной системы. Отзывы и описание проблем, с которыми сталкиваются пользователи, взяты со сторонних ресурсов.
Всем привет!
Я впервые сталкиваюсь с тем, что сайт (на минуточку платёжная система) не отображается на компьютере, а на сматрфоне отображается «по настроению»…
Кошелек Qiwi технически абсолютно не приспособлен к использованию, работает лишь выборочно на некоторых устройствах и когда ему вздумается, а отправить с него деньги оказалось невыполнимой задачей…уже позже зайдя в официальную группу ВК Qiwi я поняла, что это привычное дело для этой платёжной системы и я не одна такая…
оплачивайте услуги ЖКХ, переводите деньги на карту, кошелек Яндекс. Деньги, расплачивайтесь за покупки
Всё началось с того, что я просто решила зарегистрироваться на сайте Qiwi и создать кошелек. Но «просто» не получилось: сайт на моём компьютере попросту не открывался
Попытка создать кошелек на компьютере в браузере Google Chrom
Казалось бы, первая мысль что то не так с браузерами, но все без исключения сайты открываются, а Qiwi ни в какую! Я пробовала отключать антивирусники, заходить через Opera и Google Chrom, опять выскакивает колёсико загрузки.
Попытка создать кошелек в браузере Opera
Я написала в официальную группу ВК, а те направили моё письмо в тех. поддержу. Тех поддержка проверили состояние подключения, просили скрины, я послушно оправляла, но в результате сайт на компьютере не заработал, а мне просто предложили попробовать зайти через другое устройство:
Все сайты и интернет на компьютере работают исправно, а Qiwi почему то исключение.
Ваш номер телефона – ваш номер кошелька Qiwi
Пришлось регистрироваться через смартфон, хотя я считаю этот способ крайне небезопасным. Неделю я пыталась зарегистрироваться на смартфоне, но чудо случилось лишь после того как я обновила браузеры до последней версии. Из этого делаю вывод, что Qiwi работает только в самой последней версии браузеров Opera и Google Chrom! Блин, почему нельзя настроить технически сайт и сделать доступным для всех версий браузеров, ведь не у всех технически и финансово есть возможность обновлять браузеры!…Почему Яндекс.Деньги и даже WebMoney будь он не ладен работают как швейцарские часы с любого даже самого устаревшего устройства?…
создала QIWI кошелек — проработал корректно он неделю
Я обрадовалась, что создала кошелек, виртуальную бесплатную карту Qiwi (удобная штука если вы расплачиватесь за покупки в интернете) и даже провела через него какую то сумму и опять начались непонятные технические проблемы…
QIWI кошелек отзывы
…при попытке перевести деньги на баланс мобильного или на Яндекс.Деньги выскакивала ошибка «ой, такого провайдера не существует»….при чём тут провайдер, когда интернет на смартфоне спокойно работает и заходит на все остальные сайты….и опять тех. поддержка, и опять высылание им скринов и данных…и опять этот стандартный ответ «попробуйте то, попробуте сё», но это не помогает и по факту ошибка сайта продолжает выскакивать по сей день.
Попылка перечислить денгь с Qiwi кошелька куда-либо (выдаёт ошибку)
Чтобы вывести деньги с Qiwi кошелька и пользоваться ими, мне приходится заходить на Яндекс.Деньги и через кнопку «пополнить картой» выуживать свои же собственные деньги с Qiwi, ведь в самом кошельке платёжные ссылки не работают! Я не могу даже пополнить мобильный с Qiwi кошелька, автоматически выскакивает ошибка 404.
object progress event — ошибка которая неделями выскакивает при попытке зайти на сайт, как оказалось это происходит у многих пользователей
Кроме того, когда я пытаюсь зайти на сайт вбиваю логин и пароль, он выдаёт ошибку сайта «object progress event», на сайт попросту даже не зайти. Происходит это что называется «по настроению» сайта Qiwi, продолжается примерно неделю, потом каким то чудом вход осуществляется. В группе ВК таких сообщений масса, сотни людей пишут об этом «баге» сайта, но тех. поддержка …складывается ощущение что у тех. поддержки нет it-образования, они всегда выдают стандартные ответы, а технически сами не понимают почему сайт вечно не работает.
КОРОЧЕ!…
Из плюсов платёжной системы Qiwi я могу выделить только простой и понятный интерфейс и виртуальную бесплатную карту, которая привязывается к кошельку на год, а баланс карты равен балансу на кошельке. Ею удобно расплачиваться в интернет-магазинах как обычной пластиковой картой, оплачивать интернет, а также переводить с неё деньги на Яндекс.Деньги, которые для меня остаются «the best».
Техническая база сайта Qiwi худшая из всех сайтов, что встречала. Сайт то отображается, то нет, постоянно вылетают ошибки 404, из-за которых пользоваться им полноценно невозможно неделями. Работает исключительно с браузеров последних версий и то не всегда, платёжные ссылки у меня по прежнему не открываются, соответственно деньги перевести напрямую не получается. На компьютере сайт до сих пор не отображается, что у меня вообще впервые.
Многие сравнивают Qiwi с Яндекс Деньги… пффф… система Яндекс.Деньги работает как часы со всех устройств и браузеров и на мой взгляд технически идеальна. Qiwi самый косячный сайт с точки зрения программного обеспечения, а страдают от этого простые пользователи.
Не понимаю как такая популярная платёжная система как Qiwi, где люди держат деньги, так не корректно работает, а разработчики Qiwi ничего не предпринимают для устранения технических проблем.
Всем полных кошельков!
Что делать, когда возникают технические ошибки с Киви кошельком?
От технических ошибок практически невозможно избавиться полностью. Они случаются по разным причинам. Когда дело доходит до работы с QIWI кошельком, подобные баги особенно неприятны, поскольку речь идет о финансовых средствах.
Список возможных ошибок и причины устранения
QIWI постоянно совершенствует свою систему и старается, чтобы у конечного пользователя возникало как можно меньше проблем при работе с системой. Есть ошибки, которые продолжают тревожить некоторых пользователей. Рассмотрим самые часто встречаемые.
Ошибка сертификата Киви
Возникает из-за несоответствия времени, выставленном на устройстве, используемом для входа, со временем на сервере платежной системы. Эта ошибка является результатом работы системы безопасности, видящей несоответствие передаваемых данных с ПК, смартфона или планшета с теми, которые посылает сайт. Результатом является невозможность осуществления дальнейших действий с сайтом.
Чтобы устранить проблему, зайдите на сервис по типу time100.ru. Здесь вы можете сравнить часовые пояса и подкорректировать по необходимости то, что выставлено на устройстве. Если расхождений по времени нет, попробуйте зайти через другой браузер или перезагрузить компьютер.
Нередко к подобному сбою приводят расширения, установленные в браузере. Отключите их, затем перезапустите браузер.
Ошибка 200 Qiwi
Самая распространенная проблема, возникающая при совершении оплаты через систему Киви. К счастью, она довольно легко устраняется, но не силами пользователя. Не следует пытаться повторить транзакцию. Это результат технических неполадок.
Попробуйте подождать несколько часов. Потом снова войдите в учетную запись и попытайтесь повторить перевод. Если спустя 24 часа, она не исчезает, придется обратиться в техподдержку.
Ошибка входа
Существует несколько причин, по которым она возникает:
- Неправильно введенные пароль или логин. Следует перепроверить вводимые данные.
- Неполадки со стороны Киви. Необходимо подождать некоторое время и перезайти.
- Сменить пароль, что нередко приводит к восстановлению доступа, если проблема была с аккаунтом.
Когда вышеперечисленные действия не помогают, остается единственный выход — писать в техническую поддержку, где точно скажут, почему вы не можете войти в учетную запись.
Отказ в привязке Qiwi Visa Card
Ошибка возникает при попытке воспользоваться виртуальной картой для оплаты сторонних сервисов, к примеру, игрового аккаунта или интернет-магазина. Это не проблема электронной денежной системы Киви, а существующего правила по привязке карт.
Каждый такой сервис в обязательном порядке проводит проверку платежного инструмента посредством блокировки небольшой суммы. Это делается для того, чтобы убедиться в существовании такого пластика. Спустя небольшой промежуток времени блок снимается. Если на счету нет денег, выдается ошибка. Проблема устраняется банальным пополнением пластика.
Недостаток средств
Некоторые пользователи не обращают внимания на наличие комиссии. Выводя денежные средства с кошелька Киви на банковскую карту, вы должны помнить, что за операцию полагается оплата комиссии 50 рублей и еще 2% от выводимой суммы. Требуется либо пополнить кошелек, либо уменьшить транзакцию, то есть снизить выводимую сумму.
Ошибка привязки карты к кошельку Qiwi
Проблема аналогична описанной, когда на карточке нет денежных средств. Не нужно иметь на пластике большую сумму. Достаточно 30 рублей. Поэтому, привязывая платежный инструмент, убедитесь, что они там есть. Когда система убедится в существовании карточки, блокировка с этой суммы снимется. Ничего списано не будет.
Ошибка авторизации
С такой технической проблемой пользователи сталкиваются тогда, когда пытаются пополнить счет. Она случается при неправильно введенных данных. Необходимо перепроверить цифры. Также помогает очистка cookies.
Некорректно введенный идентификатор счета
С такой ситуацией сталкиваются многие пользователи, когда переходят на использование нового дизайна. Чтобы исправить проблему, можно воспользоваться одним из следующих способов:
- Вернуться на старую версию дизайна. Его активация осуществляется посредством специальной кнопки, расположенной справа.
- Почистить cookies, кэш, историю браузера.
- Воспользоваться другим браузером.
Хранящаяся информация о платежных данных нередко конфликтует между собой. Это один из недостатков системы Киви, который может исправить только сама компания.
Обращение в техническую службу поддержки
К сожалению, самостоятельно решить проблемы удается не всегда. Столкнувшись с ошибкой, которую не получается устранить своими силами, необходимо связаться с техподдержкой одним из нижеперечисленных способов:
- Звонок по номеру 8-800-707-77-59. Приготовьтесь назвать оператору все необходимые данные. Специалист должен удостовериться, что разговаривает именно с владельцем аккаунта, а не третьим лицом. Таким образом можно решить некоторые несерьезные проблемы, поскольку полномочия операторов ограничены.
- Через обращение в электронной форме. Необходимо пройти авторизацию (войти в свой личный кабинет), выбрать раздел помощь, категорию и подкатегорию вопроса, заполнить форму, описав проблему, и нажать «отправить».
- Посредством чата в Telegram. Представляет своего рода аналог службы поддержки. Сначала нужно будет «пообщаться» с ботом, а потом уже произойдет переключение на оператора. Официальный Телеграм Киви — @qiwi_sup_bot. Обращаться нужно только сюда. Другие адреса могут принадлежать мошенникам, поэтому нужно соблюдать осторожность.
Если перечисленные способы по каким-либо причинам не подходят, можно написать прямо на электронную почту — tp@qiwi.com.
Последнее обновление: 23-11-2022
Общие сведения
API предназначен для проведения идентификации физических лиц. Подробности см. на explain.qiwi.com.
Используемые в тексте термины описаны в этой статье.
Доступ к API
Для успешного вызова методов API необходимы:
- Корректные заголовки
Accept
иContent-Type
. API поддерживает только один MIME-тип:application/json
. Любое другое значение приведет к ошибке формата данных. - URL, составленный согласно требованиям к нужному запросу.
- Bearer-токен, выданный вам для доступа к API.
Авторизация
Авторизация должна передаваться во всех запросах в заголовке Authorization
:
Authorization: Bearer {token}
Для получения токенов обращайтесь к своему контактному менеджеру.
Шифрование запросов с персональными данными
Для запросов, в которых передаются персональные данные, нужно использовать HTTPS-протокол со специально настроенным шифрованием в соответствии с ГОСТ Р 34.10-2012 и 34.11-2012. Такие запросы нужно отправлять на соответствующие URL-адреса.
Формирование URL запроса
URL-адрес любого запроса к API складывается из двух компонент: server URL
и путь конкретного запроса.
Значения server URL
перечислены далее. Эндпоинты запросов указаны в их описании.
Запросы, в которых передаются персональные данные
К ним относятся запросы разделов Упрощенная онлайн-идентификация и Получение персональных данных клиента.
Адреса server URL
:
-
В тестовой среде:
https://api-gost-test.qiwi.com/partner/openapi-identification
-
В производственной среде:
https://api-gost.qiwi.com/partner/openapi-identification
Запросы, в которых не передаются персональные данные
Адреса server URL
:
-
В тестовой среде:
https://api-test.qiwi.com/partner/openapi-identification
-
В производственной среде:
https://api.qiwi.com/partner/openapi-identification
Упрощенная онлайн-идентификация
Процесс упрощённой идентификации описан на explain.qiwi.com.
Создание заявки
Запрос → POST
-
URL /v1/products/{productId}/persons/{personId}/simplified-identification/applications
- productId — ID продукта
- personId — ID клиента
Атрибуты тела запроса
Создание заявки (тело запроса)
{
"firstName" : "Имя",
"lastName" : "Фамилия",
"middleName" : "Отчество",
"birthDate" : "11.01.1996",
"citizenshipCountryId" : "RU",
"contacts" : {
"mobilePhoneNumber" : "+79271234567",
"email" : "email@email.com"
},
"identifyingDocument" : {
"type" : "RUSSIAN_INNER_PASSPORT",
"series" : "9208",
"number" : "556900"
},
"secondaryDocuments" : [ {
"type" : "INN",
"number" : "33701000015"
} ],
"clientDeviceFingerprint" : {
"IPv4" : "10.12.11.290"
}
}
Имя | Тип | Описание |
---|---|---|
birthDate | String | Дата рождения. Формат: ДД.ММ.ГГГГ . Допустимый диапазон: от 14 до 100 лет включительно |
citizenshipCountryId | String | Гражданство. Всегда значение RU |
clientDeviceFingerprint | object | Сведения о клиентском устройстве, с которого поступил запрос |
clientDeviceFingerprint.IPv4 | String | IP-адрес клиентского устройства, с которого поступил запрос |
contacts | object | Контактные данные клиента |
contacts.email | String | |
contacts.mobilePhoneNumber | String | Номер мобильного телефона в международном формате |
firstName | String | Имя. Минимум две буквы, допустимо использование тире |
lastName | String | Фамилия. Минимум две буквы, допустимо использование тире |
middleName | String | Отчество. Минимум две буквы, допустимо использование тире |
identifyingDocument | object | Сведения о документе, удостоверяющем личность |
identifyingDocument.type | String | Тип документа. Всегда значение RUSSIAN_INNER_PASSPORT |
identifyingDocument.number | String | Номер документа. Формат: 6 цифр |
identifyingDocument.series | String | Серия документа. Формат: 4 цифры |
secondaryDocuments | array | Дополнительные документы. В массиве можно передавать объекты ИНН или СНИЛС |
Атрибуты ответа
Ответ на создание заявки
{
"firstName" : "Имя",
"lastName" : "Фамилия",
"middleName" : "Отчество",
"birthDate" : "11.01.1996",
"citizenshipCountryId" : "RU",
"contacts" : {
"mobilePhoneNumber" : "+79271234567",
"email" : "email@email.com"
},
"identifyingDocument" : {
"type" : "RUSSIAN_INNER_PASSPORT",
"series" : "9208",
"number" : "556900"
},
"secondaryDocuments": [
{
"type" : "INN",
"number" : "500100732259"
}
],
"id" : "1234ABCD4321",
"creationDateTime" : "2019-01-11T17:16:05.743+03:00",
"applicationStatus" : "IN_PROGRESS",
"identificationLevel" : "NOT_VERIFIED",
"productId" : "111222",
"personId" : "1"
}
Имя | Тип | Описание |
---|---|---|
applicationStatus | String | Статус (состояние) заявки. Возможные значения |
birthDate | String | Дата рождения. Формат см. в описании запроса |
citizenshipCountryId | String | Гражданство. ID из справочника стран |
contacts | object | Контактные данные клиента |
contacts.email | String | |
contacts.mobilePhoneNumber | String | Номер мобильного телефона |
creationDateTime | String | Дата создания заявки |
firstName | String | Имя |
lastName | String | Фамилия |
middleName | String | Отчество |
id | String | ID заявки |
identificationLevel | String | Текущий уровень идентификации. Возможные значения |
identificationLevelReasonCode | String | Код причины полученного уровня идентификации |
identifyingDocument | object | Сведения о документе, удостоверяющем личность |
identifyingDocument.number | String | Номер документа |
identifyingDocument.series | String | Серия документа |
identifyingDocument.type | String | Тип документа |
personId | String | ID клиента |
productId | String | ID продукта |
secondaryDocuments | array | Массив дополнительных документов |
Получение статуса заявки
Запрос → GET
-
URL /v1/products/{productId}/persons/{personId}/simplified-identification/applications/{applicationId}
- productId — ID продукта
- personId — ID клиента
- applicationId — ID заявки
Структура тела ответа идентична структуре ответа на запрос «Создание заявки».
Получение статуса всех заявок
Запрос → GET
-
URL /v1/products/{productId}/persons/{personId}/simplified-identification/applications
- productId — ID продукта
- personId — ID клиента
Тело ответа — json-массив объектов-заявок. Структура каждого объекта-заявки идентична структуре ответа на запрос «Создание заявки».
Полная идентификация
Процесс полной идентификации описан на explain.qiwi.com.
Поиск заявок на идентификацию
Запрос → GET
-
URL /v1/full-identification/applications/search?parameter=value
- productId — ID продукта
- flowType — тип заявки (всегда
AGENT_FILLED_ONLY_FULL_IDENTIFICATION
) - mobilePhoneNumber — номер мобильного телефона в международном формате
- applicationStatus — статус (состояние) заявки, необязательный параметр
Атрибуты объекта-заявки
Запрос поиска
GET /v1/full-identification/applications/search?
productId=agent-ident&flowType=AGENT_FILLED_ONLY_FULL_IDENTIFICATION&mobilePhoneNumber=%2B79071234567 HTTP/1.1
Accept: application/json
Authorization: Bearer YUu2qw048gtdsvlk3iu
Host: <server URL>
В ответе возвращается json-массив объектов-заявок.
Объект-заявка
{
"id" : "A171EB8417CE11E99124DD04D7207C6E",
"creationDateTime" : "2019-01-13T11:29:44.943+03:00",
"applicationStatus" : "AWAITING_PASSPORT_CONFIRMATION",
"identificationLevel" : "NOT_VERIFIED",
"maximumPossibleIdentificationLevel" : "FULL",
"productId" : "111222",
"identificationDataSource" : {
"identificationAgentName" : "Евросеть",
"identificationEndpoint" : {
"fullAddress" : "г. Москва, ул. Гранатная, 1, оф. 2"
}
},
"firstName" : "И***",
"lastName" : "Ф***",
"middleName" : "О***",
"citizenshipCountryId" : "RU",
"contacts" : {
"mobilePhoneNumber" : "+79271234567",
"email" : null
}
}
Имя | Тип | Описание |
---|---|---|
applicationStatus | String | Статус (состояние) заявки. Возможные значения |
citizenshipCountryId | String | Гражданство. ID из справочника стран |
contacts | object | Контактные данные клиента |
contacts.email | String | |
contacts.mobilePhoneNumber | String | Номер мобильного телефона в международном формате |
creationDateTime | String | Дата создания заявки |
id | String | ID заявки |
identificationLevel | String | Текущий уровень идентификации. Возможные значения |
firstName | String | Имя |
lastName | String | Фамилия |
middleName | String | Отчество |
maximumPossibleIdentificationLevel | String | Максимально допустимый уровень идентификации. Возможные значения |
personId | String | ID клиента |
productId | String | ID продукта |
identificationDataSource | object | Источник идентификационных данных |
identificationDataSource. identificationAgentName |
String | Название агента идентификации |
identificationDataSource. identificationEndpoint |
object | Точка идентификации |
identificationDataSource. identificationEndpoint.fullAddress |
String | Адрес точки идентификации, в которой клиент оставил заявку |
Создание сессии подтверждения SIM-карты
Запрос инициирует отправку SMS-сообщения с OTP (One Time Password, одноразовый пароль) клиенту на указанный номер телефона.
Запрос → PUT
-
URL /v1/products/{productId}/full-identification/applications/{applicationId}/sim-confirmation/{confirmationSessionId}
- productId — ID продукта
- applicationId — ID заявки
- confirmationSessionId — клиентский ID подтверждения
Атрибуты тела запроса
Тело запроса
{
"personId" : "1",
"mobilePhoneNumber" : "+79271234567",
"clientDeviceFingerprint" : {
"IPv4" : "10.12.11.290"
}
}
Имя | Тип | Описание |
---|---|---|
clientDeviceFingerprint | object | Сведения о клиентском устройстве, с которого поступил запрос |
clientDeviceFingerprint.IPv4 | String | IP-адрес клиентского устройства, с которого поступил запрос |
mobilePhoneNumber | String | Номер мобильного телефона в международном формате |
personId | String | ID клиента |
Атрибуты ответа
Тело ответа
{
"resendDelay" : "PT3M",
"resendAttemptsLeft" : 3
}
Имя | Тип | Описание |
---|---|---|
resendAttemptsLeft | integer | Количество оставшихся попыток повторного запроса OTP |
resendDelay | String | Интервал времени, через который можно повторно запросить OTP |
Повторная отправка SMS-сообщения с OTP
Запрос → POST
-
URL /v1/products/{productId}/full-identification/applications/{applicationId}/sim-confirmation/{confirmationSessionId}/resend-otp
- productId — ID продукта
- applicationId — ID заявки
- confirmationSessionId — клиентский ID подтверждения
Атрибуты тела запроса
Тело запроса повторной высылки SMS
{
"personId" : "1",
"clientDeviceFingerprint" : {
"IPv4" : "10.12.11.290"
}
}
Имя | Тип | Описание |
---|---|---|
clientDeviceFingerprint | object | Сведения о клиентском устройстве, с которого поступил запрос |
clientDeviceFingerprint.IPv4 | String | IP-адрес клиентского устройства, с которого поступил запрос |
personId | String | ID клиента |
Атрибуты ответа
Тело ответа
{
"resendDelay" : "PT3M",
"resendAttemptsLeft" : 3
}
Имя | Тип | Описание |
---|---|---|
resendAttemptsLeft | integer | Количество оставшихся попыток повторного запроса OTP |
resendDelay | String | Интервал времени, через который можно повторно запросить OTP |
Подтверждение SIM-карты с OTP
Запрос → PUT
-
URL /v1/products/{productId}/full-identification/applications/{applicationId}/sim-confirmation/{confirmationSessionId}/confirm-otp
- productId — ID продукта
- applicationId — ID заявки
- confirmationSessionId — клиентский ID подтверждения
Атрибуты тела запроса
Тело запроса подтверждения SIM-карты
{
"personId" : "1",
"confirmationCode" : "233210",
"clientDeviceFingerprint" : {
"IPv4" : "10.12.11.290"
}
}
Имя | Тип | Описание |
---|---|---|
clientDeviceFingerprint | object | Сведения о клиентском устройстве, с которого поступил запрос |
clientDeviceFingerprint.IPv4 | String | IP-адрес клиентского устройства, с которого поступил запрос |
confirmationCode | String | OTP (One Time Password, одноразовый пароль) |
personId | String | ID клиента |
Атрибуты ответа
Тело ответа
{
"applicationStatus" : "AWAITING_PASSPORT_CONFIRMATION"
}
Имя | Тип | Описание |
---|---|---|
applicationStatus | String | Статус (состояние) заявки. Возможные значения |
Подтверждение заявки по 4 знакам документа
Запрос → PUT
-
URL /v1/products/{productId}/full-identification/applications/{applicationId}/passport-confirmation
- productId — ID продукта
- applicationId — ID заявки
Атрибуты тела запроса
Тело запроса подтверждения заявки
{
"personId" : "1",
"passportNumberLast4Characters" : "4300",
"clientDeviceFingerprint" : {
"IPv4" : "10.12.11.290"
}
}
Имя | Тип | Описание |
---|---|---|
clientDeviceFingerprint | object | Сведения о клиентском устройстве, с которого поступил запрос |
clientDeviceFingerprint.IPv4 | String | IP-адрес клиентского устройства, с которого поступил запрос |
passportNumberLast4Characters | String | Последние 4 знака номера документа, удостоверяющего личность |
personId | String | ID клиента |
Атрибуты ответа
Тело ответа
{
"applicationStatus" : "IN_PROGRESS"
}
Имя | Тип | Описание |
---|---|---|
applicationStatus | String | Статус (состояние) заявки. Возможные значения |
Получение персональных данных клиента
По умолчанию персональные данные будут маскированными. Если по какой-то причине вам нужны немаскированные данные, обращайтесь к вашему контактному менеджеру.
Запрос → GET
-
URL /v1/products/{productId}/persons/{personId}/personal-data
- productId — ID продукта
- personId — ID клиента
Ответ
[
{
"productId": "1",
"personId": "8",
"productIdentificationLevel": "SIMPLIFIED",
"bankAlias": "QIWI_BANK",
"firstName": "и***",
"lastName": "и***",
"middleName": "и***",
"citizenshipCountryId": "RU",
"contacts": {
"mobilePhoneNumber": "+7***",
"email": null
},
"identifyingDocument": {
"type": "RUSSIAN_INNER_PASSPORT",
"series": "3***",
"number": "1***"
}
}
]
JSON-массив объектов с персональными данными.
Атрибуты объекта:
Имя | Тип | Описание |
---|---|---|
productId | String | ID продукта |
personId | String | ID клиента |
productIdentificationLevel | String | Текущий уровень идентификации у партнера. Возможные значения |
productIdentificationLevelReason | String | Код причины полученного уровня идентификации |
bankAlias | String | Акроним системы, в которой клиент получил идентификацию |
firstName | String | Имя |
lastName | String | Фамилия |
middleName | String | Отчество |
birthDate | String | Дата рождения клиента (в формате ГГГГ-ММ-ДД ) |
birthPlace | String | Место рождения клиента |
contacts | object | Контактные данные клиента |
contacts.email | String | |
contacts.mobilePhoneNumber | String | Номер мобильного телефона в международном формате |
citizenshipCountryId | String | Гражданство. ID из справочника стран |
identifyingDocument | object | Информация о документе, удостоверяющем личность |
identifyingDocument.number | String | Номер документа. Формат: 6 цифр |
identifyingDocument.series | String | Серия документа. Только для граждан РФ. Формат: 4 цифры |
identifyingDocument.issueDate | String | Дата выдачи документа (в формате ДД.ММ.ГГГГ ) |
identifyingDocument.issuingAuthorityCode | String | Код подразделения, выдавшего документ |
identifyingDocument.issuingAuthorityName | String | Название подразделения, выдавшего документ |
identifyingDocument.expiryDate | String | Срок действия документа (в формате ДД.ММ.ГГГГ ) |
identifyingDocument.type | String | Тип документа. Возможные значения |
identifyingDocument. otherDocumentTypeName |
String | Название документа, если выбран тип документа OTHER |
isPassportExpired | Bool | Признак просроченного паспорта (если true ) |
isClientActive | Bool | Признак активности клиента: true — клиент активен; false — клиент неактивен |
registrationType | String | Тип регистрации: PERMANENT — постоянная, TEMPORARY — временная |
registrationAddress | object | Сведения об адресе регистрации |
registrationAddress.countryId | String | ID из справочника стран |
registrationAddress.zipCode | String | Почтовый индекс |
registrationAddress.okatoRegionCode | String | Код субъекта РФ по ОКАТО. Значение из справочника регионов |
registrationAddress.district | String | Район |
registrationAddress.cityType | String | Тип населенного пункта |
registrationAddress.city | String | Наименование населенного пункта |
registrationAddress.street | String | Улица |
registrationAddress.house | String | Номер дома (владения) |
registrationAddress.building | String | Номер корпуса (строения) |
registrationAddress.flat | String | Номер квартиры (офиса) |
livingAddressIsIdenticalToRegistrationAddress | Bool | Признак того, что адрес проживания совпадает с адресом регистрации |
livingAddress | object | Сведения об адресе фактического проживания. Структура объекта совпадает с registrationAddress |
secondaryDocuments | array | Массив дополнительных документов |
hasInterestOwner | Bool | Признак выгодоприобретателя |
hasBeneficialOwner | Bool | Признак того, что лицо является бенефициарным владельцем |
publicOfficial | Bool | Признак публичного должностного лица |
publicOfficialType | String | Тип публичного должностного лица: RUSSIAN — российское, FOREIGN — иностранное, INTERNATIONAL — международное |
publicOfficialPost | String | Занимаемая должность публичного должностного лица |
financialPosition | String | Сведения о финансовом положении: GOOD — хорошее, SUFFICIENT — удовлетворительное, BAD — плохое |
businessReputation | String | Сведения о деловой репутации: GOOD — положительная, BAD — негативная |
fundingSources | String | Сведения об источниках происхождения денежных средств и (или) иного имущества клиента: OWN_FUNDS — собственные средства, BORROWED_FUNDS — заемные средства, OTHER — иное |
Деактивация клиента
Деактивация клиента переводит активного клиента из статуса «Активный» в «Неактивный». Физического удаления записи не происходит.
Запрос → POST
-
URL /v1/products/{productId}/persons/{personId}/deactivate
- productId — ID продукта
- personId — ID клиента
Атрибуты тела запроса
Тело запроса
{
"deactivationDateTime": "2018-09-24T10:00:00+03:00",
"deactivationReason": "Здесь причина деактивации клиента"
}
Имя | Тип | Описание |
---|---|---|
deactivationDateTime | String | Дата/время деактивации клиента (по стандарту ISO 8601) |
deactivationReason | String | Причина деактивации клиента |
Тело ответа отсутствует.
В случае успешного выполнения возвращается код ответа сервера 204
. При повторной деактивации уже неактивного клиента возвращается код ответа сервера 400
.
Дополнительные документы
ИНН
Атрибуты
ИНН
{
"type" : "INN",
"number" : "500100732259"
}
Имя | Тип | Описание |
---|---|---|
number | String | ИНН |
type | String | Тип документа. Передавать значение INN |
СНИЛС
Атрибуты
СНИЛС
{
"type" : "SNILS",
"number" : "112-233-445 95"
}
Имя | Тип | Описание |
---|---|---|
number | String | СНИЛС |
type | String | Тип документа. Передавать значение SNILS |
Разрешение на проживание
Атрибуты
Разрешение на проживание
{
"type" : "RESIDENCE_PERMIT",
"residencePermitType" : "VISA",
"number" : "N4321",
"dateFrom" : "11.09.2015",
"dateTo" : "11.09.2021",
"issuingAuthorityName" : "МИД РФ"
}
Имя | Тип | Описание |
---|---|---|
dateFrom | String | Дата выдачи |
dateTo | String | Дата окончания действия документа |
issuingAuthorityName | String | Орган, выдавший документ, подтверждающий право на пребывание в РФ |
number | String | Номер документа |
residencePermitType | String | Вид разрешения на пребывание. Значения: VISA , PERMANENT_RESIDENCE_PERMIT , TEMPORARY_RESIDENCE_PERMIT |
type | String | Тип документа. Передавать значение RESIDENCE_PERMIT |
Миграционная карта
Атрибуты
Миграционная карта
{
"type" : "MIGRATION_CARD",
"serial" : "4321",
"number" : "43211234",
"dateFrom" : "11.09.2015",
"dateTo" : "11.09.2021"
}
Имя | Тип | Описание |
---|---|---|
dateFrom | String | Дата начала срока пребывания |
dateTo | String | Дата окончания срока пребывания |
number | String | Номер |
serial | String | Серия |
type | String | Тип документа. Передавать значение MIGRATION_CARD |
Патент на работу
Атрибуты
Патент на работу
{
"type" : "WORKING_PATENT",
"series" : "77",
"number" : "8843211234",
"issuingAuthorityName" : "ФМС",
"issueDate" : "11.09.2015",
"documentSeries" : "РА",
"documentNumber" : "4000123"
}
Имя | Тип | Описание |
---|---|---|
documentNumber | String | Номер бланка документа |
documentSeries | String | Серия бланка документа |
issueDate | String | Дата выдачи |
issuingAuthorityName | String | Орган, выдавший патент |
number | String | Номер |
series | String | Серия |
type | String | Тип документа. Передавать значение WORKING_PATENT |
Справочники
Справочник стран (гражданств)
Запрос → GET
-
URL /dictionary/v1/countries
Справочник стран (фрагмент)
[
{
"id": "AF",
"name": "АФГАНИСТАН"
},
{
"id": "AL",
"name": "АЛБАНИЯ"
}
]
В ответе приходит json-массив со списком стран.
Имя | Тип | Описание |
---|---|---|
id | String | ID страны |
name | String | Название страны |
Справочник регионов России
Запрос → GET
-
URL /dictionary/v1/russian-regions
В ответе приходит json-массив со списком регионов РФ.
Справочник регионов России (фрагмент)
[
{
"okatoRegionCode": "79",
"name": "Республика Адыгея"
},
{
"okatoRegionCode": "84",
"name": "Республика Алтай"
}
]
Имя | Тип | Описание |
---|---|---|
name | String | Название региона |
okatoRegionCode | String | Код субъекта РФ по ОКАТО |
HTTP-статусы и формат ответов
Код | Описание | Тело ответа |
---|---|---|
200 | OK (запрос успешно выполнен) | Тело успешного ответа |
201 | Created (запрос успешно выполнен, ресурс создан) | Тело успешного ответа |
204 | No Content (запрос успешно выполнен) | Тело ответа отсутствует |
400 | Bad Request (некорректный запрос) | Стандартный json ошибки |
401 | Unauthorized (в запросе отсутствует корректная авторизация) | Пустое тело, либо стандартный json ошибки |
403 | Forbidden (операция запрещена) | Стандартный json ошибки |
404 | Not Found (ресурс не найден) | Пустое тело, либо стандартный json ошибки |
422 | Unprocessable Entity (ошибка валидации запроса) | Стандартный json ошибки |
423 | Locked (временно заблокирован) | Стандартный json ошибки |
500 | Internal Server Error (внутренняя ошибка сервера) | Пустое тело, либо стандартный json ошибки |
Атрибуты описания ошибки
Стандартный json ошибки
{
"serviceName": "openapi-identification",
"errorCode": "internal.error",
"description": "Undefined error. Please try to make operation later.",
"userMessage": "Undefined error. Please try to make operation later.",
"dateTime": "2018-09-03T18:41:27.016+03:00",
"traceId": "4a3c694ca580a5e0"
}
Имя | Тип | Описание |
---|---|---|
serviceName | String | Название сервиса, возвратившего ошибку |
errorCode | String | Код ошибки (см. далее) |
description | String | Описание ошибки |
userMessage | String | Пользовательское описание ошибки |
dateTime | String | Дата и время формирование ответа |
traceId | String | Параметр, необходимый для анализа логов. Его значение также всегда присутствует в заголовке ответа X-B3-TraceId |
При возвращении ошибки валидации запроса в JSON-объекте может присутствовать объект cause
. В объекте дополнительно описывается, какие ошибки и для каких полей были допущены.
Ошибка с полем cause
{
"serviceName": "openapi-identification",
"errorCode": "validation.error",
"description": "Данные некорректны",
"userMessage": "Данные некорректны",
"dateTime": "2018-09-05T13:55:57.897+03:00",
"traceId": "c8d2b66274672789",
"cause": {
"birthDate": [
"may not be null"
]
}
}
Возможные коды ошибок (атрибут errorCode
):
Код | Описание |
---|---|
internal.error | Внутренняя ошибка сервиса |
http.message.conversion.failed | Ошибка десериализации сообщения |
validation.error | Ошибка валидации (некорректное тело запроса) |
forbidden.operation | Операция запрещена |
data.not.found | Данные не найдены |
inapplicable.operation | Операция не применима для сущности в ее текущем состоянии |
secondary.document.invalid | Некорректный второй документ |
application.in.progress.already.exists | В данный момент есть незавершенная заявка, которая находится в обработке, или ожидании получения всех данных |
invalid.confirmation.factor.value | Неверное значение фактора подтверждения |
passport.confirmation.attempts.exceeded | Превышено количество попыток подтверждения паспорта |
sim.confirmation.attempts.exceeded | Превышено количество попыток подтверждения sim-карты |
confirmation.session.expired | Время жизни сессии подтверждения истекло |
incorrect.confirmation.code.error | Неверный OTP (One Time Password, одноразовый пароль) |
confirmation.attempts.limit.exceeded.error | Попытки подтверждения исчерпаны |
operation.inapplicable | Операция не применима |
incorrect.request.parameter | Неверный параметр запроса |
invalid.confirmation.data | Неверные данные подтверждения |
Значения перечислимых атрибутов
Статусы заявки
Статус | Описание |
---|---|
PROCESSING_FINISHED | Обработка завершена |
IN_PROGRESS | В процессе обработки |
AWAITING_PRODUCT_CHECKS | Ожидается завершение проверок |
AWAITING_SIM_CONFIRMATION | Ожидается подтверждение сим-карты |
AWAITING_PASSPORT_CONFIRMATION | Ожидается подтверждение идентификации |
AWAITING_AGENT_VERIFICATION | Ожидается верификация заявки у агента (для заявок на сайте) |
Типы документов, удостоверяющих личность
Тип | Описание |
---|---|
RUSSIAN_INNER_PASSPORT | Внутренний паспорт РФ |
FOREIGN_COUNTRY_IDENTIFYING_DOCUMENT | Документ, удостоверяющий личность иностранного гражданина, выданный его государством |
TEMPORARY_RESIDENCE_PERMIT | Разрешение на временное проживание |
PERMANENT_RESIDENCE_PERMIT | Вид на жительство |
REFUGEE_CERTIFICATE | Удостоверение беженца |
OTHER | Иной документ |
Код причины полученного уровня идентификации
Список значений полей identificationLevelReasonCode
, productIdentificationLevelReason
.
Код | Описание |
---|---|
smev.personal.data.not.found | Данные клиента не найдены в СМЭВ |
smev.personal.data.invalid | Данные клиента не прошли проверку в СМЭВ |
simplified.secondary.documents.constraints.validation.failed | Упрощенная идентификация: невалидный второй документ |
simplified.secondary.documents.missing | Упрощенная идентификация: отсутствует второй документ |
general.constraints.validation.failed | Ошибка валидации |
person.is.unreliable | Переданные персональные данные обнаружены в списках ограничений |
passport.expired | Паспорт просрочен |
full.identification.exists | У клиента уже есть полная идентификация |
one.passport.accounts.limit.exceeded | Превышено ограничение на максимальное количество аккаунтов на один паспорт |
person.account.is.deactivated | Аккаунт клиента уже закрыт |
personal.data.not.accepted | Клиенту нельзя предоставить идентификацию согласно текущим правилам |
identification.application.is.expired | Срок жизни незаполненной заявки истек |
passport.confirmation.attempts.exceeded | Превышено количество попыток подтверждения паспорта |
sim.confirmation.attempts.exceeded | Превышено количество попыток подтверждения sim-карты |
personal.data.and.level.cannot.be.updated.by.submitted.application | Заявка нарушает правила обновления существующего клиента при повышении уровня или повторном прохождении идентификации |
Уровень идентификации
Список значений полей identificationLevel
, productIdentificationLevel
.
Уровень | Описание |
---|---|
SIMPLIFIED | Упрощенная |
FULL | Полная |
NOT_VERIFIED | Не идентифицирован |