0

我们开发了一个基于 IONIC 的移动应用程序来使用 UPI 执行应用程序内支付。它使用 IONIC Native Web Intent 插件。ab "@ionic-native/web-intent": "^4.14.0",

这是 Android Intent 机制的 shim 层,用于对 BHIM/PhonePe/GooglePay 进行 Web Intent 调用

它适用于所有 UPI 应用程序,如 BHIM、PhonePe。但不适用于 GooglePay,由于某些原因使用相同的代码,即使 UPI 付款成功, Google Pay 也会向 OnActivityResult() 返回 NULL Intent 。

  1. 我在一个示例Native Android 应用程序中编写了类似的功能,并尝试使用 GooglePay 付款,它可以工作

  2. 所以我很困惑。我确实调试了我的 IONIC 应用程序,这就是我发现在 GooglePay 付款成功后,回调返回到 Android,然后返回到 Cordova,然后返回到我的应用程序。似乎 Android 的 Intent 代码或 GooglePay 代码正在向调用者应用发送 null Intent。

感谢您对此的任何反馈。

谢谢你和热烈的问候

哈雷什古吉拉特语

4

1 回答 1

3

下面是我在 Ionic 项目中使用的代码,用于在 Android 中进行 UPI 支付。我能够从 Google Pay 获得回复。我已经用 Paytm、Whatsapp 和 Google pay 对此进行了测试。

// I'm using this to open the app user has choosen to pay with
private packages = {
  'paytm': 'net.one97.paytm',
  'google': 'com.google.android.apps.nbu.paisa.user',
  'whatsapp': 'com.whatsapp'
};
// Deep link URL
const url = 'upi://pay?pa=<UPI ID>&pn=<Payee name>&tr=<Transaction ID>&tn=<id>&am=<amount>&cu=INR';
// Deep link options
const options = {
  action: this.webIntent.ACTION_VIEW,
  url,
  package: this.packages[serviceName]
};
// Open the intent with options
this.webIntent.startActivityForResult(options).then(console.log, console.error);
于 2018-11-15T14:11:38.167 回答