Проверка статуса платежа
У меня есть функция, которая вызывается по нажатию кнопки обновить
def check_payment_status(request, payment_id):
ticket = WalletTicket.objects.get(payment_id=payment_id, payment_status='waiting')
try:
url = f"https://api.nowpayments.io/v1/payment/{payment_id}"
except ConnectionError:
redirect('money:wallet')
payload={}
headers = {
'x-api-key': API_KEY
}
json_response = requests.request("GET", url, headers=headers, data=payload)
response = json.loads(json_response.text)
if response['payment_status'] == 'finished':
ticket.payment_status = 'finished'
user = User.objects.get(ticket.user)
user.balance += int(response['pay_amount'])
user.save()
return redirect('money:wallet')
Насколько это правильно? Можно ли сделать это более удобней? итерироватся по всем платежным тикетам займет время, а каждый раз наживать обновить не совсем удобно.