#pragma warning disable CS0618 public static PaymentMethodId GetDefaultPaymentId(this StoreData storeData, BTCPayNetworkProvider networks) { PaymentMethodId[] paymentMethodIds = storeData.GetEnabledPaymentIds(networks); PaymentMethodId.TryParse(storeData.DefaultCrypto, out var defaultPaymentId); var chosen = paymentMethodIds.FirstOrDefault(f => f == defaultPaymentId) ?? paymentMethodIds.FirstOrDefault(f => f.CryptoCode == defaultPaymentId?.CryptoCode) ?? paymentMethodIds.FirstOrDefault(); return(chosen); }
#pragma warning disable CS0618 public static PaymentMethodId GetDefaultPaymentId(this StoreData storeData, BTCPayNetworkProvider networks) { PaymentMethodId[] paymentMethodIds = storeData.GetEnabledPaymentIds(networks); var defaultPaymentId = string.IsNullOrEmpty(storeData.Defaultbitcoin) ? null : PaymentMethodId.Parse(storeData.Defaultbitcoin); var chosen = paymentMethodIds.FirstOrDefault(f => f == defaultPaymentId) ?? paymentMethodIds.FirstOrDefault(f => f.bitcoinCode == defaultPaymentId?.bitcoinCode) ?? paymentMethodIds.FirstOrDefault(); return(chosen); }
public PaymentMethodOptionViewModel.Format[] GetEnabledPaymentMethodChoices(StoreData storeData) { var enabled = storeData.GetEnabledPaymentIds(_NetworkProvider); return(enabled .Select(o => new PaymentMethodOptionViewModel.Format() { Name = o.ToPrettyString(), Value = o.ToString(), PaymentId = o }).ToArray()); }
PaymentMethodOptionViewModel.Format?GetDefaultPaymentMethodChoice(StoreData storeData) { var enabled = storeData.GetEnabledPaymentIds(_NetworkProvider); var defaultPaymentId = storeData.GetDefaultPaymentId(); var defaultChoice = defaultPaymentId is not null?defaultPaymentId.FindNearest(enabled) : null; if (defaultChoice is null) { defaultChoice = enabled.FirstOrDefault(e => e.CryptoCode == _NetworkProvider.DefaultNetwork.CryptoCode && e.PaymentType == PaymentTypes.BTCLike) ?? enabled.FirstOrDefault(e => e.CryptoCode == _NetworkProvider.DefaultNetwork.CryptoCode && e.PaymentType == PaymentTypes.LightningLike) ?? enabled.FirstOrDefault(); } var choices = GetEnabledPaymentMethodChoices(storeData); return(defaultChoice is null ? null : choices.FirstOrDefault(c => defaultChoice.ToString().Equals(c.Value, StringComparison.OrdinalIgnoreCase))); }
public static List <PaymentMethodCriteria> GetPaymentMethodCriteria(this StoreData storeData, BTCPayNetworkProvider networkProvider, StoreBlob storeBlob = null) { #pragma warning disable 612 storeBlob ??= storeData.GetStoreBlob(); return(storeData.GetEnabledPaymentIds(networkProvider).Select(paymentMethodId => { var matchedFromBlob = #pragma warning disable CS0618 // Type or member is obsolete storeBlob.PaymentMethodCriteria?.SingleOrDefault(criteria => criteria.PaymentMethod == paymentMethodId && criteria.Value != null); #pragma warning restore CS0618 // Type or member is obsolete if (matchedFromBlob is null && paymentMethodId.PaymentType == LightningPaymentType.Instance && storeBlob.LightningMaxValue != null) { return new PaymentMethodCriteria() { Above = false, PaymentMethod = paymentMethodId, Value = storeBlob.LightningMaxValue }; } if (matchedFromBlob is null && paymentMethodId.PaymentType == BitcoinPaymentType.Instance && storeBlob.OnChainMinValue != null) { return new PaymentMethodCriteria() { Above = true, PaymentMethod = paymentMethodId, Value = storeBlob.OnChainMinValue }; } return new PaymentMethodCriteria() { PaymentMethod = paymentMethodId, Above = matchedFromBlob?.Above ?? true, Value = matchedFromBlob?.Value }; }).ToList()); #pragma warning restore 612 }
public Task <IEnumerable <PaymentMethodId> > GetSupportedPaymentMethods(StoreData storeData) { return(Task.FromResult(storeData.GetEnabledPaymentIds(_btcPayNetworkProvider) .Where(id => id.PaymentType == BitcoinPaymentType.Instance))); }