Paytm Payment Integration : Encryption Class Cast ExceptionPaytm Payment Integration : Encryption Class Cast Exceptionhttps://liferay.dev/en/c/message_boards/find_thread?p_l_id=119785333&threadId=1188169912024-03-29T11:54:05Z2024-03-29T11:54:05ZRE: Paytm Payment Integration : Encryption Class Cast ExceptionMohammed Yasinhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188234072020-03-30T06:33:17Z2020-03-30T06:33:17ZHi ,<br />I guess this has to do with conflict in transitive dependency, may be you need to exclude some dependency,<br /><a href="https://discuss.gradle.org/t/how-do-i-exclude-specific-transitive-dependencies-of-something-i-depend-on/17991/6">https://discuss.gradle.org/t/how-do-i-exclude-specific-transitive-dependencies-of-something-i-depend-on/17991/6</a>Mohammed Yasin2020-03-30T06:33:17ZPaytm Payment Integration : Encryption Class Cast ExceptionPurvesh Kachhiyahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188169902020-03-28T06:18:02Z2020-03-28T06:18:02Z<blockquote>Hello,<br />In my project I have option payment throughout paytm gateway.For that I am using paytm standard checkout. <br /><a href = " https://developer.paytm.com/docs/v1/payment-gateway/"> https://developer.paytm.com/docs/v1/payment-gateway/</a><br /><br />My bnd.bnd <br /><br /> Bundle-ClassPath:\<br /> .,\<br /> libs/javax-crypto.jar,\<br /> <br /> -includeresource:\<br /> @PaytmChecksum.jar,\<br /> @ibmjceprovider-1.jar,\<br /> @cryptix32-3.2.0.jar,\<br /> @bcprov-ext-jdk15to18-164.jar,\<br /><br /><br /><br />My Gradle Properties : <br /><br /> compile fileTree(dir: &#039;libs&#047;&#039;, include: &#039;*.jar&#039;)<br /> compileInclude name: &#039;paytm-checksum-1.1&#039;<br /> compile name: &#039;cryptix32-3.2.0&#039;<br /> compileInclude name: &#039;ibmjceprovider-1&#039;<br /> compile name: &#039;bcprov-ext-jdk15to18-164&#039;<br /> compileInclude name : &#034;bouncycastle-1.20&#034;<br /> <br />Code for generate checksum.<br />TreeMap<String,String> reqMap = new TreeMap<String,String>();<br /> reqMap.put("MID", "MID");<br /> reqMap.put("ORDER_ID", "ORD01");<br /> reqMap.put("CUST_ID","100");<br /> reqMap.put("TXN_AMOUNT", "1");<br /> reqMap.put("CHANNEL_ID", "CHANNEL_ID");<br /> reqMap.put("INDUSTRY_TYPE_ID", "INDUSTRY_TYPE_ID");<br /> reqMap.put("WEBSITE","DEFAULT");<br /> reqMap.put("MOBILE_NO", "1234567890");<br /> reqMap.put("EMAIL", "asdf@asdf.com");<br /> reqMap.put("CALLBACK_URL", "http://localhost:8080");<br /> String checkSum = getCheckSumPayTm(reqMap);<br />private static String getCheckSumPayTm(TreeMap<String, String> reqMap){<br /> <br /> CheckSumServiceHelper checkSumServiceHelper = CheckSumServiceHelper.getCheckSumServiceHelper();<br /> String checksumSeed = "CHECKSUM_KEY";<br /> System.out.println("checksumseed : " + checksumSeed);<br /> String checksum = null;<br /> try {<br /> checksum = checkSumServiceHelper.genrateCheckSum(checksumSeed, reqMap.toString());<br /> System.out.println("PAYTM CHECKSUM ================== " + checksum);<br /> } catch (Exception e) {<br /> e.printStackTrace();<br /> System.out.println("error :" + e.getMessage());<br /> }<br /> return checksum;<br /> }<br />}<br /><br />I am getting below class cast exception.<br /><br />java.lang.ClassCastException: com.sun.crypto.provider.AESCipher$General cannot be cast to javax.crypto.CipherSpi<br /> at javax.crypto.Cipher.getInstance(Cipher.java:286)<br /> at com.paytm.pg.crypto.AesEncryption.encrypt(AesEncryption.java:19)<br /> at com.paytm.pg.merchant.CheckSumServiceHelper.genrateCheckSum(CheckSumServiceHelper.java:425)<br /> at com.ifl.payment.management.util.PaymentServiceUtil.getCheckSumPayTm(PaymentServiceUtil.java:317)<br /> at com.ifl.payment.management.util.PaymentServiceUtil.getPayTMMesg(PaymentServiceUtil.java:271)<br /> at com.ifl.payment.management.util.PaymentManagementUtil.onlinePaymentGateWay(PaymentManagementUtil.java:171)<br /> at com.ifl.payment.management.web.PaymentManagementPortlet.gatewaySelectionForm(PaymentManagementPortlet.java:161)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br /> at java.lang.reflect.Method.invoke(Method.java:498)<br /> at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:174)<br /> at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:415)<br /> at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:88)<br /> at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:260)<br /> at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:77)<br /> at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:50)<br /> at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:115)<br /> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)<br /> at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)<br /> at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)<br /> at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120)<br /> at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)<br /> at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java:589)<br /> at com.liferay.portlet.internal.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:632)<br /> at com.liferay.portlet.internal.InvokerPortletImpl.processAction(InvokerPortletImpl.java:304)<br /> at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.processAction(MonitoringInvokerPortlet.java:213)<br /> at com.liferay.portlet.internal.PortletContainerImpl._processAction(PortletContainerImpl.java:521)<br /> at com.liferay.portlet.internal.PortletContainerImpl.lambda$processAction$0(PortletContainerImpl.java:150)<br /> at com.liferay.portlet.internal.PortletContainerImpl._preserveGroupIds(PortletContainerImpl.java:425)<br /> at com.liferay.portlet.internal.PortletContainerImpl.processAction(PortletContainerImpl.java:143)<br /> at com.liferay.portlet.SecurityPortletContainerWrapper.processAction(SecurityPortletContainerWrapper.java:93)<br /> at com.liferay.portlet.RestrictPortletContainerWrapper.processAction(RestrictPortletContainerWrapper.java:76)<br /> at com.liferay.portal.kernel.portlet.PortletContainerUtil.processAction(PortletContainerUtil.java:118)<br /> at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:346)<br /> at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:170)<br /> at com.liferay.portal.struts.PortalRequestProcessor._process(PortalRequestProcessor.java:415)<br /> at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:155)<br /> at com.liferay.portal.internal.servlet.MainServlet.doPost(MainServlet.java:215)<br /> at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)<br /> at com.liferay.portal.internal.servlet.MainServlet.service(MainServlet.java:622)<br /> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)<br /> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)<br /> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br /> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)<br /> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)<br /> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)<br /> at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:62)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:357)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:182)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:104)<br /> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)<br /> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br /> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)<br /> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)<br /> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)<br /> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)<br /> at com.liferay.friendly.url.internal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:409)<br /> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)<br /> at com.liferay.portal.servlet.ServletAdapter.service(ServletAdapter.java:99)<br /> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)<br /> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)<br /> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br /> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)<br /> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)<br /> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:368)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:62)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:357)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:87)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:264)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:268)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)<br /> at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:182)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)<br /> at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)<br /> at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)<br /> at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)<br /> at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)<br /> at com.liferay.portal.servlet.filters.urlrewrite.UrlRewriteFilter.processFilter(UrlRewriteFilter.java:65)<br /> at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:175)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:175)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)<br /> at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:104)<br /> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)<br /> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br /> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)<br /> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)<br /> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)<br /> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)<br /> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)<br /> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)<br /> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)<br /> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)<br /> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)<br /> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)<br /> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)<br /> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)<br /> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)<br /> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)<br /> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)<br /> at java.lang.Thread.run(Thread.java:745)<br />2020-03-27 06:39:32.059 ERROR [http-nio-8080-exec-3][PaymentServiceUtil:321] error :com.sun.crypto.provider.AESCipher$General cannot be