using BCards.Web.Models; using Stripe; namespace BCards.Web.Services; public interface IPaymentService { Task CreateCheckoutSessionAsync(string userId, string planType, string returnUrl, string cancelUrl); Task CreateOrGetCustomerAsync(string userId, string email, string name); Task HandleWebhookAsync(string requestBody, string signature); Task> GetPricesAsync(); Task CancelSubscriptionAsync(string subscriptionId); Task UpdateSubscriptionAsync(string subscriptionId, string newPriceId); Task GetPlanLimitationsAsync(string planType); // Novos métodos para gerenciamento de assinatura Task GetSubscriptionDetailsAsync(string userId); Task> GetPaymentHistoryAsync(string userId); Task CreatePortalSessionAsync(string customerId, string returnUrl); }