В чем проблема с выставлением счета?
Создаю бота для приема платежей, сначала работал с тестовым api ключом, все работало отлично. Как ввел настоящие ключи начали выдаваться такие ошибки - raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 400 Client Error: for url: https://api.yookassa.ru/v3/payments Вот код -
async def buy_handler(callback: types.CallbackQuery):
await callback.answer()
payment_url, payment_id = create("200.00", callback.message.chat.id)
inline_kb = InlineKeyboardMarkup()
inline_kb.add(InlineKeyboardButton(text='Перейти к оплате', url=payment_url))
inline_kb.add(InlineKeyboardButton(text='Проверить оплату', callback_data=f'check_{payment_id}'))
with open('img.jpg', 'rb') as photo:
mymessage = await callback.message.answer_photo(photo=photo,caption=f'''Счёт на оплату успешно выставлен, parse_mode="HTML", reply_markup=inline_kb)</code>
Вот обработчик -
yookassa.Configuration.account_id = Api_id
yookassa.Configuration.secret_key = Api_key
def create(amount, chat_id):
id_key = str(uuid.uuid4())
payment = Payment.create({
"amount": {
'value': amount,
'currency': 'RUB'
},
'confirmation': {
'type': 'redirect',
'return_url': 'https://example.com'
},
'capture': True,
'metadata': {
'chat_id': chat_id
},
'description': 'тестовый'
}, id_key)
return payment.confirmation.confirmation_url, payment.id
def check(payment_id):
payment = yookassa.Payment.find_one(payment_id)
if payment.status == 'succeeded':
return payment.metadata
else:
return False
Полна версия ошибки -
payment_url, payment_id = create("200.00", callback.message.chat.id)
File "c:\Users\aist\Desktop\telegram_bot\venv\youmoney.py", line 22, in create
payment = Payment.create({
File "C:\Users\aist\Desktop\telegram_bot\.venv\lib\site-packages\yookassa\payment.py", line 58, in create
response = instance.client.request(HttpVerb.POST, path, None, headers, params_object)
File "C:\Users\aist\Desktop\telegram_bot\.venv\lib\site-packages\yookassa\client.py", line 38, in request
raw_response = self.execute(body, method, path, query_params, request_headers)
File "C:\Users\aist\Desktop\telegram_bot\.venv\lib\site-packages\yookassa\client.py", line 59, in execute
self.log_response(raw_response.content, self.get_response_info(raw_response), raw_response.headers)
File "C:\Users\aist\Desktop\telegram_bot\.venv\lib\site-packages\yookassa\client.py", line 119, in get_response_info
"raise_for_status": response.raise_for_status(),
File "C:\Users\aist\Desktop\telegram_bot\.venv\lib\site-packages\requests\models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: for url: https://api.yookassa.ru/v3/payments
В чем проблема, с тестовым ключом работало без проблем. Библиотеки aiogram и yookassa