The controller for path '/checkout/OpcSavePaymentMethod/' was not found or does not implement IController.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
7 years ago
Hi,

I am writing new Payment Plugin. I am getting following error:
The controller for path '/checkout/OpcSavePaymentMethod/' was not found or does not implement IController.

My Controller Class Name : PaymentTMobileController.cs
nameSpace : Nop.Plugin.Payments.TMobile.Controllers
PaymentInfo path :  ~/Plugins/Payments.TMobile/Views/PaymentTMobile/PaymentInfo.cshtml
Version : 3.7

Following code is my routing code :

 
public void RegisterRoutes(RouteCollection routes)
        {
            //IPN
            routes.MapRoute("Plugin.Payments.TMobile.IPNHandler",
                 "Plugins/PaymentTMobile/IPNHandler",
                 new { controller = "PaymentTMobile", action = "IPNHandler" },
                 new[] { "Nop.Plugin.Payments.TMobile.Controllers" }
            );


        }


I read all related topics in this forum. But I didnt fix.

Error Log :

System.Web.HttpException (0x80004005): Execution of the child request failed. Please examine the InnerException for more information. ---> System.Web.HttpException (0x80004005): The controller for path '/checkout/OpcSavePaymentMethod/' was not found or does not implement IController. konum: System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) konum: System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) konum: System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) konum: System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) konum: System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) konum: System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.<>c__DisplayClass7.<BeginProcessRequest>b__6() konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func) konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func) konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) konum: System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) konum: System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) konum: System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) konum: System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) konum: System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) konum: System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) konum: ASP._Page_Views_Checkout_OpcPaymentInfo_cshtml.Execute() e:\Projects\Asp_net\NopB\Presentation\Nop.Web\Views\Checkout\OpcPaymentInfo.cshtml içinde: satır 7 konum: System.Web.WebPages.WebPageBase.ExecutePageHierarchy() konum: System.Web.Mvc.WebViewPage.ExecutePageHierarchy() konum: System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) konum: System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) konum: System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) konum: Nop.Web.Framework.Controllers.BaseController.RenderPartialViewToString(String viewName, Object model) E:\Projects\Asp_net\NopB\Presentation\Nop.Web.Framework\Controllers\BaseController.cs içinde: satır 69 konum: Nop.Web.Controllers.CheckoutController.OpcLoadStepAfterPaymentMethod(IPaymentMethod paymentMethod, List`1 cart) E:\Projects\Asp_net\NopB\Presentation\Nop.Web\Controllers\CheckoutController.cs içinde: satır 1324 konum: Nop.Web.Controllers.CheckoutController.OpcSavePaymentMethod(FormCollection form) E:\Projects\Asp_net\NopB\Presentation\Nop.Web\Controllers\CheckoutController.cs içinde: satır 1793


Regards
7 years ago
ondera wrote:
Hi,

I am writing new Payment Plugin. I am getting following error:
The controller for path '/checkout/OpcSavePaymentMethod/' was not found or does not implement IController.

My Controller Class Name : PaymentTMobileController.cs
nameSpace : Nop.Plugin.Payments.TMobile.Controllers
PaymentInfo path :  ~/Plugins/Payments.TMobile/Views/PaymentTMobile/PaymentInfo.cshtml
Version : 3.7

Following code is my routing code :

 
public void RegisterRoutes(RouteCollection routes)
        {
            //IPN
            routes.MapRoute("Plugin.Payments.TMobile.IPNHandler",
                 "Plugins/PaymentTMobile/IPNHandler",
                 new { controller = "PaymentTMobile", action = "IPNHandler" },
                 new[] { "Nop.Plugin.Payments.TMobile.Controllers" }
            );


        }


I read all related topics in this forum. But I didnt fix.

Error Log :

System.Web.HttpException (0x80004005): Execution of the child request failed. Please examine the InnerException for more information. ---> System.Web.HttpException (0x80004005): The controller for path '/checkout/OpcSavePaymentMethod/' was not found or does not implement IController. konum: System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) konum: System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) konum: System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) konum: System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) konum: System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) konum: System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.<>c__DisplayClass7.<BeginProcessRequest>b__6() konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func) konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func) konum: System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) konum: System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) konum: System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) konum: System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) konum: System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) konum: System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) konum: System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) konum: ASP._Page_Views_Checkout_OpcPaymentInfo_cshtml.Execute() e:\Projects\Asp_net\NopB\Presentation\Nop.Web\Views\Checkout\OpcPaymentInfo.cshtml içinde: satır 7 konum: System.Web.WebPages.WebPageBase.ExecutePageHierarchy() konum: System.Web.Mvc.WebViewPage.ExecutePageHierarchy() konum: System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) konum: System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) konum: System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) konum: Nop.Web.Framework.Controllers.BaseController.RenderPartialViewToString(String viewName, Object model) E:\Projects\Asp_net\NopB\Presentation\Nop.Web.Framework\Controllers\BaseController.cs içinde: satır 69 konum: Nop.Web.Controllers.CheckoutController.OpcLoadStepAfterPaymentMethod(IPaymentMethod paymentMethod, List`1 cart) E:\Projects\Asp_net\NopB\Presentation\Nop.Web\Controllers\CheckoutController.cs içinde: satır 1324 konum: Nop.Web.Controllers.CheckoutController.OpcSavePaymentMethod(FormCollection form) E:\Projects\Asp_net\NopB\Presentation\Nop.Web\Controllers\CheckoutController.cs içinde: satır 1793


Regards


You can share your code with me. I will check your code. And feedback you.
7 years ago
Hi Soel,

Thank you for your help.
I copied the paypaldirect sample code and I am modifiying it.
Now It working.
Regards

Onder
6 years ago
Any chance of posting the fix for others, like me, who are experiencing a similar issue?

Thanks!
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.