как выставить счет qiwi python

Как выставить счет qiwi python

как выставить счет qiwi python. Смотреть фото как выставить счет qiwi python. Смотреть картинку как выставить счет qiwi python. Картинка про как выставить счет qiwi python. Фото как выставить счет qiwi python

Штучка для удобной работы с кивишной апишкой платежей

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

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

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

С июня Qiwi начала блокировать кошельки, если пользователь открыл страницу оплаты «напрямую», тем самым не передав заголовок referer.

Это случается при открытии ссылки:

Страница предоставлена мною, но её можно поднять на своём сервере с помощью docker-контейнера.

А как пользоваться

Есть сам класс QiwiP2P, который обладает тремя инструментами: для выставления, проверки и закрытия платежа (счёта).

А асинхронно могёте?

Могём. Причём примерно так же.

Нет, не всё. Ещё можно настроить кивишные уведомления на свой сервер, для этого придется немного пострадать, но лишь немного.

Внимание! Для работы будет необходим проксирующий сервер (например, Nginx) с доверенным SSL-сертификатом. Да. Подробнее про требования к проксирующему серверу в документации Qiwi

А эта шайтан-машина нужна для захендлирования функций на события. Она не готова самостоятельно контактировать с внешним миром. Пожалей её.

И асинхронный сервер, наверное, у вас есть?

Да есть. Причём хендлить функции можно и асинхронные, и синхронные.

Настройка проксирующего Nginx

Для порта 12345 (как в примерах выше) будет:

В таком случае при генерации ключей API на https://qiwi.com/p2p-admin/transfers/api нужно будет указать https://qiwinotify.domain.com/superSecretQiwiURI в качестве URL для уведомлений

P.S. за неприходящие от Qiwi запросы ответственность не несу, как и за приходящие, кстати, тоже. Если запроса от Qiwi не было, то пишите им в поддержку @qiwi_api_help_bot

как выставить счет qiwi python. Смотреть фото как выставить счет qiwi python. Смотреть картинку как выставить счет qiwi python. Картинка про как выставить счет qiwi python. Фото как выставить счет qiwi python

About

Library for comfortable work with the API of payment system for individuals QiwiP2P

Источник

qiwiBillPaymentsAPI 0.2

pip install qiwiBillPaymentsAPI Copy PIP instructions

Released: Mar 2, 2021

Qiwi Bill Payments API

Navigation

Project links

Statistics

View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery

License: MIT License

Requires: Python >=3.4

Maintainers

Classifiers

Project description

Universal payments API Python SDK

Python SDK модуль для внедрения единого платежного протокола эквайринга и QIWI Кошелька.

Установка и подключение

Установка с помощью pip:

Документация

API P2P-счетов (для физических лиц): https://developer.qiwi.com/ru/p2p-payments API QIWI Кассы (для юридических лиц): https://developer.qiwi.com/ru/bill-payments

Авторизация

Смена PUBLIC_KEY и SECRET_KEY на новый:

Примеры

Платежная форма

Простой способ для интеграции. При открытии формы клиенту автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке. Далее клиенту отображается платежная форма с выбором способа оплаты. При использовании этого способа нельзя гарантировать, что все счета выставлены мерчантом, в отличие от выставления по API.

Выставление счета

Информация о счете

Метод getBillInfo возвращает информацию о счете. В параметрах нужно указать идентификатор счета billId внутри вашей системы, в результате будет получен ответ со статусом счета. Подробнее в документации.

Отмена неоплаченного счета

Метод cancelBill отменяет неоплаченный счет. В параметрах нужно указать идентификатор счета billId внутри вашей системы, в результате будет получен ответ с информацией о счете. Подробнее в документации.

Источник

Как выставить счет qiwi python

Python Qiwi API Wrapper 2.1 by mostm

See pyQiwi Documentation: pyqiwi.readthedocs.io

class pyqiwi. Wallet ( token, number=None, contract_info=True, auth_info=True, user_info=True ) [исходный код] ¶

Все доступные счета на кошельке. Использовать можно только рублевый Visa QIWI Wallet.

Type:iterable of Account

profile ¶

Type: Profile

offered_accounts ¶

Доступные счета для создания

Type:iterable of Account

balance ( currency=643 ) [исходный код] ¶

Баланс Visa QIWI Кошелька

ValueError – Во всех добавленных вариантах оплаты с указанного Qiwi-кошелька нет информации об балансе и его сумме. Скорее всего это временная ошибка Qiwi API, и вам стоит попробовать позже. Так же, эта ошибка может быть вызвана только-что зарегистрированным Qiwi-кошельком,

либо довольно старым Qiwi-кошельком, которому необходимо изменение пароля.

Получение чека по транзакции, на E-Mail или файл.

. | Прямой возврат ответа от Qiwi API

commission ( pid, recipient, amount ) [исходный код] ¶

Расчет комиссии для платежа

Комиссия для платежа

create_account ( account_alias ) [исходный код] ¶

Создание счета-баланса в Visa QIWI Wallet

Параметры:account_alias (str) – Псевдоним нового счета. Один из доступных в Wallet.offered_accounts.
Результат:Был ли успешно создан счет?
Тип результата:bool

history ( rows=20, operation=None, start_date=None, end_date=None, sources=None, next_txn_date=None, next_txn_id=None ) [исходный код] ¶

При превышении доступ к API блокируется на 5 минут.

Данный запрос позволяет отправить данные для упрощенной идентификации своего QIWI кошелька.

Данный метод не тестируется, соответственно я не могу гарантировать того что он будет работать как должен. Вы делаете это на свой страх и риск.

Текущая идентификация пользователя. Параметр внутри отвечающий за подтверждение успешной идентификации: Identity.check

mobile ( account, amount ) [исходный код] ¶

Оплата мобильной связи.

ValueError – В случае, если не удалось определить провайдера.

qiwi_transfer ( account, amount, comment=None ) [исходный код] ¶

Перевод на Qiwi Кошелек

send ( pid, recipient, amount, comment=None, fields=None ) [исходный код] ¶

stat ( start_date=None, end_date=None, operation=None, sources=None ) [исходный код] ¶

Изначально берется статистика с начала месяца

transaction ( txn_id, txn_type ) [исходный код] ¶

Получение транзакции из Qiwi API

pyqiwi. detect_mobile ( phone ) [исходный код] ¶

Определение провайдера мобильного телефона

Параметры:phone (str) – Номер телефона
Результат:ID провайдера
Тип результата:str

pyqiwi. generate_form_link ( pid, account, amount, comment, blocked=None, account_type=None ) [исходный код] ¶

Создание автозаполненной платежной формы

Отвечает за вариант перевода при pid=99999 (вариация перевода на Qiwi Кошелек) Варианты: 0 (перевод по номеру телефона, phone), 1 (перевод по «никнейму», nickname),

Комментарий применяется только при переводе на Qiwi Кошелек по номеру (pid==99) Сумма платежа не может быть более 99999 из-за ограничений на один платеж. Тип счета для перевода на Qiwi Кошелек (pid=99999) с возможностью ввода «nickname» выбирается в account_type

Результат:Ссылка
Тип результата:str
Raises:ValueError – amount>99999 или список blocked неверен

pyqiwi. get_commission ( token, pid ) [исходный код] ¶

Получение стандартной комиссии

Комиссия для платежа

Types¶

Счет из Visa QIWI Кошелька

Псевдоним пользовательского баланса

Type:str

fs_alias ¶

Псевдоним банковского баланса

Название соответствующего счета кошелька

Type:str

has_balance ¶

Логический признак реального баланса в системе QIWI Кошелек (не привязанная карта, не счет мобильного телефона и т.д.)

Type:str

currency ¶

Код валюты баланса (number-3 ISO-4217).

Type: AccountType

balance ¶

Псевдоним пользовательского баланса

Type:Optional[float]

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. AccountType ( _id, title, obj ) [исходный код] ¶

Сведения о счете из Visa QIWI Кошелька

Кодовое название счета

Type:str

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. AuthInfo ( bound_email, ip, last_login_date, mobile_pin_info, pass_info, person_id, pin_info, registration_date, obj ) [исходный код] ¶

Профиль пользователя Visa QIWI Кошелька

E-mail, привязанный к кошельку. Если отсутствует, то None

Type:str/None

ip ¶

IP-адрес последней пользовательской сессии

Type:str

last_login_date ¶

Дата/время последней сессии в QIWI Кошельке

Type:str

mobile_pin_info ¶

Данные о PIN-коде мобильного приложения QIWI Кошелька

Type: MobilePinInfo

pass_info ¶

Данные о пароле к сайту qiwi.com

Type: PassInfo

person_id ¶

Номер кошелька пользователя

Type:int

pin_info ¶

Данные о PIN-коде к приложению QIWI Кошелька на QIWI терминалах

Type: PinInfo

registration_date ¶

Дата/время регистрации QIWI Кошелька пользователя (через сайт либо мобильное приложение, либо другим способом)

