mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2026-01-19 14:04:31 +01:00
* Add Lightning payout support * Adjust Greenfield API to allow other payment types for Payouts * Pull payment view: Improve payment method select * Pull payments view: Update JS * Pull payments view: Table improvements * Pull payment form: Remove duplicate name field * Cleanup Lightning branch after rebasing * Update swagger documnetation for Lightning support * Remove required requirement for amount in pull payments * Adapt Refund endpoint to support multiple playment methods * Support LNURL Pay for Pull Payments * Revert "Remove required requirement for amount in pull payments" This reverts commit 96cb78939d43b7be61ee2d257800ccd1cce45c4c. * Support Lightning address payout claims * Fix lightning claim handling and provide better error messages * Fix tests Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
28 lines
1.5 KiB
C#
28 lines
1.5 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;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
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 destination, string error)> ParseClaimDestination(PaymentMethodId paymentMethodId, string destination, bool validate);
|
|
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);
|
|
IEnumerable<PaymentMethodId> GetSupportedPaymentMethods();
|
|
Task<IActionResult> InitiatePayment(PaymentMethodId paymentMethodId, string[] payoutIds);
|
|
}
|