diff --git a/api.py b/api.py index 78d658c..56219de 100644 --- a/api.py +++ b/api.py @@ -9,7 +9,7 @@ app = Flask(__name__) def verify_payment(): # Get data from request data = request.json - benef_name = data.get('benefName') + benef_name = data.get('benefName', '').strip().lower() # Normalize input name abs_amount = data.get('absAmount') time_str = data.get('time') @@ -53,11 +53,14 @@ def verify_payment(): try: tx_time = datetime.strptime(tx_data['trxDate'], "%Y-%m-%d %H:%M:%S") - time_diff = tx_time - request_time + time_diff = abs(tx_time - request_time) - if (tx_data['benefName'] == benef_name and + # Normalize transaction beneficiary name for comparison + tx_benef_name = tx_data['benefName'].strip().lower() + + if (tx_benef_name == benef_name and str(tx_data['absAmount']) == str(abs_amount) and - timedelta(0) <= time_diff <= timedelta(minutes=30)): + time_diff <= timedelta(minutes=30)): return jsonify({"success": True, "message": "Payment verified"}) except ValueError as e: app.logger.error(f"Error processing transaction: {str(e)}")