剃刀支付:verify_payment

Razor Pay : verify_payment

根据 Razor 支付文档,您使用 Card/Wallet 支付成功后,您需要验证支付。 [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)

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

这就是我发现如何实例化实用程序的方式 class。 如果您转到 VSCode (F12) 中 razorpay.Client 的定义,您可以看到它导入了实用程序 class。

现在,如果您转到实用程序的定义 class,您会看到如何启动它。

基于此,我想出了以下代码。请注意 verify_payment_signature() 没有 return 任何值。但如果有什么问题,就会破例而来。 (例如:从输入中删除一个参数并再次执行)。

# 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)