Qiwi
Принимайте деньги на qiwi-кошелек и переводите деньги с него при помощи бота
Для начала работы нужно получить секретный ключ, публичный ключ и указать адрес для получения колбека:
Адрес для уведомлений: https://chatter.salebot.pro/qiwi_callback/result
Внизу в меню Аутентификационные данные нажимаем кнопку Настроить, вводим название для ключей, ставим птичку и указываем адрес для уведомлений и сохраняем сами ключи в надежном месте.


В Salebot в разделе Платежные системы нужно найти QIWI и заполнить форму.

Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_description и т.д.
Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum, payment_description и link_expired (Название оплаты, описание и срок действия ссылки в формате дд.мм.гггг чч:мм. Если не указать время, то по умолчанию будет выставлено значение 00:00) сразу после этого появится переменная qiwi_pay_url. Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".
ПРИМЕР ссылки на оплату:
https://oplata.qiwi.com/form/?invoice_uid=d875277b-6f0f-445d-8a83-f62c7c07be77. Срок действия ссылки на оплату по умолчанию 30 дней с момента формирования ссылки для клиента.
В первом блоке задаем сумму оплаты:

Дальше выводим в нужном месте урл, ссылку qiwi_pay_url:

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


Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.
Тип сравнения должен быть "Полное совпадение"
Для совершения повторного платежа обязательно необходимо обнулить payment_sum, ранее сформированную ссылку и уже после переназначить переменную payment_sum для получения свежей ссылки. Можно указать предыдущее значение.
Также после успешной оплаты переменная qiwi_payment_completed устанавливается в True.
Внимание! Колбеки приходят с задержкой, так что после вывода ссылки на оплату пользователю рекомендуем отправить сообщение, что вроде: “После оплаты дождитесь сообщения об успешном завершении оплаты”
Например, можно сделать обработку успешной оплаты блоком с условием и вывести соответствующее сообщение пользователю:

После завершения оплаты клиенту добавится переменная qiwi_callback_data, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода get.
Для подключения выплат Qiwi вам нужно получить API токен. Для этого переходим на страницу https://qiwi.com/api и нажимаем кнопку "Выпустить новый токен".
Выбираем все пункты и подтверждаем получения токена кодом из смс. Копируем полученный токен и сохраняем в настройках платежной системы QIWI на Salebot.
Токен действует 6 месяцев, после чего его нужно переполучить!
Токен нужно сохранить токен в двух местах: в настройках платежных систем и в переменных проекта.
К токену не должен иметь доступа никто посторонний, это может привести к потере денег!!!
Вы используете автоматические выплаты на свой страх и риск. Salebot не несет ответственности за переводы!!!! При разработке бота будьте аккуратны.
Рекомендуется хранить в кошельке НЕзначительные суммы, для минимизации риска.
Переходим в меню платежные системы, выбираем Qiwi и сохраняем секретный ключ в соответствующем поле:
Переходим в настройки проекта и задаем токен в переменные проекта:
Далее все запросы в блоках будут выполняться по адресу: https://store.salebot.pro/function/qiwi_money_transfer
Каждое обращение к функции возвращает обязательных 3 параметра:
answer - значения могут быть: None (при ошибке); запрашиваемое значение; если запрос ничего не должна возвращать, то успешное выполнение вернет ok
status - либо err, либо ok
message - Bad request - ошибка в запросе, либо пояснение ошибки, либо ok
Для перевода необходимо осуществить запрос:
Тип запроса: POST-json
URL-запроса: https://store.salebot.pro/function/qiwi_money_transfer
Сохраняемые значения из JSON-ответа:
status -> status;
answer -> answer;
message -> message
JSON POST-параметров:
{
"token": "#{token}",
"command": "payment_wallet",
"to_account": "79121112233",
"comment": "ваш комментарий к выводу",
"sum_pay": "100.55",
"client_id": "#{client_id}"
}
Номер телефона вводится без + в международном формате
#{client_id} - id клиента в конструкторе (служебная переменная конструктора)

Если status будет ok, то запрос на перевод отправлен успешно.
После успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата.
Эти колбеки могут быть трех видов:
qiwi_transfer_WAITING - платеж проводится
qiwi_transfer_SUCCESS - успешный платеж
qiwi_transfer_ERROR - ошибка платежа.
В переписке они будут как сообщение от пользователя, которое можно обработать, например вот так:

Колбек про выплату может прийти сразу, а может и с задержкой в 30 минут! Это следует учитывать при создании бота (данная задержка происходит на стороне Qiwi)

