Jump to content

Instant checkout Address change ( not possible??? )


Recommended Posts

Hello!
In the process of configuring my new PS 1.4.0.17 site i have came across the following issue (in my opinion):

When visitor chooses to check-out as a guest (instant checkout - without registration) it is not possible to change the address after it has been submitted even the order is not yet confirmed by user.

When trying to access the link pointing to "/order?step=1" which could possibly give the opportunity to edit the address browser automatically redirects to "/order?step=2"


Even more - i emptied the cart and cleared cache and cookies of my browser but when adding a product to cart and going to checkout the same address is still used and no chances to change it.


Hopefully we will find a solution for this issue together?!

P.S. Should this be reported as a BUG ???


Casper

  • Like 1
Link to comment
Share on other sites

Noticed the same thing. In order to keep working on my cart I have to keep going into BO-> Customers-> then delete 'for real' the customers list.

There should be an edit option IMO. If you put in the wrong address, it shouldn't be stuck as wrong forever.

Annoying... Hopefully it's a bug that is being worked on.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

I am also facing this issue. Also running 1.4.1.0.

The issue is that once a guest fills out the instant checkout information with address, it cannot be changed.

If the guest discovers they entered the address incorrectly, there is no edit option. Also, if they try and return to the cart to retrace their steps, the cart shows the summary (including addresses) and then the 'Next' goes directly to shipping, skipping over the instant checkout step.

There does not appear to be a way to change the addresses once entered, or to clear them by the user.

I (admin) can only do it in the back office, which is hardly an acceptable workaround. If anyone has a solution for this, please do let us know.

Link to comment
Share on other sites

  • 3 weeks later...

I've also noticed this problem on 1.4.2.5. It also causes problems with shipping. If a customer selects a country during instant checkout the shipping options change accordingly, which is correct. However, once this is done the new shipping option becomes the default, so when products are added to the basket the new shipping costs are applied. This happens even if the basket is emptied, browser refreshed and and cache cleared. Therefore, if a customer makes a mistake during checkout and then abandons the basket, the incorrect shipping charges will be displayed unless the address is changed in a subsequent checkout.

If anyone has a fix for this please let us know.

Link to comment
Share on other sites

I did manage to workaround the issue, but it requires some modification to the core files.

In the file controllers/AddressController.php

You need to remove (or comment out) the following code:

/* Secure restriction for guest */
if (self::$cookie->is_guest)
                       Tools::redirect('addresses.php');



Then, in controllers/AddressesController.php you need to modify the constructor. You need to change it from:

public function __construct()
       {
               $this->auth = true;
               $this->php_self = 'addresses.php';
               $this->authRedirection = 'addresses.php';
               $this->ssl = true;

               parent::__construct();
       }



So that it instead reads:

public function __construct()
       {
               $this->auth = true;
               $this->guestAllowed = true;
               $this->php_self = 'addresses.php';
               $this->authRedirection = 'addresses.php';
               $this->ssl = true;

               parent::__construct();
       }



This allows a guest to do all address modifications. Note that this was only done on my version (1.4.1.0).

Also, you may not want a guest to have full address control (which is why the restriction was there in the first place). Because of this I had to make various other changes to my theme tpl files to support or limit this new 'ability'. For example, I made it so that guests cannot add new addresses, or delete addresses. They can only modify their one single delivery address. Also, I had to modify the shopping cart .tpl file so that there is an 'Update' link that will let them be able to update their address.

This is only a start on getting the solution working. I apologize in advance that I cannot take the time to document every single change I made. I would not recommend going down this path unless you are comfortable enough making changes that you can troubleshoot and figure out what to do on your own. But I do hope this helps someone going down a similar path, as this was considered a show-stopper for me.

If you need specific help, send me a PM and I'll do my best to get back to you.

Link to comment
Share on other sites

Now that I've really thought about it I don't think this is likely to cause any real problems - yes, when the address is updated through guest checkout the shipping changes accordingly. The shop isn't live yet and I think I may be over testing if you know what I mean.

Thanks for the offer of help.

Link to comment
Share on other sites

  • 2 weeks later...

