ЮKassa (ex Яндекс.Касса)

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

Как интегрировать ЮKassa в Salebot.pro

Ссылка на оплату имеет ограничение по времени. Если клиент не подтвердит оплату до окончания этого срока, то ЮКаssa отменит платеж.

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

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

Подробнее в таблице "срок оплаты" https://yookassa.ru/developers/payment-methods/overview

Как интегрировать ЮKassa в Salebot.pro

Для подключения ЮKassa Вам потребуются shopId и секретный ключ.

shopId можно увидеть в настройках на ЮKassa

Либо в шапке:

Секретный ключ находится в разделе Интеграции:

Для того, чтобы бот получал уведомления об оплате, также необходимо установить на ЮKassa callback_url https://chatter.salebot.pro/yandex_kassa_callback/result

Теперь переходим в конструктор. Два значения, о которых мы говорили выше необходимо указать в форме ниже. Форма находится в разделе "Платежные системы"

На этом настройка подключения платежной системы закончена.

Как сформировать ссылку на оплату

Сформировать ссылку на оплату в блоке можно ОДНИМ ИЗ из доступных способов:

Кнопка с функцией Оплата

Ссылку на оплату можно создавать в кнопке с функцией "Оплата". О том как создавать такую кнопку рассказано в этой статье:

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

Обязательные параметры кнопки Оплата для ЮKassa

Для формирования ссылки на оплату в настройках кнопки необходимо указать обязательные параметры: Сумма оплаты и Описание товара.

поле Текст. Данный текст будет указан на кнопке с ссылкой на оплату в сообщении

поле Функция. Для создания кнопки для выдачи ссылки на оплату выбираем функцию Оплата

поле Платежная система. В списке отображаются подключенные к проекту платежные системы. Выбираем ЮKassa

Если к проекту не подключены платежные системы данный тип кнопок будет не доступен

поле Описание товара (обязательное). В данном поле нужно указать название товара. Максимально количество символов для данного поля: 250 Чем точнее указано описание товара, тем лучше. Например: не Телефон, а Смартфон Xiaomi модель ххх

НЕЛЬЗЯ использовать двойные кавычки в Описании товара: удалите или замените на одинарные кавычки.

поле Сумма оплаты (обязательное). В этом поле указываем стоимость товара.

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

меню Данные для формирования чека. При клике по данной кнопке откроются дополнительные обязательные и необязательные поля для формирования чека

Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ. Прочитайте особенности оформления чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией.

  • Количество

  • Название товара

  • Итоговая цена

  • Ставка НДС

  • Система налогообложения

  • ФИО покупателя

  • Переменная с email покупателя

  • Переменная с номером телефона покупателя

меню Дополнительная информация. При клике по данной кнопке откроются дополнительные поля для формирования ссылки:

  • Валюта

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

На данное уведомление можно настраивать дальнейшую логику работы бота.

Дополнительные параметры для формирования чека и ссылки

выпадающее меню "Данные для формирования чека"

При клике откроется выпадающее меню с параметрами для формирования чека:

поле Количество (обязательный). В этом поле указывается количество или вес товара. Передать можно целое или дробное число через точку. Пример, 5 или 10.3

поле Название товара (обязательный параметр). Название товара (не более 128 символов), которое вы увидите в личном кабинете ЮKassa, а пользователь — при оплате. Если не передать будет иметь вид: 'Оплата счета 35342815-29200591'

НЕЛЬЗЯ использовать двойные кавычки в Названии товара: удалите или замените на одинарные кавычки.

поле Итоговая цена (обязательный параметр). В данном поле необходимо указать сумму к оплате с учетом количества товаров. Если количество равно 1, то Итоговая цена равна значению в обязательном поле "Сумма" в настройках данной кнопки

поле Ставка НДС. Указываем ставку НДС. Возможные значения — числа от 1 до 6: 1 - Без НДС 2 - НДС по ставке 0% 3 - НДС по ставке 10% 4 - НДС чека по ставке 20% 5 - НДС чека по расчетной ставке 10/110 6 - НДС чека по расчетной ставке 20/120

