Рекарринговые платежи

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

Такая механика оплаты позволяет онлайн-магазинам или сервисам привязывать карту покупателя к его аккаунту или использовать безакцептные сценарии оплаты.

Важно

Рекарринговые платежи не поддерживают способ оплаты Сплит.

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

Примечание

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

Чтобы подключить и настроить рекарринговые платежи, обратитесь в поддержку.

Этап 1. Привязка карты

  1. Покупатель нажимает кнопку привязки карты. Фронтенд магазина создает заказ на бэкенде магазина.

  2. Бэкенд магазина отправляет запрос /merchant_v1_subscriptions к бэкенду Яндекс Пэй. В запросе должны быть параметры:

    Параметр и значение

    Описание

    is_binding: true

    Позволяет привязать карту без сформированной корзины товаров

    currencyCode: RUB

    Трехбуквенный код валюты заказа

    orderId

    Уникальный идентификатор заказа, будет использоваться в дальнейшем для списания средств

    redirectUrls

    Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн-магазинов

    Полный список параметров и значений см. в Документации бэкенда.

  3. В ответ бэкенд Яндекс Пэй возвращает ссылку на оплату (paymentUrl) и уникальный идентификатор подписки (subscriptionId).

  4. Бэкенд магазина передает значение параметра paymentUrl на фронтенд, чтобы ссылка открылась в браузере покупателя.

  5. Покупатель привязывает карту:

    1. Открывает ссылку на оплату (привязку карты).
    2. Авторизуется с Яндекс ID, если не был авторизован ранее.
    3. Выбирает карту для привязки или добавляет новую.
    4. Подтверждает списание тестовой суммы (11 руб.) для проверки 3ds. Сумма будет возращена после прохождения проверки.

    Если привязка прошла успешно, заказ перейдет в статус CAPTURED. Отслеживать статус заказа можно через:

    Уведомления

    Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:

    1. Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
    2. Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
    Поллинг статуса заказа

    Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй.

    Возможные статусы заказа при привязке карты:

    PENDING

    Привязка карты в процессе

    CAPTURED

    Карта привязана

    FAILED

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

  6. После привязки карты фронтенд Яндекс Пэй переадресовывает покупателя на URL, переданный ранее в параметре redirectUrls (в зависимости от статуса привязки).

  7. В аккаунте пользователя:

    • Настройте отображение информации о привязанной карте (данные карты можно получить с помощью метода /orders/{order_id} в поле paymentMethod). Например:

      cardLast4

      Последние 4 цифры привязанной карты

      cardNetwork

      Платежная система привязанной карты

    • Добавьте кнопку для привязки новой карты при помощи Яндекс Пэй.

Этап 2. Списание средств

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

Сумма заказа будет списана с карты, привязанной ранее. Если операция прошла успешно, заказ перейдет в статус CAPTURED, а деньги за покупку поступят продавцу на следующие сутки.

Отслеживать статус заказа можно через:

Уведомления

Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:

  1. Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
  2. Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа

Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй.

Возможные статусы заказа при проведении оплаты:

PENDING

Оплата в процессе

CAPTURED

Оплачен

FAILED

Оплата не прошла. В этом случае в поле reason будет указана причина ошибки

Проверка привязки карты

Чтобы проверить, привязана ли карта к аккаунту в магазине или сервисе, используйте метод /subscriptions/{customer_subscription_id}. В запросе передайте параметры:

  • subscriptionId — идентификатор подписки, полученный при привязке карты в ответе на запрос /merchant_v1_subscriptions;
  • check_card_active: true — чтобы проверить привязку карты.

Если в ответе вернулся параметр is_card_active: null, то привязанных карт нет.

Возврат средств

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

  • в личном кабинете в разделе Платежи;
  • при помощи запросов к API.