Hi j_rel, it`s not work in prestashop 1.4.3. Guest still can`t edit the address. It is important that guest can change address before they confirm the purchase. If they make mistake but can`t edit the address they will abandon their cart. Is there any solution?

Thanks.

Link to comment
Share on other sites

  • 3 weeks later...

Hi wakaka. Yes, I only tried it in 1.4.1, but I imagine it would not be much different in 1.4.3.

 

If you are comfortable with modifying the core files, I'm sure some close variation to what I did should work for you. If you decide to try and have questions, feel free to ask.

Link to comment
Share on other sites

  • 2 months later...

Solution for Prestashop 1.4.4.0

I you want to diable redirection from order step "/order?step=1" to "/order?step=2" and make your guest-customers possible to change their adress, simply delete following lines:

 

In controllers/AddressController.php delete:

(it must be deleted, not commented out...dont know why...)

 /* Secure restriction for guest */
 if (self::$cookie->is_guest)
  Tools::redirect('addresses.php');

 

In controllers/OrderController delete:

 if (self::$cookie->is_guest)
  Tools::redirect('order.php?step=2');

  • Like 1
Link to comment
Share on other sites

i know it is not the best solution, but it is better than giving the user no option at all, and it is easy...

 

you could put a link or button underneath the address info in shopping cart .tpl that says:

'incorrect address? restart! (you will need to add products to cart again)'

and send this link to: /index.php?mylogout

the user will be directed to the homepage and can start over.

all old addresses will be cleared.

 

(emptying the cart and deleting the cache will not have any effect, only the logout function will)

Link to comment
Share on other sites

  • 3 months later...

Another solution (without editing core files, or emptying the cart) is to modify the order-steps.tpl file as follows

 

This means if a guest user clicks the address link when they are in the checkout process they will be taken back to the auth -creen (all address fields will be blank.. but the cart is intact) They then return to order step=2 after submitting a new address.

 

 {if $current_step=='payment' || $current_step=='shipping'}
	    {if $is_guest}
	  <a href="/authentication.php?back=order.php%3Fstep%3D2">
	    {else}
	  <a href="{$link->getPageLink('order.php', true)}?step=1{if isset($back) && $back}&back={$back}{/if}">
	    {/if}
			    {l s='Address'}
		    </a>
 {else}
 {l s='Address'}
 {/if}

Link to comment
Share on other sites

Hi Digitalacorn - the fix looks very interesting. When you say modify, do you mean add the code to the TPL file or is it modifying some of the lines already there, because if it is modify I don't see which part I should be modifying (using 1.4.1.0). If it is adding, does it matter where the code is added? Many thanks, Michael.

 

 {if $current_step=='payment' || $current_step=='shipping'}
		{if $is_guest}
	  <a href="/authentication.php?back=order.php%3Fstep%3D2">
		{else}
	  <a href="{$link->getPageLink('order.php', true)}?step=1{if isset($back) && $back}&back={$back}{/if}">
		{/if}
				{l s='Address'}
			</a>
 {else}
 {l s='Address'}
 {/if}

Link to comment
Share on other sites

order-steps.tpl originally looked like this (in my version)

 

 {if $current_step=='payment' || $current_step=='shipping'}
 <a href="{$link->getPageLink('order.php', true)}?step=1{if isset($back) && $back}&back={$back}{/if}">
  {l s='Address'}
 </a>
 {else}
 {l s='Address'}
 {/if}

 

And after my workaround becomes...

 

 {if $current_step=='payment' || $current_step=='shipping'}
	    {if $is_guest}
	  <a href="/buy/authentication.php?back=order.php%3Fstep%3D2">
	    {else}
	  <a href="{$link->getPageLink('order.php', true)}?step=1{if isset($back) && $back}&back={$back}{/if}">
	    {/if}
  {l s='Address'}
 </a>
 {else}
 {l s='Address'}
 {/if}

Link to comment
Share on other sites

  • 2 months later...

order-steps.tpl originally looked like this (in my version)

 

 {if $current_step=='payment' || $current_step=='shipping'}
 <a href="{$link->getPageLink('order.php', true)}?step=1{if isset($back) && $back}&back={$back}{/if}">
  {l s='Address'}
 </a>
 {else}
 {l s='Address'}
 {/if}

 

And after my workaround becomes...

 

 {if $current_step=='payment' || $current_step=='shipping'}
		{if $is_guest}
	  <a href="/buy/authentication.php?back=order.php%3Fstep%3D2">
		{else}
	  <a href="{$link->getPageLink('order.php', true)}?step=1{if isset($back) && $back}&back={$back}{/if}">
		{/if}
  {l s='Address'}
 </a>
 {else}
 {l s='Address'}
 {/if}

 

I think I am having the same problem. When the user of Instant Checkout clicks on the Add a new address button, the user gets redirected to Login/Register screen. I did put the above code in, but it doesn't work. I wonder if I am missing something?

Everything is just confusing now. I am not sure if the user goes to the right step, when clicking on Checkout, and also when I click on Add a new address, what is supposed to happen? It's not like the user is registering. I also don't know what files to edit, to get the desired outcome. Please help!

Link to comment
Share on other sites

  • 1 month later...

Same here, this solution doesn't solve it for me. When I return to the login page after wanting to update the address I only get the login form fields and the register form fields, no new_account_form fields are displayed?!

Any ideas?

 

Could really use a hand here!

Cheers

Michael

Link to comment
Share on other sites

  • 1 month later...
  • 5 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...