从我的 Android 应用调用 Google Pay 意图时出现错误“您已超过银行设置的最大交易金额”
Posted
技术标签:
【中文标题】从我的 Android 应用调用 Google Pay 意图时出现错误“您已超过银行设置的最大交易金额”【英文标题】:Getting error "You have exceeded the maximum transaction amount set by your bank" when calling Google Pay intent from my android app 【发布时间】:2020-11-07 05:29:58 【问题描述】:我在 android 应用中集成 Google 支付时遇到了这个奇怪的问题。当我发送超过 2000 (INR) 的金额时,即使我没有交易任何金额,我也会收到错误消息“您已超过银行设置的最大交易金额”。当我尝试直接从 Google 支付金额时,它可以工作。它也适用于低于 2000 (INR) 的金额,但不会超过此金额。
这里是代码 iiiiii
val uri: Uri = Uri.Builder()
.scheme("upi")
.authority("pay")
.appendQueryParameter("pa", MY_UPI_ID)
.appendQueryParameter("pn", MY_USER_NAME)
//.appendQueryParameter("mc", "1234")
//.appendQueryParameter("tr", "123456789")
.appendQueryParameter("tn", "test transaction note")
.appendQueryParameter("am", "2500.00")
.appendQueryParameter("cu", "INR")
//.appendQueryParameter("url", "https://test.merchant.website")
.build()
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
intent.setPackage(GOOGLE_PAY_PACKAGE_NAME)
startActivityForResult(intent, PAY_REQUEST_CODE)
我已经阅读了很多博客、文档,但没有找到任何解决方案。有什么帮助或建议吗?
【问题讨论】:
您是否达到了本文档中提及的任何交易限制? upipayments.co.in/exceeded-maximum-transaction-limit 没有。即使这是我当天的第一笔交易,我也面临这个问题。 你找到解决办法了吗? 我输入的任何金额都面临这个问题,如果我在没有我的应用作为中介的情况下直接使用 Google Pay 付款,它可以工作。 您的银行对单笔交易的金额有限制吗?您说它适用于较小的金额,也许 Google Pay 的应用程序是“受信任的”,因此它们允许较大的付款。我在英国,我们对使用卡进行非接触式付款有 30 英镑的限制,但如果您使用 Google Pay 进行非接触式付款(使用同一张卡!)则没有限制,所以可能是这样吗?您可能应该与您的银行谈谈并询问 【参考方案1】:Uri uri = Uri.parse("upi://pay").buildUpon()
.appendQueryParameter("pa", upiId) // google pay business id
.appendQueryParameter("pn", name)
.appendQueryParameter("mc", "") /// 1st param - use it (it was commented on my earlier tutorial)
//.appendQueryParameter("tid", "02125412")
.appendQueryParameter("tr", "25584584") /// 2nd param - use it (it was commented on my earlier tutorial)
.appendQueryParameter("tn", note)
.appendQueryParameter("am", amount)
.appendQueryParameter("cu", "INR")
//.appendQueryParameter("refUrl", "blueapp")
.build();
你需要做两处修改。
-
仅使用 Google pay 企业应用 ID
在意图调用中使用“mc”和“tr”参数。
"mc" - 商户代码(可以为空)。 “tr” - 交易参考 id(可以是任何随机数)。 工作Reference Post here
【讨论】:
"mc" 可以为空 "tr" 强制可以解决问题,谢谢@Kamal。 你好@MohdQasim,你使用了商业应用ID吗? @JashanPJ 是的,我使用了企业 upi id,“mc”空白对我有用 如果是phonepe,收款人也需要一个企业帐户吗? @MohdQasim【参考方案2】:我已经解决了问题,请下载并安装 google pay for business,更改 MY_UPI_ID(pa) 并尝试我会工作
【讨论】:
以上是关于从我的 Android 应用调用 Google Pay 意图时出现错误“您已超过银行设置的最大交易金额”的主要内容,如果未能解决你的问题,请参考以下文章
如何从我的应用程序中打开标准的 Google Map 应用程序?
从 Android 以编程方式更改 Google Talk 在线状态
从我的 react-native 应用程序调用 UPI 应用程序在 iOS 中有效,但在 Android 中无效