forpay

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2020 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const Version = "0.2.0"

Version is the SDK version of the package.

Variables

This section is empty.

Functions

func Timeout

func Timeout(connectTimeout time.Duration) func(cxt context.Context, net, addr string) (c net.Conn, err error)

Timeout sets DialContext func with timeout.

Types

type Client

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

Client is the forpay SDK client.

func NewClientWithRSA

func NewClientWithRSA(appID, keyID, filePath string) (*Client, error)

NewClientWithRSA creates new forpay SDK client with rsa private keyfile loaded.

func (*Client) GetBalance

func (client *Client) GetBalance(req *GetBalanceRequest) (*GetBalanceResponse, error)

GetBalance invokes the 'GET /{version}/balance' API.

func (*Client) GetConnectTimeout

func (client *Client) GetConnectTimeout() time.Duration

GetConnectTimeout returns connect timeout.

func (*Client) GetCurrencies

func (client *Client) GetCurrencies(req *GetCurrenciesRequest) (*GetCurrenciesResponse, error)

GetCurrencies invokes the 'GET /{version}/currencies' API.

func (*Client) GetCurrency

func (client *Client) GetCurrency(req *GetCurrencyRequest) (*GetCurrencyResponse, error)

GetCurrency invokes the 'GET /{version}/currencies?currency_id={currencyID}' API.

func (*Client) GetDepositInfo

func (client *Client) GetDepositInfo(req *GetDepositInfoRequest) (*GetDepositInfoResponse, error)

GetDepositInfo invokes the 'GET /{version}/deposit_info' API.

func (*Client) GetLockedBalance

func (client *Client) GetLockedBalance(req *GetLockedBalanceRequest) (*GetLockedBalanceResponse, error)

GetLockedBalance invokes the 'POST /{version}/balance/locked?wallet_id={walletID}&currency_id={currencyID}' API.

func (*Client) GetLockedBalances

func (client *Client) GetLockedBalances(req *GetLockedBalanceRequest) (*GetLockedBalancesResponse, error)

GetLockedBalances invokes the 'POST /{version}/balance/locked' API.

func (*Client) GetReadTimeout

func (client *Client) GetReadTimeout() time.Duration

GetReadTimeout returns read timeout.

func (*Client) LoadConfig

func (client *Client) LoadConfig(config *Config)

LoadConfig applies configs for client.

func (*Client) LockBalance

func (client *Client) LockBalance(req *LockBalanceRequest) (*LockBalanceResponse, error)

LockBalance invokes the 'POST /{version}/balance/lock' API.

func (*Client) Request

func (client *Client) Request(req request.ForpayRequest, resp response.ForpayResponse) error

Request sends api request without authorization header.

func (*Client) RequestWithAuth

func (client *Client) RequestWithAuth(req request.ForpayRequest, resp response.ForpayResponse) error

RequestWithAuth sends api request with authorization header.

func (*Client) SetConnectTimeout

func (client *Client) SetConnectTimeout(connectTimeout time.Duration)

SetConnectTimeout sets connect timeout for client.

func (*Client) SetReadTimeout

func (client *Client) SetReadTimeout(readTimeout time.Duration)

SetReadTimeout sets read timeout for clinet.

func (*Client) SyncUserInfo

func (client *Client) SyncUserInfo(req *SyncUserInfoRequest) (*SyncUserInfoResponse, error)

SyncUserInfo invokes the 'POST /{version}/user_info' API.

func (*Client) Transfer

func (client *Client) Transfer(req *TransferRequest) (*TransferResponse, error)

Transfer invokes the 'POST /{version}/transfer' API.

func (*Client) UnlockBalance

func (client *Client) UnlockBalance(req *UnlockBalanceRequest) (*UnlockBalanceResponse, error)

UnlockBalance invokes the 'POST /{version}/balance/unlock' API.

func (*Client) Withdraw

func (client *Client) Withdraw(req *WithdrawRequest) (*WithdrawResponse, error)

Withdraw invokes the 'POST /{version}/withdraw' API.

type Config

type Config struct {
	AutoRetry    bool   `default:"true"`
	MaxRetryTime int    `default:"3"`
	UserAgent    string `default:""`
	Debug        bool   `default:"false"`
	Timeout      time.Duration
}

Config provides configurations to change api client's behaviuor.

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig returns config with default configurations.

func (*Config) DisableAutoRetry

func (c *Config) DisableAutoRetry() *Config

DisableAutoRetry disables auto retry feature.

func (*Config) EnableAutoRetry

func (c *Config) EnableAutoRetry() *Config

EnableAutoRetry enables auto retry feature.

func (*Config) WithMaxRetryTime

func (c *Config) WithMaxRetryTime(maxRetryTime int) *Config

WithMaxRetryTime sets the maximum retry time of an api call.

func (*Config) WithTimeout

func (c *Config) WithTimeout(timeout time.Duration) *Config

WithTimeout sets request timeout for client.

type GetBalanceRequest

type GetBalanceRequest struct {
	*request.BaseRequest
}

GetBalanceRequest .

func CreateGetBalanceRequest

func CreateGetBalanceRequest(walletID uint64, currencyID uint16) *GetBalanceRequest

CreateGetBalanceRequest creates get balance request.

type GetBalanceResponse

