allow 30 delta in tx time, case insenstive name
This commit is contained in:
parent
a7b80c5702
commit
f8bb951ee3
11
api.py
11
api.py
@ -9,7 +9,7 @@ app = Flask(__name__)
|
|||||||
def verify_payment():
|
def verify_payment():
|
||||||
# Get data from request
|
# Get data from request
|
||||||
data = request.json
|
data = request.json
|
||||||
benef_name = data.get('benefName')
|
benef_name = data.get('benefName', '').strip().lower() # Normalize input name
|
||||||
abs_amount = data.get('absAmount')
|
abs_amount = data.get('absAmount')
|
||||||
time_str = data.get('time')
|
time_str = data.get('time')
|
||||||
|
|
||||||
@ -53,11 +53,14 @@ def verify_payment():
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
tx_time = datetime.strptime(tx_data['trxDate'], "%Y-%m-%d %H:%M:%S")
|
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
|
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"})
|
return jsonify({"success": True, "message": "Payment verified"})
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
app.logger.error(f"Error processing transaction: {str(e)}")
|
app.logger.error(f"Error processing transaction: {str(e)}")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user