Рекарринговые платежи
Рекарринговые платежи — платежи, которые совершаются по ранее привязанной карте, без повторного ввода данных со стороны покупателя. В отличие от рекуррентных платежей списание средств происходит по инициативе самого покупателя.
Такая механика оплаты позволяет онлайн-магазинам или сервисам привязывать карту покупателя к его аккаунту или использовать безакцептные сценарии оплаты.
Важно
Рекарринговые платежи не поддерживают способ оплаты Сплит.
Как это работает?
Примечание
Рекарринговые платежи не подключены по умолчанию и своей функциональностью дополняют базовую механику. Ознакомьтесь с ней, чтобы лучше понимать, как все работает. Подробнее о механиках оплаты читайте в разделе Способы оплаты и платежные механики.
Чтобы подключить и настроить рекарринговые платежи, обратитесь в поддержку.
Этап 1. Привязка карты
-
Покупатель нажимает кнопку привязки карты. Фронтенд магазина создает заказ на бэкенде магазина.
-
Бэкенд магазина отправляет запрос /merchant_v1_subscriptions к бэкенду Яндекс Пэй. В запросе должны быть параметры:
Параметр и значение
Описание
is_binding: true
Позволяет привязать карту без сформированной корзины товаров
currencyCode: RUB
Трехбуквенный код валюты заказа
orderId
Уникальный идентификатор заказа, будет использоваться в дальнейшем для списания средств
redirectUrls
Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн-магазинов
Полный список параметров и значений см. в Документации бэкенда.
-
В ответ бэкенд Яндекс Пэй возвращает ссылку на оплату (
paymentUrl
) и уникальный идентификатор подписки (subscriptionId
). -
Бэкенд магазина передает значение параметра
paymentUrl
на фронтенд, чтобы ссылка открылась в браузере покупателя. -
Покупатель привязывает карту:
- Открывает ссылку на оплату (привязку карты).
- Авторизуется с Яндекс ID, если не был авторизован ранее.
- Выбирает карту для привязки или добавляет новую.
- Подтверждает списание тестовой суммы (11 руб.) для проверки 3ds. Сумма будет возращена после прохождения проверки.
Если привязка прошла успешно, заказ перейдет в статус
CAPTURED
. Отслеживать статус заказа можно через:Уведомления
Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:
- Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
- Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа
Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй.
Возможные статусы заказа при привязке карты:
PENDING
Привязка карты в процессе
CAPTURED
Карта привязана
FAILED
Привязка карты завершилась с ошибкой или покупатель не успел привязать карту за отведенное ему время. В этом случае в поле
reason
будет указана причина ошибки -
После привязки карты фронтенд Яндекс Пэй переадресовывает покупателя на URL, переданный ранее в параметре
redirectUrls
(в зависимости от статуса привязки). -
В аккаунте пользователя:
-
Настройте отображение информации о привязанной карте (данные карты можно получить с помощью метода /orders/{order_id} в поле
paymentMethod
). Например:cardLast4
Последние 4 цифры привязанной карты
cardNetwork
Платежная система привязанной карты
-
Добавьте кнопку для привязки новой карты при помощи Яндекс Пэй.
-
Этап 2. Списание средств
Для списания средств настройте бэкенд магазина так, чтобы после формирования корзины товаров он вызывал метод /subscriptions/recur, и передавал в поле parentOrderId
параметр orderId
, заданный ранее при привязке карты.
Сумма заказа будет списана с карты, привязанной ранее. Если операция прошла успешно, заказ перейдет в статус CAPTURED
, а деньги за покупку поступят продавцу на следующие сутки.
Отслеживать статус заказа можно через:
Уведомления
Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:
- Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
- Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа
Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй.
Возможные статусы заказа при проведении оплаты:
PENDING |
Оплата в процессе |
CAPTURED |
Оплачен |
FAILED |
Оплата не прошла. В этом случае в поле |
Проверка привязки карты
Чтобы проверить, привязана ли карта к аккаунту в магазине или сервисе, используйте метод /subscriptions/{customer_subscription_id}. В запросе передайте параметры:
subscriptionId
— идентификатор подписки, полученный при привязке карты в ответе на запрос/merchant_v1_subscriptions
;check_card_active: true
— чтобы проверить привязку карты.
Если в ответе вернулся параметр is_card_active: null
, то привязанных карт нет.
Возврат средств
Провести возврат можно двумя способами: