2022-02-07 09:39:48 +01:00
|
|
|
using System.Collections.Generic;
|
2023-01-13 09:29:41 +01:00
|
|
|
using BTCPayServer.Services.Invoices;
|
2022-02-15 11:36:04 +01:00
|
|
|
using Newtonsoft.Json.Linq;
|
2022-02-07 09:39:48 +01:00
|
|
|
|
2018-02-19 11:06:08 +09:00
|
|
|
namespace BTCPayServer.Payments
|
|
|
|
{
|
2018-02-20 12:45:04 +09:00
|
|
|
/// <summary>
|
|
|
|
/// Represent information necessary to track a payment
|
|
|
|
/// </summary>
|
2018-02-19 15:09:05 +09:00
|
|
|
public interface IPaymentMethodDetails
|
2018-02-19 11:06:08 +09:00
|
|
|
{
|
2018-02-20 12:45:04 +09:00
|
|
|
/// <summary>
|
|
|
|
/// A string representation of the payment destination
|
|
|
|
/// </summary>
|
|
|
|
/// <returns></returns>
|
2018-02-19 11:06:08 +09:00
|
|
|
string GetPaymentDestination();
|
2019-06-04 08:59:01 +09:00
|
|
|
PaymentType GetPaymentType();
|
2018-02-20 12:45:04 +09:00
|
|
|
/// <summary>
|
2019-01-07 15:35:18 +09:00
|
|
|
/// Returns fee that the merchant charge to the customer for the next payment
|
2018-02-20 12:45:04 +09:00
|
|
|
/// </summary>
|
|
|
|
/// <returns></returns>
|
2019-01-07 15:35:18 +09:00
|
|
|
decimal GetNextNetworkFee();
|
2021-04-07 06:08:42 +02:00
|
|
|
|
2021-12-31 16:59:02 +09:00
|
|
|
bool Activated { get; set; }
|
|
|
|
virtual string GetAdditionalDataPartialName() => null;
|
2022-02-21 13:21:33 +09:00
|
|
|
virtual JObject GetAdditionalData() => new();
|
2018-02-19 11:06:08 +09:00
|
|
|
}
|
|
|
|
}
|