Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter interface {
AppStripeAdapter
entutils.TxCreator
}
type AppFactoryService ¶
type AppFactoryService interface {
// App Factory methods
NewApp(ctx context.Context, appBase app.AppBase) (app.App, error)
InstallAppWithAPIKey(ctx context.Context, input app.AppFactoryInstallAppWithAPIKeyInput) (app.App, error)
UninstallApp(ctx context.Context, input app.UninstallAppInput) error
}
AppFactoryService contains methods to interface with app subsystem
type AppStripeAdapter ¶
type AppStripeAdapter interface {
GetStripeClientFactory() client.StripeClientFactory
GetStripeAppClientFactory() client.StripeAppClientFactory
UpdateAPIKey(ctx context.Context, input appstripeentity.UpdateAPIKeyInput) error
CreateCheckoutSession(ctx context.Context, input appstripeentity.CreateCheckoutSessionInput) (appstripeentity.CreateCheckoutSessionOutput, error)
GetWebhookSecret(ctx context.Context, input appstripeentity.GetWebhookSecretInput) (appstripeentity.GetWebhookSecretOutput, error)
GetMaskedSecretAPIKey(secretAPIKeyID secretentity.SecretID) (string, error)
// App
CreateStripeApp(ctx context.Context, input appstripeentity.CreateAppStripeInput) (appstripeentity.AppBase, error)
GetStripeAppData(ctx context.Context, input appstripeentity.GetStripeAppDataInput) (appstripeentity.AppData, error)
DeleteStripeAppData(ctx context.Context, input appstripeentity.DeleteStripeAppDataInput) error
// Billing
GetSupplierContact(ctx context.Context, input appstripeentity.GetSupplierContactInput) (billing.SupplierContact, error)
GetStripeInvoice(ctx context.Context, input appstripeentity.GetStripeInvoiceInput) (*stripe.Invoice, error)
// Customer
GetStripeCustomerData(ctx context.Context, input appstripeentity.GetStripeCustomerDataInput) (appstripeentity.CustomerData, error)
UpsertStripeCustomerData(ctx context.Context, input appstripeentity.UpsertStripeCustomerDataInput) error
DeleteStripeCustomerData(ctx context.Context, input appstripeentity.DeleteStripeCustomerDataInput) error
SetCustomerDefaultPaymentMethod(ctx context.Context, input appstripeentity.SetCustomerDefaultPaymentMethodInput) (appstripeentity.SetCustomerDefaultPaymentMethodOutput, error)
}
type BillingService ¶
type BillingService interface {
GetSupplierContact(ctx context.Context, input appstripeentity.GetSupplierContactInput) (billing.SupplierContact, error)
// Invoice webhook handlers
HandleInvoiceStateTransition(ctx context.Context, input appstripeentity.HandleInvoiceStateTransitionInput) error
HandleInvoiceSentEvent(ctx context.Context, input appstripeentity.HandleInvoiceSentEventInput) error
}
BillingService contains methods for managing billing subsystem (invoices)
type CustomerService ¶
type CustomerService interface {
GetStripeCustomerData(ctx context.Context, input appstripeentity.GetStripeCustomerDataInput) (appstripeentity.CustomerData, error)
UpsertStripeCustomerData(ctx context.Context, input appstripeentity.UpsertStripeCustomerDataInput) error
DeleteStripeCustomerData(ctx context.Context, input appstripeentity.DeleteStripeCustomerDataInput) error
SetCustomerDefaultPaymentMethod(ctx context.Context, input appstripeentity.SetCustomerDefaultPaymentMethodInput) (appstripeentity.SetCustomerDefaultPaymentMethodOutput, error)
CreateCheckoutSession(ctx context.Context, input appstripeentity.CreateCheckoutSessionInput) (appstripeentity.CreateCheckoutSessionOutput, error)
}
CustomerService contains methods for managing customer data
type Service ¶
type Service interface {
AppFactoryService
StripeAppService
CustomerService
BillingService
}
type StripeAppService ¶
type StripeAppService interface {
UpdateAPIKey(ctx context.Context, input appstripeentity.UpdateAPIKeyInput) error
GetMaskedSecretAPIKey(secretAPIKeyID secretentity.SecretID) (string, error)
GetStripeAppData(ctx context.Context, input appstripeentity.GetStripeAppDataInput) (appstripeentity.AppData, error)
GetWebhookSecret(ctx context.Context, input appstripeentity.GetWebhookSecretInput) (appstripeentity.GetWebhookSecretOutput, error)
}
StripeAppService contains methods for managing stripe app
Click to show internal directories.
Click to hide internal directories.