Требования
Для подключения этой системы необходимо:
- Carbon Billing (версии 3.5.1 или выше)
- Реальный внешний IP-адрес
Для того чтобы пользователь мог внести платеж:
- Пользователь должен быть с признаком Финансовый
- Пользователь не должен быть удален или отключен. То же самое для вышестоящих групп
Подключение
- Вам необходимо пройти регистрацию на официальном сайте http://ishopnew.qiwi.ru/reg.html
- Наша система поддерживает работу только через SOAP-протокол: http://ishopnew.qiwi.ru/protocol.html
- В соответствии с инструкциями самого Qiwi вам надо будет указать адрес для обратных SOAP запросов в таком формате: http://_Ваш внешний IP или доменное имя_:порт/qiwi.php и убрать галочку с "Использовать подпись"
Примечание: в случае если Qiwi требуют обязательную проверку подписи, то галочку "Использовать подпись" снимать не нужно.
Выполните в локальной консоли сервера Carbon Billing действия:
- Включаем пункт в локальном меню: *Конфигурирование сервера -> Настройка платежных систем ->Включить HTTP-сервер для платежей (подробнее: Общее. Прием платежных систем без шифрования. http. Доступ при отрицательном балансе)
- Проверяем что порт для подключения по HTTP совпадает с тем что указан на сайте Qiwi в предыдущем шаге инструкци
Примечание: в качестве порта по умолчанию стоит порт 1444, если Qiwi не работает по этому порту то поставьте тот, который вы настроили в Qiwi. Порт 80 использовать нельзя. Его использует локальный сайт.
- Если опция "Разрешенные адреса клиентов для HTTP-сервера" не пуста, то вам необходимо указать ip адреса Qiwi серверов для того чтобы биллинг мог принимать уведомления об оплате счетов.
- Включаем пункт в локальном меню: Конфигурирование сервера -> Настройка платежных систем -> Настройка WEB Qiwi кошелек -> Включить платежную систему Qiwi кошелек.
- Укажите логин и пароль которые сообщил вам Qiwi после заключения договора (логин и пароль не должны содержать спецсимволы)*
- Пункт "Включить СМС уведомления для системы QIWI кошелек" позволяет сообщать абонентам об оплате счета через смс. Внимание: смс могут быть платными, стоимость уточняйте у поставщика услуги.
- Производим мягкую перезагрузку.
Выставление счета пользователем
- Для создания счета пользователь должен зайти в личный кабинет на сайте в раздел "Оплата".
Контроль статусов платежей
Для контроля возвращаемых статусов платежей можно обращаться к таблице PAY_LOG БД, например запрос приведенный ниже выведет последние 20 платежей
sqlexec "set list on; select first 20 * from PAY_LOG order by id desc"
Поле PAY_OPERATOR отражает через какую платежную систему пришел платеж
Поле MSG_OUT показывает статус платежа
Проверка приема ответов от платежной системы
во всех следующих примерах подразумевается:
- порт на котором вы ждете запросы - 4433
- интерфейс на котором принимаете запросы от платежной системы - Eeth2 (заместо названия интерфейса Eeth2 в команде tcpdump можно указать any, но в этом случае если у вас несколько внешних интерфейсов может быть затруднительно найти с какого приходят запросы)
1. Проверьте что на порту на котором вы ждете ответы от платежной системы кто то слушает и слушает на нужном интерфейсе, или на всех, если интерфейс не указан в настройках.
netstat -antp | grep 4433
если вывод не дал результатов, то проверьте что у вас настроен выбранный порт и включен HTTP-сервер для платежей.
2. Для проверки получения ответов от платежной системы в консоли выполните команду
tcpdump -nvi Eeth2 port 4433
После этого, не закрывая консоль, выполнить в личном кабинете тестовый платеж. При успешной операции зачисления средств абоненту в биллинге вы должны увидеть пакеты с ip-адресов от платежной системы на внешний интерфейс Eeth2, порту 4433.
Если после проведения платежа вы не видите пакетов в tcpdump'е, то нужно разбираться прочему нет связи между серверами киви и биллингом.