0

I am using the latest version of Expression Engine, Zoo Visitors and Expresso Store 2.

I would like to use the automatic member creation functionality that comes with store 2.

However I'm having some difficulties.

I have the following code in my template (unrelated stuff removed)

{exp:store:checkout
    form_class="form-horizontal"
    return="store_example/order/ORDER_HASH"
    error_handling="inline"
    error_delimiters='<span class="help-inline">|</span>'
    payment_method="PayPal_Express"
    register_member="yes"
}


  {field:register_member} <label for="register_member">Register Member Account?</label>

  <div>
    <label for="password">Password</label>
    {field:password}
  </div>

    <div class="form-actions">
        <a href="{path='store_example/checkout2'}" class="btn">Back</a>
        <input type="submit" name="submit" value="Place Order" class="btn btn-success" />
    </div>

{/exp:store:checkout}

After completing payment on Paypal I get the following errors, which area presented in the standard ee error screen.

The form you submitted contained the following errors

You must submit a username
You must submit a username
You must submit an email address

Return to Previous Page

It says in the documentation that the username will use the order_email field. I have not explicitly requested that a username be entered.

Not sure where I'm going wrong here. Just wondering if Zoo Visitor is impacting on this process.

I'm expecting the user to receive an order confirmation email, and also an email with their account details.

Any help greatly appreciated.

Thanks Dave

2 Answers 2

1

IF you are using the register a member tags you need to make sure that you have either a username or email address field in your template populated and both a password and a password confirm field.

Username is the users email address:

{field:register_member} <label for="register_member">Register Member Account?</label>

{!-- if you want people to be able to login with their email address you would the following (this is the approach I prefer) --}
<div>
    <label for="order_email">Email Address</label>
    {field:order_email}{!-- this field is required --}
</div>
<div>
    <label for="password">Password</label>
    {field:password}{!-- this field is required --}
</div>
<div>
    <label for="password_confirm">Confirm Password</label>
    {field:password_confirm}{!-- this field is required --}
</div>

With a custom username:

{field:register_member} <label for="register_member">Register Member Account?</label>

{!-- if you want people to be able to create a unique uername you would do the following --}
<div>
    <label for="order_email">Email Address</label>
    {field:order_email}{!-- this field is required --}
</div>
<div>
    <label for="username">Username</label>
    {field:username}
</div>
<div>
    <label for="password">Password</label>
    {field:password}{!-- this field is required --}
</div>
<div>
    <label for="password_confirm">Confirm Password</label>
    {field:password_confirm}{!-- this field is required --}
</div>

From the Exp-resso Documentation:

Member accounts will be created based on the order_email, and the email address must not already be used for a member account. After creating the member account, any existing orders tied to that email address will be assigned to the new member.

Member accounts will only be created if a password fields is submitted. In addition, the username and screen_name fields are optional

1
  • Thanks for your comment. I've miss understood how the auto account creation functionality would work. I am now requesting a name/email/password from the user before they get to paypal. I've now got a new issue: expressionengine.stackexchange.com/questions/21105/…. Thanks
    – magicspon
    Commented Apr 9, 2014 at 14:27
0

It's possible that Zoo Visitor is interfering with Store's member registration functionality, although I don't think we have had any reports of problems with this.

It may be worth testing your templates on a new site, without Zoo Visitor installed, to see if you still get the error.

Alternatively, you could simply add a login/register step to your checkout process, which avoids using Store's member registration functionality entirely.

4
  • Hello, thanks for your comment. I need to registration bit to be part of the checkout process. See my comment on the previous answer. Thanks
    – magicspon
    Commented Apr 9, 2014 at 14:28
  • Sure, but FYI you can still have the login/register step on a separate page, and make it feel like part of the "checkout process". Commented Apr 9, 2014 at 14:37
  • Hello, At the moment after a user registers they automatically get redirected to paypal. I would prefer to keep the store functionality all with expresso. I don't suppose you've any idea on this issue: expressionengine.stackexchange.com/questions/21105/…. Thanks for your assistance, greatly appreciated.
    – magicspon
    Commented Apr 9, 2014 at 16:05
  • PayPal is an off-site gateway so it will always redirect to PayPal to complete the transaction. If you want to collect any user information you need to do it before you create the account and complete the order by directing the user to PayPal. Commented Apr 9, 2014 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.