treasurer/internal/interface/payment_provider/provider.go

24 lines
513 B
Go

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)
}