Documentation
¶
Index ¶
- Constants
- func Bool(v bool) *bool
- func BoolSlice(v []bool) []*bool
- func BoolValue(v *bool) bool
- func Float64(v float64) *float64
- func Float64Slice(v []float64) []*float64
- func Float64Value(v *float64) float64
- func Int64(v int64) *int64
- func Int64Value(v *int64) int64
- func NewIdempotencyKey() string
- func SetAppInfo(info *AppInfo)
- func String(v string) *string
- func StringSlice(v []string) []*string
- func StringValue(v *string) string
- type AppInfo
- type Config
- type HTTPClient
- type Headers
- type Level
- type LeveledLogger
- type LeveledLoggerInterface
- type Params
- type ParamsContainer
- type StatusResponse
- type SupportedAPI
- type SupportedEnvironment
Constants ¶
const ( // Sandbox - Sandbox Sandbox SupportedEnvironment = "sandbox.checkout.com" // Production - Production Production SupportedEnvironment = "checkout.com" // UnknownPlatform - Production UnknownPlatform string = "unknown platform" )
const ( // CKORequestID ... CKORequestID = "cko-request-id" // CKOVersion ... CKOVersion = "cko-version" )
const ClientVersion = "0.0.1"
ClientVersion ...
const ( // DefaultMaxNetworkRetries is the default maximum number of retries made // by a Checkout.com client. DefaultMaxNetworkRetries int64 = 2 )
Variables ¶
This section is empty.
Functions ¶
func BoolValue ¶
BoolValue returns the value of the bool pointer passed in or false if the pointer is nil.
func Float64Slice ¶
Float64Slice returns a slice of float64 pointers given a slice of float64s.
func Float64Value ¶
Float64Value returns the value of the float64 pointer passed in or 0 if the pointer is nil.
func Int64Value ¶
Int64Value returns the value of the int64 pointer passed in or 0 if the pointer is nil.
func StringSlice ¶
StringSlice returns a slice of string pointers given a slice of strings.
func StringValue ¶
StringValue returns the value of the string pointer passed in or "" if the pointer is nil.
Types ¶
type AppInfo ¶
type AppInfo struct {
Name string `json:"name"`
URL string `json:"url"`
Version string `json:"version"`
}
AppInfo ...
type Config ¶
type Config struct {
PublicKey string
SecretKey string
URI *string
HTTPClient *http.Client
LeveledLogger LeveledLoggerInterface
MaxNetworkRetries *int64
BearerAuthentication bool
}
Config ...
type HTTPClient ¶
type HTTPClient interface {
Get(path string) (*StatusResponse, error)
Post(path string, request interface{}, params *Params) (*StatusResponse, error)
Put(path string, request interface{}) (*StatusResponse, error)
Patch(path string, request interface{}) (*StatusResponse, error)
Delete(path string) (*StatusResponse, error)
Upload(path, boundary string, body *bytes.Buffer) (*StatusResponse, error)
Download(path string) (*StatusResponse, error)
}
HTTPClient ...
type Headers ¶
type Headers struct {
Header http.Header
CKORequestID *string `json:"cko-request-id,omitempty"`
CKOVersion *string `json:"cko-version,omitempty"`
}
Headers ...
type Level ¶
type Level uint32
Level represents a logging level.
const ( // LevelNull sets a logger to show no messages at all LevelNull Level = 0 // LevelError sets a logger to show error messages only LevelError Level = 1 // LevelWarn sets a logger to show warning messages or anything more severe. LevelWarn Level = 2 // LevelInfo sets a logger to show informational messages or anything more severe. LevelInfo Level = 3 // LevelDebug sets a logger to show information messages or anything more severe. LevelDebug Level = 4 )
type LeveledLogger ¶
type LeveledLogger struct {
// Level is the minimum logging level that will be emitted by this logger.
//
// For example, a Level set to LevelWarn will emit warnings and errors, but not information or debug messages.
//
// Always set this with a constant like LevelWarn because the individual values are not guaranteed to be stable.
Level Level
// contains filtered or unexported fields
}
LeveledLogger is a leveled logger implementation.
It prints warnings and errors to `os.Stderr` and other messages to `os.Stdout`.
func (*LeveledLogger) Debugf ¶
func (l *LeveledLogger) Debugf(format string, v ...interface{})
Debugf - logs a debug message using Printf conventions.
func (*LeveledLogger) Errorf ¶
func (l *LeveledLogger) Errorf(format string, v ...interface{})
Errorf - logs a warning message using Printf conventions.
func (*LeveledLogger) Infof ¶
func (l *LeveledLogger) Infof(format string, v ...interface{})
Infof - logs an informational message using Printf conventions.
func (*LeveledLogger) Warnf ¶
func (l *LeveledLogger) Warnf(format string, v ...interface{})
Warnf - logs a warning message using Printf conventions.
type LeveledLoggerInterface ¶
type LeveledLoggerInterface interface {
// Debugf logs a debug message using Printf conventions.
Debugf(format string, v ...interface{})
// Errorf logs a warning message using Printf conventions.
Errorf(format string, v ...interface{})
// Infof logs an informational message using Printf conventions.
Infof(format string, v ...interface{})
// Warnf logs a warning message using Printf conventions.
Warnf(format string, v ...interface{})
}
LeveledLoggerInterface provides a basic leveled logging interface for printing debug, informational, warning, and error messages.
It's implemented by LeveledLogger and also provides out-of-the-box compatibility with a Logrus Logger, but may require a thin shim for use with other logging libraries that you use less standard conventions like Zap.
var DefaultLeveledLogger LeveledLoggerInterface = &LeveledLogger{ Level: LevelError, }
DefaultLeveledLogger -
type Params ¶
type Params struct {
// Headers may be used to provide extra header lines on the HTTP request.
Headers http.Header `form:"-"`
IdempotencyKey *string `form:"-"` // Passed as header
}
Params is the structure that contains the common properties of any *Params structure.
func (*Params) SetIdempotencyKey ¶
SetIdempotencyKey sets a value for the Idempotency-Key header.
type ParamsContainer ¶
type ParamsContainer interface {
GetParams() *Params
}
ParamsContainer is a general interface for which all parameter structs should comply. They achieve this by embedding a Params struct and inheriting its implementation of this interface.
type StatusResponse ¶
type StatusResponse struct {
Status string `json:"status,omitempty"`
StatusCode int `json:"status_code,omitempty"`
ResponseBody []byte `json:"response_body,omitempty"`
ResponseCSV [][]string `json:"response_csv,omitempty"`
Headers *Headers `json:"headers,omitempty"`
}
StatusResponse ...
type SupportedAPI ¶
type SupportedAPI string
SupportedAPI is an enumeration of supported Checkout.com endpoints. Currently supported values are "Unified Payment Gateway".
const ( // UPAPI - Unified Payment API UPAPI SupportedAPI = "api" // Access - OAuth Authorization Access SupportedAPI = "access" )
type SupportedEnvironment ¶
type SupportedEnvironment string
SupportedEnvironment is an enumeration of supported Checkout.com environment. Currently supported values are "Sandbox" & "Production".