Salebot.pro
Search…
Робокасса
Вы можете организовать прием платежей в бота используя платежный агрегатор Робокасса
Всем, зарегистрировавшимся по ссылке(или промокоду) предоставляются лояльные стартовые условия в виде тарифного плана «Реальный» (2.9%) сроком на 3 календарных месяца.
Промокод: 01spirin
Робокасса больше не работает с физическими лицами.

Как настроить Робокассу

Рассмотрим как реализовать прием оплат в боте через сервис Робокасса.
  1. 1.
    Создайте интернет магазин в личном кабинете Робокассы и укажите данные технические настройки:
- Алгоритм расчета хеша: MD5 - Result Url: https://chatter.salebot.pro/robokassa_callback/result - Метод отсылки данных по Result Url: GET - Success Ur: https://chatter.salebot.pro/robokassa_callback/success - Метод отсылки данных по Success Url: GET - Fail Url: https://chatter.salebot.pro/robokassa_callback/fail - Метод отсылки данных по Fail Url: GET (Рисунок 1)
Рисунок 1
Создайте тестовые пароли и первоначальную настройку проводите в тестовом режиме.

Как настроить Salebot

Зайдите в Платежные системы - Робокасса и заполните форму в Salebot.pro:
На этом подключение закончено. Теперь давайте разберемся как использовать данный функционал.

Как задать сумму оплаты

Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_description, product_name и т.д.
Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum, сразу после этого появится переменная robokassa_pay_url. Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить". Ссылка имеет вид: https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda

Как получить уведомление о результате оплаты

После успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Эти колбеки в системе вы видите как сообщения от пользователя, чтобы их не мог отправить пользователь, они состоят из первого пароля от робокассы и приписки со статусом, например: qxgZ7zkNX4HHnG8UpZ61_success или qxgZ7zkNX4HHnG8UpZ61_fail. Также после успешной оплаты переменная robokassa_payment_completed устанавливается в True.
Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору
Тип сравнения должен быть "Полное совпадение"
Для совершения повторного платежа обязательно необходимо обнулить payment_sum, ранее сформированную ссылку и уже после переназначить переменную payment_sum для получения свежей ссылки
После завершения оплаты клиенту добавится переменная robokassa_callback_data, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода get.

Как создать тестовую схему

Пример схемы, которая позволит протестировать и быстро начать работу с робокассой:
На рисунке показан пример первого блока, в котором пользователя спрашивают, сколько он хочет оплатить:
На рисунке ниже настройки стрелки, в ней должен быть включен переключатель "Пользователь вводит данные" и в поле вписана переменная payment_sum.
Рисунок ниже - настройки следующего блока. Обратите внимание, переменная #{robokassa_pay_url} вставляется в разделе "Настройка вложений".
Далее можно сделать развилку на два блока (или создать зеленые блоки с условиями). В одной стрелке в условии прописываем qxgZ7zkNX4HHnG8UpZ61_success - колбек об успешной оплате, во второй: qxgZ7zkNX4HHnG8UpZ61_fail - колбек о неуспешной оплате.
Тип проверки обязательно поставьте "Полное совпадение", иначе условия будут срабатывать на оба колбека.

Видеоурок

Как добавить описание платежа

Вы можете добавить описание к платежу, установив переменную payment_description
Это описание будет отображаться в форме оплаты, а также на чеке.

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

Для формирования чека онлайн-кассы необходимо до формирования ссылки на оплату добавить служебные переменные с нужной информацией для чека.
robokassa_sno — система налогообложения. Необязательное поле, если у организации имеется только один тип налогообложения.
Возможные значения:
  • osn – общая СН;
  • usn_income – упрощенная СН (доходы);
  • usn_income_outcome – упрощенная СН (доходы минус расходы);
  • envd – единый налог на вмененный доход;
  • esn – единый сельскохозяйственный налог;
  • patent – патентная СН.
