Как сделать заявку на пополнение в тг боте?
У меня есть тг бот на aiogram==2.25., мне надо по команде создавать заявку на платеж (CyberMoneyCRM - платежная система), у них есть своя документация и я не очень понял её
ссылка на docks - https://cyber.money/crm/payment/api/docs
Код создания заявки:
API_TOKEN = 'xxxxxx'
CYBER_MONEY_API_URL = 'https://cyber.money/api/v1/ast/'
CYBER_MONEY_API_KEY = 'xxxxxxx'
# Хранилище для отслеживания времени создания заявки
request_creation_times = {}
import requests
def create_request(amount, payment_method, card_type=None):
url = f"{CYBER_MONEY_API_URL}request"
headers = {
'Authorization': f"{CYBER_MONEY_API_KEY}",
'Content-Type': 'application/json'
}
payload = {
'sum': amount,
'payment_method': payment_method,
}
if card_type:
payload['card_type'] = card_type
try:
response = requests.post(url, json=payload, headers=headers) # Используем POST
response.raise_for_status() # Проверка на HTTP ошибки
print(f"Response status code: {response.status_code}")
print(f"Response content: {response.text}")
return response.json()
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}")
except Exception as err:
print(f"Other error occurred: {err}")
return None
@dp.message_handler(commands=['pay'])
async def pay(message: types.Message):
amount = 100 # Сумма в рублях
payment_method = 'ccard' # Способ оплаты
card_type = 'sberbank' # Тип карты (если применимо)
result = create_request(amount, payment_method, card_type)
if result and 'request_id' in result:
request_id = result['request_id']
# Сохраняем время создания заявки
request_creation_times[request_id] = datetime.now()
await message.reply(f"Заявка создана. ID: {request_id}. Подтвердите оплату командой /confirm {request_id}")
else:
await message.reply("Не удалось создать заявку.")
выдает ошибку - {"error":{"code":405,"message":"The GET method is not supported for this route. Supported methods: POST."}}