Files
sendico/api/gateway/mntx/internal/service/monetix/client.go
2025-12-26 12:26:28 +01:00

44 lines
980 B
Go

package monetix
import (
"context"
"net/http"
"github.com/tech/sendico/pkg/mlogger"
"go.uber.org/zap"
)
type Client struct {
cfg Config
client *http.Client
logger mlogger.Logger
}
func NewClient(cfg Config, httpClient *http.Client, logger mlogger.Logger) *Client {
client := httpClient
if client == nil {
client = &http.Client{Timeout: cfg.timeout()}
}
cl := logger
if cl == nil {
cl = zap.NewNop()
}
return &Client{
cfg: cfg,
client: client,
logger: cl.Named("client"),
}
}
func (c *Client) CreateCardPayout(ctx context.Context, req CardPayoutRequest) (*CardPayoutSendResult, error) {
return c.sendCardPayout(ctx, req)
}
func (c *Client) CreateCardTokenPayout(ctx context.Context, req CardTokenPayoutRequest) (*CardPayoutSendResult, error) {
return c.sendCardTokenPayout(ctx, req)
}
func (c *Client) CreateCardTokenization(ctx context.Context, req CardTokenizeRequest) (*TokenizationResult, error) {
return c.sendTokenization(ctx, req)
}