Search code, repositories, users, issues, pull requests…
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Статья о платежной системе Qiwi. Рассмотрим только html форму и обработку запроса от сервера. Это можно использовать, например, для пополнения счета или оплату товара на сайте.
PULL (REST) протокол
Вместо старой html формы рассмотрим новый протокол, который полностью ее заменил
Сначала нужно выставить пользователю счет. Для этого отправим запрос через cURL:
$url = 'https://w.qiwi.com/api/v2/prv/'.$shopid.'/bills/'.$id; $loginPass = $apiid.':'.$pass; $lifetime = date('c', time() + 86400); $parameters = array( "user" => "tel:+".intval($mobile), "amount" => $amount, "ccy" => $currency, "comment" => $comment, "lifetime" => $lifetime, "pay_source" => "qw" ); $headers = array( "Accept: application/json", "Content-Type: application/x-www-form-urlencoded; charset=utf-8" ); $parameters = http_build_query($parameters); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, $loginPass); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters); curl_setopt($ch, CURLOPT_POST, 1); $httpResponse = curl_exec($ch); $results = json_decode($httpResponse); $result_code = $results->response->result_code; $description = $results->response->description;
$shopid — Идентификатор вашего магазина
$id — ID платежа в вашей системе. Будет использован для поиска нужного платежа в вашей БД
$apiid — Ваш API ID
$pass — Пароль API
$mobile — Телефон (аккаунт) пользователя, на который будет выставлен счет
$amount — Сумма, на которую выставляется счет
$currency — Валюта. По-умолчанию доступна только RUB (рубли РФ)
$comment — Описание платежа
$lifetime — Время, которое выставленный счет будет активен (можно оплатить). В примере — сутки.
$result_code — Код ответа сервера. Если не равен 0 — ошибка.
$description — Текст ошибки, если она есть
Счет выставили, теперь нужно отправить пользователя на оплату. Сгенерируем ссылку:
$url = 'https://w.qiwi.com/order/external/main.action?shop='.$shopid.'&transaction='.$id.'&successUrl='.$success_url.'&failUrl='.$fail_url.'&qiwi_phone='.$mobile;
$shopid — Идентификатор вашего магазина (тот-же, что и выше)
$id — ID платежа в вашей системе. Будет использован для поиска нужного платежа в вашей БД (тот-же, что и выше)
$success_url — Ссылка на страницу успешной оплаты (Вернуться на ваш сайт после оплаты)
$fail_url — Ссылка на страницу ошибки или отказа от оплаты (Вернуться на ваш сайт после неудачной оплаты)
$mobile — Телефон (аккаунт) пользователя, на который будет выставлен счет (тот-же, что и выше)
И отправляем пользователя на этот URL, например так:
header('Location: '.$url);
Настройка аккаунта
Настроить аккаунт можно по адресу: https://ishop.qiwi.com/balance/overview.action (официальный сайт Qiwi)
Нужно создать проект: «Новый проект». Поля элементарные, описывать не буду. Обратите внимание, что API будут работать только после проверки проекта администрацией Qiwi (статус «Подтвержден»).
Переходим в настройки проекта, кликом на его название:
Аутентификационные данные для всех протоколов — Сгенерировать новый ID. Записать в свою БД (Идентификатор — переменная $apiid в этой статье, пароль — переменная $pass)
Идентификатор магазина — Записать в свою БД (переменная $shopid в этой статье)
Настройки Pull (REST) протокола — Включить
Включить уведомления — Включить
URL для оповещения — Ссылка на файл обработки операции. Описание содержания этого файла смотрите в пункте «Обработка запроса» этой статьи
Сменить пароль оповещения — нажать и сохранить пароль в БД (переменная $key в этой статье)
Подпись — Отметить галочкой
Обработка запроса
После оплаты платежная система присылает запрос на указанный вами URL для оповещения. В этом файле, в первую очередь, необходимо проверить подлинность запроса, ведь он мог быть запущен не платежной системой. После чего уже делаем нужны операции: изменение статуса платежа в вашей БД или пополнение счета пользователя на сайте. Начнем по порядку.
Система присылает следующие данные (сразу сократим названия переменных, зачем нам в коде длинные переменные?):
$id =trim($_POST['bill_id']); $status =trim($_POST['status']); $error =trim($_POST['error']); $amount =trim($_POST['amount']); $user =trim($_POST['user']); $prv_name =trim($_POST['prv_name']); $ccy =trim($_POST['ccy']); $comment =trim($_POST['comment']); $command =trim($_POST['command']); $head =apache_request_headers(); $hash =$head['X-Api-Signature'];
bill_id — ID платежа в вашей системе
status — Статус платежа. Успешный: paid
error — Ошибка, если она есть
amount — Сумма платежа
user — Телефон (аккаунт) пользователя, который оплатил счет
ccy — Валюта платежа
comment — Описание платежа
X-Api-Signature — Подпись запроса (хеш)
Теперь нужно проверить хеш. Это обязательное действие. Без него безопасность данной операции будет близка к нулю.
Создадим свой вариант хеша, по возможности используя данные из своей БД (постфикс _bd в переменных; используйте $id для поиска нужной транзакции):
$hash_gen = base64_encode(hash_hmac("sha1", $amount_bd.'|'.$id.'|'.$ccy_bd.'|'.$command.'|'.$comment.'|'.$error.'|'.$prv_name.'|'.$status.'|'.$user_bd, $key, $raw_output=TRUE)); if($hash_gen!=$hash) // ошибка
Переменная $key — пароль оповещения, который вы встречали в настройках аккаунта
С проверками закончили. Теперь можно сделать то, ради чего этот запрос пришел — изменить статус транзакции или пополнить счет пользователя, на ваше усмотрение. И эти действия я описывать не буду — все в ваших руках.
Осталось только вернуть системе правильный ответ.
Ответ для успешного завершения:
header("HTTP/1.1 200 OK"); header('content-type: text/xml; charset=UTF-8'); echo '0'; exit;
Для завершения с ошибкой — измените result_code (0) на другой:
5 — Ошибка формата параметров запроса
13 — Ошибка соединения с базой данных
150 — Ошибка проверки пароля
151 — Ошибка проверки подписи
300 — Ошибка связи с сервером
Вот и все, запрос завершен и эта статья тоже.
Search code, repositories, users, issues, pull requests…
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Visa Qiwi Wallet – это популярная платежная система, предлагающая пользователям широкий спектр финансовых услуг. Каждому клиенту Киви открывается электронный счет, доступ к которому осуществляется с помощью фирменных терминалов, официального сайта qiwi.com и приложения.
Иногда держатели кошельков Qiwi обнаруживают, что платежная система не работает и получить доступ к личным средствам не удается. Как узнать, что случилось с Киви и насколько быстро будут устранены неполадки?
Почему не работает кошелек Киви
Несмотря на то, что Qiwi Visa Wallet редко расстраивает своих клиентов техническими ошибками, иногда пользователям не удается войти в кошелек или совершить нужную операцию. При этом не всегда виновата платежная система или ее разработчики.
Причин для поломок может быть несколько:
- проблемы со стороны клиента;
- сбои у посредников;
- отказ в работе терминала;
- технические ошибки со стороны платежной системы Киви.
Прежде чем звонить в службу поддержки кошелька Qiwi и выяснять, что случилось, почему он сегодня не работает, стоит попробовать определить причину неполадок. Не исключено, что справиться с ситуацией удастся самостоятельно.
Проблемы со стороны клиента
Когда QIwi Кошелек не работает, к проблемам может быть причастен его владелец. Источником неполадок обычно служат следующие факторы:
- браузер блокирует сайт qiwi.com;
- пользователь забыл логин/пароль;
- кошелек заблокирован;
- неправильные действия при проведении платежа.
Браузер не загружает сайт
Если у устройства, с которого пользователь пытается войти в кошелек, есть подключение к интернету и все прочие сайты, кроме Visa Qiwi Wallet, функционируют в нормальном режиме, стоит проверить настройки браузера. Известно, что сайт Киви не всегда работает с включенной функцией «Турбо» в Опере.
Не исключено, что версия браузера устарела и ему необходимо обновление. В таких случаях пользователь Киви часто видит сообщение «object progressevent». Обе проблемы можно решить, нажав на кнопку сервиса в верхнем левом или правом углу страницы.
Если функция сжатия трафика для ускорения работы браузера встроена в него по умолчанию, следует сменить веб-браузер на другой.
Неправильный логин/пароль
Когда пользователю не удается вспомнить логин или пароль для доступа в кошелек, платежная система сообщит об этом при попытке входа.
Ошибка авторизации в Киви решается достаточно просто: логин соответствует номеру телефона пользователя, а для восстановления пароля предусмотрена специальная процедура.
- Нажмите кнопку «Напомнить», которая расположена рядом с полем для ввода авторизационных данных.
- Дождитесь поступления на телефон смс с временным кодом для доступа.
- Введите временный код в специальное поле на экране и придумайте новый, постоянный пароль.
Пользователь заблокирован
Если вам не удалось выполнить вход, проблемы с авторизацией могут свидетельствовать о блокировке счета Киви. Как правило, кошельки блокируются при подозрении на мошеннические действия, связанные с аккаунтом пользователя.
Разблокировать свой Qiwi Wallet можно с помощью службы поддержки. Для этого существует бесплатный телефон горячей линии, доступный по номеру 8 800 707-77-59, а также специальная форма обратной связи (в разделе «Помощь» — «Обращение в поддержку» — «Служба безопасности» — «Разблокировать кошелек»).
Чтобы заполнить и отправить обращение, необязательно выполнять вход в аккаунт, но к заявлению придется приложить документы:
- копии всех страниц паспорта;
- договор на подключение к сети оператора или справка о том, что именно заявитель является владельцем сим-карты, привязанной к Киви;
- записка с комментариями к ситуации;
- дополнительные справки при необходимости.
Документы прикрепляют к онлайн-заявке на сайте.
Ошибка платежа
Если при совершении операции высвечивается ошибка, следует убедиться в правильности введенных реквизитов. Подобное происходит и в случаях, когда пользователь не учел сумму комиссии или на счете списания оказывается недостаточно средств.
Прояснить ситуацию поможет раздел «История», где указана причина ошибки платежа и приведены рекомендации по ее исправлению.
Сбои у посредников
Сбой в работе Киви может означать технические ошибки со стороны посредников: интернет-провайдеров, сотовых операторов и других поставщиков услуг.
Возможные проблемы и пути их решения
- Страница Киви не открывается – отсутствует связь с сетью или снизилась скорость. Следует убедиться, что все кабели подключены правильно и в сетевых настройках компьютера ничего не менялось. В противном случае остается связаться с провайдером, чтобы решить вопрос удаленно или вызвать специалиста на дом.
- Техническая ошибка при оплате услуг через Qiwi. Провайдерам требуется время для проверки данных и принятия платежа. Если реквизиты были введены правильно и на счете клиента было достаточно денег, по вопросам зачисления средств следует обращаться к поставщику услуг.
- Не приходит смс для подтверждения платежа. Скорее всего, сеть оператора сотовой связи перегружена, и в очереди находится большое количество абонентов. Система Qiwi обязательно предложит повторить отправку смс через несколько секунд. Подробнее о проблемах с смс — здесь.
Сбои в работе терминалов
20% неполадок в работе Qiwi связано с фирменными платежными терминалами. Каждым таким устройством ежедневно пользуются сотни людей, желающих получить доступ к своим кошелькам. Нет ничего удивительного в том, что иногда аппарат не работает или дает сбои.
Доступ к услугам терминала может быть ограничен в нескольких случаях:
- разрыв интернет-соединения;
- выход их строя аппаратуры;
- обновление или ошибка в работе операционной системы терминала.
Решить любую из перечисленных проблем в силах только специалисты. Если устройство выдало ошибку в момент оплаты услуг пользователем, ему следует проверить статус платежа на сайте qiwi.com и обратиться к техническим специалистам.
В разделе «Помощь» — «Обращение в поддержку» — «Qiwi терминалы» перечислены возможные проблемы. Выбрав нужный вопрос, клиенту остается заполнить заявку и дождаться ответа от техслужбы Киви. Обратиться в поддержку можно по телефону 8 800 707-77-59. При подключенном пакете услуг «Приоритет» оператор ответит в течение 10 секунд.
Ошибки со стороны платежной системы
Сегодня происходит все меньше ситуаций, когда действительно не работает платежная система и сайт Киви.
Возможные ошибки следует разделить на две группы:
- Запланированные. Пользователи не могут зайти в Киви кошелек в те дни, когда проводятся системные обновления или профилактические работы. Как правило, клиентов заранее предупреждают о временных неудобствах, а также подключают резервные серверы, которые сводят потенциальные проблемы к минимуму.
- Незапланированные. Возникают по причине системных сбоев, которые являются следствием недоработок программного обеспечения. В подобной ситуации можно попытаться войти в кошелек чуть позже.
Чтобы не теряться в догадках и убедиться, что сегодня действительно зафиксированы проблемы с Киви-кошельком, можно посетить специальный мониторинг технических ошибок downdetector.ru. Здесь анализируется график сбоев в работе сайта и терминалов Qiwi, а также приводятся официальные комментарии от представителей платежной системы.
При необходимости клиенты сайта могут ознакомиться с картой и найти действующее устройство для проведения платежей.
Видео: Почему не работает QIWI.
( 9 оценок, среднее 1.11 из 5 )
Ошибки при работе с Qiwi: коды QWPRC, их интерпретация и варианты решения неполадок
Сейчас особой популярностью среди людей стали пользоваться электронные платёжные системы. Выбор пользователей ориентирован на смену обычного кошелька или карточки более удобным и многофункциональным интернет-кошельком, в опции которого входит хранения личных денег, возможность оплаты различных услуг. Одной из самых популярных интернет-систем является платёжная система Qiwi, позволяющая осуществлять переводы и оплату. Система Qiwi характеризуется как одна из самых удобных в пользовании и простоте интерфейса, но при её эиспользовании, как и в случае с другими сервисами интернета, встречаются технические неисправности, требующие решения. Рассмотрим наиболее часто возникающие ошибки в системе Киви, а также причины их появления и варианты устранения.
Платёжная электронная система Киви: для начала её эксплуатации достаточно всего лишь зайти на их сайт или загрузить приложение, установить его на компьютерное или мобильное устройство, зарегистрироваться и пользоваться услугами. Система, в отличие от аналоговых, имеет многоуровневую защиту, которая гарантирует безопасность от несанкционированного снятия денег и конфиденциальность данных, позволяет пополнять кошелёк посредством терминалов, характеризуется невысоким комиссионным сбором за платежи, а в некоторых случаях абсолютным отсутствием комиссии.
Разработчики позаботились об отсутствии ошибок на техническом уровне, воплотив в реальность инновационную систему шифровки ошибок, идентифицируемую кодами QWPRC, с цифровыми обозначениями, позволяющими пользователю оперативно определить причину сбоя. Зная интерпретацию кода ошибки, пользователь сможет оперативно и корректно устранить неполадку, что способствует быстрому решению проблемы
Распространённые ошибки и особенности их устранения
Методы исправления ошибок, появившихся при денежной транзакции могут быть различны и содержать цифровой код QWPRC. Рассмотрим варианты устранения неполадок, ориентируясь на тип выявленной ошибки.
Блокировка счёта
Одной из наиболее сложных в решении является неполадка системы, имеющая код ошибки QWPRC 1021. Ошибка относится к категории появляющихся при попытке владельца кошелька осуществить оплату услуг или при переводе денежных средств на определённый счёт. Изъявляется сбой появлением окна с надписью «Ошибка QWPRC 1021: ограничение на исходящие платежи», накладывающим запрет на выполнение транзакции. Это объясняется появлением ошибки 1021 для защиты финансов владельца счёта от несанкционированного вмешательства мошенников. Но бывают причины с иным происхождением:
- Превышение суммы лимита, возможной для выполнения транзакции. Такая проблема возникает у владельцев кошелька, с тарифным планом «Минимальный», решается снижением суммы перевода или же изменением статуса на оптимальный для пользователя, с повышением лимитов на переводы.
- Появление сомнения системы в легальности происхождения финансов, имеющихся на счёте. В этом случае, на вопросы, что делать, как обойти запрет на исходящие платежи с кодом 1021, корректный ответ сможет дать только поддержка системы. Процедура заключается в прохождении владельцем счёта повторной идентификации и предоставлении сотрудникам системы подтверждающих легальность происхождения денег документов.
- Код QWPRC 1021 в Qiwi может появляться при попытке перевести деньги из пункта, где Киви-кошелёк не является разрешённым к эксплуатации. В подобной ситуации ошибка самоустранится при изменении локации клиента, возвращении его в страну, где такие операции разрешены государством. Иногда аналогичная причина может сопровождаться системой как ошибка QWPRC 1018.
- Грубые нарушения пользователем условий договора, подписанного при верификации в системе.
Ошибка QWPRC 1021 значит, что финансовая операция недопустима. Во всех перечисленных случаях вам может помочь оператор системы, так и сама система автоматическим способом. Ограничение на проведение транзакций в системе Киви, имеющее код ошибки QWPRC 1021, предусматривает следующую процедуру разблокировки счёта:
- Написать сообщение в Службу поддержки клиентов, с описанием проблемы.
- После того как клиент написал сообщение, ему придёт на почту извещение, с подробной инструкцией, что делать дальше. Чаще всего организация от владельца кошелька требует подтверждение собственности счёта, которым выступает договор, заключённый с оператором. Если такого документа нет, тогда пишите заявление об утере договора, с просьбой его восстановления.
- Вместе с заявлением клиенту потребуется представить все документы, удостоверяющие личность, а также информацию, объясняющую происхождение денежных средств и их целевое предназначение.
Процедура решения ошибки, имеющей код QWPRC 1021, может, по времени занять как короткий период, так и несколько недель, в зависимости от сложности проблемы. При разблокировке счёта сотрудники остерегают клиентов от обращения за помощью к третьим лицам, «обещающим» за дополнительную оплату снять ограничение со счёта клиента: решать вопрос с разблокировкой рекомендуется специалистами исключительно через сотрудника системы.
Технические неисправности системы или сервера
Менее проблематичными по критериям решения являются ситуации, связанные с неполадками сервера, или же факторами, спровоцированными сбоями работы браузера пользователя, отсутствием связи и другими техническими нюансами. Часто для исправления ошибки такого характера, возвращения доступа к операциям, потребителю достаточно подождать некоторое время, и повторить попытку проведения транзакции повторно.
К примеру, код ошибки QWPRC 300 свидетельствует о невозможности проведения транзакции в момент осуществления клиентом попытки воспользоваться услугами сервиса. Эта неисправность позиционируется разработчиками как «Техническая ошибка», для проведения операции потребителю достаточно выйти из системы, с последующим повторным входом, осуществлением платежа или пополнением карты. Если при повторной попытке осуществить операцию проблема не исчезла, на экране возникает ошибка с кодом 300, устранить неисправность можно попробовать сменой браузера.
Ошибка платежа, имеющая код QWPRC 7602, также объясняется техническими неполадками в платёжной структуре, а именно, невозможностью идентификации системой номера карточки или электронного счёта. В подобном случае разработчики рекомендуют попытаться воспользоваться виртуальными возможностями системы, или же попробовать провести операцию через некоторое время. Код 7000 может появляться при необходимости восстановления финансовой системы, то есть сейчас выполнение транзакции невозможно.
Распространённой ошибкой является неисправность, имеющая код QWPRC 7100, которая появляется при попытке владельца кошелька осуществить «крупный» денежный перевод, причём возникает сбой иногда даже в ситуациях, когда пользователь не превышает по сумме указанный в договоре лимит. Устранить сбой с шифром QWPRC 7100 можно проведением операции позже, или же разбив сумму на несколько частей. К этой же категории неисправностей относится и ошибка с кодом 705, свидетельствующая о превышении месячного лимита на переводы, установленного системой и утверждённого в договоре. Решается проблема увеличением лимита, изменением повышения статуса клиента в системе.
Код ошибки 7700 редко появляется, но его возникновение свидетельствует о блокировке провайдера, услугами которого пользуется владелец счёта. В этом случае возможные варианты решения проблемы предусматривают смену провайдера. Ошибка 780 также свидетельствует о том, что платёж невозможен, а причиной появления сбоя с таким кодом выступает блокировка счёта представителем услуг по причине частого пополнения одной карточки из разных кошельков. Снять ограничение такого рода на транзакции имеет правовые санкции исключительно представитель системы.
Нередкими являются ситуации, когда неисправность системы объясняется обычным человеческим фактором, а именно невнимательностью владельца Киви-кошелька, с последующей некорректностью введения данных. Наглядным примером ошибки такого рода является извещение с кодом QWPRC 319. Появлению такого сообщения предшествует некорректное заполнение платёжного документа, внесение неверных данных получателя или отправителя средств, а также недостаточное количество денег на счёте для выполнения требуемой транзакции: к примеру, клиент мог при указании суммы не посчитать комиссионные выплаты за услуги или ошибиться при введении цифр. Такая проблема решается проверкой корректности введённых данных, с параллельным исправлением ошибок.
Полезные советы
Любая из ситуаций, описанных в статье, может выступать следствием как технических или экономических неполадок, так и результатом некорректной работы компьютерного или мобильного устройства пользователя, браузера или иных субъективных причин. Лучше сразу обращаться в службу поддержки Qiwi за помощью. Но сначала стоит выполнить следующие действия:
- Попробовать перезапустить браузер, или же воспользоваться иным обозревателем, перезагрузить компьютер или мобильное устройство, после чего повторить попытку осуществления транзакции.
- Произвести чистку браузера от мусора.
- Подождать некоторое время, после чего попытаться повторно совершить операцию.
Подведение итогов
В этой статье собраны ошибки, часто возникающие в платёжной системе Киви, которые могут выступать следствием технических неисправностей как со стороны пользователя, так и самой системы, или же быть результатом некорректных действий владельца счёта. Следуя этим рекомендациям, применительно к каждому из кодов, проблемы с переводом должны устраниться. Если выполненные действия не дали желаемого результата, а запрещающее сообщение не исчезает продолжительное время, обратитесь в службу поддержки, где специалисты смогут проанализировать аккаунт, выявить точную причину и помочь решить возникшую проблему.