Ошибка NameE в / checkout / payment / name 'client' не определена при интеграции платежей через razorpay - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь внедрить интеграцию платежей RazorPay в моем проекте django, но я не могу понять поток платежного шлюза. Я получаю следующую ошибку. Пожалуйста, помогите мне.

введите описание изображения здесь

Исходный код метода просмотра и форма заказа ниже.

views.py

    def payment(request):
        order = Order.objects.get(user=request.user, ordered=False)
        amount = int(order.get_totals() * 100)
        print(amount)
        if request.method == 'POST':
            charge = client.order.create(amount=amount,
                                                  currency='INR',
                                                  receipt=order)
            # Create the Payment
            payment = Payment()
            payment.razorpay_order_ID = charge['id']
            payment.user = request.user
            payment.amount = int(order.get_totals() * 100)
            payment.save()
        else:
            # order = Order.objects.get(user=request.user, ordered=False)
            # context = {
            #     'order': order
            # }
            return render(request, 'checkout-form.html')
        return redirect('checkout:payment/')

Форма оформления заказа. html

    <div class="col-md-6">
                                <form action="{% url 'checkout:payment'%}" method="POST">
                                    {% csrf_token %}
                                    <script src="https://checkout.razorpay.com/v1/checkout.js"></script>
                                    <h3>Payment</h3>
                                    <label for="fname">Accepted Cards</label>
                                    <div class="icon-container">
                                        <i class="fa fa-cc-visa" style="color:navy;"></i>
                                        <i class="fa fa-cc-amex" style="color:blue;"></i>
                                        <i class="fa fa-cc-mastercard" style="color:red;"></i>
                                        <i class="fa fa-cc-discover" style="color:orange;"></i>
                                    </div>

                                    <label for="cname">Name on Card</label>
                                    <input type="text" id="cname" name="cardname" placeholder="John More Doe">

                                    <label for="ccnum">Credit card number</label>
                                    <input type="text" id="ccnum" name="cardnumber" placeholder="1111-2222-3333-4444">

                                    <label for="expmonth">Exp Month</label>
                                    <input type="text" id="expmonth" name="expmonth" placeholder="September">

                                    <div class="row">
                                        <div class="col-md-6">
                                            <label for="expyear">Exp Year</label>
                                            <input type="text" id="expyear" name="expyear" placeholder="2018">
                                        </div>
                                        <div class="col-md-6">
                                            <label for="cvv">CVV</label>
                                            <input type="text" id="cvv" name="cvv" placeholder="352">
                                        </div>
                                    </div>

                                    <div class="row">
                                        <div class="col-md-6">
                                            <input type="submit" value="Pay" class="btn btn-primary br-tr-3  br-br-3">
                                        </div>
                                    </div>
                                   <input type="hidden" custom="Hidden Element" name="hidden">
                                </form>
                            </div>
...