allow 30 delta in tx time, case insenstive name

This commit is contained in:
Shihaam Abdul Rahman 2024-10-19 01:49:49 +05:00
parent a7b80c5702
commit f8bb951ee3
Signed by: shihaam
GPG Key ID: 6DA2E87EBC227636

11
api.py
View File

@ -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)}")