products_for_receipt - это массив с перечисленными товарами чека, следующего вида:
[{"name": "Наименование товара", "quantity": "Количество товара", "sum": "Стоимость товара", "tax": "Ставка НДС"}, {"name": "Наименование товара 2", "quantity": "Количество товара 2", "sum": "Стоимость товара", "tax": "Ставка НДС"}]
Каждый товар имеет вид:
{"description": "Наименование товара", "quantity": "Количество товара", "sum": "Стоимость товара", "tax": "Ставка НДС"}
name - Наименование товара
quantity - Количество или вес товара (целое или дробное число через точку)
sum - Полная сумма в рублях за все количество данного товара с учетом всех возможных скидок, бонусов и специальных цен.
tax - cтавка НДС:
  • none — без НДС
  • vat0 — 0%
  • vat10 — 10%
  • vat20 — 20%
  • vat110 — 10/110
  • vat120 — 20/120
Дополнительно можно передать два параметра:
payment_method - Признак способа расчёта.
Возможные значения параметра:
  • full_prepayment — предоплата 100%. Полная предварительная оплата до момента передачи предмета расчёта;
  • prepayment — предоплата. Частичная предварительная оплата до момента передачи предмета расчёта;
  • advance — аванс;
  • full_payment — полный расчёт. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчёта;
  • partial_payment — частичный расчёт и кредит. Частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;
  • credit — передача в кредит. Передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;
  • credit_payment — оплата кредита. Оплата предмета расчёта после его передачи с оплатой в кредит (оплата кредита).
payment_object - предмет расчета (если не передать, будет commodity (товар)), может принимать следующие значения:
  • commodity — товар. О реализуемом товаре, за исключением подакцизного товара (наименование и иные сведения, описывающие товар);
  • excise — подакцизный товар. О реализуемом подакцизном товаре (наименование и иные сведения, описывающие товар);
  • job — работа. О выполняемой работе (наименование и иные сведения, описывающие работу);
  • service — услуга. Об оказываемой услуге (наименование и иные сведения, описывающие услугу);
  • gambling_bet — ставка азартной игры. О приеме ставок при осуществлении деятельности по проведению азартных игр;
  • gambling_prize — выигрыш азартной игры. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр;
  • lottery — лотерейный билет. О приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок при осуществлении деятельности по проведению лотерей;
  • lottery_prize — выигрыш лотереи. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей;
  • intellectual_activity — предоставление результатов интеллектуальной деятельности. О предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации;
  • payment — платеж. Об авансе, задатке, предоплате, кредите, взносе в счет оплаты, пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета;
  • agent_commission — агентское вознаграждение. О вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом;
  • composite — составной предмет расчета. О предмете расчета, состоящем из предметов, каждому из которых может быть присвоено значение выше перечисленных признаков;
  • another — иной предмет расчета. О предмете расчета, не относящемуся к выше перечисленным предметам расчета;
  • property_right – имущественное право;
  • non-operating_gain – внереализационный доход;
  • insurance_premium – страховые взносы;
  • sales_tax – торговый сбор;
  • resort_fee – курортный сбор.
После определения переменных платежа, определяем переменную payment_sum, после которой сразу появится ссылка на оплату.
Общая стоимость всех товаров (сумма всех параметров sum) должна быть равной переменной payment_sum!
Пример:
session_timeout = 7200
product_name = Первый платеж
robokassa_sno = osn
products_for_receipt = [{"name": "Наименование товара", "quantity": 2, "sum": 2, "tax": "none"}, {"name": "Наименование товара 2", "quantity": 1, "sum": 6, "tax": "none"}]
payment_sum = 10
Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных session_timeout, product_name и т.д.

Какие могут быть ошибки

Код ошибки 40

«Повторная оплата счета с тем же номером невозможна».
После успешного платежа необходимо перевести диалог в блок "Конец сбора данных", чтобы сформировался новый номер платежа.

Код ошибки 34

«Услуга рекуррентных платежей не разрешена магазину».

Код ошибки 31

