"Email address already used" on checkout

  • Posts: 2
  • Thank you received: 0
10 years 1 day ago #153233

-- url of the page with the problem -- :
-- HikaShop version -- : HikaShop Essential: 2.3.0
-- Joomla version -- : 2.5.19
-- PHP version -- : 5.3.28
-- Browser(s) name and version -- : Chrome 34.0.1847.116 m
-- Error-message(debug-mod must be tuned on) -- : Email address already used

It is a requirement for this site that users can checkout with having to register or login. We need to collect contact information, including email address (for order status notifications) and postal address (for delivery). Some customers may already have an account on the site, as we're running a membership subscription package, so this rules out using the option for Guest Registration because we get the "Email address already used" error when a Joomla account already exists for that email address. I don't seem to have an option (Configuration ~ System ~ Checkout ~ Registration) for checking out with no registration. I've seen this option referenced in several forum posts, is it available in Hika Shop Essentials?

Please Log in or Create an account to join the conversation.

  • Posts: 12953
  • Thank you received: 1778
10 years 1 day ago #153253

Note that if you want to have a checkout without registration, you'll probably find your answer through this thread :

If you want to enable your customer to checkout without registering, you'll just have to
- Go to "Hikashop->System->Configuration->Checkout"
- Set the "Display method for registration" option to All in one page
- Set the "Registration" option to Guest

Note that the Registration / Display method for registration options are only available through an Hikashop commercial version, so YES you'll have to use a commercial version to do that :).

Please Log in or Create an account to join the conversation.

  • Posts: 2
  • Thank you received: 0
10 years 19 hours ago #153375

Thank you for your reply. I had followed those instructions but when I attempt to checkout using an email address which already exists for an account setup in Joomla, I get the error about Email address already used.

I am using a commercial version (Essentials)

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 7 hours ago #153412

Hi,

Indeed it's the way it's working currently. If an email has already be used, it's not possible to checkout as guest.
To remove that check it will require the edition of a core file, the class "user" so php knowledge are needed.

Please Log in or Create an account to join the conversation.

  • Posts: 101
  • Thank you received: 2
8 years 11 months ago #200909

Your support is dead ? Where is the solution? Bought the paid version and it is not finished completely !
To remove the authorization is also not an option, no email, no user notification to the administrator. How to fix it.

Last edit: 8 years 11 months ago by permsk.

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
8 years 11 months ago #200942

Where did we say that you should remove the authorization ?
So you're complaining that we didn't answer to a question (which we did) for something which either is not related to your problem or for which you didn't understand the solution we gave.

So I actually can't help you as you didn't state what is exactly your own issue, what version of HikaShop you have and how you configured the checkout at the moment (could you give a screenshot of the settings of the Checkout tab of the configuration and/or a link to the shop ?).
Please provide the necessary information for your problem and we'll be more than happy to help you.

Please Log in or Create an account to join the conversation.

  • Posts: 2
  • Thank you received: 0
8 years 10 months ago #205439

try to remove all in red,for me it works

administrator/components/com_hikashop/classes/user.php

