treasurer/internal/interface/payment_provider/provider.go

24 lines
513 B
Go
Raw Normal View History

2025-06-02 14:39:46 +00:00
package payment_provider
import (
"context"
"gitea.pena/PenaSide/treasurer/internal/errors"
"gitea.pena/PenaSide/treasurer/internal/models"
"github.com/labstack/echo/v4"
)
type PaymentProvider interface {
GetName() string
Webhooker
Invocer
}
type Webhooker interface {
RegisterWebhookHandlers(router *echo.Group)
}
type Invocer interface {
GetSupportedPaymentMethods() []models.PaymentType
CreateInvoice(ctx context.Context, request *models.PaymentRequest) (*models.PaymentResponse, errors.Error)
}