Type:datetime.datetime

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. Commission ( ranges, obj ) [исходный код] ¶

Массив объектов с граничными условиями комиссий

Type:list[ CommissionRange ]

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. CommissionRange ( bound, fixed, rate, _min, _max, obj ) [исходный код] ¶

Сумма платежа, начиная с которой применяется условие

Type:Optional[float/int]

rate ¶

Комиссия (абсолютный множитель)

Type:Optional[float/int]

min ¶

Минимальная сумма комиссии

Type:Optional[float/int]

max ¶

Максимальная сумма комиссии

Type:Optional[float/int]

fixed ¶

Фиксированная сумма комиссии

Type:Optional[float/int]

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. ContractInfo ( blocked, contract_id, creation_date, features, identification_info, obj ) [исходный код] ¶

Информация о кошельке пользователя

Логический признак блокировки кошелька

Type:bool

contract_id ¶

Номер кошелька пользователя

Type:int

creation_date ¶

Дата/время создания QIWI Кошелька пользователя (через сайт либо мобильное приложение, либо при первом пополнении, либо другим способом)

Type:datetime.datetime

features ¶

Type:.

identification_info ¶

Данные об идентификации пользователя

Type:list[ IdentificationInfo ]

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. IdentificationInfo ( bank_alias, identification_level, obj ) [исходный код] ¶

Данные об идентификации пользователя

Type:str

identification_level ¶

Type:str

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. Identity ( _id, _type, birth_date, first_name, middle_name, last_name, passport, inn, snils, oms, base_inn, obj ) [исходный код] ¶

Номер кошелька пользователя

Type:str

birth_date ¶

Дата рождения пользователя

Type:str

first_name ¶

Type:str

middle_name ¶

Type:str

last_name ¶

Type:str

passport ¶

Серия и номер паспорта пользователя

Номер СНИЛС пользователя

Номер полиса ОМС пользователя

Идентификация кошелька выполнена? (Используются варианты предлагаемые документацией Qiwi API)

Type:bool

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. JsonDeserializable [исходный код] ¶

Субклассы этого класса гарантированно могут быть созданы из json-подобного dict’а или форматированной json строки Все субклассы этого класса должны перезаписывать de_json

Содержит в себе исходные данные от Qiwi API

Type:.

static check_json ( json_type ) [исходный код] ¶

Проверяет, json_type или dict или str. Если это dict, возвращает его в исходном виде Иначе, возвращает dict созданный из json.loads(json_type)

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

static decode_date ( date_string: str ) [исходный код] ¶

Декодирует дату из строки вида отправляемого Qiwi API ISO-8601

Результат:
Тип результата:datetime.datetime данной строки

class pyqiwi.types. MobilePinInfo ( mobile_pin_used, last_mobile_pin_change, next_mobile_pin_change, obj ) [исходный код] ¶

Данные о PIN-коде мобильного приложения QIWI Кошелька

Логический признак использования PIN-кода (фактически означает, что мобильное приложение используется)

Type:bool

last_mobile_pin_change ¶

Дата/время последнего изменения PIN-кода мобильного приложения QIWI Кошелька

Type:datetime.datetime

next_mobile_pin_change ¶

Дата/время следующего (планового) изменения PIN-кода мобильного приложения QIWI Кошелька

Type:datetime.datetime

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. OnlineCommission ( provider_id, withdraw_sum, enrollment_sum, qw_commission, funding_source_commission, withdraw_to_enrollment_rate, obj ) [исходный код] ¶

Type:int

withdraw_sum ¶

Общая сумма платежа

Type: TransactionSum

enrollment_sum ¶

Сумма платежа с учетом комиссии

Type: TransactionSum

qw_commission ¶

Type: TransactionSum

funding_source_commission ¶

Комиссия платежной системы(если Qiwi, то всегда 0)

Type: TransactionSum

withdraw_to_enrollment_rate ¶

Type:float/int

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. PassInfo ( last_pass_change, next_pass_change, password_used, obj ) [исходный код] ¶

Данные о пароле к сайту qiwi.com

Дата/время последнего изменения пароля сайта qiwi.com

Type:str

next_pass_change ¶

Дата/время следующего (планового) изменения пароля сайта qiwi.com

Type:str

password_used ¶

Логический признак использования пароля (фактически означает, что пользователь заходит на сайт)

Type:bool

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. Payment ( _id, terms, fields, _sum, transaction, source, comment, obj ) [исходный код] ¶

Данные о принятом платеже

Клиентский ID транзакции (В этой библиотеке, он считается 1000*Unix timestamp)

