Copied to clipboard

Flag this post as spam?

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


  • PierreD Savard 183 posts 290 karma points
    Dec 20, 2016 @ 21:26
    PierreD Savard
    0

    Capturing funds after delivery.

    It is possible to change the step the Merchello order go though? My client delivery in person (maple syrup farm) and collect the payment at the end

    Normally the steps are:

    1. Client pass an order on web
    2. Then status is set to Packaging
    3. Then Ready
    4. Then Delivered
    5. Then the funds are captured (cash provider)

    What is the complexity of changing that in merchello?

    In the same idea, where I can find some documentation on how to add a field in the checkout process and save it with the order?

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Dec 20, 2016 @ 23:06
    Rusty Swayne
    0

    This should be a pretty quick angular tweak in the salesoverview.html and salesoverview.controller.js files. Basically you just need to show the fulfull button a bit earlier:

    SalesOverview.html

    https://github.com/Merchello/Merchello/blob/merchello-dev/src/Merchello.Web.UI.Client/src/views/sales/saleoverview.html#L40

    SalesOverview.controller.js

    https://github.com/Merchello/Merchello/blob/merchello-dev/src/Merchello.Web.UI.Client/src/views/sales/saleoverview.controller.js#L149

    One thing you will probably also want to do is set the AlwaysApproveOrderCreation to true so that on each sale an order is generated even if the payment has not been created.

    https://github.com/Merchello/Merchello/blob/merchello-dev/src/Merchello.FastTrack.Ui/App_Plugins/Merchello/config/merchello.config#L10

  • PierreD Savard 183 posts 290 karma points
    Jan 05, 2017 @ 16:15
    PierreD Savard
    0

    Thanks for replying.

    I change the views and controllers. Now the FullFill Button is working. But I got an undefined in the openFulfillShipmentDialog

    TypeError: Cannot read property 'getUnShippedItems' of undefined this line return undefined: data.order = $scope.invoice.orders[0]; so the data.order.getUnShippedItems() crash.

    I add the

    <setting alias="AlwaysApproveOrderCreation" value="true" />
    

    Do you think I got something else to do? I think the setting not worked and Merchello do not create the order. If I paid, everything is working well.

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Jan 06, 2017 @ 16:23
    Rusty Swayne
    0

    The order creation would only fire if there are shippable items - so that may explain that.

    I think your close - but I'd have to step through with the JS debugger to figure out exactly what is going on at this point. It would probably work to simply test if the orders array length is > 0 before hitting that line (or whatever for your circumstance). I can't think of anything database wise that would be impacted.

  • PierreD Savard 183 posts 290 karma points
    Jan 20, 2017 @ 16:50
    PierreD Savard
    0

    Hi, I restart this process. To be able to fulfill I need to have an order created because Invoice.Orders[0] cannot be null. For now, the only way for creating order (either if I set the AlwaysApproveOrderCreation=true) is to capture a payment. For example, 0.01$ then in the capture payment process something create the order. Then I can refund, make another payment, the order is always there and I can fulfill the order without complete payment.

    I try to trace the capture payment process to see where/How the order is created and see if I can call this function manually in the loading process of the saleorder. But I can't find it.

    Any idea?

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Jan 23, 2017 @ 16:44
    Rusty Swayne
    0
  • Biagio Paruolo 1594 posts 1825 karma points c-trib
    Feb 19, 2017 @ 08:49
    Biagio Paruolo
    0

    Hi, But Can you only authorize and then capture after?

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Feb 19, 2017 @ 15:53
    Rusty Swayne
    0

    If you don't want to authorize before considering something a "successful" order, you could replace the payment view with a confirm order view and simply use the CheckoutManager.PrepareInvoice(); and saved it.

    Then in the back office you should be able to add a new payment to the invoice - assuming the payment provider has the feature. Example, PayPal redirect is not something that can be done via a back office payment.

Please Sign in or register to post replies

Write your reply to:

Draft