Fix: By default, BTC On chain, the BTC Lightning BOLT11 should be preferred

This commit is contained in:
nicolas.dorier
2021-11-04 18:21:38 +09:00
parent f3e9e2ec5f
commit 2afd02152d
2 changed files with 9 additions and 1 deletions

View File

@@ -514,7 +514,9 @@ namespace BTCPayServer.Controllers
} }
if (paymentMethodId is null) if (paymentMethodId is null)
{ {
paymentMethodId = enabledPaymentIds.First(); paymentMethodId = enabledPaymentIds.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.BTCLike) ??
enabledPaymentIds.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.LightningLike) ??
enabledPaymentIds.First();
} }
isDefaultPaymentId = true; isDefaultPaymentId = true;
} }

View File

@@ -419,6 +419,12 @@ namespace BTCPayServer.Controllers
var enabled = storeData.GetEnabledPaymentIds(_NetworkProvider); var enabled = storeData.GetEnabledPaymentIds(_NetworkProvider);
var defaultPaymentId = storeData.GetDefaultPaymentId(); var defaultPaymentId = storeData.GetDefaultPaymentId();
var defaultChoice = defaultPaymentId is PaymentMethodId ? defaultPaymentId.FindNearest(enabled) : null; var defaultChoice = defaultPaymentId is PaymentMethodId ? defaultPaymentId.FindNearest(enabled) : null;
if (defaultChoice is null)
{
defaultChoice = enabled.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.BTCLike) ??
enabled.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.LightningLike) ??
enabled.FirstOrDefault();
}
var choices = enabled var choices = enabled
.Select(o => .Select(o =>
new CheckoutAppearanceViewModel.Format() new CheckoutAppearanceViewModel.Format()