Платежные системы. Решение проблем. Debug. Не проходят платежи

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (24)

просмотр истории страницы
{toc:maxLevel=4}

h1. Порядок проверки
h2. Не приходят сообщения о совершении платежа в биллинг

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

h4. Проверка на стороне платежной системы

# Убедитесь что в ЛК платежной системы правильно указан путь до обработчика:
#* Орфографические ошибки где-то в названии php:
{code}https://bestisp.ru:1443/ossssmp.php{code}
Ошибка в имени php-файла, правильно "*o{color:red}s{color}mp.php*"

#* Проверить можно в том числе и по логу web-сервера asr_fiscal:
{code}tail -f /app/asr_fiscal/var/log/httpd/access_log{code}

#* Неправильный протокол, http вместо https или наоборот:
{code}http://bestisp.ru:1443/osmp.php{code}
Здесь должен быть протокол *https*, так как используется защищенный порт _1443_

#* Неправильные порты:
{code:title=Неправильно}https://bestisp.ru/osmp.php{code}
{code:title=Правильно}https://bestisp.ru:1443/osmp.php{code}
Был пропущен порт, указанный в [основных настройках платежных систем|CarbonBilling:Основные настройки платежных систем]
# Убедитесь что адреса платежных систем есть в [списке разрешенных|CarbonBilling:Настройка сети для платежных систем]
# Проверьте что платежная система обращается на правильный обработчик по логу web-сервера asr_fiscal:
{code}tail -f /app/asr_fiscal/var/log/httpd/access_log{code}
# Если запросов от платежной системы не видно в логе, проверьте приходит ли от них трафик на [порты платежных систем|CarbonBilling:Основные настройки платежных систем] с помощью tcpdump
{code}tcpdump -nnei any port 1443 or port 2443 or port 1444{code}
# Если запросов нет, запустите tcpdump без указания порта, но с IP-адресами платежных систем. Допустим, адреса платежной системы 10.0.0.1 и 10.1.1.0/24, команда будет такой:
{code}tcpdump -nnei any host 10.0.0.1 or net 10.1.1.0/24{code}
# Если есть трафик и запросы на обработчик видно в логе *access_log*, найдите лог используемой платежной системы (как правило называется подобно наименованию обработчика) и посмотрите что в нем нет ошибок обработки платежей.
Логи платежных систем располагаются в папке:
{code}/app/asr_fiscal/var/log/{code}
# Убедитесь по журналу API биллинга, что в них отсутствуют ошибки:
В первую очередь журнал запросов API в контейнере платежных систем:
{code}/app/asr_fiscal/var/log/api.log{code}
Если в нем есть какие-либо ошибки, их можно проанализировать в логах биллинга:
{code}/app/asr_billing/var/log/django/system_api.log
/app/asr_billing/var/log/admin_web_server.log{code}
{note}Файлы журналов могут ротироваться каждые сутки и храниться в течении 30 дней; если необходимо найти ошибку проихошедшую в недавнем прошлом, найдите соответствуюищй архивный файл:
/app/asr_billing/var/log/*admin_web_server.log* - +актуальный+ файл
/app/asr_billing/var/log/*admin_web_server.log-20190218.gz* - +архивный+ файл{note}
Пример поиска ошибок в логе */app/asr_fiscal/var/log/api.log*:
{code}grep -i err /app/asr_fiscal/var/log/api.log | tail -n 2{code}
Вывод:
{code}2019-02-18 01:08:58 __call_api->curl_error($ch): Failed to connect to 169.254.80.82 port 8082: Connection refused
2019-02-18 12:23:15 __call_api->curl_error($ch): Operation timed out after 30001 milliseconds with 0 bytes received{code}
# Проверьте логи платежной системы. Путь к логу Вы можете узнать в [документации по настройке платежной системы|CarbonBilling:Платёжные системы].

{info}Если все равно не удалось понять в чем проблема:
# Если возможно, сделайте скриншоты настроек *в личном кабинете платёжной системы*
# Создайте задачу в [техподдержку|https://helpdesk.carbonsoft.ru] и приложите:
#* Результаты проверки по инструкции выше: текст, скриншоты или видео
#* Скриншоты настроек со стороны платёжной системы{info}


h2. Не приходят сообщения о совершение платежа в биллинг

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

h4. Проверка настроек сети
Убедитесь, что IP-адреса платёжной системы есть в разрешенном списке. Это можно сделать в меню [настройки сети|CarbonBilling:Настройка сети для платежных систем] платёжных систем.
{info}
Бывает, что платёжная система меняет IP-адреса с которых приходят данные о платежах. Если данные о платежах не приходят, нужно запросить актуальный список IP -адресов.
{info}


