mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-23 14:40:36 +01:00
* Make Invoice Create Faster And Fix Gap Limit Issue This make address reserve only when user "activate" paymet method in ui. optional setting in store checkout ui. * Fix swagger documentation around Lazy payment methods * fix changed code signature * Add missing GreenField API for activate feature * Fix checkout experience styling for activate feature * Fix issue with Checkout activate button * Make lightning also work with activation * Make sure PreparePaymentModel is still called on payment handlers even when unactivated * Make payment link return empty if not activated * Add activate payment method method to client and add test * remove debugger * add e2e test * Rearranging lazy payments position in UI to be near dependent Unified QR code * fix rebase conflicts * Make lazy payment method mode activate on UI load. Co-authored-by: Kukks <evilkukka@gmail.com> Co-authored-by: rockstardev <rockstardev@users.noreply.github.com> Co-authored-by: Andrew Camilleri <kukks@btcpayserver.org>
82 lines
2.6 KiB
C#
82 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using BTCPayServer.Client.JsonConverters;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Converters;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace BTCPayServer.Client.Models
|
|
{
|
|
public abstract class StoreBaseData
|
|
{
|
|
/// <summary>
|
|
/// the name of the store
|
|
/// </summary>
|
|
public string Name { get; set; }
|
|
|
|
public string Website { get; set; }
|
|
|
|
[JsonConverter(typeof(TimeSpanJsonConverter.Seconds))]
|
|
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
|
public TimeSpan InvoiceExpiration { get; set; } = TimeSpan.FromMinutes(15);
|
|
|
|
[JsonConverter(typeof(TimeSpanJsonConverter.Seconds))]
|
|
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
|
public TimeSpan MonitoringExpiration { get; set; } = TimeSpan.FromMinutes(60);
|
|
|
|
[JsonConverter(typeof(StringEnumConverter))]
|
|
public SpeedPolicy SpeedPolicy { get; set; }
|
|
public string LightningDescriptionTemplate { get; set; }
|
|
public double PaymentTolerance { get; set; } = 0;
|
|
public bool AnyoneCanCreateInvoice { get; set; }
|
|
|
|
|
|
public bool RequiresRefundEmail { get; set; }
|
|
public bool LightningAmountInSatoshi { get; set; }
|
|
public bool LightningPrivateRouteHints { get; set; }
|
|
public bool OnChainWithLnInvoiceFallback { get; set; }
|
|
public bool LazyPaymentMethods { get; set; }
|
|
public bool RedirectAutomatically { get; set; }
|
|
|
|
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
|
public bool ShowRecommendedFee { get; set; } = true;
|
|
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
|
public int RecommendedFeeBlockTarget { get; set; } = 1;
|
|
|
|
public string DefaultPaymentMethod { get; set; }
|
|
|
|
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
|
public string DefaultLang { get; set; } = "en";
|
|
|
|
public string CustomLogo { get; set; }
|
|
|
|
public string CustomCSS { get; set; }
|
|
|
|
public string HtmlTitle { get; set; }
|
|
|
|
[JsonConverter(typeof(StringEnumConverter))]
|
|
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
|
|
public NetworkFeeMode NetworkFeeMode { get; set; } = NetworkFeeMode.Never;
|
|
|
|
public bool PayJoinEnabled { get; set; }
|
|
|
|
|
|
[JsonExtensionData]
|
|
public IDictionary<string, JToken> AdditionalData { get; set; }
|
|
}
|
|
|
|
public enum NetworkFeeMode
|
|
{
|
|
MultiplePaymentsOnly,
|
|
Always,
|
|
Never
|
|
}
|
|
|
|
public enum SpeedPolicy
|
|
{
|
|
HighSpeed = 0,
|
|
MediumSpeed = 1,
|
|
LowSpeed = 2,
|
|
LowMediumSpeed = 3
|
|
}
|
|
}
|