Files
databasus/backend/internal/features/billing/provider/provider.go
2026-03-27 22:02:25 +03:00

22 lines
658 B
Go

package billing_provider
import "log/slog"
type BillingProvider interface {
GetProviderName() ProviderName
UpgradeQuantityWithSurcharge(logger *slog.Logger, providerSubscriptionID string, quantityGB int) error
ScheduleQuantityDowngradeFromNextBillingCycle(
logger *slog.Logger,
providerSubscriptionID string,
quantityGB int,
) error
GetSubscription(logger *slog.Logger, providerSubscriptionID string) (ProviderSubscription, error)
CreateCheckoutSession(logger *slog.Logger, req CheckoutRequest) (checkoutURL string, err error)
CreatePortalSession(logger *slog.Logger, providerCustomerID, returnURL string) (portalURL string, err error)
}