Не переживайте, с вашими деньгами все в порядке

В результате атак БПЛА пострадали инфраструктуры дата-центров Яндекса. Мы делаем все возможное для восстановления работы наших сервисов.

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

Спасибо за понимание и терпение.

Базовая механика

Базовая механика — это минимальный набор методов API Яндекс Пэй, с которыми можно принимать оплату в онлайн-магазине. Механика не рассматривает методы, с которыми можно настроить платежи по подписке, холдирование средств или привязать карту к аккаунту, но дает основополагающее представление о том, как работает сервис под капотом.

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

Изучите эту страницу прежде, чем переходить к подключению других механик.

Примечание

Данная механика поддерживает все способы оплаты: полная оплата (банковской картой или СБП с кешбэком), в Сплит.

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

Настройте бэкенд и фронтенд своего магазина так, чтобы выполнялись следующие этапы проведения оплаты:

Схема проведения оплаты

Схема проведения оплаты: формирование корзины, создание заказа, оплата, списание средств

Совет

Для знакомства с платежными механиками API Яндекс Пэй используйте готовую Postman-коллекцию.

Скачать коллекцию

Этап 1. Формирование корзины

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

  2. События после нажатия кнопки:

    1. Yandex Pay SDK вызывает callback на фронтенде магазина.

    2. Фронтенд магазина создает заказ на бэкенде магазина.

    3. Бэкенд магазина передает заказ в бэкенд Яндекс Пэй методом /orders.

    Примечание

    Если используется касса АТОЛ Онлайн или CloudKassir и в личном кабинете Яндекс Пэй подключена фискализация, в методе /orders должны передаваться обязательные для фискализации поля.

    4. В ответ бэкенд Яндекс Пэй возвращает ссылку для перенаправления покупателя на фронтенд проведения оплаты в Яндекс Пэй.

    5. Фронтенд магазина получает ссылку на заказ Пэй, которую транслирует в Yandex Pay SDK.

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

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

    • В случае Web SDK: происходит перенаправление на полученную ссылку для оплаты.
    • В случае Mobile SDK: открывается форма для оплаты.

    Важно

    Запрещено встраивать Яндекс Пэй в WebView при подключении в мобильных приложениях. Это небезопасно.

Этап 2. Авторизация покупателя и оплата

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

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

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

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

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

  6. Деньги за покупку поступят продавцу на следующие сутки.

Возврат оплаты

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

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

Минимальная сумма возврата — 1 рубль.

Статусы, которые мы высылаем в интеграции

Примечание

Статусы AUTHORIZED, VOIDED, CONFIRMED и RECURRING в текущей интеграции не используются.

Статусы при проведении оплаты:

PENDING

Оплата еще в процессе, нужно запросить статус платежа позже. Не отправляется в нотификации.

FAILED

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

CAPTURED

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

Статусы при проведении возврата:

FAILED

Процедура возврата неуспешна. Терминальный неуспешный статус.

REFUNDED

Возврат совершен. Терминальный успешный статус.

PARTIALLY_REFUNDED

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

Сценарии тестирования механики

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

Если вы настроили интеграцию по API Яндекс Пэй, в ходе тестирования рекомендуем использовать тестовые сценарии:

Сценарий

Действия

Ожидаемый результат

Среда

Успешная оплата. Callback URL задан в ЛК

  1. Задайте Callback URL в ЛК.
  2. Проведите оплату через сервис Пэй/Сплит.
  3. Проверьте изменение статуса в CRM на успешный на основании webhook.
  1. Получен webhook с статусом заказа CAPTURED.
  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Test, Prod

Успешная оплата. Callback URL не задан в ЛК

  1. Не задавайте Callback URL в ЛК.
  2. Проведите оплату через сервис Пэй/Сплит.
  3. Проверьте изменение статуса в CRM на успешный на основании опроса статуса.
  1. В методе /orders/{order_id} получен статус заказа CAPTURED. Webhook не отправляется.
  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Test, Prod

Частичный возврат любого способа оплаты через API

  1. Проведите оплату через сервис Пэй/Сплит.
  2. В кассовом ПО или CRM выберите несколько товаров к возврату и осуществите его.

  1. Частичный возврат осуществлен и получен статус заказа PARTIALLY_REFUNDED в webhook или на метод /orders/{order_id}.
  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек возврата и передан клиенту и в ФНС.

Test, Prod

Полный возврат любого способа оплаты через API

  1. Проведите оплату через сервис Пэй/Сплит.
  2. В кассовом ПО или CRM выберите весь чек к возврату и осуществите его.

  1. Полный возврат осуществлен и получен статус заказа REFUNDED в webhook или на метод /orders/{order_id}.
  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек возврата и передан клиенту и в ФНС.

Test, Prod

Успешная оплата банковской картой

  1. Проведите оплату через сервис Пэй/Сплит с использованием банковской карты.
  2. Проверьте изменение статуса в CRM на успешный на основании опроса статуса.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса /orders/{order_id} получен статус CAPTURED.
  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Prod

Частичный возврат любого способа оплаты через ЛК

  1. Проведите оплату через сервис Пэй/Сплит.
  2. В ЛК Яндекс Пэй найдите платеж и сделайте частичный возврат товаров.

Частичный возврат осуществлен и получен статус заказа PARTIALLY_REFUNDED в webhook.

Prod

Полный возврат любого способа оплаты через ЛК

  1. Проведите оплату через сервис Пэй/Сплит.
  2. В ЛК Яндекс Пэй найдите платеж и сделайте полный возврат товаров.

Полный возврат осуществлен и получен статус заказа REFUNDED в webhook или на метод orders/{order_id}.

Prod

Успешная оплата Сплит

  1. Проведите оплату через сервис Пэй/Сплит с использованием Сплита.
  2. Проверьте изменение статуса в CRM на успешный на основании опроса статуса.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса /orders/{order_id} получен статус CAPTURED.

  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Prod

Успешная оплата СБП

  1. Проведите оплату через сервис Пэй/Сплит с использованием СБП.
  2. Проверьте изменение статуса в CRM на успешный на основании опроса статуса.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса /orders/{order_id} получен статус CAPTURED.
  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Prod

Проверка ежедневного отчета о продажах

Оставьте без возврата успешные продажи на сумму не менее 500 рублей.

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

Prod