diff --git a/myproject/orders/forms.py b/myproject/orders/forms.py index 35bae07..1eba938 100644 --- a/myproject/orders/forms.py +++ b/myproject/orders/forms.py @@ -524,12 +524,10 @@ class PaymentForm(forms.ModelForm): # Базовые проверки if amount is None or amount <= 0: self.add_error('amount', 'Введите сумму больше 0.') - - if not order: - raise forms.ValidationError('Заказ не найден для платежа.') - - # Проверка для оплаты из кошелька - if method and getattr(method, 'code', None) == 'account_balance': + + # ВАЖНО: order может быть None при создании нового заказа! + # Проверки кошелька делаем только если order уже существует + if order and method and getattr(method, 'code', None) == 'account_balance': wallet_balance = order.customer.wallet_balance if order.customer else Decimal('0') amount_due = max(order.total_amount - order.amount_paid, Decimal('0'))