|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (16)
просмотр истории страницы{toc:maxLevel=3} |
h1. Убедитесь что на стороне платежной системы правильный адрес обработчика биллинга |
|
h1. Ошибка при переходе на страницу оплаты из личного кабинета |
h3. Как проверить что проблема в этом? |
Совершить тестовый платёж. На странице оплаты возникает сообщение об ошибке. h3. Как исправить? # Включите повышенное логирование модулей кабинета по [статье|Отладка модулей кабинета]; # Попробуйте совершить тестовый платёж; # Соберите данные по тестовому платежу; # Отправьте запрос в техническую поддержку платёжной системы с данными о платеже; # Создайте заявку в helpdesk с комментариями от технической поддержки платёжной системы. h1. Убедитесь что на стороне платежной системы правильный адрес обработчика биллинга h3. Как проверить что проблема в этом? |
Чтобы проверить, адрес правильный или нет - просто откройте его в браузере, предварительно добавив свой адрес в список разрешенных для доступа к платёжным системам. |
... |
Был пропущен порт, указанный в [основных настройках платежных систем|CarbonBilling:Основные настройки платежных систем] |
|
h1. Возможно запросы не проходят firewall |
... |
|
h1. Если все равно не удалось понять в чем проблема |
h3. Возможно трафик блокирует rp_filter |
|
Создайте заявку в [HelpDesk|http://helpdesk.carbonsoft.ru], опишите результаты проверки по инструкции выше: текст, скриншоты или видео. Если возможно, сделайте скриншоты настроек *в личном кабинете платёжной системы* и приложите к заявке. Также ускорит решение заявки наличие логов: |
Если прочие пункты инструкции Вы проверили и всё в порядке, возможно проблема в rp_filter. Убедитесь, что ответный маршрут к IP платёжной системы ведёт через тот же интерфейс, на который она обращается. Проверить это можно так: # С tcpdump посмотрите, на какой интерфейс приходит пакет # Посмотрите, как пойдёт ответ с помощью {{ip r g to <IP>}}, где вместо <IP> подставьте адрес платёжки. Интерфейсы должны совпадать. |
|
Так же Вы можете включить логирование "марсианских" пакетов - такими ядро Linux считает пакеты, у которых трафик по scr адресу ожидается на другом интерфейсе {code}echo 1 > /proc/sys/net/ipv4/conf/all/log_martians{code} Пример, как диагностировать по логу: {code} # пришедший пакет в логе [root@CarbonBillingServer ~]# tail -f /var/log/messages May 23 16:43:42 CarbonBillingServer kernel: martian source 169.254.14.43 from 88.85.210.133, on dev eth0 May 23 16:43:42 CarbonBillingServer kernel: ll header: 0c:c4:7a:e5:a8:56:10:f3:11:14:a3:4a:08:00 # проверка маршрута к адресу источника пакета [root@CarbonBillingServer ~]# ip r g to 88.85.210.133 88.85.210.133 via 172.22.0.1 dev eth1 src 172.22.0.222 cache mtu 1500 hoplimit 64 {code} Видно, что пакет к адресу платёжных систем 169.254.14.43 пришел с адреса 88.85.210.133 на интерфейс eth0, а обратный пойдёт через eth1. h4. Как исправить # Добавьте маршрут к адресу источника через нужный интерфейс. Для интерфейса eth0 это будет файл {{/etc/sysconfig/network-scripts/route-eth0}} На лету это можно сделать отдельной командой: {code}ip r add 88.85.210.133 via <GATEWAY_IP> dev eth0{code} Где вместо <GATEWAY_IP> укажите IP шлюза на этом интерфейсе. При этом в файл сохранить маршрут тоже нужно. # Если у Вас нет возможность добавить маршрут, можете настроить менее жесткую проверку rp_filter на интерфейсе, откуда куда приходит трафик от платёжной системы, или совсем его отключить. Допустим, это интерфейс eth0, тогда выполните следующую команду {code}sysctl -w net.ipv4.conf.eth0.rp_filter=2{code} И попробуте повторить платёж. Если это решило проблему, добавьте настройку в {{/etc/sysctl.conf}}, чтобы она сохранилась при перезагрузках {code} # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Для платёжных систем net.ipv4.conf.eth0.rp_filter = 2 {code} {note}{{rp_filter=2}} пропустит трафик, если хотя бы один интерфейс может ответить. Этого должно хватить. Если не поможет - можно совсем отключить rp_filter: {{rp_filter=0}}{note} |
h2. Проверка логов платежной системы |
... |
# Если данные о платеже есть в логе http сервера, проверьте лог обработчика используемой платежной системы (как правило называется подобно наименованию обработчика) и посмотрите, что в нем нет ошибок обработки платежей. Логи платежных систем располагаются в папке: |
{code}/app/asr_fiscal/var/log/paysystems/{code} |
Также путь к логу Вы можете узнать в [документации по настройке платежной системы|CarbonBilling:Платёжные системы]. |
... |
2019-02-18 12:23:15 __call_api->curl_error($ch): Operation timed out after 30001 milliseconds with 0 bytes received{code} |
|
h1. Примеры решения проблем h2. При платеже находит несколько абонентов. |
Проверьте настройки: |
В логе платежной системы возникает ошибка {code} get() returned more than one Abonents -- it returned 2!{code} Проверьте настройки в разделе *Главное меню биллинга - "Платежная системы" - "Настройки OSMP"* Также, для быстрого перехода можно использовать ссылку ниже: |
{code} |
http://11.22.33.44:8081/settings/asr_fiscal/osmp/ http://169:254:80:81:8081/settings/asr_fiscal/osmp/ |
{code} |
{info}*169:254:80:81* замените на IP Вашего биллинга{info} |
Настройки *ИДЕНТИФИЦИРОВАТЬ* позволяют выбрать, по каким параметрам все обработчики платежных систем ищут абонента. Рекомендуется оставить только один вариант, наилучшим будет *ИДЕНТИФИЦИРОВАТЬ ПОЛЬЗОВАТЕЛЯ ПО НОМЕРУ ДОГОВОРА* |
... |
# В лог платежной системы пишутся параметры пришедшие на обработчик в виде XML # ОСМП-подобные протоколы обязательно должны содержать account и act=pay/check{info} |
h1. Если все равно не удалось понять в чем проблема Создайте заявку в [HelpDesk|http://helpdesk.carbonsoft.ru], опишите результаты проверки по инструкции выше: текст, скриншоты или видео. Если возможно, сделайте скриншоты настроек *в личном кабинете платёжной системы* и приложите к заявке. Также ускорит решение заявки наличие логов. |