You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django集成Razorpay支付网关无法获取order_amount报错寻求解决方案

错误原因

你遇到的类型报错核心原因是调用类方法时未添加括号:Python中直接写order.get_total获取到的是方法对象本身,而非方法执行后返回的总金额数值,自然无法直接和整数100做乘法运算。

修复方案
  • 只需修改views.py中计算order_amount的代码,给方法加上调用括号即可:
# 修改前
order_amount = order.get_total * 100
# 修改后
order_amount = order.get_total() * 100
  • 如果你要使用model里定义的另一个get_amount方法,写法逻辑一致,也需要加括号:
order_amount = order.get_amount() * 100
补充注意点

你当前将金额乘以100的逻辑符合Razorpay的规则(印度卢比的最小单位为派萨,1卢比=100派萨),无需调整。另外可以额外确认下OrderItem模型的get_final_price方法返回值为合法的数值类型,避免后续出现其他计算异常。

内容的提问来源于stack exchange,提问作者XanCreator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:24:03