if($simplified==2){
$this->database->setQuery('SELECT * FROM '.hikashop_table('user').' WHERE user_email = '.$this->database->Quote($userData->user_email));
$userInDB = $this->database->loadObject();
if(@$userInDB->user_cms_id){
JError::raiseWarning('', JText::_('EMAIL_ADDRESS_ALREADY_USED'));
return false;

}

Please Log in or Create an account to join the conversation.

  • Posts: 234
  • Thank you received: 4
5 years 6 months ago #298792

Hello

I am trying to get this to work and really could do with some help. I would like the option when people check out as per this page.

I have attached a screen shots of the problem. How it is set out is perfect however I would like people to be able to checkout using guest even if they have registered. This is why this error message is coming up because I have already registered.

Many thanks
Iain

Attachments:
Last edit: 5 years 6 months ago by Jerome.

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
5 years 6 months ago #298805

Hi,

There is no option to guest checkout with an email address that already has a user account.
You can try the suggestion in the post www.hikashop.com/forum/checkout/867635-e...checkout.html#205439
Note however that the code is now:

				$ret['status'] = false;
				$ret['messages'][] = array(JText::_('EMAIL_ADDRESS_ALREADY_USED'), 'warning');
				$reset_url = JRoute::_('index.php?option=com_users&view=reset');
				$ret['messages'][] = array('<a href="'.$reset_url.'">'.JText::_('PLEASE_CLICK_HERE_TO_RESET_PASSWORD').'</a>', 'warning');
				return $ret;
in the latest version of HikaShop.

Last edit: 5 years 6 months ago by Jerome. Reason: indent

Please Log in or Create an account to join the conversation.

  • Posts: 234
  • Thank you received: 4
5 years 6 months ago #298821

Hi Nicolas

Thanks for that, would I remove or change this code?

Cheers
Iain

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
5 years 6 months ago #298824

Hi,

You would remove that whole block of code.

Please Log in or Create an account to join the conversation.

  • Posts: 234
  • Thank you received: 4
5 years 6 months ago #298845

Morning,

Thanks for that however I do not have that complete piece of code. Below is an extract of the code,

else if($mode == 2) {
			$userData->user_email = $registerData->email;

			$query = 'SELECT * FROM '.hikashop_table('user').
					' WHERE user_email = '.$this->database->Quote($userData->user_email);
			$this->database->setQuery($query);
			$userInDB = $this->database->loadObject();

			if(@$userInDB->user_cms_id) {
				$ret['status'] = false;
				$ret['messages'][] = array(JText::_('EMAIL_ADDRESS_ALREADY_USED'), 'warning');
				return $ret;
			}

			$ret['user_id'] = (isset($userInDB->user_id) ? (int)$userInDB->user_id : 0);

			if(!empty($ret['user_id'])) {
				$userInDB->user_created_ip = hikashop_getIP();
				$this->save($userInDB);
			} else {
				$ret['user_id'] = $this->save($userData);
			}

			$query = 'UPDATE '.hikashop_table('address').' AS hk_addr '.
					' SET hk_addr.address_published = 0 '.
					' WHERE hk_addr.address_user_id='.(int)$ret['user_id'].' AND hk_addr.address_published = 1';
			$this->database->setQuery($query);
			$this->database->query();

I have removed the following which stops the error coming up however will not let the user continue.
if(@$userInDB->user_cms_id) {
				$ret['status'] = false;
				$ret['messages'][] = array(JText::_('EMAIL_ADDRESS_ALREADY_USED'), 'warning');
				return $ret;
			}
Cheers
Iain

Last edit: 5 years 6 months ago by Jerome. Reason: [code] tag is nice

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
5 years 6 months ago #298853

Hi,

As I said the code change I gave is for the latest version of HikaShop, the 4.0.0. So you must be using another version which is why your code there is different. But yes, that's the code block I was talking about.

Now looking at the code, I don't see why that wouldn't work. That would require some debugging to find out what's going on.
I personally don't recommend doing that change. That would lead to the possibility of anyone knowing the email address of somebody buying on your website able to get the addresses attached to that email address, which is precisely why we don't allow for that.

Please Log in or Create an account to join the conversation.

  • Posts: 234
  • Thank you received: 4
5 years 6 months ago #298910

Hi Nicolas

Okay, let me start with the problem.

If a registered customer returns but doesn't want to log in and check out as guest they can't.

??How???
"That would lead to the possibility of anyone knowing the email address of somebody buying on your website able to get the addresses attached to that email address, which is precisely why we don't allow for that."

I can not see how anyone would be able to get the addresses attached to an account since it won't let them log in, they would be checking out as guest, ergo no addresses saved.

Cheers
Iain

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
5 years 6 months ago #298918

Hi,

After you enter your email address and click on the next button, you can enter addresses for your order and finish the checkout.
These addresses are linked to the email address.
When you register and checkout, it's the same the addreses are linked to the email address.
However, the different is that when you come back to the checkout and login with that email address, the previous addresses you had been using will be loaded for you to use so that you don't have to enter them again.
If you remove the check of the email address, once someone will guest checkout with an email address linked to a user account, the previous email addresses of that account will be accessible to that person as the email address is linked to a user account as the system will think the user is logged in with that account even if that's not the case.

The following user(s) said Thank You: mad-q

Please Log in or Create an account to join the conversation.

Time to create page: 0.135 seconds
Powered by Kunena Forum