如何解决Razorpay Web API 验证步骤
在 Razorpay Web API 文档中,如果成功付款,结帐表单将返回三项内容,即 razorpay_order_id,razorpay_payment_id
和 razorpay_signature
。为了验证,我们需要从 order_id
(我们从订单创建中获得),razorpay_payment_id
和 key_secret
生成一个签名,我们从仪表板中获得。如果生成的签名和 razorpay_signature
匹配,则验证付款。我的问题是我们在这里验证什么(如果跳过这一步会发生什么?,即这一步的目的),而且我认为如果付款成功,那么我们得到的 razorpay_order_id
将与 {{ 1}}。为什么我们不只比较 order_id 和 order_id
?
解决方法
这是一个强制性步骤,可让您确认返回到结帐表单以成功付款的详细信息的真实性。
这个想法不仅仅是比较 orderId,因为 orderId 是 UI 的一部分,并且在视图源中可见。
比如说,我们只需要 orderId 和 paymentId。
黑客随机生成一个支付id,并使用orderId(源代码可见)和paymentId触发支付成功回调。我们如何在这里确定 paymentId 是有效的?
如果您在服务器上生成的签名与结帐表单返回给您的 razorpay_signature 匹配,则收到的付款来自真实来源。
当我们验证签名时,我们能够确定这是来自 Razorpay 服务器的有效回调
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。