34 lines
1.3 KiB
C#
34 lines
1.3 KiB
C#
using Fitness_core_BE.DTOs.PlatformBilling;
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
namespace Fitness_core_BE.Interfaces.Services
|
|
{
|
|
// The gym owner's own card(s) on file for their HexaFitness platform subscription, and
|
|
// the transaction history behind those charges — backed by Payment-Service via
|
|
// IPaymentGatewayClient, scoped to the caller's own Client (see UserRoleHelper.GetClientId).
|
|
public interface IClientPaymentMethodService
|
|
{
|
|
Task<StartCardOnboardingResult> StartCardOnboardingAsync(
|
|
HttpContext httpContext,
|
|
StartCardOnboardingRequest request,
|
|
CancellationToken ct = default);
|
|
|
|
Task<CardOnboardingStatusResult> CompleteCardOnboardingAsync(
|
|
HttpContext httpContext,
|
|
string sessionId,
|
|
CancellationToken ct = default);
|
|
|
|
Task<List<ClientCardDto>> ListCardsAsync(HttpContext httpContext, CancellationToken ct = default);
|
|
|
|
Task RemoveCardAsync(HttpContext httpContext, string cardToken, CancellationToken ct = default);
|
|
|
|
Task<ClientCardDto> SetDefaultCardAsync(HttpContext httpContext, string cardToken, CancellationToken ct = default);
|
|
|
|
Task<TransactionHistoryResult> GetTransactionHistoryAsync(
|
|
HttpContext httpContext,
|
|
int page,
|
|
int pageSize,
|
|
CancellationToken ct = default);
|
|
}
|
|
}
|