mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 22:44:29 +01:00
Refactor: Remove BlockExplorerLink from the payment handler
This commit is contained in:
@@ -106,9 +106,14 @@ namespace BTCPayServer
|
||||
{
|
||||
return _Networks.ContainsKey(cryptoCode.ToUpperInvariant());
|
||||
}
|
||||
|
||||
public BTCPayNetworkBase GetNetwork(string cryptoCode)
|
||||
{
|
||||
return GetNetwork<BTCPayNetworkBase>(cryptoCode);
|
||||
}
|
||||
public T GetNetwork<T>(string cryptoCode) where T: BTCPayNetworkBase
|
||||
{
|
||||
if (cryptoCode == null)
|
||||
throw new ArgumentNullException(nameof(cryptoCode));
|
||||
if(!_Networks.TryGetValue(cryptoCode.ToUpperInvariant(), out BTCPayNetworkBase network))
|
||||
{
|
||||
if (cryptoCode == "XBT")
|
||||
|
||||
@@ -110,11 +110,11 @@ namespace BTCPayServer.PaymentRequest
|
||||
var paymentMethodId = paymentEntity.GetPaymentMethodId();
|
||||
|
||||
string txId = paymentData.GetPaymentId();
|
||||
string link = paymentEntity.PaymentMethodHandlerDictionary[paymentMethodId].GetTransactionLink(paymentMethodId, txId);
|
||||
string link = GetTransactionLink(paymentMethodId, txId);
|
||||
return new ViewPaymentRequestViewModel.PaymentRequestInvoicePayment()
|
||||
{
|
||||
Amount = paymentData.GetValue(),
|
||||
PaymentMethod = paymentEntity.GetPaymentMethodId().ToString(),
|
||||
PaymentMethod = paymentMethodId.ToString(),
|
||||
Link = link,
|
||||
Id = txId
|
||||
};
|
||||
@@ -122,5 +122,11 @@ namespace BTCPayServer.PaymentRequest
|
||||
}).ToList()
|
||||
};
|
||||
}
|
||||
|
||||
private string GetTransactionLink(PaymentMethodId paymentMethodId, string txId)
|
||||
{
|
||||
var network = _BtcPayNetworkProvider.GetNetwork(paymentMethodId.CryptoCode);
|
||||
return string.Format(CultureInfo.InvariantCulture, network.BlockExplorerLink, txId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,14 +104,6 @@ namespace BTCPayServer.Payments.Bitcoin
|
||||
return network.DisplayName;
|
||||
}
|
||||
|
||||
|
||||
public override string GetTransactionLink(PaymentMethodId paymentMethodId, params object[] args)
|
||||
{
|
||||
|
||||
var network = _networkProvider.GetNetwork<BTCPayNetwork>(paymentMethodId.CryptoCode);
|
||||
return string.Format(CultureInfo.InvariantCulture, network.BlockExplorerLink, args);
|
||||
}
|
||||
|
||||
public override object PreparePayment(DerivationSchemeSettings supportedPaymentMethod, StoreData store,
|
||||
BTCPayNetworkBase network)
|
||||
{
|
||||
|
||||
@@ -53,8 +53,6 @@ namespace BTCPayServer.Payments
|
||||
Money amount, PaymentMethodId paymentMethodId);
|
||||
|
||||
IEnumerable<PaymentMethodId> GetSupportedPaymentMethods();
|
||||
|
||||
string GetTransactionLink(PaymentMethodId paymentMethodId, params object[] args);
|
||||
}
|
||||
|
||||
public interface IPaymentMethodHandler<TSupportedPaymentMethod, TBTCPayNetwork> : IPaymentMethodHandler
|
||||
@@ -88,9 +86,6 @@ namespace BTCPayServer.Payments
|
||||
|
||||
public abstract IEnumerable<PaymentMethodId> GetSupportedPaymentMethods();
|
||||
|
||||
public abstract string GetTransactionLink(PaymentMethodId paymentMethodId, params object[] args);
|
||||
|
||||
|
||||
public virtual object PreparePayment(TSupportedPaymentMethod supportedPaymentMethod, StoreData store,
|
||||
BTCPayNetworkBase network)
|
||||
{
|
||||
|
||||
@@ -167,11 +167,6 @@ namespace BTCPayServer.Payments.Lightning
|
||||
}
|
||||
return "The amount of the invoice is too high to be paid with lightning";
|
||||
}
|
||||
|
||||
public override string GetTransactionLink(PaymentMethodId paymentMethodId, params object[] args)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public override void PrepareInvoiceDto(InvoiceResponse invoiceResponse, InvoiceEntity invoiceEntity,
|
||||
InvoiceCryptoInfo invoiceCryptoInfo, PaymentMethodAccounting accounting, PaymentMethod info)
|
||||
|
||||
Reference in New Issue
Block a user