Some of the store owners have asked why J2Store does not have a username field in the checkout steps and why it uses the email as username. The concern behind this question is totally understandable because Joomla!, unlike other content management systems, has a Username in the sign up process.
Well, the primary reason for having email as the username is to ensure a faster checkout. Unlike a normal website, an online store has a very less time to convert the visitor into a customer (often less than 1 or 2 minutes). For this to happen, the store should provide a faster checkout experience.
If we provide Username as email, then there are chances that multiple customers trying same username.
If someone already registered with a username - John, another John (There are thousands of Johns out there) may try with the same username - John. He will get an error saying, the Username already exists.
Then he will try with John1 (or something else). If that is also taken, he will try a third time.
If again, he is unlucky and gets an error, he will abandon the cart and go to another store.
You end up losing the customer. (Also, all his referrals).
But this situation will NEVER (almost impossible) happen when we use EMAIL as the username.