razorpay - 剃刀支付:verify_payment
问题描述
根据 Razor 支付文件,您使用卡/钱包支付成功后,您需要验证支付。[https://razorpay.com/docs/payment-gateway/quick-integration/][1]
“这是一个强制性步骤,可让您确认返回到结帐表单的详细信息的真实性以成功付款。”
以下 python 代码已作为示例给出:
import razorpay
client = razorpay.Client(auth = ('<key_id>', '<key_secret>'))
params_dict = {
'razorpay_order_id': '12122',
'razorpay_payment_id': '332',
'razorpay_signature': '23233'
}
client.utility.verify_payment_signature(params_dict)
但我没有看到客户端对象没有名称为:实用程序的成员。我找不到任何好的工作样本。请为此步骤提供一些帮助。提前致谢!
解决方案
这就是我发现如何实例化实用程序类的方法。如果您转到 VSCode (F12) 中 razorpay.Client 的定义,您可以看到它导入了实用程序类。
现在,如果您转到实用程序类的定义,您可以看到它是如何启动的。
基于此,我想出了以下代码。注意 verify_payment_signature() 不返回任何值。但如果有任何问题,它会作为一个例外来。(例如:从输入中删除一个参数并再次执行)。
# Install from VSCode command line : >python -m pip install razorpay
import razorpay
# this is your account credentials got from the dash board
client = razorpay.Client(auth = ('rzp_test_xxx', 'yyy'))
# These values are got from Razor pay paymentUI response
params_dict = {
'razorpay_order_id': 'order_xxx',
'razorpay_payment_id': 'pay_yyy',
'razorpay_signature': 'zzzzz'
}
try:
util = razorpay.Utility(client)
util.verify_payment_signature(params_dict)
except Exception as e:
print("Unexpected error:", e)
推荐阅读
- javascript - 如何在下面的示例中使用 REGEX 捕获重复出现的数字
- php - 检查一个数组的值是否与另一个数组的键匹配 - PHP
- wso2 - 是否可以在 WSO2 微网关 3.1.0 中的资源上有多个拦截器?
- performance - 在 for 循环中分析时间复杂度
- c - 如何在c中更改Char数组值?
- c# - async/await 和访问者模式
- c# - 潜在优化的替代 linq 查询,用于在一组 Id 中查找不存在的记录
- python - Python如何将对象转换为时间戳
- django - 问题将 vue.js 前端与我的 django 后端集成
- ios - 斯威夫特 Xcode 11.4。将返回按钮添加到 TableView 导航项