Ю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
Теперь переходим в конструктор. Два значения, о которых мы говорили выше необходимо указать в форме ниже. Форма находится в разделе "Платежные системы"
На этом настройка подключения платежной системы закончена.
Как сформировать ссылку на оплату
Сформировать ссылку на оплату в блоке можно ОДНИМ ИЗ из доступных способов:
Создание ссылки с помощью переменной payment_sum и дополнительных параметров (устаревшая работающая версия)
Кнопка с функцией Оплата
Ссылку на оплату можно создавать в кнопке с функцией "Оплата". О том как создавать такую кнопку рассказано в этой статье:
Рассмотрим все возможные параметры данной кнопки. О том как создавать кнопку с функцией Оплата рассказано в этой статье:
Обязательные параметры кнопки Оплата для Ю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)
Параметры функции:
Параметр | Описание параметра |
---|---|
| Сумма к оплате. В этом поле указываем стоимость товара в рублях |
| Описание заказа. В этом поле можно использовать только символы английского или русского алфавита, цифры и знаки препинания. Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение |
| Установочный платеж для автоплатежей. Если хотите провести первый установочный платеж, то передать значение 1, если нет - передайте значение 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 |
| номер телефона покупателя, не обязательно, если передан параметр Чтобы пропустить данный параметр, передайте вместо него одинарные или двойные кавычки |
| емейл покупателя, не обязательно, если передан параметр Чтобы пропустить данный параметр, передайте вместо него одинарные или двойные кавычки. |
| ФИО покупателя или название организации(покупателя)
В данном параметре передайте для ИП и физического лица — ФИО Покупателя, для юрлица — название организации Покупателя
Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение |
| Система налогообложения Система налогообложения магазина (тег в 54 ФЗ — 1055). Параметр необходим, если вы используете онлайн-кассу Атол Онлайн, обновленную до ФФД 1.2, или у вас несколько систем налогообложения, в остальных случаях не передается https://yookassa.ru/developers/api#create_payment Возможные значения данного параметра: None - Организация имеет один тип налогообложения '1' - Общая система налогообложения '2' - Упрощенная (УСН, доходы) '3' - Упрощенная (УСН, доходы минус расходы) '4' - Единый налог на вмененный доход (ЕНВД) '5' - Единый сельскохозяйственный налог (ЕСН) '6' - Патентная система налогообложения
Для чеков Самозанятых пропустить параметр.
Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение |
| Трехбуквенный код валюты в формате ISO-4217. Пример: 'RUB' Должен соответствовать валюте субаккаунта (recipient.gateway_id), если вы разделяете потоки платежей, и валюте аккаунта (shopId в личном кабинете), если не разделяете. Чтобы пропустить данный параметр, передайте вместо него пару одинарных/ пару двойных кавычек или значение None. |
| дополнительные параметры, которых нет в данной функции. Возможные дополнительные параметры можно посмотреть по ссылке в документации работы с API платежной системы https://yookassa.ru/developers/api#create_payment Пример:
|
Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом, например, "Купить".
Если в блоке несколько функций для получения ссылки и допущена ошибка, то значение ошибки будет записано в переменной 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.
Как подключить автоматические платежи
Для подключения возможности применения автоплатежей требуется связаться с Вашим менеджером. Вот несколько полезных советов:
Звонить или писать в техподдержку необходимо самостоятельно
Не забудьте подготовить все скрины о ценах в боте и о том, что подписку можно отменить
Делать это лучше в будние дни
Ожидание одобрения - 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"}]
description - название товара (не более 128 символов)
quantity - количество товара, может быть целое число, либо дробное через точку (например: 1 или 5 или 2.0 или 3.5)
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': 'Цена за единицу товара'}
description - название товара (не более 128 символов)
quantity - количество товара, может быть целое число, либо дробное через точку (например: 1 или 5 или 2.0 или 3.5)
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