Как достать Id запроса у юкассы
Короче суть вопроса.У меня есть админка и туда приходят новые заказы,но они туда приходят в любом случае,успешно ли либо не успешно оформлен заказ,в чем суть мне нужно проверять статус заказа после его оплаты и добавлять данные в админку,но чтобы проверить статус заказа нужно запомнить id самого заказа,во первых даже если я пытаюсь его запомнить таким образом payment_id = request.POST.get('payment_id'),то ничего не выходит (payment_id = request.POST.get('id') так тоже).Так Payment.find_one(payment_id) он выводит такую ошибку
ValueError at /orders/create/
Invalid payment_id value
payment_id = request.POST.get('payment_id')
payment = Payment.find_one(payment_id)
if payment_id.status == 'succeeded':
то есть по сути я хочу вот так сделать,но каждый раз выходит ошибка.Помогите пожалуйста,уже очень долго мучаюсь с этим,если что это Юкасса Весь код выглядит так
if request.method == 'POST':
form = OrderCreateForm(request.POST)
if form.is_valid():
# очистка корзины
total_price = 0
for item in cart:
total_price += item['price'] * item['quantity']
payment = Payment.create({
"amount": {
"value": total_price, # передаем цену товара в виде строки
"currency": "RUB"
},
'status':'waiting_for_capture',
"confirmation": {
"type": "redirect",
"return_url": "http://127.0.0.1:8000/home"
},
"capture": True,
"description": f"Заказ товара " # использование названия товара для описания заказа
},uuid.uuid4())
# payment = Payment.find_one(payment_id)
return HttpResponseRedirect(payment.confirmation.confirmation_url)
# return render(request, 'orders/order/created.html', {'order': order})
else:
form = OrderCreateForm()
payment_id = request.GET.get('payment_id')
payment = Payment.find_one(payment_id)
if payment and payment.status == 'succeeded':
# если платеж найден и его статус "succeeded"
print('Статус заказа Юкассы:', payment_id)
else:
# обработать другие статусы платежа
print('Статус заказа Юкассы:', payment.status)
return render(request, 'orders/order/create.html', {'cart': cart, 'form': form})