fix pay
This commit is contained in:
+2
-2
@@ -12,8 +12,8 @@ class Settings(BaseSettings):
|
|||||||
ADMIN_PASSWORD: str = ""
|
ADMIN_PASSWORD: str = ""
|
||||||
|
|
||||||
# Heleket payment
|
# Heleket payment
|
||||||
HELEKET_API_KEY: str = ""
|
HELEKET_MERCHANT_UUID: str = "" # UUID аккаунта → заголовок merchant:
|
||||||
HELEKET_SHOP_ID: str = ""
|
HELEKET_API_KEY: str = "" # API ключ → вычисление sign:
|
||||||
CLICK_PRICE_RUB: float = 2.0 # Цена одного перехода в рублях
|
CLICK_PRICE_RUB: float = 2.0 # Цена одного перехода в рублях
|
||||||
TOPUP_MIN_RUB: int = 50 # Минимальное пополнение ₽
|
TOPUP_MIN_RUB: int = 50 # Минимальное пополнение ₽
|
||||||
TOPUP_MAX_RUB: int = 50000 # Максимальное пополнение ₽
|
TOPUP_MAX_RUB: int = 50000 # Максимальное пополнение ₽
|
||||||
|
|||||||
@@ -25,12 +25,13 @@ class HelketPayment:
|
|||||||
BASE_URL = "https://api.heleket.com/v1"
|
BASE_URL = "https://api.heleket.com/v1"
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.api_key = settings.HELEKET_API_KEY
|
self.merchant_uuid = settings.HELEKET_MERCHANT_UUID # заголовок merchant:
|
||||||
|
self.api_key = settings.HELEKET_API_KEY # для вычисления sign:
|
||||||
|
|
||||||
def _post_headers(self, body_bytes: bytes) -> dict:
|
def _post_headers(self, body_bytes: bytes) -> dict:
|
||||||
"""Заголовки для POST-запроса с подписью."""
|
"""Заголовки для POST-запроса с подписью."""
|
||||||
return {
|
return {
|
||||||
"merchant": self.api_key,
|
"merchant": self.merchant_uuid,
|
||||||
"sign": _make_sign(body_bytes, self.api_key),
|
"sign": _make_sign(body_bytes, self.api_key),
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
}
|
}
|
||||||
@@ -38,7 +39,7 @@ class HelketPayment:
|
|||||||
def _get_headers(self) -> dict:
|
def _get_headers(self) -> dict:
|
||||||
"""Заголовки для GET-запроса (тело пустое)."""
|
"""Заголовки для GET-запроса (тело пустое)."""
|
||||||
return {
|
return {
|
||||||
"merchant": self.api_key,
|
"merchant": self.merchant_uuid,
|
||||||
"sign": _make_sign(b"", self.api_key),
|
"sign": _make_sign(b"", self.api_key),
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,8 +48,8 @@ class HelketPayment:
|
|||||||
Создаёт счёт на сумму в рублях.
|
Создаёт счёт на сумму в рублях.
|
||||||
Возвращает dict: payment_id, address, url. None при ошибке.
|
Возвращает dict: payment_id, address, url. None при ошибке.
|
||||||
"""
|
"""
|
||||||
if not self.api_key:
|
if not self.merchant_uuid or not self.api_key:
|
||||||
logger.error("HELEKET_API_KEY не задан")
|
logger.error("HELEKET_MERCHANT_UUID или HELEKET_API_KEY не заданы")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
@@ -74,7 +75,6 @@ class HelketPayment:
|
|||||||
"payment_id": r.get("uuid"),
|
"payment_id": r.get("uuid"),
|
||||||
"address": r.get("address"),
|
"address": r.get("address"),
|
||||||
"url": r.get("url"),
|
"url": r.get("url"),
|
||||||
"mock": False,
|
|
||||||
}
|
}
|
||||||
logger.error(f"Heleket create error: {data}")
|
logger.error(f"Heleket create error: {data}")
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user