Для чеков самозанятых передаем значение 1 (Без НДС)

Способ расчета (тег в 54 ФЗ — 1214) — отражает тип оплаты и факт передачи товара. Пример: покупатель полностью оплачивает товар и сразу получает его. В этом случае нужно передать значение full_payment (полный расчет). Весь список значений поля можно посмотреть тут.

Предмет расчета (тег в 54 ФЗ — 1212) — это то, за что принимается оплата, например товар, услуга. Весь список значений поля можно посмотреть тут.

Система налогообложения. Система налогообложения магазина (тег в 54 ФЗ — 1055). Обязательный параметр, если вы используете онлайн-кассу Атол Онлайн, обновленную до ФФД 1.2, или у вас несколько систем налогообложения, в остальных случаях не передается. https://yookassa.ru/developers/api#create_payment

Для чеков самозанятых данное поле передавать не передается. Для этого в настройках кнопки с функцией "Оплата" надо выбрать "Организация имеет один тип налогообложения" (пункт в выпадающем списке "Система нологообложения" оставьте установленный по умолчанию).

поле ФИО покупателя. В этом поле указываем для юрлица — название организации, для ИП и физического лица — ФИО

Поле Переменная с email покупателя (необязательный, если передан Номер телефона) В данном поле указывается Email пользователя (клиента). Можно указывать переменную, в которой хранится email пользователя.

Например, #{email}

Поле Переменная с номером телефона покупателя (необязательный, если передан Email). В данном поле можно указать переменную, в которой записан номер телефона покупателя в формате 79000000000 Например, #{phone}

Обязательно должен присутствовать email и/или телефон

выпадающее меню "Дополнительная информация"

При клике откроется выпадающее меню с дополнительными параметрами для формирования ссылки:

поле Валюта(обязательный параметр). В данном поле можно выбрать одну из доступных вариантов валюты платежа. По умолчанию: RUB

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

Как только пользователь получит блок с кнопкой "Оплата" автоматически будут созданы переменные клиента:

Служебная переменная клиента __payments , которая хранит сумму, идентификатор созданной ссылки, нужна для идентификации хука от платежной системы.

Служебную переменную клиента __payments НЕЛЬЗЯ удалять или изменять!

Переменная клиента error_payment_button создается, если при формировании кнопки возникла ошибка.

В значение переменной error_payment_button запишется либо текст ошибки, либо ответ платежной системы с ошибкой.

Значение переменных становятся актуальными при переходе в следующий блок

Как обработать результат

Успешный платеж.

в бота АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _success и через пробел сумма платежа. Для использования в настройках схемы достаточно его скопировать.

Например: ovg58keefc_success 44, где:

ovg58keefc : первые первые 10 символов секретного ключа платежной системы

_success : результат обработки запроса (успешный платеж)

44 : сумма платежа

Колбеки (уведомления) от платежной системы пользователь НЕ ВИДИТ. Они отображаются только во вкладке Клиенты и видны оператору.

Пример использования: Шаг 1. В блоке "с кнопкой Оплата" добавляем кнопки с функцией Оплата.

Шаг 2. В поле Условие соединения от этого блока к блоку "Успешная оплата" указываем колбэк. Аналогично работает, если указать колбэк об успешной оплате в поле Условие блока Первостепенной проверки условия.

Важно: выбор соответствия Полное совпадение или По наличию ключевых слов Если используете По наличию ключевых слов в поле Условие указывайте часть колбэка без суммы платежа: 10СимволовСекретногоКлюча__success

Платеж с ошибкой

При ошибке проведения оплаты в бота АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _fail и через пробел сумма платежа

Например, ovg58keefc_fail 44 , где

ovg58keefc : 10 символов секретного ключа платежной системы

_fail : результат обработки запроса - платеж не выполнен или с ошибкой.

44 : сумма платежа

Зависит от платежной системы. Не все платежные системы присылают колбэк об ошибке платежа.

