Jump to content

Need to eliminate initial tentative s/h price on Cart


Recommended Posts

Once again I had to send this email to a Pending payment customer I lost :(

Quote

I ran through the process as if I were you, using your zip code. It's not a code problem. Before you provide a delivery address the software shows a temporary s/h as if it were being delivered to our state. After you put in your information, the actual s/h for your zip did show, but it did not catch your attention.

I do use the Estimate Shipping code on the cart - but I don't think many customers use it. They see the s/h from within our state and then are put off when they see the higher s/h later on in checkout.

Can it be coded so the temporary store state s/h does not show at all??

 

Link to comment
Share on other sites

Hard to say - without the Estimate they don't get to see if they want to pay the total price until after they have input a lot of personal information. I would prefer some way to show zip code estimate early.

I will leave it disabled for a while and see if number of Pending goes up or down.

In the meantime, if you see a way to keep the Estimate without the home state s/h, I would like that better.

Link to comment
Share on other sites

"they don't get to see if they want to pay the total price until after they have input a lot of personal information."

That is one of those Duh! realizations. I would think every online shopper knows that unless and until some info is given (Foundation has the Refine Estimate widget), tax and shipping is an estimate or simply not shown at all.

Link to comment
Share on other sites

AGREED, customers should know that the program can't know their s/h until they have given their zip. But we get quite a few of these kinds of Pending explanations and probably many more who don't bother to reply to my request to help if they had trouble.

This one did not realize the s/h was "changed" until they were on PayPal. By then they think I'm pulling a fast one on them. Can't win for losing.

Can I get that REfine the Estimate widget to load by itself before they fill anything else out?

I sure don't want to mess up code and fix it so nothing works right. But I can't be the only one who still deals with potential buyers who are not online shopping saavy, even after all these years.

Link to comment
Share on other sites

I will think about the plugin. Thanks for bringing that to my attention. But I did some double checking on what I have normally when the s/h shows.

My small screen emulator shows the Estimate only - MUCH more in-your-face than on the large screen. There's no option shown of shipping choices until they clicked to continue Checkout. THEN they see the place to fill in all their information and at the bottom is the Cart with the shipping choices with the correct s/h shown for the lowest cost shipping price.

That is exactly what I would like all screen sizes to do. I am going to use a test site and see if I can use the small screen code on a large page.

Link to comment
Share on other sites

I played with the test site and am very pleased with the medium to large screen,

991987489_Screenshot_2019-08-02httpsdirtybuttercom.png.df4ccbaac8411b4ddbea5815ad0a4a49.png

Moving the Estimate link to the left makes it more intuitive, plus changing the Language wording helps.

BU I need spacing help with the Small screen - I can't get the shipping options and final s/h price to properly move to a new line to keep from being squeezed.

694205018_Screenshot_2019-08-02httpsdirtybuttercom.png.23d078dc34068aac743df8cc2f820503.png

Link to comment
Share on other sites

I think I fixed it - getting everthing lined up was a little more challenging. There's probably a more elegant way to do it, but see what you think:

      {if isset($SHIPPING)}
      <tr>
	 <td width="10%" nowrap="nowrap"><span class="redbold">{$LANG.basket.shipping} </span>
       <br>
         {if $ESTIMATE_SHIPPING}
            (<a href="#" onclick="$('#getEstimateSmall').slideToggle();"><strong>{$LANG.common.refine_estimate}</strong></a>)
            <div id="getEstimateSmall" class="hide panel callout">
               <h4>
                  <svg class="icon right" id="getEstimateClose" onclick="$('#getEstimateSmall').slideUp();"><use xlink:href="#icon-times"></use></svg>{$LANG.basket.specify_shipping}</h4>
               <div>
                  <label for="estimate_country_small" class="hide-for-small-only">{$LANG.address.country}</label>
                  <select name="estimate[country]" id="estimate_country_small" class="nosubmit country-list" rel="estimate_state_small">
                     {foreach from=$COUNTRIES item=country}<option value="{$country.numcode}" {$country.selected}>{$country.name}</option>{/foreach}
                  </select>
               </div>
               <div>
                  <label for="estimate_state_small" class="hide-for-small-only">{$LANG.address.state}</label>
                  <input type="text" name="estimate[state]" id="estimate_state_small" value="{$ESTIMATES.state}" placeholder="{$LANG.address.state}">
               </div>
               <div>
                  <label for="estimate_postcode_small" class="hide-for-small-only">{$LANG.address.postcode}</label>
                  <input type="text" value="{$ESTIMATES.postcode}" placeholder="{$LANG.address.postcode}" id="estimate_postcode_small" name="estimate[postcode]">
               </div>
	       
               <div>
                  <input type="submit" name="get-estimate" class="button expand" value="{$LANG.basket.fetch_shipping_rates}">
               </div>
               <script type="text/javascript">
               var county_list = {$STATE_JSON};
               </script>
            </div>
            {/if}
         </td>
	 	 </tr>
	 <tr>
         <td colspan="6">
            {if !isset($free_coupon_shipping)}
            <select name="shipping" class="nomarg">
               <option value="">{$LANG.form.please_select}</option>
               {foreach from=$SHIPPING key=group item=methods}
               {if $HIDE_OPTION_GROUPS ne '1'}
               <optgroup label="{$group}">{/if}
                  {foreach from=$methods item=method}
                  <option value="{$method.value}" {$method.selected}>{$method.display}</option>
                  {/foreach}
                  {if $HIDE_OPTION_GROUPS ne '1'}
               </optgroup>
               {/if}
               {/foreach}
            </select>
            {/if}
         </td>
	 </tr>
	 <tr>
         <td colspan="6" class="text-right">
            {$SHIPPING_VALUE}
         </td>
      </tr>
      {/if}

 

1919776233_Screenshot_2019-08-03httpsdirtybuttercom.png.59f9ecac6394b5d105938e95bd53c470.png

I added one little tweak to keep the shading behind Shipping consistent with the rest of the shading:

<td colspan="6"><span class="redbold">{$LANG.basket.shipping} </span> instead of <td width="10%" nowrap="nowrap">

One thing I did notice is that the drop down for Estimate provides space for State even when I have that choice Disabled in Zones. No harm - the drop down works correctly with it left blank. Should work just like the Checkout choice - see the blank there only if Zones settings offer the option. Bug?

Link to comment
Share on other sites

I can always create a custom language entry if it ever does get used in some other place. Since this is an important part of the Checkout Process screen as I have modified it - I will have to translate that phrase into every language I allow on the live store. I have a bad habit of forgetting to do that with most of the language edits I've made over the years.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...