mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-31 20:54:31 +01:00
* Refactor and decouple Payout logic So that we can support lightning + external payout payments Fixes & refactoring almost there final Remove uneeded payment method checks Refactor payouts to handle custom payment method specific actions External onchain payments to approved payouts will now require "confirmation" from the merchant that it was sent by them. add pill tabs for payout status * Improve some UX around feature * add test and some fixes * Only listen to address tracked source and determine based on wallet get tx call from nbx * Simplify isInternal for Payout detection * fix test * Fix Noreferrer test * Make EnsureNewLightningInvoiceOnPartialPayment more resilient * Make notifications section test more resilient in CanUsePullPaymentsViaUI
25 lines
1.2 KiB
C#
25 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using BTCPayServer.Abstractions.Models;
|
|
using BTCPayServer.Client.Models;
|
|
using BTCPayServer.Data;
|
|
using BTCPayServer.Payments;
|
|
using PayoutData = BTCPayServer.Data.PayoutData;
|
|
|
|
public interface IPayoutHandler
|
|
{
|
|
public bool CanHandle(PaymentMethodId paymentMethod);
|
|
public Task TrackClaim(PaymentMethodId paymentMethodId, IClaimDestination claimDestination);
|
|
//Allows payout handler to parse payout destinations on its own
|
|
public Task<IClaimDestination> ParseClaimDestination(PaymentMethodId paymentMethodId, string destination);
|
|
public IPayoutProof ParseProof(PayoutData payout);
|
|
//Allows you to subscribe the main pull payment hosted service to events and prepare the handler
|
|
void StartBackgroundCheck(Action<Type[]> subscribe);
|
|
//allows you to process events that the main pull payment hosted service is subscribed to
|
|
Task BackgroundCheck(object o);
|
|
Task<decimal> GetMinimumPayoutAmount(PaymentMethodId paymentMethod, IClaimDestination claimDestination);
|
|
Dictionary<PayoutState, List<(string Action, string Text)>> GetPayoutSpecificActions();
|
|
Task<StatusMessageModel> DoSpecificAction(string action, string[] payoutIds, string storeId);
|
|
}
|