type GetBalanceResponse struct {
	*response.BaseResponse
	Data *models.Balance `json:"data"`
}

GetBalanceResponse .

type GetCurrenciesRequest

type GetCurrenciesRequest struct {
	*request.BaseRequest
}

GetCurrenciesRequest .

func CreateGetCurrenciesRequest

func CreateGetCurrenciesRequest() *GetCurrenciesRequest

CreateGetCurrenciesRequest creates get currencies requesy.

type GetCurrenciesResponse

type GetCurrenciesResponse struct {
	*response.BaseResponse
	Data []models.Currency `json:"data"`
}

GetCurrenciesResponse .

type GetCurrencyRequest

type GetCurrencyRequest struct {
	*request.BaseRequest
}

GetCurrencyRequest .

func CreateGetCurrencyRequest

func CreateGetCurrencyRequest(currencyID uint16) *GetCurrencyRequest

CreateGetCurrencyRequest creates get currency request.

type GetCurrencyResponse

type GetCurrencyResponse struct {
	*response.BaseResponse
	Data *models.Currency `json:"data"`
}

GetCurrencyResponse .

type GetDepositInfoRequest

type GetDepositInfoRequest struct {
	*request.BaseRequest
}

GetDepositInfoRequest .

func CreateGetDepositInfoRequest

func CreateGetDepositInfoRequest(walletID uint64, currencyID uint16) *GetDepositInfoRequest

CreateGetDepositInfoRequest creates get deposit info request.

type GetDepositInfoResponse

type GetDepositInfoResponse struct {
	*response.BaseResponse
	Data *models.DepositInfo `json:"data"`
}

GetDepositInfoResponse .

type GetLockedBalanceRequest

type GetLockedBalanceRequest struct {
	*request.BaseRequest
}

GetLockedBalanceRequest .

func CreateGetLockedBalanceRequest

func CreateGetLockedBalanceRequest(currencyID uint16, walletID uint64) *GetLockedBalanceRequest

CreateGetLockedBalanceRequest creates lock balance request.

func CreateGetLockedBalancesRequest

func CreateGetLockedBalancesRequest(walletID uint64) *GetLockedBalanceRequest

CreateGetLockedBalancesRequest creates lock balance request.

type GetLockedBalanceResponse

type GetLockedBalanceResponse struct {
	*response.BaseResponse
	Data *models.LockedBalance `json:"data"`
}

GetLockedBalanceResponse .

type GetLockedBalancesRequest

type GetLockedBalancesRequest struct {
	*request.BaseRequest
}

GetLockedBalancesRequest .

type GetLockedBalancesResponse

type GetLockedBalancesResponse struct {
	*response.BaseResponse
	Data []models.LockedBalance `json:"data"`
}

GetLockedBalancesResponse .

type LockBalanceRequest

type LockBalanceRequest struct {
	*request.BaseRequest
}

LockBalanceRequest .

func CreateLockBalanceRequest

func CreateLockBalanceRequest(clientToken string, currencyID uint16, walletID uint64, amount string) *LockBalanceRequest

CreateLockBalanceRequest creates lock balance request.

type LockBalanceResponse

type LockBalanceResponse struct {
	*response.BaseResponse
	Data *models.LockBalance `json:"data"`
}

LockBalanceResponse .

type SyncUserInfoRequest

type SyncUserInfoRequest struct {
	*request.BaseRequest
}

SyncUserInfoRequest .

func CreateSyncUserInfoRequest

func CreateSyncUserInfoRequest(userID string) *SyncUserInfoRequest

CreateSyncUserInfoRequest creates sync user info request.

type SyncUserInfoResponse

type SyncUserInfoResponse struct {
	*response.BaseResponse
	Data *models.UserInfo `json:"data"`
}

SyncUserInfoResponse .

type TransferRequest

type TransferRequest struct {
	*request.BaseRequest
}

TransferRequest .

func CreateTransferRequest

func CreateTransferRequest(clientToken string, currencyID uint16, from, to uint64, amount string) *TransferRequest

CreateTransferRequest creates transfer request.

type TransferResponse

type TransferResponse struct {
	*response.BaseResponse
	Data *models.Transfer `json:"data"`
}

TransferResponse .

type UnlockBalanceRequest

type UnlockBalanceRequest struct {
	*request.BaseRequest
}

UnlockBalanceRequest .

func CreateUnlockBalanceRequest

func CreateUnlockBalanceRequest(clientToken string, currencyID uint16, walletID uint64, amount string) *UnlockBalanceRequest

CreateUnlockBalanceRequest creates lock balance request.

type UnlockBalanceResponse

type UnlockBalanceResponse struct {
	*response.BaseResponse
	Data *models.UnlockBalance `json:"data"`
}

UnlockBalanceResponse .

type WithdrawRequest

type WithdrawRequest struct {
	*request.BaseRequest
}

WithdrawRequest .

func CreateWithdrawRequest

func CreateWithdrawRequest(clientToken string, walletID uint64, currencyID uint16, amount, address string) *WithdrawRequest

CreateWithdrawRequest creates withdraw request.

type WithdrawResponse

type WithdrawResponse struct {
	*response.BaseResponse
	Data *models.Withdraw `json:"data"`
}

WithdrawResponse .

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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