Использование SDK — Прием оплаты API Яндекс.Кассы
Официальные библиотеки:
Библиотеки, разработанные сообществом:
С помощью мобильных SDK Яндекс.Кассы вы можете встроить платежную форму в ваше мобильное приложение на iOS и Android. Пользователям не придется во время оплаты переходить на страницу Яндекс.Кассы для ввода платежных данных.
Мобильные SDK обменивают данные, которые ввел пользователь, на одноразовый платежный токен. Вам нужно отправить этот токен Яндекс.Кассе в запросе на создание платежа.Способы оплаты, которые поддерживает SDK: банковская карта, Apple Pay, Сбербанк Онлайн, Яндекс.ДеньгиТребования: iOS 8.0, 9, 10, 11 и 12
Есть демо-приложение
Подробнее об iOS SDKСпособы оплаты, которые поддерживает SDK: банковская карта, Google Pay, Сбербанк Онлайн, Яндекс.ДеньгиТребования: Android 4.0 (API 14) или новее
Есть демо-приложение
Подробнее об Android SDKС помощью веб SDK Яндекс.Кассы вы можете встроить платежную форму в ваш сайт. Пользователям не придется во время оплаты переходить на страницу Яндекс.Кассы для ввода платежных данных. Виджет Яндекс.Кассы позволяет встроить платежную форму с несколькими способами оплаты, YandexCheckout.js и YandexCheckout UI — только форму для оплаты банковской картой.
Позволяет встроить форму для приема платежей, в которой пользователь выбирает способ оплаты и вводит данные. В процессе оплаты вам не надо взаимодействовать с пользователем — Яндекс.Касса сделает это за вас.
Платеж будет проходить по самому простому сценарию.
Способы оплаты, которые поддерживает SDK: банковская карта, Apple Pay, Google Pay, Яндекс.Деньги, Сбербанк ОнлайнПодробнее о виджете Яндекс.КассыSDK устарел. Для встраивания формы рекомендуется использовать виджет.Позволяет создать платежную форму для сбора данных банковской карты. SDK обменивает собранные данные на платежный токен. Вам нужно отправить его Яндекс.Кассе в запросе на создание платежа и реализовать нужный сценарий подтверждения.Вы можете использовать свой дизайн или готовый (с помощью YandexCheckout UI).
Подробнее о YandexCheckout.jsSDK устарел. Для встраивания формы рекомендуется использовать виджет.Готовая платежная форма для работы с YandexCheckout.js. Дизайн формы меняется в зависимости от данных банковской карты. SDK проверяет корректность введенных данных «на лету».
Подробнее о YandexCheckout UIОбработка входящих уведомлений с помощью SDKБыстрый стартСценарии интеграцииПлатежный токенkassa.yandex.ru
Прием платежей на сайте. Яндекс.Касса
Система приема электронных платежей — Яндекс.Касса — упрощает оплату услуг и товаров на сайтах, в онлайн-сервисах, интернет-магазинах и в офлайне. С ее помощью вы можете выставлять счета, сохранять платежную информацию для повторных списаний, совершать возвраты и решать другие задачи, связанные с интернет-платежами.
Подключить КассуПокупатель переходит с вашего сайта в Кассу по кнопке «Заплатить через Яндекс», выбирает оплату банковской картой, электронными деньгами, через интернет-банкинг или другой удобный способ и платит в два счета. Деньги зачисляются уже на следующий день.
Установка системы приема платежей на сайте вам ничего не стоит, кроме того, в Яндекс.Кассе нет абонентской платы. Комиссия берется только с успешных платежей.
Как подключить
Касса встраивается в интернет-магазин, сервис для управления клиентами и в любую другую электронную систему. Также можно принимать платежи без сайта: подпишите договор с Кассой и пользуйтесь сервисом выставления счетов, мобильным терминалом или другими удобными опциями.
В любом случае нужно разобраться с документами и настройками. Все этапы подключения проходят онлайн:
Отправьте заявку, и у вас появится личный кабинет.
В личном кабинете заполните анкету об организации, загрузите копии требуемых документов (обязателен только паспорт руководителя). На основе этих данных мы сможем заключить договор
Заполните техническую анкету.
Интегрируйте систему приема платежей с сайтом: встройте платежные формы и настройте взаимодействие с Кассой. Без интеграции выставлять счета клиентам можно из личного кабинета или через мобильный терминал.
Проверьте, что прием платежей работает.
Тарифы на прием платежей
Касса берет процент только с успешного платежа в момент, когда деньги перечисляются на счет компании. Размер комиссии зависит от вида деятельности, общего оборота и способа платежа.
Базовый уровень комиссии. Действует по умолчанию при обороте до 1 000 000 ₽ в месяц.
Премиум-уровень. При обороте от 1 000 000 ₽ в месяц можно перейти на более выгодный процент.
Если у вашей компании оборот более 5 000 000 ₽ в месяц, мы готовы предложить индивидуальные условия.
Чтобы поменять тариф, напишите менеджеру: [email protected]
Посмотреть тарифы
Способы приема платежей на сайте
Способы, которыми вам будут платить клиенты, вы выбираете при заключении договора с Кассой – список можно посмотреть в личном кабинете. Чтобы добавить новый способ, напишите менеджеру.
Вы можете выбрать следующие варианты получения оплаты:
Банковские карты. По умолчанию принимаются платежи с карт Visa (в том числе Electron), Maestro, Masterсard и Мир, выпущенных в России и по всему миру.
Электронные деньги – Яндекс.Деньги, WebMoney, QIWI Wallet.
Интернет-банкинг – Альфа-Клик, Сбербанк Онлайн, интернет-банк Промсвязьбанка, MasterPass.
Продажи в кредит. Проводим платежи через сервис «Заплатить по частям». Покупатель оформляет заявку и в течение нескольких минут получает решение банка. Погашение контролируется кредитной организацией, вы при этом ничем не рискуете.
Баланс телефона. Принимаем оплату со счетов мобильных телефонов, подключенных к Мегафону, Билайну, МТС и Tele2.
Оплата наличными в терминалах, банкоматах и салонах связи возможна в России и странах СНГ: Армении, Беларуси, Грузии, Казахстане, Кыргызстане, Латвии, Молдове, Таджикистане.
Дополнительные функции
Сделайте оплату проще при помощи дополнительных услуг:
Автоплатежи. Позволяют списывать нужную сумму в заданный срок без участия клиента.
Привязка карты. Возможность для постоянных клиентов платить без ввода данных карты.
Предавторизация. Оплата списывается со стороны магазина, при отмене заказа вы сможете легко вернуть клиенту деньги. Комиссия не взимается.
Отправка счета в чате на сайте, социальных сетях и мессенджерах. Отправляйте покупателю платежную кнопку, по которой он сможет перейти в Кассу и заплатить удобным способом.
Выставление счетов в смс. Вы отправляете онлайн-запрос на списание нужной суммы. Клиенту приходит смс со счетом. Он подтверждает оплату ответом на это сообщение.
Выставление счетов по электронной почте. Отправляйте счета клиентам из личного кабинета Кассы.
Оплата через Apple Pay. Владельцу смартфона достаточно подтвердить платеж кодом или отпечатком пальца.
Платежи через бота в Telegram. Создайте своего бота и привяжите его к нашему по инструкции.
Все опции активируются бесплатно. Подключение оговаривается с менеджером при заключении договора.
За платежами — в Кассу
Подключайте Яндекс.Кассу, это удобный и надежный сервис для приема платежей.
Подлкючить Кассуkassa.yandex.ru
Обязательные параметры | |||
shopId | long | Идентификатор магазина, выдается при подключении к Яндекс.Кассе. | |
scid | long | Идентификатор витрины магазина, выдается при подключении к Яндекс.Кассе. | |
sum | CurrencyAmount | Сумма заказа. Note.Сумма заказа может не передаваться только в одном случае: при оплате наличными через терминалы, по коду платежа (paymentType=GP). Тогда код платежа становится многоразовым. При каждом платеже по этому коду магазину перечисляется сумма, внесенная пользователем в терминал. | |
customerNumber | normalizedString | 128 символов | Идентификатор плательщика в системе магазина. В качестве идентификатора может использоваться номер договора плательщика, логин плательщика и т. п. Допустимы повторные оплаты по одному и тому же идентификатору плательщика. Допустимые символы:
|
Необязательные параметры | |||
orderNumber | normalizedString | 64 символа | Уникальный номер заказа в системе магазина. Уникальность контролируется Яндекс.Кассой в сочетании с параметром shopId. Если платеж с таким номер заказа уже был успешно проведен или в процессе платежа возникла ошибка, то повторные попытки оплаты будут отвергнуты Яндекс.Кассой. |
shopArticleId | long | Идентификатор товара, выдается при подключении к Яндекс.Кассе. Применяется, если магазин использует несколько платежных форм для разных товаров. | |
shopSuccessURL | string, URL path | 250 символов | URL, на который будет вести ссылка Вернуться в магазин со страницы успешного платежа. В зависимости от настроек магазина: См. Параметры подключения |
shopFailURL | string, URL path | 250 символов | URL, на который будет вести ссылка Вернуться в магазин со страницы ошибки платежа. В зависимости от настроек магазина: См. Параметры подключения |
shopDefaultUrl | string, URL path | 250 символов | URL, на который будет вести ссылка Вернуться в магазин, когда процесс платежа на стороне Яндекс.Кассы завершен, но для завершения оплаты необходимы дополнительные действия пользователя. Страницы, на которых отображается эта ссылка: Если этот параметр задан, то на этот же URL будет вести ссылка Вернуться в магазин со страницы подтверждения оплаты. Если shopDefaultUrl не задан, эта ссылка ведет на Адрес сайта из настроек. |
cps_email | string | 100 символов | Адрес электронной почты плательщика. Если он передан, то соответствующее поле на странице подтверждения платежа будет предзаполнено (шаг 3 на схеме платежа). Допустимо передавать только адрес электронной почты (проверяется соответствие). Restriction.Этот параметр не передается в запросах checkOrder и paymentAviso. |
cps_phone | string | 15 символов, только цифры | Номер мобильного телефона плательщика. Если он передан, то соответствующее поле на странице подтверждения платежа будет предзаполнено (шаг 3 на схеме платежа). Restriction.Этот параметр не передается в запросах checkOrder и paymentAviso. |
paymentType | normalizedString | 5 символов | Способ оплаты. Рекомендуем передавать в этом поле пустое значение, в этом случае выбор способа оплаты будет происходить на стороне Яндекс.Кассы. Примеры: Полный список значений Restriction.Если в платежной форме указан способ оплаты, который не разрешен для магазина, плательщик не сможет совершить платеж. |
ym_merchant_receipt | string | Данные для формирования чека в формате JSON. Параметр передается и является обязательным, если вы настроили взаимодействие со своей онлайн-кассой через Яндекс.Кассу и передаете в платежной форме данные для формирования чека. | |
Дополнительные параметры для B2B-платежей (paymentType=2S) | |||
payment_purpose | string | 210 символов | Назначение платежа. Обязательный параметр. |
vatType | string | Тип НДС. Возможные значения:
| |
vatRate | string | Ставка НДС. Обязательно, если vatType=calculated. Возможные значения: | |
vatSum | CurrencyAmount | Сумма НДС. Обязательно, если vatType=calculated или vatType=mixed. Вам необходимо самостоятельно подсчитывать точную сумму НДС и передавать в запросе на оплату. А также в поле sum передавать полную сумму, которую заплатит покупатель, вместе с НДС. | |
Параметры, которые может добавить магазин (необязательно) | |||
custom_field | string | Используется для передачи дополнительных параметров. Например, при оплате по QR-коду передается значение qrpayment. | |
Любые названия, отличные от перечисленных выше | string | 4096 символов (суммарная длина всех параметров) | Параметры, добавленные магазином в платежную форму, будут сохранены и переданы магазину в запросах checkOrder и paymentAviso. Restriction.В названиях добавленных параметров можно использовать буквы латинского алфавита в любом регистре, цифры, символ подчеркивания и дефис. Нельзя использовать пробел, точку и квадратные скобки [ ]. Название должно начинаться с буквы, но нельзя использовать в начале сочетание xml. |
yandex.ru
Настройки модуля — Инструкция по разработке платёжного модуля Яндекс.Кассы
Интерфейс настроек
Так должны выглядеть настройки модуля Яндекс.Кассы, как только пользователь их открывает.
Блок 1
Эти поля пользователь заполняет параметрами, которые получил в Яндекс.Кассе. Оба поля обязательны для заполнения. У полей должны быть ограничения:
shopId — можно вводить только цифры, ограничений по количеству символов нет.
Секретный ключ — можно вводить цифры и латинские буквы, ограничений по количеству символов нет.
Техническая документация: аутентификация
Блок 2
Этот блок определяет, где будет процесс оплаты — на сайте Яндекс.Кассы или на сайте пользователя.
Блок 3
Чтобы наши общие пользователи могли работать с ККТ через Яндекс.Кассу, вам нужно передавать нам название, цену и НДС товара при каждом платеже. Клиент настраивает отправку данных специальным тумблером.
Блок 4
Адрес для уведомлений генерируете вы: пользователь не может его отредактировать (только скопировать). Пользователю он потребуется только для обращений в службу поддержки Яндекс.Кассы.
Техническая документация: уведомления
Блок 5
Это кнопка, которая включает приём платежей. Если все заполнено верно, после нажатия сообщите об успехе: Настройки сохранены.
Когда пользователь начинает заполнять настройки, разворачиваются дополнительные блоки. Так должна выглядеть полностью развёрнутая форма:
Блок 1
Если пользователь выбрал На стороне Яндекс.Кассы, разворачивается блок с чекбоксом Назвать кнопку оплаты «Заплатить через Яндекс».
Подробнее о кнопке на сайте КассыБлок 2
Если пользователь выбрал На стороне магазина, разворачивается блок Отметьте способы оплаты из договора.
Выбрать сразу оба пункта нельзя. Ничего не выбрать тоже нельзя. По умолчанию отметка стоит На стороне Яндекс.Кассы.
Выбор способа оплаты на стороне Яндекс.КассыБлок 3
Если ваши пользователи всегда указывают НДС для товаров или ставка в вашей системе задана по умолчанию, тумблера будет достаточно.
Если в вашей системе НДС — это необязательная настройка, пользователю нужно задать её на этой странице: в этом случае разворачивается блок НДС. В нём два поля — Ставка по умолчанию и Ставка в вашем магазине.
Ставка по умолчанию
Это разворачивающийся список из шести ставок НДС: Без НДС, 0%, 10%, 18%, Расчётная ставка 10/110, Расчётная ставка 18/118.
Нужно выбрать одну, по умолчанию указано 10%.
Сопоставьте ставки
Здесь пользователю нужно сопоставить ставки, которые он уже задал в магазине, со ставками, которые Касса передаёт в налоговую.
Цифра слева — это ставка НДС, которую задал пользователь в вашей системе.
Выпадающий список справа — это ставки НДС для чека в налоговую.
Количество строчек зависит от того, сколько ставок НДС пользователь задал в вашей системе. Если пользователь раньше не задавал ставки на сайте, этого блока не будет.
Техническая документация: оплата по 54-ФЗ
Если есть ошибки, подскажите, где они и как их исправить.
Важные моменты
Позаботьтесь, чтобы в вашей системе настройки модуля были такими же или похожими: так будет меньше ошибок при заполнении.
Даже если пользователь хочет включить десять способов приема платежей, ему нужно заполнить эти настройки только один раз: пожалуйста, не заставляйте его заполнять настройки для каждого способа оплаты отдельно.
Тексты для интерфейса
Скопируйте тексты из файла и вставьте в свой интерфейс.Интерфейс возвратов
Если в вашей системе есть возможность делать возвраты платежей, пожалуйста, используйте этот шаблон для страницы возврата.
Если пользователь включил отправку данных для чеков через Яндекс.Кассу, интерфейс выглядит так:
Важно, чтобы пользователь указывал не сумму возврата, а товары, стоимость которых нужно вернуть — тогда сумма возврата будет меняться автоматически. Это нужно, чтобы в налоговую уходил новый чек — с оставшимися товарами и суммой, которая им соответствует.
Тексты для интерфейса
Скопируйте тексты из файла и вставьте в свой интерфейс.Названия, логотипы и описание сервиса
Название сервиса
Яндекс.Касса — две заглавные буквы, точка посередине, пробелов нет. Название можно склонять:
подключение к Яндекс.Кассе,
заплатить через Яндекс.Кассу,
настройки Яндекс.Кассы.
Кавычки ставятся, только если перед названием стоит слово «сервис». Получится так: Сервис «Яндекс.Касса».
Способы оплаты
Пожалуйста, называйте способы оплаты так, как указано здесь: так ваши пользовали быстрее сориентируются в настройках.
Банковские карты — Visa, Mastercard и Maestro, «Мир»
Яндекс.Деньги
WebMoney
QIWI Wallet
Наличные
Альфа-Клик
Промсвязьбанк
Сбербанк Онлайн
Баланс мобильного — Билайн, Мегафон, МТС, Tele2
Кредитование — Заплатить по частям
Логотип
Пожалуйста, используйте логотип Яндекс.Кассы в списке платежных систем, на странице настроек платёжного модуля и в инструкции по настройке.
Правила размещения:
ширина поля — две буквы «Я» из логотипа
цвет:
Описание
Если вам где-то требуется описание Яндекс.Кассы (например, в списке платежных систем), используйте этот текст:
Яндекс.Касса — сервис, который позволяет включить прием платежей на сайте и получать деньги на расчётный счёт компании. Комиссия берётся с успешных платежей.
Способы приёма платежей: банковские карты, Яндекс.Деньги и QIWI, интернет-банки, наличные, баланс мобильного и другие.
Перейти на сайт Яндекс.КассыИнструкция по настройке
С инструкцией ваш пользователь быстрее настроит приём платежей. В ней можно ответить на вопросы, которые задают (или будут задавать) чаще всего. Мы разместим ссылку на вашу инструкцию на сайте Яндекс.Кассы, а вы можете разместить ее на своем сайте, рядом с модулем или прямо в настройках модуля.
Чтобы составить инструкцию, вы можете использовать наш шаблон: поправьте его с учётом возможностей своего модуля и интерфейса, добавьте скриншоты.
Скачать шаблон инструкцииkassa.yandex.ru
Обязательные параметры | |||
shopId | long | Идентификатор магазина, выдается при подключении к Яндекс.Кассе. | |
scid | long | Номер витрины магазина, выдается при подключении к Яндекс.Кассе. | |
sum | CurrencyAmount | Сумма заказа. | |
customerNumber | normalizedString | 128 символов | Идентификатор плательщика в системе магазина. В качестве идентификатора может использоваться номер договора плательщика, логин плательщика и т. п. Возможна повторная оплата по одному и тому же идентификатору плательщика. |
Необязательные параметры | |||
orderNumber | normalizedString | 64 символа | Уникальный номер в системе магазина. Уникальность контролируется Яндекс.Кассой в сочетании с параметром shopId. Если платеж с таким номер заказа уже был успешно проведен, то повторные попытки оплаты будут отвергнуты Яндекс.Кассой. |
shopArticleId | long | Идентификатор товара, выдается при подключении к Яндекс.Кассе . Применяется, если магазин использует несколько платежных форм для разных товаров. | |
shopSuccessURL | string, URL path | URL, на который будет вести ссылка Вернуться в магазин со страницы успешного платежа. Чтобы этот параметр обрабатывался, необходимо включить обработку динамических URL на стороне Яндекс.Кассы (по запросу у менеджера). | |
shopFailURL | string, URL path | 250 символов | URL, на который будет вести ссылка Вернуться в магазин |
cps_email | string | 100 символов | Адрес электронной почты плательщика. Если он передан, то соответствующее поле на странице подтверждения платежа будет предзаполнено (шаг 3 на схеме платежа ). Допустимо передавать только адрес электронной почты (проверяется соответствие). |
cps_phone | string | 15 символов, только цифры | Номер мобильного телефона плательщика. Если он передан, то соответствующее поле на странице подтверждения платежа будет предзаполнено (шаг 3 на схеме платежа). Номер телефона используется при оплате наличными через терминалы. |
paymentType | normalizedString | 5 символов | Способ оплаты. Р екомендуем передавать в этом поле пустое значение, в этом случае выбор способа оплаты будет происходить на стороне Яндекс.Кассы. Примеры: Полный список значений Restriction.Если в платежной форме указан способ оплаты, который не разрешен для магазина, плательщик не сможет совершить платеж. |
custName | string | ФИО плательщика | |
custAddr | Адрес доставки товара или адрес проживания плательщика | ||
custEmail | string | Адрес электронной почты плательщика, только для отправки в email-уведомлениях | |
orderDetails | Детали заказа: список приобретенных товаров, их количество, назначение платежа и т. п. | ||
ym_merchant_receipt | string | Данные для формирования чека в формате JSON. Параметр передается и является обязательным, если вы настроили взаимодействие со своей онлайн-кассой через Яндекс.Кассу и передаете в платежной форме данные для формирования чека. См. Параметры для формирования чека |
yandex.ru