fix netopia issue

This commit is contained in:
2025-12-17 18:48:21 +02:00
parent 35a1e9e51d
commit f66cabdd06
2 changed files with 5 additions and 8 deletions

View File

@@ -34,8 +34,8 @@ def healthz():
@app.post("/api/payments/ipn")
def ipn():
try:
raw = request.data
data = verify_ipn(raw)
# Pass the whole request object, not just request.data
data = verify_ipn(request)
app.logger.info("IPN OK: %s", data)
return jsonify({"ok": True, "data": data}), 200
except Exception as e:

View File

@@ -269,13 +269,10 @@ def start_card_payment(
return svc.start_payment(req)
def verify_ipn(raw_body: bytes, settings: Optional[NetopiaSettings] = None) -> Dict[str, Any]:
"""Verify an IPN payload coming from NETOPIA. Returns the decoded data.
Raise an exception if verification fails.
"""
def verify_ipn(request_obj: Any, settings: Optional[NetopiaSettings] = None) -> Dict[str, Any]:
"""Verify an IPN payload coming from NETOPIA using the full request object."""
svc = _build_payment_service(settings)
return svc.verify_ipn(raw_body)
return svc.verify_ipn(request_obj)
def get_status(*, ntp_id: Optional[str] = None, order_id: Optional[str] = None, settings: Optional[NetopiaSettings] = None) -> Dict[str, Any]: