using Event = Stripe.Event; namespace Bit.Billing.Services; public interface IStripeWebhookHandler { /// /// Handles the specified Stripe event asynchronously. /// /// The Stripe event to be handled. /// A task representing the asynchronous operation. Task HandleAsync(Event parsedEvent); } /// /// Defines the contract for handling Stripe subscription deleted events. /// public interface ISubscriptionDeletedHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe subscription updated events. /// public interface ISubscriptionUpdatedHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe upcoming invoice events. /// public interface IUpcomingInvoiceHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe charge succeeded events. /// public interface IChargeSucceededHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe charge refunded events. /// public interface IChargeRefundedHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe payment succeeded events. /// public interface IPaymentSucceededHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe payment failed events. /// public interface IPaymentFailedHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe invoice created events. /// public interface IInvoiceCreatedHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe payment method attached events. /// public interface IPaymentMethodAttachedHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe customer updated events. /// public interface ICustomerUpdatedHandler : IStripeWebhookHandler; /// /// Defines the contract for handling Stripe Invoice Finalized events. /// public interface IInvoiceFinalizedHandler : IStripeWebhookHandler;