severpay fix

This commit is contained in:
machka pasla
2025-12-09 20:48:16 +03:00
parent 805bd4cf60
commit 7b650a74a6
+2 -2
View File
@@ -84,9 +84,9 @@ class SeverPayService:
provided_sign = str(payload.get("sign") or "") provided_sign = str(payload.get("sign") or "")
if not provided_sign or not self.token: if not provided_sign or not self.token:
return False return False
# Webhook signatures are calculated on the original payload order (without sorting).
data = {k: v for k, v in payload.items() if k != "sign"} data = {k: v for k, v in payload.items() if k != "sign"}
sorted_body = dict(sorted(data.items())) expected_sign = self._sign_payload(data)
expected_sign = self._sign_payload(sorted_body)
return hmac.compare_digest(provided_sign, expected_sign) return hmac.compare_digest(provided_sign, expected_sign)
async def create_payment( async def create_payment(