diff --git a/tgbot/services/api_lolzteam.py b/tgbot/services/api_lolzteam.py index 5aa3bb7..8fc5c35 100644 --- a/tgbot/services/api_lolzteam.py +++ b/tgbot/services/api_lolzteam.py @@ -110,13 +110,20 @@ class LolzteamAPI: and "balances" in response["user"] and self.merchant_id ): - balances = response["user"]["balances"] + # ! Проверка этим способом не работает для мерчантов, у которых нет отдельного + # ! баланса на маркете, и поэтому используется способ ниже + # balances = response["user"]["balances"] - for balance in balances: - if int(self.merchant_id) == balance["merchant_id"]: - merchant_valid = True + # for balance in balances: + # if int(self.merchant_id) == balance["merchant_id"]: + # merchant_valid = True - if merchant_valid: + # ! Создание оплаты и проверка возвращаемого статуса (если статус положительный - то и мерчант валидный) + bill_message, bill_link, bill_receipt = await self.bill( + 1, is_test=True + ) # Тестовый инвойс + + if bill_message: return True, ded( f""" 🟢 Lolzteam полностью функционирует ✅ @@ -173,7 +180,9 @@ class LolzteamAPI: # Создание счета на оплату async def bill( - self, pay_amount: Union[float, int] + self, + pay_amount: Union[float, int], + is_test: bool = False, ) -> Tuple[Union[str, bool], str, str]: pro_payment_id = get_unix() @@ -185,6 +194,8 @@ class LolzteamAPI: bot_username = bot_data.username bot_url = f"https://telegram.me/{bot_username}" + print(is_test) + payload = { "currency": "rub", "amount": pay_amount, @@ -193,7 +204,7 @@ class LolzteamAPI: "url_success": bot_url, "merchant_id": self.merchant_id, "lifetime": 10800, - "is_test": True, # Тестовый режим для отладки + "is_test": is_test, # Тестовый режим для отладки } status, response = await self._request("invoice", payload) @@ -264,13 +275,14 @@ class LolzteamAPI: headers = { "Authorization": f"Bearer {self.token}", "Accept": "application/json", + "Content-Type": "application/json", } url = base_url + path try: if method == "POST": - response = await session.post(url=url, headers=headers, data=data) + response = await session.post(url=url, headers=headers, json=data) elif method == "GET": response = await session.get(url=url, headers=headers, params=data)