Documentation
¶
Index ¶
Constants ¶
View Source
const ( AppEventSubsystem metadata.EventSubsystem = "app.stripe" AppCheckoutSessionEventName metadata.EventName = "app.stripe.checkout_session.created" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter interface {
AppStripeAdapter
entutils.TxCreator
}
type AppCheckoutSessionEvent ¶
type AppCheckoutSessionEvent struct {
SessionID string `json:"sessionId"`
Namespace string `json:"namespace"`
AppID string `json:"appId"`
CustomerID string `json:"customerId"`
UserID *string `json:"userId,omitempty"`
}
AppCheckoutSessionEvent is an event that is emitted when a checkout session is created
func NewAppCheckoutSessionEvent ¶
func NewAppCheckoutSessionEvent(ctx context.Context, namespace string, sessionID string, appID string, customerID string) AppCheckoutSessionEvent
NewAppCheckoutSessionEvent creates a new checkout session event
func (AppCheckoutSessionEvent) EventMetadata ¶
func (e AppCheckoutSessionEvent) EventMetadata() metadata.EventMetadata
func (AppCheckoutSessionEvent) EventName ¶
func (e AppCheckoutSessionEvent) EventName() string
func (AppCheckoutSessionEvent) Validate ¶
func (e AppCheckoutSessionEvent) Validate() error
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.UpdateAPIKeyAdapterInput) error
CreateCheckoutSession(ctx context.Context, input appstripeentity.CreateCheckoutSessionInput) (appstripeentity.CreateCheckoutSessionOutput, error)
GetWebhookSecret(ctx context.Context, input appstripeentity.GetWebhookSecretInput) (appstripeentity.GetWebhookSecretOutput, 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
HandleSetupIntentSucceeded(ctx context.Context, input appstripeentity.HandleSetupIntentSucceededInput) (appstripeentity.HandleSetupIntentSucceededOutput, 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
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.