Если сумма указанная в настройках кнопки отличается от суммы, которую клиент оплатил, то АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _different_amounts и через пробел уникальный ID платежа

Например: ovg58keefc_different_amounts 123456 , где:

ovg58keefc : 10 символов секретного ключа платежной системы

_different_amounts : результат обработки запроса (сумма оплаты отличается от суммы в ссылке)

123456 : уникальный ID платежа

Функция get_yookassa_payment_url в Калькуляторе

Для формирования ссылки на оплату можно воспользоваться функцией get_yookassa_payment_url в Калькуляторе блоке.

В поле Калькулятор переменной присвоим значение функции get_yookassa_payment_url

Название переменной задаете самостоятельно. На скринах примеры названия переменных.

В эту переменную запишется ссылка на оплату. Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом, например, "Оплатить".

ПРИМЕР ссылки на оплату:

Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ. Прочитайте особенности оформления чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией.

link_yookassa = get_yookassa_payment_url(amount, description, recurrent, products_for_receipt, customer_phone, customer_email, full_name, taxation, currency, extra_params)

Параметры функции:

ПараметрОписание параметра

amount

Сумма к оплате. В этом поле указываем стоимость товара в рублях (обязательный параметр)

description

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

Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение None

recurrent

Установочный платеж для автоплатежей. Если хотите провести первый установочный платеж, то передать значение 1, если нет - передайте значение None. В этом случае данные сохраняются в платежной системе для возможности автоплатежей в дальнейшем.

products_for_

receipt

Параметры для формирования чеков. Чтобы пропустить данный параметр передайте вместо него пару одинарных / пару двойных кавычек или значение None

Имеет следующий вид:

[{"name":"ТОВАР1","amount":"1200","vat_code":"5","method":"FullPrepayment","object":"Commodity"}]

Важно! Используйте двойные кавычки для формирования словаря {"ключ": "значение"}

name - Наименование товара

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

vat_code - cтавка НДС. Этот параметр устанавливает налоговую ставку в ККТ. Возможные значения данного параметра:

'1' - Без НДС

'2' - НДС по ставке 0%

'3' - НДС по ставке 10%

'4' - НДС чека по ставке 20%

'5' - НДС чека по расчетной ставке 10/110

'6' - НДС чека по расчетной ставке 20/120

Для чеков Самозанятых передать значение '1'

method - Признак способа расчёта (дополнительный параметр для формирования чека)

Пример значения параметра: full_payment — полный расчет

Остальные доступные варианты можно найти в документации ЮKassa : https://yookassa.ru/developers/payment-acceptance/scenario-extensions/receipts/54fz/parameters-values#payment-mode

object - Предмет расчета может принимать разные значения (дополнительный параметр для формирования чека)

Например, commodity — товар

Остальные доступные варианты можно найти в документации ЮKassa : https://yookassa.ru/developers/payment-acceptance/scenario-extensions/receipts/54fz/parameters-values#payment-subject

customer_phone

номер телефона покупателя, не обязательно, если передан параметр customer_email

Чтобы пропустить данный параметр, передайте вместо него одинарные или двойные кавычки

customer_email

емейл покупателя, не обязательно, если передан параметр customer_phone

Чтобы пропустить данный параметр, передайте вместо него одинарные или двойные кавычки.

full_name

ФИО покупателя или название организации(покупателя) В данном параметре передайте для ИП и физического лица — ФИО Покупателя, для юрлица — название организации Покупателя Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение None

taxation

Система налогообложения

Система налогообложения магазина (тег в 54 ФЗ — 1055). Параметр необходим, если вы используете онлайн-кассу Атол Онлайн, обновленную до ФФД 1.2, или у вас несколько систем налогообложения, в остальных случаях не передается https://yookassa.ru/developers/api#create_payment Возможные значения данного параметра:

None - Организация имеет один тип налогообложения '1' - Общая система налогообложения

'2' - Упрощенная (УСН, доходы)

'3' - Упрощенная (УСН, доходы минус расходы)

'4' - Единый налог на вмененный доход (ЕНВД)