Тип запроса: POST-json
URL-запроса: https://store.salebot.pro/function/qiwi_money_transfer
Сохраняемые значения из JSON-ответа:
status -> status;
answer -> answer;
message -> message
JSON POST-параметров:
{ "token": "#{token}",
"command": "payment_card",
"card_number": "402865XXXXXXXXXX",
"card_id": "1963",
"sum_pay": "50",
"client_id": "#{client_id}"
}
Внимание! Номер карты без пробелов и лишних знаков
Пример: 4028650000000000
card_id - идентификатор провайдера. Возможные значения:
1963 - Перевод на карту Visa (карты российских банков)
21013 - Перевод на карту MasterCard (карты российских банков)
31652 - Перевод на карту национальной платежной системы МИР
22351 - Перевод на Виртуальную карту QIWI
sum_pay - сумма платежа целое число 10 или дробное 10.25

После успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Аналогично переводу на кошелек.
* Для карт, выпущенных банками стран Азербайджан, Армения, Беларусь, Болгария, Бразилия, Венгрия, Германия, Греция, Грузия, Египет, Индия, Казахстан, Кипр, Киргизия, Китай, Латвия, Литва, Мальта, Молдова, Новая Зеландия, Объединенные Арабские Эмираты, Румыния, Саудовская Аравия, Сербия, Сингапур, Словакия, Словения, Таджикистан, Тайланд, Туркменистан, Турция, Узбекистан, Хорватия, Чехия, Эстония, Южная Корея, Япония
Тип запроса: POST-json
URL-запроса: https://store.salebot.pro/function/qiwi_money_transfer
Сохраняемые значения из JSON-ответа:
status -> status;
answer -> answer;
message -> message
JSON POST-параметров:
{
"token": "#{token}",
"command": "payment_card",
"card_number": "402865XXXXXXXXXX",
"card_id": "1960",
"sum_pay": "50",,
"client_id": "#{client_id}"
"sender_address": "Ленинский проспект 131, 56",
"sender_city": "Москва",
"sender_country": "Россия",
"sender_name": "Виктор",
"sender_surname": "Петров",
"recipient_name": "Сергей",
"recipient_surname": "Иванов"
}
Внимание! Номер карты без пробелов и лишних знаков
Пример: 4028650000000000
sum_pay - сумма платежа целое число (10, 125 и тд) или дробное (10.25, 255.5)
card_id - идентификатор провайдера. Возможные значения:
1960 – Перевод на карту Visa
21012 – Перевод на карту MasterCard
sender_name - Имя отправителя
sender_surname - Фамилия отправителя
sender_address - Адрес отправителя (без почтового индекса, в произвольной форме)
sender_city - Город отправителя
sender_country - Страна отправителя
recipient_name - Имя получателя
recipient_surname - Фамилия получателя

После успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Аналогично переводу на конешелек.
Тип запроса: POST-json
URL-запроса: https://store.salebot.pro/function/qiwi_money_transfer
Сохраняемые значения из JSON-ответа:
status -> status;
answer -> card_id;
message -> message
JSON POST-параметров:
{
"command": "check_card",
"card_number":"402865XXXXXXXXXX"
}

Тип запроса: POST-json
URL-запроса: https://store.salebot.pro/function/qiwi_money_transfer
Сохраняемые значения из JSON-ответа:
status -> status;
answer -> commission;
message -> message
JSON POST-параметров:
{
"token": "#{token}",
"command": "commission_wallet",
"to_account": "79261112233",
"id_provider":"99",
"sum_pay": "1000"
}
to_account - аккаунт на который производится перевод
id_provider - постоянное значение 99
sum_pay - сумма перевода

Тип запроса: POST-json
URL-запроса: https://store.salebot.pro/function/qiwi_money_transfer
Сохраняемые значения из JSON-ответа:
status -> status;
answer -> commission;
message -> message
JSON POST-параметров:
{
"token": "#{token}",
"command": "commission_card",
"to_account": "402865XXXXXXXXXX",
"id_provider":"1963",
"sum_pay": "1000"
}
to_account - номер карты, на который производится перевод
sum_pay - сумма перевода
id_provider - id карты. Возможные значения:
1963 - Перевод на карту Visa (карты российских банков)
21013 - Перевод на карту MasterCard (карты российских банков)
31652 - Перевод на карту национальной платежной системы МИР
22351 - Перевод на Виртуальную карту QIWI

Last modified 28d ago