24 lines
513 B
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)
|
||
|
}
|