выставить счет qiwi api python
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 внутри вашей системы, в результате будет получен ответ с информацией о счете. Подробнее в документации.
Условия использования
Последнее обновление: 09-09-2021
Для подключения на свой сайт сервиса приема переводов для физических лиц p2p необходимо иметь QIWI Кошелек со статусом идентификации «Основной» или «Профессиональный». Если Ваш кошелек имеет статус «Анонимный» – пройдите идентификацию удобным для вас способом. Для получения «Основного» статуса достаточно указать паспортные данные, для получения «Профессионального» статуса необходимо пройти очную идентификацию.
Рекомендуем получить «Профессиональный» статус. Такой статус имеет повышенные лимиты на остаток на балансе, сумму платежей и переводов в месяц, максимальную сумму одной операции. Подробнее про лимиты.
Рекомендуем ознакомиться с частыми вопросами по нашему сервису, а также с информацией о том, как избежать блокировки кошелька.
Активация p2p
Поздравляем! Вы можете приступить к интеграции.
Для работы API потребуются публичный и секретный ключи. Ключи создаются в разделе «API».
Схема работы с API
Пользователь формирует счет на вашей стороне.
Вы перенаправляете пользователя на платежную форму для выставления счета. Или выставляете счет по API и перенаправляете пользователя на созданную платежную форму.
Пользователь выбирает способ перевода и подтверждает перевод. По умолчанию подбирается оптимальный для пользователя способ перевода.
После перевода по счету вы получаете уведомление (предварительно настройте отправку уведомлений в Личном кабинете при создании ключей). Уведомления о переводе по счету содержат параметры авторизации, которые необходимо проверять на Вашем сервере.
Готовые решения
SDK и библиотеки
С руководством по работе с SDK можно ознакомиться здесь.
Решения для CMS
Авторизация
Ваши запросы авторизуются посредством секретного ключа API ( SECRET_KEY ). Параметр авторизации указывается в заголовке Authorization, значение которого формируется как «Bearer SECRET_KEY».
Публичный ключ ( PUBLIC_KEY ) используется для выставления счетов через форму.
Ключи создаются в личном кабинете на вкладке API после авторизации на p2p.qiwi.com.
Для выпуска пары ключей выполните следующие шаги:
Внизу страницы нажмите на кнопку Настроить.
Придумайте название паре ключей, чтобы упростить поиск в списке.
Подключите уведомления об оплате счетов, отметив Использовать эту пару ключей для серверных уведомлений об изменении статусов счетов.
В поле URL сервера для уведомлений укажите адрес вашего сервера, который будет обрабатывать уведомления об оплате, и нажмите на кнопку Создать.
Скопируйте в буфер секретный ключ и сохраните его в безопасном месте — в дальнейшем он не будет отображаться в интерфейсе. Используйте секретный ключ для запросов к API.
Выставление счета через форму
Простой способ для интеграции. При открытии формы клиенту автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке. Далее клиенту отображается форма с выбором способа перевода. При использовании этого способа нельзя гарантировать, что все счета выставлены вами, в отличие от выставления по API.
REDIRECT →
URL https://oplata.qiwi.com/create
Параметры
Взаимодействие через API
1. Выставление счета
Доступно выставление счетов в рублях и тенге.
Также существует более простой способ выставления счета — непосредственно через вызов платежной формы
Запрос → PUT
URL https://api.qiwi.com/partner/bill/v1/bills/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
2. Проверка статуса перевода по счету
Пример тела ответа при ошибке
Метод позволяет проверить статус перевода по счету. Рекомендуется его использовать после получения уведомления о переводе.
Запрос → GET
URL https://api.qiwi.com/partner/bill/v1/bills/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
3. Отмена неоплаченного счета
Пример тела ответа при ошибке
Метод позволяет отменить счет, по которому не был выполнен перевод.
Запрос → POST
URL https://api.qiwi.com/partner/bill/v1/bills//reject
HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
Статусы оплаты счетов
Статус | Описание | Финальный |
---|---|---|
WAITING | Счет выставлен, ожидает оплаты | — |
PAID | Счет оплачен | + |
REJECTED | Счет отклонен | + |
EXPIRED | Время жизни счета истекло. Счет не оплачен | + |
Уведомления о переводе по счету
Адрес сервера для уведомлений указывается в личном кабинете p2p.qiwi.com при генерации ключей.
Перед началом работы с сервисом уведомлений прочитайте условия по интеграции API уведомлений.
Пулы IP-адресов, с которых сервисы QIWI отправляют уведомления:
Если ваш сервер обработки уведомлений работает за брандмауэром, необходимо добавить эти IP-адреса в список разрешенных адресов входящих TCP-пакетов.
Запрос ← POST
Уведомление представляет собой входящий POST-запрос.
Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).
HEADERS
Авторизация уведомлений
Алгоритм проверки подписи:
Объединить значения следующих параметров уведомления в одну строку с разделителем | :
где <*>– значение параметра. Все значения при проверке подписи должны трактоваться как строки.
Вычислить HMAC-хэш c алгоритмом хэширования SHA256:
hash = HMAС(SHA256, invoice_parameters, secret_key) Где:
Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.
Строка и ключ подписи кодируются в UTF-8.
Данные
В уведомлении содержится информация о счете.
Поле | Описание | Тип |
---|---|---|
bill | Данные о счете | Object |
billId | Уникальный идентификатор счета в вашей системе, указанный при выставлении | String(200) |
siteId | Ваш идентификатор в системе p2p.qiwi | String |
amount | Данные о сумме счета | Object |
amount.value | Сумма счета, округленная до двух десятичных знаков в меньшую сторону | Number(6.2) |
amount.currency | Идентификатор валюты суммы счета (Alpha-3 ISO 4217 код) | String(3) |
status | Данные о статусе счета | Object |
status.value | Строковое значение статуса | String |
status.changedDateTime | Дата обновления статуса. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:ССZ | String |
customer | Данные о пользователе | Object |
customer.phone | Номер телефона (если был указан при выставлении счета) | String |
customer.email | E-mail пользователя (если был указан при выставлении счета) | String |
customer.account | Идентификатор пользователя в вашей системе (если был указан при выставлении счета) | String |
creationDateTime | Дата создания счета. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:ССZ | String |
expirationDateTime | Срок оплаты счета. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:СС+ЧЧ:ММ\-Z | String |
comment | Комментарий к счету | String(255) |
customFields | Дополнительные данные счета (если были указаны при выставлении счета). | Object |
version | Версия уведомлений | String |
Ответ →
HEADERS
После того, как был получен входящий запрос-уведомление, необходимо проверить подлинность цифровой подписи и отправить ответ.
Настройки формы и счета
При выставлении счета через API в ответе приходит payUrl с ссылкой на форму. К ссылке можно добавить следующие параметры:
Добавьте реферальные ссылки для платежей с сайта. Полная ссылка подтвердит реальность сайта и позволит избежать проблем с блокировкой кошелька. Платежи, проходящие со страницы без заголовка запроса Refer будут приводить к блокировке кошелька. Подробнее читайте в статье Как передавать реферальные ссылки.
Пример передачи реферальной ссылки
Персонализация
Вы можете настроить персонализированную форму оплаты – изменить свое имя на название магазина и настроить цвет фона и кнопок.
Перейдите в личном кабинете в раздел Форма приема переводов, нажмите на кнопку Настроить, произведите настройку и нажмите на кнопку Сохранить.
Пример передачи параметра при вызове платежной формы
Пример передачи параметра в запросе к API
Обратите внимание, что значение themeCode индивидуально для разных кошельков.
Для применения стиля к платежной форме:
Checkout Popup
Пример работы popup
Всплывающее окно (popup) позволяет открыть форму перевода поверх вашего сайта.
В библиотеке доступно два метода: открытие существующего счета и открытие вашей формы приема переводов.
Установка и подключение:
Открытие существующего счета
Пример открытия уже созданного счета в popup
Открытие персонализированной формы
Пример открытия персонализированной формы
API QIWI Кассы
Последнее обновление: 2019-03-20 | Редактировать на GitHub
Для работы API потребуются публичный и секретный ключи. Ключи создаются в личном кабинете после регистрации и подключения на kassa.qiwi.com или p2p.qiwi.com.
Схема работы
Пользователь формирует заказ на сайте мерчанта.
Мерчант перенаправляет пользователя на Платежную форму для выставления счета по заказу. Или выставляет счет по API и перенаправляет пользователя на созданную платежную форму.
Пользователь выбирает способ оплаты и оплачивает счет. По умолчанию подбирается оптимальный для пользователя способ оплаты.
После оплаты счета мерчант получает уведомление (предварительно настройте отправку уведомлений в Личном кабинете). Уведомления об оплате счета содержат параметры авторизации, которые необходимо проверять на сервере мерчанта.
Также есть возможность
Авторизация
Запросы мерчанта авторизуются посредством секретного ключа API (SECRET_KEY). Параметр авторизации указывается в заголовке Authorization, значение которого формируется как «Bearer SECRET_KEY».
Публичный ключ (PUBLIC_KEY) используется для выставления счетов через веб-форму.
Ключи создаются в личном кабинете после регистрации и подключения на kassa.qiwi.com или p2p.qiwi.com.
Взаимодействие через API
1. Выставление счета
Запрос → PUT
HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
2. Уведомления об оплате счетов
Запрос ← POST
Уведомление представляет собой входящий POST-запрос.
Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).
Адрес сервера для уведомлений указывается на сайте kassa.qiwi.com в разделе «Настройка протокола» или на p2p.qiwi.com при генерации ключей.
HEADERS
Авторизация уведомлений
Алгоритм проверки подписи:
Объединить значения параметров в одну строку с разделителем | :
где <*>– значение параметра уведомления. Все значения при проверке подписи должны трактоваться как строки.
Вычислить HMAC-хэш c алгоритмом хэширования SHA256:
hash = HMAС(SHA256, invoice_parameters, secret_key) Где:
Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.
Строка и ключ подписи кодируются в UTF-8.
Параметры
В POST-запросе уведомления указаны параметры счета.
Параметр | Описание | Тип |
---|---|---|
bill | Данные о счете | Object |
billId | Уникальный идентификатор счета в системе мерчанта | String(200) |
siteId | Идентификатор сайта мерчанта в QIWI Кассе | String |
amount | Данные о сумме счета | Object |
amount.value | Сумма счета, округленная до двух десятичных знаков в меньшую сторону | Number(6.2) |
amount.currency | Идентификатор валюты счета (Alpha-3 ISO 4217 код) | String(3) |
status | Данные о статусе счета | Object |
status.value | Строковое значение статуса | String |
status.changedDateTime | Дата обновления статуса. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:ССZ | String |
customer | Данные о пользователе, на которого был выставлен счет | Object |
customer.phone | Номер телефона, на который был выставлен счет (если был указан при выставлении счета) | String |
customer.email | E-mail пользователя (если был указан при выставлении счета) | String |
customer.account | Идентификатор пользователя в системе мерчанта (если был указан при выставлении счета) | String |
creationDateTime | Дата создания счета. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:ССZ | String |
expirationDateTime | Срок оплаты счета. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:СС+ЧЧ:ММ\-Z | String |
comment | Комментарий к счету | String(255) |
customFields | Дополнительные данные счета (если были указаны при выставлении счета). | Object |
version | Версия уведомлений | String |
Ответ →
HEADERS
После того, как был получен входящий запрос-уведомление, необходимо проверить подлинность цифровой подписи и отправить ответ.
3. Проверка статуса оплаты счета
Метод позволяет проверить статус оплаты счета клиентом. Рекомендуется его использовать после получения уведомления об оплате.
Запрос → GET
URL https://api.qiwi.com/partner/bill/v1/bills/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
4. Отмена неоплаченного счета
Пример тела ответа при ошибке
Метод позволяет отменить неоплаченный счет.
Запрос → POST
URL https://api.qiwi.com/partner/bill/v1/bills//reject
HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
5. Возврат средств
Метод позволяет сделать возврат средств по оплаченному счету.
Запрос → PUT
URL https://api.qiwi.com/partner/bill/v1/bills//refunds/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
6. Статус возврата
Метод запрашивает статус возврата по оплаченному счету.
Запрос → GET
URL https://api.qiwi.com/partner/bill/v1/bills//refunds/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
Статусы оплаты счетов
Статус Описание Финальный WAITING Счет выставлен, ожидает оплаты — PAID Счет оплачен + REJECTED Счет отклонен + EXPIRED Время жизни счета истекло. Счет не оплачен +
Статусы операции возврата
Статус Описание Финальный PARTIAL Частичный возврат суммы — FULL Полный возврат суммы +
Дополнительно
Выставление счета через платежную форму
Простой способ для интеграции. При открытии формы клиенту автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке. Далее клиенту отображается платежная форма с выбором способа оплаты. При использовании этого способа нельзя гарантировать, что все счета выставлены мерчантом, в отличие от выставления по API.
REDIRECT →
URL https://oplata.qiwi.com/create
Параметры
В ссылке на веб-форму указываются параметры счета.
Параметр Описание Тип Обяз. publicKey Ключ идентификации мерчанта, полученный в QIWI Кассе String + billId Уникальный идентификатор счета в системе мерчанта URL-закодированная строка String(200) — amount Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков Number(6.2) — phone Номер телефона пользователя, на который выставляется счет (в международном формате) URL-закодированная строка — email E-mail пользователя, куда будет отправлена ссылка для оплаты счета URL-закодированная строка — account Идентификатор пользователя в системе мерчанта URL-закодированная строка — comment Комментарий к счету URL-закодированная строка String(255) — customFields[] Дополнительные данные счета URL-закодированная строка String(255) — lifetime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна.
Внимание! По истечении 45 суток от даты выставления счет автоматически будет переведен в финальный статус URL-закодированная строка
ГГГГ-ММ-ДДTччмм — successUrl URL для переадресации в случае успешной оплаты с баланса QIWI Кошелька. При ином способе оплаты переадресация не выполняется. Ссылка должна вести на сайт мерчанта. URL-закодированная строка —
Персонализация
Персонализация позволяет адаптировать платежную форму под ваш стиль. Настраивается лого, фон и цвет кнопок.
Создать стили можно в личном кабинете. Возможно создать несколько стилей.
При настройке задается код, привязанный к стилю (например, кодСтиля ). Для использования стиля на платежной форме необходимо передать в параметре customFields запроса создания счета или вызова платежной формы переменную: «themeCode»:»кодСтиля» с соответствующим кодом стиля.
Пример передачи параметра при работе с формой
Пример передачи параметра при работе через API

