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?
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.
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.
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?
Hey Lesley,
What is the value of the
ResetCustomerManagerDataOnVersionChange
property in your CheckoutContext settings? https://merchello.readme.io/docs/checkoutcontextIf the value is false, the shipping address should still be associated with the customer and accessible via the CheckoutManager.
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.
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.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.
is working on a reply...
This forum is in read-only mode while we transition to the new forum.
You can continue this topic on the new forum by tapping the "Continue discussion" link below.