mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2026-02-08 15:54:20 +01:00
Refactor: Move DeserializePaymentMethodDetails to PaymentType
This commit is contained in:
@@ -19,9 +19,14 @@ namespace BTCPayServer.Payments
|
||||
public override string ToPrettyString() => "On-Chain";
|
||||
public override string GetId() => "BTCLike";
|
||||
|
||||
public override CryptoPaymentData DeserializePaymentData(string cryptoPaymentData)
|
||||
public override CryptoPaymentData DeserializePaymentData(string str)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<BitcoinLikePaymentData>(cryptoPaymentData);
|
||||
return JsonConvert.DeserializeObject<BitcoinLikePaymentData>(str);
|
||||
}
|
||||
|
||||
public override IPaymentMethodDetails DeserializePaymentMethodDetails(string str)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<Payments.Bitcoin.BitcoinLikeOnChainPaymentMethod>(str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,9 +18,14 @@ namespace BTCPayServer.Payments
|
||||
public override string ToPrettyString() => "Off-Chain";
|
||||
public override string GetId() => "LightningLike";
|
||||
|
||||
public override CryptoPaymentData DeserializePaymentData(string cryptoPaymentData)
|
||||
public override CryptoPaymentData DeserializePaymentData(string str)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<Payments.Lightning.LightningLikePaymentData>(cryptoPaymentData);
|
||||
return JsonConvert.DeserializeObject<Payments.Lightning.LightningLikePaymentData>(str);
|
||||
}
|
||||
|
||||
public override IPaymentMethodDetails DeserializePaymentMethodDetails(string str)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<Payments.Lightning.LightningLikePaymentMethodDetails>(str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ namespace BTCPayServer.Payments
|
||||
}
|
||||
|
||||
public abstract string GetId();
|
||||
public abstract CryptoPaymentData DeserializePaymentData(string cryptoPaymentData);
|
||||
public abstract CryptoPaymentData DeserializePaymentData(string str);
|
||||
public abstract IPaymentMethodDetails DeserializePaymentMethodDetails(string str);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -756,15 +756,7 @@ namespace BTCPayServer.Services.Invoices
|
||||
else
|
||||
{
|
||||
var paymentType = GetId().PaymentType;
|
||||
IPaymentMethodDetails details = null;
|
||||
if (paymentType == PaymentTypes.BTCLike)
|
||||
{
|
||||
details = JsonConvert.DeserializeObject<Payments.Bitcoin.BitcoinLikeOnChainPaymentMethod>(PaymentMethodDetails.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
details = JsonConvert.DeserializeObject<Payments.Lightning.LightningLikePaymentMethodDetails>(PaymentMethodDetails.ToString());
|
||||
}
|
||||
IPaymentMethodDetails details = paymentType.DeserializePaymentMethodDetails(PaymentMethodDetails.ToString());
|
||||
if (details is Payments.Bitcoin.BitcoinLikeOnChainPaymentMethod btcLike)
|
||||
{
|
||||
btcLike.NextNetworkFee = NextNetworkFee;
|
||||
|
||||
Reference in New Issue
Block a user