Интеграция для онлайн-магазинов

Совет

Этот способ интеграции лучше всего, потому что использовать API Яндекс Пэй вместе с нашими готовыми библиотеками умных бейджей, виджетов и кнопок оплаты (SDK) очень удобно.

План интеграции

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

  2. На бэкенде продавца настройте передачу параметров оплаты с помощью метода /orders:

    Параметр Описание
    availablePaymentMethods Доступные клиенту методы оплаты
    cart Свойства корзины товаров, включая код и наименование товаров
  3. В разделе Настройки личного кабинета заполните поле Callback URL. Это адрес, на который Яндекс Пэй будет присылать /webhook по Merchant API.

  4. Настройте декодирование сообщений от Яндекс Пэй для получения уведомлений со статусами.

  5. Установите элементы фронтенда на примере гайда по правильной интеграции. Следуйте инструкциям по установке SDK для Web, Android или iOS в зависимости от используемой технологии.

    Как выглядят элементы фронтенда?

    Управляйте элементом, изменяя значения в выпадающих списках "Вариант", "Тип виджета", "Тема кнопки".

  6. Переключите среду с тестовой на боевую. Вы готовы принимать оплату!

  7. Не забудьте про фискализацию.

Способы оплаты для онлайн-магазинов

Схема

image

Клиентский путь проведения оплаты покупки выполняется в следующей последовательности:

  1. Покупатель формирует корзину товаров на сайте продавца. По факту готовности оплатить покупатель нажимает размещенную ранее продавцом кнопку оплаты Яндекс Пэй.

  2. После нажатия кнопки оплаты Яндекс Пэй:

    1. Из Yandex Pay SDK вызывается callback на фронтенде продавца.
    2. Фронтенд продавца создает заказ на бэкенде продавца.
    3. Бэкенд продавца передает заказ в бэкенд Yandex методом /orders. В ответ возвращается ссылка для перенаправления покупателя на фронтенд проведения оплаты в Yandex.
    4. Фронтенд продавца получает ссылку на заказ Пэй, которую транслирует в Yandex Pay SDK.
  3. Yandex Pay SDK загружает с бэкенда Yandex информацию о корзине товаров, которую необходимо оплатить покупателю.

  4. Yandex Pay SDK отображает покупателю форму оплаты с информацией о корзине товаров.

    1. В случае Web SDK происходит перенаправление на полученную ссылку для оплаты.
    2. В случае Mobile SDK открывается формы для оплаты.
  5. Покупатель авторизуется со своим Яндекс ID, если ранее он не был авторизован на Яндексе. Подробнее про использование сервиса Яндекс ID в вашей компании читайте в документации.

  6. Покупатель выбирает способ оплаты покупки (Пэй или Сплит) и нажимает кнопку оплаты.

    1. При оплате сразу с кешбэком пользователь выбирает сохраненную в Яндексе банковскую карту или СБП-привязку к счету.

    2. Если выбран Сплит, то покупатель выбирает интересующее количество платежей и выполняет первый платеж со своих привязанных карт либо привязывает новую.
  7. Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты покупателя.

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

    1. PENDING — оплата еще в процессе, нужно запросить статус платежа позже. В нотификации данный статус не отправляется.
    2. FAILED — оплата завершилась неудачно. Терминальный неуспешный статус.
    3. CAPTURED — оплата совершена. Терминальный успешный статус.
  9. Яндекс Пэй перенаправляет покупателя на полученные в методе /orders ссылки для успешных или неуспешных оплат.

  10. На следующие сутки продавцу осуществляется финансирование покупки.

Схема

image.png

Клиентский путь проведение оплаты рекуррентных платежей выполняется в следующей последовательности:

  1. Покупатель формирует корзину товаров на сайте продавца. Здесь же выбирает продукт “Подписка“ и его условия. Продукты могут быть следующего вида

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

    2. Сумма следующих списаний;

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

  2. По факту готовности оплатить покупатель нажимает размещенную ранее продавцом кнопку оплаты Яндекс Пэй.

  3. После нажатия кнопки оплаты Яндекс Пэй:

    1. Из SDK Яндекс Пэй вызывается callback на фронтенде продавца.

    2. Фронтенд продавца создает заказ на бэкенде продавца.

    3. Бэкенд продавца передает заказ в бэкенд Яндекс методом /subscriptions. В ответ возвращается ссылка для перенаправления покупателя на фронтенд проведения оплаты в Яндекс.

    4. Фронтенд продавца получает ссылку на заказ Пэй, которую транслирует в SDK Яндекс Пэй.

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

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

    1. В случае Web SDK происходит перенаправление на полученную ссылку для оплаты.

    2. В случае Mobile SDK открывается формы для оплаты.

  6. Покупатель авторизуется со своим Яндекс ID, если ранее он не был авторизован на Яндексе. Подробнее про использование сервиса Яндекс ID в вашей компании читайте в документации.

    1. Покупатель выбирает способ оплаты покупки и нажимает кнопку оплаты. На текущий момент процесс подписок не поддерживает оплату Сплитом.

      1. При оплате сразу с кешбэком пользователь выбирает сохраненную в Яндексе банковскую карту или СБП-привязку к счету.

      2. Если клиент выбрал продукт с Триалом, то запускается процесс привязки карты за продуктом путем списания и возврата символической суммы.

  7. Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты покупателя.

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

    1. PENDING — оплата еще в процессе, нужно запросить статус платежа позже. В нотификации данный статус не отправляется.

    2. FAILED — оплата завершилась неудачно. Терминальный неуспешный статус.

    3. CAPTURED — оплата совершена. Терминальный успешный статус.

  9. Яндекс Пэй перенаправляет покупателя на полученные в методе /subscriptions ссылки для успешных или неуспешных оплат.

  10. На следующие сутки продавцу осуществляется финансирование покупки. Если был у продукта подписки Триал, то денежные средства за покупку не перечисляются, продавцу нужно списать самостоятельно деньги в дату завершения Триала.

Списание денежных средств у клиента

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

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

  2. Яндекс Пэй связывает новую оплату с первоначальным платежом и списывает у клиента запрошенную продавцом стоимость заказа.

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

    1. PENDING — оплата еще в процессе, нужно запросить статус платежа позже. В нотификации данный статус не отправляется.

    2. FAILED — оплата завершилась неудачно. Терминальный неуспешный статус.

    3. CAPTURED — оплата совершена. Терминальный успешный статус.

  4. На следующие сутки продавцу осуществляется финансирование покупки.

Возврат платежа

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

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