Jump to content

Default country problem at checkout


bt123

Recommended Posts

Hi,

 I have a shop (1.7.6.4)  that contains shipping options to several countries. When you add a product to cart and continue checkout, United States appears as pre-selected country. I am using an one page checkout module and I am in Europe so local buyers see very high shipping cost as United States are selected as default and they don't continue buying process. This problem only occurs with United States. When I disable that country, checkout address form comes without any selected countries.

 Also when I change tax rate of United States to zero from tax rules settings, all prices are listed tax excluded in front office. This only happens with United States also. I have other tax excluded countries and tax rates are removed at checkout after selecting their country but I cannot understand why I have problem only with United States. 

 I checked all the settings and US is not my default country anywhere. I hope someone can help me.

Thanks in advance.

 

Edited by bt123 (see edit history)
Link to comment
Share on other sites

Did you change your default country to the desired one in Localization? Have you checked the check browser language, country to "yes"? If so that's probably your problem because it will override your default country and if someone has it set to US English it will show those prices. 

Link to comment
Share on other sites

7 hours ago, jetway said:

Did you change your default country to the desired one in Localization? Have you checked the check browser language, country to "yes"? If so that's probably your problem because it will override your default country and if someone has it set to US English it will show those prices. 

Yes I did this before but nothing changed. 

Link to comment
Share on other sites

  • 5 months later...
  • 1 month later...

There are two problems.
One is in the location settings where the default country is selected and the other is in the carrier settings where the default carrier is selected.
So these two matters are processed throughout the ordering process until you enter your country in the delivery address.
So, if before the purchase the customer is registered and has the address entered, everything will be fine, but as a guest it is not possible to identify the country to change the values.

There are several solutions.

1. When entering your e-shop, recommend registration

2. When entering your e-shop, display a pop-up window with the country selection

3. in the product detail, display the text that the shipping fee will be added according to the country of delivery

4. In the product detail, create a drop-down list with a selection of the country of delivery and the available carrier

Extra module programming is required for all changes. Creating such a module is not easy.

