Просмотр Исходного

{toc:maxLevel=4}

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:Основные настройки платежных систем]



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


h4. Проверка работы сети и firewall

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

{code}tcpdump -nnei any port 1443 or port 2443 or port 1444{code}

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

# Если запросов нет, запустите 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}


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

Предварительно на сервере оставьте команду tcpdump, чтобы видеть пакеты. Тестировать прохождение пакетов вы можете командой
{code}
telnet <ip_биллинга> <порт>
{code}
При этом на сервере в выводе tcpdump должен быть вывод вида:
{code}
12:11:56.526872 10.90.1.180.37544 > 10.90.180.10.1443: S [tcp sum ok] 368052329:368052329(0) win 14600
12:11:56.526943 10.90.180.10.1443 > 10.90.1.180.37544: S [tcp sum ok] 3188614068:3188614068(0) ack 368052330 win 5792
{code}
При правильной настройке пакеты будут и входящие и исходящие.

При этом telnet соединение будет устанавливаться.

*Если соединения нет:*

\- Проверьте, что ваш ip-адрес есть в списке разрешенных в настройках [платежных систем.|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129]
Для приема платежей со стороны платежной системы необходимо добавить IP-адреса, с которых осуществляется запрос в список разрешенных, IP через пробел.
Это делается через главную страницу веб-интерфейса администратора Carbon Billing 5 (http://<ip_сервера>:8081) \-> Платежные системы \-> Настройка сети \-> АДРЕСА СЕРВЕРОВ ПЛАТЕЖНЫХ СИСТЕМ

\- Если перед биллингом установлено пограничное оборудование, проверьте разрешен ли трафик по портам платежных систем. Также порты могут быть закрыты у вашего вышестоящего провайдера.


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

В личном кабинете вашей платежной системы должен быть указан адрес куда сервер платежной системы шлет запросы.

Этот адрес имеет вид:

{code}
http://11.22.33.44:1444/robokassa.php
{code}
где

11.22.33.44 - это ip-адрес вашего сервера или ваше доменное имя,

1444 - порт, который использует платежная система,

robokassa.php - обработчик данных от платежной системы.

Вставьте этот адрес в адресную строку браузера и проверьте вывод. Для платежных систем с шифрованием необходимо скачать с сервера [сертификат в формате \*.pfx|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129] и импортировать его в ваш браузер.

Вывод будет примерно такой:

&nbsp; !pay_sys.png|border=1!

h5. В случае, если платежная система использует 443 порт - необходимо изменить поле "ПОРТ, НА КОТОРОМ ДОСТУПЕН ВЕБ-ИНТЕРФЕЙС АБОНЕНТА:", который по умолчанию так же указан 443, на любой другой, например 2443 во вкладке "Платежные системы"

!port443.png|border=1!

h5. По возможности проверьте возвращаемый код при передаче параметров

Его можно получить самостоятельно если вы разбираетесь в платежных системах.

Либо можно его запросить у специалиста платежной системы. Здесь нужно знать какой запрос шлет платежная система и что ей отвечает на него обработчик.

Запрос будет вида:
{code}
http://11.22.33.44:1444/robokassa.php?<список параметров>
{code}
Вывод будет похож на скриншот выше, но иметь другой вывод.


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. При платеже находит несколько абонентов.

Проверьте настройки:
{code}
http://11.22.33.44:8081/settings/asr_fiscal/osmp/
{code}
Настройки *ИДЕНТИФИЦИРОВАТЬ* позволяют выбрать, по каким параметрам все обработчики платежных систем ищут абонента. Рекомендуется оставить только один вариант, наилучшим будет *ИДЕНТИФИЦИРОВАТЬ ПОЛЬЗОВАТЕЛЯ ПО НОМЕРУ ДОГОВОРА*

h2. Стали повторяться номера платежей

Перестали проходить платежи через Робокассу. Сервис выдает ошибку: 40 (со стороны Робокассы).
Данная ошибка 40 возникает на стороне магазина. В момент формирования запроса на инициализацию оплаты биллинг передает в Robokassa значение InvId (уникальный номер платежа), которое уже использовалось прежде. Этот параметр должен принимать с каждой переадресацией в сервис ROBOKASSA уникальное значение. Ошибка показывает, что один из клиентов уже оплатил данный номер заказа ранее, а сейчас биллинг переадресует в Robokassa другого плательщика, выставляя ему тот же номер счета.
Проблема может возникнуть если Вы переключили интеграцию Робокассы с другого биллинга на Carbon Billing.
Необходимо исправить начальное значение параметра InvId. Это может сделать техническая поддержка по запросу, следовательно, нужно создать заявку с описанием проблемы в Helpdesk.

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