Android Studio 从我的Android应用程序调用Google Pay intent时,出现错误“您已超过银行设置的最大交易金额”

s71maibg  于 2022-11-16  发布在  Android
关注(0)|答案(2)|浏览(137)

我面临着这个奇怪的问题与我的谷歌支付集成在Android应用程序。当我发送的金额超过2000(印度卢比)我收到错误消息“您已超过银行设置的最大交易金额”,尽管我没有交易任何金额。当我尝试直接从Google支付发送金额时,它工作正常。它也适用于2000以下的金额(INR),但不能超过此值。
这里是代码iii

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)

我看了很多博客,文档,但没有找到任何解决办法。有什么帮助或建议吗?

nxagd54h

nxagd54h1#

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();

您需要做两个修改。
1.仅使用Google Pay商业应用程序ID
1.在意图调用中使用“mc”和“tr”参数。
“mc”-商户代码(可以为空)。“tr”-交易参考id(可以为任意随机数)。工作Reference Post here

smtd7mpg

smtd7mpg2#

我已经解决了这个问题,请下载并安装谷歌支付的业务,改变我的_UPI_ID(pa),并尝试我会的作品

相关问题