using Stripe; namespace Bit.Billing.Services; public interface IStripeFacade { Task GetCharge( string chargeId, ChargeGetOptions chargeGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task GetCustomer( string customerId, CustomerGetOptions customerGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task UpdateCustomer( string customerId, CustomerUpdateOptions customerUpdateOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task GetEvent( string eventId, EventGetOptions eventGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task GetInvoice( string invoiceId, InvoiceGetOptions invoiceGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task> ListInvoices( InvoiceListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task UpdateInvoice( string invoiceId, InvoiceUpdateOptions invoiceGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task PayInvoice( string invoiceId, InvoicePayOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task VoidInvoice( string invoiceId, InvoiceVoidOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task GetPaymentMethod( string paymentMethodId, PaymentMethodGetOptions paymentMethodGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task> ListSubscriptions( SubscriptionListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task GetSubscription( string subscriptionId, SubscriptionGetOptions subscriptionGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task UpdateSubscription( string subscriptionId, SubscriptionUpdateOptions subscriptionGetOptions = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task CancelSubscription( string subscriptionId, SubscriptionCancelOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task DeleteCustomerDiscount( string customerId, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); Task DeleteSubscriptionDiscount( string subscriptionId, RequestOptions requestOptions = null, CancellationToken cancellationToken = default); }