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

View File

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