By reading your code, it seems like you are using an old version of the plugin which had the problem of not keeping the session becuase it was automatically redirecting to the order confirmation:
$('#confirmorderform').submit();
Make sure the view ResponsePage.cshtml is the correct one. It should have:
<script type="text/javascript">
$('#PaymentInfoForm').submit();
</script>
The plugin now posts to the PaymentInfo action which stores the payment info session and then redirects to the Confirm action (for a user to pres the button to confirm the order).
Also, if even updating the plugin does not work, it is safer to use a multiple page checkout.
I must also mention, that the plugin was well tested in NopCommerce 2.4. Versions 2.3 and 2.2 should work but a few references to the mobileDevice helper have to be removed.
Hi Carlos,
Thanks a lot for this information! We will use the new version of the SagePay plugin, but the client is stuck with nopCommerce 2.3 for now.
I would like to mention that we are using a multiple page checkout.
Also I believe we managed to reproduce the problem. Basically our sagepay is configured in nopCommerce to return to:
http://www.domain.co.uk/
Now if the customer starts a checkout process from http://domain.co.uk, when sagepay returns to the
http://www.domain.co.uk/ResponsePage?uid=.... the session is lost.
So it has to do with the www in front of the domain name.
This is something really weird, which probably has to do with the fact that this is an IFrame integration, but we still have not got to the bottom of it.
Thanks