Рекуррентные платежи

Рекуррентные платежи ещё называют автоплатежами – для покупателей это удобная возможность привязать банковскую карту и совершать повторные платежи без ввода данных карты.

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

Примечание

Данная механика пока не подходит для способа оплаты в Сплит.

Зачем это нужно?

Например, если вы предлагаете своим покупателям товары или услуги по подписке.

Как это работает?

Примечание

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

Подробнее о механиках оплаты — на этой странице.

Формирование подписки

Схема

image.png

  1. Настройте процесс формирования корзины товаров так, чтобы у покупателя была возможность выбрать вариант подписки и её условия:

    • период в единицах измерения времени и их количество;

    • сумма следующих списаний;

    • наличие пробного периода (триала): до конкретной даты или период с единицей измерения.

  2. Разместите кнопку оплаты Яндекс Пэй согласно общим рекомендациям. Нажатие на кнопку вызывает сallback на фронтенде партнёра.

  3. Настройте фронтенд магазина так, чтобы после нажатия кнопки оплаты Яндекс Пэй он создавал заказ на бэкенде магазина.

  4. Настройте бэкенд магазина так, чтобы при выборе варианта подписки, он передавал заказ в бэкенд Яндекс Пэй методом /subscriptions с заполнением параметров метода условиями подписки, которые были показаны или выбраны покупателем на этапе формирования корзины.

    В ответ бэкенд Яндекс Пэй вернёт в поле paymentUrl ссылку на форму оплаты Яндекс Пэй. Настройте передачу этой ссылки на фронтенд магазина.

  5. Настройте фронтенд магазина так, чтобы он транслировал полученную ссылку на оплату в SDK Яндекс Пэй.

  6. SDK Яндекс Пэй загружает с бэкенда Яндекс Пэй информацию о корзине товаров и отображает покупателю форму оплаты с информацией о корзине товаров и условиями подписки.

    • для Web SDK: происходит перенаправление на полученную ссылку для оплаты,

    • для Mobile SDK: открывается формы для оплаты.

  7. Покупатель приступает к оплате:

    • открывает ссылку на оплату,
    • авторизуется с Яндекс ID, если не был авторизован ранее,
    • выбирает способ оплаты и нажимает кнопку оплаты (в случае полной оплаты с кэшбеком выбирает сохранённую в Яндексе карту или СБП-привяку к счёту),
    • в случае выбора товара или услуги с пробным периодом, проходит процедуру привязки карты иподтверждает списание тестовой суммы (1 руб.) для проверки 3ds. Сумма (1 руб.) будет возращена после прохождения проверки.
  8. Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты покупателя.

  9. Чтобы получать уведомления о статусе оплаты, настройте бэкенд магазина так, чтобы он вызывал метод /orders/{order_id} или ожидал уведомления по /webhook (для этого настройте также параметр Callback URL в личном кабинете Яндекс Пэй).

    Статусы оплаты:

    PENDING

    Оплата в процессе. Повторите запрос позже.

    Статус не отправляется в уведомлениях.

    FAILED

    Оплата завершилась неудачей либо покупатель не успел привязать свою карту за отведенное ему время (параметр ttl).

    Терминальный неуспешный статус.

    CAPTURED

    Оплата прошла успешно.

    Терминальный успешный статус.

  10. Деньги за покупку поступят партнёру на следующие сутки. Если был у продукта подписки пробный период (триал), то денежные средства за покупку не перечисляются, продавцу нужно списать деньги самостоятельно в дату завершения пробного периода.

Списание средств продавцом

Продавец инициирует списание денежных средств у клиента по факту завершения предыдущей подписки или если завершился пробный период.

  1. Настройте бэкенд магазина так, чтобы после формирования корзины товаров для оплаты он вызывал метод /subscriptions/recur, и передавал в поле parentOrderId параметр orderId, чтобы произошла ассоциация новой оплаты с первоначальным платежом и списание стоимости,

  2. Чтобы получать уведомления о статусе оплаты, настройте бэкенд магазина так, чтобы он вызывал метод /orders/{order_id} или ожидал уведомления по /webhook (для этого настройте также параметр Callback URL в личном кабинете Яндекс Пэй).

    Статусы оплаты:

    PENDING

    Оплата в процессе. Повторите запрос позже.

    Статус не отправляется в уведомлениях.

    FAILED

    Оплата завершилась неудачей либо покупатель не успел привязать свою карту за отведенное ему время (параметр ttl).

    Терминальный неуспешный статус.

    CAPTURED

    Оплата прошла успешно.

    Терминальный успешный статус.

  3. Деньги за покупку поступят продавцу на следующие сутки.

Возврат оплаты

Можно провести возврат двумя способами:

  1. В личном кабинете в разделе Платежи,
  2. Через интеграцию по API.