使用 UPI(具体为 GooglePay)验证付款是不是实际完成
Posted
技术标签:
【中文标题】使用 UPI(具体为 GooglePay)验证付款是不是实际完成【英文标题】:Verify payment is actually completed using UPI (GooglePay specifically)使用 UPI(具体为 GooglePay)验证付款是否实际完成 【发布时间】:2020-08-25 15:22:20 【问题描述】:这与印度的 UPI 支付系统有关。
我正在使用https://developers.google.com/pay/india/api/android/in-app-payments 的示例代码来启动 Google Pay 应用以进行 UPI 付款。 一切正常。
我担心的是:
由于这一切都在客户端(移动应用程序),用户(比如黑客)可能会生成随机响应值并调用服务器 URL 来告诉服务器支付成功。 我怎样才能防止这种情况发生?我怎样才能确保实际付款?在提供的示例中,有一个查询参数"url"
,谷歌的服务器是否调用这个URL来更新支付状态?
我试过了,但什么也没发生(我创建了一个页面,将页面 URL (Request.RawUrl
) 保存在一个文本文件中,但在付款时该页面没有被调用)。
可能是 Google 确实调用了这个 URL(我错过了一些东西),也可能不是;任何人都可以确认。
重复:我的实际问题是如何防止黑客欺骗服务器以使付款成功。
注意:这是我的第一个应用程序,因此银行还没有准备好提供 API/UPI 集成。
Paytm 提供了一个 API 来检查交易状态,所以这不是问题。
如果不是直接的解决方案,任何方法都可以,只要它可以阻止我手动检查银行对帐单。
TIA。
【问题讨论】:
您在哪里获得了用于检查 upi 交易状态的 paytm api?请分享。 【参考方案1】:我们正在为我们的一位客户实施 UPI 付款并实现了同样的问题。
我们尚未尝试使用 Secure Intent 来解决此问题。根据 NPCI 文档,签名内容可以通过 URI 传递,但不知道响应是否还包含签名信息以验证其是否已完成。如果有效,我们有办法使其安全..
【讨论】:
Secure Intent 无法在后端验证付款;(以上是关于使用 UPI(具体为 GooglePay)验证付款是不是实际完成的主要内容,如果未能解决你的问题,请参考以下文章
在 Flutter 的底部工作表中集成 Google Pay
如何通过android java发送google pay“请求”,如amazon bhim pay在线支付