Интеграция для онлайн-магазинов
Совет
Этот способ интеграции лучше всего, потому что использовать API Яндекс Пэй вместе с нашими готовыми библиотеками умных бейджей, виджетов и кнопок оплаты (SDK) очень удобно.
План интеграции
-
Подайте заявку в личном кабинете и дождитесь письма об активации тестовой среды,
-
На бэкенде продавца настройте передачу параметров оплаты с помощью метода /orders:
Параметр Описание availablePaymentMethods
Доступные клиенту методы оплаты cart
Свойства корзины товаров, включая код и наименование товаров -
В разделе Настройки личного кабинета заполните поле Callback URL. Это адрес, на который Яндекс Пэй будет присылать /webhook по Merchant API.
-
Настройте декодирование сообщений от Яндекс Пэй для получения уведомлений со статусами.
-
Установите элементы фронтенда на примере гайда по правильной интеграции. Следуйте инструкциям по установке SDK для Web, Android или iOS в зависимости от используемой технологии.
-
Переключите среду с тестовой на боевую. Вы готовы принимать оплату!
-
Не забудьте про фискализацию.
Способы оплаты для онлайн-магазинов
Клиентский путь проведения оплаты покупки выполняется в следующей последовательности:
-
Покупатель формирует корзину товаров на сайте продавца. По факту готовности оплатить покупатель нажимает размещенную ранее продавцом кнопку оплаты Яндекс Пэй.
-
После нажатия кнопки оплаты Яндекс Пэй:
- Из Yandex Pay SDK вызывается callback на фронтенде продавца.
- Фронтенд продавца создает заказ на бэкенде продавца.
- Бэкенд продавца передает заказ в бэкенд Yandex методом /orders. В ответ возвращается ссылка для перенаправления покупателя на фронтенд проведения оплаты в Yandex.
- Фронтенд продавца получает ссылку на заказ Пэй, которую транслирует в Yandex Pay SDK.
-
Yandex Pay SDK загружает с бэкенда Yandex информацию о корзине товаров, которую необходимо оплатить покупателю.
-
Yandex Pay SDK отображает покупателю форму оплаты с информацией о корзине товаров.
- В случае Web SDK происходит перенаправление на полученную ссылку для оплаты.
- В случае Mobile SDK открывается формы для оплаты.
-
Покупатель авторизуется со своим Яндекс ID, если ранее он не был авторизован на Яндексе. Подробнее про использование сервиса Яндекс ID в вашей компании читайте в документации.
-
Покупатель выбирает способ оплаты покупки (Пэй или Сплит) и нажимает кнопку оплаты.
-
При оплате сразу с кешбэком пользователь выбирает сохраненную в Яндексе банковскую карту или СБП-привязку к счету.
- Если выбран Сплит, то покупатель выбирает интересующее количество платежей и выполняет первый платеж со своих привязанных карт либо привязывает новую.
-
-
Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты покупателя.
-
Яндекс Пэй уведомляет продавца о статусе платежа через вызов /webhook, если был настроен Callback URL. Также бэкенд продавца может самостоятельно получить статус заказа через запрос /orders/{order_id}:
PENDING
— оплата еще в процессе, нужно запросить статус платежа позже. В нотификации данный статус не отправляется.FAILED
— оплата завершилась неудачно. Терминальный неуспешный статус.CAPTURED
— оплата совершена. Терминальный успешный статус.
-
Яндекс Пэй перенаправляет покупателя на полученные в методе /orders ссылки для успешных или неуспешных оплат.
-
На следующие сутки продавцу осуществляется финансирование покупки.
Клиентский путь проведение оплаты рекуррентных платежей выполняется в следующей последовательности:
-
Покупатель формирует корзину товаров на сайте продавца. Здесь же выбирает продукт “Подписка“ и его условия. Продукты могут быть следующего вида
-
Периодичность подписки в единицах измерения и их количество;
-
Сумма следующих списаний;
-
Наличие пробного периода (Триал): до конкретной даты или периодичность с единицей измерения
-
-
По факту готовности оплатить покупатель нажимает размещенную ранее продавцом кнопку оплаты Яндекс Пэй.
-
После нажатия кнопки оплаты Яндекс Пэй:
-
Из SDK Яндекс Пэй вызывается callback на фронтенде продавца.
-
Фронтенд продавца создает заказ на бэкенде продавца.
-
Бэкенд продавца передает заказ в бэкенд Яндекс методом /subscriptions. В ответ возвращается ссылка для перенаправления покупателя на фронтенд проведения оплаты в Яндекс.
-
Фронтенд продавца получает ссылку на заказ Пэй, которую транслирует в SDK Яндекс Пэй.
-
-
SDK Яндекс Пэй загружает с бэкенда Яндекс информацию о корзине товаров, которую необходимо оплатить покупателю.
-
SDK Яндекс Пэй отображает покупателю форму оплаты с информацией о корзине товаров и условиями подписки.
-
В случае Web SDK происходит перенаправление на полученную ссылку для оплаты.
-
В случае Mobile SDK открывается формы для оплаты.
-
-
Покупатель авторизуется со своим Яндекс ID, если ранее он не был авторизован на Яндексе. Подробнее про использование сервиса Яндекс ID в вашей компании читайте в документации.
-
Покупатель выбирает способ оплаты покупки и нажимает кнопку оплаты. На текущий момент процесс подписок не поддерживает оплату Сплитом.
-
При оплате сразу с кешбэком пользователь выбирает сохраненную в Яндексе банковскую карту или СБП-привязку к счету.
-
Если клиент выбрал продукт с Триалом, то запускается процесс привязки карты за продуктом путем списания и возврата символической суммы.
-
-
-
Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты покупателя.
-
Яндекс Пэй уведомляет продавца о статусе платежа через вызов /webhook, если был настроен Callback URL. Также бэкенд продавца может самостоятельно получить статус заказа через запрос /orders/{order_id}:
-
PENDING
— оплата еще в процессе, нужно запросить статус платежа позже. В нотификации данный статус не отправляется. -
FAILED
— оплата завершилась неудачно. Терминальный неуспешный статус. -
CAPTURED
— оплата совершена. Терминальный успешный статус.
-
-
Яндекс Пэй перенаправляет покупателя на полученные в методе /subscriptions ссылки для успешных или неуспешных оплат.
-
На следующие сутки продавцу осуществляется финансирование покупки. Если был у продукта подписки Триал, то денежные средства за покупку не перечисляются, продавцу нужно списать самостоятельно деньги в дату завершения Триала.
Списание денежных средств у клиента
Продавец инициирует списание денежных средств у клиента по факту завершения предыдущей подписки или если завершился пробный период:
-
По факту наступления необходимости списания у клиента очередного платежа, бэкенд продавца формирует новую корзину товаров для оплаты и вызывает метод /subscriptions/recur, где передает так же orderId первоначального платежа.
-
Яндекс Пэй связывает новую оплату с первоначальным платежом и списывает у клиента запрошенную продавцом стоимость заказа.
-
Яндекс Пэй уведомляет продавца о статусе платежа через вызов /webhook, если был настроен Callback URL. Также бэкенд продавца может самостоятельно получить статус заказа через запрос /orders/{order_id}:
-
PENDING
— оплата еще в процессе, нужно запросить статус платежа позже. В нотификации данный статус не отправляется. -
FAILED
— оплата завершилась неудачно. Терминальный неуспешный статус. -
CAPTURED
— оплата совершена. Терминальный успешный статус.
-
-
На следующие сутки продавцу осуществляется финансирование покупки.
Возврат платежа
Проведение возврата возможно двумя способами:
- В личном кабинете в разделе Платежи.
- Через интеграцию по API.