Uploaded image for project: 'Blesta Core'
  1. Blesta Core
  2. CORE-5397

Domain Manager: On pricing sync, convert currency to default currency if the registrar module returns a price in another active currency

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.11.0
    • Fix Version/s: 5.12.0-b2
    • Component/s: Plugins
    • Labels:
      None

      Description

      As an example, OVH Domains Canada returns pricing in CAD (I believe). If we have USD as our default currency, and we do a price sync, nothing happens because we are using USD and the API returns prices in CAD.

      Instead, if there is a currency mismatch, we should check if the currency returned by the API is installed in Blesta. If it is installed, do a currency conversion from CAD to USD (in this example) and set prices in USD.

      If the currency exists (CAD) but they have not run an exchange rate processor, then it will default to 1-to-1, meaning the USD price will be set for the value returned by CAD. It might make sense to show a message if we are converting the currencies.

      NOTE! If our default currency is something other than what the registrar returns, it WILL DO A CURRENCY CONVERSION BUT ONLY FOR 1 YEAR. To reproduce do the following:

      1. Set default currency to GBP
      2. Sync exchange rates
      3. Using Namesilo (which returns prices in USD) import a TLD for all 10 years.
      4. Note that USD pricing for all 10 years is imported, and GBP pricing for 1 year is imported (and converted).

      If we are doing a currency conversion for 1 year, why are we not doing so for all the years selected on the import? Maybe that's all we need to do here.

      IF I go and in and check the box to enable the terms 2-10 years, and do a price sync, it will populate the prices. So the issue seems to be that it does not enable all the terms selected.

      Additionally, there are some reports that even when the registrar module returns pricing for other installed currencies, those prices are not updated. If the price in the currency is set, shouldn't we import it? And if it's set, we do not need to do a currency conversion.

      It raises the question.. should we always import all currencies or only the default currency regardless of the currency returned by the registrar module? Maybe we should have an option for which currencies to import? Tell me what you think.

        Activity

        admin Paul Phillips created issue -
        admin Paul Phillips made changes -
        Field Original Value New Value
        Rank Ranked higher
        admin Paul Phillips made changes -
        Rank Ranked lower
        admin Paul Phillips made changes -
        Description As an example, OVH Domains Canada returns pricing in CAD (I believe). If we have USD as our default currency, and we do a price sync, nothing happens because we are using USD and the API returns prices in CAD.

        Instead, if there is a currency mismatch, we should check if the currency returned by the API is installed in Blesta. If it is installed, do a currency conversion from CAD to USD (in this example) and set prices in USD.

        If the currency exists (CAD) but they have not run an exchange rate processor, then it will default to 1-to-1, meaning the USD price will be set for the value returned by CAD. It might make sense to show a message if we are converting the currencies.
        As an example, OVH Domains Canada returns pricing in CAD (I believe). If we have USD as our default currency, and we do a price sync, nothing happens because we are using USD and the API returns prices in CAD.

        Instead, if there is a currency mismatch, we should check if the currency returned by the API is installed in Blesta. If it is installed, do a currency conversion from CAD to USD (in this example) and set prices in USD.

        If the currency exists (CAD) but they have not run an exchange rate processor, then it will default to 1-to-1, meaning the USD price will be set for the value returned by CAD. It might make sense to show a message if we are converting the currencies.

        *NOTE! If our default currency is something other than what the registrar returns, it WILL DO A CURRENCY CONVERSION BUT ONLY FOR 1 YEAR. To reproduce do the following:*

        1. Set default currency to GBP
        2. Sync exchange rates
        3. Using Namesilo (which returns prices in USD) import a TLD for all 10 years.
        4. Note that USD pricing for all 10 years is imported, and GBP pricing for 1 year is imported (and converted).

        If we are doing a currency conversion for 1 year, why are we not doing so for all the years selected on the import? Maybe that's all we need to do here.
        admin Paul Phillips made changes -
        Description As an example, OVH Domains Canada returns pricing in CAD (I believe). If we have USD as our default currency, and we do a price sync, nothing happens because we are using USD and the API returns prices in CAD.

        Instead, if there is a currency mismatch, we should check if the currency returned by the API is installed in Blesta. If it is installed, do a currency conversion from CAD to USD (in this example) and set prices in USD.

        If the currency exists (CAD) but they have not run an exchange rate processor, then it will default to 1-to-1, meaning the USD price will be set for the value returned by CAD. It might make sense to show a message if we are converting the currencies.

        *NOTE! If our default currency is something other than what the registrar returns, it WILL DO A CURRENCY CONVERSION BUT ONLY FOR 1 YEAR. To reproduce do the following:*

        1. Set default currency to GBP
        2. Sync exchange rates
        3. Using Namesilo (which returns prices in USD) import a TLD for all 10 years.
        4. Note that USD pricing for all 10 years is imported, and GBP pricing for 1 year is imported (and converted).

        If we are doing a currency conversion for 1 year, why are we not doing so for all the years selected on the import? Maybe that's all we need to do here.
        As an example, OVH Domains Canada returns pricing in CAD (I believe). If we have USD as our default currency, and we do a price sync, nothing happens because we are using USD and the API returns prices in CAD.

        Instead, if there is a currency mismatch, we should check if the currency returned by the API is installed in Blesta. If it is installed, do a currency conversion from CAD to USD (in this example) and set prices in USD.

        If the currency exists (CAD) but they have not run an exchange rate processor, then it will default to 1-to-1, meaning the USD price will be set for the value returned by CAD. It might make sense to show a message if we are converting the currencies.

        *NOTE! If our default currency is something other than what the registrar returns, it WILL DO A CURRENCY CONVERSION BUT ONLY FOR 1 YEAR. To reproduce do the following:*

        1. Set default currency to GBP
        2. Sync exchange rates
        3. Using Namesilo (which returns prices in USD) import a TLD for all 10 years.
        4. Note that USD pricing for all 10 years is imported, and GBP pricing for 1 year is imported (and converted).

        If we are doing a currency conversion for 1 year, why are we not doing so for all the years selected on the import? Maybe that's all we need to do here.

        *IF I go and in and check the box to enable the terms 2-10 years, and do a price sync, it will populate the prices. So the issue seems to be that it does not enable all the terms selected.*
        admin Paul Phillips made changes -
        Fix Version/s 5.12.0-b2 [ 12210 ]
        Fix Version/s 5.13.0-b1 [ 12203 ]
        admin Paul Phillips made changes -
        Description As an example, OVH Domains Canada returns pricing in CAD (I believe). If we have USD as our default currency, and we do a price sync, nothing happens because we are using USD and the API returns prices in CAD.

        Instead, if there is a currency mismatch, we should check if the currency returned by the API is installed in Blesta. If it is installed, do a currency conversion from CAD to USD (in this example) and set prices in USD.

        If the currency exists (CAD) but they have not run an exchange rate processor, then it will default to 1-to-1, meaning the USD price will be set for the value returned by CAD. It might make sense to show a message if we are converting the currencies.

        *NOTE! If our default currency is something other than what the registrar returns, it WILL DO A CURRENCY CONVERSION BUT ONLY FOR 1 YEAR. To reproduce do the following:*

        1. Set default currency to GBP
        2. Sync exchange rates
        3. Using Namesilo (which returns prices in USD) import a TLD for all 10 years.
        4. Note that USD pricing for all 10 years is imported, and GBP pricing for 1 year is imported (and converted).

        If we are doing a currency conversion for 1 year, why are we not doing so for all the years selected on the import? Maybe that's all we need to do here.

        *IF I go and in and check the box to enable the terms 2-10 years, and do a price sync, it will populate the prices. So the issue seems to be that it does not enable all the terms selected.*
        As an example, OVH Domains Canada returns pricing in CAD (I believe). If we have USD as our default currency, and we do a price sync, nothing happens because we are using USD and the API returns prices in CAD.

        Instead, if there is a currency mismatch, we should check if the currency returned by the API is installed in Blesta. If it is installed, do a currency conversion from CAD to USD (in this example) and set prices in USD.

        If the currency exists (CAD) but they have not run an exchange rate processor, then it will default to 1-to-1, meaning the USD price will be set for the value returned by CAD. It might make sense to show a message if we are converting the currencies.

        *NOTE! If our default currency is something other than what the registrar returns, it WILL DO A CURRENCY CONVERSION BUT ONLY FOR 1 YEAR. To reproduce do the following:*

        1. Set default currency to GBP
        2. Sync exchange rates
        3. Using Namesilo (which returns prices in USD) import a TLD for all 10 years.
        4. Note that USD pricing for all 10 years is imported, and GBP pricing for 1 year is imported (and converted).

        If we are doing a currency conversion for 1 year, why are we not doing so for all the years selected on the import? Maybe that's all we need to do here.

        *IF I go and in and check the box to enable the terms 2-10 years, and do a price sync, it will populate the prices. So the issue seems to be that it does not enable all the terms selected.*

        Additionally, there are some reports that even when the registrar module returns pricing for other installed currencies, those prices are not updated. If the price in the currency is set, shouldn't we import it? And if it's set, we do not need to do a currency conversion.

        It raises the question.. should we always import all currencies or only the default currency regardless of the currency returned by the registrar module? Maybe we should have an option for which currencies to import? Tell me what you think.
        admin Paul Phillips made changes -
        Rank Ranked higher

          People

          • Assignee:
            Unassigned
            Reporter:
            admin Paul Phillips
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: