Автоплатежи (рекуррентные платежи)

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

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

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

h1. Описание автоплатежей

Рекуррентные платежи или автоплатежи, это автоматическое списание средств с банковской карты или счета платежной системы абонента без повторного ввода реквизитов и без участия абонента для инициации платежа.
В первый раз при подключении автоплатежа абоненту нужно совершить платеж на небольшую сумму, после чего платежная система и биллинг запомнят реквизиты этого платежа для совершения последующих списаний.
Когда абонента нужно заблокировать по балансу, вместо блокировки биллинг запросит необходимую сумму для работы до конца месяца.

{info}Если в настройках услуги включена опция "Не списывать, если недостаточно средств, и деактивировать услугу", то автоплатеж списываться по этой услуге не будет{info}
h2. Как работают автоплатежи

На текущий момент рекуррентные платежи можно настроить со следующими платежными операторами:
{toc}
# При подключении автоплатежа абоненту нужно совершить платеж на небольшую сумму
# После чего платежная система и биллинг запомнят реквизиты этого платежа для совершения последующих списаний: платёжная система создаёт токен платежа, по нему происходят все последующие платежи.
# Когда абонента нужно заблокировать по балансу, вместо блокировки биллинг запросит необходимую сумму для работы до конца месяца.
{info}Если в настройках услуги отключена опция "Не списывать, если недостаточно средств, и деактивировать услугу", то автоплатеж списываться по этой услуге не будет{info}
# За 35 дней до устаревания токена, при использовании автоплатежа в аудит пишется сообщение о скором отключении автоплатежа из-за старого токена
{note}Если абонент вносил дополнительные средства вручную, и "последний" автоплатёж не произойдёт, то сообщения в аудите не будет: оно пишется только при проведении автоплатежа, когда до окончания срока токе остаётся 35 дней или менее{note}

h1. Uniteller
h2. С какими платёжными системами можно настроить

h3. Uniteller

Для настройки рекуррентных платежей, проведите настройку платежной системы [Uniteller|CarbonBilling:WEB Эквайринг (Uniteller)], а так же через техническую поддержку Uniteller подключить возможность проведения рекуррентных платежей.

{code}[cabinet_autopay_payment operator="uniteller"]{code}

h13. Paymaster

Для настройки рекуррентных платежей, проведите настройку платежной системы [Paymaster|CarbonBilling:Paymaster], а [Paymaster|CarbonBilling:Paymaster] (обязательно указать "Ключ подписи SHA256:" в биллинге и со стороны Paymaster), так же в личном кабинете Paymaster включить возможность проведения рекуррентных платежей.

Шорткод для добавления настроек в личный кабинет:
{code}[cabinet_autopay_payment operator="paymaster"]{code}

h1. Как подключить автоплатеж

Абонент должен произвести оплату любую сумму через ЛК с подключением автоплатежа.

Для разных платёжных систем, форма может немного отличаться, но всегда есть опция подтверждения согласия подключить автоплатеж.

Пример формы подключения автоплатежа:

!Форма подключения автоплатежа.png|border=0,width=600!

h1. Как отключить автоплатеж

h2. Автоматический, по истечении действия токена

Он отключается автоматический по истечении токена (через 1 год после подключения). При попытке проведения автоплатежа по невалидному (устаревшему) токену идет отключение автоплатежа и запись в аудит, что он отключен по такой причине.

h2. В карточке абонента

Если абонент просит отключить до истечения 1 года, в карточке абонента снимите соответствующую галочку и сохраните.

!PayMaster, автоплатеж в карточке абонета.png|border=0!

h2. Через API

[Воспользуйтесь API|CarbonBilling:API REST v2.0]: очистите поле *autopay_pay_log_id* в модели *Abonents* по ID абонента.

h1. Отладка

h2. Поиск информации по автоплатежам в [аудите|CarbonBilling:Аудит]

h3. Подключение автоплатежа

