Как узнать api ключ киви кошелька
Перейти к содержимому

Как узнать api ключ киви кошелька

  • автор:

Как получить статус платежа через API ключ(qiwi кошелек)?

Оплачиваю с киви кошелька, оплата проходит успешно, но статус не меняется на PAID. Как получить ответ PAID? Что не так? Вывод последней истории платежа не вариант. Прошу помощи.

Отслеживать
задан 27 апр 2023 в 16:06

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Для полного понимания сути вопроса, необходимо в вопросе указать все функции.

Например, check_bill(bill_id) и remove_bill(bill_id) — нет информации какой результат дают данные функции.

При создании бота в telegram нужна была платежная система — обратился к библиотеке pyQiwiP2P (https://pypi.org/project/pyQiwiP2P). Немного её доработав получил нужный результат.

К чему я это говорю — удобнее использовать уже готовое решение с возможными доработками.

В вашем случае проблема может заключаться в:

  1. Вы оплачиваете счет с аккаунта на котором зарегистрирован api ключ.
  2. Отправляете неверные данные в запросе к api, соответственно счет может создаваться, но оформляться неправильно.

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

API QIWI Кассы

API QIWI Кассы открывает доступ к операциям с выставляемыми счетами. Счет — универсальная заявка на оплату. По умолчанию пользователю доступно несколько способов оплаты. В API поддерживаются операции выставления и отмены счетов, возврата средств по оплаченным счетам, а также проверки статуса выполнения операций.

Для работы API потребуются публичный и секретный ключи. Ключи создаются в личном кабинете после регистрации и подключения на kassa.qiwi.com или p2p.qiwi.com.

Схема работы

Operation Flow

  • Пользователь формирует заказ на сайте мерчанта.
  • Мерчант перенаправляет пользователя на Платежную форму для выставления счета по заказу. Или выставляет счет по API и перенаправляет пользователя на созданную платежную форму.
  • Пользователь выбирает способ оплаты и оплачивает счет. По умолчанию подбирается оптимальный для пользователя способ оплаты.
  • После оплаты счета мерчант получает уведомление (предварительно настройте отправку уведомлений в Личном кабинете). Уведомления об оплате счета содержат параметры авторизации, которые необходимо проверять на сервере мерчанта.
  • Также есть возможность
    • запросить текущий статус оплаты счета,
    • отменить неоплаченный счет.

    Авторизация

    Запросы мерчанта авторизуются посредством секретного ключа API (SECRET_KEY). Параметр авторизации указывается в заголовке Authorization, значение которого формируется как «Bearer SECRET_KEY».

    Публичный ключ (PUBLIC_KEY) используется для выставления счетов через веб-форму.

    Ключи создаются в личном кабинете после регистрации и подключения на kassa.qiwi.com или p2p.qiwi.com.

    Важно! Не передавайте секретный ключ третьим лицам!.

    const QiwiBillPaymentsAPI = require('bill-payments-node-js-sdk'); const SECRET_KEY = 'eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjUyNjgxMiwiYXBpX3VzZXJfaWQiOjcxNjI2MTk3LCJzZWNyZXQiOiJmZjBiZmJiM2UxYzc0MjY3YjIyZDIzOGYzMDBkNDhlYjhiNTnONPININONPN090MTg5Z**********************'; const qiwiApi = new QiwiBillPaymentsAPI(SECRET_KEY); 
    --header "Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******" 
     const SECRET_KEY = 'eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjUyNjgxMiwiYXBpX3VzZXJfaWQiOjcxNjI2MTk3LCJzZWNyZXQiOiJmZjBiZmJiM2UxYzc0MjY3YjIyZDIzOGYzMDBkNDhlYjhiNTnONPININONPN090MTg5Z**********************'; /** @var \Qiwi\Api\BillPayments $billPayments */ $billPayments = new Qiwi\Api\BillPayments(SECRET_KEY); ?> 
    String secretKey = "eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjUyNjgxMiwiYXBpX3VzZXJfaWQiOjcxNjI2MTk3LCJzZWNyZXQiOiJmZjBiZmJiM2UxYzc0MjY3YjIyZDIzOGYzMDBkNDhlYjhiNTnONPININONPN090MTg5Z**********************"; BillPaymentClient client = BillPaymentClientFactory.createDefault(secretKey); 
    var secretKey = "eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjUyNjgxMiwiYXBpX3VzZXJfaWQiOjcxNjI2MTk3LCJzZWNyZXQiOiJmZjBiZmJiM2UxYzc0MjY3YjIyZDIzOGYzMDBkNDhlYjhiNTnONPININONPN090MTg5Z**********************"; var client = BillPaymentClientFactory.createDefault(secretKey); 

    Взаимодействие через API

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

    Надежный способ для интеграции. Параметры передаются server2server с использованием авторизации. Метод позволяет выставить счет: при успешном выполнении запроса в ответе вернется параметр payUrl — ссылка для редиректа пользователя на платежную форму.

    Для тестирования вы можете выставлять и оплачивать счета на 1 рубль.

    Запрос → PUT

    const billId = '893794793973'; const fields =  amount: 1.00, currency: 'RUB', comment: 'Hello world', expirationDateTime: '2018-03-02T08:44:07+03:00' >; qiwiRestApi.createBill( billId, fields ).then( data =>  //do with data >); 
    curl https://api.qiwi.com/partner/bill/v1/bills/893794793973 \ -X PUT \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjIwNDIsImFwaV91c2VyX2lkIjo1NjYwMzk3Miwic2VjcmV0IjoiQjIwODlDNkI5Q0NDNTdCNDQzNGHJK43JFJDK595FJFJMjlCRkFFRDM5OE***********************' \ -d '< \ "amount": < \ "currency": "RUB", \ "value": 1.00 \ >, \ "comment": "test", \ "expirationDateTime": "2018-04-13T14:30:00+03:00", \ "customer": <>, \ "customFields": <> \ >' 
     $billId = '893794793973'; $fields = [ 'amount' => 1.00, 'currency' => 'RUB', 'comment' => 'test', 'expirationDateTime' => '2018-03-02T08:44:07+03:00', 'email' => 'example@mail.org', 'account' => 'client4563' ]; /** @var \Qiwi\Api\BillPayments $billPayments */ $response = $billPayments->createBill($billId, $fields); print_r($response); ?> 
    CreateBillInfo billInfo = new CreateBillInfo( UUID.randomUUID().toString(), new MoneyAmount( BigDecimal.valueOf(199.90), Currency.getInstance("RUB") ), "comment", ZonedDateTime.now().plusDays(45), new Customer( "example@mail.org", UUID.randomUUID().toString(), "79123456789" ), "" ); BillResponse response = client.createBill(billInfo); 
    client.CreateBill( info: new CreateBillInfo  BillId = Guid.NewGuid().ToString(), Amount = new MoneyAmount  ValueDecimal = 199.9m, CurrencyEnum = CurrencyEnum.Rub >, Comment = "comment", ExpirationDateTime = DateTime.Now.AddDays(45), Customer = new Customer  Email = "example@mail.org", Account = Guid.NewGuid().ToString(), Phone = "79123456789" >, >, customFields: new CustomFields  ThemeCode = "кодСтиля" > ); 
    Параметр Описание Тип Обяз.
    billId Уникальный идентификатор счета в системе мерчанта string +
    amount.value Сумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаков Number(6.2) +
    amount.currency Валюта счета (Alpha-3 ISO 4217 код) +
    phone Номер телефона пользователя, на который выставляется счет (в международном формате) string
    email E-mail пользователя, куда будет отправлена ссылка для оплаты счета string
    account Идентификатор пользователя в системе мерчанта string
    comment Комментарий к счету String(255)
    customFields[] Дополнительные данные счета String(255)
    expirationDateTime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна. URL-закодированная строка
    ГГГГ-ММ-ДДTччмм+\-чч:мм
    +

    HEADERS

    • Authorization: Bearer SECRET_KEY
    • Accept: application/json

    Ответ ←

     "siteId": "23044", "billId": "893794793973", "amount":  "value": 100, "currency": "RUB" >, "status":  "value": "WAITING", "changedDateTime": "2018-03-05T11:27:41+03:00" >, "comment": "Text comment", "creationDateTime": "2018-03-05T11:27:41", "expirationDateTime": "2018-04-13T14:30:00+03:00", "payUrl": "https://oplata.qiwi.com/form/?invoice_uid=d875277b-6f0f-445d-8a83-f62c7c07be77" > 

    Пример тела ответа при ошибке

     "serviceName": "invoicing-api", "errorCode": "auth.unauthorized", "description": "Неверные аутентификационные данные", "userMessage": "", "datetime": "2018-04-09T18:31:42+03:00", "traceId" : "48485a395dfsdf34v124" > 

    HEADERS

    • Accept: application/json
    Параметр Тип Описание
    billId String Уникальный идентификатор счета в системе мерчанта
    siteId String Идентификатор сайта мерчанта в QIWI Кассе
    amount Object Данные о сумме счета
    amount.value Number Сумма счета, округленная до 2 знаков после запятой в меньшую сторону
    amount.currency String Валюта счета (Alpha-3 ISO 4217 код)
    status Object Данные о статусе счета
    status.value String Текущий статус счета
    status.changedDateTime String Дата обновления статуса. Формат даты:
    YYYY-MM-DDThh:mm:ss±hh
    customFields Object Дополнительные поля
    customer Object Идентификаторы пользователя. Возможные опции: email , phone , account
    comment String Комментарий к счету
    creationDateTime String Системная дата создания счета. Формат даты:
    YYYY-MM-DDThh:mm:ss
    payUrl String Ссылка на созданную платежную форму
    expirationDateTime String Срок действия созданной формы для оплаты. Формат даты:
    YYYY-MM-DDThh:mm:ss+\-hh:mm

    2. Уведомления об оплате счетов

    Уведомление о платеже (callback) отправлялся только по протоколу HTTPS и только на 443 порт. Сертификат должен быть выдан доверенным центром сертификации (напр., Comodo, Verisign, Thawte и т.п.)

    Запрос ← POST

    POST /qiwi-notify.php HTTP/1.1 Accept: application/json Content-type: application/json X-Api-Signature-SHA256: J4WNfNZd***V5mv2w= Host: example.com  "bill":  "siteId":"23044", "billId":"1519892138404fhr7i272a2", "amount": "value":"100", "currency":"RUB" >, "status": "value":"PAID", "datetime":"2018-03-01T11:16:12" >, "customer":<>, "customFields":<>, "creationDateTime":"2018-03-01T11:15:39", "expirationDateTime":"2018-04-01T11:15:39+03:00" >, "version":"1" > 

    Уведомление представляет собой входящий POST-запрос.

    Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).

    Адрес сервера для уведомлений указывается на сайте kassa.qiwi.com в разделе «Настройка протокола» или на p2p.qiwi.com при генерации ключей.

    HEADERS

    • X-Api-Signature-SHA256: XXX
    • Accept: application/json
    • Content-type: application/json

    Авторизация уведомлений

    После получения входящего уведомления необходимо проверить подлинность данного уведомления. Для этого используется механизм цифровой подписи. Подпись уведомления отправляется в заголовке X-Api-Signature-SHA256 . Для формирования подписи используется механизм проверки целостности HMAC с хэш-функцией SHA256.

    Алгоритм проверки подписи:

    1. Объединить значения параметров в одну строку с разделителем | : invoice_parameters = |||| где – значение параметра уведомления. Все значения при проверке подписи должны трактоваться как строки.
    2. Вычислить HMAC-хэш c алгоритмом хэширования SHA256: hash = HMAС(SHA256, invoice_parameters, secret_key) Где:
      • secret_key – ключ функции ;
      • invoice_parameters – строка из п.1;
    3. Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.
    const validSignatureFromNotificationServer = '07e0ebb10916d97760c196034105d010607a6c6b7d72bfa1c3451448ac484a3b'; const notificationData =  bill:  siteId: 'test', billId: 'test_bill', amount:  value: 1, currency: 'RUB' >, status:  value: 'PAID', datetime: '2018-03-01T11:16:12+03' >, customer: <>, customFields: <>, creationDateTime: '2018-03-01T11:15:39+03:', expirationDateTime: '2018-04-15T11:15:39+03' >, version: '1' >; const merchantSecret = 'test-merchant-secret-for-signature-check'; qiwiApi.checkNotificationSignature( validSignatureFromNotificationServer, notificationData, merchantSecret ); // true 
     $validSignatureFromNotificationServer = '07e0ebb10916d97760c196034105d010607a6c6b7d72bfa1c3451448ac484a3b'; $notificationData = [ 'bill' => [ 'siteId' => 'test', 'billId' => 'test_bill', 'amount' => ['value' => 1, 'currency' => 'RUB'], 'status' => ['value' => 'PAID'] ], 'version' => '3' ]; $merchantSecret = 'test-merchant-secret-for-signature-check'; /** @var \Qiwi\Api\BillPayments $billPayments */ $billPayments->checkNotificationSignature( $validSignatureFromNotificationServer, $notificationData, $merchantSecret ); // true ?> 
    String merchantSecret = "test-merchant-secret-for-signature-check"; Notification notification = new Notification( new Bill( "test", "test_bill", new MoneyAmount( BigDecimal.ONE, Currency.getInstance("RUB") ), BillStatus.PAID ), "3" ); String validSignature = "07e0ebb10916d97760c196034105d010607a6c6b7d72bfa1c3451448ac484a3b"; BillPaymentsUtils.checkNotificationSignature(validSignature, notification, merchantSecret); //true 

    Строка и ключ подписи кодируются в UTF-8.

    Параметры

    Параметр Описание Тип
    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

    Ответ →

    HTTP/1.1 200 OK Content-Type: application/json  "error":"0" > 

    HEADERS

    • Content-type: application/json

    После того, как был получен входящий запрос-уведомление, необходимо проверить подлинность цифровой подписи и отправить ответ.

    Если в ответе код состояния HTTP отличается от 200 (OK), это интерпретируется как временная ошибка мерчанта. Сервер QIWI будет повторять запрос с нарастающим интервалом в течение суток.

    3. Проверка статуса оплаты счета

    Метод позволяет проверить статус оплаты счета клиентом. Рекомендуется его использовать после получения уведомления об оплате.

    Запрос → GET

    const billId = '893794793973'; qiwiApi.getBillInfo(billId).then( data =>  //do smth with data >); 
    curl https://api.qiwi.com/partner/bill/v1/bills/893794793973 \ -X GET \ -H 'Accept: application/json' \ -H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjIwNDIsImFwaV91c2VyX2lkIjo1NjYwMzk3Miwic2VjcmV0IjoiQjIwODlDNkI5Q0NDNTdCNDQzNGHJK43JFJDK595FJFJMjlCRkFFRDM5OE***********************' 
     $billId = '893794793973'; /** @var \Qiwi\Api\BillPayments $billPayments */ $response = $billPayments->getBillInfo($billId); print_r($response); ?> 
    String billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; BillResponse response = client.getBillInfo(billId); 
    var billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; var response = client.getBillInfo(billId); 

    URL https://api.qiwi.com/partner/bill/v1/bills/

    • billId — уникальный идентификатор счета в системе мерчанта.

    HEADERS

    • Authorization: Bearer SECRET_KEY
    • Accept: application/json

    Ответ ←

     "siteId": "23044", "billId": "893794793973", "amount":  "value": 100, "currency": "RUB" >, "status":  "value": "WAITING", "changedDateTime": "2018-03-05T11:27:41+03:00" >, "comment": "Text comment", "creationDateTime": "2018-03-05T11:27:41", "expirationDateTime": "2018-04-13T14:30:00+03:00", "payUrl": "https://oplata.qiwi.com/form/?invoice_uid=d875277b-6f0f-445d-8a83-f62c7c07be77" > 

    Пример тела ответа при ошибке

     "serviceName": "invoicing", "errorCode": "auth.unauthorized", "description": "Неверные аутентификационные данные", "userMessage": "", "datetime": "2018-04-09T18:31:42+03:00", "traceId" : "" > 

    HEADERS

    • Accept: application/json
    Параметр Тип Описание
    billId String Уникальный идентификатор счета в системе мерчанта
    siteId String Идентификатор сайта мерчанта в QIWI Кассе
    amount Object Данные о сумме счета
    amount.value Number Сумма счета, округленная до 2 знаков после запятой в меньшую сторону.
    amount.currency String Идентификатор валюты счета (Alpha-3 ISO 4217 код)
    status Object Данные о статусе счета
    status.value String Текущий статус счета
    status.changedDateTime String Дата обновления статуса
    customFields Object Объект строковых дополнительных параметров, переданных партнером
    customer Object Идентификаторы пользователя
    customer.phone String Номер телефона, на который был выставлен счет (если был указан при выставлении счета)
    customer.email String E-mail пользователя (если был указан при выставлении счета)
    customer.account String Идентификатор пользователя в системе мерчанта (если был указан при выставлении счета)
    comment String Комментарий к счету
    creationDateTime String Системная дата создания счета. Формат даты:
    ГГГГ-ММ-ДДTчч:мм:сс
    payUrl String Ссылка для переадресации пользователя на созданную платежную форму
    expirationDateTime String Срок действия созданной формы для оплаты. Формат даты:
    ГГГГ-ММ-ДДTчч:мм:сс+\-чч:мм

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

    Метод позволяет отменить неоплаченный счет.

    Запрос → POST

    const bill_id = '893794793973'; qiwiApi.cancelBill(billId).then( data =>  //do with data >); 
    curl https://api.qiwi.com/partner/bill/v1/bills/893794793973/reject \ -X POST \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjIwNDIsImFwaV91c2VyX2lkIjo1NjYwMzk3Miwic2VjcmV0IjoiQjIwODlDNkI5Q0NDNTdCNDQzNGHJK43JFJDK595FJFJMjlCRkFFRDM5OE***********************' 
     $billId = '893794793973'; /** @var \Qiwi\Api\BillPayments $billPayments */ $response = $billPayments->cancelBill($billId); print_r($response); ?> 
    String billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; BillResponse response = client.cancelBill(billId); 
    var billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; var response = client.cancelBill(billId); 

    URL https://api.qiwi.com/partner/bill/v1/bills//reject

      Параметры:
    • billId — уникальный идентификатор счета в системе мерчанта.

    HEADERS

    • Authorization: Bearer SECRET_KEY
    • Accept: application/json

    Ответ ←

     "siteId": "23044", "billId": "893794793973", "amount":  "value": 2.42, "currency": "RUB" >, "status":  "value": "REJECTED", "changedDateTime": "2018-02-28T11:43:23.386+03:00" >, "customer":  "email": "test@qiwi.com", "phone": "79191234567", "account": "user_account" >, "customFields":  "city": "Moscow" >, "comment": "Text comment", "creationDateTime": "2018-02-28T11:43:23.612+03:00", "expirationDateTime": "2018-04-14T11:43:23+03:00", "payUrl": "https://oplata.qiwi.com/form/?invoice_uid=6848dd49-e260-4343-b258-62199cffe8c1" > 

    Пример тела ответа при ошибке

     "serviceName": "invoicing", "errorCode": "auth.unauthorized", "description": "Неверные аутентификационные данные", "userMessage": "", "datetime": "2018-04-09T18:31:42+03:00", "traceId" : "" > 

    HEADERS

    • Accept: application/json
    Параметр Тип Описание
    billId String Уникальный идентификатор счета в системе мерчанта
    siteId String Идентификатор сайта мерчанта в QIWI Кассе
    amount.value Number Сумма счета, округленная до 2 знаков после запятой в меньшую сторону
    amount.currency String Идентификатор валюты счета (Alpha-3 ISO 4217 код)
    status Object Данные о статусе счета
    status.value String Текущий статус счета
    status.changedDateTime String Дата обновления статуса. Формат даты:
    ГГГГ-ММ-ДДTчч:мм:сс+\-чч:мм
    customFields Object Объект строковых дополнительных параметров, переданных партнером
    customer Object Идентификаторы пользователя. Возможные опции: email , phone , account
    comment String Комментарий к счету
    creationDateTime String Системная дата создания счета. Формат даты:
    ГГГГ-ММ-ДДTчч:мм:сс
    payUrl String Ссылка на созданную платежную форму
    expirationDateTime String Срок действия созданной формы для оплаты. Формат даты:
    ГГГГ-ММ-ДДTчч:мм:сс+\-чч:мм

    5. Возврат средств

    Метод позволяет сделать возврат средств по оплаченному счету.

    Запрос → PUT

    const billId = '893794793973'; const refundId = '899343443'; const amount = 12; const currency = 'RUB' qiwiApi.refund(billId, refundId, amount, currency).then( data =>  //do with data >); 
    curl https://api.qiwi.com/partner/bill/v1/bills/893794793973/refunds/899343443 \ -X PUT \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjIwNDIsImFwaV91c2VyX2lkIjo1NjYwMzk3Miwic2VjcmV0IjoiQjIwODlDNkI5Q0NDNTdCNDQzNGHJK43JFJDK595FJFJMjlCRkFFRDM5OE***********************' \ -d ' < \ "amount": < \ "currency": "RUB", \ "value": 1 \ >\ >' 
     $billId = '893794793973'; $refundId = '899343443'; $amount = 12; $currency = 'RUB'; /** @var \Qiwi\Api\BillPayments $billPayments */ $response = $billPayments->refund($billId, $refundId, $amount, $currency); print_r($response); ?> 
    String billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; String refundId = UUID.randomUUID().toString(); MoneyAmount amount = new MoneyAmount( BigDecimal.valueOf(104.90), Currency.getInstance("RUB") ); RefundResponse refundResponse = client.refundBill(paidBillId, refundId, amount); 
    var billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; var refundId = Guid.NewGuid().ToString(); var amount = new MoneyAmount  ValueDecimal = 104.9m, CurrencyEnum = CurrencyEnum.Rub >; var refundResponse = client.refundBill(paidBillId, refundId, amount); 

    URL https://api.qiwi.com/partner/bill/v1/bills//refunds/

      Параметры:
    • billId — уникальный идентификатор счета в системе мерчанта.
    • refundId — уникальный идентификатор возврата в системе мерчанта.
    • в JSON-теле запроса:
      • amount.value — сумма возврата.
      • amount.currency — валюта возврата.

      HEADERS

      • Authorization: Bearer SECRET_KEY
      • Accept: application/json
      • Content-Type: application/json

      Ответ ←

       "amount":  "value": 50.50, "currency": "RUB" >, "datetime": "2018-03-01T16:06:57+03", "refundId": "1", "status": "PARTIAL" > 

      Пример тела ответа при ошибке

       "serviceName": "invoicing", "errorCode": "refund.incorrect.amount", "description": "Неверная сумма возврата", "userMessage": "Неверная сумма возврата", "datetime": "2005-08-09T18:31:42+03:00", "traceId" : "" > 

      HEADERS

      • Accept: application/json
      Параметр Тип Описание
      datetime String Если ответ содержит ошибку: Системная дата обработки запроса
      refundId String Уникальный идентификатор возврата в системе мерчанта
      amount.value Number Сумма счета, округленная до 2 знаков после запятой в меньшую сторону
      amount.currency String Идентификатор валюты счета (Alpha-3 ISO 4217 код)
      status String Статус возврата
      datetime String Системная дата проведения возврата. Формат даты:
      ГГГГ-ММ-ДДTчч:мм:сс+hh

      6. Статус возврата

      Метод запрашивает статус возврата по оплаченному счету.

      Запрос → GET

      const billId = '893794793973'; const refundId = '899343443'; qiwiApi.getRefundInfo(billId, refundId).then( data =>  //do with data >); 
      curl https://api.qiwi.com/partner/bill/v1/893794793973/refund/899343443 \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjIwNDIsImFwaV91c2VyX2lkIjo1NjYwMzk3Miwic2VjcmV0IjoiQjIwODlDNkI5Q0NDNTdCNDQzNGHJK43JFJDK595FJFJMjlCRkFFRDM5OE***********************' 
       $billId = '893794793973'; $refundId = '899343443'; /** @var \Qiwi\Api\BillPayments $billPayments */ $response = $billPayments->getRefundInfo($billId, $refundId); print_r($response); ?> 
      String billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; String refundId = '3444e8ca-cf68-4dbd-92ee-f68c4bf8f29b'; RefundResponse response = client.getRefundInfo(paidBillId, refundId); 
      var billId = "fcb40a23-6733-4cf3-bacf-8e425fd1fc71"; var refundId = "3444e8ca-cf68-4dbd-92ee-f68c4bf8f29b"; var response = client.getRefundInfo(paidBillId, refundId); 

      URL https://api.qiwi.com/partner/bill/v1/bills//refunds/

        Параметры:
      • billId — уникальный идентификатор счета в системе мерчанта.
      • refundId — уникальный идентификатор возврата в системе мерчанта.

      HEADERS

      • Authorization: Bearer SECRET_KEY
      • Accept: application/json

      Ответ ←

       "amount":  "value": 50.50, "currency": "RUB" >, "datetime": "2018-03-01T16:06:57+03", "refundId": "1", "status": "PARTIAL" > 

      Пример тела ответа при ошибке

       "serviceName": "invoicing", "errorCode": "refund.incorrect.amount", "description": "Неверная сумма возврата", "userMessage": "Неверная сумма возврата", "datetime": "2005-08-09T18:31:42+03:00", "traceId" : "" > 

      HEADERS

      • Accept: application/json
      Параметр Тип Описание
      datetime String Если ответ содержит ошибку: Системная дата обработки запроса
      refundId String Уникальный идентификатор возврата в системе мерчанта
      amount.value Number Сумма счета, округленная до 2 знаков после запятой в меньшую сторону
      amount.currency String Идентификатор валюты счета (Alpha-3 ISO 4217 код)
      status String Статус возврата
      datetime String Системная дата проведения возврата. Формат даты:
      ГГГГ-ММ-ДДTчч:мм:сс+hh

      Статусы оплаты счетов

      Статус Описание Финальный
      WAITING Счет выставлен, ожидает оплаты
      PAID Счет оплачен +
      REJECTED Счет отклонен +
      EXPIRED Время жизни счета истекло. Счет не оплачен +

      Статусы операции возврата

      Статус Описание Финальный
      PARTIAL Частичный возврат суммы
      FULL Полный возврат суммы +

      Дополнительно

      Выставление счета через платежную форму

      При открытии формы в webview на android обязательно включать settings.setDomStorageEnabled(true)

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

      REDIRECT →

      URL https://oplata.qiwi.com/create

      const publicKey = 'Fnzr1yTebUiQaBLDnebLMMxL8nc6FF5zfmGQnypc*******'; const params =  publicKey, amount: 42.24, billId: '893794793973', email: 'm@ya.ru' >; const link = qiwiApi.createPaymentForm(params); 
      curl https://oplata.qiwi.com/create?publicKey=Fnzr1yTebUiQaBLDnebLMMxL8nc6FF5zfmGQnypc*******&amount=100&billId=893794793973&email=m@ya.ru 
       $publicKey = '2tbp1WQvsgQeziGY9vTLe9vDZNg7tmCymb4Lh6STQokqKrpCC6qrUUKEDZAJ7mvFnzr1yTebUiQaBLDnebLMMxL8nc6FF5zf******'; $params = [ 'publicKey' => $publicKey, 'amount' => 200, 'billId' => '893794793973' ]; /** @var \Qiwi\Api\BillPayments $billPayments */ $link = $billPayments->createPaymentForm($params); echo $link; ?> 
      String publicKey = "2tbp1WQvsgQeziGY9vTLe9vDZNg7tmCymb4Lh6STQokqKrpCC6qrUUKEDZAJ7mvFnzr1yTebUiQaBLDnebLMMxL8nc6FF5zfmGQnypdXCbQJqHEJW5RJmKfj8nvgc"; MoneyAmount amount = new MoneyAmount( BigDecimal.valueOf(499.90), Currency.getInstance("RUB") ); String billId = UUID.randomUUID().toString(); String paymentUrl = client.createPaymentForm(new PaymentInfo(key, amount, billId, "")); 
      var publicKey = "2tbp1WQvsgQeziGY9vTLe9vDZNg7tmCymb4Lh6STQokqKrpCC6qrUUKEDZAJ7mvFnzr1yTebUiQaBLDnebLMMxL8nc6FF5zfmGQnypdXCbQJqHEJW5RJmKfj8nvgc"; var amount = new MoneyAmount  ValueDecimal = 499.9m, CurrencyEnum = CurrencyEnum.Rub >; var billId = Guid.NewGuid().ToString(); var paymentUrl = client.CreatePaymentForm(new PaymentInfo(key, amount, billId, "")); 

      Параметры

      Параметр Описание Тип Обяз.
      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ччмм

      Персонализация

      Персонализация позволяет адаптировать платежную форму под ваш стиль. Настраивается лого, фон и цвет кнопок.

      Создать стили можно в личном кабинете. Возможно создать несколько стилей.

      При настройке задается код, привязанный к стилю (например, кодСтиля ). Для использования стиля на платежной форме необходимо передать в параметре customFields запроса создания счета или вызова платежной формы переменную: «themeCode»:»кодСтиля» с соответствующим кодом стиля.

      Для пользователей p2p: вы можете настроить наименование, которое будет отображаться на форме оплаты, в личном кабинете p2p.qiwi.com. Наименование также привязано к стилю.

      Пример передачи параметра при работе с формой

      curl https://oplata.qiwi.com/create?publicKey=Fnzr1yTebUiQaBLDnebLMMxL8nc6FF5zfmGQnypc*******&amount=100&billId=893794793973&customFields%5BthemeCode%5D=кодСтиля 

      Пример передачи параметра при работе через API

      curl https://api.qiwi.com/partner/bill/v1/bills/893794793973 \ -X PUT \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjIwNDIsImFwaV91c2VyX2lkIjo1NjYwMzk3Miwic2VjcmV0IjoiQjIwODlDNkI5Q0NDNTdCNDQzNGHJK43JFJDK595FJFJMjlCRkFFRDM5OE***********************' \ -d '< \ "amount": < \ "currency": "RUB", \ "value": 100.00 \ >, \ "comment": "Text comment", \ "expirationDateTime": "2018-04-13T14:30:00+03:00", \ "customer": <>, \ "customFields": \ >' 

      Customer form

      Checkout Popup

      Пример работы popup

      Всплывающее окно (popup) позволяет открыть форму оплаты поверх вашего сайта. В библиотеке доступно два метода: создание нового счета и открытие существующего.

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

      Пример выставления счета через popup

      QiwiCheckout.createInvoice(< publicKey: '5nAq6abtyCz4tcDj89e5w7Y5i524LAFmzrsN6bQTQ3c******', amount: 1.23, phone: '79123456789', >) .then(data => < // data === < // publicKey: '5nAq6abtyCz4tcDj89e5w7Y5i524LAFmzrsN6bQTQ3c******', // amount: 1.23, // phone: '79123456789', // >>) .catch(error => < // error === < // reason: "PAYMENT_FAILED" // >>) 
      Параметр Описание Тип Обязательное
      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

      params = < payUrl: 'https://oplata.qiwi.com/form?invoiceUid=06df838c-0f86-4be3-aced-a950c244b5b1' >QiwiCheckout.openInvoice(params) .then(data => < // . >) .catch(error => < // . >) 
      Параметр Описание Тип Обязательное
      payUrl URL инвойса String +

      Возможности при открытии ссылки счета

      При открытии формы в webview на android обязательно включать settings.setDomStorageEnabled(true)

      При выставлении счета через API в ответе приходит payUrl с ссылкой на форму оплаты. К ссылке можно добавить следующие параметры:

      curl https://oplata.qiwi.com/form?invoiceUid=606a5f75-4f8e-4ce2-b400-967179502275&allowedPaySources=card 
      Параметр Описание Тип
      paySource При открытии формы сразу будет выбран указанный способ оплаты. Возможные значения:
      qw — QIWI Кошелек
      card — банковская карта
      mobile — платеж со счета мобильного телефона
      sovest — карта СОВЕСТЬ
      Если способ оплаты недоступен — выбирается рекомендуемый для данного пользователя способ оплаты
      String
      allowedPaySources При открытии формы будут отображаться только указанные способы оплаты. (Если они доступны) Возможные значения:
      qw — QIWI Кошелек
      card — банковская карта
      mobile — платеж со счета мобильного телефона
      sovest — карта СОВЕСТЬ
      Строка с разделителями-запятыми
      lifetime Дата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна. Строка формата
      ГГГГ-ММ-ДДTччмм

      Готовые решения

      SDK и библиотеки

      • NODE JS SDK — Готовое решение для разработки server2server интеграции c помощью Node.js.
      • PHP SDK — Готовое решение для разработки server2server интеграции c помощью PHP.
      • Java SDK — Готовое решение для разработки server2server интеграции c помощью Java.
      • .Net SDK — Готовое решение для разработки server2server интеграции c помощью C# .Net.

      Решения для CMS

      • WordPress — расширение под Woocommerce для работы с заказами
      • Онлайн Лейка — WordPress расширение для благотворительности
      • 1С-Битрикс — решение для работы с заказами
      • Opencart — решение для работы с заказами
      • PrestaShop — решение для работы с заказами

      Рекомендации к оформлению

      Иконки

      Данные рекомендации помогут вашим пользователям быстрее сориентироваться на странице выбора способов оплаты.

      • Если платежный протокол QIWI — один из способов оплаты на вашем сайте, то мы рекомендуем выводить иконки всех способов оплаты, доступных на форме:

      Operation Flow

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

      Operation Flow

      • Если платежный протокол QIWI Кассы — единственный способ оплаты на вашем сайте, то упоминание QIWI Кассы в этом случае необязательно. Иконки способов оплаты, доступных на форме, в этом случае надо размещать под кнопкой оплаты:

      Инструкция по генерации секретного ключа для «QIWI Wallet»

      Переходим на сайт «QIWI» https://p2p.qiwi.com для получения ключей интеграции.

      Проходим авторизацию.

      В личном кабинете необходимо перейти в раздел «Прием переводов» и открыть вкладку API.

      В нижней части раздела видим пункт «Аутентификационные данные». Нажимаем на кнопку «Создать пару ключей и настроить».

      Далее в открывшемся окне вводим название ключа и нажимаем «Сохранить»

      Примечание: секретный ключ больше виден не будет, сохраните его в надежном месте на компьютере.

      Как узнать api ключ киви кошелька

      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 Кошелек

      • token (str) – Ключ Qiwi API пользователя.
      • number (Optional[str]) – Номер для указанного кошелька. По умолчанию — None . Если не указан, статистика и история работать не будет.
      • contract_info (Optional[bool]) – Логический признак выгрузки данных о кошельке пользователя. По умолчанию — True .
      • auth_info (Optional[bool]) – Логический признак выгрузки настроек авторизации пользователя. По умолчанию — True .
      • user_info (Optional[bool]) – Логический признак выгрузки прочих пользовательских данных. По умолчанию — True .

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

      Type: iterable of Account

      offered_accounts ¶

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

      Type: iterable of Account

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

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

      currency (int) – ID валюты в number-3 ISO-4217 . Например, 643 для российского рубля.

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

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

      cheque ( txn_id, txn_type, file_format=’PDF’, email=None ) [исходный код] ¶

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

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

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

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

      • pid (str) – Идентификатор провайдера.
      • recipient (str) – Номер телефона (с международным префиксом) или номер карты/счета получателя. В зависимости от провайдера.
      • amount (float/int) – Сумма платежа. Положительное число, округленное до 2 знаков после десятичной точки. При большем числе знаков значение будет округлено до копеек в меньшую сторону.

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

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

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

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

      cross_rates ¶

      Курсы валют QIWI Кошелька

      Результат: Состоит из: Rate — Курса.
      Тип результата: list

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

      Максимальная интенсивность запросов истории платежей — не более 100 запросов в минуту для одного и того же номера кошелька.

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

      • rows (Optional[int]) – Число платежей в ответе, для разбивки отчета на части. От 1 до 50, по умолчанию 20.
      • operation (Optional[str]) – Тип операций в отчете, для отбора. Варианты: ALL, IN, OUT, QIWI_CARD. По умолчанию — ALL.
      • start_date (Optional[datetime.datetime]) – Начальная дата поиска платежей.
      • end_date (Optional[datetime.datetime]) – Конечная дата поиска платежей.
      • sources (Optional[list]) – Источники платежа, для отбора. Варианты: QW_RUB, QW_USD, QW_EUR, CARD, MK. По умолчанию — все указанные.
      • next_txn_date (Optional[datetime.datetime]) – Дата транзакции для отсчета от предыдущего списка (равна параметру nextTxnDate в предыдущем списке).
      • next_txn_id (Optional[int]) – Номер предшествующей транзакции для отсчета от предыдущего списка (равен параметру nextTxnId в предыдущем списке).

      Если вы хотите использовать start_date или end_date, вы должны указать оба параметра. Такое же использование и у next_txn_date и next_txn_id. Максимальный допустимый интервал между start_date и end_date — 90 календарных дней.

      Результат: Состоит из: transactions[list[ Transaction ]] — Транзакции. next_txn_date[datetime.datetime] — Дата транзакции(для использования в следующем использовании). next_txn_id[int] — Номер транзакции.
      Тип результата: dict

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

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

      • birth_date (str) – Дата рождения пользователя (в формате “ГГГГ-ММ-ДД”)
      • first_name (str) – Имя пользователя
      • middle_name (str) – Отчество пользователя
      • last_name (str) – Фамилия пользователя
      • passport (str) – Серия и номер паспорта пользователя (только цифры)
      • inn (str) – ИНН пользователя
      • snils (str) – Номер СНИЛС пользователя
      • oms (str) – Номер полиса ОМС пользователя

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

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

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

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

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

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

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

      • pid (str) – Идентификатор провайдера.
      • recipient (str) – Номер телефона (с международным префиксом) или номер карты/счета получателя. В зависимости от провайдера.
      • amount (float/int) – Сумма платежа. Положительное число, округленное до 2 знаков после десятичной точки. При большем числе знаков значение будет округлено до копеек в меньшую сторону.
      • comment (Optional[str]) – Комментарий к платежу.
      • fields (dict) – Ручное добавление dict’а в платежи. Требуется для специфичных платежей. Например, перевод на счет в банке.

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

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

      • operation (Optional[str]) – Тип операций в отчете, для отбора. Варианты: ALL, IN, OUT, QIWI_CARD. По умолчанию — ALL.
      • start_date (Optional[datetime.datetime]) – Начальная дата поиска платежей.
      • end_date (Optional[datetime.datetime]) – Конечная дата поиска платежей.
      • sources (Optional[list]) – Источники платежа, для отбора. Варианты: QW_RUB, QW_USD, QW_EUR, CARD, MK. По умолчанию — все указанные.

      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 ) [исходный код] ¶

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

      str (сами впишите вариант по соответствию с Qiwi API)

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

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

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

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

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

      Types¶

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

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

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

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

      has_balance ¶

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

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

      Сведения о счете

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

      Type: Optional[float]

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

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

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

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

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

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

      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-адрес последней пользовательской сессии

      last_login_date ¶

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

      mobile_pin_info ¶

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

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

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

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

      registration_date ¶

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

      Type: datetime.datetime

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

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

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

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

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

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

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

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

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

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

      Type: Optional[float/int]

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

      Type: Optional[float/int]

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

      Type: Optional[float/int]

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

      Type: Optional[float/int]

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

      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 ) [исходный код] ¶

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

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

      contract_id ¶

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

      creation_date ¶

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

      Type: datetime.datetime

      identification_info ¶

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

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

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

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

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

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

      Акроним системы, в которой пользователь получил идентификацию: QIWI — QIWI Кошелек.

      identification_level ¶

      Текущий уровень идентификации кошелька Возможные значения: ANONYMOUS — без идентификации SIMPLE, VERIFIED — упрощенная идентификация FULL — полная идентификация

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

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

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

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

      Текущий уровень идентификации кошелька: SIMPLE — без идентификации. VERIFIED — упрощенная идентификация (данные для идентификации успешно прошли проверку). FULL – если кошелек уже ранее получал полную идентификацию по данным ФИО, номеру паспорта и дате рождения.

      birth_date ¶

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

      first_name ¶

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

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