ЮKassa

Вы можете организовать прием платежей в бота используя платежный агрегатор ЮKassa

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

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

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

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

Либо в левом меню ЮKassa:

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

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

Для этого нужно перейти в раздел "Интеграция" → "HTTP-уведомления"

Настройки уведомлений

Не забудьте нажать на кнопку "Сохранить"

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

Далее выберите Ставку НДС и систему налогообложения.

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

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

енвд отменен 01.01.2021

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

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

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

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

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

Статья про кнопку с функцией Оплата

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

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

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

Настройки кнопки

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

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

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

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

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

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

чекбокс Двухстадийная оплата. Данная функция нужная для того чтобы деньги не сразу отправлялись на счёт продавца, а сначала замораживались (холдировались). Такой платёж можно подтвердить или отменить. Подробнее как настроить двухстадийную оплату читайте здесь: Двухстадийная оплата (холдирование)

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

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

  • Количество

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

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

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

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

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

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

  • Валюта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Коллбэк об успешной оплате в поле Условие блока

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

При ошибке проведения оплаты в бота АВТОМАТИЧЕСКИ придет КОЛЛБЭК, который состоит из 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, twostage_payment)

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

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

amount

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

description

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

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

recurrent

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

products_for_

receipt

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

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

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

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

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

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

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

'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 — товар

quantity - количество товара

Остальные доступные варианты можно найти в документации Ю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' - Единый налог на вмененный доход (ЕНВД) (отменен 01.01.2021)

'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.

twostage_payment

двухстадийная оплата (холдирование). Чтобы включить, передайте значение '1'. Подробнее рассказали в разделе "Двухстадийная оплата".

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

Двухстадийная оплата (холдирование)

Чтобы использовать двухстадийную оплату (холдирование), в параметры функции get_yookassa_payment_url нужно передать соответствующий параметр twostage_payment:

Если это кнопка для оплаты, то нужно поставить галочку "Двухстадийная оплата".

Теперь после успешной оплаты сначала придет коллбэк вида "ovg58keefc_hold 10".

Также у клиента в этот момент появится переменная "yandex_payment_method_id_hold" - она пригодится, если нужно будет подтвердить или отменить оплату через бота:

  1. чтобы подтвердить оплату и списать захолдированные средства, нужно использовать функцию "yookassa_payment_capture(payment_id)"

  2. чтобы отменить оплату - "yookassa_payment_cancel(payment_id)"

В параметр payment_id передается ранее сохраненный "yandex_payment_method_id_hold"

вместо параметра payment_id сразу передана переменная yandex_payment_method_id_hold

После подтверждения/отмены платежа уже придут привычные коллбэки "ovg58keefc_success 44" или "ovg58keefc_fail 44" соответственно.

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

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

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

  1. Создаем блок, в котором присваиваем в калькуляторе переменной payment_sum сумму в виде числового значения:

  1. Далее в следующем блоке указываем переменную #{yandex_kassa_pay_url} через конструкцию #{} в вложении либо в кнопке:

Пример: переменная yandex_kassa_pay_url лежит в поле url в настройках кнопки
Пример: переменная yandex_kassa_pay_url лежит в поле url в настройках вложений

При тестировании схемы бот отработается следующим образом:

  1. Если #{yandex_kassa_pay_url} в кнопке, то придет кнопка, при клике на которую клиент перейдет в платежную форму:

  1. Если #{yandex_kassa_pay_url} лежит в поле url настройки вложений, то придет ссылка для оплаты:

И в первом, и во втором случае при клике на кнопку или переходе по ссылке, ваш клиент перенаправится на страницу оплаты:

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

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

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

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

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

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

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

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

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

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

Чекбокс "Включить автоплатежи" в настройках ЮKassa в разделе "Эквайринг" Salebot

В этом случае при оплате сервис ЮKassa предложит разрешить автосписания:

При переходе по ссылке ЮKassa объяснит как работают автосписания.

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

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

После успешной оплаты у клиента появится переменная 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}"}

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

После успешной оплаты сможете посмотреть информацию о платеже:

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

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

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

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

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 - Единый налог на вмененный доход (ЕНВД) (отменен с 01.01.2021) 5 - Единый сельскохозяйственный налог (ЕСН) 6 - Патентная система налогообложения

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

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

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

После определения переменных платежа, определяем переменную 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 - Единый налог на вмененный доход (ЕНВД) (отменен с 01.01.2021) 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 - Единый налог на вмененный доход (ЕНВД) (отменен с 01.01.2021) 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 - цена за единицу товара

Необязательные параметры: 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 получает своё значение последней!

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

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

Тип запроса: 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 - Единый налог на вмененный доход (ЕНВД) (отменен с 01.01.2021) 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": "[email protected]", "phone": "79000000000", "vat_code": 1, "tax_system_code": 6, "refund_products_list": "[{'description': 'Название товара', 'quantity': 'Количество товара', 'amount': 'Цена за единицу товара'}, {'description': 'Название товара 2', 'quantity': 'Количество товара 2', 'amount': 'Цена за единицу товара 2'}]"}

Last updated

Was this helpful?