Edited by Guest (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

I didn't know if i should put my issue here or start a new thread. I have looked and looked and cannot find anything to fix this problem.

I'm a Canadian Merchant selling to 99% Canadians. My backend is in US dollars because it is easier to maintain pricing. This then defaults on the front end to US Dollars a customer can switch to Canadian - but having the US allows them to see that my pricing is the same (when they are price conscious).

I only can accept Canadian dollars. So even if the customer checks out in US dollars it will be converted to Canadian before it goes into the bank account (Using braintree module). However the invoice will stay in US dollars. This is not terrible; however a customer cannot tell if it is in US or Cad dollars because the symbol for both currencies is $ 

I have tried altering PHP files in the /localization/CLDR/core/common/main/ (as suggested in another thread)

Below you can see issue as it appears on the phone & in the Cart i would like it to either say USD or Cad after the price. Thank you. I don't mean to hijack this thread but i have tried these as well.

 

IMG_8956.PNG

Screen Shot 2021-02-07 at 1.01.11 PM.png

Link to comment
Share on other sites

  • 1 month later...
En 7/2/2021 a las 9:03 PM, CndCarrie dijo:

I didn't know if i should put my issue here or start a new thread. I have looked and looked and cannot find anything to fix this problem.

I'm a Canadian Merchant selling to 99% Canadians. My backend is in US dollars because it is easier to maintain pricing. This then defaults on the front end to US Dollars a customer can switch to Canadian - but having the US allows them to see that my pricing is the same (when they are price conscious).

I only can accept Canadian dollars. So even if the customer checks out in US dollars it will be converted to Canadian before it goes into the bank account (Using braintree module). However the invoice will stay in US dollars. This is not terrible; however a customer cannot tell if it is in US or Cad dollars because the symbol for both currencies is $ 

I have tried altering PHP files in the /localization/CLDR/core/common/main/ (as suggested in another thread)

Below you can see issue as it appears on the phone & in the Cart i would like it to either say USD or Cad after the price. Thank you. I don't mean to hijack this thread but i have tried these as well.

 

IMG_8956.PNG

Screen Shot 2021-02-07 at 1.01.11 PM.png

But what do you want to do? Change currency sign?

Link to comment
Share on other sites

When its Canadian they are looking at I want the work Cad to appear, when it is US I want USD to appear after prices. Currently, the only way that a customer knows which currency they are in, is to scroll to top of the page. Even when they check out, they dont' know. So if they think they are checking out in Canadian  say for 500$ but it is really US their credit card will be charged Canadian for like 700$. Its a huge problem.

 

Link to comment
Share on other sites

Just now, CndCarrie said:

Yes this is what I would like. Okay if I do that, will there be an option for USD?

Yes, for any currency.

All you have to do is add in front of it in all TPL templates where the price is displayed:

{$currency.iso_code}

eg.

<span itemprop="price" content="{$product.rounded_display_price}">{$currency.iso_code} {$product.price}</span>

 

Link to comment
Share on other sites

Because you don't have a default template, you can't write where to change files everywhere.
The main files are:

./themes/your-theme/modules/ps_currencyselector/ps_currencyselector.tpl
./themes/your-theme/modules/ps_shoppingcart/modal.tpl
./themes/your-theme/modules/ps_shoppingcart/ps_shoppingcart-product-line.tpl
./themes/your-theme/templates/catalog/_partials/product-prices.tpl
./themes/your-theme/templates/catalog/_partials/miniatures/product.tpl
./themes/your-theme/templates/checkout/_partials/cart-detailed-product-line.tpl
./themes/your-theme/templates/checkout/_partials/cart-detailed-totals.tpl
./themes/your-theme/templates/checkout/_partials/cart-summary-items-subtotal.tpl
./themes/your-theme/templates/checkout/_partials/cart-summary-items-subtotal.tpl
./themes/your-theme/templates/checkout/_partials/cart-summary-product-line.tpl
./themes/your-theme/templates/checkout/_partials/cart-summary-subtotals.tpl
./themes/your-theme/templates/checkout/_partials/cart-summary-totals.tpl
./themes/your-theme/templates/checkout/_partials/order-final-summary.tpl

 

Edited by Guest
added ps_shoppingcart (see edit history)
Link to comment
Share on other sites

On your FTP.
I also gave you the paths to the TPL files.
You need to change your-theme to your current template.
If you can't do it, hire someone for the job.
It's a matter of a few minutes for a programmer, or a hundred hours for a layman 😉

Link to comment
Share on other sites

I thought i would take a look since i built my first websites 20 years ago (might as well be 100 years now, lol). The theme does seem to have the suggested code. So maybe its a prestashop bug they should fix?

<div id="_desktop_currency_selector">
  <div class="currency-selector dropdown js-dropdown">
    <span class="hidden-lg-up">{l s='Currency:' d='Shop.Theme.Global'}</span>
    <span class="expand-more _gray-darker hidden-md-down" data-toggle="dropdown">
      {$current_currency.iso_code} {*{$current_currency.sign}*}
    </span>
    <a data-target="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="hidden-md-down">
      <i class="material-icons">&#xE5CF;</i>
    </a>
    <ul class="dropdown-menu hidden-md-down" aria-labelledby="dLabel">
      {foreach from=$currencies item=currency}
        <li {if $currency.current} class="current" {/if}>
          <a title="{$currency.name}" rel="nofollow" href="{$currency.url}" class="dropdown-item">
          {$currency.iso_code}
          {*{$currency.sign}*}
          </a>
        </li>
      {/foreach}
    </ul>
    <select class="link hidden-lg-up">
      {foreach from=$currencies item=currency}
        <option value="{$currency.url}"{if $currency.current} selected="selected"{/if}>
        {*{$currency.iso_code}*} "think the asterisks mean not enabled"?
        {$currency.sign}
        </option>
      {/foreach}
    </select>
  </div>
</div>

Link to comment
Share on other sites

Why did you comment on the currency sign?

<div id="_desktop_currency_selector">
  <div class="currency-selector dropdown js-dropdown">
    <span id="currency-selector-label">{l s='Currency:' d='Shop.Theme.Global'}</span>
    <button data-target="#" data-toggle="dropdown" class="hidden-sm-down btn-unstyle" aria-haspopup="true" aria-expanded="false" aria-label="{l s='Currency dropdown' d='Shop.Theme.Global'}">
      <span class="expand-more _gray-darker">{$current_currency.iso_code} {$current_currency.sign}</span>
      <i class="material-icons expand-more">&#xE5C5;</i>
    </button>
    <ul class="dropdown-menu hidden-sm-down" aria-labelledby="currency-selector-label">
      {foreach from=$currencies item=currency}
        <li {if $currency.current} class="current" {/if}>
          <a title="{$currency.name}" rel="nofollow" href="{$currency.url}" class="dropdown-item">{$currency.iso_code} {$currency.sign}</a>
        </li>
      {/foreach}
    </ul>
    <select class="link hidden-md-up" aria-labelledby="currency-selector-label">
      {foreach from=$currencies item=currency}
        <option value="{$currency.url}"{if $currency.current} selected="selected"{/if}>{$currency.iso_code} {$currency.sign}</option>
      {/foreach}
    </select>
  </div>
</div>

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...