CCavenue confirmation page issue

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
11 years ago
I have configured the nopcommerce 2.80 with CCavenue integration. Now the problem is, i am not getting redirected on the payment confirmation page on nopcommerce after successful transaction.

For success care-  The returned url is http://mydomain.com/store/errorpage.htm?aspxerrorpath=/store/Plugins/PaymentCCAvenue/Return

We're sorry, an internal error occured.

Our supporting staff has been notified of this error and will address the issue shortly......

For declined case- The returned url is http://mydomain.com/store/Plugins/PaymentCCAvenue/Return with the given message.

Getting this message "Thank you for shopping with us. However, the transaction has been declined" instead redirection on the cart with the same message.

Please help anyone.
11 years ago
Looks like the page returns an error when a successful payment is made.

http://mydomain.com/store/errorpage.htm is an error page

aspxerrorpath=/store/Plugins/PaymentCCAvenue/Return is the page that returns the error.

HTH
11 years ago
Yes, It is giving error on successful transaction.
11 years ago
So fix the error
11 years ago
How do we fix this, I am also getting the same error :(, somebody please help.
11 years ago
Ok so you need to look in your log in the DB and see what errors are being generated from a succesful transaction.

however looking at the code of the pluggin there is not a lot that can go wrong.

TBH it isn't really finished and your going to have to finish it yourselves.

here is the code for a successful trans

if ((checksum == "true") && (AuthDesc == "Y"))
            {

                /*
                    Here you need to put in the routines for a successful
                     transaction such as sending an email to customer,
                     setting database status, informing logistics etc etc
                */


                var order = _orderService.GetOrderById(Convert.ToInt32(orderId));
                if (_orderProcessingService.CanMarkOrderAsPaid(order))
                {
                    _orderProcessingService.MarkOrderAsPaid(order);
                }

                //Thank you for shopping with us. Your credit card has been charged and your transaction is successful
                return RedirectToRoute("CheckoutCompleted");

            }


I would suggest that
var order = _orderService.GetOrderById(Convert.ToInt32(orderId));
fails to return an order.

the next 3 lines should be wrapped in

if (order != null)
{

}


and an else to provide some action on failed order lookup.

As to why the order lookup would fail - my guess would be
orderId = form["Order_Id"];
is at fault.

Likely causes

1. The payment gateway people are sending a load of garbage
2. the parameter is not called "Order_Id"

HTH
11 years ago
daveb wrote:
Ok so you need to look in your log in the DB and see what errors are being generated from a succesful transaction.

Agree. Just post your full error stack here
11 years ago
Here you go!


Log level:

Error



Short message:

No route in the route table matches the supplied values.



Full message:

System.InvalidOperationException: No route in the route table matches the supplied values. at System.Web.Mvc.RedirectToRouteResult.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.<BeginInvokeAction>b__20() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)



IP address:

59.190.238.14



Customer:

[email protected]



Page URL:

http://xxxx.com/plugins/paymentccavenue/return



Referrer URL:





Created on:

2/21/2013 10:16:07 PM
11 years ago
hi

Check fallowing code in CCAvenuePaymentProcessor.cs file

public CCAvenuePaymentProcessor(CCAvenuePaymentSettings ccAvenuePaymentSettings,
            ISettingService settingService, ICurrencyService currencyService,
            CurrencySettings currencySettings, IWebHelper webHelper)
        {
            if (ccAvenuePaymentSettings.Key == null)
                ccAvenuePaymentSettings.Key = "Enter 16 Digits Key";
            if (ccAvenuePaymentSettings.MerchantId == null)
                ccAvenuePaymentSettings.MerchantId = "MarChant Id";
            if (ccAvenuePaymentSettings.PayUri == null)
                ccAvenuePaymentSettings.PayUri = "https://www.ccavenue.com/shopzone/cc_details.jsp";
            if (ccAvenuePaymentSettings.MerchantParam == null)
                ccAvenuePaymentSettings.MerchantParam = "";
            this._ccAvenuePaymentSettings = ccAvenuePaymentSettings;
            this._settingService = settingService;
            this._currencyService = currencyService;
            this._currencySettings = currencySettings;
            this._webHelper = webHelper;
        }
11 years ago
This what I have, I couldnt find what you mentioned...


        public CCAvenuePaymentProcessor(CCAvenuePaymentSettings ccAvenuePaymentSettings,
            ISettingService settingService, ICurrencyService currencyService,
            CurrencySettings currencySettings, IWebHelper webHelper)
        {
            this._ccAvenuePaymentSettings = ccAvenuePaymentSettings;
            this._settingService = settingService;
            this._currencyService = currencyService;
            this._currencySettings = currencySettings;
            this._webHelper = webHelper;
        }
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.