mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-20 02:28:31 +01:00
516efe56f4
* Refactor: Dot not make LNURLPaymentMethodDetails depends on BTCPayInvoiceId * Abstract PaymentProof * fix bug * Make the selenium container resolves the btcpay host name
48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
using System.Collections.Generic;
|
|
using BTCPayServer.Client.JsonConverters;
|
|
using BTCPayServer.Lightning;
|
|
using BTCPayServer.Payments.Lightning;
|
|
using BTCPayServer.Services.Invoices;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace BTCPayServer.Payments
|
|
{
|
|
public class LNURLPayPaymentMethodDetails : LightningLikePaymentMethodDetails
|
|
{
|
|
public LightningSupportedPaymentMethod LightningSupportedPaymentMethod { get; set; }
|
|
|
|
[JsonConverter(typeof(LightMoneyJsonConverter))]
|
|
public LightMoney GeneratedBoltAmount { get; set; }
|
|
public bool Bech32Mode { get; set; }
|
|
|
|
public string ProvidedComment { get; set; }
|
|
public string ConsumedLightningAddress { get; set; }
|
|
|
|
public override PaymentType GetPaymentType()
|
|
{
|
|
return LNURLPayPaymentType.Instance;
|
|
}
|
|
|
|
public override string GetAdditionalDataPartialName()
|
|
{
|
|
if (string.IsNullOrEmpty(ProvidedComment) && string.IsNullOrEmpty(ConsumedLightningAddress))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return "LNURL/AdditionalPaymentMethodDetails";
|
|
}
|
|
|
|
public override JObject GetAdditionalData()
|
|
{
|
|
var result = base.GetAdditionalData();
|
|
if (!string.IsNullOrEmpty(ProvidedComment))
|
|
result.Add("providedComment", new JValue(ProvidedComment));
|
|
if (!string.IsNullOrEmpty(ConsumedLightningAddress))
|
|
result.Add("consumedLightningAddress", new JValue(ConsumedLightningAddress));
|
|
return result;
|
|
}
|
|
}
|
|
}
|