Type:str

fields ¶

Данные о сумме платежа

Type:str

comment ¶

Комментарий к платежу

Type:Optional[str]

transaction ¶

Данные о транзакции в процессинге

Type: Payment.Transaction

class Transaction ( _id, state, obj ) [исходный код] ¶

Данные о транзакции в процессинге

Статус транзакции(в момент написания, только Accepted)

Type:str

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. PaymentFields [исходный код] ¶

Данный класс представляет из себя хаотичную структуру(но всегда присутствует «account») Судя по документации Qiwi API, создается из исходного поля fields для платежа

Если вы хотите посмотреть исходный вид выданный Qiwi API, используйте str(PaymentFields)

Type:str

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. PinInfo ( pin_used, obj ) [исходный код] ¶

Данные о PIN-коде к приложению QIWI Кошелька на QIWI терминалах

Логический признак использования PIN-кода (фактически означает, что пользователь заходил в приложение)

Type:bool

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. Profile ( auth_info, contract_info, user_info, obj ) [исходный код] ¶

Профиль пользователя Visa QIWI Кошелька

Настройки авторизации пользователя

Type:Optional[ AuthInfo ]

contract_info ¶

Информация о кошельке пользователя

Type:Optional[ ContractInfo ]

user_info ¶

Прочие пользовательские данные

Type:Optional[ UserInfo ]

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. Statistics ( incoming_total, outgoing_total, obj ) [исходный код] ¶

Данные о входящих платежах (пополнениях), отдельно по каждой валюте

Type:list[ TransactionSum ]

outgoing_total ¶

Данные об исходящих платежах, отдельно по каждой валюте

Type:list[ TransactionSum ]

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. Transaction ( txn_id, person_id, date, error_code, error, status, _type, status_text, trm_txn_id, account, _sum, commission, total, provider, source, comment, currency_rate, features, view, obj ) [исходный код] ¶

ID транзакции в процессинге

Type:int

person_id ¶

Дата/время платежа, время московское

Type:datetime.datetime

error_code ¶

Код ошибки платежа

Type:int/float

error ¶

Type:str

status ¶

Type:str

status_text ¶

Текстовое описание статуса платежа

Type:str

trm_txn_id ¶

Клиентский ID транзакции

Type:str

account ¶

Номер счета получателя

Данные о сумме платежа

Type: TransactionSum

commission ¶

Данные о комиссии платежа

Данные об общей сумме платежа

Type: TransactionSum

provider ¶

Данные о провайдере

Type: TransactionProvider

comment ¶

Комментарий к платежу

Type:str

currency_rate ¶

Курс конвертации (если применяется в транзакции)

Type:float/int

source ¶

Type:.

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. TransactionProvider ( _id, short_name, long_name, logo_url, description, keys, site_url, obj ) [исходный код] ¶

Данные о провайдере

ID провайдера в процессинге

Type:int

short_name ¶

Краткое наименование провайдера

Type:str

long_name ¶

Развернутое наименование провайдера

Type:str

logo_url ¶

Cсылка на логотип провайдера

Type:str

description ¶

Описание провайдера (HTML)

Список ключевых слов

Type:str

site_url ¶

Type:str

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. TransactionSum ( amount, currency, obj ) [исходный код] ¶

Type:float/int

currency ¶

Type:str

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

class pyqiwi.types. UserInfo ( default_pay_currency, default_pay_source, email, first_txn_id, language, operator, phone_hash, promo_enabled, obj ) [исходный код] ¶

Прочие пользовательские данные

Код валюты баланса кошелька по умолчанию (number-3 ISO-4217)

Type:int

default_pay_source ¶

Type:str

first_txn_id ¶

Номер первой транзакции пользователя после регистрации

Type:int

language ¶

Название мобильного оператора номера пользователя

Type:str

phone_hash ¶

Type:.

promo_enabled ¶

Type:.

classmethod de_json ( json_type ) [исходный код] ¶

Возвращает инстанс этого класса из созданного json dict’а или строки Эта функция должна быть перезаписана для каждого субкласса

Результат:
Тип результата:Инстанс этого класса из созданного json dict’а или строки

Exceptions¶

Type:str

method_name ¶

Название метода, вызванного при возникновении ошибки

Type:str

request ¶

Чистый ответ от сервера, полученный от requests

Type:requests.Response

response ¶

Текст выданный Qiwi API, без какой либо обработки

Type:str

method ¶

Метод вызванный на сервере Qiwi

Type:str

params ¶

Параметры вызванного метода

Источник

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

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