'5' - Единый сельскохозяйственный налог (ЕСН)

'6' - Патентная система налогообложения Для чеков Самозанятых пропустить параметр. Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение None

currency

Трехбуквенный код валюты в формате ISO-4217.

Пример: 'RUB'

Должен соответствовать валюте субаккаунта (recipient.gateway_id), если вы разделяете потоки платежей, и валюте аккаунта (shopId в личном кабинете), если не разделяете.

Чтобы пропустить данный параметр, передайте вместо него пару одинарных/ пару двойных кавычек или значение None.

extra_params

дополнительные параметры, которых нет в данной функции. Возможные дополнительные параметры можно посмотреть по ссылке в документации работы с API платежной системы https://yookassa.ru/developers/api#create_payment Пример:

extra_params = {"client_ip": "66.249.72.248", "payment_method_data":{"type":"bank_card"}} Чтобы пропустить данный параметр, передайте вместо него пару одинарных/ пару двойных кавычек или значение None.

Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом, например, "Купить".

Если в блоке несколько функций для получения ссылки и допущена ошибка, то значение ошибки будет записано в переменной error_payment_func

Ошибка запишется по последней функции в Калькуляторе

Создание ссылки с помощью переменной payment_sum и дополнительных параметров

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

Также до установки значения переменной payment_sum, можно задать следующие необязательные переменные, для настройки платежа: currency - валюта заказа. Код валюты в формате ISO-4217, по умолчанию RUB payment_title – описание заказа. Если не указан, будет заполнен автоматически "Оплата счета 123456-123456"

Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".

ПРИМЕР ссылки на оплату:

После успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Эти колбеки в системе вы видите как сообщения от пользователя, чтобы их не мог отправить пользователь, они состоят из ключа ЮKassa и приписки со статусом, например: test_k4kyf6E00dpq5ft7vGHmxXCo23JKziwt729O-WcdL8s_success. Также после успешной оплаты переменная yandex_kassa_payment_completed устанавливается в True.

Если ссылка создана с помощью кнопки с функцией Оплата или с помощью функции в калькуляторе, в бота АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _success и через пробел сумма платежа. Для использования в настройках схемы достаточно его скопировать.

Например: ovg58keefc_success 44, где:

ovg58keefc : первые первые 10 символов секретного ключа платежной системы

_success : результат обработки запроса (успешный платеж)

44 : сумма платежа

Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.

Тип сравнения должен быть "Полное совпадение"

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

После завершения оплаты клиенту добавится переменная yookassa_callback_data, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода get.

Как подключить автоматические платежи

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

  1. Звонить или писать в техподдержку необходимо самостоятельно

  2. Не забудьте подготовить все скрины о ценах в боте и о том, что подписку можно отменить

  3. Делать это лучше в будние дни

  4. Ожидание одобрения - 2-3 дня

Шаг 1. Включить автоплатежи в настройках платежной системы в проекте Salebot.

Для подключения автоматических платежей в Salebot необходимо включить переключатель "Включить автоплатежи" для ЮKassa в разделе Платежные системы:

В этом случае при оплате появится предупреждение о подключении подписки

Шаг 2. Провести обычный платёж.

С помощью удобного способа сформировать ссылку на оплату. Рекоменуем использовать в блоке кнопку с функцией "Оплата" или с помощью функции get_yookassa_payment_url

После успешной оплаты у клиента появится переменная yandex_payment_method_id. Эту переменную необходимо использовать при повторных платежах.

Переменная yandex_payment_method_id обязательна для последующих платежей. Если ее удалить, следующий автоплатеж провести НЕ получится.

Шаг 3. Планируем автосписание

От блока Успешная оплата планируем стрелку с таймером к блоку с автоплатежом. Для примера запланируем следующий платеж через 30 дней.

Шаг 4. Планируем регулярные списания и настраиваем возможность отказаться от автосписаний.

Для поведения повторного платежа необходимо использовать запрос:

Тип запроса: POST-json

URL: https://store.salebot.pro/function/yandex_kassa_auto_pay

