diff --git a/veza-backend-api/internal/api/routes_marketplace.go b/veza-backend-api/internal/api/routes_marketplace.go index abcaa68b9..1d366091b 100644 --- a/veza-backend-api/internal/api/routes_marketplace.go +++ b/veza-backend-api/internal/api/routes_marketplace.go @@ -33,6 +33,11 @@ func (r *APIRouter) setupMarketplaceRoutes(router *gin.RouterGroup) { marketplace.WithHyperswitchConfig(true, r.config.CheckoutSuccessURL), ) } + var stripeConnectSvc *services.StripeConnectService + if r.config.StripeConnectEnabled && r.config.StripeConnectSecretKey != "" { + stripeConnectSvc = services.NewStripeConnectService(r.db.GormDB, r.config.StripeConnectSecretKey, r.logger) + opts = append(opts, marketplace.WithTransferService(stripeConnectSvc, r.config.PlatformFeeRate)) + } marketService := marketplace.NewService(r.db.GormDB, r.logger, storageService, opts...) productPreviewDir := uploadDir if productPreviewDir == "" { @@ -97,10 +102,6 @@ func (r *APIRouter) setupMarketplaceRoutes(router *gin.RouterGroup) { sellProtected.GET("/stats/top-products", marketHandler.GetSellTopProducts) sellProtected.GET("/sales", marketHandler.GetSellSales) - var stripeConnectSvc *services.StripeConnectService - if r.config.StripeConnectEnabled && r.config.StripeConnectSecretKey != "" { - stripeConnectSvc = services.NewStripeConnectService(r.db.GormDB, r.config.StripeConnectSecretKey, r.logger) - } sellHandler := handlers.NewSellHandler(stripeConnectSvc, r.logger) sellProtected.POST("/connect/onboard", sellHandler.ConnectOnboard) sellProtected.GET("/connect/callback", sellHandler.ConnectCallback) diff --git a/veza-backend-api/internal/api/routes_webhooks.go b/veza-backend-api/internal/api/routes_webhooks.go index 1a5b55909..7e82d676d 100644 --- a/veza-backend-api/internal/api/routes_webhooks.go +++ b/veza-backend-api/internal/api/routes_webhooks.go @@ -98,5 +98,9 @@ func (r *APIRouter) getMarketplaceService() marketplace.MarketplaceService { marketplace.WithHyperswitchConfig(true, r.config.CheckoutSuccessURL), ) } + if r.config.StripeConnectEnabled && r.config.StripeConnectSecretKey != "" { + scs := services.NewStripeConnectService(r.db.GormDB, r.config.StripeConnectSecretKey, r.logger) + opts = append(opts, marketplace.WithTransferService(scs, r.config.PlatformFeeRate)) + } return marketplace.NewService(r.db.GormDB, r.logger, storageService, opts...) }