使用 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)验证付款是不是实际完成的主要内容,如果未能解决你的问题,请参考以下文章

网络上的 UPI 付款响应

在 Flutter 的底部工作表中集成 Google Pay

如何通过android java发送google pay“请求”,如amazon bhim pay在线支付

从我的 react-native 应用程序调用 UPI 应用程序在 iOS 中有效,但在 Android 中无效

使用超链接集成 UPI 后如何获得响应

使用 URL 方案的 Google Pay UPI 集成 - iOS