Hi,
I have been seeing some major problems with the account system in v.3.95. First, for stability, you MUST make sure people have to have an account created BEFORE adding to a cart, instead of just required for checkout. The reason is that there is a problem with the connection between the creation of DNN accounts and SmithCart accounts. For example, when you do not have the required for add to cart selected, when given the SC screen where you can login, or create and account, and if you try to create an account by entering a username and password, then going through the next screens, you will get an object not set error after purchase and you will not get the order info added to the account. To avoid this, I made sure the checkbox was set so that login was required simply to add to the cart. Then, there was a button to create an account, instead of entering a username and password to create an account. Then, this button took you to a different path to create an account and it did work. But, one important issue is that critera info is not enforced, so a user has no idea about what to do when they get the following error:
In this case, there were either not enough characters to create a password (I think 7), or the password was all numbers, with no letters, so it simply gave the Unable to create account error with no other information.
But in any case, there is a real disconnection between the creation of Smith Cart accounts and DNN accounts. And when testing with a 4111... card in test mode, Smith Cart accounts were created, but DNN accounts were not, thus there were many repeats in the database and there is no way to delete the orphaned accounts except to manually edit the database. This would of course happen when you get the object errors after a purchase when using the first method of requiring an account for checkout (not add to cart).
But, back to a few of the initial errors when adding to a cart does NOT require an account, but checkout does... You will eventually get to a screen that has you confirm your order, but note the screen below:
Note how it says the login is OPTIONAL (even though it is required by the cart). Plus, if you did not have the right password created in the initial screen, with the 7 numbers or letters, you will get the error shown in the above pic. Plus, you will get the object error on checkout. So again, to avoid this, I had to enforce an account to simply add to the cart, which is OK!!! It seems to take you on a different route to account creation. But the user gets no information on why an account could not be created, it simply says unable to create account. To avoid this, SC should validate the form fields before trying to create an account.
Hope this all makes sense. Again, DO NOT use the following screen on the site:
Set it up to use this screen by selecting "Add To Cart Requires Login" and you will get:
One final major problem... The login screen from SC does not allow the user to login. The default DNN login does, but the Smith Cart login screen will not work. Again, ONLY the DNN login screen works, but not SC.
Does Not Work:
Does Work:
So the question is: How can we get validated new user accounts so there are no errors later, and how can we get the SC login screen to work the same as the DNN login screen, where a user can login with either. Note: SOME ACCOUNTS will work with both, such as accounts created through DNN. But if it is created through SC, only the DNN login will work for that account.
Update 4:10pm...
If Hide Login and Password is selected so it does not show in the checkout screen, it resolves part of the conflict. But! The major issue is that if you create an account where you initiate a new account in this screen:
And if the password is not valid according to DNN (e.g. 12345), then when the purchase is made the DNN account will NOT get created, you will get an "Object reference not set to an instance of an object." error after the payment gateway approves the order, but your cart will not have any knowledge of the order because of the "Object reference not set to an instance of an object" error because DNN refused to accept the account. Also, the SC login screen not working, but DNN login screen working problem still exists.