Checkout Popup
Пример работы popup
Всплывающее окно (popup) позволяет открыть форму оплаты поверх вашего сайта. В библиотеке доступно два метода: создание нового счета и открытие существующего.
Установка и подключение:
Выставление нового счета
Пример выставления счета через popup
Параметр Описание Тип Обязательное publicKey Ключ идентификации мерчанта, полученный в QIWI Кассе String + amount Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков Number(6.2) + phone Номер телефона пользователя, на который выставляется счет (в международном формате) String — email E-mail пользователя, куда будет отправлена ссылка для оплаты счета String — account Идентификатор пользователя в системе мерчанта String — comment Комментарий к счету String(255) — customFields Дополнительные данные счета Object — lifetime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна. Строка в виде ГГГГ-ММ-ДДTччмм —
Открытие существующего счета
Пример открытия уже созданного счета в popup
Возможности при открытии ссылки счета
При выставлении счета через API в ответе приходит payUrl с ссылкой на форму оплаты. К ссылке можно добавить следующие параметры:
Готовые решения
SDK и библиотеки
Решения для CMS
Рекомендации к оформлению
Иконки
Данные рекомендации помогут вашим пользователям быстрее сориентироваться на странице выбора способов оплаты.

Допустимо отображение QIWI Кассы текстом, без логотипа. Иконки способов оплаты выводятся:

qiwipy 2.1.6
pip install qiwipy Copy PIP instructions
Released: Sep 23, 2020
Python Qiwi API Wrapper
Navigation
Project links
Statistics
View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery
License: MIT License (MIT)
Maintainers
Classifiers
Project description
Python Qiwi API Wrapper
* Лицензия: MIT
* Документация: https://pyqiwi.readthedocs.io.
* Оплата любых услуг
* Переводы на любой Qiwi Кошелек
* Статистика по платежам
* История о сделанных платежах в любой промежуток времени
* Прохождение упрощенной идентификации
* Определение провайдера мобильного телефона
$ pip install qiwipy
import pyqiwi
wallet = pyqiwi.Wallet(token=», number=’79001234567′)
Получить текущий баланс
payment = wallet.send(pid=99, recipient=’79001234567′, amount=1.11, comment=’Привет!’)
example = ‘Payment is <0>\nRecipient: <1>\nPayment Sum: <2>‘.format(
payment.transaction[‘state’][‘code’], payment.fields[‘account’], payment.sum)
print(example)
Получить комиссию для платежа
commission = wallet.commission(pid=99, recipient=’79001234567′, amount=1.11)
print(commission.qw_commission.amount)
Для более подробных инструкций, посетите документацию.
2.1 (6.05.2018)
—————
* `Wallet.balance` теперь имеет базовое значение `currency` 643 (Российский рубль)
* Новый метод для идентификации кошельков: `Wallet.identification`
* Весь блок методов к истории платежей был обновлен до API v2
* Для получения квитанции по платежу был добавлен метод `Wallet.cheque`
* Если у вас по какой-то причине нет «балансов» на аккаунте, вы можете их создать при помощи `Wallet.create_account`
Запрос доступных счетов, доступных для создания реализован в `Wallet.offered_accounts`
* Создание ссылки для автозаполненных платежных форм достуно в `pyqiwi.generate_form_link`
* Вы хотите определить ID провайдера для пополнения мобильного телефона? Используйте `pyqiwi.detect_mobile`
* У нас появились тесты!
* Небольшие исправления
* Логгер был перенесен из `pyqiwi.logger` в `pyqiwi.apihelper.logger`
* Появился метод в `Wallet` `transaction` для получения определенной транзакции по ID и её типу.
* Вместе с этим и появился для него собственный тип: `pyqiwi.types.Transaction`
* Небольшие исправления в документации
* Небольшие исправления
* У нас появилась документация на ReadTheDocs!
* Документация в коде была широко дополнена
* Были внесены изменения в вид документации в коде
2.0 (28.10.2017)
—————-
Первое большое изменение библиотеки!
HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
6. Статус возврата
Метод запрашивает статус возврата по оплаченному счету.
Запрос → GET
URL https://api.qiwi.com/partner/bill/v1/bills//refunds/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
Статусы оплаты счетов
Статус Описание Финальный WAITING Счет выставлен, ожидает оплаты — PAID Счет оплачен + REJECTED Счет отклонен + EXPIRED Время жизни счета истекло. Счет не оплачен +
Статусы операции возврата
Статус Описание Финальный PARTIAL Частичный возврат суммы — FULL Полный возврат суммы +
Дополнительно
Выставление счета через платежную форму
Простой способ для интеграции. При открытии формы клиенту автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке. Далее клиенту отображается платежная форма с выбором способа оплаты. При использовании этого способа нельзя гарантировать, что все счета выставлены мерчантом, в отличие от выставления по API.
REDIRECT →
URL https://oplata.qiwi.com/create
Параметры
В ссылке на веб-форму указываются параметры счета.
Параметр Описание Тип Обяз. publicKey Ключ идентификации мерчанта, полученный в QIWI Кассе String + billId Уникальный идентификатор счета в системе мерчанта URL-закодированная строка String(200) — amount Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков Number(6.2) — phone Номер телефона пользователя, на который выставляется счет (в международном формате) URL-закодированная строка — email E-mail пользователя, куда будет отправлена ссылка для оплаты счета URL-закодированная строка — account Идентификатор пользователя в системе мерчанта URL-закодированная строка — comment Комментарий к счету URL-закодированная строка String(255) — customFields[] Дополнительные данные счета URL-закодированная строка String(255) — lifetime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна.
Внимание! По истечении 45 суток от даты выставления счет автоматически будет переведен в финальный статус URL-закодированная строка
ГГГГ-ММ-ДДTччмм — successUrl URL для переадресации в случае успешной оплаты с баланса QIWI Кошелька. При ином способе оплаты переадресация не выполняется. Ссылка должна вести на сайт мерчанта. URL-закодированная строка —
Персонализация
Персонализация позволяет адаптировать платежную форму под ваш стиль. Настраивается лого, фон и цвет кнопок.
Создать стили можно в личном кабинете. Возможно создать несколько стилей.
При настройке задается код, привязанный к стилю (например, кодСтиля ). Для использования стиля на платежной форме необходимо передать в параметре customFields запроса создания счета или вызова платежной формы переменную: «themeCode»:»кодСтиля» с соответствующим кодом стиля.
Пример передачи параметра при работе с формой
Пример передачи параметра при работе через API

