2017-01-09 42 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

好的抱歉說服。 –