diff --git a/BTCPayServer/BTCPayServer.csproj b/BTCPayServer/BTCPayServer.csproj index 8a8339282..66424d1d9 100644 --- a/BTCPayServer/BTCPayServer.csproj +++ b/BTCPayServer/BTCPayServer.csproj @@ -2,7 +2,7 @@ Exe netcoreapp2.1 - 1.0.2.75 + 1.0.2.76 NU1701,CA1816,CA1308,CA1810,CA2208 diff --git a/BTCPayServer/Controllers/WalletsController.cs b/BTCPayServer/Controllers/WalletsController.cs index c1b99fb7a..8da782744 100644 --- a/BTCPayServer/Controllers/WalletsController.cs +++ b/BTCPayServer/Controllers/WalletsController.cs @@ -150,7 +150,7 @@ namespace BTCPayServer.Controllers var storeData = store.GetStoreBlob(); var rateRules = store.GetStoreBlob().GetRateRules(_NetworkProvider); rateRules.GlobalMultiplier = 1.0m; - var currencyPair = new Rating.CurrencyPair(paymentMethod.PaymentId.CryptoCode, storeData.DefaultLang ?? "USD"); + var currencyPair = new Rating.CurrencyPair(paymentMethod.PaymentId.CryptoCode, GetCurrencyCode(storeData.DefaultLang) ?? "USD"); WalletModel model = new WalletModel(); model.ServerUrl = GetLedgerWebsocketUrl(this.HttpContext, walletId.CryptoCode, paymentMethod.DerivationStrategyBase); model.CryptoCurrency = walletId.CryptoCode; @@ -177,6 +177,19 @@ namespace BTCPayServer.Controllers return View(model); } + private string GetCurrencyCode(string defaultLang) + { + if (defaultLang == null) + return null; + try + { + var ri = new RegionInfo(defaultLang); + return ri.ISOCurrencySymbol; + } + catch(ArgumentException) { } + return null; + } + private DerivationStrategy GetPaymentMethod(WalletId walletId, StoreData store) { if (store == null || !store.HasClaim(Policies.CanModifyStoreSettings.Key))