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());
|
return _Networks.ContainsKey(cryptoCode.ToUpperInvariant());
|
||||||
}
|
}
|
||||||
|
public BTCPayNetworkBase GetNetwork(string cryptoCode)
|
||||||
|
{
|
||||||
|
return GetNetwork<BTCPayNetworkBase>(cryptoCode);
|
||||||
|
}
|
||||||
public T GetNetwork<T>(string cryptoCode) where T: BTCPayNetworkBase
|
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(!_Networks.TryGetValue(cryptoCode.ToUpperInvariant(), out BTCPayNetworkBase network))
|
||||||
{
|
{
|
||||||
if (cryptoCode == "XBT")
|
if (cryptoCode == "XBT")
|
||||||
|
|||||||
@@ -110,11 +110,11 @@ namespace BTCPayServer.PaymentRequest
|
|||||||
var paymentMethodId = paymentEntity.GetPaymentMethodId();
|
var paymentMethodId = paymentEntity.GetPaymentMethodId();
|
||||||
|
|
||||||
string txId = paymentData.GetPaymentId();
|
string txId = paymentData.GetPaymentId();
|
||||||
string link = paymentEntity.PaymentMethodHandlerDictionary[paymentMethodId].GetTransactionLink(paymentMethodId, txId);
|
string link = GetTransactionLink(paymentMethodId, txId);
|
||||||
return new ViewPaymentRequestViewModel.PaymentRequestInvoicePayment()
|
return new ViewPaymentRequestViewModel.PaymentRequestInvoicePayment()
|
||||||
{
|
{
|
||||||
Amount = paymentData.GetValue(),
|
Amount = paymentData.GetValue(),
|
||||||
PaymentMethod = paymentEntity.GetPaymentMethodId().ToString(),
|
PaymentMethod = paymentMethodId.ToString(),
|
||||||
Link = link,
|
Link = link,
|
||||||
Id = txId
|
Id = txId
|
||||||
};
|
};
|
||||||
@@ -122,5 +122,11 @@ namespace BTCPayServer.PaymentRequest
|
|||||||
}).ToList()
|
}).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;
|
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,
|
public override object PreparePayment(DerivationSchemeSettings supportedPaymentMethod, StoreData store,
|
||||||
BTCPayNetworkBase network)
|
BTCPayNetworkBase network)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -53,8 +53,6 @@ namespace BTCPayServer.Payments
|
|||||||
Money amount, PaymentMethodId paymentMethodId);
|
Money amount, PaymentMethodId paymentMethodId);
|
||||||
|
|
||||||
IEnumerable<PaymentMethodId> GetSupportedPaymentMethods();
|
IEnumerable<PaymentMethodId> GetSupportedPaymentMethods();
|
||||||
|
|
||||||
string GetTransactionLink(PaymentMethodId paymentMethodId, params object[] args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface IPaymentMethodHandler<TSupportedPaymentMethod, TBTCPayNetwork> : IPaymentMethodHandler
|
public interface IPaymentMethodHandler<TSupportedPaymentMethod, TBTCPayNetwork> : IPaymentMethodHandler
|
||||||
@@ -88,9 +86,6 @@ namespace BTCPayServer.Payments
|
|||||||
|
|
||||||
public abstract IEnumerable<PaymentMethodId> GetSupportedPaymentMethods();
|
public abstract IEnumerable<PaymentMethodId> GetSupportedPaymentMethods();
|
||||||
|
|
||||||
public abstract string GetTransactionLink(PaymentMethodId paymentMethodId, params object[] args);
|
|
||||||
|
|
||||||
|
|
||||||
public virtual object PreparePayment(TSupportedPaymentMethod supportedPaymentMethod, StoreData store,
|
public virtual object PreparePayment(TSupportedPaymentMethod supportedPaymentMethod, StoreData store,
|
||||||
BTCPayNetworkBase network)
|
BTCPayNetworkBase network)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -167,11 +167,6 @@ namespace BTCPayServer.Payments.Lightning
|
|||||||
}
|
}
|
||||||
return "The amount of the invoice is too high to be paid with 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,
|
public override void PrepareInvoiceDto(InvoiceResponse invoiceResponse, InvoiceEntity invoiceEntity,
|
||||||
InvoiceCryptoInfo invoiceCryptoInfo, PaymentMethodAccounting accounting, PaymentMethod info)
|
InvoiceCryptoInfo invoiceCryptoInfo, PaymentMethodAccounting accounting, PaymentMethod info)
|
||||||
|
|||||||
Reference in New Issue
Block a user