UPI Deeplinking с IONIC на GooglePay не работает должным образом
Мы разработали мобильное приложение на базе IONIC для осуществления платежей в приложении с помощью UPI. Он использует плагин IONIC Native Web Intent. ab "@ionic-native/web-intent": "^4.14.0",
Это слой подкладки для механизма намерений Android, который выполняет веб-вызов для BHIM/PhonePe/GooglePay.
Он хорошо работает со всеми приложениями UPI, такими как BHIM, PhonePe. Но не работает с GooglePay. По какой-то причине с тем же кодом Google Pay возвращает значение NULL Intent в OnActivityResult(), даже несмотря на то, что платеж UPI выполнен успешно.
Я написал похожую функциональность в примере приложения для Android и попробовал оплатить через GooglePay, и он работает
Так что я сбит с толку. Я сделал отладку своего приложения IONIC, и именно там я обнаружил, что после успешной оплаты через GooglePay обратный вызов возвращается в Android, затем в Cordova и затем в мое приложение. Похоже, либо код Intent Android, либо код GooglePay отправляет нулевой Intent в приложение вызывающей стороны.
Ценю любые отзывы по этому вопросу.
Спасибо и теплые пожелания
Хареш Гуджаратхи
1 ответ
Ниже приведен код, который я использую в своем проекте Ionic для оплаты UPI в Android. Я могу получить ответ от 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(
successResponse => console.log(successResponse),
errorResponse => console.log(errorResponse)
);