Пользователь автоматически выходит из системы после совершения платежа при перенаправлении из банка

У меня такая проблема: когда пользователь совершает платеж и перенаправляется на сайт, пользователь больше не входит в систему, я новичок в 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 заказа, статус платежа и т.д. Не знаю, поможет это или нет

Вернуться на верх