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;