2017-02-10 3 views

Antwort

2

Sie es als null passieren kann. Es ist auch im Dokument erwähnt

inCertificate ist das Objekt, das Zertifikat Informationen hält. Geben Sie diese als null, wenn kein Client-Zertifikat durch den Händler (wie oben im Abschnitt Voraussetzung gegeben) verwendet wird

+0

Wenn ich null verwenden es zeigt ** Client-Zertifikat ** nicht gefunden wird, und stoppt in der Mitte der Transaktion als 'Kann nicht POST /' – jafarbtech

+0

können Sie nach Protokoll vollständige Fehler entdeckt? Das Hauptproblem, das Entwickler bekommen, wenn sie paytm Gateway integrieren, ist Hash-Problem –

+0

Was Sie gesagt haben, ist genau richtig. Und ich habe einen Fehler gemacht, indem ich eine falsche Handynummer (nicht 10 Ziffern) gesendet habe. In meinem Fall war das der Fehler. Irgendwelche Möglichkeiten, danke :) – jafarbtech

0

Ich schlage vor, Sie PGSDK 2.0 anstelle der alten Version zu verwenden, die erforderlich ist, kein Client-Seite Zertifikat

---------- 
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(); 
        } 



       }); 

} 
Verwandte Themen