checkbook

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

README

Checkbook Go API Library

Go Reference

The Checkbook Go library provides convenient access to the Checkbook REST API from applications written in Go.

It is generated with Stainless.

Installation

import (
	"github.com/Munchpass/checkbook" // imported as checkbook
)

Or to pin the version:

go get -u 'github.com/Munchpass/checkbook@v0.1.0'

Requirements

This library requires Go 1.18+.

Usage

The full API of this library can be found in api.md.

package main

import (
	"context"
	"fmt"

	"github.com/Munchpass/checkbook"
	"github.com/Munchpass/checkbook/option"
)

func main() {
	client := checkbook.NewClient(
		option.WithAPIKey("My API Key"), // defaults to os.LookupEnv("CHECKBOOK_API_KEY")
		option.WithEnvironmentSandbox(), // or option.WithEnvironmentProduction() | option.WithEnvironmentEnvironment2(); defaults to option.WithEnvironmentProduction()
	)
	banks, err := client.Account.Bank.List(context.TODO())
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", banks.Banks)
}

Request fields

The checkbook library uses the omitzero semantics from the Go 1.24+ encoding/json release for request fields.

Required primitive fields (int64, string, etc.) feature the tag `json:"...,required"`. These fields are always serialized, even their zero values.

Optional primitive types are wrapped in a param.Opt[T]. These fields can be set with the provided constructors, checkbook.String(string), checkbook.Int(int64), etc.

Any param.Opt[T], map, slice, struct or string enum uses the tag `json:"...,omitzero"`. Its zero value is considered omitted.

The param.IsOmitted(any) function can confirm the presence of any omitzero field.

p := checkbook.ExampleParams{
	ID:   "id_xxx",                // required property
	Name: checkbook.String("..."), // optional property

	Point: checkbook.Point{
		X: 0,                // required field will serialize as 0
		Y: checkbook.Int(1), // optional field will serialize as 1
		// ... omitted non-required fields will not be serialized
	},

	Origin: checkbook.Origin{}, // the zero value of [Origin] is considered omitted
}

To send null instead of a param.Opt[T], use param.Null[T](). To send null instead of a struct T, use param.NullStruct[T]().

p.Name = param.Null[string]()       // 'null' instead of string
p.Point = param.NullStruct[Point]() // 'null' instead of struct

param.IsNull(p.Name)  // true
param.IsNull(p.Point) // true

Request structs contain a .SetExtraFields(map[string]any) method which can send non-conforming fields in the request body. Extra fields overwrite any struct fields with a matching key. For security reasons, only use SetExtraFields with trusted data.

To send a custom value instead of a struct, use param.Override[T](value).

// In cases where the API specifies a given type,
// but you want to send something else, use [SetExtraFields]:
p.SetExtraFields(map[string]any{
	"x": 0.01, // send "x" as a float instead of int
})

// Send a number instead of an object
custom := param.Override[checkbook.FooParams](12)
Request unions

Unions are represented as a struct with fields prefixed by "Of" for each of it's variants, only one field can be non-zero. The non-zero field will be serialized.

Sub-properties of the union can be accessed via methods on the union struct. These methods return a mutable pointer to the underlying data, if present.

// Only one field can be non-zero, use param.IsOmitted() to check if a field is set
type AnimalUnionParam struct {
	OfCat *Cat `json:",omitzero,inline`
	OfDog *Dog `json:",omitzero,inline`
}

animal := AnimalUnionParam{
	OfCat: &Cat{
		Name: "Whiskers",
		Owner: PersonParam{
			Address: AddressParam{Street: "3333 Coyote Hill Rd", Zip: 0},
		},
	},
}

// Mutating a field
if address := animal.GetOwner().GetAddress(); address != nil {
	address.ZipCode = 94304
}
Response objects

All fields in response structs are ordinary value types (not pointers or wrappers). Response structs also include a special JSON field containing metadata about each property.

type Animal struct {
	Name   string `json:"name,nullable"`
	Owners int    `json:"owners"`
	Age    int    `json:"age"`
	JSON   struct {
		Name        respjson.Field
		Owner       respjson.Field
		Age         respjson.Field
		ExtraFields map[string]respjson.Field
	} `json:"-"`
}

To handle optional data, use the .Valid() method on the JSON field. .Valid() returns true if a field is not null, not present, or couldn't be marshaled.

If .Valid() is false, the corresponding field will simply be its zero value.

raw := `{"owners": 1, "name": null}`

var res Animal
json.Unmarshal([]byte(raw), &res)

// Accessing regular fields

res.Owners // 1
res.Name   // ""
res.Age    // 0

// Optional field checks

res.JSON.Owners.Valid() // true
res.JSON.Name.Valid()   // false
res.JSON.Age.Valid()    // false

// Raw JSON values

res.JSON.Owners.Raw()                  // "1"
res.JSON.Name.Raw() == "null"          // true
res.JSON.Name.Raw() == respjson.Null   // true
res.JSON.Age.Raw() == ""               // true
res.JSON.Age.Raw() == respjson.Omitted // true

These .JSON structs also include an ExtraFields map containing any properties in the json response that were not specified in the struct. This can be useful for API features not yet present in the SDK.

body := res.JSON.ExtraFields["my_unexpected_field"].Raw()
Response Unions

In responses, unions are represented by a flattened struct containing all possible fields from each of the object variants. To convert it to a variant use the .AsFooVariant() method or the .AsAny() method if present.

If a response value union contains primitive values, primitive fields will be alongside the properties but prefixed with Of and feature the tag json:"...,inline".

type AnimalUnion struct {
	// From variants [Dog], [Cat]
	Owner Person `json:"owner"`
	// From variant [Dog]
	DogBreed string `json:"dog_breed"`
	// From variant [Cat]
	CatBreed string `json:"cat_breed"`
	// ...

	JSON struct {
		Owner respjson.Field
		// ...
	} `json:"-"`
}

// If animal variant
if animal.Owner.Address.ZipCode == "" {
	panic("missing zip code")
}

// Switch on the variant
switch variant := animal.AsAny().(type) {
case Dog:
case Cat:
default:
	panic("unexpected type")
}
RequestOptions

This library uses the functional options pattern. Functions defined in the option package return a RequestOption, which is a closure that mutates a RequestConfig. These options can be supplied to the client or at individual requests. For example:

client := checkbook.NewClient(
	// Adds a header to every request made by the client
	option.WithHeader("X-Some-Header", "custom_header_info"),
)

client.Account.Bank.List(context.TODO(), ...,
	// Override the header
	option.WithHeader("X-Some-Header", "some_other_custom_header_info"),
	// Add an undocumented field to the request body, using sjson syntax
	option.WithJSONSet("some.json.path", map[string]string{"my": "object"}),
)

The request option option.WithDebugLog(nil) may be helpful while debugging.

See the full list of request options.

Pagination

This library provides some conveniences for working with paginated list endpoints.

You can use .ListAutoPaging() methods to iterate through items across all pages:

Or you can use simple .List() methods to fetch a single page and receive a standard response object with additional helper methods like .GetNextPage(), e.g.:

Errors

When the API returns a non-success status code, we return an error with type *checkbook.Error. This contains the StatusCode, *http.Request, and *http.Response values of the request, as well as the JSON of the error body (much like other response objects in the SDK).

To handle errors, we recommend that you use the errors.As pattern:

_, err := client.Account.Bank.List(context.TODO())
if err != nil {
	var apierr *checkbook.Error
	if errors.As(err, &apierr) {
		println(string(apierr.DumpRequest(true)))  // Prints the serialized HTTP request
		println(string(apierr.DumpResponse(true))) // Prints the serialized HTTP response
	}
	panic(err.Error()) // GET "/v3/account/bank": 400 Bad Request { ... }
}

When other errors occur, they are returned unwrapped; for example, if HTTP transport fails, you might receive *url.Error wrapping *net.OpError.

Timeouts

Requests do not time out by default; use context to configure a timeout for a request lifecycle.

Note that if a request is retried, the context timeout does not start over. To set a per-retry timeout, use option.WithRequestTimeout().

// This sets the timeout for the request, including all the retries.
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
defer cancel()
client.Account.Bank.List(
	ctx,
	// This sets the per-retry timeout
	option.WithRequestTimeout(20*time.Second),
)
File uploads

Request parameters that correspond to file uploads in multipart requests are typed as io.Reader. The contents of the io.Reader will by default be sent as a multipart form part with the file name of "anonymous_file" and content-type of "application/octet-stream".

The file name and content-type can be customized by implementing Name() string or ContentType() string on the run-time type of io.Reader. Note that os.File implements Name() string, so a file returned by os.Open will be sent with the file name on disk.

We also provide a helper checkbook.File(reader io.Reader, filename string, contentType string) which can be used to wrap any io.Reader with the appropriate file name and content type.

Retries

Certain errors will be automatically retried 2 times by default, with a short exponential backoff. We retry by default all connection errors, 408 Request Timeout, 409 Conflict, 429 Rate Limit, and >=500 Internal errors.

You can use the WithMaxRetries option to configure or disable this:

// Configure the default for all requests:
client := checkbook.NewClient(
	option.WithMaxRetries(0), // default is 2
)

// Override per-request:
client.Account.Bank.List(context.TODO(), option.WithMaxRetries(5))
Accessing raw response data (e.g. response headers)

You can access the raw HTTP response data by using the option.WithResponseInto() request option. This is useful when you need to examine response headers, status codes, or other details.

// Create a variable to store the HTTP response
var response *http.Response
banks, err := client.Account.Bank.List(context.TODO(), option.WithResponseInto(&response))
if err != nil {
	// handle error
}
fmt.Printf("%+v\n", banks)

fmt.Printf("Status Code: %d\n", response.StatusCode)
fmt.Printf("Headers: %+#v\n", response.Header)
Making custom/undocumented requests

This library is typed for convenient access to the documented API. If you need to access undocumented endpoints, params, or response properties, the library can still be used.

Undocumented endpoints

To make requests to undocumented endpoints, you can use client.Get, client.Post, and other HTTP verbs. RequestOptions on the client, such as retries, will be respected when making these requests.

var (
    // params can be an io.Reader, a []byte, an encoding/json serializable object,
    // or a "…Params" struct defined in this library.
    params map[string]any

    // result can be an []byte, *http.Response, a encoding/json deserializable object,
    // or a model defined in this library.
    result *http.Response
)
err := client.Post(context.Background(), "/unspecified", params, &result)
if err != nil {
    …
}
Undocumented request params

To make requests using undocumented parameters, you may use either the option.WithQuerySet() or the option.WithJSONSet() methods.

params := FooNewParams{
    ID:   "id_xxxx",
    Data: FooNewParamsData{
        FirstName: checkbook.String("John"),
    },
}
client.Foo.New(context.Background(), params, option.WithJSONSet("data.last_name", "Doe"))
Undocumented response properties

To access undocumented response properties, you may either access the raw JSON of the response as a string with result.JSON.RawJSON(), or get the raw JSON of a particular field on the result with result.JSON.Foo.Raw().

Any fields that are not present on the response struct will be saved and can be accessed by result.JSON.ExtraFields() which returns the extra fields as a map[string]Field.

Middleware

We provide option.WithMiddleware which applies the given middleware to requests.

func Logger(req *http.Request, next option.MiddlewareNext) (res *http.Response, err error) {
	// Before the request
	start := time.Now()
	LogReq(req)

	// Forward the request to the next handler
	res, err = next(req)

	// Handle stuff after the request
	end := time.Now()
	LogRes(res, err, start - end)

    return res, err
}

client := checkbook.NewClient(
	option.WithMiddleware(Logger),
)

When multiple middlewares are provided as variadic arguments, the middlewares are applied left to right. If option.WithMiddleware is given multiple times, for example first in the client then the method, the middleware in the client will run first and the middleware given in the method will run next.

You may also replace the default http.Client with option.WithHTTPClient(client). Only one http client is accepted (this overwrites any previous client) and receives requests after any middleware has been applied.

Semantic versioning

This package generally follows SemVer conventions, though certain backwards-incompatible changes may be released as minor versions:

  1. Changes to library internals which are technically public but not intended or documented for external use. (Please open a GitHub issue to let us know if you are relying on such internals.)
  2. Changes that we do not expect to impact the vast majority of users in practice.

We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.

We are keen for your feedback; please open an issue with questions, bugs, or suggestions.

Contributing

See the contributing documentation.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bool

func Bool(b bool) param.Opt[bool]

func BoolPtr

func BoolPtr(v bool) *bool

func DefaultClientOptions

func DefaultClientOptions() []option.RequestOption

DefaultClientOptions read from the environment (CHECKBOOK_API_KEY, CHECKBOOK_BASE_URL). This should be used to initialize new clients.

func File

func File(rdr io.Reader, filename string, contentType string) file

func Float

func Float(f float64) param.Opt[float64]

func FloatPtr

func FloatPtr(v float64) *float64

func Int

func Int(i int64) param.Opt[int64]

func IntPtr

func IntPtr(v int64) *int64

func Opt

func Opt[T comparable](v T) param.Opt[T]

func Ptr

func Ptr[T any](v T) *T

func String

func String(s string) param.Opt[string]

func StringPtr

func StringPtr(v string) *string

func Time

func Time(t time.Time) param.Opt[time.Time]

func TimePtr

func TimePtr(v time.Time) *time.Time

Types

type AccountBankGetInstitutionsResponse

type AccountBankGetInstitutionsResponse struct {
	// List of supported institutions for IAV
	Institutions []AccountBankGetInstitutionsResponseInstitution `json:"institutions,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Institutions respjson.Field
		ExtraFields  map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankGetInstitutionsResponse) RawJSON

Returns the unmodified JSON received from the API

func (*AccountBankGetInstitutionsResponse) UnmarshalJSON

func (r *AccountBankGetInstitutionsResponse) UnmarshalJSON(data []byte) error

type AccountBankGetInstitutionsResponseInstitution

type AccountBankGetInstitutionsResponseInstitution struct {
	// Login form for institution
	LoginForm []AccountBankGetInstitutionsResponseInstitutionLoginForm `json:"login_form,required"`
	// Name of institution
	Name string `json:"name,required"`
	// Unique identifier for institution
	ID string `json:"id"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		LoginForm   respjson.Field
		Name        respjson.Field
		ID          respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankGetInstitutionsResponseInstitution) RawJSON

Returns the unmodified JSON received from the API

func (*AccountBankGetInstitutionsResponseInstitution) UnmarshalJSON

func (r *AccountBankGetInstitutionsResponseInstitution) UnmarshalJSON(data []byte) error

type AccountBankGetInstitutionsResponseInstitutionLoginForm

type AccountBankGetInstitutionsResponseInstitutionLoginForm struct {
	// Description of the field
	Description string `json:"description"`
	// Name of the field
	Name string `json:"name"`
	// Field type
	//
	// Any of "TEXT", "PASSWORD", "OPTION".
	Type string `json:"type"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Description respjson.Field
		Name        respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Login form field

func (AccountBankGetInstitutionsResponseInstitutionLoginForm) RawJSON

Returns the unmodified JSON received from the API

func (*AccountBankGetInstitutionsResponseInstitutionLoginForm) UnmarshalJSON

type AccountBankIavNewParams

type AccountBankIavNewParams struct {

	// This field is a request body variant, only one variant field can be set.
	OfIavLoginSchema *AccountBankIavNewParamsBodyIavLoginSchema `json:",inline"`
	// This field is a request body variant, only one variant field can be set.
	OfIavmfaSchema *AccountBankIavNewParamsBodyIavmfaSchema `json:",inline"`
	// contains filtered or unexported fields
}

func (AccountBankIavNewParams) MarshalJSON

func (u AccountBankIavNewParams) MarshalJSON() ([]byte, error)

func (*AccountBankIavNewParams) UnmarshalJSON

func (r *AccountBankIavNewParams) UnmarshalJSON(data []byte) error

type AccountBankIavNewParamsBodyIavLoginSchema

type AccountBankIavNewParamsBodyIavLoginSchema struct {
	// `institution_id` returned from the institutions endpoint
	InstitutionID string         `json:"institution_id,required"`
	ExtraFields   map[string]any `json:"-"`
	// contains filtered or unexported fields
}

The property InstitutionID is required.

func (AccountBankIavNewParamsBodyIavLoginSchema) MarshalJSON

func (r AccountBankIavNewParamsBodyIavLoginSchema) MarshalJSON() (data []byte, err error)

func (*AccountBankIavNewParamsBodyIavLoginSchema) UnmarshalJSON

func (r *AccountBankIavNewParamsBodyIavLoginSchema) UnmarshalJSON(data []byte) error

type AccountBankIavNewParamsBodyIavmfaSchema

type AccountBankIavNewParamsBodyIavmfaSchema struct {
	// `institution_id` returned from the institutions endpoint
	InstitutionID string                                       `json:"institution_id,required"`
	Mfa           []AccountBankIavNewParamsBodyIavmfaSchemaMfa `json:"mfa,omitzero"`
	// contains filtered or unexported fields
}

The property InstitutionID is required.

func (AccountBankIavNewParamsBodyIavmfaSchema) MarshalJSON

func (r AccountBankIavNewParamsBodyIavmfaSchema) MarshalJSON() (data []byte, err error)

func (*AccountBankIavNewParamsBodyIavmfaSchema) UnmarshalJSON

func (r *AccountBankIavNewParamsBodyIavmfaSchema) UnmarshalJSON(data []byte) error

type AccountBankIavNewParamsBodyIavmfaSchemaMfa

type AccountBankIavNewParamsBodyIavmfaSchemaMfa struct {
	Name     param.Opt[string] `json:"name,omitzero"`
	Response param.Opt[string] `json:"response,omitzero"`
	// Any of "IMAGE", "SELECTION", "TEXT".
	Type        string         `json:"type,omitzero"`
	ExtraFields map[string]any `json:"-"`
	// contains filtered or unexported fields
}

func (AccountBankIavNewParamsBodyIavmfaSchemaMfa) MarshalJSON

func (r AccountBankIavNewParamsBodyIavmfaSchemaMfa) MarshalJSON() (data []byte, err error)

func (*AccountBankIavNewParamsBodyIavmfaSchemaMfa) UnmarshalJSON

func (r *AccountBankIavNewParamsBodyIavmfaSchemaMfa) UnmarshalJSON(data []byte) error

type AccountBankIavNewResponse

type AccountBankIavNewResponse struct {
	// List of accounts and information
	Accounts []AccountBankIavNewResponseAccount `json:"accounts"`
	// `institution_id` returned from the institutions endpoint
	InstitutionID string `json:"institution_id"`
	// MFA questions
	Mfa []AccountBankIavNewResponseMfa `json:"mfa"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Accounts      respjson.Field
		InstitutionID respjson.Field
		Mfa           respjson.Field
		ExtraFields   map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankIavNewResponse) RawJSON

func (r AccountBankIavNewResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountBankIavNewResponse) UnmarshalJSON

func (r *AccountBankIavNewResponse) UnmarshalJSON(data []byte) error

type AccountBankIavNewResponseAccount

type AccountBankIavNewResponseAccount struct {
	// Last 4 of account number
	Account string `json:"account,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Name of the bank account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Account     respjson.Field
		Routing     respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankIavNewResponseAccount) RawJSON

Returns the unmodified JSON received from the API

func (*AccountBankIavNewResponseAccount) UnmarshalJSON

func (r *AccountBankIavNewResponseAccount) UnmarshalJSON(data []byte) error

type AccountBankIavNewResponseMfa

type AccountBankIavNewResponseMfa struct {
	// MFA description
	Description string `json:"description"`
	// MFA image
	Image string `json:"image"`
	// MFA name
	Name string `json:"name"`
	// MFA selections
	Selections []AccountBankIavNewResponseMfaSelection `json:"selections"`
	// MFA type
	//
	// Any of "SELECTION", "IMAGE", "TEXT".
	Type string `json:"type"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Description respjson.Field
		Image       respjson.Field
		Name        respjson.Field
		Selections  respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankIavNewResponseMfa) RawJSON

Returns the unmodified JSON received from the API

func (*AccountBankIavNewResponseMfa) UnmarshalJSON

func (r *AccountBankIavNewResponseMfa) UnmarshalJSON(data []byte) error

type AccountBankIavNewResponseMfaSelection

type AccountBankIavNewResponseMfaSelection struct {
	// MFA field description
	Description string `json:"description"`
	// MFA field name
	Name string `json:"name"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Description respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankIavNewResponseMfaSelection) RawJSON

Returns the unmodified JSON received from the API

func (*AccountBankIavNewResponseMfaSelection) UnmarshalJSON

func (r *AccountBankIavNewResponseMfaSelection) UnmarshalJSON(data []byte) error

type AccountBankIavPlaidParams

type AccountBankIavPlaidParams struct {
	// Plaid processor token
	ProcessorToken string `json:"processor_token,required"`
	// contains filtered or unexported fields
}

func (AccountBankIavPlaidParams) MarshalJSON

func (r AccountBankIavPlaidParams) MarshalJSON() (data []byte, err error)

func (*AccountBankIavPlaidParams) UnmarshalJSON

func (r *AccountBankIavPlaidParams) UnmarshalJSON(data []byte) error

type AccountBankIavPlaidResponse

type AccountBankIavPlaidResponse struct {
	// List of valid bank accounts
	Accounts []AccountBankIavPlaidResponseAccount `json:"accounts"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Accounts    respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankIavPlaidResponse) RawJSON

func (r AccountBankIavPlaidResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountBankIavPlaidResponse) UnmarshalJSON

func (r *AccountBankIavPlaidResponse) UnmarshalJSON(data []byte) error

type AccountBankIavPlaidResponseAccount

