#android
#Android
Вопрос:
payUsingUpi(«Раджив кумар», «радживкумар9570@oksbi», «платный тест», «1»);
пустота payUsingUpi( имя строки,строка upiId, строки, обратите внимание, строка сумму) { журнал.е(«главная «, «имя: » имя «, «УПИ»: » upiId «, Примечание: » Примечание » сумма: » сумма); Ури Ури = Ури.синтаксический анализ(«УПИ://оплата»).buildUpon() .appendQueryParameter(«па», upiId) .appendQueryParameter(«пн», имя) //.appendQueryParameter(«МК», «») //.appendQueryParameter(«Тид», «02125412») //.appendQueryParameter(«тр», «25584584») .appendQueryParameter(«Теннесси», к сведению) .appendQueryParameter(«ам», сумма) .appendQueryParameter(«КР», «МНО») //.appendQueryParameter(«refUrl», «blueapp») .построить(); upiPayIntent намерение = новое намерение(умысел.ACTION_VIEW); upiPayIntent.setData(uri); // всегда будет отображаться диалоговое окно для пользователя, чтобы выбрать средство выбора намерения приложения = Intent.createChooser(upiPayIntent, «Оплатить»); // проверьте, разрешено ли намерение, если(null != chooser.resolveActivity(getPackageManager())) { startActivityForResult(выбор,0); } другое { Тост.makeText(PaymentActivity.this,»Приложение UPI не найдено, пожалуйста, установите один, чтобы продолжить», Тост.LENGTH_SHORT).show(); } //upiPayIntent.setPackage(ИМЯ ПАКЕТА GOOGLE_PAY_PACKAGE_NAME); //startActivityForResult(upiPayIntent, КОД ЗАПРОСА GOOGLE_PAY_); }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.e("main ", "response resultCode : " resultCode ); Log.e("main ", "response requestCode : " requestCode ); Log.e("main ", "data : " data ); switch (requestCode) { case UPI_PAYMENT: if ((RESULT_OK == resultCode) || (resultCode == 11)) { if (data != null) { String trxt = data.getStringExtra("response"); Log.e("UPI", "onActivityResult: " trxt); ArrayListlt;Stringgt; dataList = new ArrayListlt;gt;(); dataList.add(trxt); upiPaymentDataOperation(dataList); } else { Log.e("UPI", "onActivityResult: " "Return data is null"); ArrayListlt;Stringgt; dataList = new ArrayListlt;gt;(); dataList.add("nothing"); upiPaymentDataOperation(dataList); } } else { //when user simply back without payment Log.e("UPI", "onActivityResult: " "Return data is null"); ArrayListlt;Stringgt; dataList = new ArrayListlt;gt;(); dataList.add("nothing"); upiPaymentDataOperation(dataList); } break; } } private void upiPaymentDataOperation(ArrayListlt;Stringgt; data) { if (isConnectionAvailable(PaymentActivity.this)) { String str = data.get(0); Log.e("UPIPAY", "upiPaymentDataOperation: " str); String paymentCancel = ""; if(str == null) str = "discard"; String status = ""; String approvalRefNo = ""; String response[] = str.split("amp;"); for (int i = 0; i lt; response.length; i ) { String equalStr[] = response[i].split("="); if(equalStr.length gt;= 2) { if (equalStr[0].toLowerCase().equals("Status".toLowerCase())) { status = equalStr[1].toLowerCase(); } else if (equalStr[0].toLowerCase().equals("ApprovalRefNo".toLowerCase()) || equalStr[0].toLowerCase().equals("txnRef".toLowerCase())) { approvalRefNo = equalStr[1]; } } else { paymentCancel = "Payment cancelled by user."; } } if (status.equals("success")) { //Code to handle successful transaction here. Toast.makeText(PaymentActivity.this, "Transaction successful.", Toast.LENGTH_SHORT).show(); Log.e("UPI", "payment successfull: " approvalRefNo); } else if("Payment cancelled by user.".equals(paymentCancel)) { Toast.makeText(PaymentActivity.this, "Payment cancelled by user.", Toast.LENGTH_SHORT).show(); Log.e("UPI", "Cancelled by user: " approvalRefNo); } else { Toast.makeText(PaymentActivity.this, "Transaction failed.Please try again", Toast.LENGTH_SHORT).show(); Log.e("UPI", "failed payment: " approvalRefNo); } } else { Log.e("UPI", "Internet issue: "); Toast.makeText(PaymentActivity.this, "Internet connection is not available. Please check and try again", Toast.LENGTH_SHORT).show(); } } public static boolean isConnectionAvailable(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo(); if (netInfo != null amp;amp; netInfo.isConnected() amp;amp; netInfo.isConnectedOrConnecting() amp;amp; netInfo.isAvailable()) { return true; } } return false; }