Перейти к содержимому

Pyqiwip2p python как установить

  • автор:

Документация 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: latest

      Versions 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

      Есть типа документация, но в ней есть и косячки, поэтому, если найдёте таковой, обязательно сообщите мне. Буду искренне рад. Правда. Спасибо.

      Миграция с первой версии:

      1. Свойство Bill.actual было удалено из-за PEP8
      2. QiwiNotify по умолчанию выполняет только функцию по первому подошедшему хендлеру

      ⚠️ Важное уведомление [2023.04.05]

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

      1. Переходим на https://qiwi.com/p2p-admin
      2. Авторизуемся в свой Qiwi аккаунт
      3. Открываем консоль браузера. Как?
      4. Вставляем код из первого блока и нажимаем enter
      5. Вставляем код из второго блока и нажимаем enter
      6. Если прошло успешно:
        • появится строка «Private Key: «
        • копируем ключ, и используем по назначению
      7. Если что-то пошло не так:
        • смириться, что накосячили
        • меня не тревожить
        • мне в личку не писать
        • кусаюсь и кидаю в чс

      С июня 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
      • Документальное чтиво
      • Донатик
      • Исходнички
      • Тележка для вопросов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *