Интеграция Яндекс.Кассы

Доработали Яндекс.Кассу для оплаты по ссылке с вводом любой суммы. Покупатель вводит сумму и платит без добавления товара в корзину. Чеки формируются по 54-ФЗ.

Краткая информация

  • Проект CamCoffee.ru
  • Платформа Shopify
  • Оплата Яндекс.Касса
  • Функционал Свободная сумма
  • 54-ФЗ Формирование чеков

Задача

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

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

Решение

Сделали отдельную страницу с платежной формой. Клиент переходит по ссылке, вводит сумму и платит через Яндекс.Кассу.

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

Менеджер отправляет клиенту ссылку на оплату. Клиент:

  1. Открывает ссылку
  2. Вводит сумму (или видит предзаполненную сумму)
  3. Нажимает "Оплатить"
  4. Переходит на страницу Яндекс.Кассы
  5. Вводит данные карты и подтверждает платеж

Никакой корзины, никаких товаров в каталоге. Просто форма для ввода суммы и кнопка оплаты.

Интеграция с Яндекс.Кассой

Яндекс.Касса подключена по email-протоколу. Форма отправляет POST-запрос с параметрами платежа.

Параметр ym_merchant_receipt

Главная сложность — формирование параметра `ym_merchant_receipt`. Это JSON-объект с данными для чека по 54-ФЗ.

В нем нужно передать:

  • Название товара или услуги
  • Количество (обычно 1)
  • Цену
  • НДС
  • Систему налогообложения

Без правильного параметра `ym_merchant_receipt` Яндекс.Касса не сформирует чек, и оплата не пройдет по закону.

Пример JSON

{
  "customerContact": "email@example.com",
  "items": [
    {
      "quantity": 1,
      "price": {
        "amount": 1000.00
      },
      "tax": 1,
      "text": "Подарочный сертификат"
    }
  ]
}

Безопасность транзакций

Оплата происходит на стороне Яндекс.Кассы. Данные карты не попадают на сайт магазина. Все транзакции защищены 3D-Secure.

Без привязки к корзине

Форма работает независимо от корзины Shopify. Не нужно создавать товары в каталоге, добавлять их в корзину, оформлять заказ.

Это удобно для оплаты услуг, сертификатов, донатов — всего, где нет фиксированного товара.

Сценарии использования

Такую форму можно использовать для:

  • Оплаты подарочных сертификатов на любую сумму
  • Оплаты услуг с индивидуальной стоимостью
  • Пополнения баланса личного кабинета
  • Оплаты счета по email или мессенджеру
  • Донатов и благотворительных взносов

Адаптация для InSales

Решение сделано для Shopify, но легко адаптируется под InSales. Принцип тот же — отдельная страница с формой оплаты.

Отличия при работе с InSales:

  • Используется InSales API вместо Shopify API
  • JavaScript для модификации данных перед отправкой
  • Другая структура данных для формирования чека
  • Liquid-шаблоны для вывода формы

Результат

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

Меньше шагов до оплаты — выше конверсия. Клиенту не нужно разбираться с корзиной и оформлением заказа.

Все чеки формируются правильно, соответствуют 54-ФЗ. Никаких проблем с налоговой.

Похожие кейсы

Теги

Shopify Яндекс.Касса ЮKassa 54-ФЗ JavaScript Email-протокол Платежная форма Эквайринг