Выдает ошибку, хотя сделал все как в документации
re-dream-it opened this issue · 6 comments
from pyqiwip2p import QiwiP2P
from pyqiwip2p.types import QiwiCustomer, QiwiDatetime
QIWI_PRIV_KEY = "eyJ2(специально убрал)ifX0"
p2p = QiwiP2P(auth_key = QIWI_PRIV_KEY)
# Выставим счет на сумму 228 рублей который будет работать 45 минут
new_bill = p2p.bill(bill_id = 212332030, amount = 228, lifetime = 45)
print(new_bill)
Вот мой элементарный код для выставления счета, ничего более... Выдает вот такую ошибку:
Traceback (most recent call last):
File "G:\codes\qiwi.py", line 10, in <module>
new_bill = p2p.bill(bill_id=212332030, amount=228, lifetime=45)
File "C:\Users\Odekulles\AppData\Local\Programs\Python\Python39\lib\site-packages\pyqiwip2p\Qiwip2p.py", line 77, in bill
qiwi_response = Bill(requests.put(f"https://api.qiwi.com/partner/bill/v1/bills/{bill_id}",
File "C:\Users\Odekulles\AppData\Local\Programs\Python\Python39\lib\site-packages\pyqiwip2p\types\Responses.py", line 47, in init
self.r_json = response.json() if type(response) is Response else response
File "C:\Users\Odekulles\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 900, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\Odekulles\AppData\Local\Programs\Python\Python39\lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\Odekulles\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\Odekulles\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Привет! Проблема со стороны Qiwi, они возвращают страницу ошибки, а не JSON с ошибкой, что указано в их доке. Уже работаю над обработчиком конкретно этого косяка, в одном из следующих коммитов появится отдельный экзепшн
https://pypi.org/project/pyQiwiP2P/1.0a8/
Теперь явно даю понять, что киви косячат
Т.Е. проблемы у них? я все сделал правильно?
https://pypi.org/project/pyQiwiP2P/1.0a8/
Теперь явно даю понять, что киви косячат
Т.Е. проблемы у них? я все сделал правильно?
Я не компилятор, но код из примера работал. Не забудьте обновиться, это делается командой python -m pip install -U pyqiwip2p
Резюмирую проблему
Qiwi возвращает не JSON по непонятным причинам
JSONDecoder не может декодировать не JSON
JSONDecoder возвращал ошибку декодирования
Резюмирую действия со своей стороны
Добавил исключение на ошибку декодирования
Исключение вызываетValueError "Qiwi response is not JSON"
Выпустил обновление 1.0a8 с исправлением
Что предстоит сделать
Написать в документации про ошибку
Проблему считаю закрытой.
Привет столкнулся с такой же ошибкой, ты сделал токен оплаты не там, киви может выдавать разные токены оплаты, с этим токеном работает другая библиотека киви симпл киви. Вот ссылка туда куда нужно https://qiwi.com/p2p-admin/transfers
Hi, I encountered the same error, you made the payment token in the wrong place, kiwi can issue different payment tokens, another kiwi simple kiwi library works with this token. Here is a link to where you need to go https://qiwi.com/p2p-admin/transfers