2017-01-09 43 views
-3

嗨我想整合paytm,我做了一个Paytm的样本。 我已经在paytm上创建了我的开发人员帐户,并获得了应用凭据,商家详细信息等。但它似乎不起作用。它显示错误:Oops! Session expired due to inctivity our system encounted an obstacle。请给我看看步骤。这里是我的代码Paytm钱包集成Android

public void onStartTransaction(View view) { 
    PaytmPGService Service = PaytmPGService.getStagingService(); 
    Map<String, String> paramMap = new HashMap<String, String>(); 

    // these are mandatory parameters 

    paramMap.put("ORDER_ID", ((EditText) findViewById(R.id.order_id)).getText().toString()); 
    paramMap.put("MID", ((EditText) findViewById(R.id.merchant_id)).getText().toString()); 
    paramMap.put("CUST_ID", ((EditText) findViewById(R.id.customer_id)).getText().toString()); 
    paramMap.put("CHANNEL_ID", ((EditText) findViewById(R.id.channel_id)).getText().toString()); 
    paramMap.put("INDUSTRY_TYPE_ID", ((EditText) findViewById(R.id.industry_type_id)).getText().toString()); 
    paramMap.put("WEBSITE", ((EditText) findViewById(R.id.website)).getText().toString()); 
    paramMap.put("TXN_AMOUNT", ((EditText) findViewById(R.id.transaction_amount)).getText().toString()); 
    paramMap.put("THEME", ((EditText) findViewById(R.id.theme)).getText().toString()); 
    paramMap.put("EMAIL", ((EditText) findViewById(R.id.cust_email_id)).getText().toString()); 
    paramMap.put("MOBILE_NO", ((EditText) findViewById(R.id.cust_mobile_no)).getText().toString()); 
    PaytmOrder Order = new PaytmOrder(paramMap); 

    PaytmMerchant Merchant = new PaytmMerchant(
      "https://pguat.paytm.com/paytmchecksum/paytmCheckSumGenerator.jsp", 
      "https://pguat.paytm.com/paytmchecksum/paytmCheckSumVerify.jsp"); 

    Service.initialize(Order, Merchant, null); 

    Service.startPaymentTransaction(this, true, true, 
      new PaytmPaymentTransactionCallback() { 
       @Override 
       public void someUIErrorOccurred(String inErrorMessage) { 
        // Some UI Error Occurred in Payment Gateway Activity. 
        // // This may be due to initialization of views in 
        // Payment Gateway Activity or may be due to // 
        // initialization of webview. // Error Message details 
        // the error occurred. 
       } 

       @Override 
       public void onTransactionSuccess(Bundle inResponse) { 
        // After successful transaction this method gets called. 
        // // Response bundle contains the merchant response 
        // parameters. 
        Log.e("LOG", "Payment Transaction is successful " + inResponse); 
        Toast.makeText(getApplicationContext(), "Payment Transaction is successful ", Toast.LENGTH_LONG).show(); 
       } 

       @Override 
       public void onTransactionFailure(String inErrorMessage, 
         Bundle inResponse) { 
        // This method gets called if transaction failed. // 
        // Here in this case transaction is completed, but with 
        // a failure. // Error Message describes the reason for 
        // failure. // Response bundle contains the merchant 
        // response parameters. 
        Log.e("LOG", "Payment Transaction Failed " + inErrorMessage); 
        Toast.makeText(getBaseContext(), "Payment Transaction Failed ", Toast.LENGTH_LONG).show(); 
       } 

       @Override 
       public void networkNotAvailable() { // If network is not 
                // available, then this 
                // method gets called. 

        Log.e("LOG", "Payment Transaction Network Not Available !!!!!!!~~~~~~~~~"); 
       } 

       @Override 
       public void clientAuthenticationFailed(String inErrorMessage) { 
        // This method gets called if client authentication 
        // failed. // Failure may be due to following reasons // 
        // 1. Server error or downtime. // 2. Server unable to 
        // generate checksum or checksum response is not in 
        // proper format. // 3. Server failed to authenticate 
        // that client. That is value of payt_STATUS is 2. // 
        // Error Message describes the reason for failure. 

        Log.e("LOG", "~~~~~~~~~~~~~ Payment Transaction Client Auth Failed ~~~~~~~~~" + inErrorMessage); 
       } 

       @Override 
       public void onErrorLoadingWebPage(int iniErrorCode, 
         String inErrorMessage, String inFailingUrl) { 

       } 

       // had to be added: NOTE 
       @Override 
       public void onBackPressedCancelTransaction() { 
        // TODO Auto-generated method stub 
       } 

      }); 
} 