Параметры: shop_id - идентификатор магазина из настроек secret_key - ключ из настроек подключения payment_sum - сумма платежа yandex_payment_method_id - необходимо передать переменную: #{yandex_payment_method_id} order_id - необходимо передать переменную: #{order_id} payment_title - описание платежа(необязательный параметр) capture - параметр, отвечающий за платеж без подтверждения пользователя. Установите значение равное 1 (параметр необязательный)

Сохраняемые значения из JSON-ответа: response -> yandex_kassa_payment_id По переменной yandex_kassa_payment_id система определит что именно оплатил пользователь. Для тестирования вы можете вывести на экран переменную #{custom_answer}. В случае успеха ответ будет вида: {"status":"1","response":"265b608b-000f-5000-a000-1fab5b6fd51b"}

Пример параметров:

{"shop_id": "653775", "secret_key": "test_k4kyf6E00dpq5ft7vGHmxXCo23JKziwt729O-WcdL8s", "payment_sum": 200, "yandex_payment_method_id": "#{yandex_payment_method_id}", "order_id": "#{order_id}"}

Для тестирования платежа вам необходимо самостоятельно подтвердить платеж в Яндекс.Кассе

Для подтверждения платежа необходимо нажать кнопку "Подтвердить" в списке платежей

Платеж в списке появляется спустя несколько минут и кнопка "Подтвердить" также появляется не сразу

При выполнении автоплатежа не должно быть ссылки на оплату ЮКассы и переменной payment_sum!

ОТМЕНИТЬ АВТОСПИСАНИЯ

Автоматические платежи необходимо использовать аккуратно, необходимо предусмотреть возможность отписки от платежа. Также, не всегда требуется подтверждение при проведении платежа и вы можете в случае ошибки списать все деньги у человека. Будьте аккуратны.

Как сформировать чеки ЮКасса

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

Для формирования чека онлайн-кассы необходимо при формировании ссылки на оплату передать дополнительные параметры.

Обязательные параметры:

products_for_receipt - это массив с перечисленными товарами чека, следующего вида:

[{"description": "Название товара", "quantity": "Количество товара", "amount": "Цена за единицу товара"}, {"description": "Название товара 2", "quantity": "Количество товара 2", "amount": "Цена за единицу товара 2"}]

  1. description - название товара (не более 128 символов)

  2. quantity - количество товара, может быть целое число, либо дробное через точку (например: 1 или 5 или 2.0 или 3.5)

  3. amount - цена за единицу товара

vat_code - ставка НДС. Возможные значения — числа от 1 до 6: 1 - Без НДС 2 - НДС по ставке 0% 3 - НДС по ставке 10% 4 - НДС чека по ставке 20% 5 - НДС чека по расчетной ставке 10/110 6 - НДС чека по расчетной ставке 20/120

tax_system_code - система налогообложения. Возможные значения — числа от 1 до 6: 1 - Общая система налогообложения 2 - Упрощенная (УСН, доходы) 3 - Упрощенная (УСН, доходы минус расходы) 4 - Единый налог на вмененный доход (ЕНВД) 5 - Единый сельскохозяйственный налог (ЕСН) 6 - Патентная система налогообложения

Также необходимо передать контактные данные клиента, как минимум электронную почту или номер телефона: email - электронная почта пользователя. phone - телефон пользователя. Указывается в формате ITU-T E.164, например 79000000000.

Необязательные параметры:

full_name - для юрлица — название организации, для ИП и физического лица — ФИО

После определения переменных платежа, определяем переменную payment_sum, после которой сразу появится ссылка на оплату.

Общая стоимость всех товаров должна быть равной переменной payment_sum.

Обратите внимание: переменная payment_sum получает своё значение последней!

Из примера выше:

Как сформировать чеки ЮКасса для автоплатежей

Данные чека должны быть заданы ДО указания суммы платежа

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

Если списание за один товар

Обязательные параметры: vat_code - ставка НДС. Возможные значения — числа от 1 до 6: 1 - Без НДС 2 - НДС по ставке 0% 3 - НДС по ставке 10% 4 - НДС чека по ставке 20% 5 - НДС чека по расчетной ставке 10/110 6 - НДС чека по расчетной ставке 20/120

tax_system_code - система налогообложения. Возможные значения — числа от 1 до 6: 1 - Общая система налогообложения 2 - Упрощенная (УСН, доходы) 3 - Упрощенная (УСН, доходы минус расходы) 4 - Единый налог на вмененный доход (ЕНВД) 5 - Единый сельскохозяйственный налог (ЕСН) 6 - Патентная система налогообложения

Также необходимо передать контактные данные клиента, как минимум, электронную почту или номер телефона: email - электронная почта пользователя. phone - телефон пользователя. Указывается в формате ITU-T E.164, например 79000000000.

Необязательные параметры: product_description - Наименование товара, если не передать будет иметь вид: 'Оплата счета 35342815-29200591' full_name - для юрлица — название организации, для ИП и физического лица — ФИО

Если списание сразу за несколько товаров

Обязательные параметры: vat_code - ставка НДС. Возможные значения — числа от 1 до 6:

1 - Без НДС 2 - НДС по ставке 0% 3 - НДС по ставке 10% 4 - НДС чека по ставке 20% 5 - НДС чека по расчетной ставке 10/110 6 - НДС чека по расчетной ставке 20/120

tax_system_code - система налогообложения. Возможные значения — числа от 1 до 6: 1 - Общая система налогообложения 2 - Упрощенная (УСН, доходы) 3 - Упрощенная (УСН, доходы минус расходы) 4 - Единый налог на вмененный доход (ЕНВД) 5 - Единый сельскохозяйственный налог (ЕСН) 6 - Патентная система налогообложения products_for_receipt - это массив с перечисленными товарами чека (нужно записать в переменную и передать), имеет следующий вид: [{"description": "Название товара", "quantity": "Количество товара", "amount": "Цена за единицу товара"}, {"description": "Название товара 2", "quantity": "Количество товара 2", "amount": "Цена за единицу товара 2"}] Обратите внимание, строка описания одного товара имеет вид: {"description": "Название товара", "quantity": "Количество товара", "amount": "Цена за единицу товара"}

description - название товара (не более 128 символов) quantity - количество товара, может быть целое число, либо дробное через точку (например: 1 или 5 или 2.0 или 3.5) amount - цена за единицу товара

Общая стоимость всех товаров должна быть равна переменной payment_sum.

Необязательные параметры: full_name - для юрлица — название организации, для ИП и физического лица — ФИО

Описание переменной, содержащей перечень описаний товара, для формирования чека:

Дополнительные параметры, передаваемые обязательно для формирования чека, выделены жирным: {"shop_id": "123456", "secret_key": "#{secret_key}", "payment_sum": 13, "yandex_payment_method_id": "#{yandex_payment_method_id}", "order_id": "#{order_id}", "vat_code":"1", "tax_system_code":"#{tax_system_code}", "products_for_receipt": "#{for_receipt}", "email": "#{email}"}

Обратите внимание: переменная payment_sum получает своё значение последней!

Как сделать возврат платежа вместе с чеком

С помощью нашей интеграции с ЮKassa можно возвращать успешные платежи. Комиссии за проведение возврата нет. Комиссия ЮKassa за проведение платежа не возвращается.

Полный возврат

Тип запроса: POST-json

URL: https://store.salebot.pro/function/yookassa_function

Параметры: shop_id - идентификатор магазина из настроек secret_key - ключ из настроек подключения refund_sum - сумма возврата (пример 100 или с точкой 120.5) yandex_kassa_payment_id - идентификатор платежа, необходимо передать переменную: #{yandex_kassa_payment_id}

Дополнительно можно указать: refund_description - комментарий к возврату, основание для возврата денег пользователю.

Сохраняемые значения из JSON-ответа:

status -> refund_status; response -> resp Для тестирования вы можете вывести на экран переменную #{custom_answer}. В случае успеха ответ будет вида: {"status":"canceled","response":"265b608b-000f-5000-a000-1fab5b6fd51b"}

