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 StartCardOnboardingAsync( HttpContext httpContext, StartCardOnboardingRequest request, CancellationToken ct = default); Task CompleteCardOnboardingAsync( HttpContext httpContext, string sessionId, CancellationToken ct = default); Task> ListCardsAsync(HttpContext httpContext, CancellationToken ct = default); Task RemoveCardAsync(HttpContext httpContext, string cardToken, CancellationToken ct = default); Task SetDefaultCardAsync(HttpContext httpContext, string cardToken, CancellationToken ct = default); Task GetTransactionHistoryAsync( HttpContext httpContext, int page, int pageSize, CancellationToken ct = default); } }