Copied to clipboard

Flag this post as spam?

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


  • Lesley 107 posts 349 karma points
    Nov 15, 2016 @ 02:20
    Lesley
    0

    Retain shipping address after redirect

    If I redirect from non-inline payment provider when user cancels or payment is declined, the shipping address no longer appears in the Order Summary.

    I can redirect to the Basket and make the user go through the entire checkout process again and if I do that then the billing and shipping addresses that the user entered are retained and display on the address screens.

    However, if I redirect to the Payment Method or Payment page, the shipping address does not show in the Order Summary partial. How can I display the shipping address?

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Nov 15, 2016 @ 18:13
    Rusty Swayne
    0

    Hey Lesley,

    What is the value of the ResetCustomerManagerDataOnVersionChange property in your CheckoutContext settings? https://merchello.readme.io/docs/checkoutcontext

    If the value is false, the shipping address should still be associated with the customer and accessible via the CheckoutManager.

  • Lesley 107 posts 349 karma points
    Nov 15, 2016 @ 19:55
    Lesley
    0

    All the Reset...DataOnVersionChange properties are set to false.

    The CheckoutManager still has the shipping address, however, the FastTrackCheckoutSummaryModel that is used by InvoiceSummary.cshtml doesn't have the shipping address and I can't work out where the model is created.

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Nov 16, 2016 @ 16:50
    Rusty Swayne
    0

    The model is created in the FastTrackCheckoutSummaryModelFactory.

    https://github.com/Merchello/Merchello/blob/merchello-dev/src/Merchello.FastTrack/Controllers/CheckoutSummaryController.cs#L25

    The pattern allows for developers to override either the controller or the controller and factories to really customize the experience.

    Each factory in the FastTrack pattern returns a model through an OnCreate method which allows developers to manipulate the models specific to the need of the implementation.

  • Lesley 107 posts 349 karma points
    Nov 17, 2016 @ 02:46
    Lesley
    100

    Issue was being caused by the Basket's AuthorizePayment method that was finalizing the payment before it had been captured.

    I was able to resolve the issue by creating a custom version of the Basket's AuthorizePayment method that does not finalize the payment.

Please Sign in or register to post replies

Write your reply to:

Draft