请检查logcat的响应: -

 INDUSTRY_TYPE_ID=Retail&CHANNEL_ID=WAP&CHECKSUMHASH=Y1gNn%2BSaRMBSkv8WKLHGO0lchmnAqL10YeRZGQkYQv02iIfCa6qeoKZpAhJh8%2BTVP1uXvZuB5PnwM6AZe3LJ4q9oIB%2B1voaX7vjc%2FmjGg%2B4%3D&MOBILE_NO=pawan3&TXN_AMOUNT=1&MID=Bright17797484586497&EMAIL=pawandeepkaurkalsi%40gmail.com&THEME=merchant&payt_STATUS=1&CUST_ID=CUST23657&WEBSITE=BrightRootsPaytm&ORDER_ID=ORDER100004939 
01-09 17:44:01.953 14201-14201/com.example.merchantapp I/cr_Ime: ImeThread is enabled. 
01-09 17:44:01.954 14201-16142/com.example.merchantapp W/cr_media: Requires BLUETOOTH permission 
01-09 17:44:02.009 14201-14201/com.example.merchantapp D/PGSDK: Page started loading https://pguat.paytm.com/oltp-web/processTransaction 
01-09 17:44:02.011 14201-14201/com.example.merchantapp D/PGSDK: Progress dialog started 
01-09 17:44:02.033 14201-16176/com.example.merchantapp E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY) 
01-09 17:44:02.063 14201-16176/com.example.merchantapp W/VideoCapabilities: Unrecognized profile/level 32768/2 for video/mp4v-es 
01-09 17:44:02.063 14201-16176/com.example.merchantapp I/VideoCapabilities: Unsupported profile 8 for video/mp4v-es 
01-09 17:44:02.063 14201-16176/com.example.merchantapp I/VideoCapabilities: Unsupported profile 8 for video/mp4v-es 
01-09 17:44:02.063 14201-16176/com.example.merchantapp I/VideoCapabilities: Unsupported profile 8 for video/mp4v-es 
01-09 17:44:02.063 14201-16176/com.example.merchantapp I/VideoCapabilities: Unsupported profile 8 for video/mp4v-es 
01-09 17:44:02.064 14201-16176/com.example.merchantapp I/VideoCapabilities: Unsupported profile 8 for video/mp4v-es 
01-09 17:44:02.064 14201-16176/com.example.merchantapp I/VideoCapabilities: Unsupported profile 8 for video/mp4v-es 
01-09 17:44:02.100 14201-16176/com.example.merchantapp I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es 
01-09 17:44:02.783 14201-14201/com.example.merchantapp W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 14201 
01-09 17:44:03.145 14201-14201/com.example.merchantapp E/chromium: [ERROR:interface_registry.cc(99)] Failed to locate a binder for interface: autofill::mojom::AutofillDriver 
01-09 17:44:04.293 14201-14201/com.example.merchantapp D/PGSDK: Page finished loading https://pguat.paytm.com/oltp-web/processTransaction 
01-09 17:44:04.294 14201-14201/com.example.merchantapp D/PGSDK: Progress dialog ended 
+0

把你的错误日志和提哪一种方法返回该错误以及 – Stallion

+0

确保你没有用过督促环境,而不是某个地方上演。 – Rohit5k2

+0

@ Rohit5k2检查logcat请 –

回答

0

请遵循整合paytm步骤。

步骤如下。 1.从http://paywithpaytm.com/developer/#web_pluginhttps://github.com/Paytm-Payments/Paytm_Android_App_Kit

下载PGSDK库。2.客户端证书(可选:由PAYTM Web提供)。 客户端证书的密码。 (可选:由PAYTM Web提供)。 在原始文件夹内添加客户端证书文件。如果原始文件夹不存在,则在“res”文件夹内创建原始文件夹。

3.将INTERNET和ACCESS_NETWORK_STATE权限添加到您的AndroidManifest.xml中。这两个权限是PGSDK服务运行所必需的。 AndroidManifest.xml

4.在您的AndroidManifest.xml中添加PaytmPGActivity,此活动已存在于PGSDK中。此活动执行所有与交易相关的信息并为您提供回调。

关注这个link 希望这有助于:)

+0

你为什么粘贴重复的内容?更好地评论你从哪里复制[原创内容]的链接(http://www.tothenew.com/blog/integrating-paytm-wallet-sdk-in-android-application/)! – Piyush

+0

好的抱歉说服。 –