Теперь приступим к работе с QIWI, для оплаты мы будем использовать формы с оплатой.
Переходим на https://p2p.qiwi.com/, логинимся под свой кошелек.
Далее переходим в раздел "API" и создаем токен, сохраняем наш секретный ключ (не спутайте с PublicKey), в скрипте можно создать переменную с нашим ключом.
Сделаем генерацию ссылки на форму по команде "/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", он должен прислать нам ссылку на оплату:
Как мы видим, все работает!
Теперь нам надо проверить платеж от пользователя, сделать это можно разными способами. Логику проверки придумаете сами, советую записывать рандом номера в БД и сверять их. Сейчас я только покажу как проверять платеж по команде, например "/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
(
'Вы не оплатили счет!'
)