2017-02-10 16 views
1

Я почти интегрированный paytm платежный шлюз со следующими this linkЧто такое сертификат на стороне клиента в интеграции платежных шлюзов paytm в android?

что сертификат на стороне клиента в paytm платежной интеграции шлюза? они упоминают, что это должно быть включено в необработанную папку. где я могу получить сертификат клиента ?

FYI: на стороне клиента сертификат не входит даже в the sample paytm integration app

ответ

2

Вы можете передать его в нуль. Упомянуто также в документе

inCertificate - это объект, в котором хранятся данные сертификата. Передайте это как нуль, если сертификат клиента не используются коммерсантом (как , приведенные выше в разделе Предпосылки)

+0

Если я использую нуль это показывает ** Клиентский сертификат не найден ** и останавливается в середине транзакции, как 'Может не POST /' – jafarbtech

+0

Можете ли вы опубликовать полный журнал ошибок? Основная проблема, которую разработчики получают во время интеграции шлюза paytm, - проблема хеша –

+0

То, что вы сказали, точно верно. И я сделал ошибку, отправив неправильный номер мобильного телефона (не 10 цифр). В моем случае это была ошибка. Любые способы спасибо :) – jafarbtech

0

Я предлагаю вам использовать PGSDK 2,0 вместо старой версии, которая не требуется какой-либо сторона сертификата клиента

---------- 
protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

PaytmButton.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       getPaytmWindow() ; 
      } 
     }); 
} 

} 


private void getPaytmWindow(String checksum) { 
//use PaytmPGService Service = PaytmPGService.getProductionService();in production// 

    PaytmPGService Service = PaytmPGService.getStagingService(); 


     //Kindly create complete Map and checksum on your server side and then put it here in paramMap. 

     Map<String, String> paramMap = new HashMap<String, String>(); 
     paramMap.put("MID", abc14146028455452"); 
     paramMap.put("ORDER_ID", "GTR6079"); 
     paramMap.put("CUST_ID", "1132"); 
     paramMap.put("INDUSTRY_TYPE_ID", "Retail"); 
     paramMap.put("CHANNEL_ID", "WAP"); 
     paramMap.put("TXN_AMOUNT", "76"); 
     paramMap.put("WEBSITE", "APP_STAGING"); 
     paramMap.put("EMAIL", "[email protected]"); 
     paramMap.put("MOBILE_NO", "7777777777"); 
     paramMap.put("CALLBACK_URL", "https://pguat.paytm.com/paytmchecksum/paytmCallback.jsp"); 
     paramMap.put("CHECKSUMHASH", "DkrZCCNCKS0h4IbLEk8HWqTClr6PCK/+Zh3xyW7fXfOsfHsmhmt3/wGx5pxgWrCSNCObPHyYFE3VJob0v7QQdkBFNyNAO7CR2+e2BiVgQpM="); 
     PaytmOrder Order = new PaytmOrder(paramMap); 


     Service.initialize(Order, 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. 
         Log.d("LOG123444", "someUIErrorOccurred : " + inErrorMessage); 
        } 

        @Override 
        public void onTransactionResponse(Bundle inResponse) { 
         Log.d("LOG123444", "Payment Transaction : " + inResponse); 

         if (inResponse.getString("STATUS").contains("TXN_SUCCESS")) 
         { 

          Toast.makeText(getApplicationContext(),"Transaction completed",Toast.LENGTH_LONG).show(); 
         } 


          Log.i("LOG123444", inResponse.getString("STATUS") ); 

//      Toast.makeText(getApplicationContext(), "Payment Transaction response " + inResponse.toString(), Toast.LENGTH_LONG).show(); 
        } 

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

        @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.i("LOG123444", "clientAuthenticationFailed " + inErrorMessage); 
        } 

        @Override 
        public void onErrorLoadingWebPage(int iniErrorCode, 
                 String inErrorMessage, String inFailingUrl) { 
         Log.i("LOG", "inErrorMessage " + inErrorMessage); 
         Log.i("LOG", "inFailingUrl " + inFailingUrl); 

        } 

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

        @Override 
        public void onTransactionCancel(String inErrorMessage, Bundle inResponse) { 
         Log.d("LOG", "Payment Transaction Failed " + inErrorMessage); 
         Toast.makeText(getBaseContext(), "Payment Transaction Failed ", Toast.LENGTH_LONG).show(); 
        } 



       }); 

}