Телграмм бот на aiogram не работает оплата в лайв режиме
Запускал платёжку через API Юкасса, в тестовом режиме платёж работает, как получил настоящий секретный ключ и id магазина, перестало работать и выдаёт такую ошибку:
HTTPError: 400 Client Error: for url: https://api.yookassa.ru/v3/payments
Traceback (most recent call last):
File "/home/alex/PycharmProjects/pythonProjectaiogramm/payment.py", line 15, in create
payment = Payment.create({
^^^^^^^^^^^^^^^^
File "/home/alex/PycharmProjects/pythonProjectaiogramm/.venv/lib/python3.12/site-packages/yookassa/payment.py", line 66, in create
response = instance.client.request(HttpVerb.POST, path, None, headers, params_object)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/alex/PycharmProjects/pythonProjectaiogramm/.venv/lib/python3.12/site-packages/yookassa/client.py", line 51, in request
raw_response = self.execute(body, method, path, query_params, request_headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/alex/PycharmProjects/pythonProjectaiogramm/.venv/lib/python3.12/site-packages/yookassa/client.py", line 82, in execute
self.log_response(raw_response.content, self.get_response_info(raw_response), raw_response.headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/alex/PycharmProjects/pythonProjectaiogramm/.venv/lib/python3.12/site-packages/yookassa/client.py", line 169, in get_response_info
"raise_for_status": response.raise_for_status(),
^^^^^^^^^^^^^^^^^^^^^^^^^^^
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: for url: https://api.yookassa.ru/v3/payments
При переходе на сайт выдает это:
{
"type" : "error",
"id" : "xxxxxxxxxxxxxxxxxxxx",
"code" : "invalid_credentials",
"description" : "Incorrect password format in the Authorization header. Use Secret key issued in Merchant Profile as the password",
"parameter" : "Authorization"
}
Код платёжки:
import yookassa
from yookassa import Payment
import uuid
from config import ACCOUNT_ID, SECRET_KEY
yookassa.Configuration.account_id = ACCOUNT_ID
yookassa.Configuration.secret_key = SECRET_KEY
def create(amount, chat_id):
id_key = str(uuid.uuid4())
payment = Payment.create({
"amount": {
'value':amount,
'currency': "RUB"
},
'payment_metod_data': {
'type': 'bank_card',
},
'confirmation': {
'type': 'redirect',
'return_url': 'https://xxxxxxxx'
},
'capture': True,
'metadata': {
'chat_id': chat_id
},
'description': 'Оплата подписки'
}, id_key)
return payment.confirmation.confirmation_url, payment.id
Ответы (1 шт):
Автор решения: Dark City Games
→ Ссылка
Решено. Проблема связана в чеках. надо было отключить авто отправку чека в ЛК юкассы.