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".