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

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

| improve this answer | |
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.

| improve this answer | |
  • 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 Apr 9 '14 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". – Adrian Macneil Apr 9 '14 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 Apr 9 '14 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. – Justin Long Apr 9 '14 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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