Метод успеха Брейнтри Джанго - PullRequest
0 голосов
/ 06 марта 2019
def checkout(request, **kwargs):
    client_token = generate_client_token()
    existing_order = get_user_pending_order(request)
    publishKey = settings.STRIPE_PUBLISHABLE_KEY
    if request.method == 'POST':
        token = request.POST.get('stripeToken', False)
        if token:
            try:
                charge = stripe.Charge.create(
                    amount=100*existing_order.get_cart_total(),
                    currency='usd',
                    description='Example charge',
                    source=token,
                )

                return redirect(reverse('carts:update_records',
                        kwargs={
                            'token': token
                        })
                    )
            except stripe.CardError as e:
                message.info(request, "Your card has been declined.")
        else:
            result = transact({
                'amount': existing_order.get_cart_total(),
                'payment_method_nonce': request.POST['payment_method_nonce'],
                'options': {
                    "submit_for_settlement": True
                }
            })

            if result.is_success or result.transaction:
                return redirect(reverse('sharing:upload',
                        kwargs={
                            'token': token
                        })
                    )
            else:
                for x in result.errors.deep_errors:
                    messages.info(request, x)
                return redirect(reverse('carts:checkout'))

            get_total = existing_order.get_cart_total()
            get_total.save()

    context = {
        'order': existing_order,
        'client_token': client_token,
        'STRIPE_PUBLISHABLE_KEY': publishKey
    }

    return render(request, 'carts/checkout.html', context)

Я хочу продлить

        if result.is_success or result.transaction:

этот метод для загрузки, а также

def upload(request, token):
        if result.is_success or result.transaction:
            model = CN
            form_class = uploadform    
            form = uploadform(request.POST or None, request.FILES or None)
            if form.is_valid():
                data = form.save()
                upload = form.cleaned_data['upload']
                client_need = form.cleaned_data['client_need']
                data.save()
            return render(request, 'sharing/upload.html', {"form": form})
        else:
            return redirect(request, 'sharing:index', context)

Но когда я использую метод, я получаю сообщение об ошибке

имя 'результат' не определено

Когда я запрашиваю способ оплаты

result = checkout(request)
if result.is_success or result.transaction:
        model = CN
        form_class = uploadform    
        form = uploadform(request.POST or None, request.FILES or None)
        if form.is_valid():

Я получаю сообщение об ошибке,

'HttpResponse' object has no attribute 'is_success'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...