Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Tito 314 posts 623 karma points
    Nov 19, 2015 @ 18:32
    Tito
    0

    How to configure payment options on Bazaar?

    I'm testing Bazaar site, but i dont know how to configure payment options. Therefore i get an error when trying to checkout an order. May be i need to configure something...

    The payment provider installed on Bazaar by default is Cash Payment. What this provider is useful for? could i configure Cash on delivery or payment by bank transfer with it? If not, is there any plugin available for it? On github i only see Paypal and another bank providers.

    The error i get on Bazaar's checkout is:

    Exception Details: System.ArgumentNullException: Value cannot be null.
    Parameter name: task
    

    Stacktrace:

    [ArgumentNullException: Value cannot be null.
    Parameter name: task]
       Umbraco.Core.Mandate.That(Boolean condition, Func`1 defer) +27
       Umbraco.Core.Mandate.ParameterNotNull(T value, String paramName) +104
       Merchello.Core.Chains.AttemptChainTaskHandler`1..ctor(IAttemptChainTask`1 task) +46
       Merchello.Core.Chains.ConfigurationChainBase`1.<ResolveChain>b__0(String typeName) +100
       System.Linq.WhereSelectArrayIterator`2.MoveNext() +58
       System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection) +454
       Merchello.Core.Chains.ConfigurationChainBase`1.ResolveChain(String chainConfigurationAlias) +183
       Merchello.Core.Builders.InvoiceBuilderChain..ctor(SalePreparationBase salePreparation) +78
       Merchello.Core.Sales.SalePreparationBase.PrepareInvoice() +42
       Merchello.Bazaar.Factories.SalePreparationSummaryFactory.Build(SalePreparationBase preparation) +61
       Merchello.Bazaar.Factories.ViewModelFactory.CreateCheckout(RenderModel model, IBasket basket, IEnumerable`1 allCountries, IEnumerable`1 shipCountries) +918
       Merchello.Bazaar.Controllers.BazaarCheckoutController.Index(RenderModel model) +226
       lambda_method(Closure , ControllerBase , Object[] ) +79
       System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
       System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +167
       System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
       System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22
       System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +29
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
       System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32
       System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +50
       System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225
       System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225
       System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225
       System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +10
       System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
       System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34
       System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +26
       System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +100
       System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
       System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
       System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
       System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36
       System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +22
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
       System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
       System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
       System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
       System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
       System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9721605
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
    
  • Owen Pattison 18 posts 39 karma points
    Nov 20, 2015 @ 15:35
    Owen Pattison
    0

    Hi Tito,

    I am also experiencing the same issue on Merchello 1.13.1 - though i have setup a sage payment gateway rather than cash, did you manage to get past this error?

    Owen.

  • Tito 314 posts 623 karma points
    Nov 24, 2015 @ 11:06
    Tito
    0

    Hi @Owen, i have not kept trying it. I am creating a new project with only Merchello installed (not Bazaar) and creating my own controllers based on the source code on Bazaar. Now i am implementing the "Add to cart" controller. I hope to get past the payment error when i implement checkout process.... any updates on this?

  • Tito 314 posts 623 karma points
    Nov 24, 2015 @ 11:09
    Tito
    0

    I think Merchello is thought to use it installing Bazaar and continuing from it. Now as it is, if you only install Merchello and create your ecommerce site from scratch, you have to go through the Bazaar source code as there is a great lack of documentation right now on the latest versions... i think that is one of the downsides of Merchello and hope to be solved soon :(

  • Owen Pattison 18 posts 39 karma points
    Nov 24, 2015 @ 11:26
    Owen Pattison
    0

    Hi @Tito, I did not manage to get past the issue either, and have also done exactly the same thing in building everything from scratch hoping to avoid the problem.

    (soon realised the documentation was outdated)

    I do agree though, i like the system, but as with many API's out there documentation is a big job, I'll let you know if i manage to get past where we were in the bazaar (when i make it there!).

  • Tito 314 posts 623 karma points
    Nov 24, 2015 @ 12:10
    Tito
    0

    Thanks @Owen, may be it can help you (although perhaps is a bit outdated):

    http://merchello.com/documentation/getting-started/how-to/Simple-Checkout-Process

  • Nuno Dias 4 posts 24 karma points
    Dec 03, 2015 @ 16:34
    Nuno Dias
    0

    This error is triggered by a wrong task configuration in merchello.config file (App_Plugins/Merchello/Config/Merchello.config).

    Where is defined the task type "AddNotesToInvoiceTask":

    "type="Merchello.Web.Workflow.InvoiceCreation.AddNotesToInvoiceTask, Merchello.Core""

    change the assembly name to Merchello.Web instead of Merchello.Core.

    "type="Merchello.Web.Workflow.InvoiceCreation.AddNotesToInvoiceTask, Merchello.Web""

    Hope this help you guys.

    Nuno

  • Owen Pattison 18 posts 39 karma points
    Dec 03, 2015 @ 16:43
    Owen Pattison
    0

    Hi Nuno, very useful to know where this was failing we established where the issue was and stopped calling the AddNotesToInvoiceTask (quick and dirty fix) - i will now correct this with the above!

    Thanks alot!

  • Tito 314 posts 623 karma points
    Dec 09, 2015 @ 13:39
    Tito
    0

    Thanks Nuno, now i can complete my orders :)

    I dont understand how the payment is managed. If i want to add a payment option for bank transfer and if the user selects this option, i would like to show the user the bank info. Like a final step before the invoice.

    In the backoffice, under Sales section, i can se a payment status and a fullfillment status. I dont understand whats the difference and what the button "capture funds", "void", "refund" really does. I understand "refund" means to give back the money to the buyer, but how? is it only a state? and what void mean?

    I would thank some info/documentation about this subject

  • Nuno Dias 4 posts 24 karma points
    Dec 09, 2015 @ 13:52
    Nuno Dias
    0

    Hi Tito,

    The payment that comes by default with Merchello, is a payment method based on cash.

    For you to have the Bank Transfer like you described, I believe you need to develop a plugin over Merchello, like the one that exists for paypal integration.

    Regarding the statuses, bellow is my understanding about them (meaning that is not 100% accurated):

    • Void means a cancellation of Invoice.

    • Refund means a refund (different than cancelling).

    • Capture Funds, means that the order is ready and you are authorized to request the funds to the customer.

    Note that all of them are states that should be changed in the backoffice (manually or via API), depending of the real status of the order. There are some of them that can trigger contabilistic updates on the system.

    Hope this helps.

    Regards, Nuno

  • Tito 314 posts 623 karma points
    Dec 09, 2015 @ 15:46
    Tito
    0

    Thank you very much, i am not used to this terms from Merchello. On other ecommerce projects i have used Nopcommerce, so you mark an state to the order as paid, sent, etc. I thought that capturing payment was actually asking the gateway for the money ;)

    What is fullfilment? is about marking the order as sent/shipped?

  • Nuno Dias 4 posts 24 karma points
    Dec 09, 2015 @ 15:59
    Nuno Dias
    0

    I believe fullfillment stands for order acomplished.

  • Sunnefa 22 posts 41 karma points
    Jan 15, 2016 @ 17:35
    Sunnefa
    0

    This same error suddenly started happening on our site, where previously there was no sign of it. We have Merchello 1.13.2 installed and we can't complete the checkout process because of this.

    We need a fix ASAP because this is happening on a live website!

  • Nuno Dias 4 posts 24 karma points
    Jan 15, 2016 @ 17:46
    Nuno Dias
    0

    Hi Sunnefa,

    Did you already checked your merchello.config file and the AddNotesToInvoiceTask definition, like described above ?

    Regards, Nuno

  • Jurgen Van de Water 18 posts 68 karma points
    Jan 17, 2016 @ 13:31
    Jurgen Van de Water
    0

    I'm also experiencing this problem. I've checked the merchello.config and my AddNotesToInvoiceTask definition is referencing to Merchello.Web and not Merchello.Core

    <task type="Merchello.Web.Workflow.InvoiceCreation.AddNotesToInvoiceTask, Merchello.Web" />
    
  • Sunnefa 22 posts 41 karma points
    Jan 18, 2016 @ 09:43
    Sunnefa
    0

    Same here, my AddNotesToInvoiceTask looks perfectly normal. I tried changing it to Merchello.Core and then back to see if that could trigger something but nothing happened. This is very bad for us as we've had a shop down all weekend.

  • Jurgen Van de Water 18 posts 68 karma points
    Jan 18, 2016 @ 21:56
    Jurgen Van de Water
    0

    Is there a solution for this problem? Can somebody please let me know, otherwise I'll have to look for another ecommerce solution.

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Jan 19, 2016 @ 01:21
    Rusty Swayne
    0

    @Tito - you might checkout the Purchase Order payment provider as a simple example as to creating a bank transfer provider for your particular case.

    Also, when a Payment Provider handles a payment, it generally sets the invoice status - paid, partial ... etc. This also applies to refunding and voiding payments just in reverse.

    @Sunnefa, @Jurgen - This is the first I've heard about a problem with the AddNotesToInvoiceTask ... it definitely should have referenced the Merchello.Web library. If your not using the invoice notes in your solution, you can completely remove that line from the merchello.config so that the class will not execute during the invoice build process ...

    However, this should not have anything to do with the payment providers - but I'm guessing this thread is getting a bit messy with respects to the topic.

    Can you guys post your Umbraco versions, Merchello versions, if the problem occurred as a result of an upgrade and what payment provider(s) you are using?

Please Sign in or register to post replies

Write your reply to:

Draft