Интеграция для офлайн-магазинов
Примечание
Для офлайн-магазинов стала доступна интеграция готовыми модулями кассовых программ.
План интеграции
-
Убедитесь, что в помещении, в котором располагается ваш офлайн-магазин, обеспечена стабильная работа мобильного интернета, чтобы клиент мог перейти к оплате.
-
Подайте заявку в личном кабинете и дождитесь письма об активации тестовой среды.
-
На бэкенде магазина настройте передачу параметров оплаты с помощью метода /orders:
Пример параметров
Параметр Описание availablePaymentMethods
Доступные клиенту методы оплаты cart
Свойства корзины товаров, включая код и наименование товаров managerId
Задаёт код продавца branchId
Задаёт код магазина -
Проверьте работу сервиса в тестовой среде:
- В верхнем правом углу страницы раздела Настройки включите опцию Тестовая среда.
- Заполните поле Callback URL тестовый, если хотите, чтобы Яндекс Пэй присылал уведомления по Merchant API.
- Настройте декодирование сообщений.
- Проведите тестирование.
-
После получения уведомления о подключении сервиса переключите среду с тестовой на боевую:
- В разделе Настройки скройте тестовые настройки, выключив опцию Тестовая среда.
- Заполните поле Callback URL.
- Выпустите API-ключ.
-
Не забудьте про фискализацию. Вы готовы принимать оплату!
Способы и механики оплаты для офлайн-магазинов
Проведение оплаты в офлайн-магазине с помощью Яндекс Пэй возможно двумя методами:
-
Прямой QR — оплата, при которой пользователь сканирует QR-код, который размещен на поверхностях продавца: мониторах, экранах телефонов менеджеров, чеках, ценниках и других носителях.
-
Обратный QR — оплата, при которой продавец сканирует QR-код, сформированный пользователем в приложении Яндекс Пэй.
Оплата покупки включает в себя несколько этапов.
-
Генерация прямого QR-кода.
-
Пользователь выбирает товары, которые он хочет купить.
-
Продавец формирует корзину товаров в кассовой программе.
Когда пользователь готов оплатить товары, продавец выбирает вид оплаты и нажимает кнопку создания заказа.
-
После нажатия кнопки оплаты на стороне партнера блокируется корзина товаров и создается заказ, который через бэкенд магазина передается в Яндекс Пэй с помощью метода /orders. В ответ возвращается ссылка на форму оплаты Яндекс Пэй для проведения оплаты пользователем.
Внимание
В методе /orders необходимо передать код продавца
managerId
и код магазинаbranchId
, в котором происходит оплата. Также продавец передает способы оплаты (Пэй и/или Сплит), доступные для этого заказа. -
На основе полученной ссылки на оплату необходимо сгенерировать QR-код и вывести его на один из носителей, доступных пользователю для сканирования камерой телефона или приложения Яндекс Пэй:
-
Экраны и мониторы.
-
Чек или распечатка QR-кода.
Возможно использование стороннего сервиса для создания QR-кода из ссылки. Например, можно использовать сервис QR Code Generator.
-
-
-
Оплата пользователем.
-
Пользователь сканирует созданный продавцом QR-код через камеру телефона или в приложении Яндекс Пэй:
-
Если у пользователя не установлено приложение Яндекс Пэй, то после перехода по ссылке или сканирования QR-кода процесс оплаты происходит в браузере.
-
Если у пользователя установлено приложение Яндекс Пэй, то после перехода по ссылке или сканирования QR-кода процесс оплаты происходит в приложении.
-
-
Пользователь переходит на форму оплаты Яндекс Пэй, которая содержит корзину и сумму к оплате.
-
Пользователь выбирает способ (оплата сразу с кешбэком или частями в сплит) и нажимает кнопку оплаты.
-
При оплате сразу с кешбэком пользователь выбирает сохраненную в Яндексе банковскую карту или СБП-привязку к счету.
-
При оплате частями пользователь выбирает количество платежей и производит оплату первого платежа со своей сохраненной в Яндексе банковской карты.
-
-
-
Проведение платежа.
-
Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты пользователя.
-
Яндекс Пэй уведомляет бэкенд магазина о статусе платежа через вызов /webhook, если был настроен Callback URL.
Бэкенд магазина может самостоятельно запросить статус заказа через запрос /orders/{order_id}.
Статусы оплаты
-
PENDING
— оплата еще в процессе, нужно запросить статус платежа позже. В уведомлении этот статус не отправляется.Продавец может прервать оплату с помощью метода /orders/{orderId}/rollback в одном из случаев:
-
Пользователь отказался от покупки.
-
Появилась необходимость отменить покупку.
-
Произошло зависание кассовой программы.
-
-
FAILED
— оплата завершилась неудачно. Терминальный неуспешный статус. -
CAPTURED
— оплата успешно совершена, можно печатать чек. Терминальный успешный статус.
-
-
Необходимо распечатать чек через кассовую программу. Покупка успешно совершена.
-
На следующий рабочий день деньги в размере полной стоимости покупки поступят на расчетный счет организации офлайн-магазина.
Схема процесса оплаты
Оплата покупки включает в себя несколько этапов.
-
Формирование корзины и заказа в кассовой программе.
-
Пользователь выбирает товары, которые он хочет купить.
-
Продавец сканирует товары и формирует корзину товаров в кассовой программе.
-
-
Оплата пользователем.
-
Пользователь в приложении Яндекс Пэй нажимает кнопку Оплатить, после чего формируется QR-код для предоставления продавцу.
-
Продавец считывает QR-код.
-
Бэкенд магазина вызывает метод /orders, в котором передаются:
-
Номер заказа.
-
Способ оплаты (оплата сразу с кешбэком или частями в сплит).
-
Корзина товаров.
-
Код продавца
managerId
и код магазинаbranchId
, в котором происходит оплата. -
Токен, считанный из QR-кода.
Статусы ответа
-
Успешный ответ — переход к ожиданию статуса оплаты.
-
Ошибка — некорректные данные или другие ошибки. В кассовой программе будет выводится сообщение с текстом ошибки.
-
Сервис недоступен или получен таймаут — кассовая программа отображает сообщение о недоступности сервиса.
-
-
Пользователь выбирает способ (оплата сразу с кешбэком или частями в сплит) и нажимает кнопку оплаты.
-
При оплате сразу с кешбэком пользователь выбирает сохраненную в Яндексе банковскую карту или СБП-привязку к счету.
-
При оплате частями пользователь выбирает количество платежей и производит оплату первого платежа со своей сохраненной в Яндексе банковской карты.
-
-
-
Проведение платежа.
-
Яндекс Пэй проводит платеж, списывая денежные средства с выбранной карты пользователя.
-
Яндекс Пэй уведомляет бэкенд магазина о статусе платежа через вызов /webhook, если был настроен Callback URL.
Бэкенд магазина может самостоятельно запросить статус заказа через запрос /orders/{order_id}.
Статусы оплаты
-
PENDING
— оплата еще в процессе, требуется запросить статус оплаты позже. В уведомлении этот статус не отправляется.Продавец может прервать оплату с помощью метода /orders/{orderId}/rollback в одном из случаев:
-
Пользователь отказался от покупки.
-
Появилась необходимость отменить покупку.
-
Произошло зависание кассовой программы.
-
-
FAILED
— оплата завершилась неудачно. Терминальный неуспешный статус. -
CAPTURED
— оплата успешно совершена, можно печатать чек. Терминальный успешный статус.
-
-
Необходимо распечатать чек через кассовую программу. Покупка успешно совершена.
-
На следующий рабочий день деньги в размере полной стоимости покупки поступят на расчетный счет организации офлайн-магазина.
Схема процесса оплаты
Проведение возврата
Проведение возврата возможно двумя способами: