Copied to clipboard

Flag this post as spam?

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


  • Glen Peters 24 posts 115 karma points
    Aug 25, 2016 @ 22:32
    Glen Peters
    0

    Shopping Cart for Quotations instead of Transactions

    I have a client that would like to have cart functionality for customizable products. The client would like to have a listing of products which a user of the site can add to the cart and then enter their details and submit a quote request. There will be no payments or transactions, just an email sent to the client's sales staff with a copy to the user so that the sales staff can prepare the pricing. Is this possible with Merchello? Guidance needed! How?

  • Simon Dingley 1470 posts 3427 karma points c-trib
    Aug 26, 2016 @ 08:53
    Simon Dingley
    0

    I would imagine the easiest way to achieve this would be to create a custom payment provider to handle it in the final stage of the checkout. I know you are not actually taking payment but you don't with a cash payment either at least not at the point of sale. This would leave the option for the payment to be captured later on if desired when a customer accepts a quote.

    Cheers, Simon

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Aug 26, 2016 @ 14:17
    Rusty Swayne
    0

    @Simon - that's a good suggestion with the only caveat being that there would have to be an authorization for payment. If that's not a big deal then it's a perfect method.

    As an alternative, they could replace the payment page with a custom view (even just a button - "Request Quote") after they've collected all the information they want to collect - e.g. before or after the shipping quote.

    The CheckoutManager.Payment.PrepareInvoice() which will create an IInvoice without saving it. If they want it saved, they could just pass save it directly through the invoice service. Note: Merchello will NOT generate an invoice number until the invoice is saved but some sort of reference could be done externally and placed in the PO Number field or something.

    After the invoice is prepared, it could be sent to a Mailer class and used as a model OR if you want things configurable in the back office through Merchello, you could create Trigger and Monitor notification classes - these can be done in an external library (your project) and are resolved by Merchello when it bootstraps as long as they respectively use the correct base classes and attributes (TriggerForAttribute and MonitorForAttribute).

    • Make sure to generate new GUIDs for each - Merchello uses these as database references.
    • In the MonitorForAttribute the type MUST be the typeof the Trigger so it can successfully subscribe itself.

    Reference trigger code: https://github.com/Merchello/Merchello/blob/merchello-dev/src/Merchello.Core/Gateways/Notification/Triggering/OrderShippedTrigger.cs

    Triggers have to subclass NotificationTriggerBase<TModelIn, TModelOut> where in this case TModelIn would be IInvoice and if you don't need any more info could also be used for TModelOut.

    Assuming you want an email formatted via a Razor view, reference code: https://github.com/Merchello/Merchello/blob/merchello-dev/src/Merchello.Web/Workflow/Notification/Monitor/RazorOrderShippedMonitor.cs

    This one is pretty simple since you just need to subclass RazorMonitorBase<TModelIn> where TModelIn is the TModelOut from the trigger.

    This assumes that all of the formatting will be done in razor in the view created in the back office.

    For the razor view:

    The back office should generate a file in the /Views/Merchello/Notifications/ folder after the "Create View" button is clicked.

    It will inherit from

       // assuming your TModelIn was IInvoice in the monitor definition
      @inherits Merchello.Web.Mvc.MerchelloHelperViewPage<Merchello.Core.Models.IInvoice>  
    
  • Glen Peters 24 posts 115 karma points
    Aug 29, 2016 @ 16:54
    Glen Peters
    0

    Rusty, I think this looks to be in the direction that we need to go. Thanks for the input.

    I also was wondering what functionality exists for the Customer Login area. What can the user see if they login? Can they edit orders before they are fulfilled to increase quantities or add items?

    We are trying to spin up a new Umbraco 7.5.5 instance with Merchello 2.2.0 and the FastTrack, to see what is there, but this potential client is urgently asking questions.

  • Simon 692 posts 1068 karma points
    Sep 13, 2016 @ 12:15
    Simon
    0

    Hi Glen,

    Hope you're ok.

    Can you please share with us the code that you have gone with to accomplish you task, i.e. checkout without payment?

    Thanks in advance.

    Kind Regards

Please Sign in or register to post replies

Write your reply to:

Draft