forex

package
v0.0.0-...-ff628f3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(configuration *configuration.Configuration, apiClient client.HttpClient) *Client

func (*Client) GetRates

func (c *Client) GetRates(queryFilter RatesQuery) (*RatesResponse, error)

func (*Client) RequestQuote

func (c *Client) RequestQuote(request QuoteRequest) (*QuoteResponse, error)

type QuoteRequest

type QuoteRequest struct {
	SourceCurrency      common.Currency `json:"source_currency,omitempty"`
	SourceAmount        int64           `json:"source_amount,omitempty"`
	DestinationCurrency common.Currency `json:"destination_currency,omitempty"`
	DestinationAmount   int64           `json:"destination_amount,omitempty"`
	ProcessingChannelId string          `json:"processing_channel_id,omitempty"`
}

type QuoteResponse

type QuoteResponse struct {
	HttpMetadata        common.HttpMetadata `json:"http_metadata,omitempty"`
	Id                  string              `json:"id,omitempty"`
	SourceCurrency      common.Currency     `json:"source_currency,omitempty"`
	SourceAmount        int64               `json:"source_amount,omitempty"`
	DestinationCurrency common.Currency     `json:"destination_currency,omitempty"`
	DestinationAmount   int64               `json:"destination_amount,omitempty"`
	Rate                float64             `json:"rate,omitempty"`
	ExpiresOn           *time.Time          `json:"expires_on,omitempty"`
	IsSingleUse         bool                `json:"is_single_use,omitempty"`
}

type Rate

type Rate struct {
	ExchangeRate float64 `json:"exchange_rate,omitempty"`
	CurrencyPair string  `json:"currency_pair,omitempty"`
}

type RatesQuery

type RatesQuery struct {
	Product             string `url:"product,omitempty"`
	Source              Source `url:"source,omitempty"`
	CurrencyPairs       string `url:"currency_pairs,omitempty"`
	ProcessingChannelId string `url:"processing_channel_id,omitempty"`
}

type RatesResponse

type RatesResponse struct {
	Product              string   `json:"product,omitempty"`
	Source               Source   `json:"source,omitempty"`
	Rates                []Rate   `json:"currency_pairs,omitempty"`
	InvalidCurrencyPairs []string `json:"invalid_currency_pairs,omitempty"`
}

type Source

type Source string
const (
	Visa       Source = "visa"
	MasterCard Source = "mastercard"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL