5

Store doesn't support adding a final confirmation page AFTER you have already taken payment. As soon as payment is successful, the order is complete (that is why payment must be on the last page of your checkout). You won't be able to support this without significantly modifying the checkout codde, and besides, only a few gateways would support it (the ...


5

It sure is. You just need to make sure you've mapped them to Store's order/custom order fields. Create your custom member fields in Members > Member Fields. Then, in Store > Settings > Order fields make sure the fields are mapped up to the member fields. If they are custom fields then use order_custom1-9. The right hand column is where you select which ...


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

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

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 ...


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} ...


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


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

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="...


3

I'm not sure you really need a final confirmation screen AFTER payment because this is what the order confirmation page is for once you're returned to the site after paying for your goods. I provide an order summary page after the user has entered in the order details and before they make the payment as that is the time you want to display it to give them ...


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.


2

Ian is exactly right. You can either edit the gateway directly, or you could create your own gateway class which extends the existing one and overwrites the VendorTxCode which is sent to Sage Pay. This isn't something which I've heard of anyone doing before, normally the VendorTxCode is the same as Store's payment_id which makes them easy to match up should ...


2

Store doesn't deal with member details outside of the checkout. For that you'd need to use the default Member module with custom profile fields or take advantage of Freemember (also made by Exp:resso so the integration should be good). FreeMember mainly just provides an easier way to deal with member profiles by releasing them from the shackles of default ...


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

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

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

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

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


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