【问题标题】:Razorpay payment button connection in djangodjango 中的 Razorpay 支付按钮连接
【发布时间】:2019-06-14 21:05:51
【问题描述】:

嘿,我正在尝试在 django 中制作捐赠网络应用程序,我从未在网关应用程序中工作过。

views.py

def payment_page(request):
    form = PaymentForm(request.POST or None)
    donation = request.POST.get('donation')
        try:
          donation = int(donation) * 100  # Note 1 Rs == 100 ps
          donation = str(donation)
        except TypeError: 
                donation = 100     
        #   If delete this you will TypeError Razorpay money should be greater than 1 ps 
    return render(request, 'mysite/payment_page.html', {'form':form, 'donation':donation})

我在 try 块中做了什么? 1 rs 等于 100ps,所以我将它与 100 相乘。如果我不使用 try 它会给我 typeError

payment_page.html

<div class="container">
    <div class="jumbotron">
        <form method="post">{% csrf_token %}
            {{ form.as_p }}
            <button type="submit" class="btn btn-danger">Donate</button>
        </form>     
    </div>
</div>


<form action="/purchase" method="POST">

     <!-- Note that the amount is in paise = 50 INR -->

<script
    src="https://checkout.razorpay.com/v1/checkout.js"
    data-key="rzp_test_VKwzQnRYkTmxEW"
    data-amount="{{ donation }}"
    data-buttontext="Pay"
    data-name="Merchant Name"
    data-description="Purchase Description"
    data-image=""
    data-prefill.email=" email "
    data-theme.color="blue"
></script>
<input type="hidden" value="Hidden Element" name="hidden">
</form>

它现在是如何工作的我在表格中输入姓名、捐赠金额、电子邮件点击捐赠它保存在数据库中的金额,然后我按支付显示金额,但我只想要一个可以同时完成这两项工作的按钮还是我做错了什么?

【问题讨论】:

    标签: python django razorpay


    【解决方案1】:

    不要使用 "{{donation }}" 它是 String 类型的 do {{donation }} 所以它将是 Integer 类型

    【讨论】:

    • 正在做“{{捐赠}}”使其成为字符串?当我传递捐赠数据并尝试打印其类型(在视图中)时,它会打印 这意味着表单以字符串的形式传递数据,对吗?如果我错了,请纠正我 forms.py-->> 捐赠 = forms.CharField(widget=forms.NumberInput(attrs={'class':'form-control'}))
    • 在向浏览器发送响应之前,Django 模板将在服务器端进行解析,您的支付网关实现是在 javascript 中,所以在 js 语句中 discount="100" 是字符串类型,其中 discount=100 是整数
    • 好吧,我试试金额={{ 捐赠 }} 它有效!但这不是我想要的。它使用两个按钮来显示(支付)和保存(捐赠)我可以制作或链接支付按钮与捐赠按钮,所以当我按下捐赠按钮时它会保存数据并显示它
    【解决方案2】:

    我知道我来晚了,但我会帮助别人 默认情况下,Razorpay 的脚本标签将包含一个我们无法删除但可以通过 css 修改 .razorpay-payment-button 的按钮

    【讨论】:

      猜你喜欢
      • 2021-02-23
      • 2017-12-16
      • 2021-05-04
      • 2021-05-11
      • 2020-11-25
      • 2020-07-28
      • 2022-11-18
      • 2020-09-26
      • 2023-04-05
      相关资源
      最近更新 更多