h4. Проверка работы сети и firewall
Если адреса есть в списке, но сообщения не приходят, нужно проверить сетевую связанность и прохождение пакетов по сети.

h5. Запустите на биллинге tcpdump командой
# Если адреса есть в списке, но запросов от платежной системы не видно в логе, проверьте приходит ли от них трафик на [порты платежных систем|CarbonBilling:Основные настройки платежных систем] с помощью tcpdump:

Для стандартных настроек платежной системы без шифрования без шифрования
{code}tcpdump -nvi any port 1444{code}Для стандартных настроек платежной системы без шифрования с шифрованием
{code}tcpdump -nnei any port 1443 or port 2443 or port 1444{code}

*Примечание: Порты могут быть другие, в зависимости от того, какие указаны у вас в настройках* *[платежных систем|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129]**.*

{code}tcpdump -nvi any port 1443{code}
# Если запросов нет, запустите tcpdump без указания порта, но с IP-адресами платежных систем. Допустим, адреса платежной системы 10.0.0.1 и 10.1.1.0/24, команда будет такой:
{code}tcpdump -nnei any host 10.0.0.1 or net 10.1.1.0/24{code}

*Примечание: Порты могут быть другие, в зависимости от того, какие указаны у вас в настройках* *[платежных систем|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129]**.*

h5. Проверяем доступность портов для платежных систем

Предварительно на сервере оставьте команду tcpdump, чтобы видеть пакеты. Тестировать прохождение пакетов вы можете командой
Вывод будет похож на скриншот выше, но иметь другой вывод.

h5. Все данные, которые удалось получить необходимо будет передать специалистам технической поддержки через заявку в [HelpDesk|http://helpdesk.carbonsoft.ru]

h5. Проверка логов платежной системы

# Если есть трафик и запросы на обработчик видно в логе *access_log*, найдите лог используемой платежной системы (как правило называется подобно наименованию обработчика) и посмотрите что в нем нет ошибок обработки платежей.
Логи платежных систем располагаются в папке:
{code}/app/asr_fiscal/var/log/{code}
Также путь к логу Вы можете узнать в [документации по настройке платежной системы|CarbonBilling:Платёжные системы].


h5. Проверка API

# Убедитесь по журналу API биллинга, что в них отсутствуют ошибки:
В первую очередь журнал запросов API в контейнере платежных систем:
{code}/app/asr_fiscal/var/log/api.log{code}
Если в нем есть какие-либо ошибки, их можно проанализировать в логах биллинга:
{code}/app/asr_billing/var/log/django/system_api.log
/app/asr_billing/var/log/admin_web_server.log{code}
{note}Файлы журналов могут ротироваться каждые сутки и храниться в течении 30 дней; если необходимо найти ошибку проихошедшую в недавнем прошлом, найдите соответствуюищй архивный файл:
/app/asr_billing/var/log/*admin_web_server.log* - +актуальный+ файл
/app/asr_billing/var/log/*admin_web_server.log-20190218.gz* - +архивный+ файл{note}
Пример поиска ошибок в логе */app/asr_fiscal/var/log/api.log*:
{code}grep -i err /app/asr_fiscal/var/log/api.log | tail -n 2{code}
Вывод:
{code}2019-02-18 01:08:58 __call_api->curl_error($ch): Failed to connect to 169.254.80.82 port 8082: Connection refused
2019-02-18 12:23:15 __call_api->curl_error($ch): Operation timed out after 30001 milliseconds with 0 bytes received{code}

h5. Если все равно не удалось понять в чем проблема

Создайте заявку в [HelpDesk|http://helpdesk.carbonsoft.ru], опишите результаты проверки по инструкции выше: текст, скриншоты или видео.
Если возможно, сделайте скриншоты настроек *в личном кабинете платёжной системы* и приложите к заявке.

h1. Примеры решения проблем

h2. При платеже находит несколько абонентов.

Необходимо исправить начальное значение параметра InvId. Это может сделать техническая поддержка по запросу, следовательно, нужно создать заявку с описанием проблемы в Helpdesk.

h2. {info} Платежные системы отправляющие данные в формате XML
Примеры: [Биллинговые системы, Центральная Касса, КиберПлат|CarbonBilling:Сбербанк. ООО Биллинговые системы, Центральная Касса, КиберПлат], [ОСМП|CarbonBilling:Инструкция по подключению ОСМП. Несколько операторов]
# В лог платежной системы пишутся параметры пришедшие на обработчик в виде XML
# ОСМП-подобные протоколы обязательно должны содержать account и act=pay/check {info}