15
ответов
Апи ключ неправильно передаешь
офигеть у них ошибки.
для р2р нужен public key с p2p.qiwi.com ? Скопировал только что его оттуда..
этот же нужен?
насколько знаю, апи ключи подлиннее будут)
там кнопка скопировать.
tgbot — название
tgbot — название. ключ большой
Потому что это ПУБЛИЧНЫЙ ключ. А нужен апи ключ) который секретный наверно
Я метод не тот использовал. Сейчас переписал все по примеру и он дает ссылку, но на страничке оплаты говорит, что данных мало передал для выставления счета
Похожие вопросы
Ошибка при оплате
у меня ошибку выдает при оплате Ошибка обращения к QIWI Kassa
HTTP/1.1 401 Unauthorized Что за хрень и как решать? Купил у вас плагин
Coderun@coderun
218 Сообщений
Разработчик
Добрый день!
На каком этапе, где возникает ошибка? Пришлите пожалуйста скриншот ошибки?
Роман@rzsolt
5 СообщенийАвтор темы
Посетитель
Когда выбрал оплату КИВИ и нажимаешь оформить заказ он выдает ошибку https://ibb.co/4TJz7c4
Coderun@coderun
218 Сообщений
Разработчик
Возможно ещё увидеть скрин настроек плагина?
Роман@rzsolt
5 СообщенийАвтор темы
Посетитель
Coderun@coderun
218 Сообщений
Разработчик
Попробуйте выполнить следующие рекомендации:
- Деактивируйте прочие плагины оплаты Qiwi
- Выпустите новые ключи в кабинете Qiwi (для справки можно взять статью https://coderun.ru/blog/kak-prinimat-platezhi-na-qiwi-kosheljok-iz-magazina-woocommerce/)
Роман@rzsolt
5 СообщенийАвтор темы
Посетитель
Coderun@coderun
218 Сообщений
Разработчик
Данная ошибка возникает из за того что не верно заполнено поле «Секретный ключ API» (Не тот ключ, пробелы, переносы строки)
Для выпуска нового ключа вам необходимо перейти в Qiwi кабинет https://qiwi.com/p2p-admin/transfers/api и нажать кнопку «Создание пары ключей авторизации»
Обязательно установите галочку «Использовать эту пару ключей для серверных оповещений» и укажите «адрес уведомлений от банка»
После этого вам будет доступно два ключа, для плагина необходимо использовать «Секретный ключ», — «Публичный ключ» в этом случае не подоходит для настройки плагина!
Секретный ключ можно получить только при создании новых значений авторизации, дальше будет доступен только публичный в интерфейсе Qiwi
Роман@rzsolt
5 СообщенийАвтор темы
Посетитель
Благодарствую. Оказывается надо было выделять ключ не двойным кликом, а через «Скопировать в буфер», не знал что будет такой глупый нюанс, ведь пробелов и в том и в другом случае небыло.
Coderun@coderun
218 Сообщений
Разработчик
Если появяться вопросы, обращайтесь!
1@1-7997
1 Сообщение
Посетитель
Добрый день! Не получается оплатить плагин через шлюз qiwi, выдает ошибку. Пытаюсь оплатить с Казахстана
P.s картинка не вкладывается в сообщение
Coderun@coderun
218 Сообщений
Разработчик
Цитата: 1 от 11.08.2022, 20:10
Добрый день! Не получается оплатить плагин через шлюз qiwi, выдает ошибку. Пытаюсь оплатить с Казахстана
P.s картинка не вкладывается в сообщение
К сожалению такое возможно, транзакции как правило блокируются отправляющей стороной.
Иван@rotor7400
1 Сообщение
Посетитель
Здравствуйте, последний месяц при оплате с карты сбербанк сначала выдает ошибку, при повторной оплате блокирует карту у клиента!
Coderun@coderun
218 Сообщений
Разработчик
Добрый день!
Это может быть связанно с тем что банк борется с подозрительными транзакциями, лучше это выяснить у банка держателя карты.
Статусы и типы операций, коды ошибок {#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 | Платеж. В уведомлении может присутствовать поле flags: [ "SALE" ] (обычный платеж) или flags: [ "AUTH" ] (платеж с холдированием средств). |
CAPTURE | Операция подтверждения. |
REFUND | Операция возврата. В уведомлении может присутствовать поле flags: [ "REVERSAL" ] . Это значит, что финансовой операции (списания средств со счета покупателя) не было, комиссия по операции удержана не будет. |
PAYOUT | Операция выплаты. В уведомлении может присутствовать поле flags: [ "TEST" ] . Это значит, что операция тестовая. |
Статусы операций {#operation-statuses}
Статус операции отражает ее текущее состояние.
Ответы API {#api-statuses}
API возвращает синхронный статус операции в поле status.value
.
В таблице перечислены возможные статусы и типы операций, в которых эти статусы используются.
Тип операции | Статус операции | Описание статуса |
---|---|---|
PAYMENT | WAITING | Ожидание 3DS авторизации |
PAYMENT | DECLINED | Запрос авторизации отклонен (в синхронном ответе) |
PAYMENT | DECLINE | Запрос авторизации отклонен (в асинхронном ответе) |
PAYMENT | COMPLETED | Запрос авторизации успешно обработан |
CAPTURE | DECLINE | Запрос подтверждения отклонен |
CAPTURE | DECLINED | Запрос подтверждения отклонен (в ответе API на запрос статуса) |
CAPTURE | COMPLETED | Запрос подтверждения успешно обработан |
REFUND | DECLINE | Запрос возврата отклонен |
REFUND | COMPLETED | Запрос возврата успешно обработан |
PAYOUT | WAITING | Выплата принята в обработку |
PAYOUT | DECLINED | Выплата отклонена |
PAYOUT | COMPLETED | Выплата успешно проведена |
Для операций со счетами используется только статус CREATED.
Уведомления {#notification-statuses}
В уведомлениях статус помещается в поле {operation}.status.value
.
В таблице перечислены возможные статусы и типы операций, в которых эти статусы используются.
Тип операции | Статус операции | Описание статуса |
---|---|---|
PAYMENT | DECLINE | Запрос авторизации отклонен |
PAYMENT | SUCCESS | Запрос авторизации успешно обработан |
CAPTURE | DECLINE | Запрос подтверждения отклонен |
CAPTURE | SUCCESS | Запрос подтверждения успешно обработан |
REFUND | DECLINE | Запрос возврата отклонен |
REFUND | SUCCESS | Запрос возврата успешно обработан |
PAYOUT | WAITING | Выплата принята в обработку |
PAYOUT | DECLINED | Выплата отклонена |
PAYOUT | SUCCESS | Выплата успешно проведена |
Справочник ошибок 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 | Повторный запрос авторизации запрещен на основании правил Платежной системы |
REATTEMPT_NOT_PERMITTED_BY_PS | Операция отклонена платежной системой. Детализация ошибки содержится в поле status.psErrorCode . По данной карте повторная операция невозможна |
REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Операция отклонена платежной системой. Повторная операция возможна только при условии изменения одного из параметров исходной операции. Рекомендация по устранению ошибки содержится в поле status.psErrorCode . С теми же данными повторная операция невозможна |
REATTEMPT_NOT_PERMITTED_BY_PS_TEMPORARY | Операция отклонена платежной системой. Попытка перепроведения с теми же параметрами возможна не более одного раза в сутки, т. е. разрешено не более двух попыток с одними и теми же данными |
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 Кошельке |
TRY_AGAIN_LATER | Повторите запрос через некоторое время |
Справочник кодов детализации ошибки {#ps-error-codes}
Коды детализации ошибки и рекомендованных действий, полученные от платежной системы, возвращаются в поле status.psErrorCode
.
Код | Ошибка API, с которой возвращается | Описание |
---|---|---|
03 | REATTEMPT_NOT_PERMITTED_BY_PS | Операция в данную категорию ТСП запрещена эмитентом |
04 | REATTEMPT_NOT_PERMITTED_BY_PS | Карта заблокирована |
12 | REATTEMPT_NOT_PERMITTED_BY_PS | Операция данного типа запрещена Правилами и Стандартами платежной системой |
13 | REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Некорректная сумма. Повторите попытку совершения операции с другой суммой |
14 | REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Некорректный номер карты. Введите корректный номер карты или используйте другую карту |
15 | REATTEMPT_NOT_PERMITTED_BY_PS | Эмитента с данной картой не существует |
30 | REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Операция отклонена, обратитесь в Qiwi за дополнительной информацией |
33 | REATTEMPT_NOT_PERMITTED_BY_PS | Данная карта недоступна для использования |
41 | REATTEMPT_NOT_PERMITTED_BY_PS | Данная карта недоступна для использования |
43 | REATTEMPT_NOT_PERMITTED_BY_PS | Данная карта недоступна для использования |
51 | REATTEMPT_NOT_PERMITTED_BY_PS_TEMPORARY | Клиенту может быть рекомендовано повторить попытку совершения операции после пополнения счёта |
54 | REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Срок действия карты отсутствует или передан неверно |
57 | REATTEMPT_NOT_PERMITTED_BY_PS | Операция данного типа недоступна для карты |
58 | REATTEMPT_NOT_PERMITTED_BY_PS | Операция данного типа недоступна для эквайера |
61 | REATTEMPT_NOT_PERMITTED_BY_PS_TEMPORARY | Клиенту может быть рекомендовано повторить попытку совершения операции в другой день — после переустановки Эмитентом лимита по общей сумме операций данного типа |
62 | REATTEMPT_NOT_PERMITTED_BY_PS | Операция недоступна из-за ограничений на карте или счёте Держателя карты |
63 | REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Операция отклонена, обратитесь в Qiwi за дополнительной информацией |
65 | REATTEMPT_NOT_PERMITTED_BY_PS_TEMPORARY | Клиенту может быть рекомендовано повторить попытку совершения операции в другой день — после переустановки Эмитентом лимита по общему количеству операций данного типа |
76 | REATTEMPT_NOT_PERMITTED_BY_PS | Отклонение отмены запроса из-за отсутствия оригинального запроса |
78 | REATTEMPT_NOT_PERMITTED_BY_PS | Отклонение запроса из-за попытки использования закрытой карты |
91 | REATTEMPT_NOT_PERMITTED_BY_PS_TEMPORARY | Клиенту может быть рекомендовано повторить попытку совершения операции в другое время — после восстановления работоспособности Эмитента |
92 | REATTEMPT_NOT_PERMITTED_BY_PS | Отклонение Платежной Системой из-за невозможности проведения операции |
93 | REATTEMPT_NOT_PERMITTED_BY_PS | Отклонение запроса по причине нарушения требований законодательства |
94 | REATTEMPT_NOT_PERMITTED_BY_PS | Отклонение задублированного запроса |
96 | REATTEMPT_NOT_PERMITTED_BY_PS_TEMPORARY | Клиенту может быть рекомендовано повторить попытку совершения операции в другое время — после восстановления работоспособности Эмитента или Платформы |
CB | REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Отклонение запроса из-за некорректной даты рождения Держателя карты |
CW | REATTEMPT_NOT_PERMITTED_BY_PS_CONDITIONAL | Отклонение запроса из-за несоответствия валюты для DCC валюте Эмитента |
PB | REATTEMPT_NOT_PERMITTED_BY_PS_TEMPORARY | Клиенту может быть рекомендовано повторить попытку совершения операции в другое время — после восстановления работоспособности Эквайрера |
TS | REATTEMPT_NOT_PERMITTED_BY_PS | Отклонение запроса в связи с отменой длительного поручения Держателя карты |
QIWI
Токен от вашего кошелька
Появление сообщения об ошибке 401 Unauthorized Error («отказ в доступе») при открытии страницы сайта означает неверную авторизацию или аутентификацию пользователя на стороне сервера при обращении к определенному url-адресу. Чаще всего она возникает при ошибочном вводе имени и/или пароля посетителем ресурса при входе в свой аккаунт. Другой причиной являются неправильные настройки, допущенные при администрировании web-ресурса. Данная ошибка отображается в браузере в виде отдельной страницы с соответствующим описанием. Некоторые разработчики интернет-ресурсов, в особенности крупных порталов, вводят собственную дополнительную кодировку данного сбоя:
- 401 Unauthorized;
- Authorization Required;
- HTTP Error 401 – Ошибка авторизации.
Попробуем разобраться с наиболее распространенными причинами возникновения данной ошибки кода HTTP-соединения и обсудим способы их решения.
Причины появления ошибки сервера 401 и способы ее устранения на стороне пользователя
При доступе к некоторым сайтам (или отдельным страницам этих сайтов), посетитель должен пройти определенные этапы получения прав:
- Идентификация – получение вашей учетной записи («identity») по username/login или email.
- Аутентификация («authentic») – проверка того, что вы знаете пароль от этой учетной записи.
- Авторизация – проверка вашей роли (статуса) в системе и решение о предоставлении доступа к запрошенной странице или ресурсу на определенных условиях.
Большинство пользователей сохраняют свои данные по умолчанию в истории браузеров, что позволяет быстро идентифицироваться на наиболее часто посещаемых страницах и синхронизировать настройки между устройствами. Данный способ удобен для серфинга в интернете, но может привести к проблемам с безопасностью доступа к конфиденциальной информации. При наличии большого количества авторизованных регистрационных данных к различным сайтам используйте надежный мастер-пароль, который закрывает доступ к сохраненной в браузере информации.
Наиболее распространенной причиной появления ошибки с кодом 401 для рядового пользователя является ввод неверных данных при посещении определенного ресурса. В этом и других случаях нужно попробовать сделать следующее:
- Проверьте в адресной строке правильность написания URL. Особенно это касается перехода на подстраницы сайта, требующие авторизации. Введите правильный адрес. Если переход на страницу осуществлялся после входа в аккаунт, разлогинитесь, вернитесь на главную страницу и произведите повторный вход с правильными учетными данными.
- При осуществлении входа с сохраненными данными пользователя и появлении ошибки сервера 401 проверьте их корректность в соответствующих настройках данного браузера. Возможно, авторизационные данные были вами изменены в другом браузере. Также можно очистить кэш, удалить cookies и повторить попытку входа. При удалении истории браузера или очистке кэша потребуется ручное введение логина и пароля для получения доступа. Если вы не помните пароль, пройдите процедуру восстановления, следуя инструкциям.
- Если вы считаете, что вводите правильные регистрационные данные, но не можете получить доступ к сайту, обратитесь к администратору ресурса. В этом случае лучше всего сделать скриншот проблемной страницы.
- Иногда блокировка происходит на стороне провайдера, что тоже приводит к отказу в доступе и появлению сообщения с кодировкой 401. Для проверки можно попробовать авторизоваться на том же ресурсе с альтернативного ip-адреса (например, используя VPN). При подтверждении блокировки трафика свяжитесь с провайдером и следуйте его инструкциям.
Некоторые крупные интернет-ресурсы с большим количеством подписчиков используют дополнительные настройки для обеспечения безопасности доступа. К примеру, ваш аккаунт может быть заблокирован при многократных попытках неудачной авторизации. Слишком частые попытки законнектиться могут быть восприняты как действия бота. В этом случае вы увидите соответствующее сообщение, но можете быть просто переадресованы на страницу с кодом 401. Свяжитесь с администратором сайта и решите проблему.
Иногда простая перезагрузка проблемной страницы, выход из текущей сессии или использование другого веб-браузера полностью решают проблему с 401 ошибкой авторизации.
Устранение ошибки 401 администратором веб-ресурса
Для владельцев сайтов, столкнувшихся с появлением ошибки отказа доступа 401, решить ее порою намного сложнее, чем обычному посетителю ресурса. Есть несколько рекомендаций, которые помогут в этом:
- Обращение в службу поддержки хостинга сайта. Как и в случае возникновения проблем с провайдером, лучше всего подробно описать последовательность действий, приведших к появлению ошибки 401, приложить скриншот.
- При отсутствии проблем на стороне хостинг-провайдера можно внести следующие изменения в настройки сайта с помощью строки Disallow:/адрес проблемной страницы. Запретить индексацию страницам с ошибкой в «rоbоts.txt», после чего добавить в файл «.htассеss» строку такого типа:
Redirect 301 /oldpage.html http://site.com/newpage.html.
Где в поле /oldpage.html прописывается адрес проблемной страницы, а в http://site.com/newpage.html адрес страницы авторизации.
Таким образом вы перенаправите пользователей со всех страниц, которые выдают ошибку 401, на страницу начальной авторизации.
- Если после выполнения предыдущих рекомендаций пользователи при попытках авторизации все равно видят ошибку 401, то найдите на сервере файл «php.ini» и увеличьте время жизни сессии, изменив значения следующих параметров: «session.gc_maxlifetime» и «session.cookie_lifetime» на 1440 и 0 соответственно.
- Разработчики веб-ресурсов могут использовать более сложные методы авторизации и аутентификации доступа для создания дополнительной защиты по протоколу HTTP. Если устранить сбой простыми методами администрирования не удается, следует обратиться к специалистам, создававшим сайт, для внесения соответствующих изменений в код.
Хотя ошибка 401 и является проблемой на стороне клиента, ошибка пользователя на стороне сервера может привести к ложному требованию входа в систему. К примеру, сетевой администратор разрешит аутентификацию входа в систему всем пользователям, даже если это не требуется. В таком случае сообщение о несанкционированном доступе будет отображаться для всех, кто посещает сайт. Баг устраняется внесением соответствующих изменений в настройки.
Дополнительная информация об ошибке с кодом 401
Веб-серверы под управлением Microsoft IIS могут предоставить дополнительные данные об ошибке 401 Unauthorized в виде второго ряда цифр:
- 401, 1 – войти не удалось;
- 401, 2 – ошибка входа в систему из-за конфигурации сервера;
- 401, 3 – несанкционированный доступ из-за ACL на ресурс;
- 401, 501 – доступ запрещен: слишком много запросов с одного и того же клиентского IP; ограничение динамического IP-адреса – достигнут предел одновременных запросов и т.д.
Более подробную информацию об ошибке сервера 401 при использовании обычной проверки подлинности для подключения к веб-узлу, который размещен в службе MS IIS, смотрите здесь.
Следующие сообщения также являются ошибками на стороне клиента и относятся к 401 ошибке:
- 400 Bad Request;
- 403 Forbidden;
- 404 Not Found;
- 408 Request Timeout.
Как видим, появление ошибки авторизации 401 Unauthorized не является критичным для рядового посетителя сайта и чаще всего устраняется самыми простыми способами. В более сложной ситуации оказываются администраторы и владельцы интернет-ресурсов, но и они в 100% случаев разберутся с данным багом путем изменения настроек или корректировки html-кода с привлечением разработчика сайта.