SSO / FoxyShop customer password updating

KyleBischKyleBisch Member
in Help edited July 2014
I'm working a site using FoxyShop to allow users to view previous orders, but I'm having issues with the updated password passing from FoxyCart to Wordpress after checkout.

My FoxyCart settings: SSO is on, password type phpass portable mode, hash 8, store version 1.1.
FoxyShop settings: Enable SSO, Wordpress account optional, Create/update user after checkout.

- When a new user places an order their email and password information is properly passed to Wordpress and a new user is created. Awesome.
- If that user adds something to their cart and logs into Wordpress on the site, then goes to checkout, they remain logged in and can checkout. Awesome.

But,
- If the user isn't logged in, adds something to the cart and goes to checkout then the password they created in Foxycart (the original order) does not work in Foxycart. Huh??
- If they create a new password with the Foxycart system, then they can checkout and the new password works in Foxycart. But the new password does not get passed to Wordpress with the order (the original password works there).


I've found the Foxyshop data feed add/update user:
if ($foxyshop_settings)
foxyshop_datafeed_user_update($xml);

That user_update function appears to use the same code for setting the password regardless if it is a new user or an existing user - apart from how it gets the user ID (add new VS get existing). I can't figure out what could be happening here so any help would be great. Maybe @sparkweb has some thoughts?

Thanks,
-kyle
Comments
  • fc_adamfc_adam FoxyCart Team
    yeah - @sparkweb would be your best bet here, I'm sure he'll chime in soon!
  • sparkwebsparkweb Member, Integration Developer, FoxyShop, Order Desk
    Kyle, thanks for the details. I'll look at this on Monday and see what I can figure out. Thanks,
  • Thanks @sparkweb! This is the last hurtle (hopefully) for the project. Let me know if access to our dev setup would help you out.
  • sparkwebsparkweb Member, Integration Developer, FoxyShop, Order Desk
    @KyleBisch,

    There was some circular password resetting going on because WordPress isn't expecting the password to be reset so it ends up updating FoxyCart with the temporary password. I have gotten this fixed up and it should be all corrected now.

    See https://github.com/sparkweb/foxyshop/blob/master/datafeedfunctions.php for some new code. Just copy the code for foxyshop_datafeed_user_update() to your datafeedfunctions.php file.

    For reference, this updated code will be included in FoxyShop 4.5
  • @sparkweb,
    Thanks! The passwords are working correctly now for new accounts and for updating a password during checkout.

    I'm trying to use the cart=updateinfo if someone wants to update their info without checking out, but it appears that when that non-transaction takes place it doesn't get fed into the datafeed? So the updated information doesn't get picked up by FoxyShop? I've got a separate datafeed running and that transaction doesn't show when I print_r($xml); the simple XML string. Maybe I've got a setting wrong wince that transaction also lands me on a blank screen after, not on my confirmation page.

    @fc_adam do you have any thoughts on that?

    I'm open to other options for updating passwords if there is a better way. I'd just like for users to be able to update their password without buying something - although that could be a great marketing scheme.
  • Nevermind!

    I found the answer to the blank page and datafeed here:
    https://forum.foxycart.com/discussion/8027/update-credit-card-information-is-not-working#Item_4
    (Very bottom issue regarding having the foxycart includes on the template files).

    I'm going to keep testing various variations of logging in/checking out and updating information, but I think It's all working now.
    Thanks!
Sign In or Register to comment.