Checkout Popup
Пример работы popup
Всплывающее окно (popup) позволяет открыть форму оплаты поверх вашего сайта. В библиотеке доступно два метода: создание нового счета и открытие существующего.
Установка и подключение:
Выставление нового счета
Пример выставления счета через popup
Параметр Описание Тип Обязательное publicKey Ключ идентификации мерчанта, полученный в QIWI Кассе String + amount Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков Number(6.2) + phone Номер телефона пользователя, на который выставляется счет (в международном формате) String — email E-mail пользователя, куда будет отправлена ссылка для оплаты счета String — account Идентификатор пользователя в системе мерчанта String — comment Комментарий к счету String(255) — customFields Дополнительные данные счета Object — lifetime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна. Строка в виде ГГГГ-ММ-ДДTччмм —
Открытие существующего счета
Пример открытия уже созданного счета в popup
Возможности при открытии ссылки счета
При выставлении счета через API в ответе приходит payUrl с ссылкой на форму оплаты. К ссылке можно добавить следующие параметры:
Готовые решения
SDK и библиотеки
Решения для CMS
Рекомендации к оформлению
Иконки
Данные рекомендации помогут вашим пользователям быстрее сориентироваться на странице выбора способов оплаты.

Допустимо отображение QIWI Кассы текстом, без логотипа. Иконки способов оплаты выводятся:

qiwipy 2.1.6
pip install qiwipy Copy PIP instructions
Released: Sep 23, 2020
Python Qiwi API Wrapper
Navigation
Project links
Statistics
View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery
License: MIT License (MIT)
Maintainers
Classifiers
Project description
Python Qiwi API Wrapper
* Лицензия: MIT
* Документация: https://pyqiwi.readthedocs.io.
* Оплата любых услуг
* Переводы на любой Qiwi Кошелек
* Статистика по платежам
* История о сделанных платежах в любой промежуток времени
* Прохождение упрощенной идентификации
* Определение провайдера мобильного телефона
$ pip install qiwipy
import pyqiwi
wallet = pyqiwi.Wallet(token=», number=’79001234567′)
Получить текущий баланс
payment = wallet.send(pid=99, recipient=’79001234567′, amount=1.11, comment=’Привет!’)
example = ‘Payment is <0>\nRecipient: <1>\nPayment Sum: <2>‘.format(
payment.transaction[‘state’][‘code’], payment.fields[‘account’], payment.sum)
print(example)
Получить комиссию для платежа
commission = wallet.commission(pid=99, recipient=’79001234567′, amount=1.11)
print(commission.qw_commission.amount)
Для более подробных инструкций, посетите документацию.
2.1 (6.05.2018)
—————
* `Wallet.balance` теперь имеет базовое значение `currency` 643 (Российский рубль)
* Новый метод для идентификации кошельков: `Wallet.identification`
* Весь блок методов к истории платежей был обновлен до API v2
* Для получения квитанции по платежу был добавлен метод `Wallet.cheque`
* Если у вас по какой-то причине нет «балансов» на аккаунте, вы можете их создать при помощи `Wallet.create_account`
Запрос доступных счетов, доступных для создания реализован в `Wallet.offered_accounts`
* Создание ссылки для автозаполненных платежных форм достуно в `pyqiwi.generate_form_link`
* Вы хотите определить ID провайдера для пополнения мобильного телефона? Используйте `pyqiwi.detect_mobile`
* У нас появились тесты!
* Небольшие исправления
* Логгер был перенесен из `pyqiwi.logger` в `pyqiwi.apihelper.logger`
* Появился метод в `Wallet` `transaction` для получения определенной транзакции по ID и её типу.
* Вместе с этим и появился для него собственный тип: `pyqiwi.types.Transaction`
* Небольшие исправления в документации
* Небольшие исправления
* У нас появилась документация на ReadTheDocs!
* Документация в коде была широко дополнена
* Были внесены изменения в вид документации в коде
2.0 (28.10.2017)
—————-
Первое большое изменение библиотеки!
HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
Статусы оплаты счетов
Статус | Описание | Финальный |
---|---|---|
WAITING | Счет выставлен, ожидает оплаты | — |
PAID | Счет оплачен | + |
REJECTED | Счет отклонен | + |
EXPIRED | Время жизни счета истекло. Счет не оплачен | + |
Статусы операции возврата
Статус | Описание | Финальный |
---|---|---|
PARTIAL | Частичный возврат суммы | — |
FULL | Полный возврат суммы | + |
Дополнительно
Выставление счета через платежную форму
Простой способ для интеграции. При открытии формы клиенту автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке. Далее клиенту отображается платежная форма с выбором способа оплаты. При использовании этого способа нельзя гарантировать, что все счета выставлены мерчантом, в отличие от выставления по API.
REDIRECT →
URL https://oplata.qiwi.com/create
Параметры
В ссылке на веб-форму указываются параметры счета.
Параметр | Описание | Тип | Обяз. |
---|---|---|---|
publicKey | Ключ идентификации мерчанта, полученный в QIWI Кассе | String | + |
billId | Уникальный идентификатор счета в системе мерчанта | URL-закодированная строка String(200) | — |
amount | Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков | Number(6.2) | — |
phone | Номер телефона пользователя, на который выставляется счет (в международном формате) | URL-закодированная строка | — |
E-mail пользователя, куда будет отправлена ссылка для оплаты счета | URL-закодированная строка | — | |
account | Идентификатор пользователя в системе мерчанта | URL-закодированная строка | — |
comment | Комментарий к счету | URL-закодированная строка String(255) | — |
customFields[] | Дополнительные данные счета | URL-закодированная строка String(255) | — |
lifetime | Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна. Внимание! По истечении 45 суток от даты выставления счет автоматически будет переведен в финальный статус | URL-закодированная строка ГГГГ-ММ-ДДTччмм | — |
successUrl | URL для переадресации в случае успешной оплаты с баланса QIWI Кошелька. При ином способе оплаты переадресация не выполняется. Ссылка должна вести на сайт мерчанта. | URL-закодированная строка | — |
Персонализация
Персонализация позволяет адаптировать платежную форму под ваш стиль. Настраивается лого, фон и цвет кнопок.
Создать стили можно в личном кабинете. Возможно создать несколько стилей.
При настройке задается код, привязанный к стилю (например, кодСтиля ). Для использования стиля на платежной форме необходимо передать в параметре customFields запроса создания счета или вызова платежной формы переменную: «themeCode»:»кодСтиля» с соответствующим кодом стиля.
Пример передачи параметра при работе с формой
Пример передачи параметра при работе через API
Checkout Popup
Пример работы popup
Всплывающее окно (popup) позволяет открыть форму оплаты поверх вашего сайта. В библиотеке доступно два метода: создание нового счета и открытие существующего.
Установка и подключение:
Выставление нового счета
Пример выставления счета через popup
Параметр | Описание | Тип | Обязательное |
---|---|---|---|
publicKey | Ключ идентификации мерчанта, полученный в QIWI Кассе | String | + |
amount | Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков | Number(6.2) | + |
phone | Номер телефона пользователя, на который выставляется счет (в международном формате) | String | — |
E-mail пользователя, куда будет отправлена ссылка для оплаты счета | String | — | |
account | Идентификатор пользователя в системе мерчанта | String | — |
comment | Комментарий к счету | String(255) | — |
customFields | Дополнительные данные счета | Object | — |
lifetime | Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна. | Строка в виде ГГГГ-ММ-ДДTччмм | — |
Открытие существующего счета
Пример открытия уже созданного счета в popup
Возможности при открытии ссылки счета
При выставлении счета через API в ответе приходит payUrl с ссылкой на форму оплаты. К ссылке можно добавить следующие параметры:
Готовые решения
SDK и библиотеки
Решения для CMS
Рекомендации к оформлению
Иконки
Данные рекомендации помогут вашим пользователям быстрее сориентироваться на странице выбора способов оплаты.
Допустимо отображение QIWI Кассы текстом, без логотипа. Иконки способов оплаты выводятся:
qiwipy 2.1.6
pip install qiwipy Copy PIP instructions
Released: Sep 23, 2020
Python Qiwi API Wrapper
Navigation
Project links
Statistics
View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery
License: MIT License (MIT)
Maintainers
Classifiers
Project description
Python Qiwi API Wrapper
* Лицензия: MIT
* Документация: https://pyqiwi.readthedocs.io.
* Оплата любых услуг
* Переводы на любой Qiwi Кошелек
* Статистика по платежам
* История о сделанных платежах в любой промежуток времени
* Прохождение упрощенной идентификации
* Определение провайдера мобильного телефона
$ pip install qiwipy
import pyqiwi
wallet = pyqiwi.Wallet(token=», number=’79001234567′)
Получить текущий баланс
payment = wallet.send(pid=99, recipient=’79001234567′, amount=1.11, comment=’Привет!’)
example = ‘Payment is <0>\nRecipient: <1>\nPayment Sum: <2>‘.format(
payment.transaction[‘state’][‘code’], payment.fields[‘account’], payment.sum)
print(example)
Получить комиссию для платежа
commission = wallet.commission(pid=99, recipient=’79001234567′, amount=1.11)
print(commission.qw_commission.amount)
Для более подробных инструкций, посетите документацию.
2.1 (6.05.2018)
—————
* `Wallet.balance` теперь имеет базовое значение `currency` 643 (Российский рубль)
* Новый метод для идентификации кошельков: `Wallet.identification`
* Весь блок методов к истории платежей был обновлен до API v2
* Для получения квитанции по платежу был добавлен метод `Wallet.cheque`
* Если у вас по какой-то причине нет «балансов» на аккаунте, вы можете их создать при помощи `Wallet.create_account`
Запрос доступных счетов, доступных для создания реализован в `Wallet.offered_accounts`
* Создание ссылки для автозаполненных платежных форм достуно в `pyqiwi.generate_form_link`
* Вы хотите определить ID провайдера для пополнения мобильного телефона? Используйте `pyqiwi.detect_mobile`
* У нас появились тесты!
* Небольшие исправления
* Логгер был перенесен из `pyqiwi.logger` в `pyqiwi.apihelper.logger`
* Появился метод в `Wallet` `transaction` для получения определенной транзакции по ID и её типу.
* Вместе с этим и появился для него собственный тип: `pyqiwi.types.Transaction`
* Небольшие исправления в документации
* Небольшие исправления
* У нас появилась документация на ReadTheDocs!
* Документация в коде была широко дополнена
* Были внесены изменения в вид документации в коде
2.0 (28.10.2017)
—————-
Первое большое изменение библиотеки!