Qiwi

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

Прием платежей

Подключение

Для начала работы нужно получить секретный ключ, публичный ключ и указать адрес для получения колбека:

Адрес для уведомлений: https://chatter.salebot.pro/qiwi_callback/result

Для этого переходим по ссылке https://qiwi.com/p2p-admin/transfers/api

Внизу в меню Аутентификационные данные нажимаем кнопку Настроить, вводим название для ключей, ставим птичку и указываем адрес для уведомлений и сохраняем сами ключи в надежном месте.

Секретный ключ необходимо ввести в форму подключения qiwi-платежей

Создание ссылки

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

В первом блоке задаем сумму оплаты:

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

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

После успешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Эти колбеки в системе вы видите как сообщения от пользователя, чтобы их не мог отправить пользователь, они состоят из 5 символов секретного ключа и приписки success, например: jhfHF_success.

Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.

Тип сравнения должен быть "Полное совпадение"

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

Также после успешной оплаты переменная qiwi_payment_completed устанавливается в True.

Внимание! Колбеки приходят с задержкой, так что после вывода ссылки на оплату пользователю рекомендуем отправить сообщение, что вроде: “После оплаты дождитесь сообщения об успешном завершении оплаты”

Например, можно сделать обработку успешной оплаты блоком с условием и вывести соответствующее сообщение пользователю:

Перевод денег

Получение токена

Для подключения выплат Qiwi вам нужно получить апи токен. Для этого переходим на страницу 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