- A store administrator can define on a channel level whether or not they want to offer guest checkout in the channel
This configuration is in the Orders section and is a toggle between Enable and Disable
- When a guest user tries to check out an order, the site provides them with the option to log in/register or check out as a guest
This is encapsulated in a widget which can be placed on a page
- When a user without an account clicks a checkout button, they are redirected to this "authentication" page
- When a user logged in with an account clicks a checkout button, they are auto-redirected from the "authentication" page to the checkout page
- There is a health check on the channel which will auto-generate this authentication page for admins, creating the page layout, web content and placing widgets on the page.
- The headline, copy and button name are all stored in the display context and can be customized with an ADT
- If the user choose guest checkout, they also need to enter their email address during the check out process in the shipping or billing step (shipping, unless the shipping step is hidden because there are no shippable items).
- When the user submits the shipping or billing information step, a Commerce Account with the Guest Account Type is created
- When the user completes the checkout process and places the order, the order is associated with their Account
The user can create an account using the email address they used to place the order and their Guest Account will be converted into a Personal account Admins can configure a cleanup job which will clean up Guest Account Types with no associated placed orders after having existed a specified number of days (nice to have)
- We should not recreate the log in and registration portlet. We should re-use the existing Portal portlet.
- We should not create more than one extra check out step
We should use check out steps to cover this functionality, not a new widget
COMMERCE-2847 for mocks.
What happens when a person tries to checkout as a guest using an email address that matches the email of an existing user?
We don't like their existing account and the guest order. Guest order will remain guest.
- Create a cart as a guest, log in to an existing account, guest cart gets transferred
- Create a cart as a guest, create a new account, guest cart gets transferred
- Create a cart as a guest, try to check out, log in to an existing account, check out
- Create a cart as a guest, try to check out, create a new account, check out
- Create a cart as a guest, try to check out, choose to check out as guest
- View open order created by guest in the control panel
- View placed order created by guest in the control panel
- Guest order placed, receive email notification triggered by order placed