Пользователь автоматически выходит из системы после совершения платежа при перенаправлении из банка
У меня такая проблема: когда пользователь совершает платеж и перенаправляется на сайт, пользователь больше не входит в систему, я новичок в django и не знаю, в чем проблема и как ее решить. Вот функция, которую я скачал с сайта банка.
@csrf_exempt
def payment_return(request):
if request.method == 'POST':
pid = request.POST.get('id')
status = request.POST.get('status')
pidtrack = request.POST.get('track_id')
order_id = request.POST.get('order_id')
amount = request.POST.get('amount')
card = request.POST.get('card_no')
date = request.POST.get('date')
if Payment.objects.filter(order_id=order_id, payment_id=pid, amount=amount, status=1).count() == 1:
idpay_payment = payment_init()
payment = Payment.objects.get(payment_id=pid, amount=amount)
payment.status = status
payment.date = str(date)
payment.card_number = card
payment.idpay_track_id = pidtrack
payment.save()
if str(status) == '10':
result = idpay_payment.verify(pid, payment.order_id)
if 'status' in result:
payment.status = result['status']
payment.bank_track_id = result['payment']['track_id']
payment.save()
return render(request, 'accounts/profile.html', {'txt': result['message']})
else:
txt = result['message']
else:
txt = "Error Code : " + str(status) + " | " + "Description : " + idpay_payment.get_status(status)
else:
txt = "Order Not Found"
else:
txt = "Bad Request"
return render(request, 'error.html', {'txt': txt})
def payment_check(request, pk):
payment = Payment.objects.get(pk=pk)
idpay_payment = payment_init()
result = idpay_payment.inquiry(payment.payment_id, payment.order_id)
if 'status' in result:
payment.status = result['status']
payment.idpay_track_id = result['track_id']
payment.bank_track_id = result['payment']['track_id']
payment.card_number = result['payment']['card_no']
payment.date = str(result['date'])
payment.save()
return render(request, 'accounts/profile.html', {'txt': result['message']})
def requirement(request):
txt = "pip install idpay"
return render(request, 'error.html', {'txt': txt})
def about_me(request):
txt = 'IDPay'
return render(request, 'error.html', {'txt': txt})
а это урлы
path('payment', views.payment_start, name='payment_start'),
path('payment/return', views.payment_return, name='payment_return'),
path('payment/check/<pk>', views.payment_check, name='payment_check'),
path('requirement', views.requirement, name='requirement'),
path('about-me', views.about_me, name='about_me'),
И еще я должен добавить, что я могу сделать запись информации о пользователе и его платежных деталях в моей базе данных, таких как id заказа, статус платежа и т.д. Не знаю, поможет это или нет