ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Python (https://forum.antichat.xyz/forumdisplay.php?f=205)
-   -   Делаем простую автооплату через QIWI (VK) (https://forum.antichat.xyz/showthread.php?t=1374794)

clrn1w 03.01.2021 23:47

Привет, увидел тему @S E V E N c автооплатой и решил сделать такое же на Python.

Что нам понадобится:

1) Python 3

2) Любая библиотека для работы с VK API (я буду использовать VKBottle)

3) Библиотека для работы с QIWI - pyQiwiP2P

После установки всего нам нужного приступаем к следующим этапам:

1) Переходим в раздел "Работа с API"

В данном разделе переходим в LongPoll API и включаем LongPoll, версию API выбираем 5.103

Переходим в "Типы событий" и включаем все события на "Входящие сообщения".

2) Переходим в раздел "Сообщения" и включаем сообщения группы.

Также там же переходим в раздел "Настройки для бота" и включаем возможности ботов.

Группа готова, переходим к коду, создаем Python файл и открываем его в любом текстовом редакторе.


Подключаем наши библиотеки:

Python:





Код:

from
vkbottle
.
bot
import
Bot
,
Message
from
pyqiwip2p
import
QiwiP2P
from
pyqiwip2p
.
types
import
QiwiCustomer
,
QiwiDatetime



Далее нам нужно передать токен ВК:

Python:





Код:

bot
=
Bot
(
"Токен ВК"
)



Для начала попробуем сделать реакцию на определенную команду, к примеру "/qiwi" и ответим на эту команду:

Python:





Код:

@bot.on.private_message
(
text
=
'/qiwi'
)
async
def
test
(
message
:
Message
)
:
print
(
message
)
await
message
.
answer
(
'Я отреагировал на твое сообщение!'
)
bot
.
run_forever
(
)



https://forum.antichat.xyz/attachmen...e8a9276351.png

Теперь приступим к работе с QIWI, для оплаты мы будем использовать формы с оплатой.

Переходим на https://p2p.qiwi.com/, логинимся под свой кошелек.

Далее переходим в раздел "API" и создаем токен, сохраняем наш секретный ключ (не спутайте с PublicKey), в скрипте можно создать переменную с нашим ключом.
https://forum.antichat.xyz/attachmen...0a03206b2e.png

Где-то сверху вставляем данную строчку:

Python:





Код:

p2p
=
QiwiP2P
(
auth_key
=
"Секретный токен QIWI"
)



Сделаем генерацию ссылки на форму по команде "/qiwi":

Python:





Код:

@bot.on.private_message
(
text
=
'/qiwi'
)
async
def
test
(
message
:
Message
)
:
amount
=
1
# Сумма 1 рубль
lifetime
=
15
# Форма будет жить 15 минут
comment
=
'Купить арбуз'
# Комментарий
bill
=
p2p
.
bill
(
amount
=
amount
,
lifetime
=
lifetime
,
comment
=
comment
)
# Выставление счета
await
message
.
answer
(
f'Сумма:{amount}\nСсылка живет:{lifetime}минут\nСсылка:\n{bill.pay_url}'
)
# Отправляем ссылку человеку
bot
.
run_forever
(
)



Теперь напишем боту команду "/qiwi", он должен прислать нам ссылку на оплату:

https://forum.antichat.xyz/attachmen...c9f21a33e0.png

https://forum.antichat.xyz/attachmen...69982b857d.png

Как мы видим, все работает!

Теперь нам надо проверить платеж от пользователя, сделать это можно разными способами. Логику проверки придумаете сами, советую записывать рандом номера в БД и сверять их. Сейчас я только покажу как проверять платеж по команде, например "/check".

Python:





Код:

@bot.on.private_message
(
text
=
'/check'
)
async
def
check
(
message
:
Message
)
:
status
=
qiwi
.
check_status
(
bill_id
)
# bill_id - номер платежа
if
status
==
'PAID'
:
# Если статус счета оплачен (PAID)
await
message
.
answer
(
'Оплата прошла успешно!'
)
else
:
# В другом случае
await
message
.
answer
(
'Вы не оплатили счет!'
)





Теперь проверим.


https://forum.antichat.xyz/attachmen...c0d6fd5c5a.png

Disturbed 03.01.2021 23:58

Для телеги сможешь найти библиотеку?

winten 04.01.2021 00:05

Цитата:

Сообщение от Disturbed

Для телеги сможешь найти библиотеку?

aiogram для самого бота, библиотека для киви та же

а вообще зачем делать по 300 гайдов на одну тему да еще и по использованию АПИ????

clrn1w 04.01.2021 00:08

Цитата:

Сообщение от Disturbed

Для телеги сможешь найти библиотеку?

aiogram, telebot

kin4stat 04.01.2021 04:12

Цитата:

Сообщение от clrn1w

telebot

Он синхронный

randazzo 04.01.2021 05:09

зачем вы плодите эти говнотемы... заюзал другой яп и взял две готовые библиотеки, ваааууу

clrn1w 04.01.2021 09:56

Цитата:

Сообщение от KiN4StAt

Он синхронный

Знаю

Цитата:

Сообщение от randazzo

зачем вы плодите эти говнотемы... заюзал другой яп и взял две готовые библиотеки, ваааууу

В интернете не видел работы с P2P киви на python. Видел одну тему, но там библиотека устаревшая и не рабочая

randazzo 04.01.2021 10:06

Цитата:

Сообщение от clrn1w

В интернете не видел работы с P2P киви на python. Видел одну тему, но там библиотека устаревшая и не рабочая

https://github.com/WhiteApfel/pyQiwiP2P#что-есть ни одной работы.

как гайд эта тема говно, "я вам тут накидал чет, если захотите - доделаете"

clrn1w 04.01.2021 11:03

Цитата:

Сообщение от randazzo

https://github.com/WhiteApfel/pyQiwiP2P#что-есть ни одной работы.
как гайд эта тема говно, "я вам тут накидал чет, если захотите - доделаете"

Библиотека не популярна, я ее откопал *** знает откуда

Leatington 04.01.2021 11:04

Где мой любимый PHP?


Время: 07:22