«Неверная сумма платежа».
Такая ошибка может возникнуть при переадресации клиента на платежную страницу для выставления счета. Она означает, что вы не передаете нам сумму, на которую необходимо провести платеж, либо передаете сумму, равную нулю.

Код ошибки 29

«Неверный параметрSignature»
Здесь причин может быть несколько, но все они связаны со скриптом, отвечающим за инициализацию оплаты (а конкретнее, его часть, которая формирует параметрSignatureпо формуле, состоящей из переменных). Эта ошибка встречается довольно часто, и вот 3 возможных причины:
  • Первая: некорректный Идентификатор магазина (MerchantLogin);
  • Вторая: неверный Пароль 1 (MerchantPass1);
  • Третья: вы используете дополнительные параметры (shp_), которые добавлены в программный код кассы, но не занесены в формулу подсчета - или наоборот, в формуле подсчета они указаны, а в коде нет. Если таковые используются, передавайте их в алфавитном порядке – как в параметрах на оплату, так и в формуле подсчета Signature.
Важный момент! Если вы работаете в тестовом режиме, передавая параметр IsTest=1 или включая его галочкой в настройках модуля/бота, используйте только тестовую пару технических паролей (закладка «Технические настройки» карточки вашего магазина).

Код ошибки 23

«Тестовый платёж не может быть создан. У магазина отсутствуют настройки тестовых параметров».
Это значит, что перед проведением тестового платежа вы не заполнили все необходимые данные в блоке «Параметры проведения тестовых платежей» закладки «Технические настройки».

Код ошибки 25

«Магазин не активирован».
Эта ошибка встречается нередко, и здесь могут быть 2 причины.
  • Первая: это действительно так – и необходимо активировать магазин, а лишь потом выставлять счет.
  • Вторая: вы неверно указали Идентификатор магазина в технических настройках на сайте. Посмотреть правильный можно в разделе «Мои магазины» Личного кабинета. Перейдите в закладку «Технические настройки» и найдите поле «Идентификатор магазина». Скопируйте идентификатор и введите его в настройках сайта.

Как проводить автоматические платежи Робокассы

Для проведения автоматического платежа, нужно включить их в настройка платежной системы Robokassa в Salebot - переключить ползунок “Включить автоплатежи”
Далее нужно провести обычный платеж (получить ссылку на оплату и чтоб клиент ее оплатил), как описано выше. После успешного платежа у клиента появится переменная robokassa_previous_invoice_id с идентификатором платежа (удалять ее нельзя, она обязательна для последующих платежей)
Далее, чтобы совершить автоплатеж, в нужном блоке в поле Назначение переменных при переходе, нужно добавить следующее:
response = robokassa_recurrent_payment(Сумма платежа, ‘Описание платежа’)
В переменную response запишется ответ функции
Пример: response = robokassa_recurrent_payment(100, ‘Описание платежа’)
Описание платежа передавать не обязательно, можно указать только сумму платежа.
При выполнении автоплатежа не должно быть ссылки на оплату робокассы и переменной payment_sum!

Какие требования Робокассы к чатботам

Официальный ответ Робокассы:
Вы можете разместить товар на маркете с описанием и ценником и принимать оплату в боте, можете сделать одностраничник с описанием, ценником, контактными данными и указанием, что доставка товара/оказания услуги электронное. У нас должна быть привязка к товару на маркете или к сайту, т.к. что Вы продаете продает в своем боте и в каком боте мы - мы не можем знать.
Ссылку на телеграммы канал в качестве URL мы не включаем. Также требования к наполнению сайта: "Сайт должен быть функционирующий, с заполненным контентом, работающими внутренними ссылками.
Товары и услуги на Вашем сайте должны быть подробно описаны: Описание должно включать характеристики предлагаемых товаров и услуг, их потребительские свойства и актуальную цену.
На Вашем сайте обязательно должна быть размещена актуальная информация: телефон, e-mail, правила оформления и сроки исполнения заказа, условия его оплаты, доставки и возврата.
Каждый сайт рассматривается индивидуально.
С уважением, ROBOKASSA.
Робокасса рекомендует