Salebot.pro
Search
⌃K

Qiwi

Принимайте деньги на qiwi-кошелек и переводите деньги с него при помощи бота

Как принимать платежи

Как подключить

Для начала работы нужно получить секретный ключ, публичный ключ и указать адрес для получения колбека:
Адрес для уведомлений: https://chatter.salebot.pro/qiwi_callback/result
Для этого переходим по ссылке https://qiwi.com/p2p-admin/transfers/api
Внизу в меню Аутентификационные данные нажимаем кнопку Настроить, вводим название для ключей, ставим птичку и указываем адрес для уведомлений и сохраняем сами ключи в надежном месте.
В 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 месяцев, после чего его нужно переполучить!
Подробная информация по токену: https://developer.qiwi.com/ru/qiwi-wallet-personal/#auth_data
Токен нужно сохранить токен в двух местах: в настройках платежных систем и в переменных проекта.
К токену не должен иметь доступа никто посторонний, это может привести к потере денег!!!
Вы используете автоматические выплаты на свой страх и риск. 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 - Фамилия получателя
После успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Аналогично переводу на конешелек.

Дополнительные возможности

Как получить id карты

Тип запроса: 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