来自 Ionic3 的 UPI 深度链接在 Android 上不起作用

UPI deep linking from Ionic3 is not working on Android

我正在使用这个:

options=
{ action:this.webIntent.ACTION_VIEW, url:"upi://pay?pa=xxx@upi&pn=Name&tid=TID4587445785&tr=Product Purchase&am=100&cu=INR&tn=Purchase&mc=< my mc code >" };

this.webIntent.startActivityForResult(options)

但是,它因以下错误而失败:

Google 支付错误 limit exceed

paytm 错误 payee-mcc length invalid

Bhim 错误 Payee.code numeric of length 4

找不到解决方案。感谢任何帮助。

@rajib ,

仅提供 4 位商户代码。这就是导致问题的原因

如下所示创建您的 uri :

val paymentUri = Uri.Builder().apply {
        with(payment) {
            scheme("upi").authority("pay")
            appendQueryParameter("pa", vpa)
            appendQueryParameter("pn", name)
            appendQueryParameter("tid", txnId)
            appendQueryParameter("mc", merchantId)
            appendQueryParameter("tr", txnRefId)
            appendQueryParameter("tn", description)
            appendQueryParameter("am", amount)
            appendQueryParameter("cu", currency)
            appendQueryParameter("mcc", payeeMerchantCode)
        }
    }.build()

    // Set Data Intent
    val paymentIntent = Intent(Intent.ACTION_VIEW).apply {
        data = paymentUri

    }
val appChooser = Intent.createChooser(paymentIntent, "Pay using")
if (paymentIntent.resolveActivity(packageManager) != null) {
        startActivityForResult(appChooser, PAYMENT_REQUEST)
    } else {
        Toast.makeText(
            this,
            "No UPI app found! Please Install to Proceed!",
            Toast.LENGTH_SHORT).show()
        throwOnAppNotFound()
    }

这里的 mc 或 merchantId 必须是 4 位数字,而 payeeMerchantCode 是你在这些 psps 上的帐户时得到的