status - статус возврата платежа. Возможные значения: canceled, succeeded или 0, если возникла ошибка response - идентификатор возврата платежа в ЮKassa или описание ошибки

Пример параметров:

{"shop_id": "653775", "secret_key": "test_k4kyf6E00dpq5ft7vGHmxXCo23JKziwt729O-WcdL8s", "refund_sum": 100, "yandex_kassa_payment_id": "#{yandex_kassa_payment_id}"}

Частичный возврат

Тип запроса: POST-json

URL: https://store.salebot.pro/function/yookassa_function

Параметры: peace_refund - 1 - отмечаем, что возврат частичный shop_id - идентификатор магазина из настроек secret_key - ключ из настроек подключения yandex_kassa_payment_id - идентификатор платежа, необходимо передать переменную: #{yandex_kassa_payment_id} refund_products_list - список возвращаемых товаров, пример:

"[{'description': 'Название товара', 'quantity': 'Количество товара', 'amount': 'Цена за единицу товара'}, {'description': 'Название товара 2', 'quantity': 'Количество товара 2', 'amount': 'Цена за единицу товара 2'}]"

Важно, чтоб были одинарные кавычки в этом выражении (ниже представлен пример, который можно скопировать и заменить данные на свои.

Каждый товар содержит три значения:

{'description': 'Название товара', 'quantity': 'Количество товара', 'amount': 'Цена за единицу товара'}

  1. description - название товара (не более 128 символов)

  2. quantity - количество товара, может быть целое число, либо дробное через точку (например: 1 или 5 или 2.0 или 3.5)

  3. amount - цена за единицу товара

refund_sum - полная сумма возврата товаров из refund_products_list (пример 100 или с точкой 120.5) vat_code - ставка НДС. Возможные значения — числа от 1 до 6:

1 - Без НДС 2 - НДС по ставке 0% 3 - НДС по ставке 10% 4 - НДС чека по ставке 20% 5 - НДС чека по расчетной ставке 10/110 6 - НДС чека по расчетной ставке 20/120

tax_system_code - система налогообложения. Возможные значения — числа от 1 до 6: 1 - Общая система налогообложения 2 - Упрощенная (УСН, доходы) 3 - Упрощенная (УСН, доходы минус расходы) 4 - Единый налог на вмененный доход (ЕНВД) 5 - Единый сельскохозяйственный налог (ЕСН) 6 - Патентная система налогообложения

email - Электронная почта пользователя. И\ИЛИ phone - Телефон пользователя. Указывается в формате ITU-T E.164, например 79000000000.

Дополнительно можно указать: full_name - для юрлица — название организации, для ИП и физического лица — ФИО refund_description - комментарий к возврату, основание для возврата денег пользователю.

Сохраняемые значения из JSON-ответа:

status -> refund_status; response -> resp

Для тестирования вы можете вывести на экран переменную #{custom_answer}. В случае успеха ответ будет вида: {"status":"canceled","response":"265b608b-000f-5000-a000-1fab5b6fd51b"}

status - статус возврата платежа. Возможные значения: canceled, succeeded или 0, если возникла ошибка response - идентификатор возврата платежа в ЮKassa или описание ошибки

Пример параметров:

{"shop_id": "769963", "secret_key": "test_fMZ0RqpghcoETJ9fhWXbZJsM66DKyvBgJN1rr65Ioz", "refund_sum": 100, "yandex_kassa_payment_id": "#{yandex_kassa_payment_id}", "peace_refund": 1, "full_name": "Иванов Иван Иванович", "email": "example@gmail.com", "phone": "79000000000", "vat_code": 1, "tax_system_code": 6, "refund_products_list": "[{'description': 'Название товара', 'quantity': 'Количество товара', 'amount': 'Цена за единицу товара'}, {'description': 'Название товара 2', 'quantity': 'Количество товара 2', 'amount': 'Цена за единицу товара 2'}]"}

Last updated