Документация PyQiwiP2P приветствует тебя!¶
С июня Qiwi начала блокировать кошельки, если пользователь открыл страницу оплаты «напрямую», тем самым не передав заголовок referer.
Это случается при открытии ссылки:
- из мессенджера
- из смс
- из письма
- из адресной строки
- из браузера с повышенным режимом приватности или расширениями для приватного просмотра
Для обхода всех проблем, кроме последней (она не решается), к объекту Bill был добавлен атрибут Bill.alt_url , который предоставляет ссылку для перенаправления на страницу оплаты через специальную страницу-прокладу, добавляющую этот самый referer.
Страница предоставлена мною, но её можно поднять на своём сервере с помощью docker-контейнера.
- Исходники: Github
- Образ контейнера: ghcr.io/whiteapfel/pyqiwip2p:p2proxy
- Запуск: docker run -p 3600:3600 -d ghcr.io/whiteapfel/pyqiwip2p:p2proxy
- Свой домен в клиенте: p2p = AioQiwiP2P(PrivKey, alt=»example.com»)
Зависимости¶
setuptools>=63.1.0 phonenumbers>=8.12.15 email_validator>=1.2.1 typing>=3.7.4.3 Hypercorn>=0.11.2 starlette>=0.19.0 httpx>=0.23.0 pydantic>=1.9.1 validators>=0.20.0 ipaddress~=1.0.23 loguru>=0.6.0 python-dotenv>=0.20.0 pytest>=7.1.2 CherryPy>=18.7.0 response-report~=1.1.0
Установка¶
python3 -m pip install --update pyqiwip2p
git clone https://github.com/WhiteApfel/pyQiwiP2P cd pyQiwiP2P python setup.py install
- Как пользоваться
- Синхронный режим
- Асинхронный режим
- Как пользоваться уведомлениями
- Асинхронный сервер
- Синхронный сервер
© Copyright 2020-2022, WhiteApfel Revision 5f2253fe .
Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latestVersions latest stable Downloads On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.
Не могу установить pyqiwip2p, может кто сталкивался?
Снова здорова, в общем следующая проблема, пишу код бота для ТГ, мини магазин, и нужно прикрутить киви, как я понял читая документации нужно поставить библиотеку pyqiwip2p, проблема в том, что она попросту не устанавливается. Я уже код на половину написал, может больше, но понял поздно что библиотека не воткнулась, выдавала сначала подобную проблему «ignoring invalid distribution c python36 lib site-packages», почитал форумы, пришел к выводу что нужно удалить папки в site-packages которые имеют ~ в названии. Удалил такие папки, и теперь просто нет желтых и красных строк ошибок при установке библиотеки, но она так и не втыкается как понял. Ведь строчка «from pyqiwip2p.types import QiwiCustomer, QiwiDatetime» по прежнему выдает ошибку в терминале «ModuleNotFoundError: No module named ‘pyqiwip2p.types'», в общем сижу без настроения уже 2ые сутки, и не могу понять как разобраться. облазил весь интернет, надежда только на вас, вы как последняя инстанция.
Отслеживать
задан 31 июл 2022 в 14:38
Martin Utelov Martin Utelov
13 1 1 бронзовый знак
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
from pyqiwip2p.p2p_types import QiwiCustomer, QiwiDatetimeОтслеживать
ответ дан 16 авг 2022 в 13:02
11 4 4 бронзовых знака
Ваш ответ можно улучшить с помощью дополнительной информации. Пожалуйста, нажмите править для добавления подробностей, например, цитат или документации, чтобы другие могли подтвердить правильность вашего ответа. Вы можете найти дополнительную информацию о том, как писать хорошие ответы в Справке.
Почему нету импорта?
Хочу импортировать AioQiwiP2P, но его почему-то нету в библиотеке. Саму библиотеку не раз обновлял, но она находит только AioQiwip2p (p2p не путать с P2P).
Команда взята из официальной документации:
from pyqiwip2p import AioQiwiP2P- Вопрос задан более двух лет назад
- 239 просмотров
Комментировать
Решения вопроса 1
WhiteApfel @WhiteApfelДа, проблема с импортом была. Исправил её в начале июня. Асинхронная версия до сих пор нестабильна, но если очень хочется, можно установить с помощью команды pip install pyQiwiP2P==2.0a10
pyQiwiP2P
Есть типа документация, но в ней есть и косячки, поэтому, если найдёте таковой, обязательно сообщите мне. Буду искренне рад. Правда. Спасибо.
Миграция с первой версии:
- Свойство Bill.actual было удалено из-за PEP8
- QiwiNotify по умолчанию выполняет только функцию по первому подошедшему хендлеру
⚠️ Важное уведомление [2023.04.05]
Выпуск ключей для приёма P2P платежей через сайт официально закрыт, но метод, заявленный в документации QIWI, продолжает работать, хоть и с несколько изменённой авторизацией.
- Переходим на https://qiwi.com/p2p-admin
- Авторизуемся в свой Qiwi аккаунт
- Открываем консоль браузера. Как?
- Вставляем код из первого блока и нажимаем enter
- Вставляем код из второго блока и нажимаем enter
- Если прошло успешно:
- появится строка «Private Key: «
- копируем ключ, и используем по назначению
- Если что-то пошло не так:
- смириться, что накосячили
- меня не тревожить
- мне в личку не писать
- кусаюсь и кидаю в чс
С июня Qiwi начала блокировать кошельки, если пользователь открыл страницу оплаты «напрямую», тем самым не передав заголовок referer.
Это случается при открытии ссылки:
- из мессенджера
- из смс
- из письма
- из адресной строки
- из браузера с повышенным режимом приватности или расширениями для приватного просмотра
Для обхода всех проблем, кроме последней (она не решается), к объекту Bill был добавлен атрибут Bill.alt_url , который предоставляет ссылку для перенаправления на страницу оплаты через специальную страницу-прокладу, добавляющую этот самый referer.
Страница предоставлена мною, но её можно поднять на своём сервере с помощью docker-контейнера.
- Исходники: Github
- Образ контейнера: ghcr.io/whiteapfel/pyqiwip2p:p2proxy
- Запуск: docker run -p 3600:3600 -e QP2P_DOMAIN=’example.com’ -d ghcr.io/whiteapfel/pyqiwip2p:p2proxy
- Свой домен в клиенте: p2p = AioQiwiP2P(PrivKey, alt=»example.com»)
А как пользоваться
Что есть?
Есть сам класс QiwiP2P, который обладает тремя инструментами: для выставления, проверки и закрытия платежа (счёта).
Могём. Причём примерно так же.
И всё?
Нет, не всё. Ещё можно настроить кивишные уведомления на свой сервер, для этого придется немного пострадать, но лишь немного.
Внимание! Для работы будет необходим проксирующий сервер (например, Nginx) с доверенным SSL-сертификатом. Да. Подробнее про требования к проксирующему серверу в документации Qiwi
А эта шайтан-машина нужна для захендлирования функций на события. Она не готова самостоятельно контактировать с внешним миром. Пожалей её.
Запросы сервер по умолчанию принимает на 8099 порту, его можно изменить, и только на /qiwi_notify — изменить нельзя.
Да есть. Причём хендлить функции можно и асинхронные, и синхронные.
Для порта 12345 (как в примерах выше) будет:
server < listen 443; server_name qiwinotify.domain.com; ssl_certificate cert.crt; ssl_certificate_key pkey.key; location /superSecretQiwiURI < proxy_pass http://0.0.0.0:12345/qiwi_notify; >>В таком случае при генерации ключей API на https://qiwi.com/p2p-admin/transfers/api нужно будет указать https://qiwinotify.domain.com/superSecretQiwiURI в качестве URL для уведомлений
P.S. за неприходящие от Qiwi запросы ответственность не несу, как и за приходящие, кстати, тоже. Если запроса от Qiwi не было, то пишите им в поддержку @qiwi_api_help_bot
Подробности проекта
Ссылки проекта
- Homepage
- Документальное чтиво
- Донатик
- Исходнички
- Тележка для вопросов