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

Примечание

Для офлайн-магазинов стала доступна интеграция готовыми модулями кассовых программ.

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

  1. Убедитесь, что в помещении, в котором располагается ваш офлайн-магазин, обеспечена стабильная работа мобильного интернета.

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

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

    Пример параметров
    Параметр Описание
    availablePaymentMethods Доступные клиенту методы оплаты
    cart Свойства корзины товаров, включая код и наименование товаров
    managerId Задаёт код продавца
    branchId Задаёт код магазина
  4. В разделе Настройки личного кабинета заполните поле Callback URL, если хотите, чтобы Яндекс Пэй присылал уведомления по Merchant API, а также настройте декодирование сообщений,

  5. Протестируйте работу сервиса,

  6. Переключите среду с тестовой на боевую,

  7. Не забудьте про фискализацию. Вы готовы принимать оплату!

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

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

  • Прямой QR — оплата, при которой пользователь сканирует QR-код, который размещен на поверхностях продавца: мониторах, экранах телефонов менеджеров, чеках, ценниках и других носителях.

  • Обратный QR — оплата, при которой продавец сканирует QR-код, сформированный пользователем в приложении Яндекс Пэй.

Оплата покупки включает в себя несколько этапов.

image

  1. Генерация прямого QR-кода.

    1. Пользователь выбирает товары, которые он хочет купить.

    2. Продавец формирует корзину товаров в кассовой программе.

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

    3. После нажатия кнопки оплаты на стороне партнера блокируется корзина товаров и создается заказ, который через бэкенд магазина передается в Яндекс Пэй с помощью метода /orders. В ответ возвращается ссылка на форму оплаты Яндекс Пэй для проведения оплаты пользователем.

      Внимание

      В методе /orders необходимо передать код продавца managerId и код магазина branchId, в котором происходит оплата. Также продавец передает способы оплаты (Пэй и/или Сплит), доступные для этого заказа.

    4. На основе полученной ссылки на оплату необходимо сгенерировать QR-код и вывести его на один из носителей, доступных пользователю для сканирования камерой телефона или приложения Яндекс Пэй:

      • Экраны и мониторы.

      • Чек или распечатка QR-кода.

      • Ценник на товар.

      Возможно использование стороннего сервиса для создания QR-кода из ссылки. Например, можно использовать сервис QR Code Generator.

  2. Оплата пользователем.

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

      • Если у пользователя не установлено приложение Яндекс Пэй, то после перехода по ссылке или сканирования QR-кода процесс оплаты происходит в браузере.

      • Если у пользователя установлено приложение Яндекс Пэй, то после перехода по ссылке или сканирования QR-кода процесс оплаты происходит в приложении.

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

    3. Пользователь выбирает способ (оплата сразу с кешбэком или частями в сплит) и нажимает кнопку оплаты.

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

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

  3. Проведение платежа.

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

    2. Яндекс Пэй уведомляет бэкенд магазина о статусе платежа через вызов /webhook, если был настроен Callback URL.

      Бэкенд магазина может самостоятельно запросить статус заказа через запрос /orders/{order_id}.

      Статусы оплаты
      • PENDING — оплата еще в процессе, нужно запросить статус платежа позже. В уведомлении этот статус не отправляется.

        Продавец может прервать оплату с помощью метода /orders/{orderId}/rollback в одном из случаев:

        • Пользователь отказался от покупки.

        • Появилась необходимость отменить покупку.

        • Произошло зависание кассовой программы.

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

      • CAPTURED — оплата успешно совершена, можно печатать чек. Терминальный успешный статус.

    3. Необходимо распечатать чек через кассовую программу. Покупка успешно совершена.

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

Схема процесса оплаты

image

Оплата покупки включает в себя несколько этапов.

image

  1. Формирование корзины и заказа в кассовой программе.

    1. Пользователь выбирает товары, которые он хочет купить.

    2. Продавец сканирует товары и формирует корзину товаров в кассовой программе.

  2. Оплата пользователем.

    1. Пользователь в приложении Яндекс Пэй нажимает кнопку Оплатить, после чего формируется QR-код для предоставления продавцу.

    2. Продавец считывает QR-код.

    3. Бэкенд магазина вызывает метод /orders, в котором передаются:

      • Номер заказа.

      • Способ оплаты (оплата сразу с кешбэком или частями в сплит).

      • Корзина товаров.

      • Код продавца managerId и код магазина branchId, в котором происходит оплата.

      • Токен, считанный из QR-кода.

      Статусы ответа
      • Успешный ответ — переход к ожиданию статуса оплаты.

      • Ошибка — некорректные данные или другие ошибки. В кассовой программе будет выводится сообщение с текстом ошибки.

      • Сервис недоступен или получен таймаут — кассовая программа отображает сообщение о недоступности сервиса.

    4. Пользователь выбирает способ (оплата сразу с кешбэком или частями в сплит) и нажимает кнопку оплаты.

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

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

  3. Проведение платежа.

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

    2. Яндекс Пэй уведомляет бэкенд магазина о статусе платежа через вызов /webhook, если был настроен Callback URL.

      Бэкенд магазина может самостоятельно запросить статус заказа через запрос /orders/{order_id}.

      Статусы оплаты
      • PENDING — оплата еще в процессе, требуется запросить статус оплаты позже. В уведомлении этот статус не отправляется.

        Продавец может прервать оплату с помощью метода /orders/{orderId}/rollback в одном из случаев:

        • Пользователь отказался от покупки.

        • Появилась необходимость отменить покупку.

        • Произошло зависание кассовой программы.

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

      • CAPTURED — оплата успешно совершена, можно печатать чек. Терминальный успешный статус.

    3. Необходимо распечатать чек через кассовую программу. Покупка успешно совершена.

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

Схема процесса оплаты

image

Проведение возврата

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

  • В личном кабинете в разделе Платежи.

  • Через интеграцию по API.