Everything is working, quite nicely, except for the actual payment submission / conversion to an order. Payment methods are enabled but {field:payment_method} returns nothing. {payment_method_options} returns the payment method options. Not checking the 'Accept terms and conditions returns an error but nothing else will cause an error, simply a failure and return to the final checkout page.

  • Sounds like you are trying to submit the form missing a required field that you do not have templated in the last template remove inline error handling from the last template and try again to see if the default EE error page gives you any errors. – Justin Long Jul 25 '13 at 2:25
  • Also what version of Store & EE are you using? What gateway are you using and are you using live or development credentials? – Justin Long Jul 25 '13 at 2:25

Hard to help without seeing your template code, but since you said some errors work, I'm assuming your submit button is actually just updating the cart.

In Store, the name of your submit button affects what action it triggers. For example:

  • <input type="submit" name="empty_cart" value="Click me" /> will empty the cart
  • <input type="submit" name="next" value="Click me" /> will proceed to the URL specified in the next parameter in your template tag (the next step of the checkout)
  • <input type="submit" name="submit" value="Click me" /> will submit the cart (and proceed to the payment gateway)
  • <input type="submit" name="commit" value="Click me" /> will also submit the cart (sometimes submit can cause issues with javascript form submissions, so commit is provided as an alternative)
  • Anything else is treated as "Update Cart", and will update the cart totals and redirect back to the current page. I assume this is what is happening in your case.

For more info see: https://exp-resso.com/docs/store/checkout_tag.html#submitting_orders


I found the solution to Store not updating quantities etc when the accept_terms is unchecked. You need to remove the accept_terms:0 from the form post. To do this add the id dont_accept_terms to the hidden field that is before the aceept_terms checkbox:

<input type="hidden" name="accept_terms" value="0" id="dont_accept_terms">

Then add some jquery to remove the hidden field when update is clicked:

<input type="submit" name="update_cart" value="Update" onclick="$('#dont_accept_terms').remove();" />

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.