[英]Paytm UPI Smart intent integration in android
我已點擊此鏈接: https://developer.paytm.com/docs/upi-smart-intent/將 UPI 支付網關集成到我的 android 應用程序中。
我得到的錯誤是:
我已經搜索並嘗試了幾乎所有的鏈接,但沒有一個能解決我的問題。
以下是我的 android 代碼:
public void intializePayment(ReadableMap config, Callback successHandler, Callback failureHandler) {
this.successHandler = successHandler;
this.failureHandler = failureHandler;
String UPI = this.getUPIString(config.getString("vpa"),
config.getString("payeeName"),
config.getString("merchantID"),
config.getString("transactionID"),
config.getString("transactionRef"),
config.getString("transactionNote"),
config.getString("amount"),
config.getString("currency"));
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(UPI));
intent.setPackage(config.getString("pkgName"));
Context currentContext = getCurrentActivity().getApplicationContext();
if (intent != null) {
Intent chooser = Intent.createChooser(intent, "Choose a upi app");
if (isCallable(chooser, currentContext)) {
getCurrentActivity().startActivityForResult(chooser, REQUEST_CODE);
} else {
final JSONObject responseData = new JSONObject();
try {
responseData.put("message", "UPI supporting app not installed");
responseData.put("status", FAILURE);
} catch (JSONException e) {
e.printStackTrace();
}
this.failureHandler.invoke(gson.toJson(responseData));
}
}
}
private boolean isCallable(Intent intent, Context context) {
List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
}
@Override
public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
final JSONObject responseData = new JSONObject();
try {
if (requestCode == REQUEST_CODE) {
if (data == null) {
responseData.put("status", FAILURE);
responseData.put("message", "No action taken");
this.failureHandler.invoke(gson.toJson(responseData));
return;
}
Bundle bundle = data.getExtras();
if (data.getStringExtra("Status").equals("SUCCESS") || data.getStringExtra("Status").equals("Success") ) {
responseData.put("status", data.getStringExtra("Status"));
responseData.put("message", bundle.getString("response"));
this.successHandler.invoke(gson.toJson(responseData));
} else {
responseData.put("status", data.getStringExtra("Status"));
responseData.put("message", bundle.getString("response"));
this.failureHandler.invoke(gson.toJson(responseData));
}
} else {
return;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onNewIntent(Intent intent) {
}
}
請對“Paytm 開發者支持”提出疑問。 我們需要更多信息來檢查這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.