Documentation ¶
Index ¶
- Constants
- func Timeout(connectTimeout time.Duration) func(cxt context.Context, net, addr string) (c net.Conn, err error)
- type Client
- func (client *Client) GetBalance(req *GetBalanceRequest) (*GetBalanceResponse, error)
- func (client *Client) GetConnectTimeout() time.Duration
- func (client *Client) GetCurrencies(req *GetCurrenciesRequest) (*GetCurrenciesResponse, error)
- func (client *Client) GetCurrency(req *GetCurrencyRequest) (*GetCurrencyResponse, error)
- func (client *Client) GetDepositInfo(req *GetDepositInfoRequest) (*GetDepositInfoResponse, error)
- func (client *Client) GetLockedBalance(req *GetLockedBalanceRequest) (*GetLockedBalanceResponse, error)
- func (client *Client) GetLockedBalances(req *GetLockedBalanceRequest) (*GetLockedBalancesResponse, error)
- func (client *Client) GetReadTimeout() time.Duration
- func (client *Client) LoadConfig(config *Config)
- func (client *Client) LockBalance(req *LockBalanceRequest) (*LockBalanceResponse, error)
- func (client *Client) Request(req request.ForpayRequest, resp response.ForpayResponse) error
- func (client *Client) RequestWithAuth(req request.ForpayRequest, resp response.ForpayResponse) error
- func (client *Client) SetConnectTimeout(connectTimeout time.Duration)
- func (client *Client) SetReadTimeout(readTimeout time.Duration)
- func (client *Client) SyncUserInfo(req *SyncUserInfoRequest) (*SyncUserInfoResponse, error)
- func (client *Client) Transfer(req *TransferRequest) (*TransferResponse, error)
- func (client *Client) UnlockBalance(req *UnlockBalanceRequest) (*UnlockBalanceResponse, error)
- func (client *Client) Withdraw(req *WithdrawRequest) (*WithdrawResponse, error)
- type Config
- type GetBalanceRequest
- type GetBalanceResponse
- type GetCurrenciesRequest
- type GetCurrenciesResponse
- type GetCurrencyRequest
- type GetCurrencyResponse
- type GetDepositInfoRequest
- type GetDepositInfoResponse
- type GetLockedBalanceRequest
- type GetLockedBalanceResponse
- type GetLockedBalancesRequest
- type GetLockedBalancesResponse
- type LockBalanceRequest
- type LockBalanceResponse
- type SyncUserInfoRequest
- type SyncUserInfoResponse
- type TransferRequest
- type TransferResponse
- type UnlockBalanceRequest
- type UnlockBalanceResponse
- type WithdrawRequest
- type WithdrawResponse
Constants ¶
const Version = "0.2.0"
Version is the SDK version of the package.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is the forpay SDK client.
func NewClientWithRSA ¶
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 ¶
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}¤cy_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 ¶
GetReadTimeout returns read timeout.
func (*Client) LoadConfig ¶
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 ¶
SetConnectTimeout sets connect timeout for client.
func (*Client) SetReadTimeout ¶
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 ¶
DisableAutoRetry disables auto retry feature.
func (*Config) EnableAutoRetry ¶
EnableAutoRetry enables auto retry feature.
func (*Config) WithMaxRetryTime ¶
WithMaxRetryTime sets the maximum retry time of an api call.
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 .