Базовая механика
Базовая механика — это минимальный набор методов API Яндекс Пэй, с которыми можно принимать оплату в онлайн-магазине. Механика не рассматривает методы, с которыми можно настроить платежи по подписке, холдирование средств или привязать карту к аккаунту, но дает основополагающее представление о том, как работает сервис под капотом.
Описание базовой механики рассказывает, на каком этапе должно происходить формирование корзины, передача заказа из бэкенда магазина в бэкенд сервиса, формирование ссылки на оплату, авторизация покупателя и выбор способа оплаты, списание средств и уведомление о статусе платежа.
Изучите эту страницу прежде, чем переходить к подключению других механик.
Примечание
Данная механика поддерживает все способы оплаты: полная оплата (банковской картой или СБП с кешбэком), в Сплит.
Как это работает?
Настройте бэкенд и фронтенд своего магазина так, чтобы выполнялись следующие этапы проведения оплаты:
Схема проведения оплаты
Этап 1. Формирование корзины
-
Покупатель формирует корзину товаров на сайте продавца и нажимает кнопку оплаты Яндекс Пэй.
-
События после нажатия кнопки:
1. Yandex Pay SDK вызывает callback на фронтенде магазина.
2. Фронтенд магазина создает заказ на бэкенде магазина.
3. Бэкенд магазина передает заказ в бэкенд Яндекс Пэй методом /orders.
4. В ответ бэкенд Яндекс Пэй возвращает ссылку для перенаправления покупателя на фронтенд проведения оплаты в Яндекс Пэй.
5. Фронтенд магазина получает ссылку на заказ Пэй, которую транслирует в Yandex Pay SDK.
-
Yandex Pay SDK загружает с бэкенда Яндекс Пэй информацию о корзине товаров, которую необходимо оплатить покупателю.
-
Yandex Pay SDK отображает покупателю форму оплаты с информацией о корзине товаров.
- В случае Web SDK: происходит перенаправление на полученную ссылку для оплаты.
- В случае Mobile SDK: открывается формы для оплаты.
Важно
Запрещено встраивать Яндекс Пэй в WebView при подключении в мобильных приложениях. Это небезопасно.
Этап 2. Авторизация покупателя и оплата
-
Покупатель авторизуется со своим Яндекс ID, если не был авторизован.
-
Покупатель выбирает способ оплаты покупки (Пэй или Сплит) и нажимает Оплатить.
-
При оплате сразу с кешбэком пользователь выбирает сохраненную в Яндексе банковскую карту или СБП-привязку к счету.
- Если выбран Сплит, то покупатель выбирает количество платежей и совершает первый платеж со своих привязанных карт либо привязывает новую.
-
-
Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты покупателя.
-
Яндекс Пэй уведомляет продавца о статусе платежа через вызов /webhook, если был настроен Callback URL. Также бэкенд магазина может самостоятельно получить статус заказа через запрос /orders/{order_id}.
-
Яндекс Пэй перенаправляет покупателя на полученные в методе /orders ссылки для успешных или неуспешных оплат.
-
Деньги за покупку поступят продавцу на следующие сутки.
Возврат оплаты
Провести возврат можно двумя способами:
Статусы, которые мы высылаем в интеграции
Примечание
Статусы AUTHORIZED
, VOIDED
, CONFIRMED
и RECURRING
в текущей интеграции не используются.
Статусы при проведении оплаты:
|
Оплата еще в процессе, нужно запросить статус платежа позже. Не отправляется в нотификации. |
|
Оплата завершилась неудачно. Терминальный неуспешный статус. |
|
Оплата совершена. Терминальный успешный статус. |
Статусы при проведении возврата:
|
Процедура возврата неуспешна. Терминальный неуспешный статус. |
|
Возврат совершен. Терминальный успешный статус. |
|
Частичный возврат совершен. Терминальный успешный статус. |
Сценарии тестирования механики
Для качественной работы сервиса протестируйте его в тестовой и боевой среде перед приемом платежей пользователей.
Если вы настроили интеграцию по API Яндекс Пэй, в ходе тестирования рекомендуем использовать тестовые сценарии:
Сценарий |
Действия |
Ожидаемый результат |
Среда |
Успешная оплата. Callback URL задан в ЛК |
|
|
Test, Prod |
Успешная оплата. Callback URL не задан в ЛК |
|
|
Test, Prod |
Частичный возврат любого способа оплаты через API |
|
|
Test, Prod |
Полный возврат любого способа оплаты через API |
|
|
Test, Prod |
Успешная оплата банковской картой |
|
|
Prod |
Частичный возврат любого способа оплаты через ЛК |
|
Частичный возврат осуществлен и получен статус заказа |
Prod |
Полный возврат любого способа оплаты через ЛК |
|
Полный возврат осуществлен и получен статус заказа |
Prod |
Успешная оплата Сплит |
|
|
Prod |
Успешная оплата СБП |
|
|
Prod |
Проверка ежедневного отчета о продажах |
Оставьте без возврата успешные продажи на сумму не менее 500 рублей. |
На следующий день после тестов получен ежедневный отчет с операциями. Проверьте начисленную комиссию за успешную оплату. |
Prod |