{panel:title=Пример}
Включение автоплатежа через оператора PAYMASTER из ЛК (пополнение на сумму сумму 100.00), ip: 10.0.0.15
Обновление информации COMMENT по платежу pk 123456 #333555 из ЛК
{panel}
* PAYMASTER - платёжный оператор, через которого совершен платёж
* 100.00 - сумма ОП
* 10.0.0.15 - IP, с которого абонент проводил платёж в ЛК
* 123456 - "id" в [журнале платежей|CarbonBilling:Журнал платежей. Просмотр оплат. Отчет по оплатам], поле PAY_LOG.ID в БД биллинга.
* 333555 - "ИД платежа" в [журнале платежей|CarbonBilling:Журнал платежей. Просмотр оплат. Отчет по оплатам], поле PAY_LOG.PAY_ID_STR_IN в БД биллинга.

{code:title=Ключевая фраза для поиска}Включение автоплатежа через оператора{code}
{code:title=Ключевая фраза для поиска}Обновление информации COMMENT{code}

h3. Отключение автопталежа
{panel:title=Пример}
Отключение автоплатежа через оператора None из ЛК, ip: 10.0.0.15
{panel}
* None - платёжный оператор, через которого совершен платёж. Может быть "None", тогда определить можно по логам asr_fiscal или сверив с информацией по подключению автоплатежа из аудита.
* 10.0.0.15 - IP, с которого абонент проводил платёж в ЛК

{code:title=Ключевая фраза для поиска} Отключение автоплатежа через оператора{code}

h3. Автоплатеж поставлен на паузу

{panel:title=Пример}
Автоплатеж поставлен на паузу.Платежная система вернула нефатальную ошибку: \{u'PaymasterError': u'\[invalid_token\] does not exist', u'Result': 604\}. Возможно необходима проверка настройки платежной системы
{panel}

{code:title=Ключевая фраза для поиска}Автоплатеж поставлен на паузу{code}

{note}Аудит может быть в [архиве|CarbonBilling:Настройка периода хранения исторических данных в базе], если не удалось найти запись - попробуйте указать более старую дату и повторить поиск, возможно автоплатёж в паузе больше месяца.{note}

h2. Поиск информации в логах

h3. PayMaster

Журнал обращений к PayMaster по автоплатежам:
{code}tail /app/asr_fiscal/var/log/paysystems/PaymasterAutopay.log{code}

Искать ошибки можно такой командой:
{code:title=Команда}grep -n RESPONSE.*error /app/asr_fiscal/var/log/paysystems/PaymasterAutopay.log -B20 | grep -E 'RESPONSE|Contract_number'{code}
{code:title=Пример вывода}1131832- [description] => Contract_number: BILL0001234
1131844: [RESPONSE] => {"status":"failure","error":"does not exist","error_code":"invalid_token"}
1131920- [description] => Contract_number: BILL0004567
1131932: [RESPONSE] => {"status":"failure","error":"does not exist","error_code":"invalid_token"}
{code}
В error_code написана ошибка, описание которой можно найти в документации PayMaster https://paymaster.ru/docs/ru/direct/#errors

h4. invalid_token

Например, выше на оба запроса платежа PayMaster отвечает "invalid_token", на что документация платёжной системы пишет:
{quote}access_token является недействительным, т.к. не совпадает с предоставленным токеном, токен истек или был отменен клиентом{quote}

По этой ошибке уже можно сделать какие-то выводы: например, токен был создан более года назад, и тогда абоненту нужно заново подключить платёж.

h5. Решение

# Найдите когда платёж был подключен https://docs.carbonsoft.ru/pages/viewpage.action?pageId=65799222#Автоплатежи(рекуррентныеплатежи)-Подключениеавтоплатежа
# Если с момента подключения прошло больше года - скажите абоненту, что автоплатёж нужно подключить заново, так как он оформляется на один год, и это требование платёжной системы.

Если платёж был подключен менее года назад, тогда:
* скопируйте данные аудита
* скопируйте ошибку из лога вместе с командой, которой его искали
* составьте обращение на портале [HelpDesk|https://helpdesk.carbonsoft.ru/login.php]