type AccountBankIavPlaidResponseAccount struct {
	// Last 4 of account number
	Account string `json:"account,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Name of the bank account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Account     respjson.Field
		Routing     respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankIavPlaidResponseAccount) RawJSON

Returns the unmodified JSON received from the API

func (*AccountBankIavPlaidResponseAccount) UnmarshalJSON

func (r *AccountBankIavPlaidResponseAccount) UnmarshalJSON(data []byte) error

type AccountBankIavService

type AccountBankIavService struct {
	Options []option.RequestOption
}

AccountBankIavService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountBankIavService method instead.

func NewAccountBankIavService

func NewAccountBankIavService(opts ...option.RequestOption) (r AccountBankIavService)

NewAccountBankIavService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountBankIavService) New

Add a new bank account with instant account verification

func (*AccountBankIavService) Plaid

Retrieve the bank account(s) associated with the Plaid token

type AccountBankListResponse

type AccountBankListResponse struct {
	// List of bank accounts for user
	Banks []AccountBankListResponseBank `json:"banks,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Banks       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankListResponse) RawJSON

func (r AccountBankListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountBankListResponse) UnmarshalJSON

func (r *AccountBankListResponse) UnmarshalJSON(data []byte) error

type AccountBankListResponseBank

type AccountBankListResponseBank struct {
	// Unique identifier for account
	ID string `json:"id,required"`
	// Last 4 of account number
	Account string `json:"account,required"`
	// Indicates the billing account for the user
	Billing bool `json:"billing,required"`
	// Account creation timestamp
	Date string `json:"date,required"`
	// Indicates the default account for the user
	Default bool `json:"default,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Current status of account
	//
	// Any of "PENDING", "VERIFIED", "DEPOSIT_ONLY".
	Status string `json:"status,required"`
	// Bank account type
	//
	// Any of "CHECKING", "SAVINGS", "BUSINESS".
	Type string `json:"type,required"`
	// Indicates the current amount left in the account's balance (only for prefunded
	// accounts)
	Balance float64 `json:"balance,nullable"`
	// Name of the bank account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Account     respjson.Field
		Billing     respjson.Field
		Date        respjson.Field
		Default     respjson.Field
		Routing     respjson.Field
		Status      respjson.Field
		Type        respjson.Field
		Balance     respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankListResponseBank) RawJSON

func (r AccountBankListResponseBank) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountBankListResponseBank) UnmarshalJSON

func (r *AccountBankListResponseBank) UnmarshalJSON(data []byte) error

type AccountBankNewParams

type AccountBankNewParams struct {
	// Account number
	Account string `json:"account,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Account type
	//
	// Any of "CHECKING", "SAVINGS", "BUSINESS".
	Type AccountBankNewParamsType `json:"type,omitzero,required"`
	// Optional name
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountBankNewParams) MarshalJSON

func (r AccountBankNewParams) MarshalJSON() (data []byte, err error)

func (*AccountBankNewParams) UnmarshalJSON

func (r *AccountBankNewParams) UnmarshalJSON(data []byte) error

type AccountBankNewParamsType

type AccountBankNewParamsType string

Account type

const (
	AccountBankNewParamsTypeChecking AccountBankNewParamsType = "CHECKING"
	AccountBankNewParamsTypeSavings  AccountBankNewParamsType = "SAVINGS"
	AccountBankNewParamsTypeBusiness AccountBankNewParamsType = "BUSINESS"
)

type AccountBankNewResponse

type AccountBankNewResponse struct {
	// Unique identifier for account
	ID string `json:"id,required"`
	// Last 4 of account number
	Account string `json:"account,required"`
	// Indicates the billing account for the user
	Billing bool `json:"billing,required"`
	// Account creation timestamp
	Date string `json:"date,required"`
	// Indicates the default account for the user
	Default bool `json:"default,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Current status of account
	//
	// Any of "PENDING", "VERIFIED", "DEPOSIT_ONLY".
	Status AccountBankNewResponseStatus `json:"status,required"`
	// Bank account type
	//
	// Any of "CHECKING", "SAVINGS", "BUSINESS".
	Type AccountBankNewResponseType `json:"type,required"`
	// Indicates the current amount left in the account's balance (only for prefunded
	// accounts)
	Balance float64 `json:"balance,nullable"`
	// Name of the bank account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Account     respjson.Field
		Billing     respjson.Field
		Date        respjson.Field
		Default     respjson.Field
		Routing     respjson.Field
		Status      respjson.Field
		Type        respjson.Field
		Balance     respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountBankNewResponse) RawJSON

func (r AccountBankNewResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountBankNewResponse) UnmarshalJSON

func (r *AccountBankNewResponse) UnmarshalJSON(data []byte) error

type AccountBankNewResponseStatus

type AccountBankNewResponseStatus string

Current status of account

const (
	AccountBankNewResponseStatusPending     AccountBankNewResponseStatus = "PENDING"
	AccountBankNewResponseStatusVerified    AccountBankNewResponseStatus = "VERIFIED"
	AccountBankNewResponseStatusDepositOnly AccountBankNewResponseStatus = "DEPOSIT_ONLY"
)

type AccountBankNewResponseType

type AccountBankNewResponseType string

Bank account type

const (
	AccountBankNewResponseTypeChecking AccountBankNewResponseType = "CHECKING"
	AccountBankNewResponseTypeSavings  AccountBankNewResponseType = "SAVINGS"
	AccountBankNewResponseTypeBusiness AccountBankNewResponseType = "BUSINESS"
)

type AccountBankReleaseParams

type AccountBankReleaseParams struct {
	// ID of the bank account
	Account string `json:"account,required"`
	// contains filtered or unexported fields
}

func (AccountBankReleaseParams) MarshalJSON

func (r AccountBankReleaseParams) MarshalJSON() (data []byte, err error)

func (*AccountBankReleaseParams) UnmarshalJSON

func (r *AccountBankReleaseParams) UnmarshalJSON(data []byte) error

type AccountBankService

type AccountBankService struct {
	Options []option.RequestOption
	Iav     AccountBankIavService
}

AccountBankService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountBankService method instead.

func NewAccountBankService

func NewAccountBankService(opts ...option.RequestOption) (r AccountBankService)

NewAccountBankService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountBankService) Delete

func (r *AccountBankService) Delete(ctx context.Context, bankID string, opts ...option.RequestOption) (err error)

Remove the specified bank account

func (*AccountBankService) GetInstitutions

func (r *AccountBankService) GetInstitutions(ctx context.Context, opts ...option.RequestOption) (res *AccountBankGetInstitutionsResponse, err error)

Return a list of our supported institutions for instant account verification

func (*AccountBankService) List

Get the bank accounts for a user

func (*AccountBankService) New

Add a new bank account

func (*AccountBankService) Release

Release the micro-deposits for a bank account

func (*AccountBankService) Update

func (r *AccountBankService) Update(ctx context.Context, bankID string, body AccountBankUpdateParams, opts ...option.RequestOption) (err error)

Update an existing bank account

func (*AccountBankService) Verify

Verify the micro-deposits for a bank account

type AccountBankUpdateParams

type AccountBankUpdateParams struct {
	// Specification of billing account
	Billing param.Opt[bool] `json:"billing,omitzero"`
	// Specification of default account
	Default param.Opt[bool] `json:"default,omitzero"`
	// Name for account
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountBankUpdateParams) MarshalJSON

func (r AccountBankUpdateParams) MarshalJSON() (data []byte, err error)

func (*AccountBankUpdateParams) UnmarshalJSON

func (r *AccountBankUpdateParams) UnmarshalJSON(data []byte) error

type AccountBankVerifyParams

type AccountBankVerifyParams struct {
	// Amount of first microdeposit
	Amount1 float64 `json:"amount_1,required"`
	// Amount of second microdeposit
	Amount2 float64 `json:"amount_2,required"`
	// ID of account to verify
	Account param.Opt[string] `json:"account,omitzero"`
	// contains filtered or unexported fields
}

func (AccountBankVerifyParams) MarshalJSON

func (r AccountBankVerifyParams) MarshalJSON() (data []byte, err error)

func (*AccountBankVerifyParams) UnmarshalJSON

func (r *AccountBankVerifyParams) UnmarshalJSON(data []byte) error

type AccountCardListResponse

type AccountCardListResponse struct {
	// List of cards
	Cards []AccountCardListResponseCard `json:"cards,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Cards       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountCardListResponse) RawJSON

func (r AccountCardListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountCardListResponse) UnmarshalJSON

func (r *AccountCardListResponse) UnmarshalJSON(data []byte) error

type AccountCardListResponseCard

type AccountCardListResponseCard struct {
	// Unique identifier for card
	ID string `json:"id,required"`
	// Last 4 of card number
	CardNumber string `json:"card_number,required"`
	// Card creation timestamp
	Date string `json:"date,required"`
	// Indicates the default card
	Default bool `json:"default,required"`
	// Card expiration date
	ExpirationDate string `json:"expiration_date,required"`
	// Name of the card
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID             respjson.Field
		CardNumber     respjson.Field
		Date           respjson.Field
		Default        respjson.Field
		ExpirationDate respjson.Field
		Name           respjson.Field
		ExtraFields    map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountCardListResponseCard) RawJSON

func (r AccountCardListResponseCard) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountCardListResponseCard) UnmarshalJSON

func (r *AccountCardListResponseCard) UnmarshalJSON(data []byte) error

type AccountCardNewParams

type AccountCardNewParams struct {
	// Card number
	CardNumber string `json:"card_number,required"`
	// Expiration date (yyyy-mm)
	ExpirationDate string `json:"expiration_date,required"`
	// CVV code
	Cvv     param.Opt[string]           `json:"cvv,omitzero"`
	Address AccountCardNewParamsAddress `json:"address,omitzero"`
	// contains filtered or unexported fields
}

func (AccountCardNewParams) MarshalJSON

func (r AccountCardNewParams) MarshalJSON() (data []byte, err error)

func (*AccountCardNewParams) UnmarshalJSON

func (r *AccountCardNewParams) UnmarshalJSON(data []byte) error

type AccountCardNewParamsAddress

type AccountCardNewParamsAddress struct {
	// Street line 1
	Line1 string `json:"line_1,required"`
	// City
	City param.Opt[string] `json:"city,omitzero"`
	// Country
	Country param.Opt[string] `json:"country,omitzero"`
	// Street line 2
	Line2 param.Opt[string] `json:"line_2,omitzero"`
	// State
	State param.Opt[string] `json:"state,omitzero"`
	// Zip/postal code
	Zip param.Opt[string] `json:"zip,omitzero"`
	// contains filtered or unexported fields
}

The property Line1 is required.

func (AccountCardNewParamsAddress) MarshalJSON

func (r AccountCardNewParamsAddress) MarshalJSON() (data []byte, err error)

func (*AccountCardNewParamsAddress) UnmarshalJSON

func (r *AccountCardNewParamsAddress) UnmarshalJSON(data []byte) error

type AccountCardNewResponse

type AccountCardNewResponse struct {
	// Unique identifier for card
	ID string `json:"id,required"`
	// Last 4 of card number
	CardNumber string `json:"card_number,required"`
	// Card creation timestamp
	Date string `json:"date,required"`
	// Indicates the default card
	Default bool `json:"default,required"`
	// Name of the card
	Name string `json:"name,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		CardNumber  respjson.Field
		Date        respjson.Field
		Default     respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountCardNewResponse) RawJSON

func (r AccountCardNewResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountCardNewResponse) UnmarshalJSON

func (r *AccountCardNewResponse) UnmarshalJSON(data []byte) error

type AccountCardService

type AccountCardService struct {
	Options []option.RequestOption
}

AccountCardService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountCardService method instead.

func NewAccountCardService

func NewAccountCardService(opts ...option.RequestOption) (r AccountCardService)

NewAccountCardService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountCardService) Delete

func (r *AccountCardService) Delete(ctx context.Context, cardID string, opts ...option.RequestOption) (err error)

Remove the specified card

func (*AccountCardService) List

Return the cards

func (*AccountCardService) New

Add a new card

func (*AccountCardService) Update

func (r *AccountCardService) Update(ctx context.Context, cardID string, body AccountCardUpdateParams, opts ...option.RequestOption) (err error)

Update the specified card

type AccountCardUpdateParams

type AccountCardUpdateParams struct {
	// Indicates the default card
	Default param.Opt[bool] `json:"default,omitzero"`
	// Name of the card
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountCardUpdateParams) MarshalJSON

func (r AccountCardUpdateParams) MarshalJSON() (data []byte, err error)

func (*AccountCardUpdateParams) UnmarshalJSON

func (r *AccountCardUpdateParams) UnmarshalJSON(data []byte) error

type AccountInteracListResponse

type AccountInteracListResponse struct {
	// List of Interac accounts
	Accounts []InteracAccountResponse `json:"accounts,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Accounts    respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountInteracListResponse) RawJSON

func (r AccountInteracListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountInteracListResponse) UnmarshalJSON

func (r *AccountInteracListResponse) UnmarshalJSON(data []byte) error

type AccountInteracNewParams

type AccountInteracNewParams struct {
	// Interac username or phone number
	Username string `json:"username,required"`
	// contains filtered or unexported fields
}

func (AccountInteracNewParams) MarshalJSON

func (r AccountInteracNewParams) MarshalJSON() (data []byte, err error)

func (*AccountInteracNewParams) UnmarshalJSON

func (r *AccountInteracNewParams) UnmarshalJSON(data []byte) error

type AccountInteracService

type AccountInteracService struct {
	Options []option.RequestOption
}

AccountInteracService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountInteracService method instead.

func NewAccountInteracService

func NewAccountInteracService(opts ...option.RequestOption) (r AccountInteracService)

NewAccountInteracService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountInteracService) Delete

func (r *AccountInteracService) Delete(ctx context.Context, interacID string, opts ...option.RequestOption) (err error)

Remove an existing Interac account

func (*AccountInteracService) List

Return the Interac accounts of a user

func (*AccountInteracService) New

Add a new Interac account for a user

func (*AccountInteracService) Update

func (r *AccountInteracService) Update(ctx context.Context, interacID string, body AccountInteracUpdateParams, opts ...option.RequestOption) (err error)

Update an existing Interac account

type AccountInteracUpdateParams

type AccountInteracUpdateParams struct {
	// Name for the Interac account
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountInteracUpdateParams) MarshalJSON

func (r AccountInteracUpdateParams) MarshalJSON() (data []byte, err error)

func (*AccountInteracUpdateParams) UnmarshalJSON

func (r *AccountInteracUpdateParams) UnmarshalJSON(data []byte) error

type AccountPaypalListResponse

type AccountPaypalListResponse struct {
	// List of Paypal accounts
	Accounts []PaypalAccountResponse `json:"accounts,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Accounts    respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountPaypalListResponse) RawJSON

func (r AccountPaypalListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountPaypalListResponse) UnmarshalJSON

func (r *AccountPaypalListResponse) UnmarshalJSON(data []byte) error

type AccountPaypalNewParams

type AccountPaypalNewParams struct {
	// PayPal email or phone number
	Username string `json:"username,required"`
	// contains filtered or unexported fields
}

func (AccountPaypalNewParams) MarshalJSON

func (r AccountPaypalNewParams) MarshalJSON() (data []byte, err error)

func (*AccountPaypalNewParams) UnmarshalJSON

func (r *AccountPaypalNewParams) UnmarshalJSON(data []byte) error

type AccountPaypalService

type AccountPaypalService struct {
	Options []option.RequestOption
}

AccountPaypalService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountPaypalService method instead.

func NewAccountPaypalService

func NewAccountPaypalService(opts ...option.RequestOption) (r AccountPaypalService)

NewAccountPaypalService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountPaypalService) Delete

func (r *AccountPaypalService) Delete(ctx context.Context, paypalID string, opts ...option.RequestOption) (err error)

Remove an existing PayPal account

func (*AccountPaypalService) List

Return the Paypal accounts of a user

func (*AccountPaypalService) New

Add a new Paypal account for a user

func (*AccountPaypalService) Update

func (r *AccountPaypalService) Update(ctx context.Context, paypalID string, body AccountPaypalUpdateParams, opts ...option.RequestOption) (err error)

Update an existing Paypal account

type AccountPaypalUpdateParams

type AccountPaypalUpdateParams struct {
	// Name for the PayPal account
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountPaypalUpdateParams) MarshalJSON

func (r AccountPaypalUpdateParams) MarshalJSON() (data []byte, err error)

func (*AccountPaypalUpdateParams) UnmarshalJSON

func (r *AccountPaypalUpdateParams) UnmarshalJSON(data []byte) error

type AccountService

AccountService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountService method instead.

func NewAccountService

func NewAccountService(opts ...option.RequestOption) (r AccountService)

NewAccountService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

type AccountVccListResponse

type AccountVccListResponse struct {
	// List of vcc accounts for user
	Vccs []AccountVccListResponseVcc `json:"vccs,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Vccs        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountVccListResponse) RawJSON

func (r AccountVccListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountVccListResponse) UnmarshalJSON

func (r *AccountVccListResponse) UnmarshalJSON(data []byte) error

type AccountVccListResponseVcc

type AccountVccListResponseVcc struct {
	// Unique identifier for VCC
	ID string `json:"id,required"`
	// VCC balance
	Balance string `json:"balance,required"`
	// Last 4 of VCC number
	CardNumber string `json:"card_number,required"`
	// VCC creation timestamp
	Date string `json:"date,required"`
	// Indicates the default VCC account for the user
	Default bool `json:"default,required"`
	// VCC expiration date
	ExpirationDate string  `json:"expiration_date,required"`
	Address        Address `json:"address"`
	// Name of the VCC
	Name string `json:"name,nullable"`
	// VCC ruleset prefix
	RulesetPrefix string `json:"ruleset_prefix,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID             respjson.Field
		Balance        respjson.Field
		CardNumber     respjson.Field
		Date           respjson.Field
		Default        respjson.Field
		ExpirationDate respjson.Field
		Address        respjson.Field
		Name           respjson.Field
		RulesetPrefix  respjson.Field
		ExtraFields    map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountVccListResponseVcc) RawJSON

func (r AccountVccListResponseVcc) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountVccListResponseVcc) UnmarshalJSON

func (r *AccountVccListResponseVcc) UnmarshalJSON(data []byte) error

type AccountVccNewParams

type AccountVccNewParams struct {
	// Email address
	Email param.Opt[string] `json:"email,omitzero"`
	// Phone number
	Phone   param.Opt[string] `json:"phone,omitzero"`
	Address AddressParam      `json:"address,omitzero"`
	// contains filtered or unexported fields
}

func (AccountVccNewParams) MarshalJSON

func (r AccountVccNewParams) MarshalJSON() (data []byte, err error)

func (*AccountVccNewParams) UnmarshalJSON

func (r *AccountVccNewParams) UnmarshalJSON(data []byte) error

type AccountVccNewResponse

type AccountVccNewResponse struct {
	// Unique identifier for VCC
	ID string `json:"id,required"`
	// Last 4 of VCC number
	CardNumber string `json:"card_number,required"`
	// VCC expiration date
	ExpirationDate string `json:"expiration_date,required"`
	// CVV code
	Cvv string `json:"cvv"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID             respjson.Field
		CardNumber     respjson.Field
		ExpirationDate respjson.Field
		Cvv            respjson.Field
		ExtraFields    map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountVccNewResponse) RawJSON

func (r AccountVccNewResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountVccNewResponse) UnmarshalJSON

func (r *AccountVccNewResponse) UnmarshalJSON(data []byte) error

type AccountVccService

type AccountVccService struct {
	Options     []option.RequestOption
	Transaction AccountVccTransactionService
}

AccountVccService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountVccService method instead.

func NewAccountVccService

func NewAccountVccService(opts ...option.RequestOption) (r AccountVccService)

NewAccountVccService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountVccService) Delete

func (r *AccountVccService) Delete(ctx context.Context, vccID string, opts ...option.RequestOption) (err error)

Remove the specified vcc

func (*AccountVccService) List

Return the virtual cards

func (*AccountVccService) New

Add a new vcc

func (*AccountVccService) Update

func (r *AccountVccService) Update(ctx context.Context, vccID string, body AccountVccUpdateParams, opts ...option.RequestOption) (err error)

Update the specified vcc

type AccountVccTransactionGetParams

type AccountVccTransactionGetParams struct {
	VccID string `path:"vcc_id,required" json:"-"`
	// contains filtered or unexported fields
}

type AccountVccTransactionListParams

type AccountVccTransactionListParams struct {
	Beta param.Opt[bool] `query:"beta,omitzero" json:"-"`
	// End date
	EndDate param.Opt[time.Time] `query:"end_date,omitzero" format:"date" json:"-"`
	// Start date
	StartDate param.Opt[time.Time] `query:"start_date,omitzero" format:"date" json:"-"`
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (AccountVccTransactionListParams) URLQuery

func (r AccountVccTransactionListParams) URLQuery() (v url.Values, err error)

URLQuery serializes AccountVccTransactionListParams's query parameters as `url.Values`.

type AccountVccTransactionListResponse

type AccountVccTransactionListResponse struct {
	// Transactions list
	Transactions []Transaction `json:"transactions,required"`
	// Current page
	Page int64 `json:"page"`
	// Total number of pages
	Pages int64 `json:"pages"`
	// Total number of transactions
	Total int64 `json:"total"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Transactions respjson.Field
		Page         respjson.Field
		Pages        respjson.Field
		Total        respjson.Field
		ExtraFields  map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountVccTransactionListResponse) RawJSON

Returns the unmodified JSON received from the API

func (*AccountVccTransactionListResponse) UnmarshalJSON

func (r *AccountVccTransactionListResponse) UnmarshalJSON(data []byte) error

type AccountVccTransactionService

type AccountVccTransactionService struct {
	Options []option.RequestOption
}

AccountVccTransactionService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountVccTransactionService method instead.

func NewAccountVccTransactionService

func NewAccountVccTransactionService(opts ...option.RequestOption) (r AccountVccTransactionService)

NewAccountVccTransactionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountVccTransactionService) Get

Get the requested transaction for the specified VCC

func (*AccountVccTransactionService) List

Get the transactions for the specified VCC

type AccountVccUpdateParams

type AccountVccUpdateParams struct {
	// Indicates the default VCC account for the user
	Default param.Opt[bool] `json:"default,omitzero"`
	// Name of the VCC
	Name    param.Opt[string] `json:"name,omitzero"`
	Address AddressParam      `json:"address,omitzero"`
	// contains filtered or unexported fields
}

func (AccountVccUpdateParams) MarshalJSON

func (r AccountVccUpdateParams) MarshalJSON() (data []byte, err error)

func (*AccountVccUpdateParams) UnmarshalJSON

func (r *AccountVccUpdateParams) UnmarshalJSON(data []byte) error

type AccountVenmoListResponse

type AccountVenmoListResponse struct {
	// List of Venmo accounts
	Accounts []VenmoAccountResponse `json:"accounts,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Accounts    respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountVenmoListResponse) RawJSON

func (r AccountVenmoListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountVenmoListResponse) UnmarshalJSON

func (r *AccountVenmoListResponse) UnmarshalJSON(data []byte) error

type AccountVenmoNewParams

type AccountVenmoNewParams struct {
	// Venmo username or phone number
	Username string `json:"username,required"`
	// contains filtered or unexported fields
}

func (AccountVenmoNewParams) MarshalJSON

func (r AccountVenmoNewParams) MarshalJSON() (data []byte, err error)

func (*AccountVenmoNewParams) UnmarshalJSON

func (r *AccountVenmoNewParams) UnmarshalJSON(data []byte) error

type AccountVenmoService

type AccountVenmoService struct {
	Options []option.RequestOption
}

AccountVenmoService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountVenmoService method instead.

func NewAccountVenmoService

func NewAccountVenmoService(opts ...option.RequestOption) (r AccountVenmoService)

NewAccountVenmoService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountVenmoService) Delete

func (r *AccountVenmoService) Delete(ctx context.Context, venmoID string, opts ...option.RequestOption) (err error)

Remove an existing Venmo account

func (*AccountVenmoService) List

Return the Venmo accounts of a user

func (*AccountVenmoService) New

Add a new Venmo account for a user

func (*AccountVenmoService) Update

func (r *AccountVenmoService) Update(ctx context.Context, venmoID string, body AccountVenmoUpdateParams, opts ...option.RequestOption) (err error)

Update an existing Venmo account

type AccountVenmoUpdateParams

type AccountVenmoUpdateParams struct {
	// Name for the Venmo account
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountVenmoUpdateParams) MarshalJSON

func (r AccountVenmoUpdateParams) MarshalJSON() (data []byte, err error)

func (*AccountVenmoUpdateParams) UnmarshalJSON

func (r *AccountVenmoUpdateParams) UnmarshalJSON(data []byte) error

type AccountWalletListResponse

type AccountWalletListResponse struct {
	Wallets []CreateWalletResponse `json:"wallets"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Wallets     respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountWalletListResponse) RawJSON

func (r AccountWalletListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountWalletListResponse) UnmarshalJSON

func (r *AccountWalletListResponse) UnmarshalJSON(data []byte) error

type AccountWalletNewParams

type AccountWalletNewParams struct {
	CreateWalletRequest CreateWalletRequestParam
	// contains filtered or unexported fields
}

func (AccountWalletNewParams) MarshalJSON

func (r AccountWalletNewParams) MarshalJSON() (data []byte, err error)

func (*AccountWalletNewParams) UnmarshalJSON

func (r *AccountWalletNewParams) UnmarshalJSON(data []byte) error

type AccountWalletNewResponse

type AccountWalletNewResponse = any

type AccountWalletService

type AccountWalletService struct {
	Options []option.RequestOption
}

AccountWalletService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountWalletService method instead.

func NewAccountWalletService

func NewAccountWalletService(opts ...option.RequestOption) (r AccountWalletService)

NewAccountWalletService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountWalletService) List

Get wallet accounts for user

func (*AccountWalletService) New

Update wallet

type AccountWireListResponse

type AccountWireListResponse struct {
	// List of wire accounts
	Accounts []WireAccountResponse `json:"accounts,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Accounts    respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (AccountWireListResponse) RawJSON

func (r AccountWireListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*AccountWireListResponse) UnmarshalJSON

func (r *AccountWireListResponse) UnmarshalJSON(data []byte) error

type AccountWireNewParams

type AccountWireNewParams struct {
	// Account number
	Account string `json:"account,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Account type
	//
	// Any of "CHECKING", "SAVINGS", "BUSINESS".
	Type AccountWireNewParamsType `json:"type,omitzero,required"`
	// Optional name
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountWireNewParams) MarshalJSON

func (r AccountWireNewParams) MarshalJSON() (data []byte, err error)

func (*AccountWireNewParams) UnmarshalJSON

func (r *AccountWireNewParams) UnmarshalJSON(data []byte) error

type AccountWireNewParamsType

type AccountWireNewParamsType string

Account type

const (
	AccountWireNewParamsTypeChecking AccountWireNewParamsType = "CHECKING"
	AccountWireNewParamsTypeSavings  AccountWireNewParamsType = "SAVINGS"
	AccountWireNewParamsTypeBusiness AccountWireNewParamsType = "BUSINESS"
)

type AccountWireService

type AccountWireService struct {
	Options []option.RequestOption
}

AccountWireService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccountWireService method instead.

func NewAccountWireService

func NewAccountWireService(opts ...option.RequestOption) (r AccountWireService)

NewAccountWireService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccountWireService) Delete

func (r *AccountWireService) Delete(ctx context.Context, wireID string, opts ...option.RequestOption) (err error)

Remove an existing wire account

func (*AccountWireService) List

Return the wire accounts

func (*AccountWireService) New

Create a new wire account

func (*AccountWireService) Update

func (r *AccountWireService) Update(ctx context.Context, accountID string, body AccountWireUpdateParams, opts ...option.RequestOption) (err error)

Update an existing wire account

type AccountWireUpdateParams

type AccountWireUpdateParams struct {
	// Name for account
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (AccountWireUpdateParams) MarshalJSON

func (r AccountWireUpdateParams) MarshalJSON() (data []byte, err error)

func (*AccountWireUpdateParams) UnmarshalJSON

func (r *AccountWireUpdateParams) UnmarshalJSON(data []byte) error

type Address

type Address struct {
	// City
	City string `json:"city,nullable"`
	// Country
	Country string `json:"country,nullable"`
	// Street line 1
	Line1 string `json:"line_1,nullable"`
	// State
	State string `json:"state,nullable"`
	// Zip/postal code
	Zip string `json:"zip,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		City        respjson.Field
		Country     respjson.Field
		Line1       respjson.Field
		State       respjson.Field
		Zip         respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (Address) RawJSON

func (r Address) RawJSON() string

Returns the unmodified JSON received from the API

func (Address) ToParam

func (r Address) ToParam() AddressParam

ToParam converts this Address to a AddressParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with AddressParam.Overrides()

func (*Address) UnmarshalJSON

func (r *Address) UnmarshalJSON(data []byte) error

type AddressParam

type AddressParam struct {
	// City
	City param.Opt[string] `json:"city,omitzero"`
	// Country
	Country param.Opt[string] `json:"country,omitzero"`
	// Street line 1
	Line1 param.Opt[string] `json:"line_1,omitzero"`
	// State
	State param.Opt[string] `json:"state,omitzero"`
	// Zip/postal code
	Zip param.Opt[string] `json:"zip,omitzero"`
	// contains filtered or unexported fields
}

func (AddressParam) MarshalJSON

func (r AddressParam) MarshalJSON() (data []byte, err error)

func (*AddressParam) UnmarshalJSON

func (r *AddressParam) UnmarshalJSON(data []byte) error

type ApprovalListParams

type ApprovalListParams struct {
	// End date
	EndDate param.Opt[time.Time] `query:"end_date,omitzero" format:"date" json:"-"`
	// Start date
	StartDate param.Opt[time.Time] `query:"start_date,omitzero" format:"date" json:"-"`
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Query
	Q param.Opt[string] `query:"q,omitzero" json:"-"`
	// Direction
	//
	// Any of "INCOMING", "OUTGOING".
	Direction ApprovalListParamsDirection `query:"direction,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50, 100, 250.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// Sort
	//
	// Any of "+NUMBER", "-NUMBER", "+TYPE", "-TYPE", "+AMOUNT", "-AMOUNT", "+STATUS",
	// "-STATUS", "+DATE", "-DATE", "+UPDATE", "-UPDATE", "+DESCRIPTION",
	// "-DESCRIPTION".
	Sort ApprovalListParamsSort `query:"sort,omitzero" json:"-"`
	// Status
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED".
	Status ApprovalListParamsStatus `query:"status,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (ApprovalListParams) URLQuery

func (r ApprovalListParams) URLQuery() (v url.Values, err error)

URLQuery serializes ApprovalListParams's query parameters as `url.Values`.

type ApprovalListParamsDirection

type ApprovalListParamsDirection string

Direction

const (
	ApprovalListParamsDirectionIncoming ApprovalListParamsDirection = "INCOMING"
	ApprovalListParamsDirectionOutgoing ApprovalListParamsDirection = "OUTGOING"
)

type ApprovalListParamsSort

type ApprovalListParamsSort string

Sort

const (
	ApprovalListParamsSortPlusNumber       ApprovalListParamsSort = "+NUMBER"
	ApprovalListParamsSortMinusNumber      ApprovalListParamsSort = "-NUMBER"
	ApprovalListParamsSortPlusType         ApprovalListParamsSort = "+TYPE"
	ApprovalListParamsSortMinusType        ApprovalListParamsSort = "-TYPE"
	ApprovalListParamsSortPlusAmount       ApprovalListParamsSort = "+AMOUNT"
	ApprovalListParamsSortMinusAmount      ApprovalListParamsSort = "-AMOUNT"
	ApprovalListParamsSortPlusStatus       ApprovalListParamsSort = "+STATUS"
	ApprovalListParamsSortMinusStatus      ApprovalListParamsSort = "-STATUS"
	ApprovalListParamsSortPlusDate         ApprovalListParamsSort = "+DATE"
	ApprovalListParamsSortMinusDate        ApprovalListParamsSort = "-DATE"
	ApprovalListParamsSortPlusUpdate       ApprovalListParamsSort = "+UPDATE"
	ApprovalListParamsSortMinusUpdate      ApprovalListParamsSort = "-UPDATE"
	ApprovalListParamsSortPlusDescription  ApprovalListParamsSort = "+DESCRIPTION"
	ApprovalListParamsSortMinusDescription ApprovalListParamsSort = "-DESCRIPTION"
)

type ApprovalListParamsStatus

type ApprovalListParamsStatus string

Status

const (
	ApprovalListParamsStatusPaid      ApprovalListParamsStatus = "PAID"
	ApprovalListParamsStatusInProcess ApprovalListParamsStatus = "IN_PROCESS"
	ApprovalListParamsStatusUnpaid    ApprovalListParamsStatus = "UNPAID"
	ApprovalListParamsStatusVoid      ApprovalListParamsStatus = "VOID"
	ApprovalListParamsStatusExpired   ApprovalListParamsStatus = "EXPIRED"
	ApprovalListParamsStatusPrinted   ApprovalListParamsStatus = "PRINTED"
	ApprovalListParamsStatusMailed    ApprovalListParamsStatus = "MAILED"
	ApprovalListParamsStatusFailed    ApprovalListParamsStatus = "FAILED"
	ApprovalListParamsStatusRefunded  ApprovalListParamsStatus = "REFUNDED"
)

type ApprovalListResponse

type ApprovalListResponse struct {
	// List of sent/received payment
	Checks []ApprovalListResponseCheck `json:"checks,required"`
	Page   int64                       `json:"page,required"`
	Pages  int64                       `json:"pages,required"`
	Total  int64                       `json:"total,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Checks      respjson.Field
		Page        respjson.Field
		Pages       respjson.Field
		Total       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (ApprovalListResponse) RawJSON

func (r ApprovalListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*ApprovalListResponse) UnmarshalJSON

func (r *ApprovalListResponse) UnmarshalJSON(data []byte) error

type ApprovalListResponseCheck

type ApprovalListResponseCheck struct {
	// Unique identifier for payment
	ID string `json:"id,required"`
	// Payment amount
	Amount float64 `json:"amount,required"`
	// Payment creation timestamp
	Date string `json:"date,required"`
	// Payment direction
	//
	// Any of "INCOMING", "OUTGOING".
	Direction string `json:"direction,required"`
	// Current status of the entry
	//
	// Any of "UNPAID", "APPROVED", "VOID".
	Status string `json:"status,required"`
	// Payment comment
	Comment string `json:"comment,nullable"`
	// Payment description/memo
	Description string `json:"description,nullable"`
	// URI where image of the payment can be accessed
	ImageUri string `json:"image_uri,nullable"`
	// Name of third party who received the payment
	Name      string                                  `json:"name,nullable"`
	Number    ApprovalListResponseCheckNumberUnion    `json:"number"`
	Recipient ApprovalListResponseCheckRecipientUnion `json:"recipient"`
	// Email/id or physical address of the check sender
	Sender string `json:"sender,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Amount      respjson.Field
		Date        respjson.Field
		Direction   respjson.Field
		Status      respjson.Field
		Comment     respjson.Field
		Description respjson.Field
		ImageUri    respjson.Field
		Name        respjson.Field
		Number      respjson.Field
		Recipient   respjson.Field
		Sender      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (ApprovalListResponseCheck) RawJSON

func (r ApprovalListResponseCheck) RawJSON() string

Returns the unmodified JSON received from the API

func (*ApprovalListResponseCheck) UnmarshalJSON

func (r *ApprovalListResponseCheck) UnmarshalJSON(data []byte) error

type ApprovalListResponseCheckNumberUnion

type ApprovalListResponseCheckNumberUnion struct {
	// This field will be present if the value is a [int64] instead of an object.
	OfInt int64 `json:",inline"`
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	JSON     struct {
		OfInt    respjson.Field
		OfString respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

ApprovalListResponseCheckNumberUnion contains all possible properties and values from [int64], [string].

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfInt OfString]

func (ApprovalListResponseCheckNumberUnion) AsInt

func (ApprovalListResponseCheckNumberUnion) AsString

func (ApprovalListResponseCheckNumberUnion) RawJSON

Returns the unmodified JSON received from the API

func (*ApprovalListResponseCheckNumberUnion) UnmarshalJSON

func (r *ApprovalListResponseCheckNumberUnion) UnmarshalJSON(data []byte) error

type ApprovalListResponseCheckRecipientUnion

type ApprovalListResponseCheckRecipientUnion struct {
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	// This field will be present if the value is a [[]string] instead of an object.
	OfStringArray []string `json:",inline"`
	// This field is from variant [CheckAddress].
	City string `json:"city"`
	// This field is from variant [CheckAddress].
	Line1 string `json:"line_1"`
	// This field is from variant [CheckAddress].
	State string `json:"state"`
	// This field is from variant [CheckAddress].
	Zip string `json:"zip"`
	// This field is from variant [CheckAddress].
	Country string `json:"country"`
	// This field is from variant [CheckAddress].
	Line2 string `json:"line_2"`
	JSON  struct {
		OfString      respjson.Field
		OfStringArray respjson.Field
		City          respjson.Field
		Line1         respjson.Field
		State         respjson.Field
		Zip           respjson.Field
		Country       respjson.Field
		Line2         respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

ApprovalListResponseCheckRecipientUnion contains all possible properties and values from [string], [[]string], CheckAddress.

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfString OfStringArray]

func (ApprovalListResponseCheckRecipientUnion) AsCheckAddress

func (ApprovalListResponseCheckRecipientUnion) AsString

func (ApprovalListResponseCheckRecipientUnion) AsStringArray

func (u ApprovalListResponseCheckRecipientUnion) AsStringArray() (v []string)

func (ApprovalListResponseCheckRecipientUnion) RawJSON

Returns the unmodified JSON received from the API

func (*ApprovalListResponseCheckRecipientUnion) UnmarshalJSON

func (r *ApprovalListResponseCheckRecipientUnion) UnmarshalJSON(data []byte) error

type ApprovalNewDigitalParams

type ApprovalNewDigitalParams struct {
	CreateDigitalCheck CreateDigitalCheckParam
	// contains filtered or unexported fields
}

func (ApprovalNewDigitalParams) MarshalJSON

func (r ApprovalNewDigitalParams) MarshalJSON() (data []byte, err error)

func (*ApprovalNewDigitalParams) UnmarshalJSON

func (r *ApprovalNewDigitalParams) UnmarshalJSON(data []byte) error

type ApprovalNewMultiParams

type ApprovalNewMultiParams struct {
	CreateMultiCheck CreateMultiCheckParam
	// contains filtered or unexported fields
}

func (ApprovalNewMultiParams) MarshalJSON

func (r ApprovalNewMultiParams) MarshalJSON() (data []byte, err error)

func (*ApprovalNewMultiParams) UnmarshalJSON

func (r *ApprovalNewMultiParams) UnmarshalJSON(data []byte) error

type ApprovalNewPhysicalParams

type ApprovalNewPhysicalParams struct {
	CreatePhysicalCheck CreatePhysicalCheckParam
	// contains filtered or unexported fields
}

func (ApprovalNewPhysicalParams) MarshalJSON

func (r ApprovalNewPhysicalParams) MarshalJSON() (data []byte, err error)

func (*ApprovalNewPhysicalParams) UnmarshalJSON

func (r *ApprovalNewPhysicalParams) UnmarshalJSON(data []byte) error

type ApprovalReleaseParams

type ApprovalReleaseParams struct {
	// Unique identifier for check
	ID string `json:"id,required" format:"uuid"`
	// contains filtered or unexported fields
}

func (ApprovalReleaseParams) MarshalJSON

func (r ApprovalReleaseParams) MarshalJSON() (data []byte, err error)

func (*ApprovalReleaseParams) UnmarshalJSON

func (r *ApprovalReleaseParams) UnmarshalJSON(data []byte) error

type ApprovalService

type ApprovalService struct {
	Options []option.RequestOption
}

ApprovalService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewApprovalService method instead.

func NewApprovalService

func NewApprovalService(opts ...option.RequestOption) (r ApprovalService)

NewApprovalService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*ApprovalService) Delete

func (r *ApprovalService) Delete(ctx context.Context, approvalID string, opts ...option.RequestOption) (err error)

Cancel the specified check approval

func (*ApprovalService) Get

func (r *ApprovalService) Get(ctx context.Context, approvalID string, opts ...option.RequestOption) (res *GetApproval, err error)

Get the specified payment approval

func (*ApprovalService) GetAttachment

func (r *ApprovalService) GetAttachment(ctx context.Context, approvalID string, opts ...option.RequestOption) (res *Error, err error)

Get the attachment for a payment approval

func (*ApprovalService) List

Return approvals

func (*ApprovalService) NewDigital

func (r *ApprovalService) NewDigital(ctx context.Context, body ApprovalNewDigitalParams, opts ...option.RequestOption) (res *GetApproval, err error)

Create a new approval digital payment

func (*ApprovalService) NewMulti

func (r *ApprovalService) NewMulti(ctx context.Context, body ApprovalNewMultiParams, opts ...option.RequestOption) (res *GetApproval, err error)

Create a new multi-party payment approval

func (*ApprovalService) NewPhysical

func (r *ApprovalService) NewPhysical(ctx context.Context, body ApprovalNewPhysicalParams, opts ...option.RequestOption) (res *GetApproval, err error)

Create a new physical check approval

func (*ApprovalService) Release

func (r *ApprovalService) Release(ctx context.Context, body ApprovalReleaseParams, opts ...option.RequestOption) (res *GetCheck, err error)

Create a live payment from an approval

func (*ApprovalService) Update

func (r *ApprovalService) Update(ctx context.Context, approvalID string, body ApprovalUpdateParams, opts ...option.RequestOption) (err error)

Update the specified paynent approval

type ApprovalUpdateParams

type ApprovalUpdateParams struct {
	// Optional description/memo for check
	Description param.Opt[string] `json:"description,omitzero"`
	// Optional debit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// Check amount
	Amount param.Opt[float64] `json:"amount,omitzero"`
	// Name of recipient
	Name param.Opt[string] `json:"name,omitzero"`
	// Check number
	Number param.Opt[string] `json:"number,omitzero"`
	// Email or text enabled phone number/id of recipient
	Recipient param.Opt[string] `json:"recipient,omitzero"`
	// contains filtered or unexported fields
}

func (ApprovalUpdateParams) MarshalJSON

func (r ApprovalUpdateParams) MarshalJSON() (data []byte, err error)

func (*ApprovalUpdateParams) UnmarshalJSON

func (r *ApprovalUpdateParams) UnmarshalJSON(data []byte) error

type AttachmentParam

type AttachmentParam struct {
	// Base64 encoded attachment content
	Content string `json:"content,required"`
	// Attachment filename
	Filename string `json:"filename,required"`
	// contains filtered or unexported fields
}

The properties Content, Filename are required.

func (AttachmentParam) MarshalJSON

func (r AttachmentParam) MarshalJSON() (data []byte, err error)

func (*AttachmentParam) UnmarshalJSON

func (r *AttachmentParam) UnmarshalJSON(data []byte) error

type CheckAddress

type CheckAddress struct {
	// City
	City string `json:"city,required"`
	// Line 1
	Line1 string `json:"line_1,required"`
	// State
	State string `json:"state,required"`
	// Zip/postal code
	Zip string `json:"zip,required"`
	// Country
	Country string `json:"country"`
	// Line 2
	Line2 string `json:"line_2"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		City        respjson.Field
		Line1       respjson.Field
		State       respjson.Field
		Zip         respjson.Field
		Country     respjson.Field
		Line2       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckAddress) RawJSON

func (r CheckAddress) RawJSON() string

Returns the unmodified JSON received from the API

func (*CheckAddress) UnmarshalJSON

func (r *CheckAddress) UnmarshalJSON(data []byte) error

type CheckDepositGetResponse

type CheckDepositGetResponse struct {
	// Check type
	CheckType string    `json:"check_type,required"`
	Eta       time.Time `json:"eta,required" format:"date"`
	Recipient string    `json:"recipient,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		CheckType   respjson.Field
		Eta         respjson.Field
		Recipient   respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckDepositGetResponse) RawJSON

func (r CheckDepositGetResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CheckDepositGetResponse) UnmarshalJSON

func (r *CheckDepositGetResponse) UnmarshalJSON(data []byte) error

type CheckDepositNewParams

type CheckDepositNewParams struct {
	// ID of the account to deposit the payment
	Account string `json:"account,required" format:"uuid"`
	// contains filtered or unexported fields
}

func (CheckDepositNewParams) MarshalJSON

func (r CheckDepositNewParams) MarshalJSON() (data []byte, err error)

func (*CheckDepositNewParams) UnmarshalJSON

func (r *CheckDepositNewParams) UnmarshalJSON(data []byte) error

type CheckDepositService

type CheckDepositService struct {
	Options []option.RequestOption
}

CheckDepositService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCheckDepositService method instead.

func NewCheckDepositService

func NewCheckDepositService(opts ...option.RequestOption) (r CheckDepositService)

NewCheckDepositService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CheckDepositService) Get

func (r *CheckDepositService) Get(ctx context.Context, checkID string, opts ...option.RequestOption) (res *CheckDepositGetResponse, err error)

Get details on a deposited payment

func (*CheckDepositService) New

func (r *CheckDepositService) New(ctx context.Context, checkID string, body CheckDepositNewParams, opts ...option.RequestOption) (res *GetCheck, err error)

Deposit a payment

type CheckEndorseParams

type CheckEndorseParams struct {
	// Name of the endorser
	Name string `json:"name,required"`
	// Signature of the endorser
	Signature param.Opt[string] `json:"signature,omitzero"`
	// contains filtered or unexported fields
}

func (CheckEndorseParams) MarshalJSON

func (r CheckEndorseParams) MarshalJSON() (data []byte, err error)

func (*CheckEndorseParams) UnmarshalJSON

func (r *CheckEndorseParams) UnmarshalJSON(data []byte) error

type CheckGetFailDetailsResponse

type CheckGetFailDetailsResponse struct {
	// Check fail code
	Code string `json:"code,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Code        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckGetFailDetailsResponse) RawJSON

func (r CheckGetFailDetailsResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CheckGetFailDetailsResponse) UnmarshalJSON

func (r *CheckGetFailDetailsResponse) UnmarshalJSON(data []byte) error

type CheckGetTrackingDetailsResponse

type CheckGetTrackingDetailsResponse struct {
	// List of tracking events
	Tracking []CheckGetTrackingDetailsResponseTracking `json:"tracking,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Tracking    respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckGetTrackingDetailsResponse) RawJSON

Returns the unmodified JSON received from the API

func (*CheckGetTrackingDetailsResponse) UnmarshalJSON

func (r *CheckGetTrackingDetailsResponse) UnmarshalJSON(data []byte) error

type CheckGetTrackingDetailsResponseTracking

type CheckGetTrackingDetailsResponseTracking struct {
	// Location
	Location string `json:"location,required"`
	// Date
	ActionTs string `json:"action_ts,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Location    respjson.Field
		ActionTs    respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckGetTrackingDetailsResponseTracking) RawJSON

Returns the unmodified JSON received from the API

func (*CheckGetTrackingDetailsResponseTracking) UnmarshalJSON

func (r *CheckGetTrackingDetailsResponseTracking) UnmarshalJSON(data []byte) error

type CheckListParams

type CheckListParams struct {
	// End date
	EndDate param.Opt[time.Time] `query:"end_date,omitzero" format:"date" json:"-"`
	// Start date
	StartDate param.Opt[time.Time] `query:"start_date,omitzero" format:"date" json:"-"`
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Query
	Q param.Opt[string] `query:"q,omitzero" json:"-"`
	// Direction
	//
	// Any of "INCOMING", "OUTGOING".
	Direction CheckListParamsDirection `query:"direction,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50, 100, 250.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// Sort
	//
	// Any of "+NUMBER", "-NUMBER", "+TYPE", "-TYPE", "+AMOUNT", "-AMOUNT", "+STATUS",
	// "-STATUS", "+DATE", "-DATE", "+UPDATE", "-UPDATE", "+DESCRIPTION",
	// "-DESCRIPTION".
	Sort CheckListParamsSort `query:"sort,omitzero" json:"-"`
	// Status
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED".
	Status CheckListParamsStatus `query:"status,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (CheckListParams) URLQuery

func (r CheckListParams) URLQuery() (v url.Values, err error)

URLQuery serializes CheckListParams's query parameters as `url.Values`.

type CheckListParamsDirection

type CheckListParamsDirection string

Direction

const (
	CheckListParamsDirectionIncoming CheckListParamsDirection = "INCOMING"
	CheckListParamsDirectionOutgoing CheckListParamsDirection = "OUTGOING"
)

type CheckListParamsSort

type CheckListParamsSort string

Sort

const (
	CheckListParamsSortPlusNumber       CheckListParamsSort = "+NUMBER"
	CheckListParamsSortMinusNumber      CheckListParamsSort = "-NUMBER"
	CheckListParamsSortPlusType         CheckListParamsSort = "+TYPE"
	CheckListParamsSortMinusType        CheckListParamsSort = "-TYPE"
	CheckListParamsSortPlusAmount       CheckListParamsSort = "+AMOUNT"
	CheckListParamsSortMinusAmount      CheckListParamsSort = "-AMOUNT"
	CheckListParamsSortPlusStatus       CheckListParamsSort = "+STATUS"
	CheckListParamsSortMinusStatus      CheckListParamsSort = "-STATUS"
	CheckListParamsSortPlusDate         CheckListParamsSort = "+DATE"
	CheckListParamsSortMinusDate        CheckListParamsSort = "-DATE"
	CheckListParamsSortPlusUpdate       CheckListParamsSort = "+UPDATE"
	CheckListParamsSortMinusUpdate      CheckListParamsSort = "-UPDATE"
	CheckListParamsSortPlusDescription  CheckListParamsSort = "+DESCRIPTION"
	CheckListParamsSortMinusDescription CheckListParamsSort = "-DESCRIPTION"
)

type CheckListParamsStatus

type CheckListParamsStatus string

Status

const (
	CheckListParamsStatusPaid      CheckListParamsStatus = "PAID"
	CheckListParamsStatusInProcess CheckListParamsStatus = "IN_PROCESS"
	CheckListParamsStatusUnpaid    CheckListParamsStatus = "UNPAID"
	CheckListParamsStatusVoid      CheckListParamsStatus = "VOID"
	CheckListParamsStatusExpired   CheckListParamsStatus = "EXPIRED"
	CheckListParamsStatusPrinted   CheckListParamsStatus = "PRINTED"
	CheckListParamsStatusMailed    CheckListParamsStatus = "MAILED"
	CheckListParamsStatusFailed    CheckListParamsStatus = "FAILED"
	CheckListParamsStatusRefunded  CheckListParamsStatus = "REFUNDED"
)

type CheckListResponse

type CheckListResponse struct {
	// List of sent/received payments
	Checks []CheckListResponseCheck `json:"checks,required"`
	Page   int64                    `json:"page,required"`
	Pages  int64                    `json:"pages,required"`
	Total  int64                    `json:"total,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Checks      respjson.Field
		Page        respjson.Field
		Pages       respjson.Field
		Total       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckListResponse) RawJSON

func (r CheckListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CheckListResponse) UnmarshalJSON

func (r *CheckListResponse) UnmarshalJSON(data []byte) error

type CheckListResponseCheck

type CheckListResponseCheck struct {
	// Unique identifier for payment
	ID string `json:"id,required"`
	// Payment amount
	Amount float64 `json:"amount,required"`
	// Payment creation timestamp
	Date string `json:"date,required"`
	// Payment direction
	//
	// Any of "INCOMING", "OUTGOING".
	Direction string `json:"direction,required"`
	// Current status of the payment
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED".
	Status string `json:"status,required"`
	// Payment comment
	Comment string `json:"comment,nullable"`
	// Payment description/memo
	Description string `json:"description,nullable"`
	// URI where image of the payment can be accessed
	ImageUri string `json:"image_uri,nullable"`
	// Name of third party who received the payment
	Name      string                               `json:"name,nullable"`
	Number    CheckListResponseCheckNumberUnion    `json:"number"`
	Recipient CheckListResponseCheckRecipientUnion `json:"recipient"`
	// Email/id or physical address of the payment sender
	Sender string `json:"sender,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Amount      respjson.Field
		Date        respjson.Field
		Direction   respjson.Field
		Status      respjson.Field
		Comment     respjson.Field
		Description respjson.Field
		ImageUri    respjson.Field
		Name        respjson.Field
		Number      respjson.Field
		Recipient   respjson.Field
		Sender      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckListResponseCheck) RawJSON

func (r CheckListResponseCheck) RawJSON() string

Returns the unmodified JSON received from the API

func (*CheckListResponseCheck) UnmarshalJSON

func (r *CheckListResponseCheck) UnmarshalJSON(data []byte) error

type CheckListResponseCheckNumberUnion

type CheckListResponseCheckNumberUnion struct {
	// This field will be present if the value is a [int64] instead of an object.
	OfInt int64 `json:",inline"`
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	JSON     struct {
		OfInt    respjson.Field
		OfString respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

CheckListResponseCheckNumberUnion contains all possible properties and values from [int64], [string].

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfInt OfString]

func (CheckListResponseCheckNumberUnion) AsInt

func (CheckListResponseCheckNumberUnion) AsString

func (u CheckListResponseCheckNumberUnion) AsString() (v string)

func (CheckListResponseCheckNumberUnion) RawJSON

Returns the unmodified JSON received from the API

func (*CheckListResponseCheckNumberUnion) UnmarshalJSON

func (r *CheckListResponseCheckNumberUnion) UnmarshalJSON(data []byte) error

type CheckListResponseCheckRecipientUnion

type CheckListResponseCheckRecipientUnion struct {
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	// This field will be present if the value is a [[]string] instead of an object.
	OfStringArray []string `json:",inline"`
	// This field is from variant [CheckAddress].
	City string `json:"city"`
	// This field is from variant [CheckAddress].
	Line1 string `json:"line_1"`
	// This field is from variant [CheckAddress].
	State string `json:"state"`
	// This field is from variant [CheckAddress].
	Zip string `json:"zip"`
	// This field is from variant [CheckAddress].
	Country string `json:"country"`
	// This field is from variant [CheckAddress].
	Line2 string `json:"line_2"`
	JSON  struct {
		OfString      respjson.Field
		OfStringArray respjson.Field
		City          respjson.Field
		Line1         respjson.Field
		State         respjson.Field
		Zip           respjson.Field
		Country       respjson.Field
		Line2         respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

CheckListResponseCheckRecipientUnion contains all possible properties and values from [string], [[]string], CheckAddress.

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfString OfStringArray]

func (CheckListResponseCheckRecipientUnion) AsCheckAddress

func (u CheckListResponseCheckRecipientUnion) AsCheckAddress() (v CheckAddress)

func (CheckListResponseCheckRecipientUnion) AsString

func (CheckListResponseCheckRecipientUnion) AsStringArray

func (u CheckListResponseCheckRecipientUnion) AsStringArray() (v []string)

func (CheckListResponseCheckRecipientUnion) RawJSON

Returns the unmodified JSON received from the API

func (*CheckListResponseCheckRecipientUnion) UnmarshalJSON

func (r *CheckListResponseCheckRecipientUnion) UnmarshalJSON(data []byte) error

type CheckNewDigitalParams

type CheckNewDigitalParams struct {
	CreateDigitalCheck CreateDigitalCheckParam
	// contains filtered or unexported fields
}

func (CheckNewDigitalParams) MarshalJSON

func (r CheckNewDigitalParams) MarshalJSON() (data []byte, err error)

func (*CheckNewDigitalParams) UnmarshalJSON

func (r *CheckNewDigitalParams) UnmarshalJSON(data []byte) error

type CheckNewMultiParams

type CheckNewMultiParams struct {
	CreateMultiCheck CreateMultiCheckParam
	// contains filtered or unexported fields
}

func (CheckNewMultiParams) MarshalJSON

func (r CheckNewMultiParams) MarshalJSON() (data []byte, err error)

func (*CheckNewMultiParams) UnmarshalJSON

func (r *CheckNewMultiParams) UnmarshalJSON(data []byte) error

type CheckNewPhysicalParams

type CheckNewPhysicalParams struct {
	CreatePhysicalCheck CreatePhysicalCheckParam
	// contains filtered or unexported fields
}

func (CheckNewPhysicalParams) MarshalJSON

func (r CheckNewPhysicalParams) MarshalJSON() (data []byte, err error)

func (*CheckNewPhysicalParams) UnmarshalJSON

func (r *CheckNewPhysicalParams) UnmarshalJSON(data []byte) error

type CheckPreviewParams

type CheckPreviewParams struct {
	// Check amount
	Amount float64 `json:"amount,required"`
	// Recipient name
	Name string `json:"name,required"`
	// Debit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// Check description
	Description param.Opt[string]             `json:"description,omitzero"`
	Number      CheckPreviewParamsNumberUnion `json:"number,omitzero"`
	// contains filtered or unexported fields
}

func (CheckPreviewParams) MarshalJSON

func (r CheckPreviewParams) MarshalJSON() (data []byte, err error)

func (*CheckPreviewParams) UnmarshalJSON

func (r *CheckPreviewParams) UnmarshalJSON(data []byte) error

type CheckPreviewParamsNumberUnion

type CheckPreviewParamsNumberUnion struct {
	OfString param.Opt[string] `json:",omitzero,inline"`
	OfInt    param.Opt[int64]  `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CheckPreviewParamsNumberUnion) MarshalJSON

func (u CheckPreviewParamsNumberUnion) MarshalJSON() ([]byte, error)

func (*CheckPreviewParamsNumberUnion) UnmarshalJSON

func (u *CheckPreviewParamsNumberUnion) UnmarshalJSON(data []byte) error

type CheckPreviewResponse

type CheckPreviewResponse struct {
	// Base64 encoded check image
	Image string `json:"image,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Image       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CheckPreviewResponse) RawJSON

func (r CheckPreviewResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CheckPreviewResponse) UnmarshalJSON

func (r *CheckPreviewResponse) UnmarshalJSON(data []byte) error

type CheckService

type CheckService struct {
	Options []option.RequestOption
	Deposit CheckDepositService
}

CheckService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCheckService method instead.

func NewCheckService

func NewCheckService(opts ...option.RequestOption) (r CheckService)

NewCheckService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CheckService) Endorse

func (r *CheckService) Endorse(ctx context.Context, checkID string, body CheckEndorseParams, opts ...option.RequestOption) (err error)

Endorse a multi party payment

func (*CheckService) Get

func (r *CheckService) Get(ctx context.Context, checkID string, opts ...option.RequestOption) (res *GetCheck, err error)

Get the specified payment

func (*CheckService) GetAttachment

func (r *CheckService) GetAttachment(ctx context.Context, checkID string, opts ...option.RequestOption) (res *Error, err error)

Get the attachment for a payment

func (*CheckService) GetFailDetails

func (r *CheckService) GetFailDetails(ctx context.Context, checkID string, opts ...option.RequestOption) (res *CheckGetFailDetailsResponse, err error)

Get details on a failed payment

func (*CheckService) GetTrackingDetails

func (r *CheckService) GetTrackingDetails(ctx context.Context, checkID string, opts ...option.RequestOption) (res *CheckGetTrackingDetailsResponse, err error)

Get tracking details on a mailed check

func (*CheckService) GetVerificationCode

func (r *CheckService) GetVerificationCode(ctx context.Context, checkID string, opts ...option.RequestOption) (res *Error, err error)

Get the verification code

func (*CheckService) List

func (r *CheckService) List(ctx context.Context, query CheckListParams, opts ...option.RequestOption) (res *CheckListResponse, err error)

Return the sent/received payments

func (*CheckService) NewDigital

func (r *CheckService) NewDigital(ctx context.Context, body CheckNewDigitalParams, opts ...option.RequestOption) (res *GetCheck, err error)

Create a digital payment

func (*CheckService) NewMulti

func (r *CheckService) NewMulti(ctx context.Context, body CheckNewMultiParams, opts ...option.RequestOption) (res *GetCheck, err error)

Create a new multi party payment

func (*CheckService) NewPhysical

func (r *CheckService) NewPhysical(ctx context.Context, body CheckNewPhysicalParams, opts ...option.RequestOption) (res *GetCheck, err error)

Create a new paper check

func (*CheckService) Notify

func (r *CheckService) Notify(ctx context.Context, checkID string, opts ...option.RequestOption) (err error)

Resend payment notification

func (*CheckService) Preview

func (r *CheckService) Preview(ctx context.Context, body CheckPreviewParams, opts ...option.RequestOption) (res *CheckPreviewResponse, err error)

Preview a new payment

func (*CheckService) Print

func (r *CheckService) Print(ctx context.Context, checkID string, opts ...option.RequestOption) (res *Error, err error)

Print a check

func (*CheckService) TriggerWebhook

func (r *CheckService) TriggerWebhook(ctx context.Context, checkID string, body CheckTriggerWebhookParams, opts ...option.RequestOption) (err error)

Trigger a webhook notification on sandbox

func (*CheckService) Void

func (r *CheckService) Void(ctx context.Context, checkID string, opts ...option.RequestOption) (err error)

Void the specified payment

type CheckTriggerWebhookParams

type CheckTriggerWebhookParams struct {
	// Desired check status
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED".
	Status  CheckTriggerWebhookParamsStatus  `json:"status,omitzero,required"`
	Options CheckTriggerWebhookParamsOptions `json:"options,omitzero"`
	// contains filtered or unexported fields
}

func (CheckTriggerWebhookParams) MarshalJSON

func (r CheckTriggerWebhookParams) MarshalJSON() (data []byte, err error)

func (*CheckTriggerWebhookParams) UnmarshalJSON

func (r *CheckTriggerWebhookParams) UnmarshalJSON(data []byte) error

type CheckTriggerWebhookParamsOptions

type CheckTriggerWebhookParamsOptions struct {
	// Desired return code
	//
	// Any of "R01", "R02", "R03", "A", "B", "C", "D", "04", "05", "06", "R901".
	ReturnCode string `json:"return_code,omitzero"`
	// contains filtered or unexported fields
}

func (CheckTriggerWebhookParamsOptions) MarshalJSON

func (r CheckTriggerWebhookParamsOptions) MarshalJSON() (data []byte, err error)

func (*CheckTriggerWebhookParamsOptions) UnmarshalJSON

func (r *CheckTriggerWebhookParamsOptions) UnmarshalJSON(data []byte) error

type CheckTriggerWebhookParamsStatus

type CheckTriggerWebhookParamsStatus string

Desired check status

const (
	CheckTriggerWebhookParamsStatusPaid      CheckTriggerWebhookParamsStatus = "PAID"
	CheckTriggerWebhookParamsStatusInProcess CheckTriggerWebhookParamsStatus = "IN_PROCESS"
	CheckTriggerWebhookParamsStatusUnpaid    CheckTriggerWebhookParamsStatus = "UNPAID"
	CheckTriggerWebhookParamsStatusVoid      CheckTriggerWebhookParamsStatus = "VOID"
	CheckTriggerWebhookParamsStatusExpired   CheckTriggerWebhookParamsStatus = "EXPIRED"
	CheckTriggerWebhookParamsStatusPrinted   CheckTriggerWebhookParamsStatus = "PRINTED"
	CheckTriggerWebhookParamsStatusMailed    CheckTriggerWebhookParamsStatus = "MAILED"
	CheckTriggerWebhookParamsStatusFailed    CheckTriggerWebhookParamsStatus = "FAILED"
	CheckTriggerWebhookParamsStatusRefunded  CheckTriggerWebhookParamsStatus = "REFUNDED"
)

type Client

type Client struct {
	Options      []option.RequestOption
	Account      AccountService
	Approval     ApprovalService
	Check        CheckService
	Directory    DirectoryService
	Invoice      InvoiceService
	Mailbox      MailboxService
	Subscription SubscriptionService
	User         UserService
}

Client creates a struct with services and top level methods that help with interacting with the checkbook API. You should not instantiate this client directly, and instead use the NewClient method instead.

func NewClient

func NewClient(opts ...option.RequestOption) (r Client)

NewClient generates a new client with the default option read from the environment (CHECKBOOK_API_KEY, CHECKBOOK_BASE_URL). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.

func (*Client) Delete

func (r *Client) Delete(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error

Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Execute

func (r *Client) Execute(ctx context.Context, method string, path string, params any, res any, opts ...option.RequestOption) error

Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.

If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.

The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned url.Values will be used as query strings to the url.

If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.

Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.

The response body will be deserialized into the res variable, depending on its type:

  • A pointer to a *http.Response is populated by the raw response.
  • A pointer to a byte array will be populated with the contents of the request body.
  • A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
  • A nil value will not read the response body.

For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.

func (*Client) Get

func (r *Client) Get(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error

Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Patch

func (r *Client) Patch(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error

Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Post

func (r *Client) Post(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error

Post makes a POST request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Put

func (r *Client) Put(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error

Put makes a PUT request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

type ColorParam

type ColorParam struct {
	// Payment expiration
	Primary param.Opt[string] `json:"primary,omitzero"`
	// Payment expiration
	Secondary param.Opt[string] `json:"secondary,omitzero"`
	// contains filtered or unexported fields
}

Payment fields

func (ColorParam) MarshalJSON

func (r ColorParam) MarshalJSON() (data []byte, err error)

func (*ColorParam) UnmarshalJSON

func (r *ColorParam) UnmarshalJSON(data []byte) error

type Counterparty

type Counterparty struct {
	Address MailboxAddress `json:"address,required"`
	// Name
	Name string `json:"name,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Address     respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (Counterparty) RawJSON

func (r Counterparty) RawJSON() string

Returns the unmodified JSON received from the API

func (*Counterparty) UnmarshalJSON

func (r *Counterparty) UnmarshalJSON(data []byte) error

type CreateDigitalCheckAttachmentUnionParam

type CreateDigitalCheckAttachmentUnionParam struct {
	OfAttachment *AttachmentParam  `json:",omitzero,inline"`
	OfString     param.Opt[string] `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreateDigitalCheckAttachmentUnionParam) MarshalJSON

func (u CreateDigitalCheckAttachmentUnionParam) MarshalJSON() ([]byte, error)

func (*CreateDigitalCheckAttachmentUnionParam) UnmarshalJSON

func (u *CreateDigitalCheckAttachmentUnionParam) UnmarshalJSON(data []byte) error

type CreateDigitalCheckNumberUnionParam

type CreateDigitalCheckNumberUnionParam struct {
	OfString param.Opt[string] `json:",omitzero,inline"`
	OfInt    param.Opt[int64]  `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreateDigitalCheckNumberUnionParam) MarshalJSON

func (u CreateDigitalCheckNumberUnionParam) MarshalJSON() ([]byte, error)

func (*CreateDigitalCheckNumberUnionParam) UnmarshalJSON

func (u *CreateDigitalCheckNumberUnionParam) UnmarshalJSON(data []byte) error

type CreateDigitalCheckParam

type CreateDigitalCheckParam struct {
	// Payment amount
	Amount float64 `json:"amount,required"`
	// Name of recipient
	Name      string                                `json:"name,required"`
	Recipient CreateDigitalCheckRecipientUnionParam `json:"recipient,omitzero,required"`
	// Optional description/memo for payment
	Description param.Opt[string] `json:"description,omitzero"`
	// Debit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// Comment field for payment
	Comment    param.Opt[string]                      `json:"comment,omitzero"`
	Attachment CreateDigitalCheckAttachmentUnionParam `json:"attachment,omitzero"`
	// Any of "PRINT", "MAIL", "BANK", "CARD", "VCC", "RTP", "PAYPAL", "WALLET",
	// "VENMO", "INTERAC", "WIRE".
	DepositOptions []string                           `json:"deposit_options,omitzero"`
	Number         CreateDigitalCheckNumberUnionParam `json:"number,omitzero"`
	Pin            PinParam                           `json:"pin,omitzero"`
	// List of the remittance records
	RemittanceAdvice []RemittanceAdviceParam `json:"remittance_advice,omitzero"`
	// contains filtered or unexported fields
}

The properties Amount, Name, Recipient are required.

func (CreateDigitalCheckParam) MarshalJSON

func (r CreateDigitalCheckParam) MarshalJSON() (data []byte, err error)

func (*CreateDigitalCheckParam) UnmarshalJSON

func (r *CreateDigitalCheckParam) UnmarshalJSON(data []byte) error

type CreateDigitalCheckRecipientUnionParam

type CreateDigitalCheckRecipientUnionParam struct {
	OfString           param.Opt[string]      `json:",omitzero,inline"`
	OfDigitalRecipient *DigitalRecipientParam `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreateDigitalCheckRecipientUnionParam) MarshalJSON

func (u CreateDigitalCheckRecipientUnionParam) MarshalJSON() ([]byte, error)

func (*CreateDigitalCheckRecipientUnionParam) UnmarshalJSON

func (u *CreateDigitalCheckRecipientUnionParam) UnmarshalJSON(data []byte) error

type CreateDirectoryResponse

type CreateDirectoryResponse struct {
	// Unique identifier for directory
	ID string `json:"id,required"`
	// Name
	Name     string                           `json:"name,required"`
	Accounts []CreateDirectoryResponseAccount `json:"accounts"`
	Address  CreateDirectoryResponseAddress   `json:"address"`
	// Email
	Email string `json:"email,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Name        respjson.Field
		Accounts    respjson.Field
		Address     respjson.Field
		Email       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CreateDirectoryResponse) RawJSON

func (r CreateDirectoryResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CreateDirectoryResponse) UnmarshalJSON

func (r *CreateDirectoryResponse) UnmarshalJSON(data []byte) error

type CreateDirectoryResponseAccount

type CreateDirectoryResponseAccount struct {
	// Unique identifier for account
	ID string `json:"id,required"`
	// Account name
	Name string `json:"name,required"`
	// Last 4 of account number
	Number string `json:"number,required"`
	// Account type
	//
	// Any of "CARD", "BANK".
	Type string `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Name        respjson.Field
		Number      respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CreateDirectoryResponseAccount) RawJSON

Returns the unmodified JSON received from the API

func (*CreateDirectoryResponseAccount) UnmarshalJSON

func (r *CreateDirectoryResponseAccount) UnmarshalJSON(data []byte) error

type CreateDirectoryResponseAddress

type CreateDirectoryResponseAddress struct {
	// City
	City string `json:"city,nullable"`
	// Country
	Country string `json:"country,nullable"`
	// Line 1
	Line1 string `json:"line_1,nullable"`
	// Line 2
	Line2 string `json:"line_2,nullable"`
	// State
	State string `json:"state,nullable"`
	// Zip code
	Zip string `json:"zip,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		City        respjson.Field
		Country     respjson.Field
		Line1       respjson.Field
		Line2       respjson.Field
		State       respjson.Field
		Zip         respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CreateDirectoryResponseAddress) RawJSON

Returns the unmodified JSON received from the API

func (*CreateDirectoryResponseAddress) UnmarshalJSON

func (r *CreateDirectoryResponseAddress) UnmarshalJSON(data []byte) error

type CreateMailboxResponse

type CreateMailboxResponse struct {
	// Unique identifier for mailbox
	ID string `json:"id,required"`
	// Mailbox creation timestamp
	Date string `json:"date,required"`
	// Mailbox status
	Status  string         `json:"status,required"`
	Address MailboxAddress `json:"address"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Date        respjson.Field
		Status      respjson.Field
		Address     respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CreateMailboxResponse) RawJSON

func (r CreateMailboxResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CreateMailboxResponse) UnmarshalJSON

func (r *CreateMailboxResponse) UnmarshalJSON(data []byte) error

type CreateMultiCheckAttachmentUnionParam

type CreateMultiCheckAttachmentUnionParam struct {
	OfAttachment *AttachmentParam  `json:",omitzero,inline"`
	OfString     param.Opt[string] `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreateMultiCheckAttachmentUnionParam) MarshalJSON

func (u CreateMultiCheckAttachmentUnionParam) MarshalJSON() ([]byte, error)

func (*CreateMultiCheckAttachmentUnionParam) UnmarshalJSON

func (u *CreateMultiCheckAttachmentUnionParam) UnmarshalJSON(data []byte) error

type CreateMultiCheckNumberUnionParam

type CreateMultiCheckNumberUnionParam struct {
	OfString param.Opt[string] `json:",omitzero,inline"`
	OfInt    param.Opt[int64]  `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreateMultiCheckNumberUnionParam) MarshalJSON

func (u CreateMultiCheckNumberUnionParam) MarshalJSON() ([]byte, error)

func (*CreateMultiCheckNumberUnionParam) UnmarshalJSON

func (u *CreateMultiCheckNumberUnionParam) UnmarshalJSON(data []byte) error

type CreateMultiCheckParam

type CreateMultiCheckParam struct {
	// Payment amount
	Amount float64 `json:"amount,required"`
	// Recipients
	Recipients []MultiRecipientParam `json:"recipients,omitzero,required"`
	// Optional description/memo for payment
	Description param.Opt[string] `json:"description,omitzero"`
	// Debit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// Comment field for payment
	Comment    param.Opt[string]                    `json:"comment,omitzero"`
	Attachment CreateMultiCheckAttachmentUnionParam `json:"attachment,omitzero"`
	// Any of "PRINT", "MAIL", "BANK", "CARD", "VCC", "RTP", "PAYPAL", "WALLET",
	// "VENMO", "INTERAC", "WIRE".
	DepositOptions []string                         `json:"deposit_options,omitzero"`
	Number         CreateMultiCheckNumberUnionParam `json:"number,omitzero"`
	// List of the remittance records
	RemittanceAdvice []RemittanceAdviceParam `json:"remittance_advice,omitzero"`
	// contains filtered or unexported fields
}

The properties Amount, Recipients are required.

func (CreateMultiCheckParam) MarshalJSON

func (r CreateMultiCheckParam) MarshalJSON() (data []byte, err error)

func (*CreateMultiCheckParam) UnmarshalJSON

func (r *CreateMultiCheckParam) UnmarshalJSON(data []byte) error

type CreatePhysicalCheckAttachmentUnionParam

type CreatePhysicalCheckAttachmentUnionParam struct {
	OfAttachment *AttachmentParam  `json:",omitzero,inline"`
	OfString     param.Opt[string] `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreatePhysicalCheckAttachmentUnionParam) MarshalJSON

func (u CreatePhysicalCheckAttachmentUnionParam) MarshalJSON() ([]byte, error)

func (*CreatePhysicalCheckAttachmentUnionParam) UnmarshalJSON

func (u *CreatePhysicalCheckAttachmentUnionParam) UnmarshalJSON(data []byte) error

type CreatePhysicalCheckMailType

type CreatePhysicalCheckMailType string

Delivery options

const (
	CreatePhysicalCheckMailTypeUspsFirstClass CreatePhysicalCheckMailType = "USPS_FIRST_CLASS"
	CreatePhysicalCheckMailTypeOvernight      CreatePhysicalCheckMailType = "OVERNIGHT"
	CreatePhysicalCheckMailTypeTwoDay         CreatePhysicalCheckMailType = "TWO_DAY"
	CreatePhysicalCheckMailTypeUspsCertified  CreatePhysicalCheckMailType = "USPS_CERTIFIED"
)

type CreatePhysicalCheckNumberUnionParam

type CreatePhysicalCheckNumberUnionParam struct {
	OfString param.Opt[string] `json:",omitzero,inline"`
	OfInt    param.Opt[int64]  `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreatePhysicalCheckNumberUnionParam) MarshalJSON

func (u CreatePhysicalCheckNumberUnionParam) MarshalJSON() ([]byte, error)

func (*CreatePhysicalCheckNumberUnionParam) UnmarshalJSON

func (u *CreatePhysicalCheckNumberUnionParam) UnmarshalJSON(data []byte) error

type CreatePhysicalCheckParam

type CreatePhysicalCheckParam struct {
	// Payment amount
	Amount float64 `json:"amount,required"`
	// Name of recipient
	Name      string                      `json:"name,required"`
	Recipient PhysicalCheckRecipientParam `json:"recipient,omitzero,required"`
	// Optional description/memo for payment
	Description param.Opt[string] `json:"description,omitzero"`
	// Debit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// Comment field for payment
	Comment    param.Opt[string]                       `json:"comment,omitzero"`
	Attachment CreatePhysicalCheckAttachmentUnionParam `json:"attachment,omitzero"`
	// Delivery options
	//
	// Any of "USPS_FIRST_CLASS", "OVERNIGHT", "TWO_DAY", "USPS_CERTIFIED".
	MailType         CreatePhysicalCheckMailType                   `json:"mail_type,omitzero"`
	Number           CreatePhysicalCheckNumberUnionParam           `json:"number,omitzero"`
	RemittanceAdvice CreatePhysicalCheckRemittanceAdviceUnionParam `json:"remittance_advice,omitzero"`
	// contains filtered or unexported fields
}

The properties Amount, Name, Recipient are required.

func (CreatePhysicalCheckParam) MarshalJSON

func (r CreatePhysicalCheckParam) MarshalJSON() (data []byte, err error)

func (*CreatePhysicalCheckParam) UnmarshalJSON

func (r *CreatePhysicalCheckParam) UnmarshalJSON(data []byte) error

type CreatePhysicalCheckRemittanceAdviceUnionParam

type CreatePhysicalCheckRemittanceAdviceUnionParam struct {
	OfString           param.Opt[string]       `json:",omitzero,inline"`
	OfRemittanceAdvice []RemittanceAdviceParam `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (CreatePhysicalCheckRemittanceAdviceUnionParam) MarshalJSON

func (*CreatePhysicalCheckRemittanceAdviceUnionParam) UnmarshalJSON

func (u *CreatePhysicalCheckRemittanceAdviceUnionParam) UnmarshalJSON(data []byte) error

type CreateSubscriptionResponse

type CreateSubscriptionResponse struct {
	// Unique identifier for subscription
	ID string `json:"id,required"`
	// Subscription amount
	Amount float64 `json:"amount,required"`
	// Subscription creation timestamp
	Date string `json:"date,required"`
	// Subscription description
	Description string `json:"description,required"`
	// How often the subscription will recur
	//
	// Any of "WEEKLY", "MONTHLY".
	Interval CreateSubscriptionResponseInterval `json:"interval,required"`
	// Subscription start date
	StartDate string `json:"start_date,required"`
	// Type of the subscription
	//
	// Any of "INVOICE", "CHECK".
	Type CreateSubscriptionResponseType `json:"type,required"`
	// Debit/credit account id for funds
	Account string `json:"account,nullable"`
	// Number of times the subscription will recur (null indicates indefinite)
	Duration int64 `json:"duration,nullable"`
	// Name of third party who is receiving the check/invoice
	Name      string                                   `json:"name,nullable"`
	Recipient CreateSubscriptionResponseRecipientUnion `json:"recipient"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Amount      respjson.Field
		Date        respjson.Field
		Description respjson.Field
		Interval    respjson.Field
		StartDate   respjson.Field
		Type        respjson.Field
		Account     respjson.Field
		Duration    respjson.Field
		Name        respjson.Field
		Recipient   respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CreateSubscriptionResponse) RawJSON

func (r CreateSubscriptionResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CreateSubscriptionResponse) UnmarshalJSON

func (r *CreateSubscriptionResponse) UnmarshalJSON(data []byte) error

type CreateSubscriptionResponseInterval

type CreateSubscriptionResponseInterval string

How often the subscription will recur

const (
	CreateSubscriptionResponseIntervalWeekly  CreateSubscriptionResponseInterval = "WEEKLY"
	CreateSubscriptionResponseIntervalMonthly CreateSubscriptionResponseInterval = "MONTHLY"
)

type CreateSubscriptionResponseRecipientUnion

type CreateSubscriptionResponseRecipientUnion struct {
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	// This field is from variant [SubscriptionAddress].
	City string `json:"city"`
	// This field is from variant [SubscriptionAddress].
	Line1 string `json:"line_1"`
	// This field is from variant [SubscriptionAddress].
	State string `json:"state"`
	// This field is from variant [SubscriptionAddress].
	Zip string `json:"zip"`
	// This field is from variant [SubscriptionAddress].
	Country string `json:"country"`
	// This field is from variant [SubscriptionAddress].
	Line2 string `json:"line_2"`
	JSON  struct {
		OfString respjson.Field
		City     respjson.Field
		Line1    respjson.Field
		State    respjson.Field
		Zip      respjson.Field
		Country  respjson.Field
		Line2    respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

CreateSubscriptionResponseRecipientUnion contains all possible properties and values from [string], SubscriptionAddress.

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfString]

func (CreateSubscriptionResponseRecipientUnion) AsString

func (CreateSubscriptionResponseRecipientUnion) AsSubscriptionAddress

func (u CreateSubscriptionResponseRecipientUnion) AsSubscriptionAddress() (v SubscriptionAddress)

func (CreateSubscriptionResponseRecipientUnion) RawJSON

Returns the unmodified JSON received from the API

func (*CreateSubscriptionResponseRecipientUnion) UnmarshalJSON

func (r *CreateSubscriptionResponseRecipientUnion) UnmarshalJSON(data []byte) error

type CreateSubscriptionResponseType

type CreateSubscriptionResponseType string

Type of the subscription

const (
	CreateSubscriptionResponseTypeInvoice CreateSubscriptionResponseType = "INVOICE"
	CreateSubscriptionResponseTypeCheck   CreateSubscriptionResponseType = "CHECK"
)

type CreateWalletRequestParam

type CreateWalletRequestParam struct {
	// Optional name
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (CreateWalletRequestParam) MarshalJSON

func (r CreateWalletRequestParam) MarshalJSON() (data []byte, err error)

func (*CreateWalletRequestParam) UnmarshalJSON

func (r *CreateWalletRequestParam) UnmarshalJSON(data []byte) error

type CreateWalletResponse

type CreateWalletResponse struct {
	// Unique identifier for account
	ID string `json:"id,required"`
	// Account creation timestamp
	Date string `json:"date,required"`
	// Name of the wallet
	Name    string                      `json:"name,nullable"`
	Numbers CreateWalletResponseNumbers `json:"numbers"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Date        respjson.Field
		Name        respjson.Field
		Numbers     respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CreateWalletResponse) RawJSON

func (r CreateWalletResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*CreateWalletResponse) UnmarshalJSON

func (r *CreateWalletResponse) UnmarshalJSON(data []byte) error

type CreateWalletResponseNumbers

type CreateWalletResponseNumbers struct {
	ACH  Number140416527981344 `json:"ACH"`
	Rtp  Number140416527981344 `json:"RTP"`
	Wire Number140416527981344 `json:"WIRE"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ACH         respjson.Field
		Rtp         respjson.Field
		Wire        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (CreateWalletResponseNumbers) RawJSON

func (r CreateWalletResponseNumbers) RawJSON() string

Returns the unmodified JSON received from the API

func (*CreateWalletResponseNumbers) UnmarshalJSON

func (r *CreateWalletResponseNumbers) UnmarshalJSON(data []byte) error

type DigitalRecipientParam

type DigitalRecipientParam struct {
	// Recipient ID
	ID string `json:"id,required"`
	// Recipient account
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// contains filtered or unexported fields
}

The property ID is required.

func (DigitalRecipientParam) MarshalJSON

func (r DigitalRecipientParam) MarshalJSON() (data []byte, err error)

func (*DigitalRecipientParam) UnmarshalJSON

func (r *DigitalRecipientParam) UnmarshalJSON(data []byte) error

type DirectoryAccountDeleteParams

type DirectoryAccountDeleteParams struct {
	DirectoryID string `path:"directory_id,required" json:"-"`
	// contains filtered or unexported fields
}

type DirectoryAccountNewBankParams

type DirectoryAccountNewBankParams struct {
	// Account number
	Account string `json:"account,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Account type
	//
	// Any of "CHECKING", "SAVINGS", "BUSINESS".
	Type DirectoryAccountNewBankParamsType `json:"type,omitzero,required"`
	// Optional name
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (DirectoryAccountNewBankParams) MarshalJSON

func (r DirectoryAccountNewBankParams) MarshalJSON() (data []byte, err error)

func (*DirectoryAccountNewBankParams) UnmarshalJSON

func (r *DirectoryAccountNewBankParams) UnmarshalJSON(data []byte) error

type DirectoryAccountNewBankParamsType

type DirectoryAccountNewBankParamsType string

Account type

const (
	DirectoryAccountNewBankParamsTypeChecking DirectoryAccountNewBankParamsType = "CHECKING"
	DirectoryAccountNewBankParamsTypeSavings  DirectoryAccountNewBankParamsType = "SAVINGS"
	DirectoryAccountNewBankParamsTypeBusiness DirectoryAccountNewBankParamsType = "BUSINESS"
)

type DirectoryAccountNewBankResponse

type DirectoryAccountNewBankResponse struct {
	// Unique identifier for bank account
	ID string `json:"id,required"`
	// Bank account name
	Name string `json:"name,required"`
	// Last 4 of bank account
	Number string `json:"number,required"`
	// Account type
	//
	// Any of "BANK".
	Type DirectoryAccountNewBankResponseType `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Name        respjson.Field
		Number      respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (DirectoryAccountNewBankResponse) RawJSON

Returns the unmodified JSON received from the API

func (*DirectoryAccountNewBankResponse) UnmarshalJSON

func (r *DirectoryAccountNewBankResponse) UnmarshalJSON(data []byte) error

type DirectoryAccountNewBankResponseType

type DirectoryAccountNewBankResponseType string

Account type

const (
	DirectoryAccountNewBankResponseTypeBank DirectoryAccountNewBankResponseType = "BANK"
)

type DirectoryAccountNewCardParams

type DirectoryAccountNewCardParams struct {
	// Card number
	CardNumber string `json:"card_number,required"`
	// Card expiration date
	ExpirationDate string `json:"expiration_date,required"`
	// Card name
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (DirectoryAccountNewCardParams) MarshalJSON

func (r DirectoryAccountNewCardParams) MarshalJSON() (data []byte, err error)

func (*DirectoryAccountNewCardParams) UnmarshalJSON

func (r *DirectoryAccountNewCardParams) UnmarshalJSON(data []byte) error

type DirectoryAccountNewCardResponse

type DirectoryAccountNewCardResponse struct {
	// Unique identifier for card
	ID string `json:"id,required"`
	// Card name
	Name string `json:"name,required"`
	// Last 4 of card number
	Number string `json:"number,required"`
	// Account type
	//
	// Any of "CARD".
	Type DirectoryAccountNewCardResponseType `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Name        respjson.Field
		Number      respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (DirectoryAccountNewCardResponse) RawJSON

Returns the unmodified JSON received from the API

func (*DirectoryAccountNewCardResponse) UnmarshalJSON

func (r *DirectoryAccountNewCardResponse) UnmarshalJSON(data []byte) error

type DirectoryAccountNewCardResponseType

type DirectoryAccountNewCardResponseType string

Account type

const (
	DirectoryAccountNewCardResponseTypeCard DirectoryAccountNewCardResponseType = "CARD"
)

type DirectoryAccountService

type DirectoryAccountService struct {
	Options []option.RequestOption
}

DirectoryAccountService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDirectoryAccountService method instead.

func NewDirectoryAccountService

func NewDirectoryAccountService(opts ...option.RequestOption) (r DirectoryAccountService)

NewDirectoryAccountService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DirectoryAccountService) Delete

Remove a directory account

func (*DirectoryAccountService) NewBank

Create a new directory bank account

func (*DirectoryAccountService) NewCard

Create a new directory card account

type DirectoryGetParams

type DirectoryGetParams struct {
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Query
	Q param.Opt[string] `query:"q,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (DirectoryGetParams) URLQuery

func (r DirectoryGetParams) URLQuery() (v url.Values, err error)

URLQuery serializes DirectoryGetParams's query parameters as `url.Values`.

type DirectoryGetResponse

type DirectoryGetResponse struct {
	// List of directory entries
	Entries []CreateDirectoryResponse `json:"entries,required"`
	// Current page
	Page int64 `json:"page"`
	// Total number of pages
	Pages int64 `json:"pages"`
	// Total number of directory entries
	Total int64 `json:"total"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Entries     respjson.Field
		Page        respjson.Field
		Pages       respjson.Field
		Total       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (DirectoryGetResponse) RawJSON

func (r DirectoryGetResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*DirectoryGetResponse) UnmarshalJSON

func (r *DirectoryGetResponse) UnmarshalJSON(data []byte) error

type DirectoryNewParams

type DirectoryNewParams struct {
	// Name
	Name string `json:"name,required"`
	// Email
	Email   param.Opt[string]         `json:"email,omitzero"`
	Address DirectoryNewParamsAddress `json:"address,omitzero"`
	// contains filtered or unexported fields
}

func (DirectoryNewParams) MarshalJSON

func (r DirectoryNewParams) MarshalJSON() (data []byte, err error)

func (*DirectoryNewParams) UnmarshalJSON

func (r *DirectoryNewParams) UnmarshalJSON(data []byte) error

type DirectoryNewParamsAddress

type DirectoryNewParamsAddress struct {
	// City
	City string `json:"city,required"`
	// Line 1
	Line1 string `json:"line_1,required"`
	// State
	State string `json:"state,required"`
	// Zip/postal code
	Zip string `json:"zip,required"`
	// Country
	Country param.Opt[string] `json:"country,omitzero"`
	// Line 2
	Line2 param.Opt[string] `json:"line_2,omitzero"`
	// contains filtered or unexported fields
}

The properties City, Line1, State, Zip are required.

func (DirectoryNewParamsAddress) MarshalJSON

func (r DirectoryNewParamsAddress) MarshalJSON() (data []byte, err error)

func (*DirectoryNewParamsAddress) UnmarshalJSON

func (r *DirectoryNewParamsAddress) UnmarshalJSON(data []byte) error

type DirectoryService

type DirectoryService struct {
	Options []option.RequestOption
	Account DirectoryAccountService
}

DirectoryService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDirectoryService method instead.

func NewDirectoryService

func NewDirectoryService(opts ...option.RequestOption) (r DirectoryService)

NewDirectoryService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DirectoryService) Delete

func (r *DirectoryService) Delete(ctx context.Context, directoryID string, opts ...option.RequestOption) (err error)

Remove the directory item

func (*DirectoryService) Get

Return the directory entry

func (*DirectoryService) New

Create a new directory item

func (*DirectoryService) Update

func (r *DirectoryService) Update(ctx context.Context, directoryID string, body DirectoryUpdateParams, opts ...option.RequestOption) (err error)

Update a directory item

type DirectoryUpdateParams

type DirectoryUpdateParams struct {
	// Email
	Email param.Opt[string] `json:"email,omitzero"`
	// Name
	Name    param.Opt[string]            `json:"name,omitzero"`
	Address DirectoryUpdateParamsAddress `json:"address,omitzero"`
	// contains filtered or unexported fields
}

func (DirectoryUpdateParams) MarshalJSON

func (r DirectoryUpdateParams) MarshalJSON() (data []byte, err error)

func (*DirectoryUpdateParams) UnmarshalJSON

func (r *DirectoryUpdateParams) UnmarshalJSON(data []byte) error

type DirectoryUpdateParamsAddress

type DirectoryUpdateParamsAddress struct {
	// Country
	Country param.Opt[string] `json:"country,omitzero"`
	// Line 2
	Line2 param.Opt[string] `json:"line_2,omitzero"`
	// City
	City param.Opt[string] `json:"city,omitzero"`
	// Line 1
	Line1 param.Opt[string] `json:"line_1,omitzero"`
	// State
	State param.Opt[string] `json:"state,omitzero"`
	// Zip/postal code
	Zip param.Opt[string] `json:"zip,omitzero"`
	// contains filtered or unexported fields
}

func (DirectoryUpdateParamsAddress) MarshalJSON

func (r DirectoryUpdateParamsAddress) MarshalJSON() (data []byte, err error)

func (*DirectoryUpdateParamsAddress) UnmarshalJSON

func (r *DirectoryUpdateParamsAddress) UnmarshalJSON(data []byte) error

type Error

type Error = apierror.Error

type GetApproval

type GetApproval struct {
	// Unique identifier for payment
	ID string `json:"id,required"`
	// Payment amount
	Amount float64 `json:"amount,required"`
	// Payment creation timestamp
	Date string `json:"date,required"`
	// Remittance advice
	RemittanceAdvice [][]string `json:"remittance_advice,required"`
	// Current status of the check
	//
	// Any of "UNPAID", "APPROVED", "VOID".
	Status GetApprovalStatus `json:"status,required"`
	// Payment comment
	Comment string `json:"comment,nullable"`
	// Payment description/memo
	Description string `json:"description,nullable"`
	// URI where image of the payment can be accessed
	ImageUri string `json:"image_uri,nullable"`
	// Name of third party who received the payment
	Name      string                    `json:"name,nullable"`
	Number    GetApprovalNumberUnion    `json:"number"`
	Recipient GetApprovalRecipientUnion `json:"recipient"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID               respjson.Field
		Amount           respjson.Field
		Date             respjson.Field
		RemittanceAdvice respjson.Field
		Status           respjson.Field
		Comment          respjson.Field
		Description      respjson.Field
		ImageUri         respjson.Field
		Name             respjson.Field
		Number           respjson.Field
		Recipient        respjson.Field
		ExtraFields      map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (GetApproval) RawJSON

func (r GetApproval) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetApproval) UnmarshalJSON

func (r *GetApproval) UnmarshalJSON(data []byte) error

type GetApprovalNumberUnion

type GetApprovalNumberUnion struct {
	// This field will be present if the value is a [int64] instead of an object.
	OfInt int64 `json:",inline"`
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	JSON     struct {
		OfInt    respjson.Field
		OfString respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

GetApprovalNumberUnion contains all possible properties and values from [int64], [string].

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfInt OfString]

func (GetApprovalNumberUnion) AsInt

func (u GetApprovalNumberUnion) AsInt() (v int64)

func (GetApprovalNumberUnion) AsString

func (u GetApprovalNumberUnion) AsString() (v string)

func (GetApprovalNumberUnion) RawJSON

func (u GetApprovalNumberUnion) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetApprovalNumberUnion) UnmarshalJSON

func (r *GetApprovalNumberUnion) UnmarshalJSON(data []byte) error

type GetApprovalRecipientUnion

type GetApprovalRecipientUnion struct {
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	// This field will be present if the value is a [[]string] instead of an object.
	OfStringArray []string `json:",inline"`
	// This field is from variant [CheckAddress].
	City string `json:"city"`
	// This field is from variant [CheckAddress].
	Line1 string `json:"line_1"`
	// This field is from variant [CheckAddress].
	State string `json:"state"`
	// This field is from variant [CheckAddress].
	Zip string `json:"zip"`
	// This field is from variant [CheckAddress].
	Country string `json:"country"`
	// This field is from variant [CheckAddress].
	Line2 string `json:"line_2"`
	JSON  struct {
		OfString      respjson.Field
		OfStringArray respjson.Field
		City          respjson.Field
		Line1         respjson.Field
		State         respjson.Field
		Zip           respjson.Field
		Country       respjson.Field
		Line2         respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

GetApprovalRecipientUnion contains all possible properties and values from [string], [[]string], CheckAddress.

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfString OfStringArray]

func (GetApprovalRecipientUnion) AsCheckAddress

func (u GetApprovalRecipientUnion) AsCheckAddress() (v CheckAddress)

func (GetApprovalRecipientUnion) AsString

func (u GetApprovalRecipientUnion) AsString() (v string)

func (GetApprovalRecipientUnion) AsStringArray

func (u GetApprovalRecipientUnion) AsStringArray() (v []string)

func (GetApprovalRecipientUnion) RawJSON

func (u GetApprovalRecipientUnion) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetApprovalRecipientUnion) UnmarshalJSON

func (r *GetApprovalRecipientUnion) UnmarshalJSON(data []byte) error

type GetApprovalStatus

type GetApprovalStatus string

Current status of the check

const (
	GetApprovalStatusUnpaid   GetApprovalStatus = "UNPAID"
	GetApprovalStatusApproved GetApprovalStatus = "APPROVED"
	GetApprovalStatusVoid     GetApprovalStatus = "VOID"
)

type GetCheck

type GetCheck struct {
	// Unique identifier for payment
	ID string `json:"id,required"`
	// Payment amount
	Amount float64 `json:"amount,required"`
	// Payment creation timestamp
	Date string `json:"date,required"`
	// Remittance advice
	RemittanceAdvice [][]string `json:"remittance_advice,required"`
	// Current status of the payment
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED".
	Status GetCheckStatus `json:"status,required"`
	// Payment comment
	Comment string `json:"comment,nullable"`
	// Payment description/memo
	Description string `json:"description,nullable"`
	// URI where image of the payment can be accessed
	ImageUri string `json:"image_uri,nullable"`
	// Name of third party who received the payment
	Name      string                 `json:"name,nullable"`
	Number    GetCheckNumberUnion    `json:"number"`
	Recipient GetCheckRecipientUnion `json:"recipient"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID               respjson.Field
		Amount           respjson.Field
		Date             respjson.Field
		RemittanceAdvice respjson.Field
		Status           respjson.Field
		Comment          respjson.Field
		Description      respjson.Field
		ImageUri         respjson.Field
		Name             respjson.Field
		Number           respjson.Field
		Recipient        respjson.Field
		ExtraFields      map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (GetCheck) RawJSON

func (r GetCheck) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetCheck) UnmarshalJSON

func (r *GetCheck) UnmarshalJSON(data []byte) error

type GetCheckNumberUnion

type GetCheckNumberUnion struct {
	// This field will be present if the value is a [int64] instead of an object.
	OfInt int64 `json:",inline"`
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	JSON     struct {
		OfInt    respjson.Field
		OfString respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

GetCheckNumberUnion contains all possible properties and values from [int64], [string].

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfInt OfString]

func (GetCheckNumberUnion) AsInt

func (u GetCheckNumberUnion) AsInt() (v int64)

func (GetCheckNumberUnion) AsString

func (u GetCheckNumberUnion) AsString() (v string)

func (GetCheckNumberUnion) RawJSON

func (u GetCheckNumberUnion) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetCheckNumberUnion) UnmarshalJSON

func (r *GetCheckNumberUnion) UnmarshalJSON(data []byte) error

type GetCheckRecipientUnion

type GetCheckRecipientUnion struct {
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	// This field will be present if the value is a [[]string] instead of an object.
	OfStringArray []string `json:",inline"`
	// This field is from variant [CheckAddress].
	City string `json:"city"`
	// This field is from variant [CheckAddress].
	Line1 string `json:"line_1"`
	// This field is from variant [CheckAddress].
	State string `json:"state"`
	// This field is from variant [CheckAddress].
	Zip string `json:"zip"`
	// This field is from variant [CheckAddress].
	Country string `json:"country"`
	// This field is from variant [CheckAddress].
	Line2 string `json:"line_2"`
	JSON  struct {
		OfString      respjson.Field
		OfStringArray respjson.Field
		City          respjson.Field
		Line1         respjson.Field
		State         respjson.Field
		Zip           respjson.Field
		Country       respjson.Field
		Line2         respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

GetCheckRecipientUnion contains all possible properties and values from [string], [[]string], CheckAddress.

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfString OfStringArray]

func (GetCheckRecipientUnion) AsCheckAddress

func (u GetCheckRecipientUnion) AsCheckAddress() (v CheckAddress)

func (GetCheckRecipientUnion) AsString

func (u GetCheckRecipientUnion) AsString() (v string)

func (GetCheckRecipientUnion) AsStringArray

func (u GetCheckRecipientUnion) AsStringArray() (v []string)

func (GetCheckRecipientUnion) RawJSON

func (u GetCheckRecipientUnion) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetCheckRecipientUnion) UnmarshalJSON

func (r *GetCheckRecipientUnion) UnmarshalJSON(data []byte) error

type GetCheckStatus

type GetCheckStatus string

Current status of the payment

const (
	GetCheckStatusPaid      GetCheckStatus = "PAID"
	GetCheckStatusInProcess GetCheckStatus = "IN_PROCESS"
	GetCheckStatusUnpaid    GetCheckStatus = "UNPAID"
	GetCheckStatusVoid      GetCheckStatus = "VOID"
	GetCheckStatusExpired   GetCheckStatus = "EXPIRED"
	GetCheckStatusPrinted   GetCheckStatus = "PRINTED"
	GetCheckStatusMailed    GetCheckStatus = "MAILED"
	GetCheckStatusFailed    GetCheckStatus = "FAILED"
	GetCheckStatusRefunded  GetCheckStatus = "REFUNDED"
)

type GetInvoice

type GetInvoice struct {
	// Unique identifier for invoice
	ID string `json:"id,required"`
	// Invoice amount
	Amount float64 `json:"amount,required"`
	// Invoice creation timestamp
	Date string `json:"date,required"`
	// Invoice description
	Description string `json:"description,required"`
	// Direction
	//
	// Any of "INCOMING", "OUTGOING".
	Direction GetInvoiceDirection `json:"direction,required"`
	// Invoice number
	Number string `json:"number,required"`
	// Current status of the invoice
	Status string `json:"status,required"`
	// URI for invoice attachment
	AttachmentUri string `json:"attachment_uri,nullable"`
	// Associated check number
	CheckID string `json:"check_id,nullable"`
	// Name of third party who sent/received the invoice
	Name string `json:"name,nullable"`
	// Email/id of the invoice recipient
	Recipient string `json:"recipient,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID            respjson.Field
		Amount        respjson.Field
		Date          respjson.Field
		Description   respjson.Field
		Direction     respjson.Field
		Number        respjson.Field
		Status        respjson.Field
		AttachmentUri respjson.Field
		CheckID       respjson.Field
		Name          respjson.Field
		Recipient     respjson.Field
		ExtraFields   map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (GetInvoice) RawJSON

func (r GetInvoice) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetInvoice) UnmarshalJSON

func (r *GetInvoice) UnmarshalJSON(data []byte) error

type GetInvoiceDirection

type GetInvoiceDirection string

Direction

const (
	GetInvoiceDirectionIncoming GetInvoiceDirection = "INCOMING"
	GetInvoiceDirectionOutgoing GetInvoiceDirection = "OUTGOING"
)

type GetSubscriptionResponse

type GetSubscriptionResponse struct {
	// Unique identifier for subscription
	ID string `json:"id,required"`
	// Subscription amount
	Amount float64 `json:"amount,required"`
	// Subscription creation timestamp
	Date string `json:"date,required"`
	// Subscription description
	Description string `json:"description,required"`
	// How often the subscription will recur
	//
	// Any of "WEEKLY", "MONTHLY".
	Interval GetSubscriptionResponseInterval `json:"interval,required"`
	// List of skipped subscription indexes (e.g. [1] indicates the first subscription
	// will be skipped)
	Skipped []int64 `json:"skipped,required"`
	// Subscription start date
	StartDate string `json:"start_date,required"`
	// Current status of the check or invoice
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED", "CANCELED", "OVERDUE".
	Status GetSubscriptionResponseStatus `json:"status,required"`
	// Type of the subscription
	//
	// Any of "INVOICE", "CHECK".
	Type GetSubscriptionResponseType `json:"type,required"`
	// Debit/credit account id for funds
	Account string `json:"account,nullable"`
	// Autopay invoice
	Autopay bool `json:"autopay"`
	// Number of times the subscription will recur (null indicates indefinite)
	Duration int64 `json:"duration,nullable"`
	// Name of third party who is receiving the check/invoice
	Name      string                                `json:"name,nullable"`
	Recipient GetSubscriptionResponseRecipientUnion `json:"recipient"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Amount      respjson.Field
		Date        respjson.Field
		Description respjson.Field
		Interval    respjson.Field
		Skipped     respjson.Field
		StartDate   respjson.Field
		Status      respjson.Field
		Type        respjson.Field
		Account     respjson.Field
		Autopay     respjson.Field
		Duration    respjson.Field
		Name        respjson.Field
		Recipient   respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (GetSubscriptionResponse) RawJSON

func (r GetSubscriptionResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*GetSubscriptionResponse) UnmarshalJSON

func (r *GetSubscriptionResponse) UnmarshalJSON(data []byte) error

type GetSubscriptionResponseInterval

type GetSubscriptionResponseInterval string

How often the subscription will recur

const (
	GetSubscriptionResponseIntervalWeekly  GetSubscriptionResponseInterval = "WEEKLY"
	GetSubscriptionResponseIntervalMonthly GetSubscriptionResponseInterval = "MONTHLY"
)

type GetSubscriptionResponseRecipientUnion

type GetSubscriptionResponseRecipientUnion struct {
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	// This field is from variant [SubscriptionAddress].
	City string `json:"city"`
	// This field is from variant [SubscriptionAddress].
	Line1 string `json:"line_1"`
	// This field is from variant [SubscriptionAddress].
	State string `json:"state"`
	// This field is from variant [SubscriptionAddress].
	Zip string `json:"zip"`
	// This field is from variant [SubscriptionAddress].
	Country string `json:"country"`
	// This field is from variant [SubscriptionAddress].
	Line2 string `json:"line_2"`
	JSON  struct {
		OfString respjson.Field
		City     respjson.Field
		Line1    respjson.Field
		State    respjson.Field
		Zip      respjson.Field
		Country  respjson.Field
		Line2    respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

GetSubscriptionResponseRecipientUnion contains all possible properties and values from [string], SubscriptionAddress.

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfString]

func (GetSubscriptionResponseRecipientUnion) AsString

func (GetSubscriptionResponseRecipientUnion) AsSubscriptionAddress

func (u GetSubscriptionResponseRecipientUnion) AsSubscriptionAddress() (v SubscriptionAddress)

func (GetSubscriptionResponseRecipientUnion) RawJSON

Returns the unmodified JSON received from the API

func (*GetSubscriptionResponseRecipientUnion) UnmarshalJSON

func (r *GetSubscriptionResponseRecipientUnion) UnmarshalJSON(data []byte) error

type GetSubscriptionResponseStatus

type GetSubscriptionResponseStatus string

Current status of the check or invoice

const (
	GetSubscriptionResponseStatusPaid      GetSubscriptionResponseStatus = "PAID"
	GetSubscriptionResponseStatusInProcess GetSubscriptionResponseStatus = "IN_PROCESS"
	GetSubscriptionResponseStatusUnpaid    GetSubscriptionResponseStatus = "UNPAID"
	GetSubscriptionResponseStatusVoid      GetSubscriptionResponseStatus = "VOID"
	GetSubscriptionResponseStatusExpired   GetSubscriptionResponseStatus = "EXPIRED"
	GetSubscriptionResponseStatusPrinted   GetSubscriptionResponseStatus = "PRINTED"
	GetSubscriptionResponseStatusMailed    GetSubscriptionResponseStatus = "MAILED"
	GetSubscriptionResponseStatusFailed    GetSubscriptionResponseStatus = "FAILED"
	GetSubscriptionResponseStatusRefunded  GetSubscriptionResponseStatus = "REFUNDED"
	GetSubscriptionResponseStatusCanceled  GetSubscriptionResponseStatus = "CANCELED"
	GetSubscriptionResponseStatusOverdue   GetSubscriptionResponseStatus = "OVERDUE"
)

type GetSubscriptionResponseType

type GetSubscriptionResponseType string

Type of the subscription

const (
	GetSubscriptionResponseTypeInvoice GetSubscriptionResponseType = "INVOICE"
	GetSubscriptionResponseTypeCheck   GetSubscriptionResponseType = "CHECK"
)

type InteracAccountResponse

type InteracAccountResponse struct {
	// Unique identifier for Interac account
	ID string `json:"id,required"`
	// Account creation timestamp
	Date string `json:"date,required"`
	// Name of the Interac account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Date        respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (InteracAccountResponse) RawJSON

func (r InteracAccountResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*InteracAccountResponse) UnmarshalJSON

func (r *InteracAccountResponse) UnmarshalJSON(data []byte) error

type InvoiceListParams

type InvoiceListParams struct {
	// End date
	EndDate param.Opt[time.Time] `query:"end_date,omitzero" format:"date" json:"-"`
	// Start date
	StartDate param.Opt[time.Time] `query:"start_date,omitzero" format:"date" json:"-"`
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Query
	Q param.Opt[string] `query:"q,omitzero" json:"-"`
	// Direction
	//
	// Any of "INCOMING", "OUTGOING".
	Direction InvoiceListParamsDirection `query:"direction,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50, 100, 250.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// Sort
	//
	// Any of "+NUMBER", "-NUMBER", "+TYPE", "-TYPE", "+AMOUNT", "-AMOUNT", "+STATUS",
	// "-STATUS", "+DATE", "-DATE", "+UPDATE", "-UPDATE", "+DESCRIPTION",
	// "-DESCRIPTION".
	Sort InvoiceListParamsSort `query:"sort,omitzero" json:"-"`
	// Status
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED".
	Status InvoiceListParamsStatus `query:"status,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (InvoiceListParams) URLQuery

func (r InvoiceListParams) URLQuery() (v url.Values, err error)

URLQuery serializes InvoiceListParams's query parameters as `url.Values`.

type InvoiceListParamsDirection

type InvoiceListParamsDirection string

Direction

const (
	InvoiceListParamsDirectionIncoming InvoiceListParamsDirection = "INCOMING"
	InvoiceListParamsDirectionOutgoing InvoiceListParamsDirection = "OUTGOING"
)

type InvoiceListParamsSort

type InvoiceListParamsSort string

Sort

const (
	InvoiceListParamsSortPlusNumber       InvoiceListParamsSort = "+NUMBER"
	InvoiceListParamsSortMinusNumber      InvoiceListParamsSort = "-NUMBER"
	InvoiceListParamsSortPlusType         InvoiceListParamsSort = "+TYPE"
	InvoiceListParamsSortMinusType        InvoiceListParamsSort = "-TYPE"
	InvoiceListParamsSortPlusAmount       InvoiceListParamsSort = "+AMOUNT"
	InvoiceListParamsSortMinusAmount      InvoiceListParamsSort = "-AMOUNT"
	InvoiceListParamsSortPlusStatus       InvoiceListParamsSort = "+STATUS"
	InvoiceListParamsSortMinusStatus      InvoiceListParamsSort = "-STATUS"
	InvoiceListParamsSortPlusDate         InvoiceListParamsSort = "+DATE"
	InvoiceListParamsSortMinusDate        InvoiceListParamsSort = "-DATE"
	InvoiceListParamsSortPlusUpdate       InvoiceListParamsSort = "+UPDATE"
	InvoiceListParamsSortMinusUpdate      InvoiceListParamsSort = "-UPDATE"
	InvoiceListParamsSortPlusDescription  InvoiceListParamsSort = "+DESCRIPTION"
	InvoiceListParamsSortMinusDescription InvoiceListParamsSort = "-DESCRIPTION"
)

type InvoiceListParamsStatus

type InvoiceListParamsStatus string

Status

const (
	InvoiceListParamsStatusPaid      InvoiceListParamsStatus = "PAID"
	InvoiceListParamsStatusInProcess InvoiceListParamsStatus = "IN_PROCESS"
	InvoiceListParamsStatusUnpaid    InvoiceListParamsStatus = "UNPAID"
	InvoiceListParamsStatusVoid      InvoiceListParamsStatus = "VOID"
	InvoiceListParamsStatusExpired   InvoiceListParamsStatus = "EXPIRED"
	InvoiceListParamsStatusPrinted   InvoiceListParamsStatus = "PRINTED"
	InvoiceListParamsStatusMailed    InvoiceListParamsStatus = "MAILED"
	InvoiceListParamsStatusFailed    InvoiceListParamsStatus = "FAILED"
	InvoiceListParamsStatusRefunded  InvoiceListParamsStatus = "REFUNDED"
)

type InvoiceListResponse

type InvoiceListResponse struct {
	// List of sent/received invoices
	Invoices []GetInvoice `json:"invoices,required"`
	Page     int64        `json:"page,required"`
	Pages    int64        `json:"pages,required"`
	Total    int64        `json:"total,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Invoices    respjson.Field
		Page        respjson.Field
		Pages       respjson.Field
		Total       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (InvoiceListResponse) RawJSON

func (r InvoiceListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*InvoiceListResponse) UnmarshalJSON

func (r *InvoiceListResponse) UnmarshalJSON(data []byte) error

type InvoiceNewParams

type InvoiceNewParams struct {
	// Invoice amount
	Amount float64 `json:"amount,required"`
	// Description/memo for invoice
	Description string `json:"description,required"`
	// Name of recipient
	Name string `json:"name,required"`
	// Email/id of recipient
	Recipient string            `json:"recipient,required"`
	Number    param.Opt[string] `json:"number,omitzero"`
	// Optional credit account id for funds (if sender has multiple bank accounts)
	Account    param.Opt[string]               `json:"account,omitzero" format:"uuid"`
	Attachment InvoiceNewParamsAttachmentUnion `json:"attachment,omitzero"`
	// contains filtered or unexported fields
}

func (InvoiceNewParams) MarshalJSON

func (r InvoiceNewParams) MarshalJSON() (data []byte, err error)

func (*InvoiceNewParams) UnmarshalJSON

func (r *InvoiceNewParams) UnmarshalJSON(data []byte) error

type InvoiceNewParamsAttachmentInvoiceAttachment

type InvoiceNewParamsAttachmentInvoiceAttachment struct {
	// Attachment content
	Content string `json:"content,required"`
	// Attachment filename
	Filename string `json:"filename,required"`
	// contains filtered or unexported fields
}

The properties Content, Filename are required.

func (InvoiceNewParamsAttachmentInvoiceAttachment) MarshalJSON

func (r InvoiceNewParamsAttachmentInvoiceAttachment) MarshalJSON() (data []byte, err error)

func (*InvoiceNewParamsAttachmentInvoiceAttachment) UnmarshalJSON

func (r *InvoiceNewParamsAttachmentInvoiceAttachment) UnmarshalJSON(data []byte) error

type InvoiceNewParamsAttachmentUnion

type InvoiceNewParamsAttachmentUnion struct {
	OfInvoiceAttachment *InvoiceNewParamsAttachmentInvoiceAttachment `json:",omitzero,inline"`
	OfString            param.Opt[string]                            `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (InvoiceNewParamsAttachmentUnion) MarshalJSON

func (u InvoiceNewParamsAttachmentUnion) MarshalJSON() ([]byte, error)

func (*InvoiceNewParamsAttachmentUnion) UnmarshalJSON

func (u *InvoiceNewParamsAttachmentUnion) UnmarshalJSON(data []byte) error

type InvoiceNewResponse

type InvoiceNewResponse struct {
	// Unique identifier for invoice
	ID string `json:"id,required"`
	// Invoice amount
	Amount float64 `json:"amount,required"`
	// Invoice creation timestamp
	Date string `json:"date,required"`
	// Invoice description
	Description string `json:"description,required"`
	// Name of third party who sent/received the invoice
	Name string `json:"name,required"`
	// Invoice number
	Number string `json:"number,required"`
	// Email/id of the invoice recipient
	Recipient string `json:"recipient,required"`
	// Current status of the invoice
	Status string `json:"status,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Amount      respjson.Field
		Date        respjson.Field
		Description respjson.Field
		Name        respjson.Field
		Number      respjson.Field
		Recipient   respjson.Field
		Status      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (InvoiceNewResponse) RawJSON

func (r InvoiceNewResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*InvoiceNewResponse) UnmarshalJSON

func (r *InvoiceNewResponse) UnmarshalJSON(data []byte) error

type InvoicePayParams

type InvoicePayParams struct {
	// Unique identifier for invoice
	ID string `json:"id,required" format:"uuid"`
	// Invoice amount
	Amount float64 `json:"amount,required"`
	// Optional credit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// contains filtered or unexported fields
}

func (InvoicePayParams) MarshalJSON

func (r InvoicePayParams) MarshalJSON() (data []byte, err error)

func (*InvoicePayParams) UnmarshalJSON

func (r *InvoicePayParams) UnmarshalJSON(data []byte) error

type InvoicePayResponse

type InvoicePayResponse struct {
	// Unique identifier for invoice
	ID string `json:"id,required"`
	// Invoice amount
	Amount float64 `json:"amount,required"`
	// Invoice creation timestamp
	Date string `json:"date,required"`
	// Name of third party who sent/received the invoice
	Name string `json:"name,required"`
	// Current status of the invoice
	Status string `json:"status,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Amount      respjson.Field
		Date        respjson.Field
		Name        respjson.Field
		Status      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (InvoicePayResponse) RawJSON

func (r InvoicePayResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*InvoicePayResponse) UnmarshalJSON

func (r *InvoicePayResponse) UnmarshalJSON(data []byte) error

type InvoiceService

type InvoiceService struct {
	Options []option.RequestOption
}

InvoiceService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewInvoiceService method instead.

func NewInvoiceService

func NewInvoiceService(opts ...option.RequestOption) (r InvoiceService)

NewInvoiceService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*InvoiceService) Get

func (r *InvoiceService) Get(ctx context.Context, invoiceID string, opts ...option.RequestOption) (res *GetInvoice, err error)

Get the specified invoice

func (*InvoiceService) GetAttachment

func (r *InvoiceService) GetAttachment(ctx context.Context, invoiceID string, opts ...option.RequestOption) (res *Error, err error)

Get the attachment for an invoice

func (*InvoiceService) List

Get sent/received invoices

func (*InvoiceService) New

Create a new invoice

func (*InvoiceService) Pay

Pay an outstanding invoice

func (*InvoiceService) Void

func (r *InvoiceService) Void(ctx context.Context, invoiceID string, opts ...option.RequestOption) (err error)

Cancel the specified invoice

type MailResponse

type MailResponse struct {
	// Unique identifier for mail
	ID string `json:"id,required"`
	// Mail creation timestamp
	Date      string       `json:"date,required"`
	Recipient Counterparty `json:"recipient,required"`
	Sender    Counterparty `json:"sender,required"`
	// Mail status
	Status string `json:"status,required"`
	// List of checks present in mail
	Checks []MailResponseCheck `json:"checks"`
	Tags   map[string]string   `json:"tags"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Date        respjson.Field
		Recipient   respjson.Field
		Sender      respjson.Field
		Status      respjson.Field
		Checks      respjson.Field
		Tags        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (MailResponse) RawJSON

func (r MailResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*MailResponse) UnmarshalJSON

func (r *MailResponse) UnmarshalJSON(data []byte) error

type MailResponseCheck

type MailResponseCheck struct {
	// Unique identifier for check
	ID string `json:"id,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (MailResponseCheck) RawJSON

func (r MailResponseCheck) RawJSON() string

Returns the unmodified JSON received from the API

func (*MailResponseCheck) UnmarshalJSON

func (r *MailResponseCheck) UnmarshalJSON(data []byte) error

type MailboxAddress

type MailboxAddress struct {
	// City
	City string `json:"city,required"`
	// Line 1
	Line1 string `json:"line_1,required"`
	// State
	State string `json:"state,required"`
	// Zip/postal code
	Zip string `json:"zip,required"`
	// Country
	Country string `json:"country,nullable"`
	// Line 2
	Line2 string `json:"line_2,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		City        respjson.Field
		Line1       respjson.Field
		State       respjson.Field
		Zip         respjson.Field
		Country     respjson.Field
		Line2       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (MailboxAddress) RawJSON

func (r MailboxAddress) RawJSON() string

Returns the unmodified JSON received from the API

func (*MailboxAddress) UnmarshalJSON

func (r *MailboxAddress) UnmarshalJSON(data []byte) error

type MailboxListParams

type MailboxListParams struct {
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50, 100, 250.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (MailboxListParams) URLQuery

func (r MailboxListParams) URLQuery() (v url.Values, err error)

URLQuery serializes MailboxListParams's query parameters as `url.Values`.

type MailboxListResponse

type MailboxListResponse struct {
	// List of sent/received payments
	Mailboxes []CreateMailboxResponse `json:"mailboxes,required"`
	Page      int64                   `json:"page,required"`
	Pages     int64                   `json:"pages,required"`
	Total     int64                   `json:"total,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Mailboxes   respjson.Field
		Page        respjson.Field
		Pages       respjson.Field
		Total       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (MailboxListResponse) RawJSON

func (r MailboxListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*MailboxListResponse) UnmarshalJSON

func (r *MailboxListResponse) UnmarshalJSON(data []byte) error

type MailboxMailGetAttachmentParams

type MailboxMailGetAttachmentParams struct {
	MailboxID string `path:"mailbox_id,required" json:"-"`
	// contains filtered or unexported fields
}

type MailboxMailGetParams

type MailboxMailGetParams struct {
	MailboxID string `path:"mailbox_id,required" json:"-"`
	// contains filtered or unexported fields
}

type MailboxMailListParams

type MailboxMailListParams struct {
	// End date
	EndDate param.Opt[time.Time] `query:"end_date,omitzero" format:"date" json:"-"`
	// Start date
	StartDate param.Opt[time.Time] `query:"start_date,omitzero" format:"date" json:"-"`
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Query
	Q param.Opt[string] `query:"q,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50, 100, 250.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (MailboxMailListParams) URLQuery

func (r MailboxMailListParams) URLQuery() (v url.Values, err error)

URLQuery serializes MailboxMailListParams's query parameters as `url.Values`.

type MailboxMailListResponse

type MailboxMailListResponse struct {
	// List of sent/received payments
	Mail  []MailResponse `json:"mail,required"`
	Page  int64          `json:"page,required"`
	Pages int64          `json:"pages,required"`
	Total int64          `json:"total,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Mail        respjson.Field
		Page        respjson.Field
		Pages       respjson.Field
		Total       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (MailboxMailListResponse) RawJSON

func (r MailboxMailListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*MailboxMailListResponse) UnmarshalJSON

func (r *MailboxMailListResponse) UnmarshalJSON(data []byte) error

type MailboxMailService

type MailboxMailService struct {
	Options []option.RequestOption
}

MailboxMailService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewMailboxMailService method instead.

func NewMailboxMailService

func NewMailboxMailService(opts ...option.RequestOption) (r MailboxMailService)

NewMailboxMailService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*MailboxMailService) Get

func (r *MailboxMailService) Get(ctx context.Context, itemID string, query MailboxMailGetParams, opts ...option.RequestOption) (res *MailResponse, err error)

Get mailbox item

func (*MailboxMailService) GetAttachment

func (r *MailboxMailService) GetAttachment(ctx context.Context, itemID string, query MailboxMailGetAttachmentParams, opts ...option.RequestOption) (res *Error, err error)

Get mailbox item

func (*MailboxMailService) List

Get mailbox items

type MailboxService

type MailboxService struct {
	Options []option.RequestOption
	Mail    MailboxMailService
}

MailboxService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewMailboxService method instead.

func NewMailboxService

func NewMailboxService(opts ...option.RequestOption) (r MailboxService)

NewMailboxService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*MailboxService) Get

func (r *MailboxService) Get(ctx context.Context, mailboxID string, opts ...option.RequestOption) (res *CreateMailboxResponse, err error)

Get mailbox details

func (*MailboxService) List

Return the mailboxes for the current user

func (*MailboxService) New

Create a new mailbox

type MerchantResponseAddress

type MerchantResponseAddress struct {
	// City
	City string `json:"city,nullable"`
	// Country
	Country string `json:"country,nullable"`
	// Street line 1
	Line1 string `json:"line_1,nullable"`
	// Street line 2
	Line2 string `json:"line_2,nullable"`
	// State
	State string `json:"state,nullable"`
	// Zip/postal code
	Zip string `json:"zip,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		City        respjson.Field
		Country     respjson.Field
		Line1       respjson.Field
		Line2       respjson.Field
		State       respjson.Field
		Zip         respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Address field

func (MerchantResponseAddress) RawJSON

func (r MerchantResponseAddress) RawJSON() string

Returns the unmodified JSON received from the API

func (*MerchantResponseAddress) UnmarshalJSON

func (r *MerchantResponseAddress) UnmarshalJSON(data []byte) error

type MultiRecipientParam

type MultiRecipientParam struct {
	// Name of recipient
	Name string `json:"name,required"`
	// Email or text enabled phone number/id of recipient
	Recipient   string          `json:"recipient,required"`
	EndorseOnly param.Opt[bool] `json:"endorse_only,omitzero"`
	Pin         PinParam        `json:"pin,omitzero"`
	// contains filtered or unexported fields
}

The properties Name, Recipient are required.

func (MultiRecipientParam) MarshalJSON

func (r MultiRecipientParam) MarshalJSON() (data []byte, err error)

func (*MultiRecipientParam) UnmarshalJSON

func (r *MultiRecipientParam) UnmarshalJSON(data []byte) error

type NewAPIKey

type NewAPIKey struct {
	// Id of API key
	ID string `json:"id"`
	// When the API key expires
	ExpirationDate time.Time `json:"expiration_date,nullable" format:"date"`
	// Name of the API key
	Name string `json:"name,nullable"`
	// Secret key of the user
	Secret string `json:"secret"`
	// Webhook key of the user
	WebhookKey string `json:"webhook_key"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID             respjson.Field
		ExpirationDate respjson.Field
		Name           respjson.Field
		Secret         respjson.Field
		WebhookKey     respjson.Field
		ExtraFields    map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (NewAPIKey) RawJSON

func (r NewAPIKey) RawJSON() string

Returns the unmodified JSON received from the API

func (*NewAPIKey) UnmarshalJSON

func (r *NewAPIKey) UnmarshalJSON(data []byte) error

type Number140416527981344

type Number140416527981344 struct {
	// Account number
	Account string `json:"account"`
	// Routing number
	Routing string `json:"routing"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Account     respjson.Field
		Routing     respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (Number140416527981344) RawJSON

func (r Number140416527981344) RawJSON() string

Returns the unmodified JSON received from the API

func (*Number140416527981344) UnmarshalJSON

func (r *Number140416527981344) UnmarshalJSON(data []byte) error

type PaypalAccountResponse

type PaypalAccountResponse struct {
	// Unique identifier for Paypal account
	ID string `json:"id,required"`
	// Account creation timestamp
	Date string `json:"date,required"`
	// Name of the PayPal account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Date        respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (PaypalAccountResponse) RawJSON

func (r PaypalAccountResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*PaypalAccountResponse) UnmarshalJSON

func (r *PaypalAccountResponse) UnmarshalJSON(data []byte) error

type PhysicalCheckRecipientParam

type PhysicalCheckRecipientParam struct {
	// City
	City string `json:"city,required"`
	// Line 1
	Line1 string `json:"line_1,required"`
	// State
	State string `json:"state,required"`
	// Zip/postal code
	Zip string `json:"zip,required"`
	// Country
	Country param.Opt[string] `json:"country,omitzero"`
	// Line 2
	Line2 param.Opt[string] `json:"line_2,omitzero"`
	// Name on envelope
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

The properties City, Line1, State, Zip are required.

func (PhysicalCheckRecipientParam) MarshalJSON

func (r PhysicalCheckRecipientParam) MarshalJSON() (data []byte, err error)

func (*PhysicalCheckRecipientParam) UnmarshalJSON

func (r *PhysicalCheckRecipientParam) UnmarshalJSON(data []byte) error

type PinParam

type PinParam struct {
	// PIN description
	Description string `json:"description,required"`
	// Expected PIN value
	Value string `json:"value,required"`
	// contains filtered or unexported fields
}

The properties Description, Value are required.

func (PinParam) MarshalJSON

func (r PinParam) MarshalJSON() (data []byte, err error)

func (*PinParam) UnmarshalJSON

func (r *PinParam) UnmarshalJSON(data []byte) error

type RemittanceAdviceParam

type RemittanceAdviceParam struct {
	// Remittance id
	ID string `json:"id,required"`
	// Remittance description
	Date string `json:"date,required"`
	// Remittance amount
	Amount param.Opt[float64] `json:"amount,omitzero"`
	// Description for invoice
	Description param.Opt[string] `json:"description,omitzero"`
	// contains filtered or unexported fields
}

The properties ID, Date are required.

func (RemittanceAdviceParam) MarshalJSON

func (r RemittanceAdviceParam) MarshalJSON() (data []byte, err error)

func (*RemittanceAdviceParam) UnmarshalJSON

func (r *RemittanceAdviceParam) UnmarshalJSON(data []byte) error

type SubscriptionAddress

type SubscriptionAddress struct {
	// City
	City string `json:"city,required"`
	// Line 1
	Line1 string `json:"line_1,required"`
	// State
	State string `json:"state,required"`
	// Zip/postal code
	Zip string `json:"zip,required"`
	// Country
	Country string `json:"country"`
	// Line 2
	Line2 string `json:"line_2"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		City        respjson.Field
		Line1       respjson.Field
		State       respjson.Field
		Zip         respjson.Field
		Country     respjson.Field
		Line2       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (SubscriptionAddress) RawJSON

func (r SubscriptionAddress) RawJSON() string

Returns the unmodified JSON received from the API

func (SubscriptionAddress) ToParam

ToParam converts this SubscriptionAddress to a SubscriptionAddressParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with SubscriptionAddressParam.Overrides()

func (*SubscriptionAddress) UnmarshalJSON

func (r *SubscriptionAddress) UnmarshalJSON(data []byte) error

type SubscriptionAddressParam

type SubscriptionAddressParam struct {
	// City
	City string `json:"city,required"`
	// Line 1
	Line1 string `json:"line_1,required"`
	// State
	State string `json:"state,required"`
	// Zip/postal code
	Zip string `json:"zip,required"`
	// Country
	Country param.Opt[string] `json:"country,omitzero"`
	// Line 2
	Line2 param.Opt[string] `json:"line_2,omitzero"`
	// contains filtered or unexported fields
}

The properties City, Line1, State, Zip are required.

func (SubscriptionAddressParam) MarshalJSON

func (r SubscriptionAddressParam) MarshalJSON() (data []byte, err error)

func (*SubscriptionAddressParam) UnmarshalJSON

func (r *SubscriptionAddressParam) UnmarshalJSON(data []byte) error

type SubscriptionListParams

type SubscriptionListParams struct {
	// End date
	EndDate param.Opt[time.Time] `query:"end_date,omitzero" format:"date" json:"-"`
	// Start date
	StartDate param.Opt[time.Time] `query:"start_date,omitzero" format:"date" json:"-"`
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Query
	Q param.Opt[string] `query:"q,omitzero" json:"-"`
	// Direction
	//
	// Any of "INCOMING", "OUTGOING".
	Direction SubscriptionListParamsDirection `query:"direction,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50, 100, 250.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// Sort
	//
	// Any of "+NUMBER", "-NUMBER", "+TYPE", "-TYPE", "+AMOUNT", "-AMOUNT", "+STATUS",
	// "-STATUS", "+DATE", "-DATE", "+UPDATE", "-UPDATE", "+DESCRIPTION",
	// "-DESCRIPTION".
	Sort SubscriptionListParamsSort `query:"sort,omitzero" json:"-"`
	// Status
	//
	// Any of "PAID", "IN_PROCESS", "UNPAID", "VOID", "EXPIRED", "PRINTED", "MAILED",
	// "FAILED", "REFUNDED".
	Status SubscriptionListParamsStatus `query:"status,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (SubscriptionListParams) URLQuery

func (r SubscriptionListParams) URLQuery() (v url.Values, err error)

URLQuery serializes SubscriptionListParams's query parameters as `url.Values`.

type SubscriptionListParamsDirection

type SubscriptionListParamsDirection string

Direction

const (
	SubscriptionListParamsDirectionIncoming SubscriptionListParamsDirection = "INCOMING"
	SubscriptionListParamsDirectionOutgoing SubscriptionListParamsDirection = "OUTGOING"
)

type SubscriptionListParamsSort

type SubscriptionListParamsSort string

Sort

const (
	SubscriptionListParamsSortPlusNumber       SubscriptionListParamsSort = "+NUMBER"
	SubscriptionListParamsSortMinusNumber      SubscriptionListParamsSort = "-NUMBER"
	SubscriptionListParamsSortPlusType         SubscriptionListParamsSort = "+TYPE"
	SubscriptionListParamsSortMinusType        SubscriptionListParamsSort = "-TYPE"
	SubscriptionListParamsSortPlusAmount       SubscriptionListParamsSort = "+AMOUNT"
	SubscriptionListParamsSortMinusAmount      SubscriptionListParamsSort = "-AMOUNT"
	SubscriptionListParamsSortPlusStatus       SubscriptionListParamsSort = "+STATUS"
	SubscriptionListParamsSortMinusStatus      SubscriptionListParamsSort = "-STATUS"
	SubscriptionListParamsSortPlusDate         SubscriptionListParamsSort = "+DATE"
	SubscriptionListParamsSortMinusDate        SubscriptionListParamsSort = "-DATE"
	SubscriptionListParamsSortPlusUpdate       SubscriptionListParamsSort = "+UPDATE"
	SubscriptionListParamsSortMinusUpdate      SubscriptionListParamsSort = "-UPDATE"
	SubscriptionListParamsSortPlusDescription  SubscriptionListParamsSort = "+DESCRIPTION"
	SubscriptionListParamsSortMinusDescription SubscriptionListParamsSort = "-DESCRIPTION"
)

type SubscriptionListParamsStatus

type SubscriptionListParamsStatus string

Status

const (
	SubscriptionListParamsStatusPaid      SubscriptionListParamsStatus = "PAID"
	SubscriptionListParamsStatusInProcess SubscriptionListParamsStatus = "IN_PROCESS"
	SubscriptionListParamsStatusUnpaid    SubscriptionListParamsStatus = "UNPAID"
	SubscriptionListParamsStatusVoid      SubscriptionListParamsStatus = "VOID"
	SubscriptionListParamsStatusExpired   SubscriptionListParamsStatus = "EXPIRED"
	SubscriptionListParamsStatusPrinted   SubscriptionListParamsStatus = "PRINTED"
	SubscriptionListParamsStatusMailed    SubscriptionListParamsStatus = "MAILED"
	SubscriptionListParamsStatusFailed    SubscriptionListParamsStatus = "FAILED"
	SubscriptionListParamsStatusRefunded  SubscriptionListParamsStatus = "REFUNDED"
)

type SubscriptionListResponse

type SubscriptionListResponse struct {
	Page  int64 `json:"page,required"`
	Pages int64 `json:"pages,required"`
	// List of subscriptions
	Subscriptions []GetSubscriptionResponse `json:"subscriptions,required"`
	Total         int64                     `json:"total,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Page          respjson.Field
		Pages         respjson.Field
		Subscriptions respjson.Field
		Total         respjson.Field
		ExtraFields   map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (SubscriptionListResponse) RawJSON

func (r SubscriptionListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*SubscriptionListResponse) UnmarshalJSON

func (r *SubscriptionListResponse) UnmarshalJSON(data []byte) error

type SubscriptionNewInvoiceParams

type SubscriptionNewInvoiceParams struct {
	// Invoice amount
	Amount float64 `json:"amount,required"`
	// Description for invoice
	Description string `json:"description,required"`
	// How often the subscription will recur
	//
	// Any of "WEEKLY", "MONTHLY".
	Interval SubscriptionNewInvoiceParamsInterval `json:"interval,omitzero,required"`
	// Name of recipient
	Name string `json:"name,required"`
	// Email/id of recipient
	Recipient string `json:"recipient,required"`
	// Optional number of times the subscription should recur (defaults to indefinite)
	Duration param.Opt[int64] `json:"duration,omitzero"`
	// Start date for subscription (this is the first date the subsription will be sent
	// out and defaults to the current timestamp)
	StartDate param.Opt[time.Time] `json:"start_date,omitzero" format:"date"`
	// Debit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// contains filtered or unexported fields
}

func (SubscriptionNewInvoiceParams) MarshalJSON

func (r SubscriptionNewInvoiceParams) MarshalJSON() (data []byte, err error)

func (*SubscriptionNewInvoiceParams) UnmarshalJSON

func (r *SubscriptionNewInvoiceParams) UnmarshalJSON(data []byte) error

type SubscriptionNewInvoiceParamsInterval

type SubscriptionNewInvoiceParamsInterval string

How often the subscription will recur

const (
	SubscriptionNewInvoiceParamsIntervalWeekly  SubscriptionNewInvoiceParamsInterval = "WEEKLY"
	SubscriptionNewInvoiceParamsIntervalMonthly SubscriptionNewInvoiceParamsInterval = "MONTHLY"
)

type SubscriptionNewPaymentParams

type SubscriptionNewPaymentParams struct {
	// Invoice amount
	Amount float64 `json:"amount,required"`
	// How often the subscription will recur
	//
	// Any of "WEEKLY", "MONTHLY".
	Interval SubscriptionNewPaymentParamsInterval `json:"interval,omitzero,required"`
	// Name of recipient
	Name string `json:"name,required"`
	// Email/id of recipient
	Recipient SubscriptionNewPaymentParamsRecipientUnion `json:"recipient,omitzero,required"`
	// Description for check
	Description param.Opt[string] `json:"description,omitzero"`
	// Optional number of times the subscription should recur (defaults to indefinite)
	Duration param.Opt[int64] `json:"duration,omitzero"`
	// Start date for subscription (this is the first date the subsription will be sent
	// out and defaults to the current timestamp)
	StartDate param.Opt[time.Time] `json:"start_date,omitzero" format:"date"`
	// Debit account id for funds (if sender has multiple bank accounts)
	Account param.Opt[string] `json:"account,omitzero" format:"uuid"`
	// List of the remittance records
	RemittanceAdvice []RemittanceAdviceParam `json:"remittance_advice,omitzero"`
	// contains filtered or unexported fields
}

func (SubscriptionNewPaymentParams) MarshalJSON

func (r SubscriptionNewPaymentParams) MarshalJSON() (data []byte, err error)

func (*SubscriptionNewPaymentParams) UnmarshalJSON

func (r *SubscriptionNewPaymentParams) UnmarshalJSON(data []byte) error

type SubscriptionNewPaymentParamsInterval

type SubscriptionNewPaymentParamsInterval string

How often the subscription will recur

const (
	SubscriptionNewPaymentParamsIntervalWeekly  SubscriptionNewPaymentParamsInterval = "WEEKLY"
	SubscriptionNewPaymentParamsIntervalMonthly SubscriptionNewPaymentParamsInterval = "MONTHLY"
)

type SubscriptionNewPaymentParamsRecipientUnion

type SubscriptionNewPaymentParamsRecipientUnion struct {
	OfString              param.Opt[string]         `json:",omitzero,inline"`
	OfSubscriptionAddress *SubscriptionAddressParam `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (SubscriptionNewPaymentParamsRecipientUnion) MarshalJSON

func (*SubscriptionNewPaymentParamsRecipientUnion) UnmarshalJSON

func (u *SubscriptionNewPaymentParamsRecipientUnion) UnmarshalJSON(data []byte) error

type SubscriptionService

type SubscriptionService struct {
	Options []option.RequestOption
}

SubscriptionService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewSubscriptionService method instead.

func NewSubscriptionService

func NewSubscriptionService(opts ...option.RequestOption) (r SubscriptionService)

NewSubscriptionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*SubscriptionService) Delete

func (r *SubscriptionService) Delete(ctx context.Context, subscriptionID string, opts ...option.RequestOption) (err error)

Remove the specified subscription

func (*SubscriptionService) Get

func (r *SubscriptionService) Get(ctx context.Context, subscriptionID string, opts ...option.RequestOption) (res *GetSubscriptionResponse, err error)

Get the specified subscription

func (*SubscriptionService) List

Return the subscriptions

func (*SubscriptionService) NewInvoice

Create a new invoice subscription

func (*SubscriptionService) NewPayment

Create a new payment subscription

func (*SubscriptionService) Update

func (r *SubscriptionService) Update(ctx context.Context, subscriptionID string, body SubscriptionUpdateParams, opts ...option.RequestOption) (err error)

Update the specified subscription

type SubscriptionUpdateParams

type SubscriptionUpdateParams struct {
	// Autopay invoice
	Autopay param.Opt[bool] `json:"autopay,omitzero"`
	// List of skipped subscription indexes (e.g. [1] indicates the first subscription
	// will be skipped)
	Skipped []int64 `json:"skipped,omitzero"`
	// contains filtered or unexported fields
}

func (SubscriptionUpdateParams) MarshalJSON

func (r SubscriptionUpdateParams) MarshalJSON() (data []byte, err error)

func (*SubscriptionUpdateParams) UnmarshalJSON

func (r *SubscriptionUpdateParams) UnmarshalJSON(data []byte) error

type Transaction

type Transaction struct {
	// Transaction id
	ID string `json:"id,nullable"`
	// Amount
	Amount float64 `json:"amount"`
	// Balance
	Balance float64 `json:"balance"`
	// Creation timestamp
	CreatedTs string `json:"created_ts,nullable"`
	// Description
	Description string `json:"description,nullable"`
	// Action
	Status string `json:"status"`
	// Transaction type
	Type string `json:"type,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Amount      respjson.Field
		Balance     respjson.Field
		CreatedTs   respjson.Field
		Description respjson.Field
		Status      respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (Transaction) RawJSON

func (r Transaction) RawJSON() string

Returns the unmodified JSON received from the API

func (*Transaction) UnmarshalJSON

func (r *Transaction) UnmarshalJSON(data []byte) error

type UpdateMerchantAddressParam

type UpdateMerchantAddressParam struct {
	// City
	City param.Opt[string] `json:"city,omitzero"`
	// Country
	Country param.Opt[string] `json:"country,omitzero"`
	// Street line 1
	Line1 param.Opt[string] `json:"line_1,omitzero"`
	// Street line 2
	Line2 param.Opt[string] `json:"line_2,omitzero"`
	// State
	State param.Opt[string] `json:"state,omitzero"`
	// Zip/postal code
	Zip param.Opt[string] `json:"zip,omitzero"`
	// contains filtered or unexported fields
}

Address fields

func (UpdateMerchantAddressParam) MarshalJSON

func (r UpdateMerchantAddressParam) MarshalJSON() (data []byte, err error)

func (*UpdateMerchantAddressParam) UnmarshalJSON

func (r *UpdateMerchantAddressParam) UnmarshalJSON(data []byte) error

type UserAPIKeyGetResponse

type UserAPIKeyGetResponse struct {
	// List of API keys
	APIKeys []NewAPIKey `json:"api_keys,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		APIKeys     respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Response fields for api key list

func (UserAPIKeyGetResponse) RawJSON

func (r UserAPIKeyGetResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserAPIKeyGetResponse) UnmarshalJSON

func (r *UserAPIKeyGetResponse) UnmarshalJSON(data []byte) error

type UserAPIKeyNewParams

type UserAPIKeyNewParams struct {
	// Expiration date for API key
	ExpirationDate param.Opt[time.Time] `json:"expiration_date,omitzero" format:"date"`
	// Name of API Key
	Name param.Opt[string] `json:"name,omitzero"`
	// contains filtered or unexported fields
}

func (UserAPIKeyNewParams) MarshalJSON

func (r UserAPIKeyNewParams) MarshalJSON() (data []byte, err error)

func (*UserAPIKeyNewParams) UnmarshalJSON

func (r *UserAPIKeyNewParams) UnmarshalJSON(data []byte) error

type UserAPIKeyService

type UserAPIKeyService struct {
	Options []option.RequestOption
}

UserAPIKeyService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewUserAPIKeyService method instead.

func NewUserAPIKeyService

func NewUserAPIKeyService(opts ...option.RequestOption) (r UserAPIKeyService)

NewUserAPIKeyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*UserAPIKeyService) Delete

func (r *UserAPIKeyService) Delete(ctx context.Context, keyID string, opts ...option.RequestOption) (err error)

Delete API key for user

func (*UserAPIKeyService) Get

Return the API keys for the user

func (*UserAPIKeyService) New

Generate new API keys for the user

type UserAddSignatureParams

type UserAddSignatureParams struct {
	// Base64 encoded image of user’s signature
	Signature string `json:"signature,required"`
	// contains filtered or unexported fields
}

func (UserAddSignatureParams) MarshalJSON

func (r UserAddSignatureParams) MarshalJSON() (data []byte, err error)

func (*UserAddSignatureParams) UnmarshalJSON

func (r *UserAddSignatureParams) UnmarshalJSON(data []byte) error

type UserGetResponse

type UserGetResponse struct {
	// Brand field
	Brand UserGetResponseBrand `json:"brand"`
	// Memrchant field
	Merchant UserGetResponseMerchant `json:"merchant"`
	// User field
	User UserGetResponseUser `json:"user"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Brand       respjson.Field
		Merchant    respjson.Field
		User        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Response fields for user retrieval

func (UserGetResponse) RawJSON

func (r UserGetResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserGetResponse) UnmarshalJSON

func (r *UserGetResponse) UnmarshalJSON(data []byte) error

type UserGetResponseBrand

type UserGetResponseBrand struct {
	// Email footer
	Footer string `json:"footer,nullable"`
	Logo string `json:"logo"`
	// Email reply to address
	ReplyTo string `json:"reply_to,nullable"`
	// Email slogan
	Slogan string `json:"slogan,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Footer      respjson.Field
		Logo        respjson.Field
		ReplyTo     respjson.Field
		Slogan      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Brand field

func (UserGetResponseBrand) RawJSON

func (r UserGetResponseBrand) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserGetResponseBrand) UnmarshalJSON

func (r *UserGetResponseBrand) UnmarshalJSON(data []byte) error

type UserGetResponseMerchant

type UserGetResponseMerchant struct {
	// Address field
	Address MerchantResponseAddress `json:"address"`
	// Business incorporation or formation date
	IncorporationDate string `json:"incorporation_date,nullable"`
	// Industry sector
	Industry string `json:"industry,nullable"`
	// Principal officer first name
	LegalFirstname string `json:"legal_firstname,nullable"`
	// Principal officer last name
	LegalLastname string `json:"legal_lastname,nullable"`
	// Address field
	PrincipalAddress MerchantResponseAddress `json:"principal_address"`
	// One of a standard set of values that indicate the citizenship status
	PrincipalCitizenshipStatus string `json:"principal_citizenship_status,nullable"`
	// One of a standard set of values that indicate customer occupation
	PrincipalOccupation string `json:"principal_occupation,nullable"`
	// Tax ID
	TaxID string `json:"tax_id,nullable"`
	// Company website
	Website string `json:"website,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Address                    respjson.Field
		IncorporationDate          respjson.Field
		Industry                   respjson.Field
		LegalFirstname             respjson.Field
		LegalLastname              respjson.Field
		PrincipalAddress           respjson.Field
		PrincipalCitizenshipStatus respjson.Field
		PrincipalOccupation        respjson.Field
		TaxID                      respjson.Field
		Website                    respjson.Field
		ExtraFields                map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Memrchant field

func (UserGetResponseMerchant) RawJSON

func (r UserGetResponseMerchant) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserGetResponseMerchant) UnmarshalJSON

func (r *UserGetResponseMerchant) UnmarshalJSON(data []byte) error

type UserGetResponseUser

type UserGetResponseUser struct {
	// User id
	ID string `json:"id"`
	// Business name
	BusinessName string `json:"business_name,nullable"`
	// Number to be used for the next check
	CheckNumber int64 `json:"check_number,nullable"`
	// User's date of birth
	Dob string `json:"dob,nullable"`
	// User first name
	FirstName string `json:"first_name,nullable"`
	// Number to be used for the next invoice
	InvoiceNumber int64 `json:"invoice_number,nullable"`
	// User last name
	LastName string `json:"last_name,nullable"`
	// Phone number
	Phone string `json:"phone,nullable"`
	// Social Security Number
	Ssn string `json:"ssn,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID            respjson.Field
		BusinessName  respjson.Field
		CheckNumber   respjson.Field
		Dob           respjson.Field
		FirstName     respjson.Field
		InvoiceNumber respjson.Field
		LastName      respjson.Field
		Phone         respjson.Field
		Ssn           respjson.Field
		ExtraFields   map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

User field

func (UserGetResponseUser) RawJSON

func (r UserGetResponseUser) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserGetResponseUser) UnmarshalJSON

func (r *UserGetResponseUser) UnmarshalJSON(data []byte) error

type UserListParams

type UserListParams struct {
	// Page number
	Page param.Opt[int64] `query:"page,omitzero" json:"-"`
	// Query
	Q param.Opt[string] `query:"q,omitzero" json:"-"`
	// Items per page
	//
	// Any of 10, 25, 50, 100, 250.
	PerPage int64 `query:"per_page,omitzero" json:"-"`
	// Sort
	//
	// Any of "+DATE", "-DATE", "+USER_ID", "-USER_ID".
	Sort UserListParamsSort `query:"sort,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (UserListParams) URLQuery

func (r UserListParams) URLQuery() (v url.Values, err error)

URLQuery serializes UserListParams's query parameters as `url.Values`.

type UserListParamsSort

type UserListParamsSort string

Sort

const (
	UserListParamsSortPlusDate    UserListParamsSort = "+DATE"
	UserListParamsSortMinusDate   UserListParamsSort = "-DATE"
	UserListParamsSortPlusUserID  UserListParamsSort = "+USER_ID"
	UserListParamsSortMinusUserID UserListParamsSort = "-USER_ID"
)

type UserListResponse

type UserListResponse struct {
	// List of users
	Users []UserListResponseUser `json:"users,required"`
	// Current page
	Page int64 `json:"page"`
	// Total number of pages
	Pages int64 `json:"pages"`
	// Total number of users
	Total int64 `json:"total"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Users       respjson.Field
		Page        respjson.Field
		Pages       respjson.Field
		Total       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Response fields for check query

func (UserListResponse) RawJSON

func (r UserListResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserListResponse) UnmarshalJSON

func (r *UserListResponse) UnmarshalJSON(data []byte) error

type UserListResponseUser

type UserListResponseUser struct {
	// Unique identifier for user
	ID string `json:"id,required"`
	// User creation timestamp
	Date string `json:"date,required"`
	// Publishable key of the user
	Key string `json:"key,required"`
	// Name of the user
	Name string `json:"name,required"`
	// Redacted secret key of the user
	Secret string `json:"secret,required"`
	// Specific user_id provided by the marketplace owner
	UserID string `json:"user_id,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Date        respjson.Field
		Key         respjson.Field
		Name        respjson.Field
		Secret      respjson.Field
		UserID      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Check field

func (UserListResponseUser) RawJSON

func (r UserListResponseUser) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserListResponseUser) UnmarshalJSON

func (r *UserListResponseUser) UnmarshalJSON(data []byte) error

type UserNewParams

type UserNewParams struct {
	// Name of user
	Name string `json:"name,required"`
	// Unique identifier for new user
	UserID string `json:"user_id,required"`
	// contains filtered or unexported fields
}

func (UserNewParams) MarshalJSON

func (r UserNewParams) MarshalJSON() (data []byte, err error)

func (*UserNewParams) UnmarshalJSON

func (r *UserNewParams) UnmarshalJSON(data []byte) error

type UserNewResponse

type UserNewResponse struct {
	// Unique identifier for user
	ID string `json:"id,required"`
	// Publishable key of the user
	Key string `json:"key,required"`
	// Secret key of the user
	Secret string `json:"secret,required"`
	// Specific user_id provided by the marketplace owner
	UserID string `json:"user_id,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Key         respjson.Field
		Secret      respjson.Field
		UserID      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Response fields for user creation

func (UserNewResponse) RawJSON

func (r UserNewResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*UserNewResponse) UnmarshalJSON

func (r *UserNewResponse) UnmarshalJSON(data []byte) error

type UserService

type UserService struct {
	Options []option.RequestOption
	APIKey  UserAPIKeyService
}

UserService contains methods and other services that help with interacting with the checkbook API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewUserService method instead.

func NewUserService

func NewUserService(opts ...option.RequestOption) (r UserService)

NewUserService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*UserService) AddSignature

func (r *UserService) AddSignature(ctx context.Context, body UserAddSignatureParams, opts ...option.RequestOption) (err error)

Add signature

func (*UserService) Delete

func (r *UserService) Delete(ctx context.Context, userID string, opts ...option.RequestOption) (err error)

Delete the marketplace user

func (*UserService) Get

func (r *UserService) Get(ctx context.Context, opts ...option.RequestOption) (res *UserGetResponse, err error)

Get user information

func (*UserService) List

func (r *UserService) List(ctx context.Context, query UserListParams, opts ...option.RequestOption) (res *UserListResponse, err error)

Return the marketplace users

func (*UserService) New

func (r *UserService) New(ctx context.Context, body UserNewParams, opts ...option.RequestOption) (res *UserNewResponse, err error)

Create a new marketplace user

func (*UserService) Update

func (r *UserService) Update(ctx context.Context, body UserUpdateParams, opts ...option.RequestOption) (err error)

Update existing user information

type UserUpdateParams

type UserUpdateParams struct {
	// Bank fields
	Bank UserUpdateParamsBank `json:"bank,omitzero"`
	// Brand fields
	Brand UserUpdateParamsBrand `json:"brand,omitzero"`
	// Developer fields
	Developer UserUpdateParamsDeveloper `json:"developer,omitzero"`
	// Merchant fields
	Merchant UserUpdateParamsMerchant `json:"merchant,omitzero"`
	// Payment fields
	Payment UserUpdateParamsPayment `json:"payment,omitzero"`
	// User field
	User UserUpdateParamsUser `json:"user,omitzero"`
	// contains filtered or unexported fields
}

func (UserUpdateParams) MarshalJSON

func (r UserUpdateParams) MarshalJSON() (data []byte, err error)

func (*UserUpdateParams) UnmarshalJSON

func (r *UserUpdateParams) UnmarshalJSON(data []byte) error

type UserUpdateParamsBank

type UserUpdateParamsBank struct {
	// Billing bank account id (if user has multiple bank accounts)
	Billing param.Opt[string] `json:"billing,omitzero" format:"uuid"`
	// Default bank account id (if user has multiple bank accounts)
	Default param.Opt[string] `json:"default,omitzero" format:"uuid"`
	// contains filtered or unexported fields
}

Bank fields

func (UserUpdateParamsBank) MarshalJSON

func (r UserUpdateParamsBank) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsBank) UnmarshalJSON

func (r *UserUpdateParamsBank) UnmarshalJSON(data []byte) error

type UserUpdateParamsBrand

type UserUpdateParamsBrand struct {
	// Email footer
	Footer param.Opt[string] `json:"footer,omitzero"`
	// Email slogan
	Slogan param.Opt[string] `json:"slogan,omitzero"`
	Logo param.Opt[string] `json:"logo,omitzero"`
	// Email reply to address
	ReplyTo param.Opt[string] `json:"reply_to,omitzero"`
	// Payment fields
	Button UserUpdateParamsBrandButton `json:"button,omitzero"`
	// Payment fields
	Check UserUpdateParamsBrandCheck `json:"check,omitzero"`
	// contains filtered or unexported fields
}

Brand fields

func (UserUpdateParamsBrand) MarshalJSON

func (r UserUpdateParamsBrand) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsBrand) UnmarshalJSON

func (r *UserUpdateParamsBrand) UnmarshalJSON(data []byte) error

type UserUpdateParamsBrandButton

type UserUpdateParamsBrandButton struct {
	// Payment fields
	Color ColorParam `json:"color,omitzero"`
	// contains filtered or unexported fields
}

Payment fields

func (UserUpdateParamsBrandButton) MarshalJSON

func (r UserUpdateParamsBrandButton) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsBrandButton) UnmarshalJSON

func (r *UserUpdateParamsBrandButton) UnmarshalJSON(data []byte) error

type UserUpdateParamsBrandCheck

type UserUpdateParamsBrandCheck struct {
	// Payment fields
	Color ColorParam `json:"color,omitzero"`
	// contains filtered or unexported fields
}

Payment fields

func (UserUpdateParamsBrandCheck) MarshalJSON

func (r UserUpdateParamsBrandCheck) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsBrandCheck) UnmarshalJSON

func (r *UserUpdateParamsBrandCheck) UnmarshalJSON(data []byte) error

type UserUpdateParamsDeveloper

type UserUpdateParamsDeveloper struct {
	// Webhook URI
	WebhookUri param.Opt[string] `json:"webhook_uri,omitzero"`
	// contains filtered or unexported fields
}

Developer fields

func (UserUpdateParamsDeveloper) MarshalJSON

func (r UserUpdateParamsDeveloper) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsDeveloper) UnmarshalJSON

func (r *UserUpdateParamsDeveloper) UnmarshalJSON(data []byte) error

type UserUpdateParamsMerchant

type UserUpdateParamsMerchant struct {
	// Business incorporation or formation date
	IncorporationDate param.Opt[time.Time] `json:"incorporation_date,omitzero" format:"date"`
	// Principal officer first name
	LegalFirstname param.Opt[string] `json:"legal_firstname,omitzero"`
	// Principal officer last name
	LegalLastname param.Opt[string] `json:"legal_lastname,omitzero"`
	// Occupation of principal
	PrincipalOccupation param.Opt[string] `json:"principal_occupation,omitzero"`
	// Tax ID
	TaxID param.Opt[string] `json:"tax_id,omitzero"`
	// Company website
	Website param.Opt[string] `json:"website,omitzero"`
	// Address fields
	Address UpdateMerchantAddressParam `json:"address,omitzero"`
	// Industry sector
	//
	// Any of 11, 21, 22, 23, 33, 42, 45, 49, 51, 52, 53, 54, 55, 56, 61, 62, 71, 72,
	// 81, 92, 441, 519, 524, 624, 4541, 5411, 5614, 54112, 541211, 541214, 541614.
	Industry int64 `json:"industry,omitzero"`
	// Address fields
	PrincipalAddress UpdateMerchantAddressParam `json:"principal_address,omitzero"`
	// One of a standard set of values that indicate the citizenship status
	//
	// Any of "us_citizen", "resident", "non_resident".
	PrincipalCitizenshipStatus string `json:"principal_citizenship_status,omitzero"`
	// contains filtered or unexported fields
}

Merchant fields

func (UserUpdateParamsMerchant) MarshalJSON

func (r UserUpdateParamsMerchant) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsMerchant) UnmarshalJSON

func (r *UserUpdateParamsMerchant) UnmarshalJSON(data []byte) error

type UserUpdateParamsPayment

type UserUpdateParamsPayment struct {
	// Payment expiration
	Expiration param.Opt[int64] `json:"expiration,omitzero"`
	// contains filtered or unexported fields
}

Payment fields

func (UserUpdateParamsPayment) MarshalJSON

func (r UserUpdateParamsPayment) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsPayment) UnmarshalJSON

func (r *UserUpdateParamsPayment) UnmarshalJSON(data []byte) error

type UserUpdateParamsUser

type UserUpdateParamsUser struct {
	// Business name
	BusinessName param.Opt[string] `json:"business_name,omitzero"`
	// Number to be used for the next payment
	CheckNumber param.Opt[int64] `json:"check_number,omitzero"`
	// User's date of birth
	Dob param.Opt[time.Time] `json:"dob,omitzero" format:"date"`
	// User first name
	FirstName param.Opt[string] `json:"first_name,omitzero"`
	// Number to be used for the next invoice
	InvoiceNumber param.Opt[int64] `json:"invoice_number,omitzero"`
	// User last name
	LastName param.Opt[string] `json:"last_name,omitzero"`
	// User password
	Password param.Opt[string] `json:"password,omitzero"`
	// Phone number
	Phone param.Opt[string] `json:"phone,omitzero"`
	// Social security number
	Ssn param.Opt[string] `json:"ssn,omitzero"`
	// contains filtered or unexported fields
}

User field

func (UserUpdateParamsUser) MarshalJSON

func (r UserUpdateParamsUser) MarshalJSON() (data []byte, err error)

func (*UserUpdateParamsUser) UnmarshalJSON

func (r *UserUpdateParamsUser) UnmarshalJSON(data []byte) error

type VenmoAccountResponse

type VenmoAccountResponse struct {
	// Unique identifier for Venmo account
	ID string `json:"id,required"`
	// Account creation timestamp
	Date string `json:"date,required"`
	// Name of the Venmo account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Date        respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (VenmoAccountResponse) RawJSON

func (r VenmoAccountResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*VenmoAccountResponse) UnmarshalJSON

func (r *VenmoAccountResponse) UnmarshalJSON(data []byte) error

type WireAccountResponse

type WireAccountResponse struct {
	// Unique identifier for account
	ID string `json:"id,required"`
	// Last 4 of account number
	Account string `json:"account,required"`
	// Account creation timestamp
	Date string `json:"date,required"`
	// Routing number
	Routing string `json:"routing,required"`
	// Name of the bank account
	Name string `json:"name,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID          respjson.Field
		Account     respjson.Field
		Date        respjson.Field
		Routing     respjson.Field
		Name        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (WireAccountResponse) RawJSON

func (r WireAccountResponse) RawJSON() string

Returns the unmodified JSON received from the API

func (*WireAccountResponse) UnmarshalJSON

func (r *WireAccountResponse) UnmarshalJSON(data []byte) error

Directories

Path Synopsis
encoding/json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
Package json implements encoding and decoding of JSON as defined in RFC 7159.
encoding/json/shims
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.21, and used by the Go 1.24 encoding/json package.
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.21, and used by the Go 1.24 encoding/json package.
packages
shared

Jump to

Keyboard shortcuts

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