4

For the sake of having an answer posted: The Manual gateway must be enabled in the Store payment methods settings for the Manual gateway to work.


4

I have recently completed a build using Store 2 and Zoo Visitor, I ran into this issue but came up with a working solution. {exp:store:checkout next="cart/review" register_member="yes" disable_javascript="yes" require="name|order_email|address1|city|state|postcode|country" error_handling="inline" error_delimiters='<div>|</div>' } ...


4

Ok - found a fix for this. This simple condition {if shipping_same_as_billing} ALWAYS SHOWS AS TRUE! <p><strong>Same as Billing Details</strong></p> {if:else} No longer works, but altering the condition to be more specific does. {if shipping_same_as_billing == 1} ...


4

Follow Justin's good advice for coupon redemption using the built-in Store functionality. See Update Cart on the Checkout Tag Docs. How would I be able to include this form and then link the 'Redeem' button to a function that I already have in my module? Then along with using the native update cart function you can run your own method when a coupon is ...


3

You should be able to add a field for the coupon code into your existing HTML form for the checkout then just include an update cart button next to the coupon code input.


3

I have nearly the same setup (Store 2.0.3, EE 2.7.2, Zoo Visitor 1.3.29) — and I'm still unable to get Store's billing info fields to become pre-filled with an already-registered, currently-logged-in member. For the time being, I'm grabbing that data from ZV, like so: <input type="text" name="billing_last_name" value="{if logged_in}{visitor:global:...


3

I see you're already attempting to grab the new XID from the return data of the Ajax call: // update the XID hash in the form so we don't run afoul of EE's secure forms $("input[name=XID]").val(response.XID); But I fell onto this documentation the other day which I think is new and relating to new EE version handling. Seems like if submitted by Ajax the ...


3

This was a bug in Store, where mapped Zoo Visitor member fields were correctly saved after placing an order, but they were not loaded for new carts. This has been fixed in Store 2.1.0: Fixed mapped Zoo Visitor member fields not being loaded for new orders https://exp-resso.com/docs/release_notes.html#store_210


2

YYYYYYEEEEEEEEESSSSSSSS!!!! Thank F for that. I have got this working. Peter's answer was the right way to go. It was in the docs all along! For those that may run into a similar situation, I fixed this by adding the recommend ajaxPrefilter that is mentioned in the docs - with a little tweak to define the form. An updated JS Fiddle: http://jsfiddle.net/...


2

I believe the problem here was that after allowing the user to enter a promo_code, the promo_code field was redisplayed empty. That way, when the customer submitted the final order for payment, the promo code was reset to a blank string, resulting in the discount being removed. To avoid this, either hide the promo_code field when it is set, or display a ...


2

I looked into this further and it seems that the dynamic options are nor being picked up. I managed to create a fix for this to mod.cartthrob.php by adding: $option_value = ($item) ? $item->item_options($field_name) : ''; after $this->EE->TMPL->tagdata = $this->EE->TMPL->swap_var_single('option_field', $field_name, $this->EE->...


2

You will need to upload the images separately from the checkout. I suggest using a channel entry form or as you mentioned, solspace freeform. After you get your customer to upload an image, you need to remember which image they wanted printed on their tshirt (for example customer may have more than one image uploaded). The easiest way to do this is to get ...


2

You will need to use a product instead of a custom order field. In Store 2, the checkout tag and add to cart tag both submit to the same URL, so you can use this to add optional products to the cart during checkout. To do this, the high level overview is that you simply submit a hidden field with the entry_id along with the standard update cart fields. ...


2

Here's how we did this type of thing. The site uses the following checkout sequence, but using EE custom member fields and freemember rather than Profile Edit. View Basket > Add customer details > Checkout confirm > Payment Gateway > Confirmation - with option to register We've setup the member fields, giving them the same short names as the customer ...


2

There is nothing built into Store that allows it to take cash orders but you could easily create an admin page with Store templates for your employee's then use the Manual gateway which is perfect for cash, checks or similar orders. With phone orders you could do the same thing or if customers are giving their card number over the phone you could use ...


2

I assume this is a form on the front end, is that correct? Assuming it is, and assuming clicking the button submits the form in the usual way, you just need to set the action attribute on your opening form tag to be a URL that includes the appropriate Action ID (the one tied to the redeem_coupon() method in your module). The front end Action URL should ...


2

Store saves the shipping and billing address if they are supplied once the order is submitted. This will show the order details in the CP admin area and you can access it using the {exp:store:orders} tags on the front-end. You can see all of the information that store collects about an order by going to the exp_store_orders table in the database. Having ...


1

Check your browser's developer tools network tab to see exactly which fields are being submitted. My guess is that when the customer clicks through to the next step of the checkout, you are either submitting two promo_code fields, or submitting a blank promo_code field (which would reset the discount back to $0).


1

There is a module out there that will integrate with the USPS API and calculate that shipping for you. http://devot-ee.com/add-ons/expresso-store-usps-shipping


1

Make sure that you have cleared your cart to reset the session which should then reset the {order_discount} tag


1

The tag {order_discount} should give you the amount of money that's being discounted from the customers cart? This will be formatted for currency, if you just want it as a numeric value, simply use {order_discount_val}. You have: {order_subtotal} (The amount before the discount) {order_discount} (The amount of the discount being applied) {order_total} (...


1

I would update Cartthrob to V2.6 if i were you Sean!


1

Since PayPal is an off-site payment gateway, whereas Stripe is an on-site gateway, you'll likely want separate checkout forms, since the final action of each will differ (the Stripe checkout form tokenizes the card and sends it for payment, whereas the PayPal checkout form sends the user to PayPal). So, on the previous screen before the payment step, give ...


1

Check you haven't got a hidden input in your checkout form process. This can overwrite the currency. If its in there, remove it, or change the value. It usually works like this: <input type="hidden" name="currency_code" id="currency_code" value="CAD"> Not sure what that add-on your using is. But the way I recently got around this was to set the ...


1

In case anyone else runs into this issue, the problem was resolved by removing the protocol from the site URL in the general settings menu. http://mysite.com became //mysite.com and now all of the assets are being delivered through the correct protocol depending on what section of the site you are on.


1

In the checkout and order tags, you can access the {items} loop. Inside the {items} loop you can use the {entry_id} variable to access entry custom fields and categories: {items} {exp:channel:entries entry_id="{entry_id}"} <!-- you can access category tags here --> {/exp:channel:entries} {/items} Then inside the channel entries tag you can ...


1

For the Merchant Service application - a working Test or Live wesbite is required so that the merchant bank, Elavon, can simulate the check out process up to the payment page. This does not need to be integrated with Sage Pay at this point.


1

Every time you submit the form, you need to create a new XID and pass it back into the hidden input values. Essentially, each time you process the form it uses the XID token so the next time you process it without a page load, you will get that error. It's also possible the CT devs could add some to code to reuse the last XID if an AJAX request has been ...


1

This isnt an answer as such, just some comments. In 2.7, if secure forms is on, a form wont submit without an xid. Prior to 2.7 it would if youd created your own form tags. If xid is blank, you can add it manually like this <input type="hidden" name="XID" value="{XID_HASH}" /> This answer may help too link Good luck


1

That's the correct way to specify a gateway for the transaction as long as they are not nested (which wouldn't work anyway). You can also pass the gateway short name via POST with a hidden input like this: <input type="hidden" name="gateway" value="stripe"> Does your product/subscription order list the gateway that was used if you look at the order ...


Only top voted, non community-wiki answers of a minimum length are eligible