fix netopia issue
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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]:
|
||||||
|
|||||||
Reference in New Issue
Block a user