簡體   English   中英

android中的Paytm UPI智能意圖集成

[英]Paytm UPI Smart intent integration in android

我已點擊此鏈接: https://developer.paytm.com/docs/upi-smart-intent/將 UPI 支付網關集成到我的 android 應用程序中。

我得到的錯誤是:

  1. Paytm:“此賬戶不允許使用此付款方式”
  2. PhonePe:“出於安全原因,您不能將金額轉移到這家銀行......”
  3. Gpay:'超出最大限制......'

我已經搜索並嘗試了幾乎所有的鏈接,但沒有一個能解決我的問題。

以下是我的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM