namespace PowderCoating.Application.Interfaces; public interface IStripeService { Task CreateCheckoutSessionAsync(int companyId, int newPlan, bool isAnnual, string successUrl, string cancelUrl); Task CreateRegistrationCheckoutSessionAsync(int plan, bool isAnnual, string email, string companyName, string successUrl, string cancelUrl); Task IsRegistrationCheckoutPaidAsync(string sessionId); Task FulfillCheckoutAsync(string sessionId); Task FulfillRegistrationCheckoutAsync(string sessionId, int companyId, int plan); Task SyncSubscriptionAsync(int companyId); Task CreateCustomerPortalSessionAsync(string stripeCustomerId, string returnUrl); Task HandleWebhookAsync(string json, string stripeSignature); }