mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-22 14:22:40 +01:00
Refactor: Move DeserializePaymentMethodDetails to PaymentType
This commit is contained in:
parent
8ffd182b98
commit
b97e083017
4 changed files with 17 additions and 14 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue