- legacy payment template fee lines picking

This commit is contained in:
Stephan D
2026-02-25 23:20:03 +01:00
parent 7235ca1897
commit 008427483c
24 changed files with 321 additions and 3346 deletions

View File

@@ -5,8 +5,6 @@ import (
"github.com/shopspring/decimal"
"github.com/tech/sendico/payments/storage/model"
"github.com/tech/sendico/pkg/mlogger"
sharedv1 "github.com/tech/sendico/pkg/proto/payments/shared/v1"
)
// RouteStore exposes routing definitions for plan construction.
@@ -14,21 +12,11 @@ type RouteStore interface {
List(ctx context.Context, filter *model.PaymentRouteFilter) (*model.PaymentRouteList, error)
}
// PlanTemplateStore exposes plan templates for plan construction.
type PlanTemplateStore interface {
List(ctx context.Context, filter *model.PaymentPlanTemplateFilter) (*model.PaymentPlanTemplateList, error)
}
// GatewayRegistry exposes gateway instances for capability-based selection.
type GatewayRegistry interface {
List(ctx context.Context) ([]*model.GatewayInstanceDescriptor, error)
}
// Builder constructs ordered payment plans from intents, quotes, and routing policy.
type Builder interface {
Build(ctx context.Context, payment *model.Payment, quote *sharedv1.PaymentQuote, routes RouteStore, templates PlanTemplateStore, gateways GatewayRegistry) (*model.PaymentPlan, error)
}
type SendDirection = sendDirection
const (
@@ -37,10 +25,6 @@ const (
SendDirectionIn SendDirection = sendDirectionIn
)
func NewDefaultBuilder(logger mlogger.Logger) Builder {
return newDefaultBuilder(logger)
}
func RailFromEndpoint(endpoint model.PaymentEndpoint, attrs map[string]string, isSource bool) (model.Rail, string, error) {
return railFromEndpoint(endpoint, attrs, isSource)
}
@@ -49,10 +33,6 @@ func ResolveRouteNetwork(attrs map[string]string, sourceNetwork, destNetwork str
return resolveRouteNetwork(attrs, sourceNetwork, destNetwork)
}
func SelectTemplate(ctx context.Context, logger mlogger.Logger, templates PlanTemplateStore, sourceRail, destRail model.Rail, network string) (*model.PaymentPlanTemplate, error) {
return selectPlanTemplate(ctx, logger, templates, sourceRail, destRail, network)
}
func SendDirectionForRail(rail model.Rail) SendDirection {
return sendDirectionForRail(rail)
}