appstripe

package
v1.0.0-beta.205 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

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 (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

CustomerService contains methods for managing customer data

type StripeAppService

StripeAppService contains methods for managing stripe app

Directories

Path Synopsis
app

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL