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

{toc:maxLevel=3}

h2. Заключите договор с ЮKassa и настройте ссылку на callback биллинга в их личном кабинете.

Заключите договор с платежной системой [ЮKassa|https://yookassa.ru].

Выполните настройки подключения, которые производятся через *главную страницу веб-интерфейса администратора* \-> *Платежные системы*\-> *Настройка ЮKassa*
{code}
Настройки по адресу: http://<billing_ip>:8081/settings/asr_fiscal/yookassa/
{code}

На странице [https://yookassa.ru/my/merchant/integration/http-notifications] разместите ссылку на *callback* в поле *URL для уведомлений*.
!callbackyookassa_new01.png|border=0!
{code}
https://<billing_ip>:8443/yookassa.php
{code}
или
{code}
https://<billing_ip>:443/yookassa.php
{code}

Запросите ip адреса с которых платежная система будет обращаться к биллингу.

h5. Отключите "Режим проверки чеков"

Отключите "Режим проверки чеков" на [странице|https://yookassa.ru/my/fiscalization-settings], если отправка чеков не настроена. Иначе при попытке платежа будет ошибка:
{code}
Произошла ошибка связи с ЮKassa.
{code}
А в логе модулей ЛК сообщение:
{code:title=/app/asr_cabinet/var/log/cabinet_modules.log}
2024-03-21 12:55:50.000000 - ERROR - yookassa create payment error code: 400
2024-03-21 12:55:50.000000 - ERROR - yookassa create payment error description: Receipt is missing or illegal
{code}

h2. Настройте биллинг

h3. Добавьте адреса ЮKassa в список разрешенных

- Для приема платежей со стороны платежной системы необходимо добавить IP-адреса, с которых осуществляется запрос в список разрешенных по статье "[CarbonBilling:Настройка сети для платежных систем]"

h3. Добавьте правила фаервола

Добавьте правила фаервола по статье "[CarbonBilling:Дополнительные настройки. hooks. Хуки. Свои правила в firewall]", так как ЮKassa может обращаться только на порт 8443 или 443.
В приведенных правилах ip 194.54.15.41 относится к тестовой среде ЮKassa. Перед добавлением правил уточните актуальные адреса платежной системы у её представителей.

Файл */app/asr_cabinet/cfg/hooks*
{code}
if [ "$1" == "/etc/init.d/firewall" -a "$2" == "start" ]; then
source /cfg/config
set -x
iptables -t nat -I asr_cabinet_prerouting -p tcp -s 194.54.15.41 --dport 8443 -j DNAT --to-destination 169.254.14.43:2443
iptables -t nat -I asr_cabinet_prerouting -p tcp -s 194.54.15.41 --dport 443 -j DNAT --to-destination 169.254.14.43:2443
set +x
fi
{code}
Файл */app/asr_fiscal/cfg/hooks*
{code}
if [ "$1" == "/etc/init.d/firewall" -a "$2" == "start" ]; then
source /cfg/config
echo "========================================="
set -x
iptables -t nat -I asr_fiscal_prerouting -p tcp -s 194.54.15.41 --dport 8443 -j DNAT --to-destination 169.254.14.43:${app[apache.sslport2]}
iptables -t nat -I asr_fiscal_prerouting -p tcp -s 194.54.15.41 --dport 443 -j DNAT --to-destination 169.254.14.43:${app[apache.sslport2]}
set +x
fi
{code}

h3. Укажите параметры интеграции с ЮKassa

!settingwebyookassa_new02.png|border=0,width=800!

Параметры со стороны биллинга:

# Отправлять данные фискального чека: использовать ЮKassa. Необходима дополнительная настройка в ЮKassa
# Коды ставок НДС: Система налогообложения магазина. Необязательный. Возможные значения --- число от 1 до 6:
#* 1 --- без НДС;
#* 2 --- НДС по ставке 0%;
#* 3 --- НДС чека по ставке 10%;
#* 4 --- НДС чека по ставке 20%;
#* 5 --- НДС чека по расчетной ставке 10/110;
#* 6 --- НДС чека по расчетной ставке 20/120.
# Код системы налогообложения: Возможные значения --- число от 1 до 6:
#* 1 --- общая СН;
#* 2 --- упрощенная СН (доходы);
#* 3 --- упрощенная СН (доходы минус расходы);
#* 4 --- единый налог на вмененный доход;
#* 5 --- единый сельскохозяйственный налог;
#* 6 --- патентная СН.
# Признак споба расчёта: Заполняется&nbsp;ключевым словом&nbsp;в&nbsp;соответствии с документацией&nbsp;[Яндекс|https://tech.yandex.ru/money/doc/payment-solution/payment-form/payment-form-receipt-docpage/],&nbsp;по умолчанию заполняется *full_payment* (полный расчет).
# Признак предмета расчёта: &nbsp;Заполняется ключевым словом в соответствии с документацией&nbsp;[Яндекс|https://tech.yandex.ru/money/doc/payment-solution/payment-form/payment-form-receipt-docpage/],&nbsp;по умолчанию&nbsp;заполняется&nbsp;*service* (услуга).
# Секретный ключ API: необходимо скопировать ключ из настроек [https://yookassa.ru/my/merchant/integration/api-keys] поле *Секретный ключ*
!lkyookassa_new01.png|border=0,width=600!
# Идентификатор магазина: необходимо скопировать из настроек [https://yookassa.ru/my/shop-settings] поле *shopId*.

h2. Настройте оплату через личный кабинет

Добавить на страницу оплаты [шорткод ЮKassa|CarbonBilling:Отображение платежных систем в личном кабинете абонента].
{code:title=Шорткод}
[cabinet_payment operator=yookassa]
{code}

h2. Дополнительно

Лог при появлении ошибок в ЛК:
{code}
/app/asr_cabinet/var/log/cabinet_modules.log
{code}
При появлении других ошибок необходимо воспользоваться документацией по отладке: [CarbonBilling:Платежные системы. Не проходят платежи.].