Автоплатёж
Автоплатёж — опция, которая позволяет автоматически пополнять ваш баланс, когда он приближается к нулю.
Правила обработки автоплатежей
Когда наступает момент совершения автоплатежа для проекта создается задача AddAutoPayment. Найти её и отследить статус можно в разделе Задачи во вкладке Общие проекты.
Виды статусов:
Completed (Выполнен)
Наиболее применимый статус задачи по отношению к автоплатежам. В него переводятся задачи в случае:
- Успешного автоплатежа.
- Неуспешного платежа, когда точно понятно, что платёж провести не удастся. Сюда попадают все или большая часть ошибок прикладного уровня от платёжной системы:
- Недостаточный баланс.
- Карта просрочена.
- Общий отказ эмитента.
- Требуется дополнительная аутентификация.
- Другие подобные.
Перевод в этот статус не означает, что платёж действительно произошёл. Этот статус информирует только о том, что была совершена попытка автоплатежа и препятствий для совершения новой попытки нет. Нотификация отправляется в любом случае.

Рисунок 1. Нотификация об успешном платеже со статусом Completed

Рисунок 2. Нотификация о неуспешном платеже со статусом Completed
Failed (Ошибка выполнения)
В этот статус задача переводится в случае:
- Всех ошибок, которые заранее невозможно классифицировать по частоте возникновения и возможности автоматической обработки (то есть по умолчанию все остальные, не входящие в предыдущий пункт).
- Ошибок, когда важно обратить внимание технической поддержки на возникшую проблему. Например:
- Ошибка неверного (истёкшего) ключа (токена) API.
- Ошибка десериализации ответа от сервера.
- Ошибка неверного запроса (в общем смысле).
- Другие подобные.
Кроме нотификации пользователя никакие другие действия не предпринимаются. При повторных исключениях (например, в случае перезапуска) нотификация повторяется.
Детализация проблемы
Любой перевод в статус логируется с указанием причины перевода.
ErrorMessage задачи содержит описание ошибки из платёжной системы, если такое присылается.
Например:
The operation failed. Result type: Com.Cloudmng.Shared.Commands.VoidCommandResult
Подключение автоплатежа
Для того чтобы опция автоплатеж стала доступна пользователям панели управления, её необходимо включить в административной панели.
Платёжные методы, которые поддерживают опцию автоплатёж:
- Stripe.
- CloudPayments.
- BePaid.
1. Перейдите в раздел Платёжные методы вкладки Партнёры.

Рисунок 3. Платёжные методы
2. Выберите метод оплаты из списка, справа откроется карточка метода. В карточке нажмите Подключить автоплатёж

Рисунок 4. Карточка метода оплаты
Подтвердите подключение автоплатежа.

Рисунок 5. Подтверждение подключения автоплатежа
Подключение автоплатежа нескольким платёжным шлюзам
В рамках одного партнёра автоплатёж может быть подключён нескольким шлюзам.
У проекта может быть только 1 автоплатёж. Наиболее приоритетным для использования автоплатежа будет тот шлюз, у которого меньший порядковый номер.
Например, у нас есть подключенный шлюз A с порядковым номером 10, для которого включен автоплатёж. Мы подключаем шлюз B с порядковым номером 5, для которого тоже включаем автоплатёж. Шлюз A отключаем, для обычной оплаты он не доступен.
Для пользователей с уже подключенным автоплатежом к шлюзу A, эти автоплатежи должны остаться рабочими и отображаться в UI панели управления. Для пользователей, у которых ещё нет автоплатежа — новый автоплатёж должен подключаться к шлюзу B.
После отключении автоплатежа от шлюза A, подключение нового автоплатежа возможно только к шлюзу B.
Отключение автоплатежа
Для отключения перейдите в раздел Платёжные методы вкладки Партнёры. В карточке платежного метода нажмите Отключить автоплатёж.

Рисунок 6. Отключение автоплатежа
В открывшемся окне подтвердите отключение.

Рисунок 7. Отключение автоплатежа
Автоплатёж отключается автоматически, если:
- По конкретному автоплатежу было совершено более 10 неуспешных попыток подряд.
- Карта просрочена или постоянно требует дополнительную аутентификацию.
При отключении автоплатежа пользователю отправляется нотификация.
При отключении опции автоплатежа в административной панели все сохраненные автоплатежи на проекте пользователей будут отключены.