首页 > 解决方案 > 剃刀支付: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)

但我没有看到客户端对象没有名称为:实用程序的成员。我找不到任何好的工作样本。请为此步骤提供一些帮助。提前致谢!

标签: razorpay

解决方案


这就是我发现如何实例化实用程序类的方法。如果您转到 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)

推荐阅读