increase

package module
v0.266.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

README

Increase Go API Library

Go Reference

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

Installation

import (
	"github.com/Increase/increase-go" // imported as increase
)

Or to pin the version:

go get -u 'github.com/Increase/increase-go@v0.266.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/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey("My API Key"), // defaults to os.LookupEnv("INCREASE_API_KEY")
		option.WithEnvironmentSandbox(), // defaults to option.WithEnvironmentProduction()
	)
	account, err := client.Accounts.New(context.TODO(), increase.AccountNewParams{
		Name:      increase.F("New Account!"),
		EntityID:  increase.F("entity_n8y8tnk2p9339ti393yi"),
		ProgramID: increase.F("program_i2v2os4mwza1oetokh9i"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", account.ID)
}

Request fields

All request parameters are wrapped in a generic Field type, which we use to distinguish zero values from null or omitted fields.

This prevents accidentally sending a zero value if you forget a required parameter, and enables explicitly sending null, false, '', or 0 on optional parameters. Any field not specified is not sent.

To construct fields with values, use the helpers String(), Int(), Float(), or most commonly, the generic F[T](). To send a null, use Null[T](), and to send a nonconforming value, use Raw[T](any). For example:

params := FooParams{
	Name: increase.F("hello"),

	// Explicitly send `"description": null`
	Description: increase.Null[string](),

	Point: increase.F(increase.Point{
		X: increase.Int(0),
		Y: increase.Int(1),

		// In cases where the API specifies a given type,
		// but you want to send something else, use `Raw`:
		Z: increase.Raw[int64](0.01), // sends a float
	}),
}
Response objects

All fields in response structs are value types (not pointers or wrappers).

If a given field is null, not present, or invalid, the corresponding field will simply be its zero value.

All response structs also include a special JSON field, containing more detailed information about each property, which you can use like so:

if res.Name == "" {
	// true if `"name"` is either not present or explicitly null
	res.JSON.Name.IsNull()

	// true if the `"name"` key was not present in the response JSON at all
	res.JSON.Name.IsMissing()

	// When the API returns data that cannot be coerced to the expected type:
	if res.JSON.Name.IsInvalid() {
		raw := res.JSON.Name.Raw()

		legacyName := struct{
			First string `json:"first"`
			Last  string `json:"last"`
		}{}
		json.Unmarshal([]byte(raw), &legacyName)
		name = legacyName.First + " " + legacyName.Last
	}
}

These .JSON structs also include an Extras 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()
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 := increase.NewClient(
	// Adds a header to every request made by the client
	option.WithHeader("X-Some-Header", "custom_header_info"),
)

client.Accounts.New(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"}),
)

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:

iter := client.Accounts.ListAutoPaging(context.TODO(), increase.AccountListParams{})
// Automatically fetches more pages as needed.
for iter.Next() {
	account := iter.Current()
	fmt.Printf("%+v\n", account)
}
if err := iter.Err(); err != nil {
	panic(err.Error())
}

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

page, err := client.Accounts.List(context.TODO(), increase.AccountListParams{})
for page != nil {
	for _, account := range page.Data {
		fmt.Printf("%+v\n", account)
	}
	page, err = page.GetNextPage()
}
if err != nil {
	panic(err.Error())
}
Errors

When the API returns a non-success status code, we return an error with type *increase.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.Accounts.New(context.TODO(), increase.AccountNewParams{
	Name: increase.F("New Account!"),
})
if err != nil {
	var apierr *increase.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 "/accounts": 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.Accounts.New(
	ctx,
	increase.AccountNewParams{
		Name:      increase.F("New Account!"),
		EntityID:  increase.F("entity_n8y8tnk2p9339ti393yi"),
		ProgramID: increase.F("program_i2v2os4mwza1oetokh9i"),
	},
	// 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 param.Field[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 increase.FileParam(reader io.Reader, filename string, contentType string) which can be used to wrap any io.Reader with the appropriate file name and content type.

// A file from the file system
file, err := os.Open("my/file.txt")
increase.FileNewParams{
	File:    increase.F[io.Reader](file),
	Purpose: increase.F(increase.FileNewParamsPurposeCheckImageFront),
}

// A file from a string
increase.FileNewParams{
	File:    increase.F[io.Reader](strings.NewReader("my file contents")),
	Purpose: increase.F(increase.FileNewParamsPurposeCheckImageFront),
}

// With a custom filename and contentType
increase.FileNewParams{
	File:    increase.FileParam(strings.NewReader(`{"hello": "foo"}`), "file.go", "application/json"),
	Purpose: increase.F(increase.FileNewParamsPurposeCheckImageFront),
}

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 := increase.NewClient(
	option.WithMaxRetries(0), // default is 2
)

// Override per-request:
client.Accounts.New(
	context.TODO(),
	increase.AccountNewParams{
		Name:      increase.F("New Account!"),
		EntityID:  increase.F("entity_n8y8tnk2p9339ti393yi"),
		ProgramID: increase.F("program_i2v2os4mwza1oetokh9i"),
	},
	option.WithMaxRetries(5),
)
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 := increase.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

View Source
const ErrorReasonDeletedCredential = apierror.ErrorReasonDeletedCredential
View Source
const ErrorReasonExpiredCredential = apierror.ErrorReasonExpiredCredential
View Source
const ErrorReasonNoAPIAccess = apierror.ErrorReasonNoAPIAccess
View Source
const ErrorReasonNoCredential = apierror.ErrorReasonNoCredential
View Source
const ErrorReasonNoHeader = apierror.ErrorReasonNoHeader
View Source
const ErrorReasonWrongEnvironment = apierror.ErrorReasonWrongEnvironment
View Source
const ErrorStatus400 = apierror.ErrorStatus400
View Source
const ErrorStatus401 = apierror.ErrorStatus401
View Source
const ErrorStatus403 = apierror.ErrorStatus403
View Source
const ErrorStatus404 = apierror.ErrorStatus404
View Source
const ErrorStatus409 = apierror.ErrorStatus409
View Source
const ErrorStatus429 = apierror.ErrorStatus429
View Source
const ErrorStatus500 = apierror.ErrorStatus500
View Source
const ErrorTypeAPIMethodNotFoundError = apierror.ErrorTypeAPIMethodNotFoundError
View Source
const ErrorTypeEnvironmentMismatchError = apierror.ErrorTypeEnvironmentMismatchError
View Source
const ErrorTypeIdempotencyKeyAlreadyUsedError = apierror.ErrorTypeIdempotencyKeyAlreadyUsedError
View Source
const ErrorTypeInsufficientPermissionsError = apierror.ErrorTypeInsufficientPermissionsError
View Source
const ErrorTypeInternalServerError = apierror.ErrorTypeInternalServerError
View Source
const ErrorTypeInvalidAPIKeyError = apierror.ErrorTypeInvalidAPIKeyError
View Source
const ErrorTypeInvalidOperationError = apierror.ErrorTypeInvalidOperationError
View Source
const ErrorTypeInvalidParametersError = apierror.ErrorTypeInvalidParametersError
View Source
const ErrorTypeMalformedRequestError = apierror.ErrorTypeMalformedRequestError
View Source
const ErrorTypeObjectNotFoundError = apierror.ErrorTypeObjectNotFoundError
View Source
const ErrorTypePrivateFeatureError = apierror.ErrorTypePrivateFeatureError
View Source
const ErrorTypeRateLimitedError = apierror.ErrorTypeRateLimitedError

Variables

This section is empty.

Functions

func Bool

func Bool(value bool) param.Field[bool]

Bool is a param field helper which helps specify bools.

func DefaultClientOptions added in v0.200.0

func DefaultClientOptions() []option.RequestOption

DefaultClientOptions read from the environment (INCREASE_API_KEY, INCREASE_WEBHOOK_SECRET, INCREASE_BASE_URL). This should be used to initialize new clients.

func F

func F[T any](value T) param.Field[T]

F is a param field helper used to initialize a param.Field generic struct. This helps specify null, zero values, and overrides, as well as normal values. You can read more about this in our README.

func FileParam

func FileParam(reader io.Reader, filename string, contentType string) param.Field[io.Reader]

FileParam is a param field helper which helps files with a mime content-type.

func Float

func Float(value float64) param.Field[float64]

Float is a param field helper which helps specify floats.

func Int

func Int(value int64) param.Field[int64]

Int is a param field helper which helps specify integers. This is particularly helpful when specifying integer constants for fields.

func Null

func Null[T any]() param.Field[T]

Null is a param field helper which explicitly sends null to the API.

func Raw

func Raw[T any](value any) param.Field[T]

Raw is a param field helper for specifying values for fields when the type you are looking to send is different from the type that is specified in the SDK. For example, if the type of the field is an integer, but you want to send a float, you could do that by setting the corresponding field with Raw[int](0.5).

func String

func String(value string) param.Field[string]

String is a param field helper which helps specify strings.

Types

type ACHPrenotification

type ACHPrenotification struct {
	// The ACH Prenotification's identifier.
	ID string `json:"id,required"`
	// The destination account number.
	AccountNumber string `json:"account_number,required"`
	// Additional information for the recipient.
	Addendum string `json:"addendum,required,nullable"`
	// The description of the date of the notification.
	CompanyDescriptiveDate string `json:"company_descriptive_date,required,nullable"`
	// Optional data associated with the notification.
	CompanyDiscretionaryData string `json:"company_discretionary_data,required,nullable"`
	// The description of the notification.
	CompanyEntryDescription string `json:"company_entry_description,required,nullable"`
	// The name by which you know the company.
	CompanyName string `json:"company_name,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the prenotification was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// If the notification is for a future credit or debit.
	CreditDebitIndicator ACHPrenotificationCreditDebitIndicator `json:"credit_debit_indicator,required,nullable"`
	// The effective date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	EffectiveDate time.Time `json:"effective_date,required,nullable" format:"date-time"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// If the receiving bank notifies that future transfers should use different
	// details, this will contain those details.
	NotificationsOfChange []ACHPrenotificationNotificationsOfChange `json:"notifications_of_change,required"`
	// If your prenotification is returned, this will contain details of the return.
	PrenotificationReturn ACHPrenotificationPrenotificationReturn `json:"prenotification_return,required,nullable"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN).
	RoutingNumber string `json:"routing_number,required"`
	// The lifecycle status of the ACH Prenotification.
	Status ACHPrenotificationStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `ach_prenotification`.
	Type ACHPrenotificationType `json:"type,required"`
	JSON achPrenotificationJSON `json:"-"`
}

ACH Prenotifications are one way you can verify account and routing numbers by Automated Clearing House (ACH).

func (*ACHPrenotification) UnmarshalJSON

func (r *ACHPrenotification) UnmarshalJSON(data []byte) (err error)

type ACHPrenotificationCreditDebitIndicator

type ACHPrenotificationCreditDebitIndicator string

If the notification is for a future credit or debit.

const (
	ACHPrenotificationCreditDebitIndicatorCredit ACHPrenotificationCreditDebitIndicator = "credit"
	ACHPrenotificationCreditDebitIndicatorDebit  ACHPrenotificationCreditDebitIndicator = "debit"
)

func (ACHPrenotificationCreditDebitIndicator) IsKnown

type ACHPrenotificationListParams

type ACHPrenotificationListParams struct {
	CreatedAt param.Field[ACHPrenotificationListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (ACHPrenotificationListParams) URLQuery

func (r ACHPrenotificationListParams) URLQuery() (v url.Values)

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

type ACHPrenotificationListParamsCreatedAt

type ACHPrenotificationListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (ACHPrenotificationListParamsCreatedAt) URLQuery

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

type ACHPrenotificationNewParams

type ACHPrenotificationNewParams struct {
	// The Increase identifier for the account that will send the transfer.
	AccountID param.Field[string] `json:"account_id,required"`
	// The account number for the destination account.
	AccountNumber param.Field[string] `json:"account_number,required"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// destination account.
	RoutingNumber param.Field[string] `json:"routing_number,required"`
	// Additional information that will be sent to the recipient.
	Addendum param.Field[string] `json:"addendum"`
	// The description of the date of the transfer.
	CompanyDescriptiveDate param.Field[string] `json:"company_descriptive_date"`
	// The data you choose to associate with the transfer.
	CompanyDiscretionaryData param.Field[string] `json:"company_discretionary_data"`
	// The description of the transfer you wish to be shown to the recipient.
	CompanyEntryDescription param.Field[string] `json:"company_entry_description"`
	// The name by which the recipient knows you.
	CompanyName param.Field[string] `json:"company_name"`
	// Whether the Prenotification is for a future debit or credit.
	CreditDebitIndicator param.Field[ACHPrenotificationNewParamsCreditDebitIndicator] `json:"credit_debit_indicator"`
	// The transfer effective date in
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date"`
	// Your identifier for the transfer recipient.
	IndividualID param.Field[string] `json:"individual_id"`
	// The name of the transfer recipient. This value is information and not verified
	// by the recipient's bank.
	IndividualName param.Field[string] `json:"individual_name"`
	// The Standard Entry Class (SEC) code to use for the ACH Prenotification.
	StandardEntryClassCode param.Field[ACHPrenotificationNewParamsStandardEntryClassCode] `json:"standard_entry_class_code"`
}

func (ACHPrenotificationNewParams) MarshalJSON

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

type ACHPrenotificationNewParamsCreditDebitIndicator

type ACHPrenotificationNewParamsCreditDebitIndicator string

Whether the Prenotification is for a future debit or credit.

const (
	ACHPrenotificationNewParamsCreditDebitIndicatorCredit ACHPrenotificationNewParamsCreditDebitIndicator = "credit"
	ACHPrenotificationNewParamsCreditDebitIndicatorDebit  ACHPrenotificationNewParamsCreditDebitIndicator = "debit"
)

func (ACHPrenotificationNewParamsCreditDebitIndicator) IsKnown

type ACHPrenotificationNewParamsStandardEntryClassCode

type ACHPrenotificationNewParamsStandardEntryClassCode string

The Standard Entry Class (SEC) code to use for the ACH Prenotification.

const (
	ACHPrenotificationNewParamsStandardEntryClassCodeCorporateCreditOrDebit        ACHPrenotificationNewParamsStandardEntryClassCode = "corporate_credit_or_debit"
	ACHPrenotificationNewParamsStandardEntryClassCodeCorporateTradeExchange        ACHPrenotificationNewParamsStandardEntryClassCode = "corporate_trade_exchange"
	ACHPrenotificationNewParamsStandardEntryClassCodePrearrangedPaymentsAndDeposit ACHPrenotificationNewParamsStandardEntryClassCode = "prearranged_payments_and_deposit"
	ACHPrenotificationNewParamsStandardEntryClassCodeInternetInitiated             ACHPrenotificationNewParamsStandardEntryClassCode = "internet_initiated"
)

func (ACHPrenotificationNewParamsStandardEntryClassCode) IsKnown

type ACHPrenotificationNotificationsOfChange

type ACHPrenotificationNotificationsOfChange struct {
	// The required type of change that is being signaled by the receiving financial
	// institution.
	ChangeCode ACHPrenotificationNotificationsOfChangeChangeCode `json:"change_code,required"`
	// The corrected data that should be used in future ACHs to this account. This may
	// contain the suggested new account number or routing number. When the
	// `change_code` is `incorrect_transaction_code`, this field contains an integer.
	// Numbers starting with a 2 encourage changing the `funding` parameter to
	// checking; numbers starting with a 3 encourage changing to savings.
	CorrectedData string `json:"corrected_data,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the notification occurred.
	CreatedAt time.Time                                   `json:"created_at,required" format:"date-time"`
	JSON      achPrenotificationNotificationsOfChangeJSON `json:"-"`
}

func (*ACHPrenotificationNotificationsOfChange) UnmarshalJSON

func (r *ACHPrenotificationNotificationsOfChange) UnmarshalJSON(data []byte) (err error)

type ACHPrenotificationNotificationsOfChangeChangeCode

type ACHPrenotificationNotificationsOfChangeChangeCode string

The required type of change that is being signaled by the receiving financial institution.

const (
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectAccountNumber                                                      ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_account_number"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectRoutingNumber                                                      ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_routing_number"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectRoutingNumberAndAccountNumber                                      ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_routing_number_and_account_number"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectTransactionCode                                                    ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_transaction_code"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectAccountNumberAndTransactionCode                                    ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_account_number_and_transaction_code"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectRoutingNumberAccountNumberAndTransactionCode                       ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_routing_number_account_number_and_transaction_code"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectReceivingDepositoryFinancialInstitutionIdentification              ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_receiving_depository_financial_institution_identification"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectIndividualIdentificationNumber                                     ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_individual_identification_number"
	ACHPrenotificationNotificationsOfChangeChangeCodeAddendaFormatError                                                          ACHPrenotificationNotificationsOfChangeChangeCode = "addenda_format_error"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectStandardEntryClassCodeForOutboundInternationalPayment              ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_standard_entry_class_code_for_outbound_international_payment"
	ACHPrenotificationNotificationsOfChangeChangeCodeMisroutedNotificationOfChange                                               ACHPrenotificationNotificationsOfChangeChangeCode = "misrouted_notification_of_change"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectTraceNumber                                                        ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_trace_number"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectCompanyIdentificationNumber                                        ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_company_identification_number"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectIdentificationNumber                                               ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_identification_number"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectlyFormattedCorrectedData                                           ACHPrenotificationNotificationsOfChangeChangeCode = "incorrectly_formatted_corrected_data"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectDiscretionaryData                                                  ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_discretionary_data"
	ACHPrenotificationNotificationsOfChangeChangeCodeRoutingNumberNotFromOriginalEntryDetailRecord                               ACHPrenotificationNotificationsOfChangeChangeCode = "routing_number_not_from_original_entry_detail_record"
	ACHPrenotificationNotificationsOfChangeChangeCodeDepositoryFinancialInstitutionAccountNumberNotFromOriginalEntryDetailRecord ACHPrenotificationNotificationsOfChangeChangeCode = "depository_financial_institution_account_number_not_from_original_entry_detail_record"
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectTransactionCodeByOriginatingDepositoryFinancialInstitution         ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_transaction_code_by_originating_depository_financial_institution"
)

func (ACHPrenotificationNotificationsOfChangeChangeCode) IsKnown

type ACHPrenotificationPrenotificationReturn

type ACHPrenotificationPrenotificationReturn struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Prenotification was returned.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// Why the Prenotification was returned.
	ReturnReasonCode ACHPrenotificationPrenotificationReturnReturnReasonCode `json:"return_reason_code,required"`
	JSON             achPrenotificationPrenotificationReturnJSON             `json:"-"`
}

If your prenotification is returned, this will contain details of the return.

func (*ACHPrenotificationPrenotificationReturn) UnmarshalJSON

func (r *ACHPrenotificationPrenotificationReturn) UnmarshalJSON(data []byte) (err error)

type ACHPrenotificationPrenotificationReturnReturnReasonCode

type ACHPrenotificationPrenotificationReturnReturnReasonCode string

Why the Prenotification was returned.

const (
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInsufficientFund                                            ACHPrenotificationPrenotificationReturnReturnReasonCode = "insufficient_fund"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNoAccount                                                   ACHPrenotificationPrenotificationReturnReturnReasonCode = "no_account"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAccountClosed                                               ACHPrenotificationPrenotificationReturnReturnReasonCode = "account_closed"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidAccountNumberStructure                               ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_account_number_structure"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAccountFrozenEntryReturnedPerOfacInstruction                ACHPrenotificationPrenotificationReturnReturnReasonCode = "account_frozen_entry_returned_per_ofac_instruction"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCreditEntryRefusedByReceiver                                ACHPrenotificationPrenotificationReturnReturnReasonCode = "credit_entry_refused_by_receiver"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeUnauthorizedDebitToConsumerAccountUsingCorporateSecCode     ACHPrenotificationPrenotificationReturnReturnReasonCode = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCorporateCustomerAdvisedNotAuthorized                       ACHPrenotificationPrenotificationReturnReturnReasonCode = "corporate_customer_advised_not_authorized"
	ACHPrenotificationPrenotificationReturnReturnReasonCodePaymentStopped                                              ACHPrenotificationPrenotificationReturnReturnReasonCode = "payment_stopped"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNonTransactionAccount                                       ACHPrenotificationPrenotificationReturnReturnReasonCode = "non_transaction_account"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeUncollectedFunds                                            ACHPrenotificationPrenotificationReturnReturnReasonCode = "uncollected_funds"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRoutingNumberCheckDigitError                                ACHPrenotificationPrenotificationReturnReturnReasonCode = "routing_number_check_digit_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   ACHPrenotificationPrenotificationReturnReturnReasonCode = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAmountFieldError                                            ACHPrenotificationPrenotificationReturnReturnReasonCode = "amount_field_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAuthorizationRevokedByCustomer                              ACHPrenotificationPrenotificationReturnReturnReasonCode = "authorization_revoked_by_customer"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidACHRoutingNumber                                     ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_ach_routing_number"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeFileRecordEditCriteria                                      ACHPrenotificationPrenotificationReturnReturnReasonCode = "file_record_edit_criteria"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidIndividualName                                    ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_individual_name"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnedPerOdfiRequest                                      ACHPrenotificationPrenotificationReturnReturnReasonCode = "returned_per_odfi_request"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeLimitedParticipationDfi                                     ACHPrenotificationPrenotificationReturnReturnReasonCode = "limited_participation_dfi"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeIncorrectlyCodedOutboundInternationalPayment                ACHPrenotificationPrenotificationReturnReturnReasonCode = "incorrectly_coded_outbound_international_payment"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAccountSoldToAnotherDfi                                     ACHPrenotificationPrenotificationReturnReturnReasonCode = "account_sold_to_another_dfi"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAddendaError                                                ACHPrenotificationPrenotificationReturnReturnReasonCode = "addenda_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeBeneficiaryOrAccountHolderDeceased                          ACHPrenotificationPrenotificationReturnReturnReasonCode = "beneficiary_or_account_holder_deceased"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCustomerAdvisedNotWithinAuthorizationTerms                  ACHPrenotificationPrenotificationReturnReturnReasonCode = "customer_advised_not_within_authorization_terms"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCorrectedReturn                                             ACHPrenotificationPrenotificationReturnReturnReasonCode = "corrected_return"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeDuplicateEntry                                              ACHPrenotificationPrenotificationReturnReturnReasonCode = "duplicate_entry"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeDuplicateReturn                                             ACHPrenotificationPrenotificationReturnReturnReasonCode = "duplicate_return"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrDuplicateEnrollment                                      ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_duplicate_enrollment"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidDfiAccountNumber                                  ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_dfi_account_number"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidIndividualIDNumber                                ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_individual_id_number"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidRepresentativePayeeIndicator                      ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_representative_payee_indicator"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidTransactionCode                                   ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_transaction_code"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrReturnOfEnrEntry                                         ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_return_of_enr_entry"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrRoutingNumberCheckDigitError                             ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_routing_number_check_digit_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEntryNotProcessedByGateway                                  ACHPrenotificationPrenotificationReturnReturnReasonCode = "entry_not_processed_by_gateway"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeFieldError                                                  ACHPrenotificationPrenotificationReturnReturnReasonCode = "field_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeForeignReceivingDfiUnableToSettle                           ACHPrenotificationPrenotificationReturnReturnReasonCode = "foreign_receiving_dfi_unable_to_settle"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeIatEntryCodingError                                         ACHPrenotificationPrenotificationReturnReturnReasonCode = "iat_entry_coding_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeImproperEffectiveEntryDate                                  ACHPrenotificationPrenotificationReturnReturnReasonCode = "improper_effective_entry_date"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeImproperSourceDocumentSourceDocumentPresented               ACHPrenotificationPrenotificationReturnReturnReasonCode = "improper_source_document_source_document_presented"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidCompanyID                                            ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_company_id"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidForeignReceivingDfiIdentification                    ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_foreign_receiving_dfi_identification"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidIndividualIDNumber                                   ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_individual_id_number"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeItemAndRckEntryPresentedForPayment                          ACHPrenotificationPrenotificationReturnReturnReasonCode = "item_and_rck_entry_presented_for_payment"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeItemRelatedToRckEntryIsIneligible                           ACHPrenotificationPrenotificationReturnReturnReasonCode = "item_related_to_rck_entry_is_ineligible"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeMandatoryFieldError                                         ACHPrenotificationPrenotificationReturnReturnReasonCode = "mandatory_field_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeMisroutedDishonoredReturn                                   ACHPrenotificationPrenotificationReturnReturnReasonCode = "misrouted_dishonored_return"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeMisroutedReturn                                             ACHPrenotificationPrenotificationReturnReturnReasonCode = "misrouted_return"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNoErrorsFound                                               ACHPrenotificationPrenotificationReturnReturnReasonCode = "no_errors_found"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNonAcceptanceOfR62DishonoredReturn                          ACHPrenotificationPrenotificationReturnReturnReasonCode = "non_acceptance_of_r62_dishonored_return"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNonParticipantInIatProgram                                  ACHPrenotificationPrenotificationReturnReturnReasonCode = "non_participant_in_iat_program"
	ACHPrenotificationPrenotificationReturnReturnReasonCodePermissibleReturnEntry                                      ACHPrenotificationPrenotificationReturnReturnReasonCode = "permissible_return_entry"
	ACHPrenotificationPrenotificationReturnReturnReasonCodePermissibleReturnEntryNotAccepted                           ACHPrenotificationPrenotificationReturnReturnReasonCode = "permissible_return_entry_not_accepted"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRdfiNonSettlement                                           ACHPrenotificationPrenotificationReturnReturnReasonCode = "rdfi_non_settlement"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRdfiParticipantInCheckTruncationProgram                     ACHPrenotificationPrenotificationReturnReturnReasonCode = "rdfi_participant_in_check_truncation_program"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity ACHPrenotificationPrenotificationReturnReturnReasonCode = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnNotADuplicate                                         ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_not_a_duplicate"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfErroneousOrReversingDebit                           ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_erroneous_or_reversing_debit"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfImproperCreditEntry                                 ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_improper_credit_entry"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfImproperDebitEntry                                  ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_improper_debit_entry"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfXckEntry                                            ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_xck_entry"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeSourceDocumentPresentedForPayment                           ACHPrenotificationPrenotificationReturnReturnReasonCode = "source_document_presented_for_payment"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeStateLawAffectingRckAcceptance                              ACHPrenotificationPrenotificationReturnReturnReasonCode = "state_law_affecting_rck_acceptance"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeStopPaymentOnItemRelatedToRckEntry                          ACHPrenotificationPrenotificationReturnReturnReasonCode = "stop_payment_on_item_related_to_rck_entry"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeStopPaymentOnSourceDocument                                 ACHPrenotificationPrenotificationReturnReturnReasonCode = "stop_payment_on_source_document"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeTimelyOriginalReturn                                        ACHPrenotificationPrenotificationReturnReturnReasonCode = "timely_original_return"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeTraceNumberError                                            ACHPrenotificationPrenotificationReturnReturnReasonCode = "trace_number_error"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeUntimelyDishonoredReturn                                    ACHPrenotificationPrenotificationReturnReturnReasonCode = "untimely_dishonored_return"
	ACHPrenotificationPrenotificationReturnReturnReasonCodeUntimelyReturn                                              ACHPrenotificationPrenotificationReturnReturnReasonCode = "untimely_return"
)

func (ACHPrenotificationPrenotificationReturnReturnReasonCode) IsKnown

type ACHPrenotificationService

type ACHPrenotificationService struct {
	Options []option.RequestOption
}

ACHPrenotificationService contains methods and other services that help with interacting with the increase 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 NewACHPrenotificationService method instead.

func NewACHPrenotificationService

func NewACHPrenotificationService(opts ...option.RequestOption) (r *ACHPrenotificationService)

NewACHPrenotificationService 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 (*ACHPrenotificationService) Get

func (r *ACHPrenotificationService) Get(ctx context.Context, achPrenotificationID string, opts ...option.RequestOption) (res *ACHPrenotification, err error)

Retrieve an ACH Prenotification

func (*ACHPrenotificationService) List

List ACH Prenotifications

func (*ACHPrenotificationService) ListAutoPaging

List ACH Prenotifications

func (*ACHPrenotificationService) New

Create an ACH Prenotification

type ACHPrenotificationStatus

type ACHPrenotificationStatus string

The lifecycle status of the ACH Prenotification.

const (
	ACHPrenotificationStatusPendingSubmitting ACHPrenotificationStatus = "pending_submitting"
	ACHPrenotificationStatusRequiresAttention ACHPrenotificationStatus = "requires_attention"
	ACHPrenotificationStatusReturned          ACHPrenotificationStatus = "returned"
	ACHPrenotificationStatusSubmitted         ACHPrenotificationStatus = "submitted"
)

func (ACHPrenotificationStatus) IsKnown

func (r ACHPrenotificationStatus) IsKnown() bool

type ACHPrenotificationType

type ACHPrenotificationType string

A constant representing the object's type. For this resource it will always be `ach_prenotification`.

const (
	ACHPrenotificationTypeACHPrenotification ACHPrenotificationType = "ach_prenotification"
)

func (ACHPrenotificationType) IsKnown

func (r ACHPrenotificationType) IsKnown() bool

type ACHTransfer

type ACHTransfer struct {
	// The ACH transfer's identifier.
	ID string `json:"id,required"`
	// The Account to which the transfer belongs.
	AccountID string `json:"account_id,required"`
	// The destination account number.
	AccountNumber string `json:"account_number,required"`
	// After the transfer is acknowledged by FedACH, this will contain supplemental
	// details. The Federal Reserve sends an acknowledgement message for each file that
	// Increase submits.
	Acknowledgement ACHTransferAcknowledgement `json:"acknowledgement,required,nullable"`
	// Additional information that will be sent to the recipient.
	Addenda ACHTransferAddenda `json:"addenda,required,nullable"`
	// The transfer amount in USD cents. A positive amount indicates a credit transfer
	// pushing funds to the receiving account. A negative amount indicates a debit
	// transfer pulling funds from the receiving account.
	Amount int64 `json:"amount,required"`
	// If your account requires approvals for transfers and the transfer was approved,
	// this will contain details of the approval.
	Approval ACHTransferApproval `json:"approval,required,nullable"`
	// If your account requires approvals for transfers and the transfer was not
	// approved, this will contain details of the cancellation.
	Cancellation ACHTransferCancellation `json:"cancellation,required,nullable"`
	// The description of the date of the transfer.
	CompanyDescriptiveDate string `json:"company_descriptive_date,required,nullable"`
	// The data you chose to associate with the transfer.
	CompanyDiscretionaryData string `json:"company_discretionary_data,required,nullable"`
	// The description of the transfer you set to be shown to the recipient.
	CompanyEntryDescription string `json:"company_entry_description,required,nullable"`
	// The company ID associated with the transfer.
	CompanyID string `json:"company_id,required"`
	// The name by which the recipient knows you.
	CompanyName string `json:"company_name,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// What object created the transfer, either via the API or the dashboard.
	CreatedBy ACHTransferCreatedBy `json:"created_by,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
	// currency. For ACH transfers this is always equal to `usd`.
	Currency ACHTransferCurrency `json:"currency,required"`
	// The type of entity that owns the account to which the ACH Transfer is being
	// sent.
	DestinationAccountHolder ACHTransferDestinationAccountHolder `json:"destination_account_holder,required"`
	// The identifier of the External Account the transfer was made to, if any.
	ExternalAccountID string `json:"external_account_id,required,nullable"`
	// The type of the account to which the transfer will be sent.
	Funding ACHTransferFunding `json:"funding,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// Increase will sometimes hold the funds for ACH debit transfers. If funds are
	// held, this sub-object will contain details of the hold.
	InboundFundsHold ACHTransferInboundFundsHold `json:"inbound_funds_hold,required,nullable"`
	// Your identifier for the transfer recipient.
	IndividualID string `json:"individual_id,required,nullable"`
	// The name of the transfer recipient. This value is information and not verified
	// by the recipient's bank.
	IndividualName string `json:"individual_name,required,nullable"`
	// The transfer's network.
	Network ACHTransferNetwork `json:"network,required"`
	// If the receiving bank accepts the transfer but notifies that future transfers
	// should use different details, this will contain those details.
	NotificationsOfChange []ACHTransferNotificationsOfChange `json:"notifications_of_change,required"`
	// The ID for the pending transaction representing the transfer. A pending
	// transaction is created when the transfer
	// [requires approval](https://increase.com/documentation/transfer-approvals#transfer-approvals)
	// by someone else in your organization.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// Configuration for how the effective date of the transfer will be set. This
	// determines same-day vs future-dated settlement timing. If not set, defaults to a
	// `settlement_schedule` of `same_day`. If set, exactly one of the child attributes
	// must be set.
	PreferredEffectiveDate ACHTransferPreferredEffectiveDate `json:"preferred_effective_date,required"`
	// If your transfer is returned, this will contain details of the return.
	Return ACHTransferReturn `json:"return,required,nullable"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN).
	RoutingNumber string `json:"routing_number,required"`
	// A subhash containing information about when and how the transfer settled at the
	// Federal Reserve.
	Settlement ACHTransferSettlement `json:"settlement,required,nullable"`
	// The Standard Entry Class (SEC) code to use for the transfer.
	StandardEntryClassCode ACHTransferStandardEntryClassCode `json:"standard_entry_class_code,required"`
	// The descriptor that will show on the recipient's bank statement.
	StatementDescriptor string `json:"statement_descriptor,required"`
	// The lifecycle status of the transfer.
	Status ACHTransferStatus `json:"status,required"`
	// After the transfer is submitted to FedACH, this will contain supplemental
	// details. Increase batches transfers and submits a file to the Federal Reserve
	// roughly every 30 minutes. The Federal Reserve processes ACH transfers during
	// weekdays according to their
	// [posted schedule](https://www.frbservices.org/resources/resource-centers/same-day-ach/fedach-processing-schedule.html).
	Submission ACHTransferSubmission `json:"submission,required,nullable"`
	// The ID for the transaction funding the transfer.
	TransactionID string `json:"transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `ach_transfer`.
	Type ACHTransferType `json:"type,required"`
	JSON achTransferJSON `json:"-"`
}

ACH transfers move funds between your Increase account and any other account accessible by the Automated Clearing House (ACH).

func (*ACHTransfer) UnmarshalJSON

func (r *ACHTransfer) UnmarshalJSON(data []byte) (err error)

type ACHTransferAcknowledgement

type ACHTransferAcknowledgement struct {
	// When the Federal Reserve acknowledged the submitted file containing this
	// transfer.
	AcknowledgedAt string                         `json:"acknowledged_at,required"`
	JSON           achTransferAcknowledgementJSON `json:"-"`
}

After the transfer is acknowledged by FedACH, this will contain supplemental details. The Federal Reserve sends an acknowledgement message for each file that Increase submits.

func (*ACHTransferAcknowledgement) UnmarshalJSON

func (r *ACHTransferAcknowledgement) UnmarshalJSON(data []byte) (err error)

type ACHTransferAddenda

type ACHTransferAddenda struct {
	// The type of the resource. We may add additional possible values for this enum
	// over time; your application should be able to handle such additions gracefully.
	Category ACHTransferAddendaCategory `json:"category,required"`
	// Unstructured `payment_related_information` passed through with the transfer.
	Freeform ACHTransferAddendaFreeform `json:"freeform,required,nullable"`
	// Structured ASC X12 820 remittance advice records. Please reach out to
	// [support@increase.com](mailto:support@increase.com) for more information.
	PaymentOrderRemittanceAdvice ACHTransferAddendaPaymentOrderRemittanceAdvice `json:"payment_order_remittance_advice,required,nullable"`
	JSON                         achTransferAddendaJSON                         `json:"-"`
}

Additional information that will be sent to the recipient.

func (*ACHTransferAddenda) UnmarshalJSON

func (r *ACHTransferAddenda) UnmarshalJSON(data []byte) (err error)

type ACHTransferAddendaCategory

type ACHTransferAddendaCategory string

The type of the resource. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.

const (
	ACHTransferAddendaCategoryFreeform                     ACHTransferAddendaCategory = "freeform"
	ACHTransferAddendaCategoryPaymentOrderRemittanceAdvice ACHTransferAddendaCategory = "payment_order_remittance_advice"
	ACHTransferAddendaCategoryOther                        ACHTransferAddendaCategory = "other"
)

func (ACHTransferAddendaCategory) IsKnown

func (r ACHTransferAddendaCategory) IsKnown() bool

type ACHTransferAddendaFreeform

type ACHTransferAddendaFreeform struct {
	// Each entry represents an addendum sent with the transfer.
	Entries []ACHTransferAddendaFreeformEntry `json:"entries,required"`
	JSON    achTransferAddendaFreeformJSON    `json:"-"`
}

Unstructured `payment_related_information` passed through with the transfer.

func (*ACHTransferAddendaFreeform) UnmarshalJSON

func (r *ACHTransferAddendaFreeform) UnmarshalJSON(data []byte) (err error)

type ACHTransferAddendaFreeformEntry

type ACHTransferAddendaFreeformEntry struct {
	// The payment related information passed in the addendum.
	PaymentRelatedInformation string                              `json:"payment_related_information,required"`
	JSON                      achTransferAddendaFreeformEntryJSON `json:"-"`
}

func (*ACHTransferAddendaFreeformEntry) UnmarshalJSON

func (r *ACHTransferAddendaFreeformEntry) UnmarshalJSON(data []byte) (err error)

type ACHTransferAddendaPaymentOrderRemittanceAdvice

type ACHTransferAddendaPaymentOrderRemittanceAdvice struct {
	// ASC X12 RMR records for this specific transfer.
	Invoices []ACHTransferAddendaPaymentOrderRemittanceAdviceInvoice `json:"invoices,required"`
	JSON     achTransferAddendaPaymentOrderRemittanceAdviceJSON      `json:"-"`
}

Structured ASC X12 820 remittance advice records. Please reach out to [support@increase.com](mailto:support@increase.com) for more information.

func (*ACHTransferAddendaPaymentOrderRemittanceAdvice) UnmarshalJSON

func (r *ACHTransferAddendaPaymentOrderRemittanceAdvice) UnmarshalJSON(data []byte) (err error)

type ACHTransferAddendaPaymentOrderRemittanceAdviceInvoice

type ACHTransferAddendaPaymentOrderRemittanceAdviceInvoice struct {
	// The invoice number for this reference, determined in advance with the receiver.
	InvoiceNumber string `json:"invoice_number,required"`
	// The amount that was paid for this invoice in the minor unit of its currency. For
	// dollars, for example, this is cents.
	PaidAmount int64                                                     `json:"paid_amount,required"`
	JSON       achTransferAddendaPaymentOrderRemittanceAdviceInvoiceJSON `json:"-"`
}

func (*ACHTransferAddendaPaymentOrderRemittanceAdviceInvoice) UnmarshalJSON

func (r *ACHTransferAddendaPaymentOrderRemittanceAdviceInvoice) UnmarshalJSON(data []byte) (err error)

type ACHTransferApproval

type ACHTransferApproval struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was approved.
	ApprovedAt time.Time `json:"approved_at,required" format:"date-time"`
	// If the Transfer was approved by a user in the dashboard, the email address of
	// that user.
	ApprovedBy string                  `json:"approved_by,required,nullable"`
	JSON       achTransferApprovalJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

func (*ACHTransferApproval) UnmarshalJSON

func (r *ACHTransferApproval) UnmarshalJSON(data []byte) (err error)

type ACHTransferCancellation

type ACHTransferCancellation struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Transfer was canceled.
	CanceledAt time.Time `json:"canceled_at,required" format:"date-time"`
	// If the Transfer was canceled by a user in the dashboard, the email address of
	// that user.
	CanceledBy string                      `json:"canceled_by,required,nullable"`
	JSON       achTransferCancellationJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

func (*ACHTransferCancellation) UnmarshalJSON

func (r *ACHTransferCancellation) UnmarshalJSON(data []byte) (err error)

type ACHTransferCreatedBy

type ACHTransferCreatedBy struct {
	// If present, details about the API key that created the transfer.
	APIKey ACHTransferCreatedByAPIKey `json:"api_key,required,nullable"`
	// The type of object that created this transfer.
	Category ACHTransferCreatedByCategory `json:"category,required"`
	// If present, details about the OAuth Application that created the transfer.
	OAuthApplication ACHTransferCreatedByOAuthApplication `json:"oauth_application,required,nullable"`
	// If present, details about the User that created the transfer.
	User ACHTransferCreatedByUser `json:"user,required,nullable"`
	JSON achTransferCreatedByJSON `json:"-"`
}

What object created the transfer, either via the API or the dashboard.

func (*ACHTransferCreatedBy) UnmarshalJSON

func (r *ACHTransferCreatedBy) UnmarshalJSON(data []byte) (err error)

type ACHTransferCreatedByAPIKey

type ACHTransferCreatedByAPIKey struct {
	// The description set for the API key when it was created.
	Description string                         `json:"description,required,nullable"`
	JSON        achTransferCreatedByAPIKeyJSON `json:"-"`
}

If present, details about the API key that created the transfer.

func (*ACHTransferCreatedByAPIKey) UnmarshalJSON

func (r *ACHTransferCreatedByAPIKey) UnmarshalJSON(data []byte) (err error)

type ACHTransferCreatedByCategory

type ACHTransferCreatedByCategory string

The type of object that created this transfer.

const (
	ACHTransferCreatedByCategoryAPIKey           ACHTransferCreatedByCategory = "api_key"
	ACHTransferCreatedByCategoryOAuthApplication ACHTransferCreatedByCategory = "oauth_application"
	ACHTransferCreatedByCategoryUser             ACHTransferCreatedByCategory = "user"
)

func (ACHTransferCreatedByCategory) IsKnown

func (r ACHTransferCreatedByCategory) IsKnown() bool

type ACHTransferCreatedByOAuthApplication

type ACHTransferCreatedByOAuthApplication struct {
	// The name of the OAuth Application.
	Name string                                   `json:"name,required"`
	JSON achTransferCreatedByOAuthApplicationJSON `json:"-"`
}

If present, details about the OAuth Application that created the transfer.

func (*ACHTransferCreatedByOAuthApplication) UnmarshalJSON

func (r *ACHTransferCreatedByOAuthApplication) UnmarshalJSON(data []byte) (err error)

type ACHTransferCreatedByUser

type ACHTransferCreatedByUser struct {
	// The email address of the User.
	Email string                       `json:"email,required"`
	JSON  achTransferCreatedByUserJSON `json:"-"`
}

If present, details about the User that created the transfer.

func (*ACHTransferCreatedByUser) UnmarshalJSON

func (r *ACHTransferCreatedByUser) UnmarshalJSON(data []byte) (err error)

type ACHTransferCurrency

type ACHTransferCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's currency. For ACH transfers this is always equal to `usd`.

const (
	ACHTransferCurrencyCad ACHTransferCurrency = "CAD"
	ACHTransferCurrencyChf ACHTransferCurrency = "CHF"
	ACHTransferCurrencyEur ACHTransferCurrency = "EUR"
	ACHTransferCurrencyGbp ACHTransferCurrency = "GBP"
	ACHTransferCurrencyJpy ACHTransferCurrency = "JPY"
	ACHTransferCurrencyUsd ACHTransferCurrency = "USD"
)

func (ACHTransferCurrency) IsKnown

func (r ACHTransferCurrency) IsKnown() bool

type ACHTransferDestinationAccountHolder

type ACHTransferDestinationAccountHolder string

The type of entity that owns the account to which the ACH Transfer is being sent.

const (
	ACHTransferDestinationAccountHolderBusiness   ACHTransferDestinationAccountHolder = "business"
	ACHTransferDestinationAccountHolderIndividual ACHTransferDestinationAccountHolder = "individual"
	ACHTransferDestinationAccountHolderUnknown    ACHTransferDestinationAccountHolder = "unknown"
)

func (ACHTransferDestinationAccountHolder) IsKnown

type ACHTransferFunding

type ACHTransferFunding string

The type of the account to which the transfer will be sent.

const (
	ACHTransferFundingChecking ACHTransferFunding = "checking"
	ACHTransferFundingSavings  ACHTransferFunding = "savings"
)

func (ACHTransferFunding) IsKnown

func (r ACHTransferFunding) IsKnown() bool

type ACHTransferInboundFundsHold

type ACHTransferInboundFundsHold struct {
	// The Inbound Funds Hold identifier.
	ID string `json:"id,required"`
	// The held amount in the minor unit of the account's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// When the hold will be released automatically. Certain conditions may cause it to
	// be released before this time.
	AutomaticallyReleasesAt time.Time `json:"automatically_releases_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the hold
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's
	// currency.
	Currency ACHTransferInboundFundsHoldCurrency `json:"currency,required"`
	// The ID of the Transaction for which funds were held.
	HeldTransactionID string `json:"held_transaction_id,required,nullable"`
	// The ID of the Pending Transaction representing the held funds.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// When the hold was released (if it has been released).
	ReleasedAt time.Time `json:"released_at,required,nullable" format:"date-time"`
	// The status of the hold.
	Status ACHTransferInboundFundsHoldStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_funds_hold`.
	Type ACHTransferInboundFundsHoldType `json:"type,required"`
	JSON achTransferInboundFundsHoldJSON `json:"-"`
}

Increase will sometimes hold the funds for ACH debit transfers. If funds are held, this sub-object will contain details of the hold.

func (*ACHTransferInboundFundsHold) UnmarshalJSON

func (r *ACHTransferInboundFundsHold) UnmarshalJSON(data []byte) (err error)

type ACHTransferInboundFundsHoldCurrency

type ACHTransferInboundFundsHoldCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's currency.

const (
	ACHTransferInboundFundsHoldCurrencyCad ACHTransferInboundFundsHoldCurrency = "CAD"
	ACHTransferInboundFundsHoldCurrencyChf ACHTransferInboundFundsHoldCurrency = "CHF"
	ACHTransferInboundFundsHoldCurrencyEur ACHTransferInboundFundsHoldCurrency = "EUR"
	ACHTransferInboundFundsHoldCurrencyGbp ACHTransferInboundFundsHoldCurrency = "GBP"
	ACHTransferInboundFundsHoldCurrencyJpy ACHTransferInboundFundsHoldCurrency = "JPY"
	ACHTransferInboundFundsHoldCurrencyUsd ACHTransferInboundFundsHoldCurrency = "USD"
)

func (ACHTransferInboundFundsHoldCurrency) IsKnown

type ACHTransferInboundFundsHoldStatus

type ACHTransferInboundFundsHoldStatus string

The status of the hold.

const (
	ACHTransferInboundFundsHoldStatusHeld     ACHTransferInboundFundsHoldStatus = "held"
	ACHTransferInboundFundsHoldStatusComplete ACHTransferInboundFundsHoldStatus = "complete"
)

func (ACHTransferInboundFundsHoldStatus) IsKnown

type ACHTransferInboundFundsHoldType

type ACHTransferInboundFundsHoldType string

A constant representing the object's type. For this resource it will always be `inbound_funds_hold`.

const (
	ACHTransferInboundFundsHoldTypeInboundFundsHold ACHTransferInboundFundsHoldType = "inbound_funds_hold"
)

func (ACHTransferInboundFundsHoldType) IsKnown

type ACHTransferListParams

type ACHTransferListParams struct {
	// Filter ACH Transfers to those that originated from the specified Account.
	AccountID param.Field[string]                         `query:"account_id"`
	CreatedAt param.Field[ACHTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter ACH Transfers to those made to the specified External Account.
	ExternalAccountID param.Field[string] `query:"external_account_id"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                       `query:"limit"`
	Status param.Field[ACHTransferListParamsStatus] `query:"status"`
}

func (ACHTransferListParams) URLQuery

func (r ACHTransferListParams) URLQuery() (v url.Values)

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

type ACHTransferListParamsCreatedAt

type ACHTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (ACHTransferListParamsCreatedAt) URLQuery

func (r ACHTransferListParamsCreatedAt) URLQuery() (v url.Values)

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

type ACHTransferListParamsStatus added in v0.207.0

type ACHTransferListParamsStatus struct {
	// Return results whose value is in the provided list. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]ACHTransferListParamsStatusIn] `query:"in"`
}

func (ACHTransferListParamsStatus) URLQuery added in v0.207.0

func (r ACHTransferListParamsStatus) URLQuery() (v url.Values)

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

type ACHTransferListParamsStatusIn added in v0.207.0

type ACHTransferListParamsStatusIn string
const (
	ACHTransferListParamsStatusInPendingApproval                    ACHTransferListParamsStatusIn = "pending_approval"
	ACHTransferListParamsStatusInPendingTransferSessionConfirmation ACHTransferListParamsStatusIn = "pending_transfer_session_confirmation"
	ACHTransferListParamsStatusInCanceled                           ACHTransferListParamsStatusIn = "canceled"
	ACHTransferListParamsStatusInPendingSubmission                  ACHTransferListParamsStatusIn = "pending_submission"
	ACHTransferListParamsStatusInPendingReviewing                   ACHTransferListParamsStatusIn = "pending_reviewing"
	ACHTransferListParamsStatusInRequiresAttention                  ACHTransferListParamsStatusIn = "requires_attention"
	ACHTransferListParamsStatusInRejected                           ACHTransferListParamsStatusIn = "rejected"
	ACHTransferListParamsStatusInSubmitted                          ACHTransferListParamsStatusIn = "submitted"
	ACHTransferListParamsStatusInReturned                           ACHTransferListParamsStatusIn = "returned"
)

func (ACHTransferListParamsStatusIn) IsKnown added in v0.207.0

func (r ACHTransferListParamsStatusIn) IsKnown() bool

type ACHTransferNetwork

type ACHTransferNetwork string

The transfer's network.

const (
	ACHTransferNetworkACH ACHTransferNetwork = "ach"
)

func (ACHTransferNetwork) IsKnown

func (r ACHTransferNetwork) IsKnown() bool

type ACHTransferNewParams

type ACHTransferNewParams struct {
	// The Increase identifier for the account that will send the transfer.
	AccountID param.Field[string] `json:"account_id,required"`
	// The transfer amount in USD cents. A positive amount originates a credit transfer
	// pushing funds to the receiving account. A negative amount originates a debit
	// transfer pulling funds from the receiving account.
	Amount param.Field[int64] `json:"amount,required"`
	// A description you choose to give the transfer. This will be saved with the
	// transfer details, displayed in the dashboard, and returned by the API. If
	// `individual_name` and `company_name` are not explicitly set by this API, the
	// `statement_descriptor` will be sent in those fields to the receiving bank to
	// help the customer recognize the transfer. You are highly encouraged to pass
	// `individual_name` and `company_name` instead of relying on this fallback.
	StatementDescriptor param.Field[string] `json:"statement_descriptor,required"`
	// The account number for the destination account.
	AccountNumber param.Field[string] `json:"account_number"`
	// Additional information that will be sent to the recipient. This is included in
	// the transfer data sent to the receiving bank.
	Addenda param.Field[ACHTransferNewParamsAddenda] `json:"addenda"`
	// The description of the date of the transfer, usually in the format `YYMMDD`.
	// This is included in the transfer data sent to the receiving bank.
	CompanyDescriptiveDate param.Field[string] `json:"company_descriptive_date"`
	// The data you choose to associate with the transfer. This is included in the
	// transfer data sent to the receiving bank.
	CompanyDiscretionaryData param.Field[string] `json:"company_discretionary_data"`
	// A description of the transfer. This is included in the transfer data sent to the
	// receiving bank.
	CompanyEntryDescription param.Field[string] `json:"company_entry_description"`
	// The name by which the recipient knows you. This is included in the transfer data
	// sent to the receiving bank.
	CompanyName param.Field[string] `json:"company_name"`
	// The type of entity that owns the account to which the ACH Transfer is being
	// sent.
	DestinationAccountHolder param.Field[ACHTransferNewParamsDestinationAccountHolder] `json:"destination_account_holder"`
	// The ID of an External Account to initiate a transfer to. If this parameter is
	// provided, `account_number`, `routing_number`, and `funding` must be absent.
	ExternalAccountID param.Field[string] `json:"external_account_id"`
	// The type of the account to which the transfer will be sent.
	Funding param.Field[ACHTransferNewParamsFunding] `json:"funding"`
	// Your identifier for the transfer recipient.
	IndividualID param.Field[string] `json:"individual_id"`
	// The name of the transfer recipient. This value is informational and not verified
	// by the recipient's bank.
	IndividualName param.Field[string] `json:"individual_name"`
	// Configuration for how the effective date of the transfer will be set. This
	// determines same-day vs future-dated settlement timing. If not set, defaults to a
	// `settlement_schedule` of `same_day`. If set, exactly one of the child attributes
	// must be set.
	PreferredEffectiveDate param.Field[ACHTransferNewParamsPreferredEffectiveDate] `json:"preferred_effective_date"`
	// Whether the transfer requires explicit approval via the dashboard or API.
	RequireApproval param.Field[bool] `json:"require_approval"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// destination account.
	RoutingNumber param.Field[string] `json:"routing_number"`
	// The Standard Entry Class (SEC) code to use for the transfer.
	StandardEntryClassCode param.Field[ACHTransferNewParamsStandardEntryClassCode] `json:"standard_entry_class_code"`
	// The timing of the transaction.
	TransactionTiming param.Field[ACHTransferNewParamsTransactionTiming] `json:"transaction_timing"`
}

func (ACHTransferNewParams) MarshalJSON

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

type ACHTransferNewParamsAddenda

type ACHTransferNewParamsAddenda struct {
	// The type of addenda to pass with the transfer.
	Category param.Field[ACHTransferNewParamsAddendaCategory] `json:"category,required"`
	// Unstructured `payment_related_information` passed through with the transfer.
	Freeform param.Field[ACHTransferNewParamsAddendaFreeform] `json:"freeform"`
	// Structured ASC X12 820 remittance advice records. Please reach out to
	// [support@increase.com](mailto:support@increase.com) for more information.
	PaymentOrderRemittanceAdvice param.Field[ACHTransferNewParamsAddendaPaymentOrderRemittanceAdvice] `json:"payment_order_remittance_advice"`
}

Additional information that will be sent to the recipient. This is included in the transfer data sent to the receiving bank.

func (ACHTransferNewParamsAddenda) MarshalJSON

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

type ACHTransferNewParamsAddendaCategory

type ACHTransferNewParamsAddendaCategory string

The type of addenda to pass with the transfer.

const (
	ACHTransferNewParamsAddendaCategoryFreeform                     ACHTransferNewParamsAddendaCategory = "freeform"
	ACHTransferNewParamsAddendaCategoryPaymentOrderRemittanceAdvice ACHTransferNewParamsAddendaCategory = "payment_order_remittance_advice"
)

func (ACHTransferNewParamsAddendaCategory) IsKnown

type ACHTransferNewParamsAddendaFreeform

type ACHTransferNewParamsAddendaFreeform struct {
	// Each entry represents an addendum sent with the transfer. In general, you should
	// send at most one addendum–most ACH recipients cannot access beyond the first 80
	// characters sent. Please reach out to
	// [support@increase.com](mailto:support@increase.com) to send 2 or more addenda to
	// a recipient expecting a specific addendum format.
	Entries param.Field[[]ACHTransferNewParamsAddendaFreeformEntry] `json:"entries,required"`
}

Unstructured `payment_related_information` passed through with the transfer.

func (ACHTransferNewParamsAddendaFreeform) MarshalJSON

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

type ACHTransferNewParamsAddendaFreeformEntry

type ACHTransferNewParamsAddendaFreeformEntry struct {
	// The payment related information passed in the addendum.
	PaymentRelatedInformation param.Field[string] `json:"payment_related_information,required"`
}

func (ACHTransferNewParamsAddendaFreeformEntry) MarshalJSON

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

type ACHTransferNewParamsAddendaPaymentOrderRemittanceAdvice

type ACHTransferNewParamsAddendaPaymentOrderRemittanceAdvice struct {
	// ASC X12 RMR records for this specific transfer.
	Invoices param.Field[[]ACHTransferNewParamsAddendaPaymentOrderRemittanceAdviceInvoice] `json:"invoices,required"`
}

Structured ASC X12 820 remittance advice records. Please reach out to [support@increase.com](mailto:support@increase.com) for more information.

func (ACHTransferNewParamsAddendaPaymentOrderRemittanceAdvice) MarshalJSON

type ACHTransferNewParamsAddendaPaymentOrderRemittanceAdviceInvoice

type ACHTransferNewParamsAddendaPaymentOrderRemittanceAdviceInvoice struct {
	// The invoice number for this reference, determined in advance with the receiver.
	InvoiceNumber param.Field[string] `json:"invoice_number,required"`
	// The amount that was paid for this invoice in the minor unit of its currency. For
	// dollars, for example, this is cents.
	PaidAmount param.Field[int64] `json:"paid_amount,required"`
}

func (ACHTransferNewParamsAddendaPaymentOrderRemittanceAdviceInvoice) MarshalJSON

type ACHTransferNewParamsDestinationAccountHolder

type ACHTransferNewParamsDestinationAccountHolder string

The type of entity that owns the account to which the ACH Transfer is being sent.

const (
	ACHTransferNewParamsDestinationAccountHolderBusiness   ACHTransferNewParamsDestinationAccountHolder = "business"
	ACHTransferNewParamsDestinationAccountHolderIndividual ACHTransferNewParamsDestinationAccountHolder = "individual"
	ACHTransferNewParamsDestinationAccountHolderUnknown    ACHTransferNewParamsDestinationAccountHolder = "unknown"
)

func (ACHTransferNewParamsDestinationAccountHolder) IsKnown

type ACHTransferNewParamsFunding

type ACHTransferNewParamsFunding string

The type of the account to which the transfer will be sent.

const (
	ACHTransferNewParamsFundingChecking ACHTransferNewParamsFunding = "checking"
	ACHTransferNewParamsFundingSavings  ACHTransferNewParamsFunding = "savings"
)

func (ACHTransferNewParamsFunding) IsKnown

func (r ACHTransferNewParamsFunding) IsKnown() bool

type ACHTransferNewParamsPreferredEffectiveDate

type ACHTransferNewParamsPreferredEffectiveDate struct {
	// A specific date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format to
	// use as the effective date when submitting this transfer.
	Date param.Field[time.Time] `json:"date" format:"date"`
	// A schedule by which Increase will choose an effective date for the transfer.
	SettlementSchedule param.Field[ACHTransferNewParamsPreferredEffectiveDateSettlementSchedule] `json:"settlement_schedule"`
}

Configuration for how the effective date of the transfer will be set. This determines same-day vs future-dated settlement timing. If not set, defaults to a `settlement_schedule` of `same_day`. If set, exactly one of the child attributes must be set.

func (ACHTransferNewParamsPreferredEffectiveDate) MarshalJSON

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

type ACHTransferNewParamsPreferredEffectiveDateSettlementSchedule

type ACHTransferNewParamsPreferredEffectiveDateSettlementSchedule string

A schedule by which Increase will choose an effective date for the transfer.

const (
	ACHTransferNewParamsPreferredEffectiveDateSettlementScheduleSameDay     ACHTransferNewParamsPreferredEffectiveDateSettlementSchedule = "same_day"
	ACHTransferNewParamsPreferredEffectiveDateSettlementScheduleFutureDated ACHTransferNewParamsPreferredEffectiveDateSettlementSchedule = "future_dated"
)

func (ACHTransferNewParamsPreferredEffectiveDateSettlementSchedule) IsKnown

type ACHTransferNewParamsStandardEntryClassCode

type ACHTransferNewParamsStandardEntryClassCode string

The Standard Entry Class (SEC) code to use for the transfer.

const (
	ACHTransferNewParamsStandardEntryClassCodeCorporateCreditOrDebit        ACHTransferNewParamsStandardEntryClassCode = "corporate_credit_or_debit"
	ACHTransferNewParamsStandardEntryClassCodeCorporateTradeExchange        ACHTransferNewParamsStandardEntryClassCode = "corporate_trade_exchange"
	ACHTransferNewParamsStandardEntryClassCodePrearrangedPaymentsAndDeposit ACHTransferNewParamsStandardEntryClassCode = "prearranged_payments_and_deposit"
	ACHTransferNewParamsStandardEntryClassCodeInternetInitiated             ACHTransferNewParamsStandardEntryClassCode = "internet_initiated"
)

func (ACHTransferNewParamsStandardEntryClassCode) IsKnown

type ACHTransferNewParamsTransactionTiming added in v0.124.0

type ACHTransferNewParamsTransactionTiming string

The timing of the transaction.

const (
	ACHTransferNewParamsTransactionTimingSynchronous  ACHTransferNewParamsTransactionTiming = "synchronous"
	ACHTransferNewParamsTransactionTimingAsynchronous ACHTransferNewParamsTransactionTiming = "asynchronous"
)

func (ACHTransferNewParamsTransactionTiming) IsKnown added in v0.124.0

type ACHTransferNotificationsOfChange

type ACHTransferNotificationsOfChange struct {
	// The required type of change that is being signaled by the receiving financial
	// institution.
	ChangeCode ACHTransferNotificationsOfChangeChangeCode `json:"change_code,required"`
	// The corrected data that should be used in future ACHs to this account. This may
	// contain the suggested new account number or routing number. When the
	// `change_code` is `incorrect_transaction_code`, this field contains an integer.
	// Numbers starting with a 2 encourage changing the `funding` parameter to
	// checking; numbers starting with a 3 encourage changing to savings.
	CorrectedData string `json:"corrected_data,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the notification occurred.
	CreatedAt time.Time                            `json:"created_at,required" format:"date-time"`
	JSON      achTransferNotificationsOfChangeJSON `json:"-"`
}

func (*ACHTransferNotificationsOfChange) UnmarshalJSON

func (r *ACHTransferNotificationsOfChange) UnmarshalJSON(data []byte) (err error)

type ACHTransferNotificationsOfChangeChangeCode

type ACHTransferNotificationsOfChangeChangeCode string

The required type of change that is being signaled by the receiving financial institution.

const (
	ACHTransferNotificationsOfChangeChangeCodeIncorrectAccountNumber                                                      ACHTransferNotificationsOfChangeChangeCode = "incorrect_account_number"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectRoutingNumber                                                      ACHTransferNotificationsOfChangeChangeCode = "incorrect_routing_number"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectRoutingNumberAndAccountNumber                                      ACHTransferNotificationsOfChangeChangeCode = "incorrect_routing_number_and_account_number"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectTransactionCode                                                    ACHTransferNotificationsOfChangeChangeCode = "incorrect_transaction_code"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectAccountNumberAndTransactionCode                                    ACHTransferNotificationsOfChangeChangeCode = "incorrect_account_number_and_transaction_code"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectRoutingNumberAccountNumberAndTransactionCode                       ACHTransferNotificationsOfChangeChangeCode = "incorrect_routing_number_account_number_and_transaction_code"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectReceivingDepositoryFinancialInstitutionIdentification              ACHTransferNotificationsOfChangeChangeCode = "incorrect_receiving_depository_financial_institution_identification"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectIndividualIdentificationNumber                                     ACHTransferNotificationsOfChangeChangeCode = "incorrect_individual_identification_number"
	ACHTransferNotificationsOfChangeChangeCodeAddendaFormatError                                                          ACHTransferNotificationsOfChangeChangeCode = "addenda_format_error"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectStandardEntryClassCodeForOutboundInternationalPayment              ACHTransferNotificationsOfChangeChangeCode = "incorrect_standard_entry_class_code_for_outbound_international_payment"
	ACHTransferNotificationsOfChangeChangeCodeMisroutedNotificationOfChange                                               ACHTransferNotificationsOfChangeChangeCode = "misrouted_notification_of_change"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectTraceNumber                                                        ACHTransferNotificationsOfChangeChangeCode = "incorrect_trace_number"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectCompanyIdentificationNumber                                        ACHTransferNotificationsOfChangeChangeCode = "incorrect_company_identification_number"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectIdentificationNumber                                               ACHTransferNotificationsOfChangeChangeCode = "incorrect_identification_number"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectlyFormattedCorrectedData                                           ACHTransferNotificationsOfChangeChangeCode = "incorrectly_formatted_corrected_data"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectDiscretionaryData                                                  ACHTransferNotificationsOfChangeChangeCode = "incorrect_discretionary_data"
	ACHTransferNotificationsOfChangeChangeCodeRoutingNumberNotFromOriginalEntryDetailRecord                               ACHTransferNotificationsOfChangeChangeCode = "routing_number_not_from_original_entry_detail_record"
	ACHTransferNotificationsOfChangeChangeCodeDepositoryFinancialInstitutionAccountNumberNotFromOriginalEntryDetailRecord ACHTransferNotificationsOfChangeChangeCode = "depository_financial_institution_account_number_not_from_original_entry_detail_record"
	ACHTransferNotificationsOfChangeChangeCodeIncorrectTransactionCodeByOriginatingDepositoryFinancialInstitution         ACHTransferNotificationsOfChangeChangeCode = "incorrect_transaction_code_by_originating_depository_financial_institution"
)

func (ACHTransferNotificationsOfChangeChangeCode) IsKnown

type ACHTransferPreferredEffectiveDate

type ACHTransferPreferredEffectiveDate struct {
	// A specific date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format to
	// use as the effective date when submitting this transfer.
	Date time.Time `json:"date,required,nullable" format:"date"`
	// A schedule by which Increase will choose an effective date for the transfer.
	SettlementSchedule ACHTransferPreferredEffectiveDateSettlementSchedule `json:"settlement_schedule,required,nullable"`
	JSON               achTransferPreferredEffectiveDateJSON               `json:"-"`
}

Configuration for how the effective date of the transfer will be set. This determines same-day vs future-dated settlement timing. If not set, defaults to a `settlement_schedule` of `same_day`. If set, exactly one of the child attributes must be set.

func (*ACHTransferPreferredEffectiveDate) UnmarshalJSON

func (r *ACHTransferPreferredEffectiveDate) UnmarshalJSON(data []byte) (err error)

type ACHTransferPreferredEffectiveDateSettlementSchedule

type ACHTransferPreferredEffectiveDateSettlementSchedule string

A schedule by which Increase will choose an effective date for the transfer.

const (
	ACHTransferPreferredEffectiveDateSettlementScheduleSameDay     ACHTransferPreferredEffectiveDateSettlementSchedule = "same_day"
	ACHTransferPreferredEffectiveDateSettlementScheduleFutureDated ACHTransferPreferredEffectiveDateSettlementSchedule = "future_dated"
)

func (ACHTransferPreferredEffectiveDateSettlementSchedule) IsKnown

type ACHTransferReturn

type ACHTransferReturn struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The three character ACH return code, in the range R01 to R85.
	RawReturnReasonCode string `json:"raw_return_reason_code,required"`
	// Why the ACH Transfer was returned. This reason code is sent by the receiving
	// bank back to Increase.
	ReturnReasonCode ACHTransferReturnReturnReasonCode `json:"return_reason_code,required"`
	// A 15 digit number that was generated by the bank that initiated the return. The
	// trace number of the return is different than that of the original transfer. ACH
	// trace numbers are not unique, but along with the amount and date this number can
	// be used to identify the ACH return at the bank that initiated it.
	TraceNumber string `json:"trace_number,required"`
	// The identifier of the Transaction associated with this return.
	TransactionID string `json:"transaction_id,required"`
	// The identifier of the ACH Transfer associated with this return.
	TransferID string                `json:"transfer_id,required"`
	JSON       achTransferReturnJSON `json:"-"`
}

If your transfer is returned, this will contain details of the return.

func (*ACHTransferReturn) UnmarshalJSON

func (r *ACHTransferReturn) UnmarshalJSON(data []byte) (err error)

type ACHTransferReturnReturnReasonCode

type ACHTransferReturnReturnReasonCode string

Why the ACH Transfer was returned. This reason code is sent by the receiving bank back to Increase.

const (
	ACHTransferReturnReturnReasonCodeInsufficientFund                                            ACHTransferReturnReturnReasonCode = "insufficient_fund"
	ACHTransferReturnReturnReasonCodeNoAccount                                                   ACHTransferReturnReturnReasonCode = "no_account"
	ACHTransferReturnReturnReasonCodeAccountClosed                                               ACHTransferReturnReturnReasonCode = "account_closed"
	ACHTransferReturnReturnReasonCodeInvalidAccountNumberStructure                               ACHTransferReturnReturnReasonCode = "invalid_account_number_structure"
	ACHTransferReturnReturnReasonCodeAccountFrozenEntryReturnedPerOfacInstruction                ACHTransferReturnReturnReasonCode = "account_frozen_entry_returned_per_ofac_instruction"
	ACHTransferReturnReturnReasonCodeCreditEntryRefusedByReceiver                                ACHTransferReturnReturnReasonCode = "credit_entry_refused_by_receiver"
	ACHTransferReturnReturnReasonCodeUnauthorizedDebitToConsumerAccountUsingCorporateSecCode     ACHTransferReturnReturnReasonCode = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	ACHTransferReturnReturnReasonCodeCorporateCustomerAdvisedNotAuthorized                       ACHTransferReturnReturnReasonCode = "corporate_customer_advised_not_authorized"
	ACHTransferReturnReturnReasonCodePaymentStopped                                              ACHTransferReturnReturnReasonCode = "payment_stopped"
	ACHTransferReturnReturnReasonCodeNonTransactionAccount                                       ACHTransferReturnReturnReasonCode = "non_transaction_account"
	ACHTransferReturnReturnReasonCodeUncollectedFunds                                            ACHTransferReturnReturnReasonCode = "uncollected_funds"
	ACHTransferReturnReturnReasonCodeRoutingNumberCheckDigitError                                ACHTransferReturnReturnReasonCode = "routing_number_check_digit_error"
	ACHTransferReturnReturnReasonCodeCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   ACHTransferReturnReturnReasonCode = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	ACHTransferReturnReturnReasonCodeAmountFieldError                                            ACHTransferReturnReturnReasonCode = "amount_field_error"
	ACHTransferReturnReturnReasonCodeAuthorizationRevokedByCustomer                              ACHTransferReturnReturnReasonCode = "authorization_revoked_by_customer"
	ACHTransferReturnReturnReasonCodeInvalidACHRoutingNumber                                     ACHTransferReturnReturnReasonCode = "invalid_ach_routing_number"
	ACHTransferReturnReturnReasonCodeFileRecordEditCriteria                                      ACHTransferReturnReturnReasonCode = "file_record_edit_criteria"
	ACHTransferReturnReturnReasonCodeEnrInvalidIndividualName                                    ACHTransferReturnReturnReasonCode = "enr_invalid_individual_name"
	ACHTransferReturnReturnReasonCodeReturnedPerOdfiRequest                                      ACHTransferReturnReturnReasonCode = "returned_per_odfi_request"
	ACHTransferReturnReturnReasonCodeLimitedParticipationDfi                                     ACHTransferReturnReturnReasonCode = "limited_participation_dfi"
	ACHTransferReturnReturnReasonCodeIncorrectlyCodedOutboundInternationalPayment                ACHTransferReturnReturnReasonCode = "incorrectly_coded_outbound_international_payment"
	ACHTransferReturnReturnReasonCodeAccountSoldToAnotherDfi                                     ACHTransferReturnReturnReasonCode = "account_sold_to_another_dfi"
	ACHTransferReturnReturnReasonCodeAddendaError                                                ACHTransferReturnReturnReasonCode = "addenda_error"
	ACHTransferReturnReturnReasonCodeBeneficiaryOrAccountHolderDeceased                          ACHTransferReturnReturnReasonCode = "beneficiary_or_account_holder_deceased"
	ACHTransferReturnReturnReasonCodeCustomerAdvisedNotWithinAuthorizationTerms                  ACHTransferReturnReturnReasonCode = "customer_advised_not_within_authorization_terms"
	ACHTransferReturnReturnReasonCodeCorrectedReturn                                             ACHTransferReturnReturnReasonCode = "corrected_return"
	ACHTransferReturnReturnReasonCodeDuplicateEntry                                              ACHTransferReturnReturnReasonCode = "duplicate_entry"
	ACHTransferReturnReturnReasonCodeDuplicateReturn                                             ACHTransferReturnReturnReasonCode = "duplicate_return"
	ACHTransferReturnReturnReasonCodeEnrDuplicateEnrollment                                      ACHTransferReturnReturnReasonCode = "enr_duplicate_enrollment"
	ACHTransferReturnReturnReasonCodeEnrInvalidDfiAccountNumber                                  ACHTransferReturnReturnReasonCode = "enr_invalid_dfi_account_number"
	ACHTransferReturnReturnReasonCodeEnrInvalidIndividualIDNumber                                ACHTransferReturnReturnReasonCode = "enr_invalid_individual_id_number"
	ACHTransferReturnReturnReasonCodeEnrInvalidRepresentativePayeeIndicator                      ACHTransferReturnReturnReasonCode = "enr_invalid_representative_payee_indicator"
	ACHTransferReturnReturnReasonCodeEnrInvalidTransactionCode                                   ACHTransferReturnReturnReasonCode = "enr_invalid_transaction_code"
	ACHTransferReturnReturnReasonCodeEnrReturnOfEnrEntry                                         ACHTransferReturnReturnReasonCode = "enr_return_of_enr_entry"
	ACHTransferReturnReturnReasonCodeEnrRoutingNumberCheckDigitError                             ACHTransferReturnReturnReasonCode = "enr_routing_number_check_digit_error"
	ACHTransferReturnReturnReasonCodeEntryNotProcessedByGateway                                  ACHTransferReturnReturnReasonCode = "entry_not_processed_by_gateway"
	ACHTransferReturnReturnReasonCodeFieldError                                                  ACHTransferReturnReturnReasonCode = "field_error"
	ACHTransferReturnReturnReasonCodeForeignReceivingDfiUnableToSettle                           ACHTransferReturnReturnReasonCode = "foreign_receiving_dfi_unable_to_settle"
	ACHTransferReturnReturnReasonCodeIatEntryCodingError                                         ACHTransferReturnReturnReasonCode = "iat_entry_coding_error"
	ACHTransferReturnReturnReasonCodeImproperEffectiveEntryDate                                  ACHTransferReturnReturnReasonCode = "improper_effective_entry_date"
	ACHTransferReturnReturnReasonCodeImproperSourceDocumentSourceDocumentPresented               ACHTransferReturnReturnReasonCode = "improper_source_document_source_document_presented"
	ACHTransferReturnReturnReasonCodeInvalidCompanyID                                            ACHTransferReturnReturnReasonCode = "invalid_company_id"
	ACHTransferReturnReturnReasonCodeInvalidForeignReceivingDfiIdentification                    ACHTransferReturnReturnReasonCode = "invalid_foreign_receiving_dfi_identification"
	ACHTransferReturnReturnReasonCodeInvalidIndividualIDNumber                                   ACHTransferReturnReturnReasonCode = "invalid_individual_id_number"
	ACHTransferReturnReturnReasonCodeItemAndRckEntryPresentedForPayment                          ACHTransferReturnReturnReasonCode = "item_and_rck_entry_presented_for_payment"
	ACHTransferReturnReturnReasonCodeItemRelatedToRckEntryIsIneligible                           ACHTransferReturnReturnReasonCode = "item_related_to_rck_entry_is_ineligible"
	ACHTransferReturnReturnReasonCodeMandatoryFieldError                                         ACHTransferReturnReturnReasonCode = "mandatory_field_error"
	ACHTransferReturnReturnReasonCodeMisroutedDishonoredReturn                                   ACHTransferReturnReturnReasonCode = "misrouted_dishonored_return"
	ACHTransferReturnReturnReasonCodeMisroutedReturn                                             ACHTransferReturnReturnReasonCode = "misrouted_return"
	ACHTransferReturnReturnReasonCodeNoErrorsFound                                               ACHTransferReturnReturnReasonCode = "no_errors_found"
	ACHTransferReturnReturnReasonCodeNonAcceptanceOfR62DishonoredReturn                          ACHTransferReturnReturnReasonCode = "non_acceptance_of_r62_dishonored_return"
	ACHTransferReturnReturnReasonCodeNonParticipantInIatProgram                                  ACHTransferReturnReturnReasonCode = "non_participant_in_iat_program"
	ACHTransferReturnReturnReasonCodePermissibleReturnEntry                                      ACHTransferReturnReturnReasonCode = "permissible_return_entry"
	ACHTransferReturnReturnReasonCodePermissibleReturnEntryNotAccepted                           ACHTransferReturnReturnReasonCode = "permissible_return_entry_not_accepted"
	ACHTransferReturnReturnReasonCodeRdfiNonSettlement                                           ACHTransferReturnReturnReasonCode = "rdfi_non_settlement"
	ACHTransferReturnReturnReasonCodeRdfiParticipantInCheckTruncationProgram                     ACHTransferReturnReturnReasonCode = "rdfi_participant_in_check_truncation_program"
	ACHTransferReturnReturnReasonCodeRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity ACHTransferReturnReturnReasonCode = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	ACHTransferReturnReturnReasonCodeReturnNotADuplicate                                         ACHTransferReturnReturnReasonCode = "return_not_a_duplicate"
	ACHTransferReturnReturnReasonCodeReturnOfErroneousOrReversingDebit                           ACHTransferReturnReturnReasonCode = "return_of_erroneous_or_reversing_debit"
	ACHTransferReturnReturnReasonCodeReturnOfImproperCreditEntry                                 ACHTransferReturnReturnReasonCode = "return_of_improper_credit_entry"
	ACHTransferReturnReturnReasonCodeReturnOfImproperDebitEntry                                  ACHTransferReturnReturnReasonCode = "return_of_improper_debit_entry"
	ACHTransferReturnReturnReasonCodeReturnOfXckEntry                                            ACHTransferReturnReturnReasonCode = "return_of_xck_entry"
	ACHTransferReturnReturnReasonCodeSourceDocumentPresentedForPayment                           ACHTransferReturnReturnReasonCode = "source_document_presented_for_payment"
	ACHTransferReturnReturnReasonCodeStateLawAffectingRckAcceptance                              ACHTransferReturnReturnReasonCode = "state_law_affecting_rck_acceptance"
	ACHTransferReturnReturnReasonCodeStopPaymentOnItemRelatedToRckEntry                          ACHTransferReturnReturnReasonCode = "stop_payment_on_item_related_to_rck_entry"
	ACHTransferReturnReturnReasonCodeStopPaymentOnSourceDocument                                 ACHTransferReturnReturnReasonCode = "stop_payment_on_source_document"
	ACHTransferReturnReturnReasonCodeTimelyOriginalReturn                                        ACHTransferReturnReturnReasonCode = "timely_original_return"
	ACHTransferReturnReturnReasonCodeTraceNumberError                                            ACHTransferReturnReturnReasonCode = "trace_number_error"
	ACHTransferReturnReturnReasonCodeUntimelyDishonoredReturn                                    ACHTransferReturnReturnReasonCode = "untimely_dishonored_return"
	ACHTransferReturnReturnReasonCodeUntimelyReturn                                              ACHTransferReturnReturnReasonCode = "untimely_return"
)

func (ACHTransferReturnReturnReasonCode) IsKnown

type ACHTransferService

type ACHTransferService struct {
	Options []option.RequestOption
}

ACHTransferService contains methods and other services that help with interacting with the increase 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 NewACHTransferService method instead.

func NewACHTransferService

func NewACHTransferService(opts ...option.RequestOption) (r *ACHTransferService)

NewACHTransferService 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 (*ACHTransferService) Approve

func (r *ACHTransferService) Approve(ctx context.Context, achTransferID string, opts ...option.RequestOption) (res *ACHTransfer, err error)

Approves an ACH Transfer in a pending_approval state.

func (*ACHTransferService) Cancel

func (r *ACHTransferService) Cancel(ctx context.Context, achTransferID string, opts ...option.RequestOption) (res *ACHTransfer, err error)

Cancels an ACH Transfer in a pending_approval state.

func (*ACHTransferService) Get

func (r *ACHTransferService) Get(ctx context.Context, achTransferID string, opts ...option.RequestOption) (res *ACHTransfer, err error)

Retrieve an ACH Transfer

func (*ACHTransferService) List

List ACH Transfers

func (*ACHTransferService) ListAutoPaging

List ACH Transfers

func (*ACHTransferService) New

Create an ACH Transfer

type ACHTransferSettlement added in v0.128.0

type ACHTransferSettlement struct {
	// When the funds for this transfer have settled at the destination bank at the
	// Federal Reserve.
	SettledAt time.Time                 `json:"settled_at,required" format:"date-time"`
	JSON      achTransferSettlementJSON `json:"-"`
}

A subhash containing information about when and how the transfer settled at the Federal Reserve.

func (*ACHTransferSettlement) UnmarshalJSON added in v0.128.0

func (r *ACHTransferSettlement) UnmarshalJSON(data []byte) (err error)

type ACHTransferStandardEntryClassCode

type ACHTransferStandardEntryClassCode string

The Standard Entry Class (SEC) code to use for the transfer.

const (
	ACHTransferStandardEntryClassCodeCorporateCreditOrDebit        ACHTransferStandardEntryClassCode = "corporate_credit_or_debit"
	ACHTransferStandardEntryClassCodeCorporateTradeExchange        ACHTransferStandardEntryClassCode = "corporate_trade_exchange"
	ACHTransferStandardEntryClassCodePrearrangedPaymentsAndDeposit ACHTransferStandardEntryClassCode = "prearranged_payments_and_deposit"
	ACHTransferStandardEntryClassCodeInternetInitiated             ACHTransferStandardEntryClassCode = "internet_initiated"
)

func (ACHTransferStandardEntryClassCode) IsKnown

type ACHTransferStatus

type ACHTransferStatus string

The lifecycle status of the transfer.

const (
	ACHTransferStatusPendingApproval                    ACHTransferStatus = "pending_approval"
	ACHTransferStatusPendingTransferSessionConfirmation ACHTransferStatus = "pending_transfer_session_confirmation"
	ACHTransferStatusCanceled                           ACHTransferStatus = "canceled"
	ACHTransferStatusPendingSubmission                  ACHTransferStatus = "pending_submission"
	ACHTransferStatusPendingReviewing                   ACHTransferStatus = "pending_reviewing"
	ACHTransferStatusRequiresAttention                  ACHTransferStatus = "requires_attention"
	ACHTransferStatusRejected                           ACHTransferStatus = "rejected"
	ACHTransferStatusSubmitted                          ACHTransferStatus = "submitted"
	ACHTransferStatusReturned                           ACHTransferStatus = "returned"
)

func (ACHTransferStatus) IsKnown

func (r ACHTransferStatus) IsKnown() bool

type ACHTransferSubmission

type ACHTransferSubmission struct {
	// The ACH transfer's effective date as sent to the Federal Reserve. If a specific
	// date was configured using `preferred_effective_date`, this will match that
	// value. Otherwise, it will be the date selected (following the specified
	// settlement schedule) at the time the transfer was submitted.
	EffectiveDate time.Time `json:"effective_date,required" format:"date"`
	// When the transfer is expected to settle in the recipient's account. Credits may
	// be available sooner, at the receiving banks discretion. The FedACH schedule is
	// published
	// [here](https://www.frbservices.org/resources/resource-centers/same-day-ach/fedach-processing-schedule.html).
	ExpectedFundsSettlementAt time.Time `json:"expected_funds_settlement_at,required" format:"date-time"`
	// The settlement schedule the transfer is expected to follow. This expectation
	// takes into account the `effective_date`, `submitted_at`, and the amount of the
	// transfer.
	ExpectedSettlementSchedule ACHTransferSubmissionExpectedSettlementSchedule `json:"expected_settlement_schedule,required"`
	// When the ACH transfer was sent to FedACH.
	SubmittedAt time.Time `json:"submitted_at,required" format:"date-time"`
	// A 15 digit number recorded in the Nacha file and transmitted to the receiving
	// bank. Along with the amount, date, and originating routing number, this can be
	// used to identify the ACH transfer at the receiving bank. ACH trace numbers are
	// not unique, but are
	// [used to correlate returns](https://increase.com/documentation/ach-returns#ach-returns).
	TraceNumber string                    `json:"trace_number,required"`
	JSON        achTransferSubmissionJSON `json:"-"`
}

After the transfer is submitted to FedACH, this will contain supplemental details. Increase batches transfers and submits a file to the Federal Reserve roughly every 30 minutes. The Federal Reserve processes ACH transfers during weekdays according to their [posted schedule](https://www.frbservices.org/resources/resource-centers/same-day-ach/fedach-processing-schedule.html).

func (*ACHTransferSubmission) UnmarshalJSON

func (r *ACHTransferSubmission) UnmarshalJSON(data []byte) (err error)

type ACHTransferSubmissionExpectedSettlementSchedule

type ACHTransferSubmissionExpectedSettlementSchedule string

The settlement schedule the transfer is expected to follow. This expectation takes into account the `effective_date`, `submitted_at`, and the amount of the transfer.

const (
	ACHTransferSubmissionExpectedSettlementScheduleSameDay     ACHTransferSubmissionExpectedSettlementSchedule = "same_day"
	ACHTransferSubmissionExpectedSettlementScheduleFutureDated ACHTransferSubmissionExpectedSettlementSchedule = "future_dated"
)

func (ACHTransferSubmissionExpectedSettlementSchedule) IsKnown

type ACHTransferType

type ACHTransferType string

A constant representing the object's type. For this resource it will always be `ach_transfer`.

const (
	ACHTransferTypeACHTransfer ACHTransferType = "ach_transfer"
)

func (ACHTransferType) IsKnown

func (r ACHTransferType) IsKnown() bool

type Account

type Account struct {
	// The Account identifier.
	ID string `json:"id,required"`
	// The bank the Account is with.
	Bank AccountBank `json:"bank,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Account
	// was closed.
	ClosedAt time.Time `json:"closed_at,required,nullable" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Account
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Account
	// currency.
	Currency AccountCurrency `json:"currency,required"`
	// The identifier for the Entity the Account belongs to.
	EntityID string `json:"entity_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The identifier of an Entity that, while not owning the Account, is associated
	// with its activity.
	InformationalEntityID string `json:"informational_entity_id,required,nullable"`
	// The interest accrued but not yet paid, expressed as a string containing a
	// floating-point value.
	InterestAccrued string `json:"interest_accrued,required"`
	// The latest [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date on which
	// interest was accrued.
	InterestAccruedAt time.Time `json:"interest_accrued_at,required,nullable" format:"date"`
	// The Interest Rate currently being earned on the account, as a string containing
	// a decimal number. For example, a 1% interest rate would be represented as
	// "0.01".
	InterestRate string `json:"interest_rate,required"`
	// The name you choose for the Account.
	Name string `json:"name,required"`
	// The identifier of the Program determining the compliance and commercial terms of
	// this Account.
	ProgramID string `json:"program_id,required"`
	// The status of the Account.
	Status AccountStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `account`.
	Type AccountType `json:"type,required"`
	JSON accountJSON `json:"-"`
}

Accounts are your bank accounts with Increase. They store money, receive transfers, and send payments. They earn interest and have depository insurance.

func (*Account) UnmarshalJSON

func (r *Account) UnmarshalJSON(data []byte) (err error)

type AccountBalanceParams

type AccountBalanceParams struct {
	// The moment to query the balance at. If not set, returns the current balances.
	AtTime param.Field[time.Time] `query:"at_time" format:"date-time"`
}

func (AccountBalanceParams) URLQuery

func (r AccountBalanceParams) URLQuery() (v url.Values)

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

type AccountBank

type AccountBank string

The bank the Account is with.

const (
	AccountBankCoreBank          AccountBank = "core_bank"
	AccountBankFirstInternetBank AccountBank = "first_internet_bank"
	AccountBankGrasshopperBank   AccountBank = "grasshopper_bank"
)

func (AccountBank) IsKnown

func (r AccountBank) IsKnown() bool

type AccountCurrency

type AccountCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Account currency.

const (
	AccountCurrencyCad AccountCurrency = "CAD"
	AccountCurrencyChf AccountCurrency = "CHF"
	AccountCurrencyEur AccountCurrency = "EUR"
	AccountCurrencyGbp AccountCurrency = "GBP"
	AccountCurrencyJpy AccountCurrency = "JPY"
	AccountCurrencyUsd AccountCurrency = "USD"
)

func (AccountCurrency) IsKnown

func (r AccountCurrency) IsKnown() bool

type AccountListParams

type AccountListParams struct {
	CreatedAt param.Field[AccountListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter Accounts for those belonging to the specified Entity.
	EntityID param.Field[string] `query:"entity_id"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Filter Accounts for those belonging to the specified Entity as informational.
	InformationalEntityID param.Field[string] `query:"informational_entity_id"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter Accounts for those in a specific Program.
	ProgramID param.Field[string]                  `query:"program_id"`
	Status    param.Field[AccountListParamsStatus] `query:"status"`
}

func (AccountListParams) URLQuery

func (r AccountListParams) URLQuery() (v url.Values)

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

type AccountListParamsCreatedAt

type AccountListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (AccountListParamsCreatedAt) URLQuery

func (r AccountListParamsCreatedAt) URLQuery() (v url.Values)

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

type AccountListParamsStatus

type AccountListParamsStatus struct {
	// Filter Accounts for those with the specified status. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]AccountListParamsStatusIn] `query:"in"`
}

func (AccountListParamsStatus) URLQuery added in v0.190.0

func (r AccountListParamsStatus) URLQuery() (v url.Values)

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

type AccountListParamsStatusIn added in v0.190.0

type AccountListParamsStatusIn string
const (
	AccountListParamsStatusInClosed AccountListParamsStatusIn = "closed"
	AccountListParamsStatusInOpen   AccountListParamsStatusIn = "open"
)

func (AccountListParamsStatusIn) IsKnown added in v0.190.0

func (r AccountListParamsStatusIn) IsKnown() bool

type AccountNewParams

type AccountNewParams struct {
	// The name you choose for the Account.
	Name param.Field[string] `json:"name,required"`
	// The identifier for the Entity that will own the Account.
	EntityID param.Field[string] `json:"entity_id"`
	// The identifier of an Entity that, while not owning the Account, is associated
	// with its activity. Its relationship to your group must be `informational`.
	InformationalEntityID param.Field[string] `json:"informational_entity_id"`
	// The identifier for the Program that this Account falls under. Required if you
	// operate more than one Program.
	ProgramID param.Field[string] `json:"program_id"`
}

func (AccountNewParams) MarshalJSON

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

type AccountNumber

type AccountNumber struct {
	// The Account Number identifier.
	ID string `json:"id,required"`
	// The identifier for the account this Account Number belongs to.
	AccountID string `json:"account_id,required"`
	// The account number.
	AccountNumber string `json:"account_number,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Account
	// Number was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// Properties related to how this Account Number handles inbound ACH transfers.
	InboundACH AccountNumberInboundACH `json:"inbound_ach,required"`
	// Properties related to how this Account Number should handle inbound check
	// withdrawals.
	InboundChecks AccountNumberInboundChecks `json:"inbound_checks,required"`
	// The name you choose for the Account Number.
	Name string `json:"name,required"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN).
	RoutingNumber string `json:"routing_number,required"`
	// This indicates if payments can be made to the Account Number.
	Status AccountNumberStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `account_number`.
	Type AccountNumberType `json:"type,required"`
	JSON accountNumberJSON `json:"-"`
}

Each account can have multiple account and routing numbers. We recommend that you use a set per vendor. This is similar to how you use different passwords for different websites. Account numbers can also be used to seamlessly reconcile inbound payments. Generating a unique account number per vendor ensures you always know the originator of an incoming payment.

func (*AccountNumber) UnmarshalJSON

func (r *AccountNumber) UnmarshalJSON(data []byte) (err error)

type AccountNumberInboundACH

type AccountNumberInboundACH struct {
	// Whether ACH debits are allowed against this Account Number. Note that they will
	// still be declined if this is `allowed` if the Account Number is not active.
	DebitStatus AccountNumberInboundACHDebitStatus `json:"debit_status,required"`
	JSON        accountNumberInboundACHJSON        `json:"-"`
}

Properties related to how this Account Number handles inbound ACH transfers.

func (*AccountNumberInboundACH) UnmarshalJSON

func (r *AccountNumberInboundACH) UnmarshalJSON(data []byte) (err error)

type AccountNumberInboundACHDebitStatus

type AccountNumberInboundACHDebitStatus string

Whether ACH debits are allowed against this Account Number. Note that they will still be declined if this is `allowed` if the Account Number is not active.

const (
	AccountNumberInboundACHDebitStatusAllowed AccountNumberInboundACHDebitStatus = "allowed"
	AccountNumberInboundACHDebitStatusBlocked AccountNumberInboundACHDebitStatus = "blocked"
)

func (AccountNumberInboundACHDebitStatus) IsKnown

type AccountNumberInboundChecks

type AccountNumberInboundChecks struct {
	// How Increase should process checks with this account number printed on them.
	Status AccountNumberInboundChecksStatus `json:"status,required"`
	JSON   accountNumberInboundChecksJSON   `json:"-"`
}

Properties related to how this Account Number should handle inbound check withdrawals.

func (*AccountNumberInboundChecks) UnmarshalJSON

func (r *AccountNumberInboundChecks) UnmarshalJSON(data []byte) (err error)

type AccountNumberInboundChecksStatus

type AccountNumberInboundChecksStatus string

How Increase should process checks with this account number printed on them.

const (
	AccountNumberInboundChecksStatusAllowed            AccountNumberInboundChecksStatus = "allowed"
	AccountNumberInboundChecksStatusCheckTransfersOnly AccountNumberInboundChecksStatus = "check_transfers_only"
)

func (AccountNumberInboundChecksStatus) IsKnown

type AccountNumberListParams

type AccountNumberListParams struct {
	// Filter Account Numbers to those belonging to the specified Account.
	AccountID      param.Field[string]                                `query:"account_id"`
	ACHDebitStatus param.Field[AccountNumberListParamsACHDebitStatus] `query:"ach_debit_status"`
	CreatedAt      param.Field[AccountNumberListParamsCreatedAt]      `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                         `query:"limit"`
	Status param.Field[AccountNumberListParamsStatus] `query:"status"`
}

func (AccountNumberListParams) URLQuery

func (r AccountNumberListParams) URLQuery() (v url.Values)

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

type AccountNumberListParamsACHDebitStatus

type AccountNumberListParamsACHDebitStatus struct {
	// The ACH Debit status to retrieve Account Numbers for. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]AccountNumberListParamsACHDebitStatusIn] `query:"in"`
}

func (AccountNumberListParamsACHDebitStatus) URLQuery added in v0.191.0

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

type AccountNumberListParamsACHDebitStatusIn added in v0.191.0

type AccountNumberListParamsACHDebitStatusIn string
const (
	AccountNumberListParamsACHDebitStatusInAllowed AccountNumberListParamsACHDebitStatusIn = "allowed"
	AccountNumberListParamsACHDebitStatusInBlocked AccountNumberListParamsACHDebitStatusIn = "blocked"
)

func (AccountNumberListParamsACHDebitStatusIn) IsKnown added in v0.191.0

type AccountNumberListParamsCreatedAt

type AccountNumberListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (AccountNumberListParamsCreatedAt) URLQuery

func (r AccountNumberListParamsCreatedAt) URLQuery() (v url.Values)

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

type AccountNumberListParamsStatus

type AccountNumberListParamsStatus struct {
	// The status to retrieve Account Numbers for. For GET requests, this should be
	// encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]AccountNumberListParamsStatusIn] `query:"in"`
}

func (AccountNumberListParamsStatus) URLQuery added in v0.191.0

func (r AccountNumberListParamsStatus) URLQuery() (v url.Values)

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

type AccountNumberListParamsStatusIn added in v0.191.0

type AccountNumberListParamsStatusIn string
const (
	AccountNumberListParamsStatusInActive   AccountNumberListParamsStatusIn = "active"
	AccountNumberListParamsStatusInDisabled AccountNumberListParamsStatusIn = "disabled"
	AccountNumberListParamsStatusInCanceled AccountNumberListParamsStatusIn = "canceled"
)

func (AccountNumberListParamsStatusIn) IsKnown added in v0.191.0

type AccountNumberNewParams

type AccountNumberNewParams struct {
	// The Account the Account Number should belong to.
	AccountID param.Field[string] `json:"account_id,required"`
	// The name you choose for the Account Number.
	Name param.Field[string] `json:"name,required"`
	// Options related to how this Account Number should handle inbound ACH transfers.
	InboundACH param.Field[AccountNumberNewParamsInboundACH] `json:"inbound_ach"`
	// Options related to how this Account Number should handle inbound check
	// withdrawals.
	InboundChecks param.Field[AccountNumberNewParamsInboundChecks] `json:"inbound_checks"`
}

func (AccountNumberNewParams) MarshalJSON

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

type AccountNumberNewParamsInboundACH

type AccountNumberNewParamsInboundACH struct {
	// Whether ACH debits are allowed against this Account Number. Note that ACH debits
	// will be declined if this is `allowed` but the Account Number is not active. If
	// you do not specify this field, the default is `allowed`.
	DebitStatus param.Field[AccountNumberNewParamsInboundACHDebitStatus] `json:"debit_status,required"`
}

Options related to how this Account Number should handle inbound ACH transfers.

func (AccountNumberNewParamsInboundACH) MarshalJSON

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

type AccountNumberNewParamsInboundACHDebitStatus

type AccountNumberNewParamsInboundACHDebitStatus string

Whether ACH debits are allowed against this Account Number. Note that ACH debits will be declined if this is `allowed` but the Account Number is not active. If you do not specify this field, the default is `allowed`.

const (
	AccountNumberNewParamsInboundACHDebitStatusAllowed AccountNumberNewParamsInboundACHDebitStatus = "allowed"
	AccountNumberNewParamsInboundACHDebitStatusBlocked AccountNumberNewParamsInboundACHDebitStatus = "blocked"
)

func (AccountNumberNewParamsInboundACHDebitStatus) IsKnown

type AccountNumberNewParamsInboundChecks

type AccountNumberNewParamsInboundChecks struct {
	// How Increase should process checks with this account number printed on them. If
	// you do not specify this field, the default is `check_transfers_only`.
	Status param.Field[AccountNumberNewParamsInboundChecksStatus] `json:"status,required"`
}

Options related to how this Account Number should handle inbound check withdrawals.

func (AccountNumberNewParamsInboundChecks) MarshalJSON

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

type AccountNumberNewParamsInboundChecksStatus

type AccountNumberNewParamsInboundChecksStatus string

How Increase should process checks with this account number printed on them. If you do not specify this field, the default is `check_transfers_only`.

const (
	AccountNumberNewParamsInboundChecksStatusAllowed            AccountNumberNewParamsInboundChecksStatus = "allowed"
	AccountNumberNewParamsInboundChecksStatusCheckTransfersOnly AccountNumberNewParamsInboundChecksStatus = "check_transfers_only"
)

func (AccountNumberNewParamsInboundChecksStatus) IsKnown

type AccountNumberService

type AccountNumberService struct {
	Options []option.RequestOption
}

AccountNumberService contains methods and other services that help with interacting with the increase 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 NewAccountNumberService method instead.

func NewAccountNumberService

func NewAccountNumberService(opts ...option.RequestOption) (r *AccountNumberService)

NewAccountNumberService 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 (*AccountNumberService) Get

func (r *AccountNumberService) Get(ctx context.Context, accountNumberID string, opts ...option.RequestOption) (res *AccountNumber, err error)

Retrieve an Account Number

func (*AccountNumberService) List

List Account Numbers

func (*AccountNumberService) ListAutoPaging

List Account Numbers

func (*AccountNumberService) New

Create an Account Number

func (*AccountNumberService) Update

func (r *AccountNumberService) Update(ctx context.Context, accountNumberID string, body AccountNumberUpdateParams, opts ...option.RequestOption) (res *AccountNumber, err error)

Update an Account Number

type AccountNumberStatus

type AccountNumberStatus string

This indicates if payments can be made to the Account Number.

const (
	AccountNumberStatusActive   AccountNumberStatus = "active"
	AccountNumberStatusDisabled AccountNumberStatus = "disabled"
	AccountNumberStatusCanceled AccountNumberStatus = "canceled"
)

func (AccountNumberStatus) IsKnown

func (r AccountNumberStatus) IsKnown() bool

type AccountNumberType

type AccountNumberType string

A constant representing the object's type. For this resource it will always be `account_number`.

const (
	AccountNumberTypeAccountNumber AccountNumberType = "account_number"
)

func (AccountNumberType) IsKnown

func (r AccountNumberType) IsKnown() bool

type AccountNumberUpdateParams

type AccountNumberUpdateParams struct {
	// Options related to how this Account Number handles inbound ACH transfers.
	InboundACH param.Field[AccountNumberUpdateParamsInboundACH] `json:"inbound_ach"`
	// Options related to how this Account Number should handle inbound check
	// withdrawals.
	InboundChecks param.Field[AccountNumberUpdateParamsInboundChecks] `json:"inbound_checks"`
	// The name you choose for the Account Number.
	Name param.Field[string] `json:"name"`
	// This indicates if transfers can be made to the Account Number.
	Status param.Field[AccountNumberUpdateParamsStatus] `json:"status"`
}

func (AccountNumberUpdateParams) MarshalJSON

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

type AccountNumberUpdateParamsInboundACH

type AccountNumberUpdateParamsInboundACH struct {
	// Whether ACH debits are allowed against this Account Number. Note that ACH debits
	// will be declined if this is `allowed` but the Account Number is not active.
	DebitStatus param.Field[AccountNumberUpdateParamsInboundACHDebitStatus] `json:"debit_status"`
}

Options related to how this Account Number handles inbound ACH transfers.

func (AccountNumberUpdateParamsInboundACH) MarshalJSON

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

type AccountNumberUpdateParamsInboundACHDebitStatus

type AccountNumberUpdateParamsInboundACHDebitStatus string

Whether ACH debits are allowed against this Account Number. Note that ACH debits will be declined if this is `allowed` but the Account Number is not active.

const (
	AccountNumberUpdateParamsInboundACHDebitStatusAllowed AccountNumberUpdateParamsInboundACHDebitStatus = "allowed"
	AccountNumberUpdateParamsInboundACHDebitStatusBlocked AccountNumberUpdateParamsInboundACHDebitStatus = "blocked"
)

func (AccountNumberUpdateParamsInboundACHDebitStatus) IsKnown

type AccountNumberUpdateParamsInboundChecks

type AccountNumberUpdateParamsInboundChecks struct {
	// How Increase should process checks with this account number printed on them.
	Status param.Field[AccountNumberUpdateParamsInboundChecksStatus] `json:"status,required"`
}

Options related to how this Account Number should handle inbound check withdrawals.

func (AccountNumberUpdateParamsInboundChecks) MarshalJSON

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

type AccountNumberUpdateParamsInboundChecksStatus

type AccountNumberUpdateParamsInboundChecksStatus string

How Increase should process checks with this account number printed on them.

const (
	AccountNumberUpdateParamsInboundChecksStatusAllowed            AccountNumberUpdateParamsInboundChecksStatus = "allowed"
	AccountNumberUpdateParamsInboundChecksStatusCheckTransfersOnly AccountNumberUpdateParamsInboundChecksStatus = "check_transfers_only"
)

func (AccountNumberUpdateParamsInboundChecksStatus) IsKnown

type AccountNumberUpdateParamsStatus

type AccountNumberUpdateParamsStatus string

This indicates if transfers can be made to the Account Number.

const (
	AccountNumberUpdateParamsStatusActive   AccountNumberUpdateParamsStatus = "active"
	AccountNumberUpdateParamsStatusDisabled AccountNumberUpdateParamsStatus = "disabled"
	AccountNumberUpdateParamsStatusCanceled AccountNumberUpdateParamsStatus = "canceled"
)

func (AccountNumberUpdateParamsStatus) IsKnown

type AccountService

type AccountService struct {
	Options []option.RequestOption
}

AccountService contains methods and other services that help with interacting with the increase 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.

func (*AccountService) Balance

func (r *AccountService) Balance(ctx context.Context, accountID string, query AccountBalanceParams, opts ...option.RequestOption) (res *BalanceLookup, err error)

Retrieve the current and available balances for an account in minor units of the account's currency. Learn more about [account balances](/documentation/balance).

func (*AccountService) Close

func (r *AccountService) Close(ctx context.Context, accountID string, opts ...option.RequestOption) (res *Account, err error)

Close an Account

func (*AccountService) Get

func (r *AccountService) Get(ctx context.Context, accountID string, opts ...option.RequestOption) (res *Account, err error)

Retrieve an Account

func (*AccountService) List

func (r *AccountService) List(ctx context.Context, query AccountListParams, opts ...option.RequestOption) (res *pagination.Page[Account], err error)

List Accounts

func (*AccountService) ListAutoPaging

List Accounts

func (*AccountService) New

func (r *AccountService) New(ctx context.Context, body AccountNewParams, opts ...option.RequestOption) (res *Account, err error)

Create an Account

func (*AccountService) Update

func (r *AccountService) Update(ctx context.Context, accountID string, body AccountUpdateParams, opts ...option.RequestOption) (res *Account, err error)

Update an Account

type AccountStatement

type AccountStatement struct {
	// The Account Statement identifier.
	ID string `json:"id,required"`
	// The identifier for the Account this Account Statement belongs to.
	AccountID string `json:"account_id,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Account
	// Statement was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The Account's balance at the start of its statement period.
	EndingBalance int64 `json:"ending_balance,required"`
	// The identifier of the File containing a PDF of the statement.
	FileID string `json:"file_id,required"`
	// The Account's balance at the start of its statement period.
	StartingBalance int64 `json:"starting_balance,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time representing the end
	// of the period the Account Statement covers.
	StatementPeriodEnd time.Time `json:"statement_period_end,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time representing the
	// start of the period the Account Statement covers.
	StatementPeriodStart time.Time `json:"statement_period_start,required" format:"date-time"`
	// A constant representing the object's type. For this resource it will always be
	// `account_statement`.
	Type AccountStatementType `json:"type,required"`
	JSON accountStatementJSON `json:"-"`
}

Account Statements are generated monthly for every active Account. You can access the statement's data via the API or retrieve a PDF with its details via its associated File.

func (*AccountStatement) UnmarshalJSON

func (r *AccountStatement) UnmarshalJSON(data []byte) (err error)

type AccountStatementListParams

type AccountStatementListParams struct {
	// Filter Account Statements to those belonging to the specified Account.
	AccountID param.Field[string] `query:"account_id"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit                param.Field[int64]                                          `query:"limit"`
	StatementPeriodStart param.Field[AccountStatementListParamsStatementPeriodStart] `query:"statement_period_start"`
}

func (AccountStatementListParams) URLQuery

func (r AccountStatementListParams) URLQuery() (v url.Values)

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

type AccountStatementListParamsStatementPeriodStart

type AccountStatementListParamsStatementPeriodStart struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (AccountStatementListParamsStatementPeriodStart) URLQuery

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

type AccountStatementService

type AccountStatementService struct {
	Options []option.RequestOption
}

AccountStatementService contains methods and other services that help with interacting with the increase 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 NewAccountStatementService method instead.

func NewAccountStatementService

func NewAccountStatementService(opts ...option.RequestOption) (r *AccountStatementService)

NewAccountStatementService 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 (*AccountStatementService) Get

func (r *AccountStatementService) Get(ctx context.Context, accountStatementID string, opts ...option.RequestOption) (res *AccountStatement, err error)

Retrieve an Account Statement

func (*AccountStatementService) List

List Account Statements

func (*AccountStatementService) ListAutoPaging

List Account Statements

type AccountStatementType

type AccountStatementType string

A constant representing the object's type. For this resource it will always be `account_statement`.

const (
	AccountStatementTypeAccountStatement AccountStatementType = "account_statement"
)

func (AccountStatementType) IsKnown

func (r AccountStatementType) IsKnown() bool

type AccountStatus

type AccountStatus string

The status of the Account.

const (
	AccountStatusClosed AccountStatus = "closed"
	AccountStatusOpen   AccountStatus = "open"
)

func (AccountStatus) IsKnown

func (r AccountStatus) IsKnown() bool

type AccountTransfer

type AccountTransfer struct {
	// The account transfer's identifier.
	ID string `json:"id,required"`
	// The Account to which the transfer belongs.
	AccountID string `json:"account_id,required"`
	// The transfer amount in the minor unit of the destination account currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// If your account requires approvals for transfers and the transfer was approved,
	// this will contain details of the approval.
	Approval AccountTransferApproval `json:"approval,required,nullable"`
	// If your account requires approvals for transfers and the transfer was not
	// approved, this will contain details of the cancellation.
	Cancellation AccountTransferCancellation `json:"cancellation,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// What object created the transfer, either via the API or the dashboard.
	CreatedBy AccountTransferCreatedBy `json:"created_by,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency AccountTransferCurrency `json:"currency,required"`
	// The description that will show on the transactions.
	Description string `json:"description,required"`
	// The destination account's identifier.
	DestinationAccountID string `json:"destination_account_id,required"`
	// The ID for the transaction receiving the transfer.
	DestinationTransactionID string `json:"destination_transaction_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The transfer's network.
	Network AccountTransferNetwork `json:"network,required"`
	// The ID for the pending transaction representing the transfer. A pending
	// transaction is created when the transfer
	// [requires approval](https://increase.com/documentation/transfer-approvals#transfer-approvals)
	// by someone else in your organization.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// The lifecycle status of the transfer.
	Status AccountTransferStatus `json:"status,required"`
	// The ID for the transaction funding the transfer.
	TransactionID string `json:"transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `account_transfer`.
	Type AccountTransferType `json:"type,required"`
	JSON accountTransferJSON `json:"-"`
}

Account transfers move funds between your own accounts at Increase.

func (*AccountTransfer) UnmarshalJSON

func (r *AccountTransfer) UnmarshalJSON(data []byte) (err error)

type AccountTransferApproval

type AccountTransferApproval struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was approved.
	ApprovedAt time.Time `json:"approved_at,required" format:"date-time"`
	// If the Transfer was approved by a user in the dashboard, the email address of
	// that user.
	ApprovedBy string                      `json:"approved_by,required,nullable"`
	JSON       accountTransferApprovalJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

func (*AccountTransferApproval) UnmarshalJSON

func (r *AccountTransferApproval) UnmarshalJSON(data []byte) (err error)

type AccountTransferCancellation

type AccountTransferCancellation struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Transfer was canceled.
	CanceledAt time.Time `json:"canceled_at,required" format:"date-time"`
	// If the Transfer was canceled by a user in the dashboard, the email address of
	// that user.
	CanceledBy string                          `json:"canceled_by,required,nullable"`
	JSON       accountTransferCancellationJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

func (*AccountTransferCancellation) UnmarshalJSON

func (r *AccountTransferCancellation) UnmarshalJSON(data []byte) (err error)

type AccountTransferCreatedBy

type AccountTransferCreatedBy struct {
	// If present, details about the API key that created the transfer.
	APIKey AccountTransferCreatedByAPIKey `json:"api_key,required,nullable"`
	// The type of object that created this transfer.
	Category AccountTransferCreatedByCategory `json:"category,required"`
	// If present, details about the OAuth Application that created the transfer.
	OAuthApplication AccountTransferCreatedByOAuthApplication `json:"oauth_application,required,nullable"`
	// If present, details about the User that created the transfer.
	User AccountTransferCreatedByUser `json:"user,required,nullable"`
	JSON accountTransferCreatedByJSON `json:"-"`
}

What object created the transfer, either via the API or the dashboard.

func (*AccountTransferCreatedBy) UnmarshalJSON

func (r *AccountTransferCreatedBy) UnmarshalJSON(data []byte) (err error)

type AccountTransferCreatedByAPIKey

type AccountTransferCreatedByAPIKey struct {
	// The description set for the API key when it was created.
	Description string                             `json:"description,required,nullable"`
	JSON        accountTransferCreatedByAPIKeyJSON `json:"-"`
}

If present, details about the API key that created the transfer.

func (*AccountTransferCreatedByAPIKey) UnmarshalJSON

func (r *AccountTransferCreatedByAPIKey) UnmarshalJSON(data []byte) (err error)

type AccountTransferCreatedByCategory

type AccountTransferCreatedByCategory string

The type of object that created this transfer.

const (
	AccountTransferCreatedByCategoryAPIKey           AccountTransferCreatedByCategory = "api_key"
	AccountTransferCreatedByCategoryOAuthApplication AccountTransferCreatedByCategory = "oauth_application"
	AccountTransferCreatedByCategoryUser             AccountTransferCreatedByCategory = "user"
)

func (AccountTransferCreatedByCategory) IsKnown

type AccountTransferCreatedByOAuthApplication

type AccountTransferCreatedByOAuthApplication struct {
	// The name of the OAuth Application.
	Name string                                       `json:"name,required"`
	JSON accountTransferCreatedByOAuthApplicationJSON `json:"-"`
}

If present, details about the OAuth Application that created the transfer.

func (*AccountTransferCreatedByOAuthApplication) UnmarshalJSON

func (r *AccountTransferCreatedByOAuthApplication) UnmarshalJSON(data []byte) (err error)

type AccountTransferCreatedByUser

type AccountTransferCreatedByUser struct {
	// The email address of the User.
	Email string                           `json:"email,required"`
	JSON  accountTransferCreatedByUserJSON `json:"-"`
}

If present, details about the User that created the transfer.

func (*AccountTransferCreatedByUser) UnmarshalJSON

func (r *AccountTransferCreatedByUser) UnmarshalJSON(data []byte) (err error)

type AccountTransferCurrency

type AccountTransferCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination account currency.

const (
	AccountTransferCurrencyCad AccountTransferCurrency = "CAD"
	AccountTransferCurrencyChf AccountTransferCurrency = "CHF"
	AccountTransferCurrencyEur AccountTransferCurrency = "EUR"
	AccountTransferCurrencyGbp AccountTransferCurrency = "GBP"
	AccountTransferCurrencyJpy AccountTransferCurrency = "JPY"
	AccountTransferCurrencyUsd AccountTransferCurrency = "USD"
)

func (AccountTransferCurrency) IsKnown

func (r AccountTransferCurrency) IsKnown() bool

type AccountTransferListParams

type AccountTransferListParams struct {
	// Filter Account Transfers to those that originated from the specified Account.
	AccountID param.Field[string]                             `query:"account_id"`
	CreatedAt param.Field[AccountTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (AccountTransferListParams) URLQuery

func (r AccountTransferListParams) URLQuery() (v url.Values)

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

type AccountTransferListParamsCreatedAt

type AccountTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (AccountTransferListParamsCreatedAt) URLQuery

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

type AccountTransferNetwork

type AccountTransferNetwork string

The transfer's network.

const (
	AccountTransferNetworkAccount AccountTransferNetwork = "account"
)

func (AccountTransferNetwork) IsKnown

func (r AccountTransferNetwork) IsKnown() bool

type AccountTransferNewParams

type AccountTransferNewParams struct {
	// The identifier for the account that will send the transfer.
	AccountID param.Field[string] `json:"account_id,required"`
	// The transfer amount in the minor unit of the account currency. For dollars, for
	// example, this is cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The description you choose to give the transfer.
	Description param.Field[string] `json:"description,required"`
	// The identifier for the account that will receive the transfer.
	DestinationAccountID param.Field[string] `json:"destination_account_id,required"`
	// Whether the transfer requires explicit approval via the dashboard or API.
	RequireApproval param.Field[bool] `json:"require_approval"`
}

func (AccountTransferNewParams) MarshalJSON

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

type AccountTransferService

type AccountTransferService struct {
	Options []option.RequestOption
}

AccountTransferService contains methods and other services that help with interacting with the increase 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 NewAccountTransferService method instead.

func NewAccountTransferService

func NewAccountTransferService(opts ...option.RequestOption) (r *AccountTransferService)

NewAccountTransferService 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 (*AccountTransferService) Approve

func (r *AccountTransferService) Approve(ctx context.Context, accountTransferID string, opts ...option.RequestOption) (res *AccountTransfer, err error)

Approve an Account Transfer

func (*AccountTransferService) Cancel

func (r *AccountTransferService) Cancel(ctx context.Context, accountTransferID string, opts ...option.RequestOption) (res *AccountTransfer, err error)

Cancel an Account Transfer

func (*AccountTransferService) Get

func (r *AccountTransferService) Get(ctx context.Context, accountTransferID string, opts ...option.RequestOption) (res *AccountTransfer, err error)

Retrieve an Account Transfer

func (*AccountTransferService) List

List Account Transfers

func (*AccountTransferService) ListAutoPaging

List Account Transfers

func (*AccountTransferService) New

Create an Account Transfer

type AccountTransferStatus

type AccountTransferStatus string

The lifecycle status of the transfer.

const (
	AccountTransferStatusPendingApproval AccountTransferStatus = "pending_approval"
	AccountTransferStatusCanceled        AccountTransferStatus = "canceled"
	AccountTransferStatusComplete        AccountTransferStatus = "complete"
)

func (AccountTransferStatus) IsKnown

func (r AccountTransferStatus) IsKnown() bool

type AccountTransferType

type AccountTransferType string

A constant representing the object's type. For this resource it will always be `account_transfer`.

const (
	AccountTransferTypeAccountTransfer AccountTransferType = "account_transfer"
)

func (AccountTransferType) IsKnown

func (r AccountTransferType) IsKnown() bool

type AccountType

type AccountType string

A constant representing the object's type. For this resource it will always be `account`.

const (
	AccountTypeAccount AccountType = "account"
)

func (AccountType) IsKnown

func (r AccountType) IsKnown() bool

type AccountUpdateParams

type AccountUpdateParams struct {
	// The new credit limit of the Account, if and only if the Account is a loan
	// account.
	CreditLimit param.Field[int64] `json:"credit_limit"`
	// The new name of the Account.
	Name param.Field[string] `json:"name"`
}

func (AccountUpdateParams) MarshalJSON

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

type BalanceLookup

type BalanceLookup struct {
	// The identifier for the account for which the balance was queried.
	AccountID string `json:"account_id,required"`
	// The Account's available balance, representing the current balance less any open
	// Pending Transactions on the Account.
	AvailableBalance int64 `json:"available_balance,required"`
	// The Account's current balance, representing the sum of all posted Transactions
	// on the Account.
	CurrentBalance int64 `json:"current_balance,required"`
	// A constant representing the object's type. For this resource it will always be
	// `balance_lookup`.
	Type BalanceLookupType `json:"type,required"`
	JSON balanceLookupJSON `json:"-"`
}

Represents a request to lookup the balance of an Account at a given point in time.

func (*BalanceLookup) UnmarshalJSON

func (r *BalanceLookup) UnmarshalJSON(data []byte) (err error)

type BalanceLookupType

type BalanceLookupType string

A constant representing the object's type. For this resource it will always be `balance_lookup`.

const (
	BalanceLookupTypeBalanceLookup BalanceLookupType = "balance_lookup"
)

func (BalanceLookupType) IsKnown

func (r BalanceLookupType) IsKnown() bool

type BookkeepingAccount

type BookkeepingAccount struct {
	// The account identifier.
	ID string `json:"id,required"`
	// The API Account associated with this bookkeeping account.
	AccountID string `json:"account_id,required,nullable"`
	// The compliance category of the account.
	ComplianceCategory BookkeepingAccountComplianceCategory `json:"compliance_category,required,nullable"`
	// The Entity associated with this bookkeeping account.
	EntityID string `json:"entity_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The name you choose for the account.
	Name string `json:"name,required"`
	// A constant representing the object's type. For this resource it will always be
	// `bookkeeping_account`.
	Type BookkeepingAccountType `json:"type,required"`
	JSON bookkeepingAccountJSON `json:"-"`
}

Accounts are T-accounts. They can store accounting entries. Your compliance setup might require annotating money movements using this API. Learn more in our [guide to Bookkeeping](https://increase.com/documentation/bookkeeping#bookkeeping).

func (*BookkeepingAccount) UnmarshalJSON

func (r *BookkeepingAccount) UnmarshalJSON(data []byte) (err error)

type BookkeepingAccountBalanceParams

type BookkeepingAccountBalanceParams struct {
	// The moment to query the balance at. If not set, returns the current balances.
	AtTime param.Field[time.Time] `query:"at_time" format:"date-time"`
}

func (BookkeepingAccountBalanceParams) URLQuery

func (r BookkeepingAccountBalanceParams) URLQuery() (v url.Values)

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

type BookkeepingAccountComplianceCategory

type BookkeepingAccountComplianceCategory string

The compliance category of the account.

const (
	BookkeepingAccountComplianceCategoryCommingledCash  BookkeepingAccountComplianceCategory = "commingled_cash"
	BookkeepingAccountComplianceCategoryCustomerBalance BookkeepingAccountComplianceCategory = "customer_balance"
)

func (BookkeepingAccountComplianceCategory) IsKnown

type BookkeepingAccountListParams

type BookkeepingAccountListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (BookkeepingAccountListParams) URLQuery

func (r BookkeepingAccountListParams) URLQuery() (v url.Values)

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

type BookkeepingAccountNewParams

type BookkeepingAccountNewParams struct {
	// The name you choose for the account.
	Name param.Field[string] `json:"name,required"`
	// The entity, if `compliance_category` is `commingled_cash`.
	AccountID param.Field[string] `json:"account_id"`
	// The account compliance category.
	ComplianceCategory param.Field[BookkeepingAccountNewParamsComplianceCategory] `json:"compliance_category"`
	// The entity, if `compliance_category` is `customer_balance`.
	EntityID param.Field[string] `json:"entity_id"`
}

func (BookkeepingAccountNewParams) MarshalJSON

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

type BookkeepingAccountNewParamsComplianceCategory

type BookkeepingAccountNewParamsComplianceCategory string

The account compliance category.

const (
	BookkeepingAccountNewParamsComplianceCategoryCommingledCash  BookkeepingAccountNewParamsComplianceCategory = "commingled_cash"
	BookkeepingAccountNewParamsComplianceCategoryCustomerBalance BookkeepingAccountNewParamsComplianceCategory = "customer_balance"
)

func (BookkeepingAccountNewParamsComplianceCategory) IsKnown

type BookkeepingAccountService

type BookkeepingAccountService struct {
	Options []option.RequestOption
}

BookkeepingAccountService contains methods and other services that help with interacting with the increase 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 NewBookkeepingAccountService method instead.

func NewBookkeepingAccountService

func NewBookkeepingAccountService(opts ...option.RequestOption) (r *BookkeepingAccountService)

NewBookkeepingAccountService 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 (*BookkeepingAccountService) Balance

func (r *BookkeepingAccountService) Balance(ctx context.Context, bookkeepingAccountID string, query BookkeepingAccountBalanceParams, opts ...option.RequestOption) (res *BookkeepingBalanceLookup, err error)

Retrieve a Bookkeeping Account Balance

func (*BookkeepingAccountService) List

List Bookkeeping Accounts

func (*BookkeepingAccountService) ListAutoPaging

List Bookkeeping Accounts

func (*BookkeepingAccountService) New

Create a Bookkeeping Account

func (*BookkeepingAccountService) Update

func (r *BookkeepingAccountService) Update(ctx context.Context, bookkeepingAccountID string, body BookkeepingAccountUpdateParams, opts ...option.RequestOption) (res *BookkeepingAccount, err error)

Update a Bookkeeping Account

type BookkeepingAccountType

type BookkeepingAccountType string

A constant representing the object's type. For this resource it will always be `bookkeeping_account`.

const (
	BookkeepingAccountTypeBookkeepingAccount BookkeepingAccountType = "bookkeeping_account"
)

func (BookkeepingAccountType) IsKnown

func (r BookkeepingAccountType) IsKnown() bool

type BookkeepingAccountUpdateParams

type BookkeepingAccountUpdateParams struct {
	// The name you choose for the account.
	Name param.Field[string] `json:"name,required"`
}

func (BookkeepingAccountUpdateParams) MarshalJSON

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

type BookkeepingBalanceLookup

type BookkeepingBalanceLookup struct {
	// The Bookkeeping Account's current balance, representing the sum of all
	// Bookkeeping Entries on the Bookkeeping Account.
	Balance int64 `json:"balance,required"`
	// The identifier for the account for which the balance was queried.
	BookkeepingAccountID string `json:"bookkeeping_account_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `bookkeeping_balance_lookup`.
	Type BookkeepingBalanceLookupType `json:"type,required"`
	JSON bookkeepingBalanceLookupJSON `json:"-"`
}

Represents a request to lookup the balance of an Bookkeeping Account at a given point in time.

func (*BookkeepingBalanceLookup) UnmarshalJSON

func (r *BookkeepingBalanceLookup) UnmarshalJSON(data []byte) (err error)

type BookkeepingBalanceLookupType

type BookkeepingBalanceLookupType string

A constant representing the object's type. For this resource it will always be `bookkeeping_balance_lookup`.

const (
	BookkeepingBalanceLookupTypeBookkeepingBalanceLookup BookkeepingBalanceLookupType = "bookkeeping_balance_lookup"
)

func (BookkeepingBalanceLookupType) IsKnown

func (r BookkeepingBalanceLookupType) IsKnown() bool

type BookkeepingEntry

type BookkeepingEntry struct {
	// The entry identifier.
	ID string `json:"id,required"`
	// The identifier for the Account the Entry belongs to.
	AccountID string `json:"account_id,required"`
	// The Entry amount in the minor unit of its currency. For dollars, for example,
	// this is cents.
	Amount int64 `json:"amount,required"`
	// When the entry set was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The identifier for the Account the Entry belongs to.
	EntrySetID string `json:"entry_set_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `bookkeeping_entry`.
	Type BookkeepingEntryType `json:"type,required"`
	JSON bookkeepingEntryJSON `json:"-"`
}

Entries are T-account entries recording debits and credits. Your compliance setup might require annotating money movements using this API. Learn more in our [guide to Bookkeeping](https://increase.com/documentation/bookkeeping#bookkeeping).

func (*BookkeepingEntry) UnmarshalJSON

func (r *BookkeepingEntry) UnmarshalJSON(data []byte) (err error)

type BookkeepingEntryListParams

type BookkeepingEntryListParams struct {
	// The identifier for the Bookkeeping Account to filter by.
	AccountID param.Field[string] `query:"account_id"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (BookkeepingEntryListParams) URLQuery

func (r BookkeepingEntryListParams) URLQuery() (v url.Values)

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

type BookkeepingEntryService

type BookkeepingEntryService struct {
	Options []option.RequestOption
}

BookkeepingEntryService contains methods and other services that help with interacting with the increase 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 NewBookkeepingEntryService method instead.

func NewBookkeepingEntryService

func NewBookkeepingEntryService(opts ...option.RequestOption) (r *BookkeepingEntryService)

NewBookkeepingEntryService 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 (*BookkeepingEntryService) Get

func (r *BookkeepingEntryService) Get(ctx context.Context, bookkeepingEntryID string, opts ...option.RequestOption) (res *BookkeepingEntry, err error)

Retrieve a Bookkeeping Entry

func (*BookkeepingEntryService) List

List Bookkeeping Entries

func (*BookkeepingEntryService) ListAutoPaging

List Bookkeeping Entries

type BookkeepingEntrySet

type BookkeepingEntrySet struct {
	// The entry set identifier.
	ID string `json:"id,required"`
	// When the entry set was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The timestamp of the entry set.
	Date time.Time `json:"date,required" format:"date-time"`
	// The entries.
	Entries []BookkeepingEntrySetEntry `json:"entries,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The transaction identifier, if any.
	TransactionID string `json:"transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `bookkeeping_entry_set`.
	Type BookkeepingEntrySetType `json:"type,required"`
	JSON bookkeepingEntrySetJSON `json:"-"`
}

Entry Sets are accounting entries that are transactionally applied. Your compliance setup might require annotating money movements using this API. Learn more in our [guide to Bookkeeping](https://increase.com/documentation/bookkeeping#bookkeeping).

func (*BookkeepingEntrySet) UnmarshalJSON

func (r *BookkeepingEntrySet) UnmarshalJSON(data []byte) (err error)

type BookkeepingEntrySetEntry

type BookkeepingEntrySetEntry struct {
	// The entry identifier.
	ID string `json:"id,required"`
	// The bookkeeping account impacted by the entry.
	AccountID string `json:"account_id,required"`
	// The amount of the entry in minor units.
	Amount int64                        `json:"amount,required"`
	JSON   bookkeepingEntrySetEntryJSON `json:"-"`
}

func (*BookkeepingEntrySetEntry) UnmarshalJSON

func (r *BookkeepingEntrySetEntry) UnmarshalJSON(data []byte) (err error)

type BookkeepingEntrySetListParams

type BookkeepingEntrySetListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter to the Bookkeeping Entry Set that maps to this Transaction.
	TransactionID param.Field[string] `query:"transaction_id"`
}

func (BookkeepingEntrySetListParams) URLQuery

func (r BookkeepingEntrySetListParams) URLQuery() (v url.Values)

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

type BookkeepingEntrySetNewParams

type BookkeepingEntrySetNewParams struct {
	// The bookkeeping entries.
	Entries param.Field[[]BookkeepingEntrySetNewParamsEntry] `json:"entries,required"`
	// The date of the transaction. Optional if `transaction_id` is provided, in which
	// case we use the `date` of that transaction. Required otherwise.
	Date param.Field[time.Time] `json:"date" format:"date-time"`
	// The identifier of the Transaction related to this entry set, if any.
	TransactionID param.Field[string] `json:"transaction_id"`
}

func (BookkeepingEntrySetNewParams) MarshalJSON

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

type BookkeepingEntrySetNewParamsEntry

type BookkeepingEntrySetNewParamsEntry struct {
	// The identifier for the Bookkeeping Account impacted by this entry.
	AccountID param.Field[string] `json:"account_id,required"`
	// The entry amount in the minor unit of the account currency. For dollars, for
	// example, this is cents. Debit entries have positive amounts; credit entries have
	// negative amounts.
	Amount param.Field[int64] `json:"amount,required"`
}

func (BookkeepingEntrySetNewParamsEntry) MarshalJSON

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

type BookkeepingEntrySetService

type BookkeepingEntrySetService struct {
	Options []option.RequestOption
}

BookkeepingEntrySetService contains methods and other services that help with interacting with the increase 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 NewBookkeepingEntrySetService method instead.

func NewBookkeepingEntrySetService

func NewBookkeepingEntrySetService(opts ...option.RequestOption) (r *BookkeepingEntrySetService)

NewBookkeepingEntrySetService 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 (*BookkeepingEntrySetService) Get

func (r *BookkeepingEntrySetService) Get(ctx context.Context, bookkeepingEntrySetID string, opts ...option.RequestOption) (res *BookkeepingEntrySet, err error)

Retrieve a Bookkeeping Entry Set

func (*BookkeepingEntrySetService) List

List Bookkeeping Entry Sets

func (*BookkeepingEntrySetService) ListAutoPaging

List Bookkeeping Entry Sets

func (*BookkeepingEntrySetService) New

Create a Bookkeeping Entry Set

type BookkeepingEntrySetType

type BookkeepingEntrySetType string

A constant representing the object's type. For this resource it will always be `bookkeeping_entry_set`.

const (
	BookkeepingEntrySetTypeBookkeepingEntrySet BookkeepingEntrySetType = "bookkeeping_entry_set"
)

func (BookkeepingEntrySetType) IsKnown

func (r BookkeepingEntrySetType) IsKnown() bool

type BookkeepingEntryType

type BookkeepingEntryType string

A constant representing the object's type. For this resource it will always be `bookkeeping_entry`.

const (
	BookkeepingEntryTypeBookkeepingEntry BookkeepingEntryType = "bookkeeping_entry"
)

func (BookkeepingEntryType) IsKnown

func (r BookkeepingEntryType) IsKnown() bool

type Card

type Card struct {
	// The card identifier.
	ID string `json:"id,required"`
	// The identifier for the account this card belongs to.
	AccountID string `json:"account_id,required"`
	// The Card's billing address.
	BillingAddress CardBillingAddress `json:"billing_address,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The card's description for display purposes.
	Description string `json:"description,required,nullable"`
	// The contact information used in the two-factor steps for digital wallet card
	// creation. At least one field must be present to complete the digital wallet
	// steps.
	DigitalWallet CardDigitalWallet `json:"digital_wallet,required,nullable"`
	// The identifier for the entity associated with this card.
	EntityID string `json:"entity_id,required,nullable"`
	// The month the card expires in M format (e.g., August is 8).
	ExpirationMonth int64 `json:"expiration_month,required"`
	// The year the card expires in YYYY format (e.g., 2025).
	ExpirationYear int64 `json:"expiration_year,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The last 4 digits of the Card's Primary Account Number.
	Last4 string `json:"last4,required"`
	// This indicates if payments can be made with the card.
	Status CardStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card`.
	Type CardType `json:"type,required"`
	JSON cardJSON `json:"-"`
}

Cards are commercial credit cards. They'll immediately work for online purchases after you create them. All cards maintain a credit limit of 100% of the Account’s available balance at the time of transaction. Funds are deducted from the Account upon transaction settlement.

func (*Card) UnmarshalJSON

func (r *Card) UnmarshalJSON(data []byte) (err error)

type CardBillingAddress

type CardBillingAddress struct {
	// The city of the billing address.
	City string `json:"city,required,nullable"`
	// The first line of the billing address.
	Line1 string `json:"line1,required,nullable"`
	// The second line of the billing address.
	Line2 string `json:"line2,required,nullable"`
	// The postal code of the billing address.
	PostalCode string `json:"postal_code,required,nullable"`
	// The US state of the billing address.
	State string                 `json:"state,required,nullable"`
	JSON  cardBillingAddressJSON `json:"-"`
}

The Card's billing address.

func (*CardBillingAddress) UnmarshalJSON

func (r *CardBillingAddress) UnmarshalJSON(data []byte) (err error)

type CardDetails

type CardDetails struct {
	// The identifier for the Card for which sensitive details have been returned.
	CardID string `json:"card_id,required"`
	// The month the card expires in M format (e.g., August is 8).
	ExpirationMonth int64 `json:"expiration_month,required"`
	// The year the card expires in YYYY format (e.g., 2025).
	ExpirationYear int64 `json:"expiration_year,required"`
	// The 4-digit PIN for the card, for use with ATMs.
	Pin string `json:"pin,required"`
	// The card number.
	PrimaryAccountNumber string `json:"primary_account_number,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_details`.
	Type CardDetailsType `json:"type,required"`
	// The three-digit verification code for the card. It's also known as the Card
	// Verification Code (CVC), the Card Verification Value (CVV), or the Card
	// Identification (CID).
	VerificationCode string          `json:"verification_code,required"`
	JSON             cardDetailsJSON `json:"-"`
}

An object containing the sensitive details (card number, cvc, etc) for a Card.

func (*CardDetails) UnmarshalJSON

func (r *CardDetails) UnmarshalJSON(data []byte) (err error)

type CardDetailsType

type CardDetailsType string

A constant representing the object's type. For this resource it will always be `card_details`.

const (
	CardDetailsTypeCardDetails CardDetailsType = "card_details"
)

func (CardDetailsType) IsKnown

func (r CardDetailsType) IsKnown() bool

type CardDigitalWallet

type CardDigitalWallet struct {
	// The digital card profile assigned to this digital card. Card profiles may also
	// be assigned at the program level.
	DigitalCardProfileID string `json:"digital_card_profile_id,required,nullable"`
	// An email address that can be used to verify the cardholder via one-time passcode
	// over email.
	Email string `json:"email,required,nullable"`
	// A phone number that can be used to verify the cardholder via one-time passcode
	// over SMS.
	Phone string                `json:"phone,required,nullable"`
	JSON  cardDigitalWalletJSON `json:"-"`
}

The contact information used in the two-factor steps for digital wallet card creation. At least one field must be present to complete the digital wallet steps.

func (*CardDigitalWallet) UnmarshalJSON

func (r *CardDigitalWallet) UnmarshalJSON(data []byte) (err error)

type CardDispute

type CardDispute struct {
	// The Card Dispute identifier.
	ID string `json:"id,required"`
	// If the Card Dispute's status is `accepted`, this will contain details of the
	// successful dispute.
	Acceptance CardDisputeAcceptance `json:"acceptance,required,nullable"`
	// The amount of the dispute, if provided, or the transaction amount otherwise.
	Amount int64 `json:"amount,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The identifier of the Transaction that was disputed.
	DisputedTransactionID string `json:"disputed_transaction_id,required"`
	// Why you disputed the Transaction in question.
	Explanation string `json:"explanation,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// If the Card Dispute's status is `lost`, this will contain details of the lost
	// dispute.
	Loss CardDisputeLoss `json:"loss,required,nullable"`
	// If the Card Dispute's status is `rejected`, this will contain details of the
	// unsuccessful dispute.
	Rejection CardDisputeRejection `json:"rejection,required,nullable"`
	// The results of the Dispute investigation.
	Status CardDisputeStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_dispute`.
	Type CardDisputeType `json:"type,required"`
	// If the Card Dispute's status is `won`, this will contain details of the won
	// dispute.
	Win  CardDisputeWin  `json:"win,required,nullable"`
	JSON cardDisputeJSON `json:"-"`
}

If unauthorized activity occurs on a card, you can create a Card Dispute and we'll return the funds if appropriate.

func (*CardDispute) UnmarshalJSON

func (r *CardDispute) UnmarshalJSON(data []byte) (err error)

type CardDisputeAcceptance

type CardDisputeAcceptance struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was accepted.
	AcceptedAt time.Time `json:"accepted_at,required" format:"date-time"`
	// The identifier of the Card Dispute that was accepted.
	CardDisputeID string `json:"card_dispute_id,required"`
	// The identifier of the Transaction that was created to return the disputed funds
	// to your account.
	TransactionID string                    `json:"transaction_id,required"`
	JSON          cardDisputeAcceptanceJSON `json:"-"`
}

If the Card Dispute's status is `accepted`, this will contain details of the successful dispute.

func (*CardDisputeAcceptance) UnmarshalJSON

func (r *CardDisputeAcceptance) UnmarshalJSON(data []byte) (err error)

type CardDisputeListParams

type CardDisputeListParams struct {
	CreatedAt param.Field[CardDisputeListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                       `query:"limit"`
	Status param.Field[CardDisputeListParamsStatus] `query:"status"`
}

func (CardDisputeListParams) URLQuery

func (r CardDisputeListParams) URLQuery() (v url.Values)

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

type CardDisputeListParamsCreatedAt

type CardDisputeListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (CardDisputeListParamsCreatedAt) URLQuery

func (r CardDisputeListParamsCreatedAt) URLQuery() (v url.Values)

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

type CardDisputeListParamsStatus

type CardDisputeListParamsStatus struct {
	// Filter Card Disputes for those with the specified status or statuses. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]CardDisputeListParamsStatusIn] `query:"in"`
}

func (CardDisputeListParamsStatus) URLQuery

func (r CardDisputeListParamsStatus) URLQuery() (v url.Values)

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

type CardDisputeListParamsStatusIn

type CardDisputeListParamsStatusIn string
const (
	CardDisputeListParamsStatusInPendingReviewing       CardDisputeListParamsStatusIn = "pending_reviewing"
	CardDisputeListParamsStatusInPendingUserInformation CardDisputeListParamsStatusIn = "pending_user_information"
	CardDisputeListParamsStatusInAccepted               CardDisputeListParamsStatusIn = "accepted"
	CardDisputeListParamsStatusInRejected               CardDisputeListParamsStatusIn = "rejected"
	CardDisputeListParamsStatusInLost                   CardDisputeListParamsStatusIn = "lost"
	CardDisputeListParamsStatusInWon                    CardDisputeListParamsStatusIn = "won"
)

func (CardDisputeListParamsStatusIn) IsKnown

func (r CardDisputeListParamsStatusIn) IsKnown() bool

type CardDisputeLoss

type CardDisputeLoss struct {
	// The identifier of the Card Dispute that was lost.
	CardDisputeID string `json:"card_dispute_id,required"`
	// Why the Card Dispute was lost.
	Explanation string `json:"explanation,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was lost.
	LostAt time.Time `json:"lost_at,required" format:"date-time"`
	// The identifier of the Transaction that was created to debit the disputed funds
	// from your account.
	TransactionID string              `json:"transaction_id,required"`
	JSON          cardDisputeLossJSON `json:"-"`
}

If the Card Dispute's status is `lost`, this will contain details of the lost dispute.

func (*CardDisputeLoss) UnmarshalJSON

func (r *CardDisputeLoss) UnmarshalJSON(data []byte) (err error)

type CardDisputeNewParams

type CardDisputeNewParams struct {
	// The Transaction you wish to dispute. This Transaction must have a `source_type`
	// of `card_settlement`.
	DisputedTransactionID param.Field[string] `json:"disputed_transaction_id,required"`
	// Why you are disputing this Transaction.
	Explanation param.Field[string] `json:"explanation,required"`
	// The monetary amount of the part of the transaction that is being disputed. This
	// is optional and will default to the full amount of the transaction if not
	// provided. If provided, the amount must be less than or equal to the amount of
	// the transaction.
	Amount param.Field[int64] `json:"amount"`
}

func (CardDisputeNewParams) MarshalJSON

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

type CardDisputeRejection

type CardDisputeRejection struct {
	// The identifier of the Card Dispute that was rejected.
	CardDisputeID string `json:"card_dispute_id,required"`
	// Why the Card Dispute was rejected.
	Explanation string `json:"explanation,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was rejected.
	RejectedAt time.Time                `json:"rejected_at,required" format:"date-time"`
	JSON       cardDisputeRejectionJSON `json:"-"`
}

If the Card Dispute's status is `rejected`, this will contain details of the unsuccessful dispute.

func (*CardDisputeRejection) UnmarshalJSON

func (r *CardDisputeRejection) UnmarshalJSON(data []byte) (err error)

type CardDisputeService

type CardDisputeService struct {
	Options []option.RequestOption
}

CardDisputeService contains methods and other services that help with interacting with the increase 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 NewCardDisputeService method instead.

func NewCardDisputeService

func NewCardDisputeService(opts ...option.RequestOption) (r *CardDisputeService)

NewCardDisputeService 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 (*CardDisputeService) Get

func (r *CardDisputeService) Get(ctx context.Context, cardDisputeID string, opts ...option.RequestOption) (res *CardDispute, err error)

Retrieve a Card Dispute

func (*CardDisputeService) List

List Card Disputes

func (*CardDisputeService) ListAutoPaging

List Card Disputes

func (*CardDisputeService) New

Create a Card Dispute

type CardDisputeStatus

type CardDisputeStatus string

The results of the Dispute investigation.

const (
	CardDisputeStatusPendingReviewing       CardDisputeStatus = "pending_reviewing"
	CardDisputeStatusPendingUserInformation CardDisputeStatus = "pending_user_information"
	CardDisputeStatusAccepted               CardDisputeStatus = "accepted"
	CardDisputeStatusRejected               CardDisputeStatus = "rejected"
	CardDisputeStatusLost                   CardDisputeStatus = "lost"
	CardDisputeStatusWon                    CardDisputeStatus = "won"
)

func (CardDisputeStatus) IsKnown

func (r CardDisputeStatus) IsKnown() bool

type CardDisputeType

type CardDisputeType string

A constant representing the object's type. For this resource it will always be `card_dispute`.

const (
	CardDisputeTypeCardDispute CardDisputeType = "card_dispute"
)

func (CardDisputeType) IsKnown

func (r CardDisputeType) IsKnown() bool

type CardDisputeWin

type CardDisputeWin struct {
	// The identifier of the Card Dispute that was won.
	CardDisputeID string `json:"card_dispute_id,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was won.
	WonAt time.Time          `json:"won_at,required" format:"date-time"`
	JSON  cardDisputeWinJSON `json:"-"`
}

If the Card Dispute's status is `won`, this will contain details of the won dispute.

func (*CardDisputeWin) UnmarshalJSON

func (r *CardDisputeWin) UnmarshalJSON(data []byte) (err error)

type CardListParams

type CardListParams struct {
	// Filter Cards to ones belonging to the specified Account.
	AccountID param.Field[string]                  `query:"account_id"`
	CreatedAt param.Field[CardListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                `query:"limit"`
	Status param.Field[CardListParamsStatus] `query:"status"`
}

func (CardListParams) URLQuery

func (r CardListParams) URLQuery() (v url.Values)

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

type CardListParamsCreatedAt

type CardListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (CardListParamsCreatedAt) URLQuery

func (r CardListParamsCreatedAt) URLQuery() (v url.Values)

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

type CardListParamsStatus added in v0.194.0

type CardListParamsStatus struct {
	// Filter Cards by status. For GET requests, this should be encoded as a
	// comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]CardListParamsStatusIn] `query:"in"`
}

func (CardListParamsStatus) URLQuery added in v0.194.0

func (r CardListParamsStatus) URLQuery() (v url.Values)

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

type CardListParamsStatusIn added in v0.194.0

type CardListParamsStatusIn string
const (
	CardListParamsStatusInActive   CardListParamsStatusIn = "active"
	CardListParamsStatusInDisabled CardListParamsStatusIn = "disabled"
	CardListParamsStatusInCanceled CardListParamsStatusIn = "canceled"
)

func (CardListParamsStatusIn) IsKnown added in v0.194.0

func (r CardListParamsStatusIn) IsKnown() bool

type CardNewParams

type CardNewParams struct {
	// The Account the card should belong to.
	AccountID param.Field[string] `json:"account_id,required"`
	// The card's billing address.
	BillingAddress param.Field[CardNewParamsBillingAddress] `json:"billing_address"`
	// The description you choose to give the card.
	Description param.Field[string] `json:"description"`
	// The contact information used in the two-factor steps for digital wallet card
	// creation. To add the card to a digital wallet, you may supply an email or phone
	// number with this request. Otherwise, subscribe and then action a Real Time
	// Decision with the category `digital_wallet_token_requested` or
	// `digital_wallet_authentication_requested`.
	DigitalWallet param.Field[CardNewParamsDigitalWallet] `json:"digital_wallet"`
	// The Entity the card belongs to. You only need to supply this in rare situations
	// when the card is not for the Account holder.
	EntityID param.Field[string] `json:"entity_id"`
}

func (CardNewParams) MarshalJSON

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

type CardNewParamsBillingAddress

type CardNewParamsBillingAddress struct {
	// The city of the billing address.
	City param.Field[string] `json:"city,required"`
	// The first line of the billing address.
	Line1 param.Field[string] `json:"line1,required"`
	// The postal code of the billing address.
	PostalCode param.Field[string] `json:"postal_code,required"`
	// The US state of the billing address.
	State param.Field[string] `json:"state,required"`
	// The second line of the billing address.
	Line2 param.Field[string] `json:"line2"`
}

The card's billing address.

func (CardNewParamsBillingAddress) MarshalJSON

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

type CardNewParamsDigitalWallet

type CardNewParamsDigitalWallet struct {
	// The digital card profile assigned to this digital card.
	DigitalCardProfileID param.Field[string] `json:"digital_card_profile_id"`
	// An email address that can be used to contact and verify the cardholder via
	// one-time passcode over email.
	Email param.Field[string] `json:"email"`
	// A phone number that can be used to contact and verify the cardholder via
	// one-time passcode over SMS.
	Phone param.Field[string] `json:"phone"`
}

The contact information used in the two-factor steps for digital wallet card creation. To add the card to a digital wallet, you may supply an email or phone number with this request. Otherwise, subscribe and then action a Real Time Decision with the category `digital_wallet_token_requested` or `digital_wallet_authentication_requested`.

func (CardNewParamsDigitalWallet) MarshalJSON

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

type CardPayment

type CardPayment struct {
	// The Card Payment identifier.
	ID string `json:"id,required"`
	// The identifier for the Account the Transaction belongs to.
	AccountID string `json:"account_id,required"`
	// The Card identifier for this payment.
	CardID string `json:"card_id,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Card
	// Payment was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The Digital Wallet Token identifier for this payment.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// The interactions related to this card payment.
	Elements []CardPaymentElement `json:"elements,required"`
	// The Physical Card identifier for this payment.
	PhysicalCardID string `json:"physical_card_id,required,nullable"`
	// The summarized state of this card payment.
	State CardPaymentState `json:"state,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_payment`.
	Type CardPaymentType `json:"type,required"`
	JSON cardPaymentJSON `json:"-"`
}

Card Payments group together interactions related to a single card payment, such as an authorization and its corresponding settlement.

func (*CardPayment) UnmarshalJSON

func (r *CardPayment) UnmarshalJSON(data []byte) (err error)

type CardPaymentElement

type CardPaymentElement struct {
	// A Card Authentication object. This field will be present in the JSON response if
	// and only if `category` is equal to `card_authentication`. Card Authentications
	// are attempts to authenticate a transaction or a card with 3DS.
	CardAuthentication CardPaymentElementsCardAuthentication `json:"card_authentication,required,nullable"`
	// A Card Authorization object. This field will be present in the JSON response if
	// and only if `category` is equal to `card_authorization`. Card Authorizations are
	// temporary holds placed on a customers funds with the intent to later clear a
	// transaction.
	CardAuthorization CardPaymentElementsCardAuthorization `json:"card_authorization,required,nullable"`
	// A Card Authorization Expiration object. This field will be present in the JSON
	// response if and only if `category` is equal to `card_authorization_expiration`.
	// Card Authorization Expirations are cancellations of authorizations that were
	// never settled by the acquirer.
	CardAuthorizationExpiration CardPaymentElementsCardAuthorizationExpiration `json:"card_authorization_expiration,required,nullable"`
	// A Card Decline object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_decline`.
	CardDecline CardPaymentElementsCardDecline `json:"card_decline,required,nullable"`
	// A Card Fuel Confirmation object. This field will be present in the JSON response
	// if and only if `category` is equal to `card_fuel_confirmation`. Card Fuel
	// Confirmations update the amount of a Card Authorization after a fuel pump
	// transaction is completed.
	CardFuelConfirmation CardPaymentElementsCardFuelConfirmation `json:"card_fuel_confirmation,required,nullable"`
	// A Card Increment object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_increment`. Card Increments increase the
	// pending amount of an authorized transaction.
	CardIncrement CardPaymentElementsCardIncrement `json:"card_increment,required,nullable"`
	// A Card Refund object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_refund`. Card Refunds move money back to
	// the cardholder. While they are usually connected to a Card Settlement an
	// acquirer can also refund money directly to a card without relation to a
	// transaction.
	CardRefund CardPaymentElementsCardRefund `json:"card_refund,required,nullable"`
	// A Card Reversal object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_reversal`. Card Reversals cancel parts of
	// or the entirety of an existing Card Authorization.
	CardReversal CardPaymentElementsCardReversal `json:"card_reversal,required,nullable"`
	// A Card Settlement object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_settlement`. Card Settlements are card
	// transactions that have cleared and settled. While a settlement is usually
	// preceded by an authorization, an acquirer can also directly clear a transaction
	// without first authorizing it.
	CardSettlement CardPaymentElementsCardSettlement `json:"card_settlement,required,nullable"`
	// An Inbound Card Validation object. This field will be present in the JSON
	// response if and only if `category` is equal to `card_validation`. Inbound Card
	// Validations are requests from a merchant to verify that a card number and
	// optionally its address and/or Card Verification Value are valid.
	CardValidation CardPaymentElementsCardValidation `json:"card_validation,required,nullable"`
	// The type of the resource. We may add additional possible values for this enum
	// over time; your application should be able to handle such additions gracefully.
	Category CardPaymentElementsCategory `json:"category,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the card payment element was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// If the category of this Transaction source is equal to `other`, this field will
	// contain an empty object, otherwise it will contain null.
	Other interface{}            `json:"other,required,nullable"`
	JSON  cardPaymentElementJSON `json:"-"`
}

func (*CardPaymentElement) UnmarshalJSON

func (r *CardPaymentElement) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthentication added in v0.178.0

type CardPaymentElementsCardAuthentication struct {
	// The Card Authentication identifier.
	ID string `json:"id,required"`
	// The identifier of the Card.
	CardID string `json:"card_id,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// The category of the card authentication attempt.
	Category CardPaymentElementsCardAuthenticationCategory `json:"category,required,nullable"`
	// Details about the challenge, if one was requested.
	Challenge CardPaymentElementsCardAuthenticationChallenge `json:"challenge,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Card
	// Authentication was attempted.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The reason why this authentication attempt was denied, if it was.
	DenyReason CardPaymentElementsCardAuthenticationDenyReason `json:"deny_reason,required,nullable"`
	// The device channel of the card authentication attempt.
	DeviceChannel CardPaymentElementsCardAuthenticationDeviceChannel `json:"device_channel,required,nullable"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,required"`
	// The purchase amount in minor units.
	PurchaseAmount int64 `json:"purchase_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// authentication attempt's purchase currency.
	PurchaseCurrency string `json:"purchase_currency,required,nullable"`
	// The identifier of the Real-Time Decision sent to approve or decline this
	// authentication attempt.
	RealTimeDecisionID string `json:"real_time_decision_id,required,nullable"`
	// The status of the card authentication.
	Status CardPaymentElementsCardAuthenticationStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_authentication`.
	Type CardPaymentElementsCardAuthenticationType `json:"type,required"`
	JSON cardPaymentElementsCardAuthenticationJSON `json:"-"`
}

A Card Authentication object. This field will be present in the JSON response if and only if `category` is equal to `card_authentication`. Card Authentications are attempts to authenticate a transaction or a card with 3DS.

func (*CardPaymentElementsCardAuthentication) UnmarshalJSON added in v0.178.0

func (r *CardPaymentElementsCardAuthentication) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthenticationCategory added in v0.178.0

type CardPaymentElementsCardAuthenticationCategory string

The category of the card authentication attempt.

const (
	CardPaymentElementsCardAuthenticationCategoryPaymentAuthentication    CardPaymentElementsCardAuthenticationCategory = "payment_authentication"
	CardPaymentElementsCardAuthenticationCategoryNonPaymentAuthentication CardPaymentElementsCardAuthenticationCategory = "non_payment_authentication"
)

func (CardPaymentElementsCardAuthenticationCategory) IsKnown added in v0.178.0

type CardPaymentElementsCardAuthenticationChallenge added in v0.178.0

type CardPaymentElementsCardAuthenticationChallenge struct {
	// Details about the challenge verification attempts, if any happened.
	Attempts []CardPaymentElementsCardAuthenticationChallengeAttempt `json:"attempts,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Card
	// Authentication Challenge was started.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The one-time code used for the Card Authentication Challenge.
	OneTimeCode string `json:"one_time_code,required"`
	// The method used to verify the Card Authentication Challenge.
	VerificationMethod CardPaymentElementsCardAuthenticationChallengeVerificationMethod `json:"verification_method,required"`
	// E.g., the email address or phone number used for the Card Authentication
	// Challenge.
	VerificationValue string                                             `json:"verification_value,required,nullable"`
	JSON              cardPaymentElementsCardAuthenticationChallengeJSON `json:"-"`
}

Details about the challenge, if one was requested.

func (*CardPaymentElementsCardAuthenticationChallenge) UnmarshalJSON added in v0.178.0

func (r *CardPaymentElementsCardAuthenticationChallenge) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthenticationChallengeAttempt added in v0.178.0

type CardPaymentElementsCardAuthenticationChallengeAttempt struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time of the Card
	// Authentication Challenge Attempt.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The outcome of the Card Authentication Challenge Attempt.
	Outcome CardPaymentElementsCardAuthenticationChallengeAttemptsOutcome `json:"outcome,required"`
	JSON    cardPaymentElementsCardAuthenticationChallengeAttemptJSON     `json:"-"`
}

func (*CardPaymentElementsCardAuthenticationChallengeAttempt) UnmarshalJSON added in v0.178.0

func (r *CardPaymentElementsCardAuthenticationChallengeAttempt) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthenticationChallengeAttemptsOutcome added in v0.178.0

type CardPaymentElementsCardAuthenticationChallengeAttemptsOutcome string

The outcome of the Card Authentication Challenge Attempt.

const (
	CardPaymentElementsCardAuthenticationChallengeAttemptsOutcomeSuccessful CardPaymentElementsCardAuthenticationChallengeAttemptsOutcome = "successful"
	CardPaymentElementsCardAuthenticationChallengeAttemptsOutcomeFailed     CardPaymentElementsCardAuthenticationChallengeAttemptsOutcome = "failed"
)

func (CardPaymentElementsCardAuthenticationChallengeAttemptsOutcome) IsKnown added in v0.178.0

type CardPaymentElementsCardAuthenticationChallengeVerificationMethod added in v0.178.0

type CardPaymentElementsCardAuthenticationChallengeVerificationMethod string

The method used to verify the Card Authentication Challenge.

const (
	CardPaymentElementsCardAuthenticationChallengeVerificationMethodTextMessage   CardPaymentElementsCardAuthenticationChallengeVerificationMethod = "text_message"
	CardPaymentElementsCardAuthenticationChallengeVerificationMethodEmail         CardPaymentElementsCardAuthenticationChallengeVerificationMethod = "email"
	CardPaymentElementsCardAuthenticationChallengeVerificationMethodNoneAvailable CardPaymentElementsCardAuthenticationChallengeVerificationMethod = "none_available"
)

func (CardPaymentElementsCardAuthenticationChallengeVerificationMethod) IsKnown added in v0.178.0

type CardPaymentElementsCardAuthenticationDenyReason added in v0.178.0

type CardPaymentElementsCardAuthenticationDenyReason string

The reason why this authentication attempt was denied, if it was.

const (
	CardPaymentElementsCardAuthenticationDenyReasonGroupLocked           CardPaymentElementsCardAuthenticationDenyReason = "group_locked"
	CardPaymentElementsCardAuthenticationDenyReasonCardNotActive         CardPaymentElementsCardAuthenticationDenyReason = "card_not_active"
	CardPaymentElementsCardAuthenticationDenyReasonEntityNotActive       CardPaymentElementsCardAuthenticationDenyReason = "entity_not_active"
	CardPaymentElementsCardAuthenticationDenyReasonTransactionNotAllowed CardPaymentElementsCardAuthenticationDenyReason = "transaction_not_allowed"
	CardPaymentElementsCardAuthenticationDenyReasonWebhookDenied         CardPaymentElementsCardAuthenticationDenyReason = "webhook_denied"
	CardPaymentElementsCardAuthenticationDenyReasonWebhookTimedOut       CardPaymentElementsCardAuthenticationDenyReason = "webhook_timed_out"
)

func (CardPaymentElementsCardAuthenticationDenyReason) IsKnown added in v0.178.0

type CardPaymentElementsCardAuthenticationDeviceChannel added in v0.178.0

type CardPaymentElementsCardAuthenticationDeviceChannel string

The device channel of the card authentication attempt.

const (
	CardPaymentElementsCardAuthenticationDeviceChannelApp                       CardPaymentElementsCardAuthenticationDeviceChannel = "app"
	CardPaymentElementsCardAuthenticationDeviceChannelBrowser                   CardPaymentElementsCardAuthenticationDeviceChannel = "browser"
	CardPaymentElementsCardAuthenticationDeviceChannelThreeDSRequestorInitiated CardPaymentElementsCardAuthenticationDeviceChannel = "three_ds_requestor_initiated"
)

func (CardPaymentElementsCardAuthenticationDeviceChannel) IsKnown added in v0.178.0

type CardPaymentElementsCardAuthenticationStatus added in v0.178.0

type CardPaymentElementsCardAuthenticationStatus string

The status of the card authentication.

const (
	CardPaymentElementsCardAuthenticationStatusDenied                        CardPaymentElementsCardAuthenticationStatus = "denied"
	CardPaymentElementsCardAuthenticationStatusAuthenticatedWithChallenge    CardPaymentElementsCardAuthenticationStatus = "authenticated_with_challenge"
	CardPaymentElementsCardAuthenticationStatusAuthenticatedWithoutChallenge CardPaymentElementsCardAuthenticationStatus = "authenticated_without_challenge"
	CardPaymentElementsCardAuthenticationStatusAwaitingChallenge             CardPaymentElementsCardAuthenticationStatus = "awaiting_challenge"
	CardPaymentElementsCardAuthenticationStatusValidatingChallenge           CardPaymentElementsCardAuthenticationStatus = "validating_challenge"
	CardPaymentElementsCardAuthenticationStatusCanceled                      CardPaymentElementsCardAuthenticationStatus = "canceled"
	CardPaymentElementsCardAuthenticationStatusTimedOutAwaitingChallenge     CardPaymentElementsCardAuthenticationStatus = "timed_out_awaiting_challenge"
	CardPaymentElementsCardAuthenticationStatusErrored                       CardPaymentElementsCardAuthenticationStatus = "errored"
	CardPaymentElementsCardAuthenticationStatusExceededAttemptThreshold      CardPaymentElementsCardAuthenticationStatus = "exceeded_attempt_threshold"
)

func (CardPaymentElementsCardAuthenticationStatus) IsKnown added in v0.178.0

type CardPaymentElementsCardAuthenticationType added in v0.178.0

type CardPaymentElementsCardAuthenticationType string

A constant representing the object's type. For this resource it will always be `card_authentication`.

const (
	CardPaymentElementsCardAuthenticationTypeCardAuthentication CardPaymentElementsCardAuthenticationType = "card_authentication"
)

func (CardPaymentElementsCardAuthenticationType) IsKnown added in v0.178.0

type CardPaymentElementsCardAuthorization

type CardPaymentElementsCardAuthorization struct {
	// The Card Authorization identifier.
	ID string `json:"id,required"`
	// Whether this authorization was approved by Increase, the card network through
	// stand-in processing, or the user through a real-time decision.
	Actioner CardPaymentElementsCardAuthorizationActioner `json:"actioner,required"`
	// The pending amount in the minor unit of the transaction's currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency CardPaymentElementsCardAuthorizationCurrency `json:"currency,required"`
	// If the authorization was made via a Digital Wallet Token (such as an Apple Pay
	// purchase), the identifier of the token that was used.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// The direction describes the direction the funds will move, either from the
	// cardholder to the merchant or from the merchant to the cardholder.
	Direction CardPaymentElementsCardAuthorizationDirection `json:"direction,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) when this authorization
	// will expire and the pending transaction will be released.
	ExpiresAt time.Time `json:"expires_at,required" format:"date-time"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor string `json:"merchant_descriptor,required"`
	// The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
	// ZIP code, where the first 5 and last 4 are separated by a dash.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails CardPaymentElementsCardAuthorizationNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardPaymentElementsCardAuthorizationNetworkIdentifiers `json:"network_identifiers,required"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore int64 `json:"network_risk_score,required,nullable"`
	// The identifier of the Pending Transaction associated with this Transaction.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// If the authorization was made in-person with a physical card, the Physical Card
	// that was used.
	PhysicalCardID string `json:"physical_card_id,required,nullable"`
	// The pending amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// The processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory CardPaymentElementsCardAuthorizationProcessingCategory `json:"processing_category,required"`
	// The identifier of the Real-Time Decision sent to approve or decline this
	// transaction.
	RealTimeDecisionID string `json:"real_time_decision_id,required,nullable"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID string `json:"terminal_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `card_authorization`.
	Type CardPaymentElementsCardAuthorizationType `json:"type,required"`
	// Fields related to verification of cardholder-provided values.
	Verification CardPaymentElementsCardAuthorizationVerification `json:"verification,required"`
	JSON         cardPaymentElementsCardAuthorizationJSON         `json:"-"`
}

A Card Authorization object. This field will be present in the JSON response if and only if `category` is equal to `card_authorization`. Card Authorizations are temporary holds placed on a customers funds with the intent to later clear a transaction.

func (*CardPaymentElementsCardAuthorization) UnmarshalJSON

func (r *CardPaymentElementsCardAuthorization) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthorizationActioner

type CardPaymentElementsCardAuthorizationActioner string

Whether this authorization was approved by Increase, the card network through stand-in processing, or the user through a real-time decision.

const (
	CardPaymentElementsCardAuthorizationActionerUser     CardPaymentElementsCardAuthorizationActioner = "user"
	CardPaymentElementsCardAuthorizationActionerIncrease CardPaymentElementsCardAuthorizationActioner = "increase"
	CardPaymentElementsCardAuthorizationActionerNetwork  CardPaymentElementsCardAuthorizationActioner = "network"
)

func (CardPaymentElementsCardAuthorizationActioner) IsKnown

type CardPaymentElementsCardAuthorizationCurrency

type CardPaymentElementsCardAuthorizationCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	CardPaymentElementsCardAuthorizationCurrencyCad CardPaymentElementsCardAuthorizationCurrency = "CAD"
	CardPaymentElementsCardAuthorizationCurrencyChf CardPaymentElementsCardAuthorizationCurrency = "CHF"
	CardPaymentElementsCardAuthorizationCurrencyEur CardPaymentElementsCardAuthorizationCurrency = "EUR"
	CardPaymentElementsCardAuthorizationCurrencyGbp CardPaymentElementsCardAuthorizationCurrency = "GBP"
	CardPaymentElementsCardAuthorizationCurrencyJpy CardPaymentElementsCardAuthorizationCurrency = "JPY"
	CardPaymentElementsCardAuthorizationCurrencyUsd CardPaymentElementsCardAuthorizationCurrency = "USD"
)

func (CardPaymentElementsCardAuthorizationCurrency) IsKnown

type CardPaymentElementsCardAuthorizationDirection

type CardPaymentElementsCardAuthorizationDirection string

The direction describes the direction the funds will move, either from the cardholder to the merchant or from the merchant to the cardholder.

const (
	CardPaymentElementsCardAuthorizationDirectionSettlement CardPaymentElementsCardAuthorizationDirection = "settlement"
	CardPaymentElementsCardAuthorizationDirectionRefund     CardPaymentElementsCardAuthorizationDirection = "refund"
)

func (CardPaymentElementsCardAuthorizationDirection) IsKnown

type CardPaymentElementsCardAuthorizationExpiration

type CardPaymentElementsCardAuthorizationExpiration struct {
	// The Card Authorization Expiration identifier.
	ID string `json:"id,required"`
	// The identifier for the Card Authorization this reverses.
	CardAuthorizationID string `json:"card_authorization_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the reversal's
	// currency.
	Currency CardPaymentElementsCardAuthorizationExpirationCurrency `json:"currency,required"`
	// The amount of this authorization expiration in the minor unit of the
	// transaction's currency. For dollars, for example, this is cents.
	ExpiredAmount int64 `json:"expired_amount,required"`
	// The card network used to process this card authorization.
	Network CardPaymentElementsCardAuthorizationExpirationNetwork `json:"network,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_authorization_expiration`.
	Type CardPaymentElementsCardAuthorizationExpirationType `json:"type,required"`
	JSON cardPaymentElementsCardAuthorizationExpirationJSON `json:"-"`
}

A Card Authorization Expiration object. This field will be present in the JSON response if and only if `category` is equal to `card_authorization_expiration`. Card Authorization Expirations are cancellations of authorizations that were never settled by the acquirer.

func (*CardPaymentElementsCardAuthorizationExpiration) UnmarshalJSON

func (r *CardPaymentElementsCardAuthorizationExpiration) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthorizationExpirationCurrency

type CardPaymentElementsCardAuthorizationExpirationCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the reversal's currency.

const (
	CardPaymentElementsCardAuthorizationExpirationCurrencyCad CardPaymentElementsCardAuthorizationExpirationCurrency = "CAD"
	CardPaymentElementsCardAuthorizationExpirationCurrencyChf CardPaymentElementsCardAuthorizationExpirationCurrency = "CHF"
	CardPaymentElementsCardAuthorizationExpirationCurrencyEur CardPaymentElementsCardAuthorizationExpirationCurrency = "EUR"
	CardPaymentElementsCardAuthorizationExpirationCurrencyGbp CardPaymentElementsCardAuthorizationExpirationCurrency = "GBP"
	CardPaymentElementsCardAuthorizationExpirationCurrencyJpy CardPaymentElementsCardAuthorizationExpirationCurrency = "JPY"
	CardPaymentElementsCardAuthorizationExpirationCurrencyUsd CardPaymentElementsCardAuthorizationExpirationCurrency = "USD"
)

func (CardPaymentElementsCardAuthorizationExpirationCurrency) IsKnown

type CardPaymentElementsCardAuthorizationExpirationNetwork

type CardPaymentElementsCardAuthorizationExpirationNetwork string

The card network used to process this card authorization.

const (
	CardPaymentElementsCardAuthorizationExpirationNetworkVisa CardPaymentElementsCardAuthorizationExpirationNetwork = "visa"
)

func (CardPaymentElementsCardAuthorizationExpirationNetwork) IsKnown

type CardPaymentElementsCardAuthorizationExpirationType

type CardPaymentElementsCardAuthorizationExpirationType string

A constant representing the object's type. For this resource it will always be `card_authorization_expiration`.

const (
	CardPaymentElementsCardAuthorizationExpirationTypeCardAuthorizationExpiration CardPaymentElementsCardAuthorizationExpirationType = "card_authorization_expiration"
)

func (CardPaymentElementsCardAuthorizationExpirationType) IsKnown

type CardPaymentElementsCardAuthorizationNetworkDetails

type CardPaymentElementsCardAuthorizationNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category CardPaymentElementsCardAuthorizationNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa CardPaymentElementsCardAuthorizationNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON cardPaymentElementsCardAuthorizationNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*CardPaymentElementsCardAuthorizationNetworkDetails) UnmarshalJSON

func (r *CardPaymentElementsCardAuthorizationNetworkDetails) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthorizationNetworkDetailsCategory

type CardPaymentElementsCardAuthorizationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	CardPaymentElementsCardAuthorizationNetworkDetailsCategoryVisa CardPaymentElementsCardAuthorizationNetworkDetailsCategory = "visa"
)

func (CardPaymentElementsCardAuthorizationNetworkDetailsCategory) IsKnown

type CardPaymentElementsCardAuthorizationNetworkDetailsVisa

type CardPaymentElementsCardAuthorizationNetworkDetailsVisa struct {
	// For electronic commerce transactions, this identifies the level of security used
	// in obtaining the customer's payment credential. For mail or telephone order
	// transactions, identifies the type of mail or telephone order.
	ElectronicCommerceIndicator CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	// Only present when `actioner: network`. Describes why a card authorization was
	// approved or declined by Visa through stand-in processing.
	StandInProcessingReason CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason `json:"stand_in_processing_reason,required,nullable"`
	JSON                    cardPaymentElementsCardAuthorizationNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*CardPaymentElementsCardAuthorizationNetworkDetailsVisa) UnmarshalJSON

func (r *CardPaymentElementsCardAuthorizationNetworkDetailsVisa) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator string

For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.

const (
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder                                          CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorRecurring                                               CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorInstallment                                             CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder                                   CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce                                CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction                     CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction                                    CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator) IsKnown

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode string

The method used to enter the cardholder's primary account number and card expiration date.

const (
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeUnknown                    CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeManual                     CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv        CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode                CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard      CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactless                CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile           CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe             CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe  CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode) IsKnown

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason added in v0.141.0

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason string

Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.

const (
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonIssuerError                                              CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard                                      CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue         CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInternalVisaError                                        CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonPaymentFraudDisruptionAcquirerBlock                      CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "payment_fraud_disruption_acquirer_block"
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonOther                                                    CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "other"
)

func (CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason) IsKnown added in v0.141.0

type CardPaymentElementsCardAuthorizationNetworkIdentifiers

type CardPaymentElementsCardAuthorizationNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                     `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardAuthorizationNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardPaymentElementsCardAuthorizationNetworkIdentifiers) UnmarshalJSON

func (r *CardPaymentElementsCardAuthorizationNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthorizationProcessingCategory

type CardPaymentElementsCardAuthorizationProcessingCategory string

The processing category describes the intent behind the authorization, such as whether it was used for bill payments or an automatic fuel dispenser.

const (
	CardPaymentElementsCardAuthorizationProcessingCategoryAccountFunding         CardPaymentElementsCardAuthorizationProcessingCategory = "account_funding"
	CardPaymentElementsCardAuthorizationProcessingCategoryAutomaticFuelDispenser CardPaymentElementsCardAuthorizationProcessingCategory = "automatic_fuel_dispenser"
	CardPaymentElementsCardAuthorizationProcessingCategoryBillPayment            CardPaymentElementsCardAuthorizationProcessingCategory = "bill_payment"
	CardPaymentElementsCardAuthorizationProcessingCategoryOriginalCredit         CardPaymentElementsCardAuthorizationProcessingCategory = "original_credit"
	CardPaymentElementsCardAuthorizationProcessingCategoryPurchase               CardPaymentElementsCardAuthorizationProcessingCategory = "purchase"
	CardPaymentElementsCardAuthorizationProcessingCategoryQuasiCash              CardPaymentElementsCardAuthorizationProcessingCategory = "quasi_cash"
	CardPaymentElementsCardAuthorizationProcessingCategoryRefund                 CardPaymentElementsCardAuthorizationProcessingCategory = "refund"
	CardPaymentElementsCardAuthorizationProcessingCategoryCashDisbursement       CardPaymentElementsCardAuthorizationProcessingCategory = "cash_disbursement"
	CardPaymentElementsCardAuthorizationProcessingCategoryUnknown                CardPaymentElementsCardAuthorizationProcessingCategory = "unknown"
)

func (CardPaymentElementsCardAuthorizationProcessingCategory) IsKnown

type CardPaymentElementsCardAuthorizationType

type CardPaymentElementsCardAuthorizationType string

A constant representing the object's type. For this resource it will always be `card_authorization`.

const (
	CardPaymentElementsCardAuthorizationTypeCardAuthorization CardPaymentElementsCardAuthorizationType = "card_authorization"
)

func (CardPaymentElementsCardAuthorizationType) IsKnown

type CardPaymentElementsCardAuthorizationVerification

type CardPaymentElementsCardAuthorizationVerification struct {
	// Fields related to verification of the Card Verification Code, a 3-digit code on
	// the back of the card.
	CardVerificationCode CardPaymentElementsCardAuthorizationVerificationCardVerificationCode `json:"card_verification_code,required"`
	// Cardholder address provided in the authorization request and the address on file
	// we verified it against.
	CardholderAddress CardPaymentElementsCardAuthorizationVerificationCardholderAddress `json:"cardholder_address,required"`
	JSON              cardPaymentElementsCardAuthorizationVerificationJSON              `json:"-"`
}

Fields related to verification of cardholder-provided values.

func (*CardPaymentElementsCardAuthorizationVerification) UnmarshalJSON

func (r *CardPaymentElementsCardAuthorizationVerification) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardAuthorizationVerificationCardVerificationCode

type CardPaymentElementsCardAuthorizationVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   cardPaymentElementsCardAuthorizationVerificationCardVerificationCodeJSON   `json:"-"`
}

Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

func (*CardPaymentElementsCardAuthorizationVerificationCardVerificationCode) UnmarshalJSON

type CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult

type CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResultNotChecked CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult = "not_checked"
	CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResultMatch      CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult = "match"
	CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResultNoMatch    CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult = "no_match"
)

func (CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult) IsKnown

type CardPaymentElementsCardAuthorizationVerificationCardholderAddress

type CardPaymentElementsCardAuthorizationVerificationCardholderAddress struct {
	// Line 1 of the address on file for the cardholder.
	ActualLine1 string `json:"actual_line1,required,nullable"`
	// The postal code of the address on file for the cardholder.
	ActualPostalCode string `json:"actual_postal_code,required,nullable"`
	// The cardholder address line 1 provided for verification in the authorization
	// request.
	ProvidedLine1 string `json:"provided_line1,required,nullable"`
	// The postal code provided for verification in the authorization request.
	ProvidedPostalCode string `json:"provided_postal_code,required,nullable"`
	// The address verification result returned to the card network.
	Result CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult `json:"result,required"`
	JSON   cardPaymentElementsCardAuthorizationVerificationCardholderAddressJSON   `json:"-"`
}

Cardholder address provided in the authorization request and the address on file we verified it against.

func (*CardPaymentElementsCardAuthorizationVerificationCardholderAddress) UnmarshalJSON

type CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult

type CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultNotChecked                       CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "not_checked"
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch    CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch    CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultMatch                            CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "match"
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultNoMatch                          CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "no_match"
)

func (CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult) IsKnown

type CardPaymentElementsCardDecline

type CardPaymentElementsCardDecline struct {
	// The Card Decline identifier.
	ID string `json:"id,required"`
	// Whether this authorization was approved by Increase, the card network through
	// stand-in processing, or the user through a real-time decision.
	Actioner CardPaymentElementsCardDeclineActioner `json:"actioner,required"`
	// The declined amount in the minor unit of the destination account currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency CardPaymentElementsCardDeclineCurrency `json:"currency,required"`
	// The identifier of the declined transaction created for this Card Decline.
	DeclinedTransactionID string `json:"declined_transaction_id,required"`
	// If the authorization was made via a Digital Wallet Token (such as an Apple Pay
	// purchase), the identifier of the token that was used.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// The direction describes the direction the funds will move, either from the
	// cardholder to the merchant or from the merchant to the cardholder.
	Direction CardPaymentElementsCardDeclineDirection `json:"direction,required"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor string `json:"merchant_descriptor,required"`
	// The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
	// ZIP code, where the first 5 and last 4 are separated by a dash.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails CardPaymentElementsCardDeclineNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardPaymentElementsCardDeclineNetworkIdentifiers `json:"network_identifiers,required"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore int64 `json:"network_risk_score,required,nullable"`
	// If the authorization was made in-person with a physical card, the Physical Card
	// that was used.
	PhysicalCardID string `json:"physical_card_id,required,nullable"`
	// The declined amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// The processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory CardPaymentElementsCardDeclineProcessingCategory `json:"processing_category,required"`
	// The identifier of the Real-Time Decision sent to approve or decline this
	// transaction.
	RealTimeDecisionID string `json:"real_time_decision_id,required,nullable"`
	// This is present if a specific decline reason was given in the real-time
	// decision.
	RealTimeDecisionReason CardPaymentElementsCardDeclineRealTimeDecisionReason `json:"real_time_decision_reason,required,nullable"`
	// Why the transaction was declined.
	Reason CardPaymentElementsCardDeclineReason `json:"reason,required"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID string `json:"terminal_id,required,nullable"`
	// Fields related to verification of cardholder-provided values.
	Verification CardPaymentElementsCardDeclineVerification `json:"verification,required"`
	JSON         cardPaymentElementsCardDeclineJSON         `json:"-"`
}

A Card Decline object. This field will be present in the JSON response if and only if `category` is equal to `card_decline`.

func (*CardPaymentElementsCardDecline) UnmarshalJSON

func (r *CardPaymentElementsCardDecline) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardDeclineActioner

type CardPaymentElementsCardDeclineActioner string

Whether this authorization was approved by Increase, the card network through stand-in processing, or the user through a real-time decision.

const (
	CardPaymentElementsCardDeclineActionerUser     CardPaymentElementsCardDeclineActioner = "user"
	CardPaymentElementsCardDeclineActionerIncrease CardPaymentElementsCardDeclineActioner = "increase"
	CardPaymentElementsCardDeclineActionerNetwork  CardPaymentElementsCardDeclineActioner = "network"
)

func (CardPaymentElementsCardDeclineActioner) IsKnown

type CardPaymentElementsCardDeclineCurrency

type CardPaymentElementsCardDeclineCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination account currency.

const (
	CardPaymentElementsCardDeclineCurrencyCad CardPaymentElementsCardDeclineCurrency = "CAD"
	CardPaymentElementsCardDeclineCurrencyChf CardPaymentElementsCardDeclineCurrency = "CHF"
	CardPaymentElementsCardDeclineCurrencyEur CardPaymentElementsCardDeclineCurrency = "EUR"
	CardPaymentElementsCardDeclineCurrencyGbp CardPaymentElementsCardDeclineCurrency = "GBP"
	CardPaymentElementsCardDeclineCurrencyJpy CardPaymentElementsCardDeclineCurrency = "JPY"
	CardPaymentElementsCardDeclineCurrencyUsd CardPaymentElementsCardDeclineCurrency = "USD"
)

func (CardPaymentElementsCardDeclineCurrency) IsKnown

type CardPaymentElementsCardDeclineDirection added in v0.118.0

type CardPaymentElementsCardDeclineDirection string

The direction describes the direction the funds will move, either from the cardholder to the merchant or from the merchant to the cardholder.

const (
	CardPaymentElementsCardDeclineDirectionSettlement CardPaymentElementsCardDeclineDirection = "settlement"
	CardPaymentElementsCardDeclineDirectionRefund     CardPaymentElementsCardDeclineDirection = "refund"
)

func (CardPaymentElementsCardDeclineDirection) IsKnown added in v0.118.0

type CardPaymentElementsCardDeclineNetworkDetails

type CardPaymentElementsCardDeclineNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category CardPaymentElementsCardDeclineNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa CardPaymentElementsCardDeclineNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON cardPaymentElementsCardDeclineNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*CardPaymentElementsCardDeclineNetworkDetails) UnmarshalJSON

func (r *CardPaymentElementsCardDeclineNetworkDetails) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardDeclineNetworkDetailsCategory

type CardPaymentElementsCardDeclineNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	CardPaymentElementsCardDeclineNetworkDetailsCategoryVisa CardPaymentElementsCardDeclineNetworkDetailsCategory = "visa"
)

func (CardPaymentElementsCardDeclineNetworkDetailsCategory) IsKnown

type CardPaymentElementsCardDeclineNetworkDetailsVisa

type CardPaymentElementsCardDeclineNetworkDetailsVisa struct {
	// For electronic commerce transactions, this identifies the level of security used
	// in obtaining the customer's payment credential. For mail or telephone order
	// transactions, identifies the type of mail or telephone order.
	ElectronicCommerceIndicator CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	// Only present when `actioner: network`. Describes why a card authorization was
	// approved or declined by Visa through stand-in processing.
	StandInProcessingReason CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason `json:"stand_in_processing_reason,required,nullable"`
	JSON                    cardPaymentElementsCardDeclineNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*CardPaymentElementsCardDeclineNetworkDetailsVisa) UnmarshalJSON

func (r *CardPaymentElementsCardDeclineNetworkDetailsVisa) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator

type CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator string

For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.

const (
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder                                          CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorRecurring                                               CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorInstallment                                             CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder                                   CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce                                CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction                     CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction                                    CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator) IsKnown

type CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode

type CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode string

The method used to enter the cardholder's primary account number and card expiration date.

const (
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeUnknown                    CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeManual                     CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv        CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeOpticalCode                CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard      CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactless                CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile           CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe             CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe  CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode) IsKnown

type CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason added in v0.141.0

type CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason string

Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.

const (
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonIssuerError                                              CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard                                      CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue         CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonInternalVisaError                                        CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonPaymentFraudDisruptionAcquirerBlock                      CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "payment_fraud_disruption_acquirer_block"
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonOther                                                    CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "other"
)

func (CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason) IsKnown added in v0.141.0

type CardPaymentElementsCardDeclineNetworkIdentifiers

type CardPaymentElementsCardDeclineNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                               `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardDeclineNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardPaymentElementsCardDeclineNetworkIdentifiers) UnmarshalJSON

func (r *CardPaymentElementsCardDeclineNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardDeclineProcessingCategory

type CardPaymentElementsCardDeclineProcessingCategory string

The processing category describes the intent behind the authorization, such as whether it was used for bill payments or an automatic fuel dispenser.

const (
	CardPaymentElementsCardDeclineProcessingCategoryAccountFunding         CardPaymentElementsCardDeclineProcessingCategory = "account_funding"
	CardPaymentElementsCardDeclineProcessingCategoryAutomaticFuelDispenser CardPaymentElementsCardDeclineProcessingCategory = "automatic_fuel_dispenser"
	CardPaymentElementsCardDeclineProcessingCategoryBillPayment            CardPaymentElementsCardDeclineProcessingCategory = "bill_payment"
	CardPaymentElementsCardDeclineProcessingCategoryOriginalCredit         CardPaymentElementsCardDeclineProcessingCategory = "original_credit"
	CardPaymentElementsCardDeclineProcessingCategoryPurchase               CardPaymentElementsCardDeclineProcessingCategory = "purchase"
	CardPaymentElementsCardDeclineProcessingCategoryQuasiCash              CardPaymentElementsCardDeclineProcessingCategory = "quasi_cash"
	CardPaymentElementsCardDeclineProcessingCategoryRefund                 CardPaymentElementsCardDeclineProcessingCategory = "refund"
	CardPaymentElementsCardDeclineProcessingCategoryCashDisbursement       CardPaymentElementsCardDeclineProcessingCategory = "cash_disbursement"
	CardPaymentElementsCardDeclineProcessingCategoryUnknown                CardPaymentElementsCardDeclineProcessingCategory = "unknown"
)

func (CardPaymentElementsCardDeclineProcessingCategory) IsKnown

type CardPaymentElementsCardDeclineRealTimeDecisionReason added in v0.155.0

type CardPaymentElementsCardDeclineRealTimeDecisionReason string

This is present if a specific decline reason was given in the real-time decision.

const (
	CardPaymentElementsCardDeclineRealTimeDecisionReasonInsufficientFunds       CardPaymentElementsCardDeclineRealTimeDecisionReason = "insufficient_funds"
	CardPaymentElementsCardDeclineRealTimeDecisionReasonTransactionNeverAllowed CardPaymentElementsCardDeclineRealTimeDecisionReason = "transaction_never_allowed"
	CardPaymentElementsCardDeclineRealTimeDecisionReasonExceedsApprovalLimit    CardPaymentElementsCardDeclineRealTimeDecisionReason = "exceeds_approval_limit"
	CardPaymentElementsCardDeclineRealTimeDecisionReasonCardTemporarilyDisabled CardPaymentElementsCardDeclineRealTimeDecisionReason = "card_temporarily_disabled"
	CardPaymentElementsCardDeclineRealTimeDecisionReasonSuspectedFraud          CardPaymentElementsCardDeclineRealTimeDecisionReason = "suspected_fraud"
	CardPaymentElementsCardDeclineRealTimeDecisionReasonOther                   CardPaymentElementsCardDeclineRealTimeDecisionReason = "other"
)

func (CardPaymentElementsCardDeclineRealTimeDecisionReason) IsKnown added in v0.155.0

type CardPaymentElementsCardDeclineReason

type CardPaymentElementsCardDeclineReason string

Why the transaction was declined.

const (
	CardPaymentElementsCardDeclineReasonAccountClosed                CardPaymentElementsCardDeclineReason = "account_closed"
	CardPaymentElementsCardDeclineReasonCardNotActive                CardPaymentElementsCardDeclineReason = "card_not_active"
	CardPaymentElementsCardDeclineReasonCardCanceled                 CardPaymentElementsCardDeclineReason = "card_canceled"
	CardPaymentElementsCardDeclineReasonPhysicalCardNotActive        CardPaymentElementsCardDeclineReason = "physical_card_not_active"
	CardPaymentElementsCardDeclineReasonEntityNotActive              CardPaymentElementsCardDeclineReason = "entity_not_active"
	CardPaymentElementsCardDeclineReasonGroupLocked                  CardPaymentElementsCardDeclineReason = "group_locked"
	CardPaymentElementsCardDeclineReasonInsufficientFunds            CardPaymentElementsCardDeclineReason = "insufficient_funds"
	CardPaymentElementsCardDeclineReasonCvv2Mismatch                 CardPaymentElementsCardDeclineReason = "cvv2_mismatch"
	CardPaymentElementsCardDeclineReasonPinMismatch                  CardPaymentElementsCardDeclineReason = "pin_mismatch"
	CardPaymentElementsCardDeclineReasonCardExpirationMismatch       CardPaymentElementsCardDeclineReason = "card_expiration_mismatch"
	CardPaymentElementsCardDeclineReasonTransactionNotAllowed        CardPaymentElementsCardDeclineReason = "transaction_not_allowed"
	CardPaymentElementsCardDeclineReasonBreachesLimit                CardPaymentElementsCardDeclineReason = "breaches_limit"
	CardPaymentElementsCardDeclineReasonWebhookDeclined              CardPaymentElementsCardDeclineReason = "webhook_declined"
	CardPaymentElementsCardDeclineReasonWebhookTimedOut              CardPaymentElementsCardDeclineReason = "webhook_timed_out"
	CardPaymentElementsCardDeclineReasonDeclinedByStandInProcessing  CardPaymentElementsCardDeclineReason = "declined_by_stand_in_processing"
	CardPaymentElementsCardDeclineReasonInvalidPhysicalCard          CardPaymentElementsCardDeclineReason = "invalid_physical_card"
	CardPaymentElementsCardDeclineReasonMissingOriginalAuthorization CardPaymentElementsCardDeclineReason = "missing_original_authorization"
	CardPaymentElementsCardDeclineReasonFailed3DSAuthentication      CardPaymentElementsCardDeclineReason = "failed_3ds_authentication"
	CardPaymentElementsCardDeclineReasonSuspectedCardTesting         CardPaymentElementsCardDeclineReason = "suspected_card_testing"
	CardPaymentElementsCardDeclineReasonSuspectedFraud               CardPaymentElementsCardDeclineReason = "suspected_fraud"
)

func (CardPaymentElementsCardDeclineReason) IsKnown

type CardPaymentElementsCardDeclineVerification

type CardPaymentElementsCardDeclineVerification struct {
	// Fields related to verification of the Card Verification Code, a 3-digit code on
	// the back of the card.
	CardVerificationCode CardPaymentElementsCardDeclineVerificationCardVerificationCode `json:"card_verification_code,required"`
	// Cardholder address provided in the authorization request and the address on file
	// we verified it against.
	CardholderAddress CardPaymentElementsCardDeclineVerificationCardholderAddress `json:"cardholder_address,required"`
	JSON              cardPaymentElementsCardDeclineVerificationJSON              `json:"-"`
}

Fields related to verification of cardholder-provided values.

func (*CardPaymentElementsCardDeclineVerification) UnmarshalJSON

func (r *CardPaymentElementsCardDeclineVerification) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardDeclineVerificationCardVerificationCode

type CardPaymentElementsCardDeclineVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   cardPaymentElementsCardDeclineVerificationCardVerificationCodeJSON   `json:"-"`
}

Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

func (*CardPaymentElementsCardDeclineVerificationCardVerificationCode) UnmarshalJSON

type CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult

type CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	CardPaymentElementsCardDeclineVerificationCardVerificationCodeResultNotChecked CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult = "not_checked"
	CardPaymentElementsCardDeclineVerificationCardVerificationCodeResultMatch      CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult = "match"
	CardPaymentElementsCardDeclineVerificationCardVerificationCodeResultNoMatch    CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult = "no_match"
)

func (CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult) IsKnown

type CardPaymentElementsCardDeclineVerificationCardholderAddress

type CardPaymentElementsCardDeclineVerificationCardholderAddress struct {
	// Line 1 of the address on file for the cardholder.
	ActualLine1 string `json:"actual_line1,required,nullable"`
	// The postal code of the address on file for the cardholder.
	ActualPostalCode string `json:"actual_postal_code,required,nullable"`
	// The cardholder address line 1 provided for verification in the authorization
	// request.
	ProvidedLine1 string `json:"provided_line1,required,nullable"`
	// The postal code provided for verification in the authorization request.
	ProvidedPostalCode string `json:"provided_postal_code,required,nullable"`
	// The address verification result returned to the card network.
	Result CardPaymentElementsCardDeclineVerificationCardholderAddressResult `json:"result,required"`
	JSON   cardPaymentElementsCardDeclineVerificationCardholderAddressJSON   `json:"-"`
}

Cardholder address provided in the authorization request and the address on file we verified it against.

func (*CardPaymentElementsCardDeclineVerificationCardholderAddress) UnmarshalJSON

type CardPaymentElementsCardDeclineVerificationCardholderAddressResult

type CardPaymentElementsCardDeclineVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultNotChecked                       CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "not_checked"
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch    CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch    CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultMatch                            CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "match"
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultNoMatch                          CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "no_match"
)

func (CardPaymentElementsCardDeclineVerificationCardholderAddressResult) IsKnown

type CardPaymentElementsCardFuelConfirmation

type CardPaymentElementsCardFuelConfirmation struct {
	// The Card Fuel Confirmation identifier.
	ID string `json:"id,required"`
	// The identifier for the Card Authorization this updates.
	CardAuthorizationID string `json:"card_authorization_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the increment's
	// currency.
	Currency CardPaymentElementsCardFuelConfirmationCurrency `json:"currency,required"`
	// The card network used to process this card authorization.
	Network CardPaymentElementsCardFuelConfirmationNetwork `json:"network,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardPaymentElementsCardFuelConfirmationNetworkIdentifiers `json:"network_identifiers,required"`
	// The identifier of the Pending Transaction associated with this Card Fuel
	// Confirmation.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `card_fuel_confirmation`.
	Type CardPaymentElementsCardFuelConfirmationType `json:"type,required"`
	// The updated authorization amount after this fuel confirmation, in the minor unit
	// of the transaction's currency. For dollars, for example, this is cents.
	UpdatedAuthorizationAmount int64                                       `json:"updated_authorization_amount,required"`
	JSON                       cardPaymentElementsCardFuelConfirmationJSON `json:"-"`
}

A Card Fuel Confirmation object. This field will be present in the JSON response if and only if `category` is equal to `card_fuel_confirmation`. Card Fuel Confirmations update the amount of a Card Authorization after a fuel pump transaction is completed.

func (*CardPaymentElementsCardFuelConfirmation) UnmarshalJSON

func (r *CardPaymentElementsCardFuelConfirmation) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardFuelConfirmationCurrency

type CardPaymentElementsCardFuelConfirmationCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the increment's currency.

const (
	CardPaymentElementsCardFuelConfirmationCurrencyCad CardPaymentElementsCardFuelConfirmationCurrency = "CAD"
	CardPaymentElementsCardFuelConfirmationCurrencyChf CardPaymentElementsCardFuelConfirmationCurrency = "CHF"
	CardPaymentElementsCardFuelConfirmationCurrencyEur CardPaymentElementsCardFuelConfirmationCurrency = "EUR"
	CardPaymentElementsCardFuelConfirmationCurrencyGbp CardPaymentElementsCardFuelConfirmationCurrency = "GBP"
	CardPaymentElementsCardFuelConfirmationCurrencyJpy CardPaymentElementsCardFuelConfirmationCurrency = "JPY"
	CardPaymentElementsCardFuelConfirmationCurrencyUsd CardPaymentElementsCardFuelConfirmationCurrency = "USD"
)

func (CardPaymentElementsCardFuelConfirmationCurrency) IsKnown

type CardPaymentElementsCardFuelConfirmationNetwork

type CardPaymentElementsCardFuelConfirmationNetwork string

The card network used to process this card authorization.

const (
	CardPaymentElementsCardFuelConfirmationNetworkVisa CardPaymentElementsCardFuelConfirmationNetwork = "visa"
)

func (CardPaymentElementsCardFuelConfirmationNetwork) IsKnown

type CardPaymentElementsCardFuelConfirmationNetworkIdentifiers

type CardPaymentElementsCardFuelConfirmationNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                        `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardFuelConfirmationNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardPaymentElementsCardFuelConfirmationNetworkIdentifiers) UnmarshalJSON

type CardPaymentElementsCardFuelConfirmationType

type CardPaymentElementsCardFuelConfirmationType string

A constant representing the object's type. For this resource it will always be `card_fuel_confirmation`.

const (
	CardPaymentElementsCardFuelConfirmationTypeCardFuelConfirmation CardPaymentElementsCardFuelConfirmationType = "card_fuel_confirmation"
)

func (CardPaymentElementsCardFuelConfirmationType) IsKnown

type CardPaymentElementsCardIncrement

type CardPaymentElementsCardIncrement struct {
	// The Card Increment identifier.
	ID string `json:"id,required"`
	// Whether this authorization was approved by Increase, the card network through
	// stand-in processing, or the user through a real-time decision.
	Actioner CardPaymentElementsCardIncrementActioner `json:"actioner,required"`
	// The amount of this increment in the minor unit of the transaction's currency.
	// For dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The identifier for the Card Authorization this increments.
	CardAuthorizationID string `json:"card_authorization_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the increment's
	// currency.
	Currency CardPaymentElementsCardIncrementCurrency `json:"currency,required"`
	// The card network used to process this card authorization.
	Network CardPaymentElementsCardIncrementNetwork `json:"network,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardPaymentElementsCardIncrementNetworkIdentifiers `json:"network_identifiers,required"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore int64 `json:"network_risk_score,required,nullable"`
	// The identifier of the Pending Transaction associated with this Card Increment.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// The identifier of the Real-Time Decision sent to approve or decline this
	// incremental authorization.
	RealTimeDecisionID string `json:"real_time_decision_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `card_increment`.
	Type CardPaymentElementsCardIncrementType `json:"type,required"`
	// The updated authorization amount after this increment, in the minor unit of the
	// transaction's currency. For dollars, for example, this is cents.
	UpdatedAuthorizationAmount int64                                `json:"updated_authorization_amount,required"`
	JSON                       cardPaymentElementsCardIncrementJSON `json:"-"`
}

A Card Increment object. This field will be present in the JSON response if and only if `category` is equal to `card_increment`. Card Increments increase the pending amount of an authorized transaction.

func (*CardPaymentElementsCardIncrement) UnmarshalJSON

func (r *CardPaymentElementsCardIncrement) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardIncrementActioner

type CardPaymentElementsCardIncrementActioner string

Whether this authorization was approved by Increase, the card network through stand-in processing, or the user through a real-time decision.

const (
	CardPaymentElementsCardIncrementActionerUser     CardPaymentElementsCardIncrementActioner = "user"
	CardPaymentElementsCardIncrementActionerIncrease CardPaymentElementsCardIncrementActioner = "increase"
	CardPaymentElementsCardIncrementActionerNetwork  CardPaymentElementsCardIncrementActioner = "network"
)

func (CardPaymentElementsCardIncrementActioner) IsKnown

type CardPaymentElementsCardIncrementCurrency

type CardPaymentElementsCardIncrementCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the increment's currency.

const (
	CardPaymentElementsCardIncrementCurrencyCad CardPaymentElementsCardIncrementCurrency = "CAD"
	CardPaymentElementsCardIncrementCurrencyChf CardPaymentElementsCardIncrementCurrency = "CHF"
	CardPaymentElementsCardIncrementCurrencyEur CardPaymentElementsCardIncrementCurrency = "EUR"
	CardPaymentElementsCardIncrementCurrencyGbp CardPaymentElementsCardIncrementCurrency = "GBP"
	CardPaymentElementsCardIncrementCurrencyJpy CardPaymentElementsCardIncrementCurrency = "JPY"
	CardPaymentElementsCardIncrementCurrencyUsd CardPaymentElementsCardIncrementCurrency = "USD"
)

func (CardPaymentElementsCardIncrementCurrency) IsKnown

type CardPaymentElementsCardIncrementNetwork

type CardPaymentElementsCardIncrementNetwork string

The card network used to process this card authorization.

const (
	CardPaymentElementsCardIncrementNetworkVisa CardPaymentElementsCardIncrementNetwork = "visa"
)

func (CardPaymentElementsCardIncrementNetwork) IsKnown

type CardPaymentElementsCardIncrementNetworkIdentifiers

type CardPaymentElementsCardIncrementNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                 `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardIncrementNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardPaymentElementsCardIncrementNetworkIdentifiers) UnmarshalJSON

func (r *CardPaymentElementsCardIncrementNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardIncrementType

type CardPaymentElementsCardIncrementType string

A constant representing the object's type. For this resource it will always be `card_increment`.

const (
	CardPaymentElementsCardIncrementTypeCardIncrement CardPaymentElementsCardIncrementType = "card_increment"
)

func (CardPaymentElementsCardIncrementType) IsKnown

type CardPaymentElementsCardRefund

type CardPaymentElementsCardRefund struct {
	// The Card Refund identifier.
	ID string `json:"id,required"`
	// The amount in the minor unit of the transaction's settlement currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// Cashback debited for this transaction, if eligible. Cashback is paid out in
	// aggregate, monthly.
	Cashback CardPaymentElementsCardRefundCashback `json:"cashback,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's settlement currency.
	Currency CardPaymentElementsCardRefundCurrency `json:"currency,required"`
	// Interchange assessed as a part of this transaciton.
	Interchange CardPaymentElementsCardRefundInterchange `json:"interchange,required,nullable"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The 4-digit MCC describing the merchant's business.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,required"`
	// The merchant's postal code. For US merchants this is always a 5-digit ZIP code.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Network-specific identifiers for this refund.
	NetworkIdentifiers CardPaymentElementsCardRefundNetworkIdentifiers `json:"network_identifiers,required"`
	// The amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// Additional details about the card purchase, such as tax and industry-specific
	// fields.
	PurchaseDetails CardPaymentElementsCardRefundPurchaseDetails `json:"purchase_details,required,nullable"`
	// The identifier of the Transaction associated with this Transaction.
	TransactionID string `json:"transaction_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_refund`.
	Type CardPaymentElementsCardRefundType `json:"type,required"`
	JSON cardPaymentElementsCardRefundJSON `json:"-"`
}

A Card Refund object. This field will be present in the JSON response if and only if `category` is equal to `card_refund`. Card Refunds move money back to the cardholder. While they are usually connected to a Card Settlement an acquirer can also refund money directly to a card without relation to a transaction.

func (*CardPaymentElementsCardRefund) UnmarshalJSON

func (r *CardPaymentElementsCardRefund) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundCashback added in v0.162.0

type CardPaymentElementsCardRefundCashback struct {
	// The cashback amount given as a string containing a decimal number. The amount is
	// a positive number if it will be credited to you (e.g., settlements) and a
	// negative number if it will be debited (e.g., refunds).
	Amount string `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.
	Currency CardPaymentElementsCardRefundCashbackCurrency `json:"currency,required"`
	JSON     cardPaymentElementsCardRefundCashbackJSON     `json:"-"`
}

Cashback debited for this transaction, if eligible. Cashback is paid out in aggregate, monthly.

func (*CardPaymentElementsCardRefundCashback) UnmarshalJSON added in v0.162.0

func (r *CardPaymentElementsCardRefundCashback) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundCashbackCurrency added in v0.162.0

type CardPaymentElementsCardRefundCashbackCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.

const (
	CardPaymentElementsCardRefundCashbackCurrencyCad CardPaymentElementsCardRefundCashbackCurrency = "CAD"
	CardPaymentElementsCardRefundCashbackCurrencyChf CardPaymentElementsCardRefundCashbackCurrency = "CHF"
	CardPaymentElementsCardRefundCashbackCurrencyEur CardPaymentElementsCardRefundCashbackCurrency = "EUR"
	CardPaymentElementsCardRefundCashbackCurrencyGbp CardPaymentElementsCardRefundCashbackCurrency = "GBP"
	CardPaymentElementsCardRefundCashbackCurrencyJpy CardPaymentElementsCardRefundCashbackCurrency = "JPY"
	CardPaymentElementsCardRefundCashbackCurrencyUsd CardPaymentElementsCardRefundCashbackCurrency = "USD"
)

func (CardPaymentElementsCardRefundCashbackCurrency) IsKnown added in v0.162.0

type CardPaymentElementsCardRefundCurrency

type CardPaymentElementsCardRefundCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's settlement currency.

const (
	CardPaymentElementsCardRefundCurrencyCad CardPaymentElementsCardRefundCurrency = "CAD"
	CardPaymentElementsCardRefundCurrencyChf CardPaymentElementsCardRefundCurrency = "CHF"
	CardPaymentElementsCardRefundCurrencyEur CardPaymentElementsCardRefundCurrency = "EUR"
	CardPaymentElementsCardRefundCurrencyGbp CardPaymentElementsCardRefundCurrency = "GBP"
	CardPaymentElementsCardRefundCurrencyJpy CardPaymentElementsCardRefundCurrency = "JPY"
	CardPaymentElementsCardRefundCurrencyUsd CardPaymentElementsCardRefundCurrency = "USD"
)

func (CardPaymentElementsCardRefundCurrency) IsKnown

type CardPaymentElementsCardRefundInterchange

type CardPaymentElementsCardRefundInterchange struct {
	// The interchange amount given as a string containing a decimal number in major
	// units (so e.g., "3.14" for $3.14). The amount is a positive number if it is
	// credited to Increase (e.g., settlements) and a negative number if it is debited
	// (e.g., refunds).
	Amount string `json:"amount,required"`
	// The card network specific interchange code.
	Code string `json:"code,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange
	// reimbursement.
	Currency CardPaymentElementsCardRefundInterchangeCurrency `json:"currency,required"`
	JSON     cardPaymentElementsCardRefundInterchangeJSON     `json:"-"`
}

Interchange assessed as a part of this transaciton.

func (*CardPaymentElementsCardRefundInterchange) UnmarshalJSON

func (r *CardPaymentElementsCardRefundInterchange) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundInterchangeCurrency

type CardPaymentElementsCardRefundInterchangeCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange reimbursement.

const (
	CardPaymentElementsCardRefundInterchangeCurrencyCad CardPaymentElementsCardRefundInterchangeCurrency = "CAD"
	CardPaymentElementsCardRefundInterchangeCurrencyChf CardPaymentElementsCardRefundInterchangeCurrency = "CHF"
	CardPaymentElementsCardRefundInterchangeCurrencyEur CardPaymentElementsCardRefundInterchangeCurrency = "EUR"
	CardPaymentElementsCardRefundInterchangeCurrencyGbp CardPaymentElementsCardRefundInterchangeCurrency = "GBP"
	CardPaymentElementsCardRefundInterchangeCurrencyJpy CardPaymentElementsCardRefundInterchangeCurrency = "JPY"
	CardPaymentElementsCardRefundInterchangeCurrencyUsd CardPaymentElementsCardRefundInterchangeCurrency = "USD"
)

func (CardPaymentElementsCardRefundInterchangeCurrency) IsKnown

type CardPaymentElementsCardRefundNetworkIdentifiers

type CardPaymentElementsCardRefundNetworkIdentifiers struct {
	// A network assigned business ID that identifies the acquirer that processed this
	// transaction.
	AcquirerBusinessID string `json:"acquirer_business_id,required"`
	// A globally unique identifier for this settlement.
	AcquirerReferenceNumber string `json:"acquirer_reference_number,required"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                              `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardRefundNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for this refund.

func (*CardPaymentElementsCardRefundNetworkIdentifiers) UnmarshalJSON

func (r *CardPaymentElementsCardRefundNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundPurchaseDetails

type CardPaymentElementsCardRefundPurchaseDetails struct {
	// Fields specific to car rentals.
	CarRental CardPaymentElementsCardRefundPurchaseDetailsCarRental `json:"car_rental,required,nullable"`
	// An identifier from the merchant for the customer or consumer.
	CustomerReferenceIdentifier string `json:"customer_reference_identifier,required,nullable"`
	// The state or provincial tax amount in minor units.
	LocalTaxAmount int64 `json:"local_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	LocalTaxCurrency string `json:"local_tax_currency,required,nullable"`
	// Fields specific to lodging.
	Lodging CardPaymentElementsCardRefundPurchaseDetailsLodging `json:"lodging,required,nullable"`
	// The national tax amount in minor units.
	NationalTaxAmount int64 `json:"national_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	NationalTaxCurrency string `json:"national_tax_currency,required,nullable"`
	// An identifier from the merchant for the purchase to the issuer and cardholder.
	PurchaseIdentifier string `json:"purchase_identifier,required,nullable"`
	// The format of the purchase identifier.
	PurchaseIdentifierFormat CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat `json:"purchase_identifier_format,required,nullable"`
	// Fields specific to travel.
	Travel CardPaymentElementsCardRefundPurchaseDetailsTravel `json:"travel,required,nullable"`
	JSON   cardPaymentElementsCardRefundPurchaseDetailsJSON   `json:"-"`
}

Additional details about the card purchase, such as tax and industry-specific fields.

func (*CardPaymentElementsCardRefundPurchaseDetails) UnmarshalJSON

func (r *CardPaymentElementsCardRefundPurchaseDetails) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundPurchaseDetailsCarRental

type CardPaymentElementsCardRefundPurchaseDetailsCarRental struct {
	// Code indicating the vehicle's class.
	CarClassCode string `json:"car_class_code,required,nullable"`
	// Date the customer picked up the car or, in the case of a no-show or pre-pay
	// transaction, the scheduled pick up date.
	CheckoutDate time.Time `json:"checkout_date,required,nullable" format:"date"`
	// Daily rate being charged for the vehicle.
	DailyRentalRateAmount int64 `json:"daily_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily rental
	// rate.
	DailyRentalRateCurrency string `json:"daily_rental_rate_currency,required,nullable"`
	// Number of days the vehicle was rented.
	DaysRented int64 `json:"days_rented,required,nullable"`
	// Additional charges (gas, late fee, etc.) being billed.
	ExtraCharges CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges `json:"extra_charges,required,nullable"`
	// Fuel charges for the vehicle.
	FuelChargesAmount int64 `json:"fuel_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the fuel charges
	// assessed.
	FuelChargesCurrency string `json:"fuel_charges_currency,required,nullable"`
	// Any insurance being charged for the vehicle.
	InsuranceChargesAmount int64 `json:"insurance_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the insurance
	// charges assessed.
	InsuranceChargesCurrency string `json:"insurance_charges_currency,required,nullable"`
	// An indicator that the cardholder is being billed for a reserved vehicle that was
	// not actually rented (that is, a "no-show" charge).
	NoShowIndicator CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Charges for returning the vehicle at a different location than where it was
	// picked up.
	OneWayDropOffChargesAmount int64 `json:"one_way_drop_off_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the one-way
	// drop-off charges assessed.
	OneWayDropOffChargesCurrency string `json:"one_way_drop_off_charges_currency,required,nullable"`
	// Name of the person renting the vehicle.
	RenterName string `json:"renter_name,required,nullable"`
	// Weekly rate being charged for the vehicle.
	WeeklyRentalRateAmount int64 `json:"weekly_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the weekly
	// rental rate.
	WeeklyRentalRateCurrency string                                                    `json:"weekly_rental_rate_currency,required,nullable"`
	JSON                     cardPaymentElementsCardRefundPurchaseDetailsCarRentalJSON `json:"-"`
}

Fields specific to car rentals.

func (*CardPaymentElementsCardRefundPurchaseDetailsCarRental) UnmarshalJSON

func (r *CardPaymentElementsCardRefundPurchaseDetailsCarRental) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges

type CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges string

Additional charges (gas, late fee, etc.) being billed.

const (
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesNoExtraCharge    CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesGas              CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "gas"
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesExtraMileage     CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesLateReturn       CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "late_return"
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesOneWayServiceFee CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesParkingViolation CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "parking_violation"
)

func (CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator

type CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator string

An indicator that the cardholder is being billed for a reserved vehicle that was not actually rented (that is, a "no-show" charge).

const (
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicatorNotApplicable               CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicatorNoShowForSpecializedVehicle CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator = "no_show_for_specialized_vehicle"
)

func (CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsLodging

type CardPaymentElementsCardRefundPurchaseDetailsLodging struct {
	// Date the customer checked in.
	CheckInDate time.Time `json:"check_in_date,required,nullable" format:"date"`
	// Daily rate being charged for the room.
	DailyRoomRateAmount int64 `json:"daily_room_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily room
	// rate.
	DailyRoomRateCurrency string `json:"daily_room_rate_currency,required,nullable"`
	// Additional charges (phone, late check-out, etc.) being billed.
	ExtraCharges CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges `json:"extra_charges,required,nullable"`
	// Folio cash advances for the room.
	FolioCashAdvancesAmount int64 `json:"folio_cash_advances_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the folio cash
	// advances.
	FolioCashAdvancesCurrency string `json:"folio_cash_advances_currency,required,nullable"`
	// Food and beverage charges for the room.
	FoodBeverageChargesAmount int64 `json:"food_beverage_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the food and
	// beverage charges.
	FoodBeverageChargesCurrency string `json:"food_beverage_charges_currency,required,nullable"`
	// Indicator that the cardholder is being billed for a reserved room that was not
	// actually used.
	NoShowIndicator CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Prepaid expenses being charged for the room.
	PrepaidExpensesAmount int64 `json:"prepaid_expenses_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the prepaid
	// expenses.
	PrepaidExpensesCurrency string `json:"prepaid_expenses_currency,required,nullable"`
	// Number of nights the room was rented.
	RoomNights int64 `json:"room_nights,required,nullable"`
	// Total room tax being charged.
	TotalRoomTaxAmount int64 `json:"total_room_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total room
	// tax.
	TotalRoomTaxCurrency string `json:"total_room_tax_currency,required,nullable"`
	// Total tax being charged for the room.
	TotalTaxAmount int64 `json:"total_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total tax
	// assessed.
	TotalTaxCurrency string                                                  `json:"total_tax_currency,required,nullable"`
	JSON             cardPaymentElementsCardRefundPurchaseDetailsLodgingJSON `json:"-"`
}

Fields specific to lodging.

func (*CardPaymentElementsCardRefundPurchaseDetailsLodging) UnmarshalJSON

func (r *CardPaymentElementsCardRefundPurchaseDetailsLodging) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges

type CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges string

Additional charges (phone, late check-out, etc.) being billed.

const (
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesNoExtraCharge CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesRestaurant    CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "restaurant"
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesGiftShop      CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "gift_shop"
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesMiniBar       CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "mini_bar"
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesTelephone     CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "telephone"
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesOther         CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "other"
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesLaundry       CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "laundry"
)

func (CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator

type CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator string

Indicator that the cardholder is being billed for a reserved room that was not actually used.

const (
	CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicatorNotApplicable CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicatorNoShow        CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat

type CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatFreeText              CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatOrderNumber           CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber      CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatInvoiceNumber         CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "invoice_number"
)

func (CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravel

type CardPaymentElementsCardRefundPurchaseDetailsTravel struct {
	// Ancillary purchases in addition to the airfare.
	Ancillary CardPaymentElementsCardRefundPurchaseDetailsTravelAncillary `json:"ancillary,required,nullable"`
	// Indicates the computerized reservation system used to book the ticket.
	ComputerizedReservationSystem string `json:"computerized_reservation_system,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Date of departure.
	DepartureDate time.Time `json:"departure_date,required,nullable" format:"date"`
	// Code for the originating city or airport.
	OriginationCityAirportCode string `json:"origination_city_airport_code,required,nullable"`
	// Name of the passenger.
	PassengerName string `json:"passenger_name,required,nullable"`
	// Indicates whether this ticket is non-refundable.
	RestrictedTicketIndicator CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator `json:"restricted_ticket_indicator,required,nullable"`
	// Indicates why a ticket was changed.
	TicketChangeIndicator CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator `json:"ticket_change_indicator,required,nullable"`
	// Ticket number.
	TicketNumber string `json:"ticket_number,required,nullable"`
	// Code for the travel agency if the ticket was issued by a travel agency.
	TravelAgencyCode string `json:"travel_agency_code,required,nullable"`
	// Name of the travel agency if the ticket was issued by a travel agency.
	TravelAgencyName string `json:"travel_agency_name,required,nullable"`
	// Fields specific to each leg of the journey.
	TripLegs []CardPaymentElementsCardRefundPurchaseDetailsTravelTripLeg `json:"trip_legs,required,nullable"`
	JSON     cardPaymentElementsCardRefundPurchaseDetailsTravelJSON      `json:"-"`
}

Fields specific to travel.

func (*CardPaymentElementsCardRefundPurchaseDetailsTravel) UnmarshalJSON

func (r *CardPaymentElementsCardRefundPurchaseDetailsTravel) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillary

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillary struct {
	// If this purchase has a connection or relationship to another purchase, such as a
	// baggage fee for a passenger transport ticket, this field should contain the
	// ticket document number for the other purchase.
	ConnectedTicketDocumentNumber string `json:"connected_ticket_document_number,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Name of the passenger or description of the ancillary purchase.
	PassengerNameOrDescription string `json:"passenger_name_or_description,required,nullable"`
	// Additional travel charges, such as baggage fees.
	Services []CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryService `json:"services,required"`
	// Ticket document number.
	TicketDocumentNumber string                                                          `json:"ticket_document_number,required,nullable"`
	JSON                 cardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryJSON `json:"-"`
}

Ancillary purchases in addition to the airfare.

func (*CardPaymentElementsCardRefundPurchaseDetailsTravelAncillary) UnmarshalJSON

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit                                                        CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorOther                                                           CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "other"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryService

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryService struct {
	// Category of the ancillary service.
	Category CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory `json:"category,required,nullable"`
	// Sub-category of the ancillary service, free-form.
	SubCategory string                                                                 `json:"sub_category,required,nullable"`
	JSON        cardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServiceJSON `json:"-"`
}

func (*CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryService) UnmarshalJSON

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory string

Category of the ancillary service.

const (
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryNone                  CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "none"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBundledService        CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee            CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryChangeFee             CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCargo                 CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset          CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer         CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGiftCard              CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport       CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryLounge                CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMedical               CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage          CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryOther                 CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "other"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee    CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPets                  CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategorySeatFees              CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStandby               CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryServiceFee            CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStore                 CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "store"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryTravelService         CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel   CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUpgrades              CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryWifi                  CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator

type CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorNoCredit                                                        CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation                                       CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorOther                                                           CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "other"
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket                                    CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator

type CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions                CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator

type CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicatorNone                   CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator = "none"
	CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicatorNewTicket              CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator = "new_ticket"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelTripLeg

type CardPaymentElementsCardRefundPurchaseDetailsTravelTripLeg struct {
	// Carrier code (e.g., United Airlines, Jet Blue, etc.).
	CarrierCode string `json:"carrier_code,required,nullable"`
	// Code for the destination city or airport.
	DestinationCityAirportCode string `json:"destination_city_airport_code,required,nullable"`
	// Fare basis code.
	FareBasisCode string `json:"fare_basis_code,required,nullable"`
	// Flight number.
	FlightNumber string `json:"flight_number,required,nullable"`
	// Service class (e.g., first class, business class, etc.).
	ServiceClass string `json:"service_class,required,nullable"`
	// Indicates whether a stopover is allowed on this ticket.
	StopOverCode CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode `json:"stop_over_code,required,nullable"`
	JSON         cardPaymentElementsCardRefundPurchaseDetailsTravelTripLegJSON          `json:"-"`
}

func (*CardPaymentElementsCardRefundPurchaseDetailsTravelTripLeg) UnmarshalJSON

type CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode

type CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode string

Indicates whether a stopover is allowed on this ticket.

const (
	CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCodeNone               CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "none"
	CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed    CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverNotAllowed CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_not_allowed"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode) IsKnown

type CardPaymentElementsCardRefundType

type CardPaymentElementsCardRefundType string

A constant representing the object's type. For this resource it will always be `card_refund`.

const (
	CardPaymentElementsCardRefundTypeCardRefund CardPaymentElementsCardRefundType = "card_refund"
)

func (CardPaymentElementsCardRefundType) IsKnown

type CardPaymentElementsCardReversal

type CardPaymentElementsCardReversal struct {
	// The Card Reversal identifier.
	ID string `json:"id,required"`
	// The identifier for the Card Authorization this reverses.
	CardAuthorizationID string `json:"card_authorization_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the reversal's
	// currency.
	Currency CardPaymentElementsCardReversalCurrency `json:"currency,required"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required,nullable"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor string `json:"merchant_descriptor,required"`
	// The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
	// ZIP code, where the first 5 and last 4 are separated by a dash.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// The card network used to process this card authorization.
	Network CardPaymentElementsCardReversalNetwork `json:"network,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardPaymentElementsCardReversalNetworkIdentifiers `json:"network_identifiers,required"`
	// The identifier of the Pending Transaction associated with this Card Reversal.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// The amount of this reversal in the minor unit of the transaction's currency. For
	// dollars, for example, this is cents.
	ReversalAmount int64 `json:"reversal_amount,required"`
	// Why this reversal was initiated.
	ReversalReason CardPaymentElementsCardReversalReversalReason `json:"reversal_reason,required,nullable"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID string `json:"terminal_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `card_reversal`.
	Type CardPaymentElementsCardReversalType `json:"type,required"`
	// The amount left pending on the Card Authorization in the minor unit of the
	// transaction's currency. For dollars, for example, this is cents.
	UpdatedAuthorizationAmount int64                               `json:"updated_authorization_amount,required"`
	JSON                       cardPaymentElementsCardReversalJSON `json:"-"`
}

A Card Reversal object. This field will be present in the JSON response if and only if `category` is equal to `card_reversal`. Card Reversals cancel parts of or the entirety of an existing Card Authorization.

func (*CardPaymentElementsCardReversal) UnmarshalJSON

func (r *CardPaymentElementsCardReversal) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardReversalCurrency

type CardPaymentElementsCardReversalCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the reversal's currency.

const (
	CardPaymentElementsCardReversalCurrencyCad CardPaymentElementsCardReversalCurrency = "CAD"
	CardPaymentElementsCardReversalCurrencyChf CardPaymentElementsCardReversalCurrency = "CHF"
	CardPaymentElementsCardReversalCurrencyEur CardPaymentElementsCardReversalCurrency = "EUR"
	CardPaymentElementsCardReversalCurrencyGbp CardPaymentElementsCardReversalCurrency = "GBP"
	CardPaymentElementsCardReversalCurrencyJpy CardPaymentElementsCardReversalCurrency = "JPY"
	CardPaymentElementsCardReversalCurrencyUsd CardPaymentElementsCardReversalCurrency = "USD"
)

func (CardPaymentElementsCardReversalCurrency) IsKnown

type CardPaymentElementsCardReversalNetwork

type CardPaymentElementsCardReversalNetwork string

The card network used to process this card authorization.

const (
	CardPaymentElementsCardReversalNetworkVisa CardPaymentElementsCardReversalNetwork = "visa"
)

func (CardPaymentElementsCardReversalNetwork) IsKnown

type CardPaymentElementsCardReversalNetworkIdentifiers

type CardPaymentElementsCardReversalNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardReversalNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardPaymentElementsCardReversalNetworkIdentifiers) UnmarshalJSON

func (r *CardPaymentElementsCardReversalNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardReversalReversalReason

type CardPaymentElementsCardReversalReversalReason string

Why this reversal was initiated.

const (
	CardPaymentElementsCardReversalReversalReasonReversedByCustomer          CardPaymentElementsCardReversalReversalReason = "reversed_by_customer"
	CardPaymentElementsCardReversalReversalReasonReversedByNetworkOrAcquirer CardPaymentElementsCardReversalReversalReason = "reversed_by_network_or_acquirer"
	CardPaymentElementsCardReversalReversalReasonReversedByPointOfSale       CardPaymentElementsCardReversalReversalReason = "reversed_by_point_of_sale"
	CardPaymentElementsCardReversalReversalReasonPartialReversal             CardPaymentElementsCardReversalReversalReason = "partial_reversal"
)

func (CardPaymentElementsCardReversalReversalReason) IsKnown

type CardPaymentElementsCardReversalType

type CardPaymentElementsCardReversalType string

A constant representing the object's type. For this resource it will always be `card_reversal`.

const (
	CardPaymentElementsCardReversalTypeCardReversal CardPaymentElementsCardReversalType = "card_reversal"
)

func (CardPaymentElementsCardReversalType) IsKnown

type CardPaymentElementsCardSettlement

type CardPaymentElementsCardSettlement struct {
	// The Card Settlement identifier.
	ID string `json:"id,required"`
	// The amount in the minor unit of the transaction's settlement currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The Card Authorization that was created prior to this Card Settlement, if one
	// exists.
	CardAuthorization string `json:"card_authorization,required,nullable"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// Cashback earned on this transaction, if eligible. Cashback is paid out in
	// aggregate, monthly.
	Cashback CardPaymentElementsCardSettlementCashback `json:"cashback,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's settlement currency.
	Currency CardPaymentElementsCardSettlementCurrency `json:"currency,required"`
	// Interchange assessed as a part of this transaction.
	Interchange CardPaymentElementsCardSettlementInterchange `json:"interchange,required,nullable"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The 4-digit MCC describing the merchant's business.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,required"`
	// The merchant's postal code. For US merchants this is always a 5-digit ZIP code.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Network-specific identifiers for this refund.
	NetworkIdentifiers CardPaymentElementsCardSettlementNetworkIdentifiers `json:"network_identifiers,required"`
	// The identifier of the Pending Transaction associated with this Transaction.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// The amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// Additional details about the card purchase, such as tax and industry-specific
	// fields.
	PurchaseDetails CardPaymentElementsCardSettlementPurchaseDetails `json:"purchase_details,required,nullable"`
	// The identifier of the Transaction associated with this Transaction.
	TransactionID string `json:"transaction_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_settlement`.
	Type CardPaymentElementsCardSettlementType `json:"type,required"`
	JSON cardPaymentElementsCardSettlementJSON `json:"-"`
}

A Card Settlement object. This field will be present in the JSON response if and only if `category` is equal to `card_settlement`. Card Settlements are card transactions that have cleared and settled. While a settlement is usually preceded by an authorization, an acquirer can also directly clear a transaction without first authorizing it.

func (*CardPaymentElementsCardSettlement) UnmarshalJSON

func (r *CardPaymentElementsCardSettlement) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardSettlementCashback added in v0.162.0

type CardPaymentElementsCardSettlementCashback struct {
	// The cashback amount given as a string containing a decimal number. The amount is
	// a positive number if it will be credited to you (e.g., settlements) and a
	// negative number if it will be debited (e.g., refunds).
	Amount string `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.
	Currency CardPaymentElementsCardSettlementCashbackCurrency `json:"currency,required"`
	JSON     cardPaymentElementsCardSettlementCashbackJSON     `json:"-"`
}

Cashback earned on this transaction, if eligible. Cashback is paid out in aggregate, monthly.

func (*CardPaymentElementsCardSettlementCashback) UnmarshalJSON added in v0.162.0

func (r *CardPaymentElementsCardSettlementCashback) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardSettlementCashbackCurrency added in v0.162.0

type CardPaymentElementsCardSettlementCashbackCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.

const (
	CardPaymentElementsCardSettlementCashbackCurrencyCad CardPaymentElementsCardSettlementCashbackCurrency = "CAD"
	CardPaymentElementsCardSettlementCashbackCurrencyChf CardPaymentElementsCardSettlementCashbackCurrency = "CHF"
	CardPaymentElementsCardSettlementCashbackCurrencyEur CardPaymentElementsCardSettlementCashbackCurrency = "EUR"
	CardPaymentElementsCardSettlementCashbackCurrencyGbp CardPaymentElementsCardSettlementCashbackCurrency = "GBP"
	CardPaymentElementsCardSettlementCashbackCurrencyJpy CardPaymentElementsCardSettlementCashbackCurrency = "JPY"
	CardPaymentElementsCardSettlementCashbackCurrencyUsd CardPaymentElementsCardSettlementCashbackCurrency = "USD"
)

func (CardPaymentElementsCardSettlementCashbackCurrency) IsKnown added in v0.162.0

type CardPaymentElementsCardSettlementCurrency

type CardPaymentElementsCardSettlementCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's settlement currency.

const (
	CardPaymentElementsCardSettlementCurrencyCad CardPaymentElementsCardSettlementCurrency = "CAD"
	CardPaymentElementsCardSettlementCurrencyChf CardPaymentElementsCardSettlementCurrency = "CHF"
	CardPaymentElementsCardSettlementCurrencyEur CardPaymentElementsCardSettlementCurrency = "EUR"
	CardPaymentElementsCardSettlementCurrencyGbp CardPaymentElementsCardSettlementCurrency = "GBP"
	CardPaymentElementsCardSettlementCurrencyJpy CardPaymentElementsCardSettlementCurrency = "JPY"
	CardPaymentElementsCardSettlementCurrencyUsd CardPaymentElementsCardSettlementCurrency = "USD"
)

func (CardPaymentElementsCardSettlementCurrency) IsKnown

type CardPaymentElementsCardSettlementInterchange

type CardPaymentElementsCardSettlementInterchange struct {
	// The interchange amount given as a string containing a decimal number in major
	// units (so e.g., "3.14" for $3.14). The amount is a positive number if it is
	// credited to Increase (e.g., settlements) and a negative number if it is debited
	// (e.g., refunds).
	Amount string `json:"amount,required"`
	// The card network specific interchange code.
	Code string `json:"code,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange
	// reimbursement.
	Currency CardPaymentElementsCardSettlementInterchangeCurrency `json:"currency,required"`
	JSON     cardPaymentElementsCardSettlementInterchangeJSON     `json:"-"`
}

Interchange assessed as a part of this transaction.

func (*CardPaymentElementsCardSettlementInterchange) UnmarshalJSON

func (r *CardPaymentElementsCardSettlementInterchange) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardSettlementInterchangeCurrency

type CardPaymentElementsCardSettlementInterchangeCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange reimbursement.

const (
	CardPaymentElementsCardSettlementInterchangeCurrencyCad CardPaymentElementsCardSettlementInterchangeCurrency = "CAD"
	CardPaymentElementsCardSettlementInterchangeCurrencyChf CardPaymentElementsCardSettlementInterchangeCurrency = "CHF"
	CardPaymentElementsCardSettlementInterchangeCurrencyEur CardPaymentElementsCardSettlementInterchangeCurrency = "EUR"
	CardPaymentElementsCardSettlementInterchangeCurrencyGbp CardPaymentElementsCardSettlementInterchangeCurrency = "GBP"
	CardPaymentElementsCardSettlementInterchangeCurrencyJpy CardPaymentElementsCardSettlementInterchangeCurrency = "JPY"
	CardPaymentElementsCardSettlementInterchangeCurrencyUsd CardPaymentElementsCardSettlementInterchangeCurrency = "USD"
)

func (CardPaymentElementsCardSettlementInterchangeCurrency) IsKnown

type CardPaymentElementsCardSettlementNetworkIdentifiers

type CardPaymentElementsCardSettlementNetworkIdentifiers struct {
	// A network assigned business ID that identifies the acquirer that processed this
	// transaction.
	AcquirerBusinessID string `json:"acquirer_business_id,required"`
	// A globally unique identifier for this settlement.
	AcquirerReferenceNumber string `json:"acquirer_reference_number,required"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                  `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardSettlementNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for this refund.

func (*CardPaymentElementsCardSettlementNetworkIdentifiers) UnmarshalJSON

func (r *CardPaymentElementsCardSettlementNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardSettlementPurchaseDetails

type CardPaymentElementsCardSettlementPurchaseDetails struct {
	// Fields specific to car rentals.
	CarRental CardPaymentElementsCardSettlementPurchaseDetailsCarRental `json:"car_rental,required,nullable"`
	// An identifier from the merchant for the customer or consumer.
	CustomerReferenceIdentifier string `json:"customer_reference_identifier,required,nullable"`
	// The state or provincial tax amount in minor units.
	LocalTaxAmount int64 `json:"local_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	LocalTaxCurrency string `json:"local_tax_currency,required,nullable"`
	// Fields specific to lodging.
	Lodging CardPaymentElementsCardSettlementPurchaseDetailsLodging `json:"lodging,required,nullable"`
	// The national tax amount in minor units.
	NationalTaxAmount int64 `json:"national_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	NationalTaxCurrency string `json:"national_tax_currency,required,nullable"`
	// An identifier from the merchant for the purchase to the issuer and cardholder.
	PurchaseIdentifier string `json:"purchase_identifier,required,nullable"`
	// The format of the purchase identifier.
	PurchaseIdentifierFormat CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat `json:"purchase_identifier_format,required,nullable"`
	// Fields specific to travel.
	Travel CardPaymentElementsCardSettlementPurchaseDetailsTravel `json:"travel,required,nullable"`
	JSON   cardPaymentElementsCardSettlementPurchaseDetailsJSON   `json:"-"`
}

Additional details about the card purchase, such as tax and industry-specific fields.

func (*CardPaymentElementsCardSettlementPurchaseDetails) UnmarshalJSON

func (r *CardPaymentElementsCardSettlementPurchaseDetails) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardSettlementPurchaseDetailsCarRental

type CardPaymentElementsCardSettlementPurchaseDetailsCarRental struct {
	// Code indicating the vehicle's class.
	CarClassCode string `json:"car_class_code,required,nullable"`
	// Date the customer picked up the car or, in the case of a no-show or pre-pay
	// transaction, the scheduled pick up date.
	CheckoutDate time.Time `json:"checkout_date,required,nullable" format:"date"`
	// Daily rate being charged for the vehicle.
	DailyRentalRateAmount int64 `json:"daily_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily rental
	// rate.
	DailyRentalRateCurrency string `json:"daily_rental_rate_currency,required,nullable"`
	// Number of days the vehicle was rented.
	DaysRented int64 `json:"days_rented,required,nullable"`
	// Additional charges (gas, late fee, etc.) being billed.
	ExtraCharges CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges `json:"extra_charges,required,nullable"`
	// Fuel charges for the vehicle.
	FuelChargesAmount int64 `json:"fuel_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the fuel charges
	// assessed.
	FuelChargesCurrency string `json:"fuel_charges_currency,required,nullable"`
	// Any insurance being charged for the vehicle.
	InsuranceChargesAmount int64 `json:"insurance_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the insurance
	// charges assessed.
	InsuranceChargesCurrency string `json:"insurance_charges_currency,required,nullable"`
	// An indicator that the cardholder is being billed for a reserved vehicle that was
	// not actually rented (that is, a "no-show" charge).
	NoShowIndicator CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Charges for returning the vehicle at a different location than where it was
	// picked up.
	OneWayDropOffChargesAmount int64 `json:"one_way_drop_off_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the one-way
	// drop-off charges assessed.
	OneWayDropOffChargesCurrency string `json:"one_way_drop_off_charges_currency,required,nullable"`
	// Name of the person renting the vehicle.
	RenterName string `json:"renter_name,required,nullable"`
	// Weekly rate being charged for the vehicle.
	WeeklyRentalRateAmount int64 `json:"weekly_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the weekly
	// rental rate.
	WeeklyRentalRateCurrency string                                                        `json:"weekly_rental_rate_currency,required,nullable"`
	JSON                     cardPaymentElementsCardSettlementPurchaseDetailsCarRentalJSON `json:"-"`
}

Fields specific to car rentals.

func (*CardPaymentElementsCardSettlementPurchaseDetailsCarRental) UnmarshalJSON

type CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges

type CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges string

Additional charges (gas, late fee, etc.) being billed.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesNoExtraCharge    CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesGas              CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "gas"
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesExtraMileage     CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesLateReturn       CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "late_return"
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesOneWayServiceFee CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesParkingViolation CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "parking_violation"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator string

An indicator that the cardholder is being billed for a reserved vehicle that was not actually rented (that is, a "no-show" charge).

const (
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNotApplicable               CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNoShowForSpecializedVehicle CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "no_show_for_specialized_vehicle"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsLodging

type CardPaymentElementsCardSettlementPurchaseDetailsLodging struct {
	// Date the customer checked in.
	CheckInDate time.Time `json:"check_in_date,required,nullable" format:"date"`
	// Daily rate being charged for the room.
	DailyRoomRateAmount int64 `json:"daily_room_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily room
	// rate.
	DailyRoomRateCurrency string `json:"daily_room_rate_currency,required,nullable"`
	// Additional charges (phone, late check-out, etc.) being billed.
	ExtraCharges CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges `json:"extra_charges,required,nullable"`
	// Folio cash advances for the room.
	FolioCashAdvancesAmount int64 `json:"folio_cash_advances_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the folio cash
	// advances.
	FolioCashAdvancesCurrency string `json:"folio_cash_advances_currency,required,nullable"`
	// Food and beverage charges for the room.
	FoodBeverageChargesAmount int64 `json:"food_beverage_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the food and
	// beverage charges.
	FoodBeverageChargesCurrency string `json:"food_beverage_charges_currency,required,nullable"`
	// Indicator that the cardholder is being billed for a reserved room that was not
	// actually used.
	NoShowIndicator CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Prepaid expenses being charged for the room.
	PrepaidExpensesAmount int64 `json:"prepaid_expenses_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the prepaid
	// expenses.
	PrepaidExpensesCurrency string `json:"prepaid_expenses_currency,required,nullable"`
	// Number of nights the room was rented.
	RoomNights int64 `json:"room_nights,required,nullable"`
	// Total room tax being charged.
	TotalRoomTaxAmount int64 `json:"total_room_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total room
	// tax.
	TotalRoomTaxCurrency string `json:"total_room_tax_currency,required,nullable"`
	// Total tax being charged for the room.
	TotalTaxAmount int64 `json:"total_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total tax
	// assessed.
	TotalTaxCurrency string                                                      `json:"total_tax_currency,required,nullable"`
	JSON             cardPaymentElementsCardSettlementPurchaseDetailsLodgingJSON `json:"-"`
}

Fields specific to lodging.

func (*CardPaymentElementsCardSettlementPurchaseDetailsLodging) UnmarshalJSON

type CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges

type CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges string

Additional charges (phone, late check-out, etc.) being billed.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesNoExtraCharge CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesRestaurant    CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "restaurant"
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesGiftShop      CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "gift_shop"
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesMiniBar       CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "mini_bar"
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesTelephone     CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "telephone"
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesOther         CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "other"
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesLaundry       CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "laundry"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator string

Indicator that the cardholder is being billed for a reserved room that was not actually used.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicatorNotApplicable CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicatorNoShow        CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat

type CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatFreeText              CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatOrderNumber           CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber      CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatInvoiceNumber         CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "invoice_number"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravel

type CardPaymentElementsCardSettlementPurchaseDetailsTravel struct {
	// Ancillary purchases in addition to the airfare.
	Ancillary CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillary `json:"ancillary,required,nullable"`
	// Indicates the computerized reservation system used to book the ticket.
	ComputerizedReservationSystem string `json:"computerized_reservation_system,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Date of departure.
	DepartureDate time.Time `json:"departure_date,required,nullable" format:"date"`
	// Code for the originating city or airport.
	OriginationCityAirportCode string `json:"origination_city_airport_code,required,nullable"`
	// Name of the passenger.
	PassengerName string `json:"passenger_name,required,nullable"`
	// Indicates whether this ticket is non-refundable.
	RestrictedTicketIndicator CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator `json:"restricted_ticket_indicator,required,nullable"`
	// Indicates why a ticket was changed.
	TicketChangeIndicator CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator `json:"ticket_change_indicator,required,nullable"`
	// Ticket number.
	TicketNumber string `json:"ticket_number,required,nullable"`
	// Code for the travel agency if the ticket was issued by a travel agency.
	TravelAgencyCode string `json:"travel_agency_code,required,nullable"`
	// Name of the travel agency if the ticket was issued by a travel agency.
	TravelAgencyName string `json:"travel_agency_name,required,nullable"`
	// Fields specific to each leg of the journey.
	TripLegs []CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLeg `json:"trip_legs,required,nullable"`
	JSON     cardPaymentElementsCardSettlementPurchaseDetailsTravelJSON      `json:"-"`
}

Fields specific to travel.

func (*CardPaymentElementsCardSettlementPurchaseDetailsTravel) UnmarshalJSON

func (r *CardPaymentElementsCardSettlementPurchaseDetailsTravel) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillary

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillary struct {
	// If this purchase has a connection or relationship to another purchase, such as a
	// baggage fee for a passenger transport ticket, this field should contain the
	// ticket document number for the other purchase.
	ConnectedTicketDocumentNumber string `json:"connected_ticket_document_number,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Name of the passenger or description of the ancillary purchase.
	PassengerNameOrDescription string `json:"passenger_name_or_description,required,nullable"`
	// Additional travel charges, such as baggage fees.
	Services []CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryService `json:"services,required"`
	// Ticket document number.
	TicketDocumentNumber string                                                              `json:"ticket_document_number,required,nullable"`
	JSON                 cardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryJSON `json:"-"`
}

Ancillary purchases in addition to the airfare.

func (*CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillary) UnmarshalJSON

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit                                                        CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorOther                                                           CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "other"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryService

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryService struct {
	// Category of the ancillary service.
	Category CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory `json:"category,required,nullable"`
	// Sub-category of the ancillary service, free-form.
	SubCategory string                                                                     `json:"sub_category,required,nullable"`
	JSON        cardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServiceJSON `json:"-"`
}

func (*CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryService) UnmarshalJSON

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory string

Category of the ancillary service.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryNone                  CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "none"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBundledService        CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee            CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryChangeFee             CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCargo                 CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset          CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer         CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGiftCard              CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport       CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryLounge                CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMedical               CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage          CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryOther                 CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "other"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee    CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPets                  CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategorySeatFees              CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStandby               CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryServiceFee            CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStore                 CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "store"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryTravelService         CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel   CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUpgrades              CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryWifi                  CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorNoCredit                                                        CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation                                       CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorOther                                                           CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "other"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket                                    CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions                CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNone                   CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "none"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNewTicket              CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "new_ticket"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLeg

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLeg struct {
	// Carrier code (e.g., United Airlines, Jet Blue, etc.).
	CarrierCode string `json:"carrier_code,required,nullable"`
	// Code for the destination city or airport.
	DestinationCityAirportCode string `json:"destination_city_airport_code,required,nullable"`
	// Fare basis code.
	FareBasisCode string `json:"fare_basis_code,required,nullable"`
	// Flight number.
	FlightNumber string `json:"flight_number,required,nullable"`
	// Service class (e.g., first class, business class, etc.).
	ServiceClass string `json:"service_class,required,nullable"`
	// Indicates whether a stopover is allowed on this ticket.
	StopOverCode CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode `json:"stop_over_code,required,nullable"`
	JSON         cardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegJSON          `json:"-"`
}

func (*CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLeg) UnmarshalJSON

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode string

Indicates whether a stopover is allowed on this ticket.

const (
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeNone               CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "none"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed    CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverNotAllowed CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_not_allowed"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode) IsKnown

type CardPaymentElementsCardSettlementType

type CardPaymentElementsCardSettlementType string

A constant representing the object's type. For this resource it will always be `card_settlement`.

const (
	CardPaymentElementsCardSettlementTypeCardSettlement CardPaymentElementsCardSettlementType = "card_settlement"
)

func (CardPaymentElementsCardSettlementType) IsKnown

type CardPaymentElementsCardValidation

type CardPaymentElementsCardValidation struct {
	// The Card Validation identifier.
	ID string `json:"id,required"`
	// Whether this authorization was approved by Increase, the card network through
	// stand-in processing, or the user through a real-time decision.
	Actioner CardPaymentElementsCardValidationActioner `json:"actioner,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency CardPaymentElementsCardValidationCurrency `json:"currency,required"`
	// If the authorization was made via a Digital Wallet Token (such as an Apple Pay
	// purchase), the identifier of the token that was used.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor string `json:"merchant_descriptor,required"`
	// The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
	// ZIP code, where the first 5 and last 4 are separated by a dash.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails CardPaymentElementsCardValidationNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardPaymentElementsCardValidationNetworkIdentifiers `json:"network_identifiers,required"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore int64 `json:"network_risk_score,required,nullable"`
	// If the authorization was made in-person with a physical card, the Physical Card
	// that was used.
	PhysicalCardID string `json:"physical_card_id,required,nullable"`
	// The identifier of the Real-Time Decision sent to approve or decline this
	// transaction.
	RealTimeDecisionID string `json:"real_time_decision_id,required,nullable"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID string `json:"terminal_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_card_validation`.
	Type CardPaymentElementsCardValidationType `json:"type,required"`
	// Fields related to verification of cardholder-provided values.
	Verification CardPaymentElementsCardValidationVerification `json:"verification,required"`
	JSON         cardPaymentElementsCardValidationJSON         `json:"-"`
}

An Inbound Card Validation object. This field will be present in the JSON response if and only if `category` is equal to `card_validation`. Inbound Card Validations are requests from a merchant to verify that a card number and optionally its address and/or Card Verification Value are valid.

func (*CardPaymentElementsCardValidation) UnmarshalJSON

func (r *CardPaymentElementsCardValidation) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardValidationActioner

type CardPaymentElementsCardValidationActioner string

Whether this authorization was approved by Increase, the card network through stand-in processing, or the user through a real-time decision.

const (
	CardPaymentElementsCardValidationActionerUser     CardPaymentElementsCardValidationActioner = "user"
	CardPaymentElementsCardValidationActionerIncrease CardPaymentElementsCardValidationActioner = "increase"
	CardPaymentElementsCardValidationActionerNetwork  CardPaymentElementsCardValidationActioner = "network"
)

func (CardPaymentElementsCardValidationActioner) IsKnown

type CardPaymentElementsCardValidationCurrency

type CardPaymentElementsCardValidationCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	CardPaymentElementsCardValidationCurrencyCad CardPaymentElementsCardValidationCurrency = "CAD"
	CardPaymentElementsCardValidationCurrencyChf CardPaymentElementsCardValidationCurrency = "CHF"
	CardPaymentElementsCardValidationCurrencyEur CardPaymentElementsCardValidationCurrency = "EUR"
	CardPaymentElementsCardValidationCurrencyGbp CardPaymentElementsCardValidationCurrency = "GBP"
	CardPaymentElementsCardValidationCurrencyJpy CardPaymentElementsCardValidationCurrency = "JPY"
	CardPaymentElementsCardValidationCurrencyUsd CardPaymentElementsCardValidationCurrency = "USD"
)

func (CardPaymentElementsCardValidationCurrency) IsKnown

type CardPaymentElementsCardValidationNetworkDetails

type CardPaymentElementsCardValidationNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category CardPaymentElementsCardValidationNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa CardPaymentElementsCardValidationNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON cardPaymentElementsCardValidationNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*CardPaymentElementsCardValidationNetworkDetails) UnmarshalJSON

func (r *CardPaymentElementsCardValidationNetworkDetails) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardValidationNetworkDetailsCategory

type CardPaymentElementsCardValidationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	CardPaymentElementsCardValidationNetworkDetailsCategoryVisa CardPaymentElementsCardValidationNetworkDetailsCategory = "visa"
)

func (CardPaymentElementsCardValidationNetworkDetailsCategory) IsKnown

type CardPaymentElementsCardValidationNetworkDetailsVisa

type CardPaymentElementsCardValidationNetworkDetailsVisa struct {
	// For electronic commerce transactions, this identifies the level of security used
	// in obtaining the customer's payment credential. For mail or telephone order
	// transactions, identifies the type of mail or telephone order.
	ElectronicCommerceIndicator CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	// Only present when `actioner: network`. Describes why a card authorization was
	// approved or declined by Visa through stand-in processing.
	StandInProcessingReason CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason `json:"stand_in_processing_reason,required,nullable"`
	JSON                    cardPaymentElementsCardValidationNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*CardPaymentElementsCardValidationNetworkDetailsVisa) UnmarshalJSON

func (r *CardPaymentElementsCardValidationNetworkDetailsVisa) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator

type CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator string

For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.

const (
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder                                          CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorRecurring                                               CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorInstallment                                             CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder                                   CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce                                CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction                     CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction                                    CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator) IsKnown

type CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode

type CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode string

The method used to enter the cardholder's primary account number and card expiration date.

const (
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeUnknown                    CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeManual                     CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv        CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode                CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard      CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeContactless                CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile           CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe             CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe  CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode) IsKnown

type CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason added in v0.141.0

type CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason string

Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.

const (
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonIssuerError                                              CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard                                      CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue         CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonInternalVisaError                                        CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonPaymentFraudDisruptionAcquirerBlock                      CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "payment_fraud_disruption_acquirer_block"
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonOther                                                    CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "other"
)

func (CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason) IsKnown added in v0.141.0

type CardPaymentElementsCardValidationNetworkIdentifiers

type CardPaymentElementsCardValidationNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                  `json:"transaction_id,required,nullable"`
	JSON          cardPaymentElementsCardValidationNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardPaymentElementsCardValidationNetworkIdentifiers) UnmarshalJSON

func (r *CardPaymentElementsCardValidationNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardValidationType

type CardPaymentElementsCardValidationType string

A constant representing the object's type. For this resource it will always be `inbound_card_validation`.

const (
	CardPaymentElementsCardValidationTypeInboundCardValidation CardPaymentElementsCardValidationType = "inbound_card_validation"
)

func (CardPaymentElementsCardValidationType) IsKnown

type CardPaymentElementsCardValidationVerification

type CardPaymentElementsCardValidationVerification struct {
	// Fields related to verification of the Card Verification Code, a 3-digit code on
	// the back of the card.
	CardVerificationCode CardPaymentElementsCardValidationVerificationCardVerificationCode `json:"card_verification_code,required"`
	// Cardholder address provided in the authorization request and the address on file
	// we verified it against.
	CardholderAddress CardPaymentElementsCardValidationVerificationCardholderAddress `json:"cardholder_address,required"`
	JSON              cardPaymentElementsCardValidationVerificationJSON              `json:"-"`
}

Fields related to verification of cardholder-provided values.

func (*CardPaymentElementsCardValidationVerification) UnmarshalJSON

func (r *CardPaymentElementsCardValidationVerification) UnmarshalJSON(data []byte) (err error)

type CardPaymentElementsCardValidationVerificationCardVerificationCode

type CardPaymentElementsCardValidationVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result CardPaymentElementsCardValidationVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   cardPaymentElementsCardValidationVerificationCardVerificationCodeJSON   `json:"-"`
}

Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

func (*CardPaymentElementsCardValidationVerificationCardVerificationCode) UnmarshalJSON

type CardPaymentElementsCardValidationVerificationCardVerificationCodeResult

type CardPaymentElementsCardValidationVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	CardPaymentElementsCardValidationVerificationCardVerificationCodeResultNotChecked CardPaymentElementsCardValidationVerificationCardVerificationCodeResult = "not_checked"
	CardPaymentElementsCardValidationVerificationCardVerificationCodeResultMatch      CardPaymentElementsCardValidationVerificationCardVerificationCodeResult = "match"
	CardPaymentElementsCardValidationVerificationCardVerificationCodeResultNoMatch    CardPaymentElementsCardValidationVerificationCardVerificationCodeResult = "no_match"
)

func (CardPaymentElementsCardValidationVerificationCardVerificationCodeResult) IsKnown

type CardPaymentElementsCardValidationVerificationCardholderAddress

type CardPaymentElementsCardValidationVerificationCardholderAddress struct {
	// Line 1 of the address on file for the cardholder.
	ActualLine1 string `json:"actual_line1,required,nullable"`
	// The postal code of the address on file for the cardholder.
	ActualPostalCode string `json:"actual_postal_code,required,nullable"`
	// The cardholder address line 1 provided for verification in the authorization
	// request.
	ProvidedLine1 string `json:"provided_line1,required,nullable"`
	// The postal code provided for verification in the authorization request.
	ProvidedPostalCode string `json:"provided_postal_code,required,nullable"`
	// The address verification result returned to the card network.
	Result CardPaymentElementsCardValidationVerificationCardholderAddressResult `json:"result,required"`
	JSON   cardPaymentElementsCardValidationVerificationCardholderAddressJSON   `json:"-"`
}

Cardholder address provided in the authorization request and the address on file we verified it against.

func (*CardPaymentElementsCardValidationVerificationCardholderAddress) UnmarshalJSON

type CardPaymentElementsCardValidationVerificationCardholderAddressResult

type CardPaymentElementsCardValidationVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	CardPaymentElementsCardValidationVerificationCardholderAddressResultNotChecked                       CardPaymentElementsCardValidationVerificationCardholderAddressResult = "not_checked"
	CardPaymentElementsCardValidationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardPaymentElementsCardValidationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	CardPaymentElementsCardValidationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch    CardPaymentElementsCardValidationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	CardPaymentElementsCardValidationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch    CardPaymentElementsCardValidationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	CardPaymentElementsCardValidationVerificationCardholderAddressResultMatch                            CardPaymentElementsCardValidationVerificationCardholderAddressResult = "match"
	CardPaymentElementsCardValidationVerificationCardholderAddressResultNoMatch                          CardPaymentElementsCardValidationVerificationCardholderAddressResult = "no_match"
)

func (CardPaymentElementsCardValidationVerificationCardholderAddressResult) IsKnown

type CardPaymentElementsCategory

type CardPaymentElementsCategory string

The type of the resource. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.

const (
	CardPaymentElementsCategoryCardAuthorization           CardPaymentElementsCategory = "card_authorization"
	CardPaymentElementsCategoryCardAuthentication          CardPaymentElementsCategory = "card_authentication"
	CardPaymentElementsCategoryCardValidation              CardPaymentElementsCategory = "card_validation"
	CardPaymentElementsCategoryCardDecline                 CardPaymentElementsCategory = "card_decline"
	CardPaymentElementsCategoryCardReversal                CardPaymentElementsCategory = "card_reversal"
	CardPaymentElementsCategoryCardAuthorizationExpiration CardPaymentElementsCategory = "card_authorization_expiration"
	CardPaymentElementsCategoryCardIncrement               CardPaymentElementsCategory = "card_increment"
	CardPaymentElementsCategoryCardSettlement              CardPaymentElementsCategory = "card_settlement"
	CardPaymentElementsCategoryCardRefund                  CardPaymentElementsCategory = "card_refund"
	CardPaymentElementsCategoryCardFuelConfirmation        CardPaymentElementsCategory = "card_fuel_confirmation"
	CardPaymentElementsCategoryOther                       CardPaymentElementsCategory = "other"
)

func (CardPaymentElementsCategory) IsKnown

func (r CardPaymentElementsCategory) IsKnown() bool

type CardPaymentListParams

type CardPaymentListParams struct {
	// Filter Card Payments to ones belonging to the specified Account.
	AccountID param.Field[string] `query:"account_id"`
	// Filter Card Payments to ones belonging to the specified Card.
	CardID    param.Field[string]                         `query:"card_id"`
	CreatedAt param.Field[CardPaymentListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (CardPaymentListParams) URLQuery

func (r CardPaymentListParams) URLQuery() (v url.Values)

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

type CardPaymentListParamsCreatedAt

type CardPaymentListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (CardPaymentListParamsCreatedAt) URLQuery

func (r CardPaymentListParamsCreatedAt) URLQuery() (v url.Values)

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

type CardPaymentService

type CardPaymentService struct {
	Options []option.RequestOption
}

CardPaymentService contains methods and other services that help with interacting with the increase 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 NewCardPaymentService method instead.

func NewCardPaymentService

func NewCardPaymentService(opts ...option.RequestOption) (r *CardPaymentService)

NewCardPaymentService 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 (*CardPaymentService) Get

func (r *CardPaymentService) Get(ctx context.Context, cardPaymentID string, opts ...option.RequestOption) (res *CardPayment, err error)

Retrieve a Card Payment

func (*CardPaymentService) List

List Card Payments

func (*CardPaymentService) ListAutoPaging

List Card Payments

type CardPaymentState

type CardPaymentState struct {
	// The total authorized amount in the minor unit of the transaction's currency. For
	// dollars, for example, this is cents.
	AuthorizedAmount int64 `json:"authorized_amount,required"`
	// The total amount from fuel confirmations in the minor unit of the transaction's
	// currency. For dollars, for example, this is cents.
	FuelConfirmedAmount int64 `json:"fuel_confirmed_amount,required"`
	// The total incrementally updated authorized amount in the minor unit of the
	// transaction's currency. For dollars, for example, this is cents.
	IncrementedAmount int64 `json:"incremented_amount,required"`
	// The total reversed amount in the minor unit of the transaction's currency. For
	// dollars, for example, this is cents.
	ReversedAmount int64 `json:"reversed_amount,required"`
	// The total settled or refunded amount in the minor unit of the transaction's
	// currency. For dollars, for example, this is cents.
	SettledAmount int64                `json:"settled_amount,required"`
	JSON          cardPaymentStateJSON `json:"-"`
}

The summarized state of this card payment.

func (*CardPaymentState) UnmarshalJSON

func (r *CardPaymentState) UnmarshalJSON(data []byte) (err error)

type CardPaymentType

type CardPaymentType string

A constant representing the object's type. For this resource it will always be `card_payment`.

const (
	CardPaymentTypeCardPayment CardPaymentType = "card_payment"
)

func (CardPaymentType) IsKnown

func (r CardPaymentType) IsKnown() bool

type CardPurchaseSupplement

type CardPurchaseSupplement struct {
	// The Card Purchase Supplement identifier.
	ID string `json:"id,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required,nullable"`
	// Invoice-level information about the payment.
	Invoice CardPurchaseSupplementInvoice `json:"invoice,required,nullable"`
	// Line item information, such as individual products purchased.
	LineItems []CardPurchaseSupplementLineItem `json:"line_items,required,nullable"`
	// The ID of the transaction.
	TransactionID string `json:"transaction_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_purchase_supplement`.
	Type CardPurchaseSupplementType `json:"type,required"`
	JSON cardPurchaseSupplementJSON `json:"-"`
}

Additional information about a card purchase (e.g., settlement or refund), such as level 3 line item data.

func (*CardPurchaseSupplement) UnmarshalJSON

func (r *CardPurchaseSupplement) UnmarshalJSON(data []byte) (err error)

type CardPurchaseSupplementInvoice

type CardPurchaseSupplementInvoice struct {
	// Discount given to cardholder.
	DiscountAmount int64 `json:"discount_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the discount.
	DiscountCurrency string `json:"discount_currency,required,nullable"`
	// Indicates how the merchant applied the discount.
	DiscountTreatmentCode CardPurchaseSupplementInvoiceDiscountTreatmentCode `json:"discount_treatment_code,required,nullable"`
	// Amount of duty taxes.
	DutyTaxAmount int64 `json:"duty_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the duty tax.
	DutyTaxCurrency string `json:"duty_tax_currency,required,nullable"`
	// Date the order was taken.
	OrderDate time.Time `json:"order_date,required,nullable" format:"date"`
	// The shipping cost.
	ShippingAmount int64 `json:"shipping_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the shipping
	// cost.
	ShippingCurrency string `json:"shipping_currency,required,nullable"`
	// Country code of the shipping destination.
	ShippingDestinationCountryCode string `json:"shipping_destination_country_code,required,nullable"`
	// Postal code of the shipping destination.
	ShippingDestinationPostalCode string `json:"shipping_destination_postal_code,required,nullable"`
	// Postal code of the location being shipped from.
	ShippingSourcePostalCode string `json:"shipping_source_postal_code,required,nullable"`
	// Taxes paid for freight and shipping.
	ShippingTaxAmount int64 `json:"shipping_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the shipping
	// tax.
	ShippingTaxCurrency string `json:"shipping_tax_currency,required,nullable"`
	// Tax rate for freight and shipping.
	ShippingTaxRate string `json:"shipping_tax_rate,required,nullable"`
	// Indicates how the merchant applied taxes.
	TaxTreatments CardPurchaseSupplementInvoiceTaxTreatments `json:"tax_treatments,required,nullable"`
	// Value added tax invoice reference number.
	UniqueValueAddedTaxInvoiceReference string                            `json:"unique_value_added_tax_invoice_reference,required,nullable"`
	JSON                                cardPurchaseSupplementInvoiceJSON `json:"-"`
}

Invoice-level information about the payment.

func (*CardPurchaseSupplementInvoice) UnmarshalJSON

func (r *CardPurchaseSupplementInvoice) UnmarshalJSON(data []byte) (err error)

type CardPurchaseSupplementInvoiceDiscountTreatmentCode

type CardPurchaseSupplementInvoiceDiscountTreatmentCode string

Indicates how the merchant applied the discount.

const (
	CardPurchaseSupplementInvoiceDiscountTreatmentCodeNoInvoiceLevelDiscountProvided          CardPurchaseSupplementInvoiceDiscountTreatmentCode = "no_invoice_level_discount_provided"
	CardPurchaseSupplementInvoiceDiscountTreatmentCodeTaxCalculatedOnPostDiscountInvoiceTotal CardPurchaseSupplementInvoiceDiscountTreatmentCode = "tax_calculated_on_post_discount_invoice_total"
	CardPurchaseSupplementInvoiceDiscountTreatmentCodeTaxCalculatedOnPreDiscountInvoiceTotal  CardPurchaseSupplementInvoiceDiscountTreatmentCode = "tax_calculated_on_pre_discount_invoice_total"
)

func (CardPurchaseSupplementInvoiceDiscountTreatmentCode) IsKnown

type CardPurchaseSupplementInvoiceTaxTreatments

type CardPurchaseSupplementInvoiceTaxTreatments string

Indicates how the merchant applied taxes.

const (
	CardPurchaseSupplementInvoiceTaxTreatmentsNoTaxApplies            CardPurchaseSupplementInvoiceTaxTreatments = "no_tax_applies"
	CardPurchaseSupplementInvoiceTaxTreatmentsNetPriceLineItemLevel   CardPurchaseSupplementInvoiceTaxTreatments = "net_price_line_item_level"
	CardPurchaseSupplementInvoiceTaxTreatmentsNetPriceInvoiceLevel    CardPurchaseSupplementInvoiceTaxTreatments = "net_price_invoice_level"
	CardPurchaseSupplementInvoiceTaxTreatmentsGrossPriceLineItemLevel CardPurchaseSupplementInvoiceTaxTreatments = "gross_price_line_item_level"
	CardPurchaseSupplementInvoiceTaxTreatmentsGrossPriceInvoiceLevel  CardPurchaseSupplementInvoiceTaxTreatments = "gross_price_invoice_level"
)

func (CardPurchaseSupplementInvoiceTaxTreatments) IsKnown

type CardPurchaseSupplementLineItem

type CardPurchaseSupplementLineItem struct {
	// The Card Purchase Supplement Line Item identifier.
	ID string `json:"id,required"`
	// Indicates the type of line item.
	DetailIndicator CardPurchaseSupplementLineItemsDetailIndicator `json:"detail_indicator,required,nullable"`
	// Discount amount for this specific line item.
	DiscountAmount int64 `json:"discount_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the discount.
	DiscountCurrency string `json:"discount_currency,required,nullable"`
	// Indicates how the merchant applied the discount for this specific line item.
	DiscountTreatmentCode CardPurchaseSupplementLineItemsDiscountTreatmentCode `json:"discount_treatment_code,required,nullable"`
	// Code used to categorize the purchase item.
	ItemCommodityCode string `json:"item_commodity_code,required,nullable"`
	// Description of the purchase item.
	ItemDescriptor string `json:"item_descriptor,required,nullable"`
	// The number of units of the product being purchased.
	ItemQuantity string `json:"item_quantity,required,nullable"`
	// Code used to categorize the product being purchased.
	ProductCode string `json:"product_code,required,nullable"`
	// Sales tax amount for this line item.
	SalesTaxAmount int64 `json:"sales_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the sales tax
	// assessed.
	SalesTaxCurrency string `json:"sales_tax_currency,required,nullable"`
	// Sales tax rate for this line item.
	SalesTaxRate string `json:"sales_tax_rate,required,nullable"`
	// Total amount of all line items.
	TotalAmount int64 `json:"total_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total
	// amount.
	TotalAmountCurrency string `json:"total_amount_currency,required,nullable"`
	// Cost of line item per unit of measure, in major units.
	UnitCost string `json:"unit_cost,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the unit cost.
	UnitCostCurrency string `json:"unit_cost_currency,required,nullable"`
	// Code indicating unit of measure (gallons, etc.).
	UnitOfMeasureCode string                             `json:"unit_of_measure_code,required,nullable"`
	JSON              cardPurchaseSupplementLineItemJSON `json:"-"`
}

func (*CardPurchaseSupplementLineItem) UnmarshalJSON

func (r *CardPurchaseSupplementLineItem) UnmarshalJSON(data []byte) (err error)

type CardPurchaseSupplementLineItemsDetailIndicator

type CardPurchaseSupplementLineItemsDetailIndicator string

Indicates the type of line item.

const (
	CardPurchaseSupplementLineItemsDetailIndicatorNormal  CardPurchaseSupplementLineItemsDetailIndicator = "normal"
	CardPurchaseSupplementLineItemsDetailIndicatorCredit  CardPurchaseSupplementLineItemsDetailIndicator = "credit"
	CardPurchaseSupplementLineItemsDetailIndicatorPayment CardPurchaseSupplementLineItemsDetailIndicator = "payment"
)

func (CardPurchaseSupplementLineItemsDetailIndicator) IsKnown

type CardPurchaseSupplementLineItemsDiscountTreatmentCode

type CardPurchaseSupplementLineItemsDiscountTreatmentCode string

Indicates how the merchant applied the discount for this specific line item.

const (
	CardPurchaseSupplementLineItemsDiscountTreatmentCodeNoLineItemLevelDiscountProvided          CardPurchaseSupplementLineItemsDiscountTreatmentCode = "no_line_item_level_discount_provided"
	CardPurchaseSupplementLineItemsDiscountTreatmentCodeTaxCalculatedOnPostDiscountLineItemTotal CardPurchaseSupplementLineItemsDiscountTreatmentCode = "tax_calculated_on_post_discount_line_item_total"
	CardPurchaseSupplementLineItemsDiscountTreatmentCodeTaxCalculatedOnPreDiscountLineItemTotal  CardPurchaseSupplementLineItemsDiscountTreatmentCode = "tax_calculated_on_pre_discount_line_item_total"
)

func (CardPurchaseSupplementLineItemsDiscountTreatmentCode) IsKnown

type CardPurchaseSupplementListParams

type CardPurchaseSupplementListParams struct {
	// Filter Card Purchase Supplements to ones belonging to the specified Card
	// Payment.
	CardPaymentID param.Field[string]                                    `query:"card_payment_id"`
	CreatedAt     param.Field[CardPurchaseSupplementListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (CardPurchaseSupplementListParams) URLQuery

func (r CardPurchaseSupplementListParams) URLQuery() (v url.Values)

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

type CardPurchaseSupplementListParamsCreatedAt

type CardPurchaseSupplementListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (CardPurchaseSupplementListParamsCreatedAt) URLQuery

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

type CardPurchaseSupplementService

type CardPurchaseSupplementService struct {
	Options []option.RequestOption
}

CardPurchaseSupplementService contains methods and other services that help with interacting with the increase 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 NewCardPurchaseSupplementService method instead.

func NewCardPurchaseSupplementService

func NewCardPurchaseSupplementService(opts ...option.RequestOption) (r *CardPurchaseSupplementService)

NewCardPurchaseSupplementService 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 (*CardPurchaseSupplementService) Get

func (r *CardPurchaseSupplementService) Get(ctx context.Context, cardPurchaseSupplementID string, opts ...option.RequestOption) (res *CardPurchaseSupplement, err error)

Retrieve a Card Purchase Supplement

func (*CardPurchaseSupplementService) List

List Card Purchase Supplements

func (*CardPurchaseSupplementService) ListAutoPaging

List Card Purchase Supplements

type CardPurchaseSupplementType

type CardPurchaseSupplementType string

A constant representing the object's type. For this resource it will always be `card_purchase_supplement`.

const (
	CardPurchaseSupplementTypeCardPurchaseSupplement CardPurchaseSupplementType = "card_purchase_supplement"
)

func (CardPurchaseSupplementType) IsKnown

func (r CardPurchaseSupplementType) IsKnown() bool

type CardService

type CardService struct {
	Options []option.RequestOption
}

CardService contains methods and other services that help with interacting with the increase 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 NewCardService method instead.

func NewCardService

func NewCardService(opts ...option.RequestOption) (r *CardService)

NewCardService 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 (*CardService) Details

func (r *CardService) Details(ctx context.Context, cardID string, opts ...option.RequestOption) (res *CardDetails, err error)

Retrieve sensitive details for a Card

func (*CardService) Get

func (r *CardService) Get(ctx context.Context, cardID string, opts ...option.RequestOption) (res *Card, err error)

Retrieve a Card

func (*CardService) List

func (r *CardService) List(ctx context.Context, query CardListParams, opts ...option.RequestOption) (res *pagination.Page[Card], err error)

List Cards

func (*CardService) ListAutoPaging

func (r *CardService) ListAutoPaging(ctx context.Context, query CardListParams, opts ...option.RequestOption) *pagination.PageAutoPager[Card]

List Cards

func (*CardService) New

func (r *CardService) New(ctx context.Context, body CardNewParams, opts ...option.RequestOption) (res *Card, err error)

Create a Card

func (*CardService) Update

func (r *CardService) Update(ctx context.Context, cardID string, body CardUpdateParams, opts ...option.RequestOption) (res *Card, err error)

Update a Card

type CardStatus

type CardStatus string

This indicates if payments can be made with the card.

const (
	CardStatusActive   CardStatus = "active"
	CardStatusDisabled CardStatus = "disabled"
	CardStatusCanceled CardStatus = "canceled"
)

func (CardStatus) IsKnown

func (r CardStatus) IsKnown() bool

type CardType

type CardType string

A constant representing the object's type. For this resource it will always be `card`.

const (
	CardTypeCard CardType = "card"
)

func (CardType) IsKnown

func (r CardType) IsKnown() bool

type CardUpdateParams

type CardUpdateParams struct {
	// The card's updated billing address.
	BillingAddress param.Field[CardUpdateParamsBillingAddress] `json:"billing_address"`
	// The description you choose to give the card.
	Description param.Field[string] `json:"description"`
	// The contact information used in the two-factor steps for digital wallet card
	// creation. At least one field must be present to complete the digital wallet
	// steps.
	DigitalWallet param.Field[CardUpdateParamsDigitalWallet] `json:"digital_wallet"`
	// The Entity the card belongs to. You only need to supply this in rare situations
	// when the card is not for the Account holder.
	EntityID param.Field[string] `json:"entity_id"`
	// The status to update the Card with.
	Status param.Field[CardUpdateParamsStatus] `json:"status"`
}

func (CardUpdateParams) MarshalJSON

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

type CardUpdateParamsBillingAddress

type CardUpdateParamsBillingAddress struct {
	// The city of the billing address.
	City param.Field[string] `json:"city,required"`
	// The first line of the billing address.
	Line1 param.Field[string] `json:"line1,required"`
	// The postal code of the billing address.
	PostalCode param.Field[string] `json:"postal_code,required"`
	// The US state of the billing address.
	State param.Field[string] `json:"state,required"`
	// The second line of the billing address.
	Line2 param.Field[string] `json:"line2"`
}

The card's updated billing address.

func (CardUpdateParamsBillingAddress) MarshalJSON

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

type CardUpdateParamsDigitalWallet

type CardUpdateParamsDigitalWallet struct {
	// The digital card profile assigned to this digital card.
	DigitalCardProfileID param.Field[string] `json:"digital_card_profile_id"`
	// An email address that can be used to verify the cardholder via one-time passcode
	// over email.
	Email param.Field[string] `json:"email"`
	// A phone number that can be used to verify the cardholder via one-time passcode
	// over SMS.
	Phone param.Field[string] `json:"phone"`
}

The contact information used in the two-factor steps for digital wallet card creation. At least one field must be present to complete the digital wallet steps.

func (CardUpdateParamsDigitalWallet) MarshalJSON

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

type CardUpdateParamsStatus

type CardUpdateParamsStatus string

The status to update the Card with.

const (
	CardUpdateParamsStatusActive   CardUpdateParamsStatus = "active"
	CardUpdateParamsStatusDisabled CardUpdateParamsStatus = "disabled"
	CardUpdateParamsStatusCanceled CardUpdateParamsStatus = "canceled"
)

func (CardUpdateParamsStatus) IsKnown

func (r CardUpdateParamsStatus) IsKnown() bool

type CheckDeposit

type CheckDeposit struct {
	// The deposit's identifier.
	ID string `json:"id,required"`
	// The Account the check was deposited into.
	AccountID string `json:"account_id,required"`
	// The deposited amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The ID for the File containing the image of the back of the check.
	BackImageFileID string `json:"back_image_file_id,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// If your deposit is successfully parsed and accepted by Increase, this will
	// contain details of the parsed check.
	DepositAcceptance CheckDepositDepositAcceptance `json:"deposit_acceptance,required,nullable"`
	// If your deposit is rejected by Increase, this will contain details as to why it
	// was rejected.
	DepositRejection CheckDepositDepositRejection `json:"deposit_rejection,required,nullable"`
	// If your deposit is returned, this will contain details as to why it was
	// returned.
	DepositReturn CheckDepositDepositReturn `json:"deposit_return,required,nullable"`
	// After the check is parsed, it is submitted to the Check21 network for
	// processing. This will contain details of the submission.
	DepositSubmission CheckDepositDepositSubmission `json:"deposit_submission,required,nullable"`
	// The description of the Check Deposit, for display purposes only.
	Description string `json:"description,required,nullable"`
	// The ID for the File containing the image of the front of the check.
	FrontImageFileID string `json:"front_image_file_id,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// Increase will sometimes hold the funds for Check Deposits. If funds are held,
	// this sub-object will contain details of the hold.
	InboundFundsHold CheckDepositInboundFundsHold `json:"inbound_funds_hold,required,nullable"`
	// If the Check Deposit was the result of an Inbound Mail Item, this will contain
	// the identifier of the Inbound Mail Item.
	InboundMailItemID string `json:"inbound_mail_item_id,required,nullable"`
	// If the Check Deposit was the result of an Inbound Mail Item, this will contain
	// the identifier of the Lockbox that received it.
	LockboxID string `json:"lockbox_id,required,nullable"`
	// The status of the Check Deposit.
	Status CheckDepositStatus `json:"status,required"`
	// The ID for the Transaction created by the deposit.
	TransactionID string `json:"transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `check_deposit`.
	Type CheckDepositType `json:"type,required"`
	JSON checkDepositJSON `json:"-"`
}

Check Deposits allow you to deposit images of paper checks into your account.

func (*CheckDeposit) UnmarshalJSON

func (r *CheckDeposit) UnmarshalJSON(data []byte) (err error)

type CheckDepositDepositAcceptance

type CheckDepositDepositAcceptance struct {
	// The account number printed on the check.
	AccountNumber string `json:"account_number,required"`
	// The amount to be deposited in the minor unit of the transaction's currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// An additional line of metadata printed on the check. This typically includes the
	// check number for business checks.
	AuxiliaryOnUs string `json:"auxiliary_on_us,required,nullable"`
	// The ID of the Check Deposit that was accepted.
	CheckDepositID string `json:"check_deposit_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency CheckDepositDepositAcceptanceCurrency `json:"currency,required"`
	// The routing number printed on the check.
	RoutingNumber string `json:"routing_number,required"`
	// The check serial number, if present, for consumer checks. For business checks,
	// the serial number is usually in the `auxiliary_on_us` field.
	SerialNumber string                            `json:"serial_number,required,nullable"`
	JSON         checkDepositDepositAcceptanceJSON `json:"-"`
}

If your deposit is successfully parsed and accepted by Increase, this will contain details of the parsed check.

func (*CheckDepositDepositAcceptance) UnmarshalJSON

func (r *CheckDepositDepositAcceptance) UnmarshalJSON(data []byte) (err error)

type CheckDepositDepositAcceptanceCurrency

type CheckDepositDepositAcceptanceCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	CheckDepositDepositAcceptanceCurrencyCad CheckDepositDepositAcceptanceCurrency = "CAD"
	CheckDepositDepositAcceptanceCurrencyChf CheckDepositDepositAcceptanceCurrency = "CHF"
	CheckDepositDepositAcceptanceCurrencyEur CheckDepositDepositAcceptanceCurrency = "EUR"
	CheckDepositDepositAcceptanceCurrencyGbp CheckDepositDepositAcceptanceCurrency = "GBP"
	CheckDepositDepositAcceptanceCurrencyJpy CheckDepositDepositAcceptanceCurrency = "JPY"
	CheckDepositDepositAcceptanceCurrencyUsd CheckDepositDepositAcceptanceCurrency = "USD"
)

func (CheckDepositDepositAcceptanceCurrency) IsKnown

type CheckDepositDepositRejection

type CheckDepositDepositRejection struct {
	// The rejected amount in the minor unit of check's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Check Deposit that was rejected.
	CheckDepositID string `json:"check_deposit_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's
	// currency.
	Currency CheckDepositDepositRejectionCurrency `json:"currency,required"`
	// The identifier of the associated declined transaction.
	DeclinedTransactionID string `json:"declined_transaction_id,required"`
	// Why the check deposit was rejected.
	Reason CheckDepositDepositRejectionReason `json:"reason,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the check deposit was rejected.
	RejectedAt time.Time                        `json:"rejected_at,required" format:"date-time"`
	JSON       checkDepositDepositRejectionJSON `json:"-"`
}

If your deposit is rejected by Increase, this will contain details as to why it was rejected.

func (*CheckDepositDepositRejection) UnmarshalJSON

func (r *CheckDepositDepositRejection) UnmarshalJSON(data []byte) (err error)

type CheckDepositDepositRejectionCurrency

type CheckDepositDepositRejectionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's currency.

const (
	CheckDepositDepositRejectionCurrencyCad CheckDepositDepositRejectionCurrency = "CAD"
	CheckDepositDepositRejectionCurrencyChf CheckDepositDepositRejectionCurrency = "CHF"
	CheckDepositDepositRejectionCurrencyEur CheckDepositDepositRejectionCurrency = "EUR"
	CheckDepositDepositRejectionCurrencyGbp CheckDepositDepositRejectionCurrency = "GBP"
	CheckDepositDepositRejectionCurrencyJpy CheckDepositDepositRejectionCurrency = "JPY"
	CheckDepositDepositRejectionCurrencyUsd CheckDepositDepositRejectionCurrency = "USD"
)

func (CheckDepositDepositRejectionCurrency) IsKnown

type CheckDepositDepositRejectionReason

type CheckDepositDepositRejectionReason string

Why the check deposit was rejected.

const (
	CheckDepositDepositRejectionReasonIncompleteImage             CheckDepositDepositRejectionReason = "incomplete_image"
	CheckDepositDepositRejectionReasonDuplicate                   CheckDepositDepositRejectionReason = "duplicate"
	CheckDepositDepositRejectionReasonPoorImageQuality            CheckDepositDepositRejectionReason = "poor_image_quality"
	CheckDepositDepositRejectionReasonIncorrectAmount             CheckDepositDepositRejectionReason = "incorrect_amount"
	CheckDepositDepositRejectionReasonIncorrectRecipient          CheckDepositDepositRejectionReason = "incorrect_recipient"
	CheckDepositDepositRejectionReasonNotEligibleForMobileDeposit CheckDepositDepositRejectionReason = "not_eligible_for_mobile_deposit"
	CheckDepositDepositRejectionReasonMissingRequiredDataElements CheckDepositDepositRejectionReason = "missing_required_data_elements"
	CheckDepositDepositRejectionReasonSuspectedFraud              CheckDepositDepositRejectionReason = "suspected_fraud"
	CheckDepositDepositRejectionReasonDepositWindowExpired        CheckDepositDepositRejectionReason = "deposit_window_expired"
	CheckDepositDepositRejectionReasonRequestedByUser             CheckDepositDepositRejectionReason = "requested_by_user"
	CheckDepositDepositRejectionReasonUnknown                     CheckDepositDepositRejectionReason = "unknown"
)

func (CheckDepositDepositRejectionReason) IsKnown

type CheckDepositDepositReturn

type CheckDepositDepositReturn struct {
	// The returned amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Check Deposit that was returned.
	CheckDepositID string `json:"check_deposit_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency CheckDepositDepositReturnCurrency `json:"currency,required"`
	// Why this check was returned by the bank holding the account it was drawn
	// against.
	ReturnReason CheckDepositDepositReturnReturnReason `json:"return_reason,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the check deposit was returned.
	ReturnedAt time.Time `json:"returned_at,required" format:"date-time"`
	// The identifier of the transaction that reversed the original check deposit
	// transaction.
	TransactionID string                        `json:"transaction_id,required"`
	JSON          checkDepositDepositReturnJSON `json:"-"`
}

If your deposit is returned, this will contain details as to why it was returned.

func (*CheckDepositDepositReturn) UnmarshalJSON

func (r *CheckDepositDepositReturn) UnmarshalJSON(data []byte) (err error)

type CheckDepositDepositReturnCurrency

type CheckDepositDepositReturnCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	CheckDepositDepositReturnCurrencyCad CheckDepositDepositReturnCurrency = "CAD"
	CheckDepositDepositReturnCurrencyChf CheckDepositDepositReturnCurrency = "CHF"
	CheckDepositDepositReturnCurrencyEur CheckDepositDepositReturnCurrency = "EUR"
	CheckDepositDepositReturnCurrencyGbp CheckDepositDepositReturnCurrency = "GBP"
	CheckDepositDepositReturnCurrencyJpy CheckDepositDepositReturnCurrency = "JPY"
	CheckDepositDepositReturnCurrencyUsd CheckDepositDepositReturnCurrency = "USD"
)

func (CheckDepositDepositReturnCurrency) IsKnown

type CheckDepositDepositReturnReturnReason

type CheckDepositDepositReturnReturnReason string

Why this check was returned by the bank holding the account it was drawn against.

const (
	CheckDepositDepositReturnReturnReasonACHConversionNotSupported CheckDepositDepositReturnReturnReason = "ach_conversion_not_supported"
	CheckDepositDepositReturnReturnReasonClosedAccount             CheckDepositDepositReturnReturnReason = "closed_account"
	CheckDepositDepositReturnReturnReasonDuplicateSubmission       CheckDepositDepositReturnReturnReason = "duplicate_submission"
	CheckDepositDepositReturnReturnReasonInsufficientFunds         CheckDepositDepositReturnReturnReason = "insufficient_funds"
	CheckDepositDepositReturnReturnReasonNoAccount                 CheckDepositDepositReturnReturnReason = "no_account"
	CheckDepositDepositReturnReturnReasonNotAuthorized             CheckDepositDepositReturnReturnReason = "not_authorized"
	CheckDepositDepositReturnReturnReasonStaleDated                CheckDepositDepositReturnReturnReason = "stale_dated"
	CheckDepositDepositReturnReturnReasonStopPayment               CheckDepositDepositReturnReturnReason = "stop_payment"
	CheckDepositDepositReturnReturnReasonUnknownReason             CheckDepositDepositReturnReturnReason = "unknown_reason"
	CheckDepositDepositReturnReturnReasonUnmatchedDetails          CheckDepositDepositReturnReturnReason = "unmatched_details"
	CheckDepositDepositReturnReturnReasonUnreadableImage           CheckDepositDepositReturnReturnReason = "unreadable_image"
	CheckDepositDepositReturnReturnReasonEndorsementIrregular      CheckDepositDepositReturnReturnReason = "endorsement_irregular"
	CheckDepositDepositReturnReturnReasonAlteredOrFictitiousItem   CheckDepositDepositReturnReturnReason = "altered_or_fictitious_item"
	CheckDepositDepositReturnReturnReasonFrozenOrBlockedAccount    CheckDepositDepositReturnReturnReason = "frozen_or_blocked_account"
	CheckDepositDepositReturnReturnReasonPostDated                 CheckDepositDepositReturnReturnReason = "post_dated"
	CheckDepositDepositReturnReturnReasonEndorsementMissing        CheckDepositDepositReturnReturnReason = "endorsement_missing"
	CheckDepositDepositReturnReturnReasonSignatureMissing          CheckDepositDepositReturnReturnReason = "signature_missing"
	CheckDepositDepositReturnReturnReasonStopPaymentSuspect        CheckDepositDepositReturnReturnReason = "stop_payment_suspect"
	CheckDepositDepositReturnReturnReasonUnusableImage             CheckDepositDepositReturnReturnReason = "unusable_image"
	CheckDepositDepositReturnReturnReasonImageFailsSecurityCheck   CheckDepositDepositReturnReturnReason = "image_fails_security_check"
	CheckDepositDepositReturnReturnReasonCannotDetermineAmount     CheckDepositDepositReturnReturnReason = "cannot_determine_amount"
	CheckDepositDepositReturnReturnReasonSignatureIrregular        CheckDepositDepositReturnReturnReason = "signature_irregular"
	CheckDepositDepositReturnReturnReasonNonCashItem               CheckDepositDepositReturnReturnReason = "non_cash_item"
	CheckDepositDepositReturnReturnReasonUnableToProcess           CheckDepositDepositReturnReturnReason = "unable_to_process"
	CheckDepositDepositReturnReturnReasonItemExceedsDollarLimit    CheckDepositDepositReturnReturnReason = "item_exceeds_dollar_limit"
	CheckDepositDepositReturnReturnReasonBranchOrAccountSold       CheckDepositDepositReturnReturnReason = "branch_or_account_sold"
)

func (CheckDepositDepositReturnReturnReason) IsKnown

type CheckDepositDepositSubmission

type CheckDepositDepositSubmission struct {
	// The ID for the File containing the check back image that was submitted to the
	// Check21 network.
	BackFileID string `json:"back_file_id,required"`
	// The ID for the File containing the check front image that was submitted to the
	// Check21 network.
	FrontFileID string `json:"front_file_id,required"`
	// When the check deposit was submitted to the Check21 network for processing.
	// During business days, this happens within a few hours of the check being
	// accepted by Increase.
	SubmittedAt time.Time                         `json:"submitted_at,required" format:"date-time"`
	JSON        checkDepositDepositSubmissionJSON `json:"-"`
}

After the check is parsed, it is submitted to the Check21 network for processing. This will contain details of the submission.

func (*CheckDepositDepositSubmission) UnmarshalJSON

func (r *CheckDepositDepositSubmission) UnmarshalJSON(data []byte) (err error)

type CheckDepositInboundFundsHold

type CheckDepositInboundFundsHold struct {
	// The Inbound Funds Hold identifier.
	ID string `json:"id,required"`
	// The held amount in the minor unit of the account's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// When the hold will be released automatically. Certain conditions may cause it to
	// be released before this time.
	AutomaticallyReleasesAt time.Time `json:"automatically_releases_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the hold
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's
	// currency.
	Currency CheckDepositInboundFundsHoldCurrency `json:"currency,required"`
	// The ID of the Transaction for which funds were held.
	HeldTransactionID string `json:"held_transaction_id,required,nullable"`
	// The ID of the Pending Transaction representing the held funds.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// When the hold was released (if it has been released).
	ReleasedAt time.Time `json:"released_at,required,nullable" format:"date-time"`
	// The status of the hold.
	Status CheckDepositInboundFundsHoldStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_funds_hold`.
	Type CheckDepositInboundFundsHoldType `json:"type,required"`
	JSON checkDepositInboundFundsHoldJSON `json:"-"`
}

Increase will sometimes hold the funds for Check Deposits. If funds are held, this sub-object will contain details of the hold.

func (*CheckDepositInboundFundsHold) UnmarshalJSON

func (r *CheckDepositInboundFundsHold) UnmarshalJSON(data []byte) (err error)

type CheckDepositInboundFundsHoldCurrency

type CheckDepositInboundFundsHoldCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's currency.

const (
	CheckDepositInboundFundsHoldCurrencyCad CheckDepositInboundFundsHoldCurrency = "CAD"
	CheckDepositInboundFundsHoldCurrencyChf CheckDepositInboundFundsHoldCurrency = "CHF"
	CheckDepositInboundFundsHoldCurrencyEur CheckDepositInboundFundsHoldCurrency = "EUR"
	CheckDepositInboundFundsHoldCurrencyGbp CheckDepositInboundFundsHoldCurrency = "GBP"
	CheckDepositInboundFundsHoldCurrencyJpy CheckDepositInboundFundsHoldCurrency = "JPY"
	CheckDepositInboundFundsHoldCurrencyUsd CheckDepositInboundFundsHoldCurrency = "USD"
)

func (CheckDepositInboundFundsHoldCurrency) IsKnown

type CheckDepositInboundFundsHoldStatus

type CheckDepositInboundFundsHoldStatus string

The status of the hold.

const (
	CheckDepositInboundFundsHoldStatusHeld     CheckDepositInboundFundsHoldStatus = "held"
	CheckDepositInboundFundsHoldStatusComplete CheckDepositInboundFundsHoldStatus = "complete"
)

func (CheckDepositInboundFundsHoldStatus) IsKnown

type CheckDepositInboundFundsHoldType

type CheckDepositInboundFundsHoldType string

A constant representing the object's type. For this resource it will always be `inbound_funds_hold`.

const (
	CheckDepositInboundFundsHoldTypeInboundFundsHold CheckDepositInboundFundsHoldType = "inbound_funds_hold"
)

func (CheckDepositInboundFundsHoldType) IsKnown

type CheckDepositListParams

type CheckDepositListParams struct {
	// Filter Check Deposits to those belonging to the specified Account.
	AccountID param.Field[string]                          `query:"account_id"`
	CreatedAt param.Field[CheckDepositListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (CheckDepositListParams) URLQuery

func (r CheckDepositListParams) URLQuery() (v url.Values)

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

type CheckDepositListParamsCreatedAt

type CheckDepositListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (CheckDepositListParamsCreatedAt) URLQuery

func (r CheckDepositListParamsCreatedAt) URLQuery() (v url.Values)

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

type CheckDepositNewParams

type CheckDepositNewParams struct {
	// The identifier for the Account to deposit the check in.
	AccountID param.Field[string] `json:"account_id,required"`
	// The deposit amount in USD cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The File containing the check's back image.
	BackImageFileID param.Field[string] `json:"back_image_file_id,required"`
	// The File containing the check's front image.
	FrontImageFileID param.Field[string] `json:"front_image_file_id,required"`
	// The description you choose to give the Check Deposit, for display purposes only.
	Description param.Field[string] `json:"description"`
}

func (CheckDepositNewParams) MarshalJSON

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

type CheckDepositService

type CheckDepositService struct {
	Options []option.RequestOption
}

CheckDepositService contains methods and other services that help with interacting with the increase 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, checkDepositID string, opts ...option.RequestOption) (res *CheckDeposit, err error)

Retrieve a Check Deposit

func (*CheckDepositService) List

List Check Deposits

func (*CheckDepositService) ListAutoPaging

List Check Deposits

func (*CheckDepositService) New

Create a Check Deposit

type CheckDepositStatus

type CheckDepositStatus string

The status of the Check Deposit.

const (
	CheckDepositStatusPending   CheckDepositStatus = "pending"
	CheckDepositStatusSubmitted CheckDepositStatus = "submitted"
	CheckDepositStatusRejected  CheckDepositStatus = "rejected"
	CheckDepositStatusReturned  CheckDepositStatus = "returned"
)

func (CheckDepositStatus) IsKnown

func (r CheckDepositStatus) IsKnown() bool

type CheckDepositType

type CheckDepositType string

A constant representing the object's type. For this resource it will always be `check_deposit`.

const (
	CheckDepositTypeCheckDeposit CheckDepositType = "check_deposit"
)

func (CheckDepositType) IsKnown

func (r CheckDepositType) IsKnown() bool

type CheckTransfer

type CheckTransfer struct {
	// The Check transfer's identifier.
	ID string `json:"id,required"`
	// The identifier of the Account from which funds will be transferred.
	AccountID string `json:"account_id,required"`
	// The account number printed on the check.
	AccountNumber string `json:"account_number,required"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// If your account requires approvals for transfers and the transfer was approved,
	// this will contain details of the approval.
	Approval CheckTransferApproval `json:"approval,required,nullable"`
	// If the Check Transfer was successfully deposited, this will contain the
	// identifier of the Inbound Check Deposit object with details of the deposit.
	ApprovedInboundCheckDepositID string `json:"approved_inbound_check_deposit_id,required,nullable"`
	// If your account requires approvals for transfers and the transfer was not
	// approved, this will contain details of the cancellation.
	Cancellation CheckTransferCancellation `json:"cancellation,required,nullable"`
	// The check number printed on the check.
	CheckNumber string `json:"check_number,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// What object created the transfer, either via the API or the dashboard.
	CreatedBy CheckTransferCreatedBy `json:"created_by,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's
	// currency.
	Currency CheckTransferCurrency `json:"currency,required"`
	// Whether Increase will print and mail the check or if you will do it yourself.
	FulfillmentMethod CheckTransferFulfillmentMethod `json:"fulfillment_method,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// If the check has been mailed by Increase, this will contain details of the
	// shipment.
	Mailing CheckTransferMailing `json:"mailing,required,nullable"`
	// The ID for the pending transaction representing the transfer. A pending
	// transaction is created when the transfer
	// [requires approval](https://increase.com/documentation/transfer-approvals#transfer-approvals)
	// by someone else in your organization.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// Details relating to the physical check that Increase will print and mail. Will
	// be present if and only if `fulfillment_method` is equal to `physical_check`.
	PhysicalCheck CheckTransferPhysicalCheck `json:"physical_check,required,nullable"`
	// The routing number printed on the check.
	RoutingNumber string `json:"routing_number,required"`
	// The identifier of the Account Number from which to send the transfer and print
	// on the check.
	SourceAccountNumberID string `json:"source_account_number_id,required,nullable"`
	// The lifecycle status of the transfer.
	Status CheckTransferStatus `json:"status,required"`
	// After a stop-payment is requested on the check, this will contain supplemental
	// details.
	StopPaymentRequest CheckTransferStopPaymentRequest `json:"stop_payment_request,required,nullable"`
	// After the transfer is submitted, this will contain supplemental details.
	Submission CheckTransferSubmission `json:"submission,required,nullable"`
	// Details relating to the custom fulfillment you will perform. Will be present if
	// and only if `fulfillment_method` is equal to `third_party`.
	ThirdParty CheckTransferThirdParty `json:"third_party,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `check_transfer`.
	Type CheckTransferType `json:"type,required"`
	JSON checkTransferJSON `json:"-"`
}

Check Transfers move funds from your Increase account by mailing a physical check.

func (*CheckTransfer) UnmarshalJSON

func (r *CheckTransfer) UnmarshalJSON(data []byte) (err error)

type CheckTransferApproval

type CheckTransferApproval struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was approved.
	ApprovedAt time.Time `json:"approved_at,required" format:"date-time"`
	// If the Transfer was approved by a user in the dashboard, the email address of
	// that user.
	ApprovedBy string                    `json:"approved_by,required,nullable"`
	JSON       checkTransferApprovalJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

func (*CheckTransferApproval) UnmarshalJSON

func (r *CheckTransferApproval) UnmarshalJSON(data []byte) (err error)

type CheckTransferCancellation

type CheckTransferCancellation struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Transfer was canceled.
	CanceledAt time.Time `json:"canceled_at,required" format:"date-time"`
	// If the Transfer was canceled by a user in the dashboard, the email address of
	// that user.
	CanceledBy string                        `json:"canceled_by,required,nullable"`
	JSON       checkTransferCancellationJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

func (*CheckTransferCancellation) UnmarshalJSON

func (r *CheckTransferCancellation) UnmarshalJSON(data []byte) (err error)

type CheckTransferCreatedBy

type CheckTransferCreatedBy struct {
	// If present, details about the API key that created the transfer.
	APIKey CheckTransferCreatedByAPIKey `json:"api_key,required,nullable"`
	// The type of object that created this transfer.
	Category CheckTransferCreatedByCategory `json:"category,required"`
	// If present, details about the OAuth Application that created the transfer.
	OAuthApplication CheckTransferCreatedByOAuthApplication `json:"oauth_application,required,nullable"`
	// If present, details about the User that created the transfer.
	User CheckTransferCreatedByUser `json:"user,required,nullable"`
	JSON checkTransferCreatedByJSON `json:"-"`
}

What object created the transfer, either via the API or the dashboard.

func (*CheckTransferCreatedBy) UnmarshalJSON

func (r *CheckTransferCreatedBy) UnmarshalJSON(data []byte) (err error)

type CheckTransferCreatedByAPIKey

type CheckTransferCreatedByAPIKey struct {
	// The description set for the API key when it was created.
	Description string                           `json:"description,required,nullable"`
	JSON        checkTransferCreatedByAPIKeyJSON `json:"-"`
}

If present, details about the API key that created the transfer.

func (*CheckTransferCreatedByAPIKey) UnmarshalJSON

func (r *CheckTransferCreatedByAPIKey) UnmarshalJSON(data []byte) (err error)

type CheckTransferCreatedByCategory

type CheckTransferCreatedByCategory string

The type of object that created this transfer.

const (
	CheckTransferCreatedByCategoryAPIKey           CheckTransferCreatedByCategory = "api_key"
	CheckTransferCreatedByCategoryOAuthApplication CheckTransferCreatedByCategory = "oauth_application"
	CheckTransferCreatedByCategoryUser             CheckTransferCreatedByCategory = "user"
)

func (CheckTransferCreatedByCategory) IsKnown

type CheckTransferCreatedByOAuthApplication

type CheckTransferCreatedByOAuthApplication struct {
	// The name of the OAuth Application.
	Name string                                     `json:"name,required"`
	JSON checkTransferCreatedByOAuthApplicationJSON `json:"-"`
}

If present, details about the OAuth Application that created the transfer.

func (*CheckTransferCreatedByOAuthApplication) UnmarshalJSON

func (r *CheckTransferCreatedByOAuthApplication) UnmarshalJSON(data []byte) (err error)

type CheckTransferCreatedByUser

type CheckTransferCreatedByUser struct {
	// The email address of the User.
	Email string                         `json:"email,required"`
	JSON  checkTransferCreatedByUserJSON `json:"-"`
}

If present, details about the User that created the transfer.

func (*CheckTransferCreatedByUser) UnmarshalJSON

func (r *CheckTransferCreatedByUser) UnmarshalJSON(data []byte) (err error)

type CheckTransferCurrency

type CheckTransferCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's currency.

const (
	CheckTransferCurrencyCad CheckTransferCurrency = "CAD"
	CheckTransferCurrencyChf CheckTransferCurrency = "CHF"
	CheckTransferCurrencyEur CheckTransferCurrency = "EUR"
	CheckTransferCurrencyGbp CheckTransferCurrency = "GBP"
	CheckTransferCurrencyJpy CheckTransferCurrency = "JPY"
	CheckTransferCurrencyUsd CheckTransferCurrency = "USD"
)

func (CheckTransferCurrency) IsKnown

func (r CheckTransferCurrency) IsKnown() bool

type CheckTransferFulfillmentMethod

type CheckTransferFulfillmentMethod string

Whether Increase will print and mail the check or if you will do it yourself.

const (
	CheckTransferFulfillmentMethodPhysicalCheck CheckTransferFulfillmentMethod = "physical_check"
	CheckTransferFulfillmentMethodThirdParty    CheckTransferFulfillmentMethod = "third_party"
)

func (CheckTransferFulfillmentMethod) IsKnown

type CheckTransferListParams

type CheckTransferListParams struct {
	// Filter Check Transfers to those that originated from the specified Account.
	AccountID param.Field[string]                           `query:"account_id"`
	CreatedAt param.Field[CheckTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                         `query:"limit"`
	Status param.Field[CheckTransferListParamsStatus] `query:"status"`
}

func (CheckTransferListParams) URLQuery

func (r CheckTransferListParams) URLQuery() (v url.Values)

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

type CheckTransferListParamsCreatedAt

type CheckTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (CheckTransferListParamsCreatedAt) URLQuery

func (r CheckTransferListParamsCreatedAt) URLQuery() (v url.Values)

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

type CheckTransferListParamsStatus added in v0.199.0

type CheckTransferListParamsStatus struct {
	// Filter Check Transfers to those that have the specified status. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]CheckTransferListParamsStatusIn] `query:"in"`
}

func (CheckTransferListParamsStatus) URLQuery added in v0.199.0

func (r CheckTransferListParamsStatus) URLQuery() (v url.Values)

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

type CheckTransferListParamsStatusIn added in v0.199.0

type CheckTransferListParamsStatusIn string
const (
	CheckTransferListParamsStatusInPendingApproval   CheckTransferListParamsStatusIn = "pending_approval"
	CheckTransferListParamsStatusInCanceled          CheckTransferListParamsStatusIn = "canceled"
	CheckTransferListParamsStatusInPendingSubmission CheckTransferListParamsStatusIn = "pending_submission"
	CheckTransferListParamsStatusInRequiresAttention CheckTransferListParamsStatusIn = "requires_attention"
	CheckTransferListParamsStatusInRejected          CheckTransferListParamsStatusIn = "rejected"
	CheckTransferListParamsStatusInPendingMailing    CheckTransferListParamsStatusIn = "pending_mailing"
	CheckTransferListParamsStatusInMailed            CheckTransferListParamsStatusIn = "mailed"
	CheckTransferListParamsStatusInDeposited         CheckTransferListParamsStatusIn = "deposited"
	CheckTransferListParamsStatusInStopped           CheckTransferListParamsStatusIn = "stopped"
	CheckTransferListParamsStatusInReturned          CheckTransferListParamsStatusIn = "returned"
)

func (CheckTransferListParamsStatusIn) IsKnown added in v0.199.0

type CheckTransferMailing

type CheckTransferMailing struct {
	// The ID of the file corresponding to an image of the check that was mailed, if
	// available.
	ImageID string `json:"image_id,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the check was mailed.
	MailedAt time.Time `json:"mailed_at,required" format:"date-time"`
	// The tracking number of the shipment, if available for the shipping method.
	TrackingNumber string                   `json:"tracking_number,required,nullable"`
	JSON           checkTransferMailingJSON `json:"-"`
}

If the check has been mailed by Increase, this will contain details of the shipment.

func (*CheckTransferMailing) UnmarshalJSON

func (r *CheckTransferMailing) UnmarshalJSON(data []byte) (err error)

type CheckTransferNewParams

type CheckTransferNewParams struct {
	// The identifier for the account that will send the transfer.
	AccountID param.Field[string] `json:"account_id,required"`
	// The transfer amount in USD cents.
	Amount param.Field[int64] `json:"amount,required"`
	// Whether Increase will print and mail the check or if you will do it yourself.
	FulfillmentMethod param.Field[CheckTransferNewParamsFulfillmentMethod] `json:"fulfillment_method,required"`
	// The identifier of the Account Number from which to send the transfer and print
	// on the check.
	SourceAccountNumberID param.Field[string] `json:"source_account_number_id,required"`
	// The check number Increase should use for the check. This should not contain
	// leading zeroes and must be unique across the `source_account_number`. If this is
	// omitted, Increase will generate a check number for you.
	CheckNumber param.Field[string] `json:"check_number"`
	// Details relating to the physical check that Increase will print and mail. This
	// is required if `fulfillment_method` is equal to `physical_check`. It must not be
	// included if any other `fulfillment_method` is provided.
	PhysicalCheck param.Field[CheckTransferNewParamsPhysicalCheck] `json:"physical_check"`
	// Whether the transfer requires explicit approval via the dashboard or API.
	RequireApproval param.Field[bool] `json:"require_approval"`
	// Details relating to the custom fulfillment you will perform. This is required if
	// `fulfillment_method` is equal to `third_party`. It must not be included if any
	// other `fulfillment_method` is provided.
	ThirdParty param.Field[CheckTransferNewParamsThirdParty] `json:"third_party"`
}

func (CheckTransferNewParams) MarshalJSON

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

type CheckTransferNewParamsFulfillmentMethod

type CheckTransferNewParamsFulfillmentMethod string

Whether Increase will print and mail the check or if you will do it yourself.

const (
	CheckTransferNewParamsFulfillmentMethodPhysicalCheck CheckTransferNewParamsFulfillmentMethod = "physical_check"
	CheckTransferNewParamsFulfillmentMethodThirdParty    CheckTransferNewParamsFulfillmentMethod = "third_party"
)

func (CheckTransferNewParamsFulfillmentMethod) IsKnown

type CheckTransferNewParamsPhysicalCheck

type CheckTransferNewParamsPhysicalCheck struct {
	// Details for where Increase will mail the check.
	MailingAddress param.Field[CheckTransferNewParamsPhysicalCheckMailingAddress] `json:"mailing_address,required"`
	// The descriptor that will be printed on the memo field on the check.
	Memo param.Field[string] `json:"memo,required"`
	// The name that will be printed on the check in the 'To:' field.
	RecipientName param.Field[string] `json:"recipient_name,required"`
	// The ID of a File to be attached to the check. This must have
	// `purpose: check_attachment`. For details on pricing and restrictions, see
	// https://increase.com/documentation/originating-checks#printing-checks .
	AttachmentFileID param.Field[string] `json:"attachment_file_id"`
	// The descriptor that will be printed on the letter included with the check.
	Note param.Field[string] `json:"note"`
	// The payer of the check. This will be printed on the top-left portion of the
	// check and defaults to the return address if unspecified. This should be an array
	// of up to 4 elements, each of which represents a line of the payer.
	Payer param.Field[[]CheckTransferNewParamsPhysicalCheckPayer] `json:"payer"`
	// The return address to be printed on the check. If omitted this will default to
	// an Increase-owned address that will mark checks as delivery failed and shred
	// them.
	ReturnAddress param.Field[CheckTransferNewParamsPhysicalCheckReturnAddress] `json:"return_address"`
	// How to ship the check. For details on pricing, timing, and restrictions, see
	// https://increase.com/documentation/originating-checks#printing-checks .
	ShippingMethod param.Field[CheckTransferNewParamsPhysicalCheckShippingMethod] `json:"shipping_method"`
	// The text that will appear as the signature on the check in cursive font. If not
	// provided, the check will be printed with 'No signature required'.
	SignatureText param.Field[string] `json:"signature_text"`
}

Details relating to the physical check that Increase will print and mail. This is required if `fulfillment_method` is equal to `physical_check`. It must not be included if any other `fulfillment_method` is provided.

func (CheckTransferNewParamsPhysicalCheck) MarshalJSON

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

type CheckTransferNewParamsPhysicalCheckMailingAddress

type CheckTransferNewParamsPhysicalCheckMailingAddress struct {
	// The city component of the check's destination address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address component of the check's destination address.
	Line1 param.Field[string] `json:"line1,required"`
	// The postal code component of the check's destination address.
	PostalCode param.Field[string] `json:"postal_code,required"`
	// The US state component of the check's destination address.
	State param.Field[string] `json:"state,required"`
	// The second line of the address component of the check's destination address.
	Line2 param.Field[string] `json:"line2"`
}

Details for where Increase will mail the check.

func (CheckTransferNewParamsPhysicalCheckMailingAddress) MarshalJSON

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

type CheckTransferNewParamsPhysicalCheckPayer added in v0.247.0

type CheckTransferNewParamsPhysicalCheckPayer struct {
	// The contents of the line.
	Contents param.Field[string] `json:"contents,required"`
}

func (CheckTransferNewParamsPhysicalCheckPayer) MarshalJSON added in v0.247.0

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

type CheckTransferNewParamsPhysicalCheckReturnAddress

type CheckTransferNewParamsPhysicalCheckReturnAddress struct {
	// The city of the return address.
	City param.Field[string] `json:"city,required"`
	// The first line of the return address.
	Line1 param.Field[string] `json:"line1,required"`
	// The name of the return address.
	Name param.Field[string] `json:"name,required"`
	// The postal code of the return address.
	PostalCode param.Field[string] `json:"postal_code,required"`
	// The US state of the return address.
	State param.Field[string] `json:"state,required"`
	// The second line of the return address.
	Line2 param.Field[string] `json:"line2"`
}

The return address to be printed on the check. If omitted this will default to an Increase-owned address that will mark checks as delivery failed and shred them.

func (CheckTransferNewParamsPhysicalCheckReturnAddress) MarshalJSON

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

type CheckTransferNewParamsPhysicalCheckShippingMethod added in v0.217.0

type CheckTransferNewParamsPhysicalCheckShippingMethod string

How to ship the check. For details on pricing, timing, and restrictions, see https://increase.com/documentation/originating-checks#printing-checks .

const (
	CheckTransferNewParamsPhysicalCheckShippingMethodUspsFirstClass CheckTransferNewParamsPhysicalCheckShippingMethod = "usps_first_class"
	CheckTransferNewParamsPhysicalCheckShippingMethodFedexOvernight CheckTransferNewParamsPhysicalCheckShippingMethod = "fedex_overnight"
)

func (CheckTransferNewParamsPhysicalCheckShippingMethod) IsKnown added in v0.217.0

type CheckTransferNewParamsThirdParty

type CheckTransferNewParamsThirdParty struct {
	// The pay-to name you will print on the check. If provided, this is used for
	// [Positive Pay](/documentation/positive-pay). If this is omitted, Increase will
	// be unable to validate the payer name when the check is deposited.
	RecipientName param.Field[string] `json:"recipient_name"`
}

Details relating to the custom fulfillment you will perform. This is required if `fulfillment_method` is equal to `third_party`. It must not be included if any other `fulfillment_method` is provided.

func (CheckTransferNewParamsThirdParty) MarshalJSON

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

type CheckTransferPhysicalCheck

type CheckTransferPhysicalCheck struct {
	// The ID of the file for the check attachment.
	AttachmentFileID string `json:"attachment_file_id,required,nullable"`
	// Details for where Increase will mail the check.
	MailingAddress CheckTransferPhysicalCheckMailingAddress `json:"mailing_address,required"`
	// The descriptor that will be printed on the memo field on the check.
	Memo string `json:"memo,required,nullable"`
	// The descriptor that will be printed on the letter included with the check.
	Note string `json:"note,required,nullable"`
	// The payer of the check. This will be printed on the top-left portion of the
	// check and defaults to the return address if unspecified.
	Payer []CheckTransferPhysicalCheckPayer `json:"payer,required"`
	// The name that will be printed on the check.
	RecipientName string `json:"recipient_name,required"`
	// The return address to be printed on the check.
	ReturnAddress CheckTransferPhysicalCheckReturnAddress `json:"return_address,required,nullable"`
	// The shipping method for the check.
	ShippingMethod CheckTransferPhysicalCheckShippingMethod `json:"shipping_method,required,nullable"`
	// The text that will appear as the signature on the check in cursive font. If
	// blank, the check will be printed with 'No signature required'.
	SignatureText string `json:"signature_text,required,nullable"`
	// Tracking updates relating to the physical check's delivery.
	TrackingUpdates []CheckTransferPhysicalCheckTrackingUpdate `json:"tracking_updates,required"`
	JSON            checkTransferPhysicalCheckJSON             `json:"-"`
}

Details relating to the physical check that Increase will print and mail. Will be present if and only if `fulfillment_method` is equal to `physical_check`.

func (*CheckTransferPhysicalCheck) UnmarshalJSON

func (r *CheckTransferPhysicalCheck) UnmarshalJSON(data []byte) (err error)

type CheckTransferPhysicalCheckMailingAddress

type CheckTransferPhysicalCheckMailingAddress struct {
	// The city of the check's destination.
	City string `json:"city,required,nullable"`
	// The street address of the check's destination.
	Line1 string `json:"line1,required,nullable"`
	// The second line of the address of the check's destination.
	Line2 string `json:"line2,required,nullable"`
	// The name component of the check's mailing address.
	Name string `json:"name,required,nullable"`
	// The postal code of the check's destination.
	PostalCode string `json:"postal_code,required,nullable"`
	// The state of the check's destination.
	State string                                       `json:"state,required,nullable"`
	JSON  checkTransferPhysicalCheckMailingAddressJSON `json:"-"`
}

Details for where Increase will mail the check.

func (*CheckTransferPhysicalCheckMailingAddress) UnmarshalJSON

func (r *CheckTransferPhysicalCheckMailingAddress) UnmarshalJSON(data []byte) (err error)

type CheckTransferPhysicalCheckPayer added in v0.247.0

type CheckTransferPhysicalCheckPayer struct {
	// The contents of the line.
	Contents string                              `json:"contents,required"`
	JSON     checkTransferPhysicalCheckPayerJSON `json:"-"`
}

func (*CheckTransferPhysicalCheckPayer) UnmarshalJSON added in v0.247.0

func (r *CheckTransferPhysicalCheckPayer) UnmarshalJSON(data []byte) (err error)

type CheckTransferPhysicalCheckReturnAddress

type CheckTransferPhysicalCheckReturnAddress struct {
	// The city of the check's destination.
	City string `json:"city,required,nullable"`
	// The street address of the check's destination.
	Line1 string `json:"line1,required,nullable"`
	// The second line of the address of the check's destination.
	Line2 string `json:"line2,required,nullable"`
	// The name component of the check's return address.
	Name string `json:"name,required,nullable"`
	// The postal code of the check's destination.
	PostalCode string `json:"postal_code,required,nullable"`
	// The state of the check's destination.
	State string                                      `json:"state,required,nullable"`
	JSON  checkTransferPhysicalCheckReturnAddressJSON `json:"-"`
}

The return address to be printed on the check.

func (*CheckTransferPhysicalCheckReturnAddress) UnmarshalJSON

func (r *CheckTransferPhysicalCheckReturnAddress) UnmarshalJSON(data []byte) (err error)

type CheckTransferPhysicalCheckShippingMethod added in v0.176.0

type CheckTransferPhysicalCheckShippingMethod string

The shipping method for the check.

const (
	CheckTransferPhysicalCheckShippingMethodUspsFirstClass CheckTransferPhysicalCheckShippingMethod = "usps_first_class"
	CheckTransferPhysicalCheckShippingMethodFedexOvernight CheckTransferPhysicalCheckShippingMethod = "fedex_overnight"
)

func (CheckTransferPhysicalCheckShippingMethod) IsKnown added in v0.176.0

type CheckTransferPhysicalCheckTrackingUpdate

type CheckTransferPhysicalCheckTrackingUpdate struct {
	// The type of tracking event.
	Category CheckTransferPhysicalCheckTrackingUpdatesCategory `json:"category,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the tracking event took place.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The postal code where the event took place.
	PostalCode string                                       `json:"postal_code,required"`
	JSON       checkTransferPhysicalCheckTrackingUpdateJSON `json:"-"`
}

func (*CheckTransferPhysicalCheckTrackingUpdate) UnmarshalJSON

func (r *CheckTransferPhysicalCheckTrackingUpdate) UnmarshalJSON(data []byte) (err error)

type CheckTransferPhysicalCheckTrackingUpdatesCategory

type CheckTransferPhysicalCheckTrackingUpdatesCategory string

The type of tracking event.

const (
	CheckTransferPhysicalCheckTrackingUpdatesCategoryInTransit            CheckTransferPhysicalCheckTrackingUpdatesCategory = "in_transit"
	CheckTransferPhysicalCheckTrackingUpdatesCategoryProcessedForDelivery CheckTransferPhysicalCheckTrackingUpdatesCategory = "processed_for_delivery"
	CheckTransferPhysicalCheckTrackingUpdatesCategoryDelivered            CheckTransferPhysicalCheckTrackingUpdatesCategory = "delivered"
	CheckTransferPhysicalCheckTrackingUpdatesCategoryReturnedToSender     CheckTransferPhysicalCheckTrackingUpdatesCategory = "returned_to_sender"
)

func (CheckTransferPhysicalCheckTrackingUpdatesCategory) IsKnown

type CheckTransferService

type CheckTransferService struct {
	Options []option.RequestOption
}

CheckTransferService contains methods and other services that help with interacting with the increase 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 NewCheckTransferService method instead.

func NewCheckTransferService

func NewCheckTransferService(opts ...option.RequestOption) (r *CheckTransferService)

NewCheckTransferService 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 (*CheckTransferService) Approve

func (r *CheckTransferService) Approve(ctx context.Context, checkTransferID string, opts ...option.RequestOption) (res *CheckTransfer, err error)

Approve a Check Transfer

func (*CheckTransferService) Cancel

func (r *CheckTransferService) Cancel(ctx context.Context, checkTransferID string, opts ...option.RequestOption) (res *CheckTransfer, err error)

Cancel a pending Check Transfer

func (*CheckTransferService) Get

func (r *CheckTransferService) Get(ctx context.Context, checkTransferID string, opts ...option.RequestOption) (res *CheckTransfer, err error)

Retrieve a Check Transfer

func (*CheckTransferService) List

List Check Transfers

func (*CheckTransferService) ListAutoPaging

List Check Transfers

func (*CheckTransferService) New

Create a Check Transfer

func (*CheckTransferService) StopPayment

func (r *CheckTransferService) StopPayment(ctx context.Context, checkTransferID string, body CheckTransferStopPaymentParams, opts ...option.RequestOption) (res *CheckTransfer, err error)

Stop payment on a Check Transfer

type CheckTransferStatus

type CheckTransferStatus string

The lifecycle status of the transfer.

const (
	CheckTransferStatusPendingApproval   CheckTransferStatus = "pending_approval"
	CheckTransferStatusCanceled          CheckTransferStatus = "canceled"
	CheckTransferStatusPendingSubmission CheckTransferStatus = "pending_submission"
	CheckTransferStatusRequiresAttention CheckTransferStatus = "requires_attention"
	CheckTransferStatusRejected          CheckTransferStatus = "rejected"
	CheckTransferStatusPendingMailing    CheckTransferStatus = "pending_mailing"
	CheckTransferStatusMailed            CheckTransferStatus = "mailed"
	CheckTransferStatusDeposited         CheckTransferStatus = "deposited"
	CheckTransferStatusStopped           CheckTransferStatus = "stopped"
	CheckTransferStatusReturned          CheckTransferStatus = "returned"
)

func (CheckTransferStatus) IsKnown

func (r CheckTransferStatus) IsKnown() bool

type CheckTransferStopPaymentParams

type CheckTransferStopPaymentParams struct {
	// The reason why this transfer should be stopped.
	Reason param.Field[CheckTransferStopPaymentParamsReason] `json:"reason"`
}

func (CheckTransferStopPaymentParams) MarshalJSON

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

type CheckTransferStopPaymentParamsReason

type CheckTransferStopPaymentParamsReason string

The reason why this transfer should be stopped.

const (
	CheckTransferStopPaymentParamsReasonMailDeliveryFailed CheckTransferStopPaymentParamsReason = "mail_delivery_failed"
	CheckTransferStopPaymentParamsReasonNotAuthorized      CheckTransferStopPaymentParamsReason = "not_authorized"
	CheckTransferStopPaymentParamsReasonUnknown            CheckTransferStopPaymentParamsReason = "unknown"
)

func (CheckTransferStopPaymentParamsReason) IsKnown

type CheckTransferStopPaymentRequest

type CheckTransferStopPaymentRequest struct {
	// The reason why this transfer was stopped.
	Reason CheckTransferStopPaymentRequestReason `json:"reason,required"`
	// The time the stop-payment was requested.
	RequestedAt time.Time `json:"requested_at,required" format:"date-time"`
	// The ID of the check transfer that was stopped.
	TransferID string `json:"transfer_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `check_transfer_stop_payment_request`.
	Type CheckTransferStopPaymentRequestType `json:"type,required"`
	JSON checkTransferStopPaymentRequestJSON `json:"-"`
}

After a stop-payment is requested on the check, this will contain supplemental details.

func (*CheckTransferStopPaymentRequest) UnmarshalJSON

func (r *CheckTransferStopPaymentRequest) UnmarshalJSON(data []byte) (err error)

type CheckTransferStopPaymentRequestReason

type CheckTransferStopPaymentRequestReason string

The reason why this transfer was stopped.

const (
	CheckTransferStopPaymentRequestReasonMailDeliveryFailed CheckTransferStopPaymentRequestReason = "mail_delivery_failed"
	CheckTransferStopPaymentRequestReasonRejectedByIncrease CheckTransferStopPaymentRequestReason = "rejected_by_increase"
	CheckTransferStopPaymentRequestReasonNotAuthorized      CheckTransferStopPaymentRequestReason = "not_authorized"
	CheckTransferStopPaymentRequestReasonUnknown            CheckTransferStopPaymentRequestReason = "unknown"
)

func (CheckTransferStopPaymentRequestReason) IsKnown

type CheckTransferStopPaymentRequestType

type CheckTransferStopPaymentRequestType string

A constant representing the object's type. For this resource it will always be `check_transfer_stop_payment_request`.

const (
	CheckTransferStopPaymentRequestTypeCheckTransferStopPaymentRequest CheckTransferStopPaymentRequestType = "check_transfer_stop_payment_request"
)

func (CheckTransferStopPaymentRequestType) IsKnown

type CheckTransferSubmission

type CheckTransferSubmission struct {
	// Per USPS requirements, Increase will standardize the address to USPS standards
	// and check it against the USPS National Change of Address (NCOA) database before
	// mailing it. This indicates what modifications, if any, were made to the address
	// before printing and mailing the check.
	AddressCorrectionAction CheckTransferSubmissionAddressCorrectionAction `json:"address_correction_action,required"`
	// The address we submitted to the printer. This is what is physically printed on
	// the check.
	SubmittedAddress CheckTransferSubmissionSubmittedAddress `json:"submitted_address,required"`
	// When this check transfer was submitted to our check printer.
	SubmittedAt time.Time                   `json:"submitted_at,required" format:"date-time"`
	JSON        checkTransferSubmissionJSON `json:"-"`
}

After the transfer is submitted, this will contain supplemental details.

func (*CheckTransferSubmission) UnmarshalJSON

func (r *CheckTransferSubmission) UnmarshalJSON(data []byte) (err error)

type CheckTransferSubmissionAddressCorrectionAction added in v0.214.0

type CheckTransferSubmissionAddressCorrectionAction string

Per USPS requirements, Increase will standardize the address to USPS standards and check it against the USPS National Change of Address (NCOA) database before mailing it. This indicates what modifications, if any, were made to the address before printing and mailing the check.

const (
	CheckTransferSubmissionAddressCorrectionActionNone                             CheckTransferSubmissionAddressCorrectionAction = "none"
	CheckTransferSubmissionAddressCorrectionActionStandardization                  CheckTransferSubmissionAddressCorrectionAction = "standardization"
	CheckTransferSubmissionAddressCorrectionActionStandardizationWithAddressChange CheckTransferSubmissionAddressCorrectionAction = "standardization_with_address_change"
	CheckTransferSubmissionAddressCorrectionActionError                            CheckTransferSubmissionAddressCorrectionAction = "error"
)

func (CheckTransferSubmissionAddressCorrectionAction) IsKnown added in v0.214.0

type CheckTransferSubmissionSubmittedAddress added in v0.214.0

type CheckTransferSubmissionSubmittedAddress struct {
	// The submitted address city.
	City string `json:"city,required"`
	// The submitted address line 1.
	Line1 string `json:"line1,required"`
	// The submitted address line 2.
	Line2 string `json:"line2,required,nullable"`
	// The submitted recipient name.
	RecipientName string `json:"recipient_name,required"`
	// The submitted address state.
	State string `json:"state,required"`
	// The submitted address zip.
	Zip  string                                      `json:"zip,required"`
	JSON checkTransferSubmissionSubmittedAddressJSON `json:"-"`
}

The address we submitted to the printer. This is what is physically printed on the check.

func (*CheckTransferSubmissionSubmittedAddress) UnmarshalJSON added in v0.214.0

func (r *CheckTransferSubmissionSubmittedAddress) UnmarshalJSON(data []byte) (err error)

type CheckTransferThirdParty

type CheckTransferThirdParty struct {
	// The name that you will print on the check.
	RecipientName string                      `json:"recipient_name,required,nullable"`
	JSON          checkTransferThirdPartyJSON `json:"-"`
}

Details relating to the custom fulfillment you will perform. Will be present if and only if `fulfillment_method` is equal to `third_party`.

func (*CheckTransferThirdParty) UnmarshalJSON

func (r *CheckTransferThirdParty) UnmarshalJSON(data []byte) (err error)

type CheckTransferType

type CheckTransferType string

A constant representing the object's type. For this resource it will always be `check_transfer`.

const (
	CheckTransferTypeCheckTransfer CheckTransferType = "check_transfer"
)

func (CheckTransferType) IsKnown

func (r CheckTransferType) IsKnown() bool

type Client

type Client struct {
	Options                          []option.RequestOption
	Accounts                         *AccountService
	AccountNumbers                   *AccountNumberService
	Cards                            *CardService
	CardPayments                     *CardPaymentService
	CardPurchaseSupplements          *CardPurchaseSupplementService
	CardDisputes                     *CardDisputeService
	PhysicalCards                    *PhysicalCardService
	DigitalCardProfiles              *DigitalCardProfileService
	PhysicalCardProfiles             *PhysicalCardProfileService
	DigitalWalletTokens              *DigitalWalletTokenService
	Transactions                     *TransactionService
	PendingTransactions              *PendingTransactionService
	DeclinedTransactions             *DeclinedTransactionService
	AccountTransfers                 *AccountTransferService
	ACHTransfers                     *ACHTransferService
	ACHPrenotifications              *ACHPrenotificationService
	InboundACHTransfers              *InboundACHTransferService
	WireTransfers                    *WireTransferService
	InboundWireTransfers             *InboundWireTransferService
	WireDrawdownRequests             *WireDrawdownRequestService
	InboundWireDrawdownRequests      *InboundWireDrawdownRequestService
	CheckTransfers                   *CheckTransferService
	InboundCheckDeposits             *InboundCheckDepositService
	RealTimePaymentsTransfers        *RealTimePaymentsTransferService
	InboundRealTimePaymentsTransfers *InboundRealTimePaymentsTransferService
	CheckDeposits                    *CheckDepositService
	Lockboxes                        *LockboxService
	InboundMailItems                 *InboundMailItemService
	RoutingNumbers                   *RoutingNumberService
	ExternalAccounts                 *ExternalAccountService
	Entities                         *EntityService
	SupplementalDocuments            *SupplementalDocumentService
	Programs                         *ProgramService
	AccountStatements                *AccountStatementService
	Files                            *FileService
	FileLinks                        *FileLinkService
	Documents                        *DocumentService
	Exports                          *ExportService
	Events                           *EventService
	EventSubscriptions               *EventSubscriptionService
	RealTimeDecisions                *RealTimeDecisionService
	BookkeepingAccounts              *BookkeepingAccountService
	BookkeepingEntrySets             *BookkeepingEntrySetService
	BookkeepingEntries               *BookkeepingEntryService
	Groups                           *GroupService
	OAuthApplications                *OAuthApplicationService
	OAuthConnections                 *OAuthConnectionService
	Webhooks                         *WebhookService
	OAuthTokens                      *OAuthTokenService
	IntrafiAccountEnrollments        *IntrafiAccountEnrollmentService
	IntrafiBalances                  *IntrafiBalanceService
	IntrafiExclusions                *IntrafiExclusionService
	Simulations                      *SimulationService
}

Client creates a struct with services and top level methods that help with interacting with the increase 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 (INCREASE_API_KEY, INCREASE_WEBHOOK_SECRET, INCREASE_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 interface{}, res interface{}, 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 interface{}, res interface{}, 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 interface{}, res interface{}, 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 interface{}, res interface{}, 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 interface{}, res interface{}, 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 interface{}, res interface{}, 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 DeclinedTransaction

type DeclinedTransaction struct {
	// The Declined Transaction identifier.
	ID string `json:"id,required"`
	// The identifier for the Account the Declined Transaction belongs to.
	AccountID string `json:"account_id,required"`
	// The Declined Transaction amount in the minor unit of its currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date on which the
	// Transaction occurred.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Declined
	// Transaction's currency. This will match the currency on the Declined
	// Transaction's Account.
	Currency DeclinedTransactionCurrency `json:"currency,required"`
	// This is the description the vendor provides.
	Description string `json:"description,required"`
	// The identifier for the route this Declined Transaction came through. Routes are
	// things like cards and ACH details.
	RouteID string `json:"route_id,required,nullable"`
	// The type of the route this Declined Transaction came through.
	RouteType DeclinedTransactionRouteType `json:"route_type,required,nullable"`
	// This is an object giving more details on the network-level event that caused the
	// Declined Transaction. For example, for a card transaction this lists the
	// merchant's industry and location. Note that for backwards compatibility reasons,
	// additional undocumented keys may appear in this object. These should be treated
	// as deprecated and will be removed in the future.
	Source DeclinedTransactionSource `json:"source,required"`
	// A constant representing the object's type. For this resource it will always be
	// `declined_transaction`.
	Type DeclinedTransactionType `json:"type,required"`
	JSON declinedTransactionJSON `json:"-"`
}

Declined Transactions are refused additions and removals of money from your bank account. For example, Declined Transactions are caused when your Account has an insufficient balance or your Limits are triggered.

func (*DeclinedTransaction) UnmarshalJSON

func (r *DeclinedTransaction) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionCurrency

type DeclinedTransactionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Declined Transaction's currency. This will match the currency on the Declined Transaction's Account.

const (
	DeclinedTransactionCurrencyCad DeclinedTransactionCurrency = "CAD"
	DeclinedTransactionCurrencyChf DeclinedTransactionCurrency = "CHF"
	DeclinedTransactionCurrencyEur DeclinedTransactionCurrency = "EUR"
	DeclinedTransactionCurrencyGbp DeclinedTransactionCurrency = "GBP"
	DeclinedTransactionCurrencyJpy DeclinedTransactionCurrency = "JPY"
	DeclinedTransactionCurrencyUsd DeclinedTransactionCurrency = "USD"
)

func (DeclinedTransactionCurrency) IsKnown

func (r DeclinedTransactionCurrency) IsKnown() bool

type DeclinedTransactionListParams

type DeclinedTransactionListParams struct {
	// Filter Declined Transactions to ones belonging to the specified Account.
	AccountID param.Field[string]                                 `query:"account_id"`
	Category  param.Field[DeclinedTransactionListParamsCategory]  `query:"category"`
	CreatedAt param.Field[DeclinedTransactionListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter Declined Transactions to those belonging to the specified route.
	RouteID param.Field[string] `query:"route_id"`
}

func (DeclinedTransactionListParams) URLQuery

func (r DeclinedTransactionListParams) URLQuery() (v url.Values)

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

type DeclinedTransactionListParamsCategory

type DeclinedTransactionListParamsCategory struct {
	// Return results whose value is in the provided list. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]DeclinedTransactionListParamsCategoryIn] `query:"in"`
}

func (DeclinedTransactionListParamsCategory) URLQuery

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

type DeclinedTransactionListParamsCategoryIn

type DeclinedTransactionListParamsCategoryIn string
const (
	DeclinedTransactionListParamsCategoryInACHDecline                             DeclinedTransactionListParamsCategoryIn = "ach_decline"
	DeclinedTransactionListParamsCategoryInCardDecline                            DeclinedTransactionListParamsCategoryIn = "card_decline"
	DeclinedTransactionListParamsCategoryInCheckDecline                           DeclinedTransactionListParamsCategoryIn = "check_decline"
	DeclinedTransactionListParamsCategoryInInboundRealTimePaymentsTransferDecline DeclinedTransactionListParamsCategoryIn = "inbound_real_time_payments_transfer_decline"
	DeclinedTransactionListParamsCategoryInWireDecline                            DeclinedTransactionListParamsCategoryIn = "wire_decline"
	DeclinedTransactionListParamsCategoryInCheckDepositRejection                  DeclinedTransactionListParamsCategoryIn = "check_deposit_rejection"
	DeclinedTransactionListParamsCategoryInOther                                  DeclinedTransactionListParamsCategoryIn = "other"
)

func (DeclinedTransactionListParamsCategoryIn) IsKnown

type DeclinedTransactionListParamsCreatedAt

type DeclinedTransactionListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (DeclinedTransactionListParamsCreatedAt) URLQuery

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

type DeclinedTransactionRouteType

type DeclinedTransactionRouteType string

The type of the route this Declined Transaction came through.

const (
	DeclinedTransactionRouteTypeAccountNumber DeclinedTransactionRouteType = "account_number"
	DeclinedTransactionRouteTypeCard          DeclinedTransactionRouteType = "card"
	DeclinedTransactionRouteTypeLockbox       DeclinedTransactionRouteType = "lockbox"
)

func (DeclinedTransactionRouteType) IsKnown

func (r DeclinedTransactionRouteType) IsKnown() bool

type DeclinedTransactionService

type DeclinedTransactionService struct {
	Options []option.RequestOption
}

DeclinedTransactionService contains methods and other services that help with interacting with the increase 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 NewDeclinedTransactionService method instead.

func NewDeclinedTransactionService

func NewDeclinedTransactionService(opts ...option.RequestOption) (r *DeclinedTransactionService)

NewDeclinedTransactionService 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 (*DeclinedTransactionService) Get

func (r *DeclinedTransactionService) Get(ctx context.Context, declinedTransactionID string, opts ...option.RequestOption) (res *DeclinedTransaction, err error)

Retrieve a Declined Transaction

func (*DeclinedTransactionService) List

List Declined Transactions

func (*DeclinedTransactionService) ListAutoPaging

List Declined Transactions

type DeclinedTransactionSource

type DeclinedTransactionSource struct {
	// An ACH Decline object. This field will be present in the JSON response if and
	// only if `category` is equal to `ach_decline`.
	ACHDecline DeclinedTransactionSourceACHDecline `json:"ach_decline,required,nullable"`
	// A Card Decline object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_decline`.
	CardDecline DeclinedTransactionSourceCardDecline `json:"card_decline,required,nullable"`
	// The type of the resource. We may add additional possible values for this enum
	// over time; your application should be able to handle such additions gracefully.
	Category DeclinedTransactionSourceCategory `json:"category,required"`
	// A Check Decline object. This field will be present in the JSON response if and
	// only if `category` is equal to `check_decline`.
	CheckDecline DeclinedTransactionSourceCheckDecline `json:"check_decline,required,nullable"`
	// A Check Deposit Rejection object. This field will be present in the JSON
	// response if and only if `category` is equal to `check_deposit_rejection`.
	CheckDepositRejection DeclinedTransactionSourceCheckDepositRejection `json:"check_deposit_rejection,required,nullable"`
	// An Inbound Real-Time Payments Transfer Decline object. This field will be
	// present in the JSON response if and only if `category` is equal to
	// `inbound_real_time_payments_transfer_decline`.
	InboundRealTimePaymentsTransferDecline DeclinedTransactionSourceInboundRealTimePaymentsTransferDecline `json:"inbound_real_time_payments_transfer_decline,required,nullable"`
	// If the category of this Transaction source is equal to `other`, this field will
	// contain an empty object, otherwise it will contain null.
	Other interface{} `json:"other,required,nullable"`
	// A Wire Decline object. This field will be present in the JSON response if and
	// only if `category` is equal to `wire_decline`.
	WireDecline DeclinedTransactionSourceWireDecline `json:"wire_decline,required,nullable"`
	JSON        declinedTransactionSourceJSON        `json:"-"`
}

This is an object giving more details on the network-level event that caused the Declined Transaction. For example, for a card transaction this lists the merchant's industry and location. Note that for backwards compatibility reasons, additional undocumented keys may appear in this object. These should be treated as deprecated and will be removed in the future.

func (*DeclinedTransactionSource) UnmarshalJSON

func (r *DeclinedTransactionSource) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceACHDecline

type DeclinedTransactionSourceACHDecline struct {
	// The ACH Decline's identifier.
	ID string `json:"id,required"`
	// The declined amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Inbound ACH Transfer object associated with this decline.
	InboundACHTransferID string `json:"inbound_ach_transfer_id,required"`
	// The descriptive date of the transfer.
	OriginatorCompanyDescriptiveDate string `json:"originator_company_descriptive_date,required,nullable"`
	// The additional information included with the transfer.
	OriginatorCompanyDiscretionaryData string `json:"originator_company_discretionary_data,required,nullable"`
	// The identifier of the company that initiated the transfer.
	OriginatorCompanyID string `json:"originator_company_id,required"`
	// The name of the company that initiated the transfer.
	OriginatorCompanyName string `json:"originator_company_name,required"`
	// Why the ACH transfer was declined.
	Reason DeclinedTransactionSourceACHDeclineReason `json:"reason,required"`
	// The id of the receiver of the transfer.
	ReceiverIDNumber string `json:"receiver_id_number,required,nullable"`
	// The name of the receiver of the transfer.
	ReceiverName string `json:"receiver_name,required,nullable"`
	// The trace number of the transfer.
	TraceNumber string `json:"trace_number,required"`
	// A constant representing the object's type. For this resource it will always be
	// `ach_decline`.
	Type DeclinedTransactionSourceACHDeclineType `json:"type,required"`
	JSON declinedTransactionSourceACHDeclineJSON `json:"-"`
}

An ACH Decline object. This field will be present in the JSON response if and only if `category` is equal to `ach_decline`.

func (*DeclinedTransactionSourceACHDecline) UnmarshalJSON

func (r *DeclinedTransactionSourceACHDecline) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceACHDeclineReason

type DeclinedTransactionSourceACHDeclineReason string

Why the ACH transfer was declined.

const (
	DeclinedTransactionSourceACHDeclineReasonACHRouteCanceled                                            DeclinedTransactionSourceACHDeclineReason = "ach_route_canceled"
	DeclinedTransactionSourceACHDeclineReasonACHRouteDisabled                                            DeclinedTransactionSourceACHDeclineReason = "ach_route_disabled"
	DeclinedTransactionSourceACHDeclineReasonBreachesLimit                                               DeclinedTransactionSourceACHDeclineReason = "breaches_limit"
	DeclinedTransactionSourceACHDeclineReasonEntityNotActive                                             DeclinedTransactionSourceACHDeclineReason = "entity_not_active"
	DeclinedTransactionSourceACHDeclineReasonGroupLocked                                                 DeclinedTransactionSourceACHDeclineReason = "group_locked"
	DeclinedTransactionSourceACHDeclineReasonTransactionNotAllowed                                       DeclinedTransactionSourceACHDeclineReason = "transaction_not_allowed"
	DeclinedTransactionSourceACHDeclineReasonUserInitiated                                               DeclinedTransactionSourceACHDeclineReason = "user_initiated"
	DeclinedTransactionSourceACHDeclineReasonInsufficientFunds                                           DeclinedTransactionSourceACHDeclineReason = "insufficient_funds"
	DeclinedTransactionSourceACHDeclineReasonReturnedPerOdfiRequest                                      DeclinedTransactionSourceACHDeclineReason = "returned_per_odfi_request"
	DeclinedTransactionSourceACHDeclineReasonAuthorizationRevokedByCustomer                              DeclinedTransactionSourceACHDeclineReason = "authorization_revoked_by_customer"
	DeclinedTransactionSourceACHDeclineReasonPaymentStopped                                              DeclinedTransactionSourceACHDeclineReason = "payment_stopped"
	DeclinedTransactionSourceACHDeclineReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   DeclinedTransactionSourceACHDeclineReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	DeclinedTransactionSourceACHDeclineReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity DeclinedTransactionSourceACHDeclineReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	DeclinedTransactionSourceACHDeclineReasonBeneficiaryOrAccountHolderDeceased                          DeclinedTransactionSourceACHDeclineReason = "beneficiary_or_account_holder_deceased"
	DeclinedTransactionSourceACHDeclineReasonCreditEntryRefusedByReceiver                                DeclinedTransactionSourceACHDeclineReason = "credit_entry_refused_by_receiver"
	DeclinedTransactionSourceACHDeclineReasonDuplicateEntry                                              DeclinedTransactionSourceACHDeclineReason = "duplicate_entry"
	DeclinedTransactionSourceACHDeclineReasonCorporateCustomerAdvisedNotAuthorized                       DeclinedTransactionSourceACHDeclineReason = "corporate_customer_advised_not_authorized"
)

func (DeclinedTransactionSourceACHDeclineReason) IsKnown

type DeclinedTransactionSourceACHDeclineType

type DeclinedTransactionSourceACHDeclineType string

A constant representing the object's type. For this resource it will always be `ach_decline`.

const (
	DeclinedTransactionSourceACHDeclineTypeACHDecline DeclinedTransactionSourceACHDeclineType = "ach_decline"
)

func (DeclinedTransactionSourceACHDeclineType) IsKnown

type DeclinedTransactionSourceCardDecline

type DeclinedTransactionSourceCardDecline struct {
	// The Card Decline identifier.
	ID string `json:"id,required"`
	// Whether this authorization was approved by Increase, the card network through
	// stand-in processing, or the user through a real-time decision.
	Actioner DeclinedTransactionSourceCardDeclineActioner `json:"actioner,required"`
	// The declined amount in the minor unit of the destination account currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency DeclinedTransactionSourceCardDeclineCurrency `json:"currency,required"`
	// The identifier of the declined transaction created for this Card Decline.
	DeclinedTransactionID string `json:"declined_transaction_id,required"`
	// If the authorization was made via a Digital Wallet Token (such as an Apple Pay
	// purchase), the identifier of the token that was used.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// The direction describes the direction the funds will move, either from the
	// cardholder to the merchant or from the merchant to the cardholder.
	Direction DeclinedTransactionSourceCardDeclineDirection `json:"direction,required"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor string `json:"merchant_descriptor,required"`
	// The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
	// ZIP code, where the first 5 and last 4 are separated by a dash.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails DeclinedTransactionSourceCardDeclineNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers DeclinedTransactionSourceCardDeclineNetworkIdentifiers `json:"network_identifiers,required"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore int64 `json:"network_risk_score,required,nullable"`
	// If the authorization was made in-person with a physical card, the Physical Card
	// that was used.
	PhysicalCardID string `json:"physical_card_id,required,nullable"`
	// The declined amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// The processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory DeclinedTransactionSourceCardDeclineProcessingCategory `json:"processing_category,required"`
	// The identifier of the Real-Time Decision sent to approve or decline this
	// transaction.
	RealTimeDecisionID string `json:"real_time_decision_id,required,nullable"`
	// This is present if a specific decline reason was given in the real-time
	// decision.
	RealTimeDecisionReason DeclinedTransactionSourceCardDeclineRealTimeDecisionReason `json:"real_time_decision_reason,required,nullable"`
	// Why the transaction was declined.
	Reason DeclinedTransactionSourceCardDeclineReason `json:"reason,required"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID string `json:"terminal_id,required,nullable"`
	// Fields related to verification of cardholder-provided values.
	Verification DeclinedTransactionSourceCardDeclineVerification `json:"verification,required"`
	JSON         declinedTransactionSourceCardDeclineJSON         `json:"-"`
}

A Card Decline object. This field will be present in the JSON response if and only if `category` is equal to `card_decline`.

func (*DeclinedTransactionSourceCardDecline) UnmarshalJSON

func (r *DeclinedTransactionSourceCardDecline) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceCardDeclineActioner

type DeclinedTransactionSourceCardDeclineActioner string

Whether this authorization was approved by Increase, the card network through stand-in processing, or the user through a real-time decision.

const (
	DeclinedTransactionSourceCardDeclineActionerUser     DeclinedTransactionSourceCardDeclineActioner = "user"
	DeclinedTransactionSourceCardDeclineActionerIncrease DeclinedTransactionSourceCardDeclineActioner = "increase"
	DeclinedTransactionSourceCardDeclineActionerNetwork  DeclinedTransactionSourceCardDeclineActioner = "network"
)

func (DeclinedTransactionSourceCardDeclineActioner) IsKnown

type DeclinedTransactionSourceCardDeclineCurrency

type DeclinedTransactionSourceCardDeclineCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination account currency.

const (
	DeclinedTransactionSourceCardDeclineCurrencyCad DeclinedTransactionSourceCardDeclineCurrency = "CAD"
	DeclinedTransactionSourceCardDeclineCurrencyChf DeclinedTransactionSourceCardDeclineCurrency = "CHF"
	DeclinedTransactionSourceCardDeclineCurrencyEur DeclinedTransactionSourceCardDeclineCurrency = "EUR"
	DeclinedTransactionSourceCardDeclineCurrencyGbp DeclinedTransactionSourceCardDeclineCurrency = "GBP"
	DeclinedTransactionSourceCardDeclineCurrencyJpy DeclinedTransactionSourceCardDeclineCurrency = "JPY"
	DeclinedTransactionSourceCardDeclineCurrencyUsd DeclinedTransactionSourceCardDeclineCurrency = "USD"
)

func (DeclinedTransactionSourceCardDeclineCurrency) IsKnown

type DeclinedTransactionSourceCardDeclineDirection added in v0.118.0

type DeclinedTransactionSourceCardDeclineDirection string

The direction describes the direction the funds will move, either from the cardholder to the merchant or from the merchant to the cardholder.

const (
	DeclinedTransactionSourceCardDeclineDirectionSettlement DeclinedTransactionSourceCardDeclineDirection = "settlement"
	DeclinedTransactionSourceCardDeclineDirectionRefund     DeclinedTransactionSourceCardDeclineDirection = "refund"
)

func (DeclinedTransactionSourceCardDeclineDirection) IsKnown added in v0.118.0

type DeclinedTransactionSourceCardDeclineNetworkDetails

type DeclinedTransactionSourceCardDeclineNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category DeclinedTransactionSourceCardDeclineNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa DeclinedTransactionSourceCardDeclineNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON declinedTransactionSourceCardDeclineNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*DeclinedTransactionSourceCardDeclineNetworkDetails) UnmarshalJSON

func (r *DeclinedTransactionSourceCardDeclineNetworkDetails) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceCardDeclineNetworkDetailsCategory

type DeclinedTransactionSourceCardDeclineNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	DeclinedTransactionSourceCardDeclineNetworkDetailsCategoryVisa DeclinedTransactionSourceCardDeclineNetworkDetailsCategory = "visa"
)

func (DeclinedTransactionSourceCardDeclineNetworkDetailsCategory) IsKnown

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisa

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisa struct {
	// For electronic commerce transactions, this identifies the level of security used
	// in obtaining the customer's payment credential. For mail or telephone order
	// transactions, identifies the type of mail or telephone order.
	ElectronicCommerceIndicator DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	// Only present when `actioner: network`. Describes why a card authorization was
	// approved or declined by Visa through stand-in processing.
	StandInProcessingReason DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason `json:"stand_in_processing_reason,required,nullable"`
	JSON                    declinedTransactionSourceCardDeclineNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*DeclinedTransactionSourceCardDeclineNetworkDetailsVisa) UnmarshalJSON

func (r *DeclinedTransactionSourceCardDeclineNetworkDetailsVisa) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator string

For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.

const (
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder                                          DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorRecurring                                               DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorInstallment                                             DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder                                   DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce                                DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction                     DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction                                    DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator) IsKnown

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode string

The method used to enter the cardholder's primary account number and card expiration date.

const (
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeUnknown                    DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeManual                     DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv        DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeOpticalCode                DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard      DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactless                DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile           DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe             DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe  DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode) IsKnown

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason added in v0.141.0

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason string

Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.

const (
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonIssuerError                                              DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard                                      DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue         DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonInternalVisaError                                        DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonPaymentFraudDisruptionAcquirerBlock                      DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "payment_fraud_disruption_acquirer_block"
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonOther                                                    DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "other"
)

func (DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason) IsKnown added in v0.141.0

type DeclinedTransactionSourceCardDeclineNetworkIdentifiers

type DeclinedTransactionSourceCardDeclineNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                     `json:"transaction_id,required,nullable"`
	JSON          declinedTransactionSourceCardDeclineNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*DeclinedTransactionSourceCardDeclineNetworkIdentifiers) UnmarshalJSON

func (r *DeclinedTransactionSourceCardDeclineNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceCardDeclineProcessingCategory

type DeclinedTransactionSourceCardDeclineProcessingCategory string

The processing category describes the intent behind the authorization, such as whether it was used for bill payments or an automatic fuel dispenser.

const (
	DeclinedTransactionSourceCardDeclineProcessingCategoryAccountFunding         DeclinedTransactionSourceCardDeclineProcessingCategory = "account_funding"
	DeclinedTransactionSourceCardDeclineProcessingCategoryAutomaticFuelDispenser DeclinedTransactionSourceCardDeclineProcessingCategory = "automatic_fuel_dispenser"
	DeclinedTransactionSourceCardDeclineProcessingCategoryBillPayment            DeclinedTransactionSourceCardDeclineProcessingCategory = "bill_payment"
	DeclinedTransactionSourceCardDeclineProcessingCategoryOriginalCredit         DeclinedTransactionSourceCardDeclineProcessingCategory = "original_credit"
	DeclinedTransactionSourceCardDeclineProcessingCategoryPurchase               DeclinedTransactionSourceCardDeclineProcessingCategory = "purchase"
	DeclinedTransactionSourceCardDeclineProcessingCategoryQuasiCash              DeclinedTransactionSourceCardDeclineProcessingCategory = "quasi_cash"
	DeclinedTransactionSourceCardDeclineProcessingCategoryRefund                 DeclinedTransactionSourceCardDeclineProcessingCategory = "refund"
	DeclinedTransactionSourceCardDeclineProcessingCategoryCashDisbursement       DeclinedTransactionSourceCardDeclineProcessingCategory = "cash_disbursement"
	DeclinedTransactionSourceCardDeclineProcessingCategoryUnknown                DeclinedTransactionSourceCardDeclineProcessingCategory = "unknown"
)

func (DeclinedTransactionSourceCardDeclineProcessingCategory) IsKnown

type DeclinedTransactionSourceCardDeclineRealTimeDecisionReason added in v0.155.0

type DeclinedTransactionSourceCardDeclineRealTimeDecisionReason string

This is present if a specific decline reason was given in the real-time decision.

const (
	DeclinedTransactionSourceCardDeclineRealTimeDecisionReasonInsufficientFunds       DeclinedTransactionSourceCardDeclineRealTimeDecisionReason = "insufficient_funds"
	DeclinedTransactionSourceCardDeclineRealTimeDecisionReasonTransactionNeverAllowed DeclinedTransactionSourceCardDeclineRealTimeDecisionReason = "transaction_never_allowed"
	DeclinedTransactionSourceCardDeclineRealTimeDecisionReasonExceedsApprovalLimit    DeclinedTransactionSourceCardDeclineRealTimeDecisionReason = "exceeds_approval_limit"
	DeclinedTransactionSourceCardDeclineRealTimeDecisionReasonCardTemporarilyDisabled DeclinedTransactionSourceCardDeclineRealTimeDecisionReason = "card_temporarily_disabled"
	DeclinedTransactionSourceCardDeclineRealTimeDecisionReasonSuspectedFraud          DeclinedTransactionSourceCardDeclineRealTimeDecisionReason = "suspected_fraud"
	DeclinedTransactionSourceCardDeclineRealTimeDecisionReasonOther                   DeclinedTransactionSourceCardDeclineRealTimeDecisionReason = "other"
)

func (DeclinedTransactionSourceCardDeclineRealTimeDecisionReason) IsKnown added in v0.155.0

type DeclinedTransactionSourceCardDeclineReason

type DeclinedTransactionSourceCardDeclineReason string

Why the transaction was declined.

const (
	DeclinedTransactionSourceCardDeclineReasonAccountClosed                DeclinedTransactionSourceCardDeclineReason = "account_closed"
	DeclinedTransactionSourceCardDeclineReasonCardNotActive                DeclinedTransactionSourceCardDeclineReason = "card_not_active"
	DeclinedTransactionSourceCardDeclineReasonCardCanceled                 DeclinedTransactionSourceCardDeclineReason = "card_canceled"
	DeclinedTransactionSourceCardDeclineReasonPhysicalCardNotActive        DeclinedTransactionSourceCardDeclineReason = "physical_card_not_active"
	DeclinedTransactionSourceCardDeclineReasonEntityNotActive              DeclinedTransactionSourceCardDeclineReason = "entity_not_active"
	DeclinedTransactionSourceCardDeclineReasonGroupLocked                  DeclinedTransactionSourceCardDeclineReason = "group_locked"
	DeclinedTransactionSourceCardDeclineReasonInsufficientFunds            DeclinedTransactionSourceCardDeclineReason = "insufficient_funds"
	DeclinedTransactionSourceCardDeclineReasonCvv2Mismatch                 DeclinedTransactionSourceCardDeclineReason = "cvv2_mismatch"
	DeclinedTransactionSourceCardDeclineReasonPinMismatch                  DeclinedTransactionSourceCardDeclineReason = "pin_mismatch"
	DeclinedTransactionSourceCardDeclineReasonCardExpirationMismatch       DeclinedTransactionSourceCardDeclineReason = "card_expiration_mismatch"
	DeclinedTransactionSourceCardDeclineReasonTransactionNotAllowed        DeclinedTransactionSourceCardDeclineReason = "transaction_not_allowed"
	DeclinedTransactionSourceCardDeclineReasonBreachesLimit                DeclinedTransactionSourceCardDeclineReason = "breaches_limit"
	DeclinedTransactionSourceCardDeclineReasonWebhookDeclined              DeclinedTransactionSourceCardDeclineReason = "webhook_declined"
	DeclinedTransactionSourceCardDeclineReasonWebhookTimedOut              DeclinedTransactionSourceCardDeclineReason = "webhook_timed_out"
	DeclinedTransactionSourceCardDeclineReasonDeclinedByStandInProcessing  DeclinedTransactionSourceCardDeclineReason = "declined_by_stand_in_processing"
	DeclinedTransactionSourceCardDeclineReasonInvalidPhysicalCard          DeclinedTransactionSourceCardDeclineReason = "invalid_physical_card"
	DeclinedTransactionSourceCardDeclineReasonMissingOriginalAuthorization DeclinedTransactionSourceCardDeclineReason = "missing_original_authorization"
	DeclinedTransactionSourceCardDeclineReasonFailed3DSAuthentication      DeclinedTransactionSourceCardDeclineReason = "failed_3ds_authentication"
	DeclinedTransactionSourceCardDeclineReasonSuspectedCardTesting         DeclinedTransactionSourceCardDeclineReason = "suspected_card_testing"
	DeclinedTransactionSourceCardDeclineReasonSuspectedFraud               DeclinedTransactionSourceCardDeclineReason = "suspected_fraud"
)

func (DeclinedTransactionSourceCardDeclineReason) IsKnown

type DeclinedTransactionSourceCardDeclineVerification

type DeclinedTransactionSourceCardDeclineVerification struct {
	// Fields related to verification of the Card Verification Code, a 3-digit code on
	// the back of the card.
	CardVerificationCode DeclinedTransactionSourceCardDeclineVerificationCardVerificationCode `json:"card_verification_code,required"`
	// Cardholder address provided in the authorization request and the address on file
	// we verified it against.
	CardholderAddress DeclinedTransactionSourceCardDeclineVerificationCardholderAddress `json:"cardholder_address,required"`
	JSON              declinedTransactionSourceCardDeclineVerificationJSON              `json:"-"`
}

Fields related to verification of cardholder-provided values.

func (*DeclinedTransactionSourceCardDeclineVerification) UnmarshalJSON

func (r *DeclinedTransactionSourceCardDeclineVerification) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceCardDeclineVerificationCardVerificationCode

type DeclinedTransactionSourceCardDeclineVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   declinedTransactionSourceCardDeclineVerificationCardVerificationCodeJSON   `json:"-"`
}

Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

func (*DeclinedTransactionSourceCardDeclineVerificationCardVerificationCode) UnmarshalJSON

type DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult

type DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultNotChecked DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "not_checked"
	DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultMatch      DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "match"
	DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultNoMatch    DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "no_match"
)

func (DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult) IsKnown

type DeclinedTransactionSourceCardDeclineVerificationCardholderAddress

type DeclinedTransactionSourceCardDeclineVerificationCardholderAddress struct {
	// Line 1 of the address on file for the cardholder.
	ActualLine1 string `json:"actual_line1,required,nullable"`
	// The postal code of the address on file for the cardholder.
	ActualPostalCode string `json:"actual_postal_code,required,nullable"`
	// The cardholder address line 1 provided for verification in the authorization
	// request.
	ProvidedLine1 string `json:"provided_line1,required,nullable"`
	// The postal code provided for verification in the authorization request.
	ProvidedPostalCode string `json:"provided_postal_code,required,nullable"`
	// The address verification result returned to the card network.
	Result DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult `json:"result,required"`
	JSON   declinedTransactionSourceCardDeclineVerificationCardholderAddressJSON   `json:"-"`
}

Cardholder address provided in the authorization request and the address on file we verified it against.

func (*DeclinedTransactionSourceCardDeclineVerificationCardholderAddress) UnmarshalJSON

type DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult

type DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultNotChecked                       DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "not_checked"
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch    DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch    DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultMatch                            DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "match"
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultNoMatch                          DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "no_match"
)

func (DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult) IsKnown

type DeclinedTransactionSourceCategory

type DeclinedTransactionSourceCategory string

The type of the resource. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.

const (
	DeclinedTransactionSourceCategoryACHDecline                             DeclinedTransactionSourceCategory = "ach_decline"
	DeclinedTransactionSourceCategoryCardDecline                            DeclinedTransactionSourceCategory = "card_decline"
	DeclinedTransactionSourceCategoryCheckDecline                           DeclinedTransactionSourceCategory = "check_decline"
	DeclinedTransactionSourceCategoryInboundRealTimePaymentsTransferDecline DeclinedTransactionSourceCategory = "inbound_real_time_payments_transfer_decline"
	DeclinedTransactionSourceCategoryWireDecline                            DeclinedTransactionSourceCategory = "wire_decline"
	DeclinedTransactionSourceCategoryCheckDepositRejection                  DeclinedTransactionSourceCategory = "check_deposit_rejection"
	DeclinedTransactionSourceCategoryOther                                  DeclinedTransactionSourceCategory = "other"
)

func (DeclinedTransactionSourceCategory) IsKnown

type DeclinedTransactionSourceCheckDecline

type DeclinedTransactionSourceCheckDecline struct {
	// The declined amount in USD cents.
	Amount int64 `json:"amount,required"`
	// A computer-readable number printed on the MICR line of business checks, usually
	// the check number. This is useful for positive pay checks, but can be unreliably
	// transmitted by the bank of first deposit.
	AuxiliaryOnUs string `json:"auxiliary_on_us,required,nullable"`
	// The identifier of the API File object containing an image of the back of the
	// declined check.
	BackImageFileID string `json:"back_image_file_id,required,nullable"`
	// The identifier of the Check Transfer object associated with this decline.
	CheckTransferID string `json:"check_transfer_id,required,nullable"`
	// The identifier of the API File object containing an image of the front of the
	// declined check.
	FrontImageFileID string `json:"front_image_file_id,required,nullable"`
	// The identifier of the Inbound Check Deposit object associated with this decline.
	InboundCheckDepositID string `json:"inbound_check_deposit_id,required,nullable"`
	// Why the check was declined.
	Reason DeclinedTransactionSourceCheckDeclineReason `json:"reason,required"`
	JSON   declinedTransactionSourceCheckDeclineJSON   `json:"-"`
}

A Check Decline object. This field will be present in the JSON response if and only if `category` is equal to `check_decline`.

func (*DeclinedTransactionSourceCheckDecline) UnmarshalJSON

func (r *DeclinedTransactionSourceCheckDecline) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceCheckDeclineReason

type DeclinedTransactionSourceCheckDeclineReason string

Why the check was declined.

const (
	DeclinedTransactionSourceCheckDeclineReasonACHRouteDisabled     DeclinedTransactionSourceCheckDeclineReason = "ach_route_disabled"
	DeclinedTransactionSourceCheckDeclineReasonACHRouteCanceled     DeclinedTransactionSourceCheckDeclineReason = "ach_route_canceled"
	DeclinedTransactionSourceCheckDeclineReasonAlteredOrFictitious  DeclinedTransactionSourceCheckDeclineReason = "altered_or_fictitious"
	DeclinedTransactionSourceCheckDeclineReasonBreachesLimit        DeclinedTransactionSourceCheckDeclineReason = "breaches_limit"
	DeclinedTransactionSourceCheckDeclineReasonEndorsementIrregular DeclinedTransactionSourceCheckDeclineReason = "endorsement_irregular"
	DeclinedTransactionSourceCheckDeclineReasonEntityNotActive      DeclinedTransactionSourceCheckDeclineReason = "entity_not_active"
	DeclinedTransactionSourceCheckDeclineReasonGroupLocked          DeclinedTransactionSourceCheckDeclineReason = "group_locked"
	DeclinedTransactionSourceCheckDeclineReasonInsufficientFunds    DeclinedTransactionSourceCheckDeclineReason = "insufficient_funds"
	DeclinedTransactionSourceCheckDeclineReasonStopPaymentRequested DeclinedTransactionSourceCheckDeclineReason = "stop_payment_requested"
	DeclinedTransactionSourceCheckDeclineReasonDuplicatePresentment DeclinedTransactionSourceCheckDeclineReason = "duplicate_presentment"
	DeclinedTransactionSourceCheckDeclineReasonNotAuthorized        DeclinedTransactionSourceCheckDeclineReason = "not_authorized"
	DeclinedTransactionSourceCheckDeclineReasonAmountMismatch       DeclinedTransactionSourceCheckDeclineReason = "amount_mismatch"
	DeclinedTransactionSourceCheckDeclineReasonNotOurItem           DeclinedTransactionSourceCheckDeclineReason = "not_our_item"
	DeclinedTransactionSourceCheckDeclineReasonNoAccountNumberFound DeclinedTransactionSourceCheckDeclineReason = "no_account_number_found"
	DeclinedTransactionSourceCheckDeclineReasonReferToImage         DeclinedTransactionSourceCheckDeclineReason = "refer_to_image"
	DeclinedTransactionSourceCheckDeclineReasonUnableToProcess      DeclinedTransactionSourceCheckDeclineReason = "unable_to_process"
	DeclinedTransactionSourceCheckDeclineReasonUserInitiated        DeclinedTransactionSourceCheckDeclineReason = "user_initiated"
)

func (DeclinedTransactionSourceCheckDeclineReason) IsKnown

type DeclinedTransactionSourceCheckDepositRejection

type DeclinedTransactionSourceCheckDepositRejection struct {
	// The rejected amount in the minor unit of check's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Check Deposit that was rejected.
	CheckDepositID string `json:"check_deposit_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's
	// currency.
	Currency DeclinedTransactionSourceCheckDepositRejectionCurrency `json:"currency,required"`
	// The identifier of the associated declined transaction.
	DeclinedTransactionID string `json:"declined_transaction_id,required"`
	// Why the check deposit was rejected.
	Reason DeclinedTransactionSourceCheckDepositRejectionReason `json:"reason,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the check deposit was rejected.
	RejectedAt time.Time                                          `json:"rejected_at,required" format:"date-time"`
	JSON       declinedTransactionSourceCheckDepositRejectionJSON `json:"-"`
}

A Check Deposit Rejection object. This field will be present in the JSON response if and only if `category` is equal to `check_deposit_rejection`.

func (*DeclinedTransactionSourceCheckDepositRejection) UnmarshalJSON

func (r *DeclinedTransactionSourceCheckDepositRejection) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceCheckDepositRejectionCurrency

type DeclinedTransactionSourceCheckDepositRejectionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's currency.

const (
	DeclinedTransactionSourceCheckDepositRejectionCurrencyCad DeclinedTransactionSourceCheckDepositRejectionCurrency = "CAD"
	DeclinedTransactionSourceCheckDepositRejectionCurrencyChf DeclinedTransactionSourceCheckDepositRejectionCurrency = "CHF"
	DeclinedTransactionSourceCheckDepositRejectionCurrencyEur DeclinedTransactionSourceCheckDepositRejectionCurrency = "EUR"
	DeclinedTransactionSourceCheckDepositRejectionCurrencyGbp DeclinedTransactionSourceCheckDepositRejectionCurrency = "GBP"
	DeclinedTransactionSourceCheckDepositRejectionCurrencyJpy DeclinedTransactionSourceCheckDepositRejectionCurrency = "JPY"
	DeclinedTransactionSourceCheckDepositRejectionCurrencyUsd DeclinedTransactionSourceCheckDepositRejectionCurrency = "USD"
)

func (DeclinedTransactionSourceCheckDepositRejectionCurrency) IsKnown

type DeclinedTransactionSourceCheckDepositRejectionReason

type DeclinedTransactionSourceCheckDepositRejectionReason string

Why the check deposit was rejected.

const (
	DeclinedTransactionSourceCheckDepositRejectionReasonIncompleteImage             DeclinedTransactionSourceCheckDepositRejectionReason = "incomplete_image"
	DeclinedTransactionSourceCheckDepositRejectionReasonDuplicate                   DeclinedTransactionSourceCheckDepositRejectionReason = "duplicate"
	DeclinedTransactionSourceCheckDepositRejectionReasonPoorImageQuality            DeclinedTransactionSourceCheckDepositRejectionReason = "poor_image_quality"
	DeclinedTransactionSourceCheckDepositRejectionReasonIncorrectAmount             DeclinedTransactionSourceCheckDepositRejectionReason = "incorrect_amount"
	DeclinedTransactionSourceCheckDepositRejectionReasonIncorrectRecipient          DeclinedTransactionSourceCheckDepositRejectionReason = "incorrect_recipient"
	DeclinedTransactionSourceCheckDepositRejectionReasonNotEligibleForMobileDeposit DeclinedTransactionSourceCheckDepositRejectionReason = "not_eligible_for_mobile_deposit"
	DeclinedTransactionSourceCheckDepositRejectionReasonMissingRequiredDataElements DeclinedTransactionSourceCheckDepositRejectionReason = "missing_required_data_elements"
	DeclinedTransactionSourceCheckDepositRejectionReasonSuspectedFraud              DeclinedTransactionSourceCheckDepositRejectionReason = "suspected_fraud"
	DeclinedTransactionSourceCheckDepositRejectionReasonDepositWindowExpired        DeclinedTransactionSourceCheckDepositRejectionReason = "deposit_window_expired"
	DeclinedTransactionSourceCheckDepositRejectionReasonRequestedByUser             DeclinedTransactionSourceCheckDepositRejectionReason = "requested_by_user"
	DeclinedTransactionSourceCheckDepositRejectionReasonUnknown                     DeclinedTransactionSourceCheckDepositRejectionReason = "unknown"
)

func (DeclinedTransactionSourceCheckDepositRejectionReason) IsKnown

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDecline

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDecline struct {
	// The declined amount in the minor unit of the destination account currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The name the sender of the transfer specified as the recipient of the transfer.
	CreditorName string `json:"creditor_name,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the declined
	// transfer's currency. This will always be "USD" for a Real-Time Payments
	// transfer.
	Currency DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency `json:"currency,required"`
	// The account number of the account that sent the transfer.
	DebtorAccountNumber string `json:"debtor_account_number,required"`
	// The name provided by the sender of the transfer.
	DebtorName string `json:"debtor_name,required"`
	// The routing number of the account that sent the transfer.
	DebtorRoutingNumber string `json:"debtor_routing_number,required"`
	// Why the transfer was declined.
	Reason DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason `json:"reason,required"`
	// Additional information included with the transfer.
	RemittanceInformation string `json:"remittance_information,required,nullable"`
	// The Real-Time Payments network identification of the declined transfer.
	TransactionIdentification string `json:"transaction_identification,required"`
	// The identifier of the Real-Time Payments Transfer that led to this Transaction.
	TransferID string                                                              `json:"transfer_id,required"`
	JSON       declinedTransactionSourceInboundRealTimePaymentsTransferDeclineJSON `json:"-"`
}

An Inbound Real-Time Payments Transfer Decline object. This field will be present in the JSON response if and only if `category` is equal to `inbound_real_time_payments_transfer_decline`.

func (*DeclinedTransactionSourceInboundRealTimePaymentsTransferDecline) UnmarshalJSON

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the declined transfer's currency. This will always be "USD" for a Real-Time Payments transfer.

const (
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyCad DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CAD"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyChf DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CHF"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyEur DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "EUR"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyGbp DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "GBP"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyJpy DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "JPY"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyUsd DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "USD"
)

func (DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency) IsKnown

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason string

Why the transfer was declined.

const (
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled      DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled      DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountRestricted          DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonGroupLocked                DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "group_locked"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonEntityNotActive            DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonRealTimePaymentsNotEnabled DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "real_time_payments_not_enabled"
)

func (DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason) IsKnown

type DeclinedTransactionSourceWireDecline

type DeclinedTransactionSourceWireDecline struct {
	// The identifier of the Inbound Wire Transfer that was declined.
	InboundWireTransferID string `json:"inbound_wire_transfer_id,required"`
	// Why the wire transfer was declined.
	Reason DeclinedTransactionSourceWireDeclineReason `json:"reason,required"`
	JSON   declinedTransactionSourceWireDeclineJSON   `json:"-"`
}

A Wire Decline object. This field will be present in the JSON response if and only if `category` is equal to `wire_decline`.

func (*DeclinedTransactionSourceWireDecline) UnmarshalJSON

func (r *DeclinedTransactionSourceWireDecline) UnmarshalJSON(data []byte) (err error)

type DeclinedTransactionSourceWireDeclineReason

type DeclinedTransactionSourceWireDeclineReason string

Why the wire transfer was declined.

const (
	DeclinedTransactionSourceWireDeclineReasonAccountNumberCanceled DeclinedTransactionSourceWireDeclineReason = "account_number_canceled"
	DeclinedTransactionSourceWireDeclineReasonAccountNumberDisabled DeclinedTransactionSourceWireDeclineReason = "account_number_disabled"
	DeclinedTransactionSourceWireDeclineReasonEntityNotActive       DeclinedTransactionSourceWireDeclineReason = "entity_not_active"
	DeclinedTransactionSourceWireDeclineReasonGroupLocked           DeclinedTransactionSourceWireDeclineReason = "group_locked"
	DeclinedTransactionSourceWireDeclineReasonNoAccountNumber       DeclinedTransactionSourceWireDeclineReason = "no_account_number"
	DeclinedTransactionSourceWireDeclineReasonTransactionNotAllowed DeclinedTransactionSourceWireDeclineReason = "transaction_not_allowed"
)

func (DeclinedTransactionSourceWireDeclineReason) IsKnown

type DeclinedTransactionType

type DeclinedTransactionType string

A constant representing the object's type. For this resource it will always be `declined_transaction`.

const (
	DeclinedTransactionTypeDeclinedTransaction DeclinedTransactionType = "declined_transaction"
)

func (DeclinedTransactionType) IsKnown

func (r DeclinedTransactionType) IsKnown() bool

type DigitalCardProfile

type DigitalCardProfile struct {
	// The Card Profile identifier.
	ID string `json:"id,required"`
	// The identifier of the File containing the card's icon image.
	AppIconFileID string `json:"app_icon_file_id,required"`
	// The identifier of the File containing the card's front image.
	BackgroundImageFileID string `json:"background_image_file_id,required"`
	// A user-facing description for the card itself.
	CardDescription string `json:"card_description,required"`
	// An email address the user can contact to receive support for their card.
	ContactEmail string `json:"contact_email,required,nullable"`
	// A phone number the user can contact to receive support for their card.
	ContactPhone string `json:"contact_phone,required,nullable"`
	// A website the user can visit to view and receive support for their card.
	ContactWebsite string `json:"contact_website,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A description you can use to identify the Card Profile.
	Description string `json:"description,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// A user-facing description for whoever is issuing the card.
	IssuerName string `json:"issuer_name,required"`
	// The status of the Card Profile.
	Status DigitalCardProfileStatus `json:"status,required"`
	// The Card's text color, specified as an RGB triple.
	TextColor DigitalCardProfileTextColor `json:"text_color,required"`
	// A constant representing the object's type. For this resource it will always be
	// `digital_card_profile`.
	Type DigitalCardProfileType `json:"type,required"`
	JSON digitalCardProfileJSON `json:"-"`
}

This contains artwork and metadata relating to a Card's appearance in digital wallet apps like Apple Pay and Google Pay. For more information, see our guide on [digital card artwork](https://increase.com/documentation/card-art).

func (*DigitalCardProfile) UnmarshalJSON

func (r *DigitalCardProfile) UnmarshalJSON(data []byte) (err error)

type DigitalCardProfileCloneParams

type DigitalCardProfileCloneParams struct {
	// The identifier of the File containing the card's icon image.
	AppIconFileID param.Field[string] `json:"app_icon_file_id"`
	// The identifier of the File containing the card's front image.
	BackgroundImageFileID param.Field[string] `json:"background_image_file_id"`
	// A user-facing description for the card itself.
	CardDescription param.Field[string] `json:"card_description"`
	// An email address the user can contact to receive support for their card.
	ContactEmail param.Field[string] `json:"contact_email"`
	// A phone number the user can contact to receive support for their card.
	ContactPhone param.Field[string] `json:"contact_phone"`
	// A website the user can visit to view and receive support for their card.
	ContactWebsite param.Field[string] `json:"contact_website"`
	// A description you can use to identify the Card Profile.
	Description param.Field[string] `json:"description"`
	// A user-facing description for whoever is issuing the card.
	IssuerName param.Field[string] `json:"issuer_name"`
	// The Card's text color, specified as an RGB triple. The default is white.
	TextColor param.Field[DigitalCardProfileCloneParamsTextColor] `json:"text_color"`
}

func (DigitalCardProfileCloneParams) MarshalJSON

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

type DigitalCardProfileCloneParamsTextColor

type DigitalCardProfileCloneParamsTextColor struct {
	// The value of the blue channel in the RGB color.
	Blue param.Field[int64] `json:"blue,required"`
	// The value of the green channel in the RGB color.
	Green param.Field[int64] `json:"green,required"`
	// The value of the red channel in the RGB color.
	Red param.Field[int64] `json:"red,required"`
}

The Card's text color, specified as an RGB triple. The default is white.

func (DigitalCardProfileCloneParamsTextColor) MarshalJSON

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

type DigitalCardProfileListParams

type DigitalCardProfileListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                              `query:"limit"`
	Status param.Field[DigitalCardProfileListParamsStatus] `query:"status"`
}

func (DigitalCardProfileListParams) URLQuery

func (r DigitalCardProfileListParams) URLQuery() (v url.Values)

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

type DigitalCardProfileListParamsStatus

type DigitalCardProfileListParamsStatus struct {
	// Filter Digital Card Profiles for those with the specified digital wallet status
	// or statuses. For GET requests, this should be encoded as a comma-delimited
	// string, such as `?in=one,two,three`.
	In param.Field[[]DigitalCardProfileListParamsStatusIn] `query:"in"`
}

func (DigitalCardProfileListParamsStatus) URLQuery

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

type DigitalCardProfileListParamsStatusIn

type DigitalCardProfileListParamsStatusIn string
const (
	DigitalCardProfileListParamsStatusInPending  DigitalCardProfileListParamsStatusIn = "pending"
	DigitalCardProfileListParamsStatusInRejected DigitalCardProfileListParamsStatusIn = "rejected"
	DigitalCardProfileListParamsStatusInActive   DigitalCardProfileListParamsStatusIn = "active"
	DigitalCardProfileListParamsStatusInArchived DigitalCardProfileListParamsStatusIn = "archived"
)

func (DigitalCardProfileListParamsStatusIn) IsKnown

type DigitalCardProfileNewParams

type DigitalCardProfileNewParams struct {
	// The identifier of the File containing the card's icon image.
	AppIconFileID param.Field[string] `json:"app_icon_file_id,required"`
	// The identifier of the File containing the card's front image.
	BackgroundImageFileID param.Field[string] `json:"background_image_file_id,required"`
	// A user-facing description for the card itself.
	CardDescription param.Field[string] `json:"card_description,required"`
	// A description you can use to identify the Card Profile.
	Description param.Field[string] `json:"description,required"`
	// A user-facing description for whoever is issuing the card.
	IssuerName param.Field[string] `json:"issuer_name,required"`
	// An email address the user can contact to receive support for their card.
	ContactEmail param.Field[string] `json:"contact_email"`
	// A phone number the user can contact to receive support for their card.
	ContactPhone param.Field[string] `json:"contact_phone"`
	// A website the user can visit to view and receive support for their card.
	ContactWebsite param.Field[string] `json:"contact_website"`
	// The Card's text color, specified as an RGB triple. The default is white.
	TextColor param.Field[DigitalCardProfileNewParamsTextColor] `json:"text_color"`
}

func (DigitalCardProfileNewParams) MarshalJSON

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

type DigitalCardProfileNewParamsTextColor

type DigitalCardProfileNewParamsTextColor struct {
	// The value of the blue channel in the RGB color.
	Blue param.Field[int64] `json:"blue,required"`
	// The value of the green channel in the RGB color.
	Green param.Field[int64] `json:"green,required"`
	// The value of the red channel in the RGB color.
	Red param.Field[int64] `json:"red,required"`
}

The Card's text color, specified as an RGB triple. The default is white.

func (DigitalCardProfileNewParamsTextColor) MarshalJSON

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

type DigitalCardProfileService

type DigitalCardProfileService struct {
	Options []option.RequestOption
}

DigitalCardProfileService contains methods and other services that help with interacting with the increase 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 NewDigitalCardProfileService method instead.

func NewDigitalCardProfileService

func NewDigitalCardProfileService(opts ...option.RequestOption) (r *DigitalCardProfileService)

NewDigitalCardProfileService 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 (*DigitalCardProfileService) Archive

func (r *DigitalCardProfileService) Archive(ctx context.Context, digitalCardProfileID string, opts ...option.RequestOption) (res *DigitalCardProfile, err error)

Archive a Digital Card Profile

func (*DigitalCardProfileService) Clone

func (r *DigitalCardProfileService) Clone(ctx context.Context, digitalCardProfileID string, body DigitalCardProfileCloneParams, opts ...option.RequestOption) (res *DigitalCardProfile, err error)

Clones a Digital Card Profile

func (*DigitalCardProfileService) Get

func (r *DigitalCardProfileService) Get(ctx context.Context, digitalCardProfileID string, opts ...option.RequestOption) (res *DigitalCardProfile, err error)

Retrieve a Digital Card Profile

func (*DigitalCardProfileService) List

List Card Profiles

func (*DigitalCardProfileService) ListAutoPaging

List Card Profiles

func (*DigitalCardProfileService) New

Create a Digital Card Profile

type DigitalCardProfileStatus

type DigitalCardProfileStatus string

The status of the Card Profile.

const (
	DigitalCardProfileStatusPending  DigitalCardProfileStatus = "pending"
	DigitalCardProfileStatusRejected DigitalCardProfileStatus = "rejected"
	DigitalCardProfileStatusActive   DigitalCardProfileStatus = "active"
	DigitalCardProfileStatusArchived DigitalCardProfileStatus = "archived"
)

func (DigitalCardProfileStatus) IsKnown

func (r DigitalCardProfileStatus) IsKnown() bool

type DigitalCardProfileTextColor

type DigitalCardProfileTextColor struct {
	// The value of the blue channel in the RGB color.
	Blue int64 `json:"blue,required"`
	// The value of the green channel in the RGB color.
	Green int64 `json:"green,required"`
	// The value of the red channel in the RGB color.
	Red  int64                           `json:"red,required"`
	JSON digitalCardProfileTextColorJSON `json:"-"`
}

The Card's text color, specified as an RGB triple.

func (*DigitalCardProfileTextColor) UnmarshalJSON

func (r *DigitalCardProfileTextColor) UnmarshalJSON(data []byte) (err error)

type DigitalCardProfileType

type DigitalCardProfileType string

A constant representing the object's type. For this resource it will always be `digital_card_profile`.

const (
	DigitalCardProfileTypeDigitalCardProfile DigitalCardProfileType = "digital_card_profile"
)

func (DigitalCardProfileType) IsKnown

func (r DigitalCardProfileType) IsKnown() bool

type DigitalWalletToken

type DigitalWalletToken struct {
	// The Digital Wallet Token identifier.
	ID string `json:"id,required"`
	// The identifier for the Card this Digital Wallet Token belongs to.
	CardID string `json:"card_id,required"`
	// The cardholder information given when the Digital Wallet Token was created.
	Cardholder DigitalWalletTokenCardholder `json:"cardholder,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Digital Wallet Token was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The device that was used to create the Digital Wallet Token.
	Device DigitalWalletTokenDevice `json:"device,required"`
	// This indicates if payments can be made with the Digital Wallet Token.
	Status DigitalWalletTokenStatus `json:"status,required"`
	// The digital wallet app being used.
	TokenRequestor DigitalWalletTokenTokenRequestor `json:"token_requestor,required"`
	// A constant representing the object's type. For this resource it will always be
	// `digital_wallet_token`.
	Type DigitalWalletTokenType `json:"type,required"`
	// Updates to the Digital Wallet Token.
	Updates []DigitalWalletTokenUpdate `json:"updates,required"`
	JSON    digitalWalletTokenJSON     `json:"-"`
}

A Digital Wallet Token is created when a user adds a Card to their Apple Pay or Google Pay app. The Digital Wallet Token can be used for purchases just like a Card.

func (*DigitalWalletToken) UnmarshalJSON

func (r *DigitalWalletToken) UnmarshalJSON(data []byte) (err error)

type DigitalWalletTokenCardholder added in v0.213.0

type DigitalWalletTokenCardholder struct {
	// Name of the cardholder, for example "John Smith".
	Name string                           `json:"name,required,nullable"`
	JSON digitalWalletTokenCardholderJSON `json:"-"`
}

The cardholder information given when the Digital Wallet Token was created.

func (*DigitalWalletTokenCardholder) UnmarshalJSON added in v0.213.0

func (r *DigitalWalletTokenCardholder) UnmarshalJSON(data []byte) (err error)

type DigitalWalletTokenDevice added in v0.213.0

type DigitalWalletTokenDevice struct {
	// Device type.
	DeviceType DigitalWalletTokenDeviceDeviceType `json:"device_type,required,nullable"`
	// ID assigned to the device by the digital wallet provider.
	Identifier string `json:"identifier,required,nullable"`
	// IP address of the device.
	IPAddress string `json:"ip_address,required,nullable"`
	// Name of the device, for example "My Work Phone".
	Name string                       `json:"name,required,nullable"`
	JSON digitalWalletTokenDeviceJSON `json:"-"`
}

The device that was used to create the Digital Wallet Token.

func (*DigitalWalletTokenDevice) UnmarshalJSON added in v0.213.0

func (r *DigitalWalletTokenDevice) UnmarshalJSON(data []byte) (err error)

type DigitalWalletTokenDeviceDeviceType added in v0.213.0

type DigitalWalletTokenDeviceDeviceType string

Device type.

const (
	DigitalWalletTokenDeviceDeviceTypeUnknown             DigitalWalletTokenDeviceDeviceType = "unknown"
	DigitalWalletTokenDeviceDeviceTypeMobilePhone         DigitalWalletTokenDeviceDeviceType = "mobile_phone"
	DigitalWalletTokenDeviceDeviceTypeTablet              DigitalWalletTokenDeviceDeviceType = "tablet"
	DigitalWalletTokenDeviceDeviceTypeWatch               DigitalWalletTokenDeviceDeviceType = "watch"
	DigitalWalletTokenDeviceDeviceTypeMobilephoneOrTablet DigitalWalletTokenDeviceDeviceType = "mobilephone_or_tablet"
	DigitalWalletTokenDeviceDeviceTypePc                  DigitalWalletTokenDeviceDeviceType = "pc"
	DigitalWalletTokenDeviceDeviceTypeHouseholdDevice     DigitalWalletTokenDeviceDeviceType = "household_device"
	DigitalWalletTokenDeviceDeviceTypeWearableDevice      DigitalWalletTokenDeviceDeviceType = "wearable_device"
	DigitalWalletTokenDeviceDeviceTypeAutomobileDevice    DigitalWalletTokenDeviceDeviceType = "automobile_device"
)

func (DigitalWalletTokenDeviceDeviceType) IsKnown added in v0.213.0

type DigitalWalletTokenListParams

type DigitalWalletTokenListParams struct {
	// Filter Digital Wallet Tokens to ones belonging to the specified Card.
	CardID    param.Field[string]                                `query:"card_id"`
	CreatedAt param.Field[DigitalWalletTokenListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (DigitalWalletTokenListParams) URLQuery

func (r DigitalWalletTokenListParams) URLQuery() (v url.Values)

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

type DigitalWalletTokenListParamsCreatedAt

type DigitalWalletTokenListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (DigitalWalletTokenListParamsCreatedAt) URLQuery

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

type DigitalWalletTokenService

type DigitalWalletTokenService struct {
	Options []option.RequestOption
}

DigitalWalletTokenService contains methods and other services that help with interacting with the increase 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 NewDigitalWalletTokenService method instead.

func NewDigitalWalletTokenService

func NewDigitalWalletTokenService(opts ...option.RequestOption) (r *DigitalWalletTokenService)

NewDigitalWalletTokenService 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 (*DigitalWalletTokenService) Get

func (r *DigitalWalletTokenService) Get(ctx context.Context, digitalWalletTokenID string, opts ...option.RequestOption) (res *DigitalWalletToken, err error)

Retrieve a Digital Wallet Token

func (*DigitalWalletTokenService) List

List Digital Wallet Tokens

func (*DigitalWalletTokenService) ListAutoPaging

List Digital Wallet Tokens

type DigitalWalletTokenStatus

type DigitalWalletTokenStatus string

This indicates if payments can be made with the Digital Wallet Token.

const (
	DigitalWalletTokenStatusActive      DigitalWalletTokenStatus = "active"
	DigitalWalletTokenStatusInactive    DigitalWalletTokenStatus = "inactive"
	DigitalWalletTokenStatusSuspended   DigitalWalletTokenStatus = "suspended"
	DigitalWalletTokenStatusDeactivated DigitalWalletTokenStatus = "deactivated"
)

func (DigitalWalletTokenStatus) IsKnown

func (r DigitalWalletTokenStatus) IsKnown() bool

type DigitalWalletTokenTokenRequestor

type DigitalWalletTokenTokenRequestor string

The digital wallet app being used.

const (
	DigitalWalletTokenTokenRequestorApplePay   DigitalWalletTokenTokenRequestor = "apple_pay"
	DigitalWalletTokenTokenRequestorGooglePay  DigitalWalletTokenTokenRequestor = "google_pay"
	DigitalWalletTokenTokenRequestorSamsungPay DigitalWalletTokenTokenRequestor = "samsung_pay"
	DigitalWalletTokenTokenRequestorUnknown    DigitalWalletTokenTokenRequestor = "unknown"
)

func (DigitalWalletTokenTokenRequestor) IsKnown

type DigitalWalletTokenType

type DigitalWalletTokenType string

A constant representing the object's type. For this resource it will always be `digital_wallet_token`.

const (
	DigitalWalletTokenTypeDigitalWalletToken DigitalWalletTokenType = "digital_wallet_token"
)

func (DigitalWalletTokenType) IsKnown

func (r DigitalWalletTokenType) IsKnown() bool

type DigitalWalletTokenUpdate added in v0.187.0

type DigitalWalletTokenUpdate struct {
	// The status the update changed this Digital Wallet Token to.
	Status DigitalWalletTokenUpdatesStatus `json:"status,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the update happened.
	Timestamp time.Time                    `json:"timestamp,required" format:"date-time"`
	JSON      digitalWalletTokenUpdateJSON `json:"-"`
}

func (*DigitalWalletTokenUpdate) UnmarshalJSON added in v0.187.0

func (r *DigitalWalletTokenUpdate) UnmarshalJSON(data []byte) (err error)

type DigitalWalletTokenUpdatesStatus added in v0.187.0

type DigitalWalletTokenUpdatesStatus string

The status the update changed this Digital Wallet Token to.

const (
	DigitalWalletTokenUpdatesStatusActive      DigitalWalletTokenUpdatesStatus = "active"
	DigitalWalletTokenUpdatesStatusInactive    DigitalWalletTokenUpdatesStatus = "inactive"
	DigitalWalletTokenUpdatesStatusSuspended   DigitalWalletTokenUpdatesStatus = "suspended"
	DigitalWalletTokenUpdatesStatusDeactivated DigitalWalletTokenUpdatesStatus = "deactivated"
)

func (DigitalWalletTokenUpdatesStatus) IsKnown added in v0.187.0

type Document

type Document struct {
	// The Document identifier.
	ID string `json:"id,required"`
	// Properties of an account verification letter document.
	AccountVerificationLetter DocumentAccountVerificationLetter `json:"account_verification_letter,required,nullable"`
	// The type of document.
	Category DocumentCategory `json:"category,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the
	// Document was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The identifier of the Entity the document was generated for.
	EntityID string `json:"entity_id,required,nullable"`
	// The identifier of the File containing the Document's contents.
	FileID string `json:"file_id,required"`
	// Properties of a funding instructions document.
	FundingInstructions DocumentFundingInstructions `json:"funding_instructions,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `document`.
	Type DocumentType `json:"type,required"`
	JSON documentJSON `json:"-"`
}

Increase generates certain documents / forms automatically for your application; they can be listed here.

func (*Document) UnmarshalJSON

func (r *Document) UnmarshalJSON(data []byte) (err error)

type DocumentAccountVerificationLetter added in v0.241.0

type DocumentAccountVerificationLetter struct {
	// The identifier of the Account Number the document was generated for.
	AccountNumberID string                                `json:"account_number_id,required"`
	JSON            documentAccountVerificationLetterJSON `json:"-"`
}

Properties of an account verification letter document.

func (*DocumentAccountVerificationLetter) UnmarshalJSON added in v0.241.0

func (r *DocumentAccountVerificationLetter) UnmarshalJSON(data []byte) (err error)

type DocumentCategory

type DocumentCategory string

The type of document.

const (
	DocumentCategoryForm1099Int               DocumentCategory = "form_1099_int"
	DocumentCategoryForm1099Misc              DocumentCategory = "form_1099_misc"
	DocumentCategoryProofOfAuthorization      DocumentCategory = "proof_of_authorization"
	DocumentCategoryCompanyInformation        DocumentCategory = "company_information"
	DocumentCategoryAccountVerificationLetter DocumentCategory = "account_verification_letter"
	DocumentCategoryFundingInstructions       DocumentCategory = "funding_instructions"
)

func (DocumentCategory) IsKnown

func (r DocumentCategory) IsKnown() bool

type DocumentFundingInstructions added in v0.248.0

type DocumentFundingInstructions struct {
	// The identifier of the Account Number the document was generated for.
	AccountNumberID string                          `json:"account_number_id,required"`
	JSON            documentFundingInstructionsJSON `json:"-"`
}

Properties of a funding instructions document.

func (*DocumentFundingInstructions) UnmarshalJSON added in v0.248.0

func (r *DocumentFundingInstructions) UnmarshalJSON(data []byte) (err error)

type DocumentListParams

type DocumentListParams struct {
	Category  param.Field[DocumentListParamsCategory]  `query:"category"`
	CreatedAt param.Field[DocumentListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter Documents to ones belonging to the specified Entity.
	EntityID param.Field[string] `query:"entity_id"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (DocumentListParams) URLQuery

func (r DocumentListParams) URLQuery() (v url.Values)

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

type DocumentListParamsCategory

type DocumentListParamsCategory struct {
	// Filter Documents for those with the specified category or categories. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]DocumentListParamsCategoryIn] `query:"in"`
}

func (DocumentListParamsCategory) URLQuery

func (r DocumentListParamsCategory) URLQuery() (v url.Values)

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

type DocumentListParamsCategoryIn

type DocumentListParamsCategoryIn string
const (
	DocumentListParamsCategoryInForm1099Int               DocumentListParamsCategoryIn = "form_1099_int"
	DocumentListParamsCategoryInForm1099Misc              DocumentListParamsCategoryIn = "form_1099_misc"
	DocumentListParamsCategoryInProofOfAuthorization      DocumentListParamsCategoryIn = "proof_of_authorization"
	DocumentListParamsCategoryInCompanyInformation        DocumentListParamsCategoryIn = "company_information"
	DocumentListParamsCategoryInAccountVerificationLetter DocumentListParamsCategoryIn = "account_verification_letter"
	DocumentListParamsCategoryInFundingInstructions       DocumentListParamsCategoryIn = "funding_instructions"
)

func (DocumentListParamsCategoryIn) IsKnown

func (r DocumentListParamsCategoryIn) IsKnown() bool

type DocumentListParamsCreatedAt

type DocumentListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (DocumentListParamsCreatedAt) URLQuery

func (r DocumentListParamsCreatedAt) URLQuery() (v url.Values)

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

type DocumentNewParams added in v0.241.0

type DocumentNewParams struct {
	// The type of document to create.
	Category param.Field[DocumentNewParamsCategory] `json:"category,required"`
	// An account verification letter.
	AccountVerificationLetter param.Field[DocumentNewParamsAccountVerificationLetter] `json:"account_verification_letter"`
	// Funding instructions.
	FundingInstructions param.Field[DocumentNewParamsFundingInstructions] `json:"funding_instructions"`
}

func (DocumentNewParams) MarshalJSON added in v0.241.0

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

type DocumentNewParamsAccountVerificationLetter added in v0.241.0

type DocumentNewParamsAccountVerificationLetter struct {
	// The Account Number the bank letter should be generated for.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
	// If provided, the letter will include the Account's balance as of the date.
	BalanceDate param.Field[time.Time] `json:"balance_date" format:"date"`
}

An account verification letter.

func (DocumentNewParamsAccountVerificationLetter) MarshalJSON added in v0.241.0

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

type DocumentNewParamsCategory added in v0.241.0

type DocumentNewParamsCategory string

The type of document to create.

const (
	DocumentNewParamsCategoryAccountVerificationLetter DocumentNewParamsCategory = "account_verification_letter"
	DocumentNewParamsCategoryFundingInstructions       DocumentNewParamsCategory = "funding_instructions"
)

func (DocumentNewParamsCategory) IsKnown added in v0.241.0

func (r DocumentNewParamsCategory) IsKnown() bool

type DocumentNewParamsFundingInstructions added in v0.248.0

type DocumentNewParamsFundingInstructions struct {
	// The Account Number the funding instructions should be generated for.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
}

Funding instructions.

func (DocumentNewParamsFundingInstructions) MarshalJSON added in v0.248.0

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

type DocumentService

type DocumentService struct {
	Options []option.RequestOption
}

DocumentService contains methods and other services that help with interacting with the increase 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 NewDocumentService method instead.

func NewDocumentService

func NewDocumentService(opts ...option.RequestOption) (r *DocumentService)

NewDocumentService 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 (*DocumentService) Get

func (r *DocumentService) Get(ctx context.Context, documentID string, opts ...option.RequestOption) (res *Document, err error)

Retrieve a Document

func (*DocumentService) List

List Documents

func (*DocumentService) ListAutoPaging

List Documents

func (*DocumentService) New added in v0.241.0

func (r *DocumentService) New(ctx context.Context, body DocumentNewParams, opts ...option.RequestOption) (res *Document, err error)

Create a Document

type DocumentType

type DocumentType string

A constant representing the object's type. For this resource it will always be `document`.

const (
	DocumentTypeDocument DocumentType = "document"
)

func (DocumentType) IsKnown

func (r DocumentType) IsKnown() bool

type Entity

type Entity struct {
	// The entity's identifier.
	ID string `json:"id,required"`
	// Details of the corporation entity. Will be present if `structure` is equal to
	// `corporation`.
	Corporation EntityCorporation `json:"corporation,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Entity
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The entity's description for display purposes.
	Description string `json:"description,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the
	// Entity's details were most recently confirmed.
	DetailsConfirmedAt time.Time `json:"details_confirmed_at,required,nullable" format:"date-time"`
	// Details of the government authority entity. Will be present if `structure` is
	// equal to `government_authority`.
	GovernmentAuthority EntityGovernmentAuthority `json:"government_authority,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// Details of the joint entity. Will be present if `structure` is equal to `joint`.
	Joint EntityJoint `json:"joint,required,nullable"`
	// Details of the natural person entity. Will be present if `structure` is equal to
	// `natural_person`.
	NaturalPerson EntityNaturalPerson `json:"natural_person,required,nullable"`
	// The status of the entity.
	Status EntityStatus `json:"status,required"`
	// The entity's legal structure.
	Structure EntityStructure `json:"structure,required"`
	// Additional documentation associated with the entity. This is limited to the
	// first 10 documents for an entity. If an entity has more than 10 documents, use
	// the GET /entity_supplemental_documents list endpoint to retrieve them.
	SupplementalDocuments []EntitySupplementalDocument `json:"supplemental_documents,required"`
	// A reference to data stored in a third-party verification service. Your
	// integration may or may not use this field.
	ThirdPartyVerification EntityThirdPartyVerification `json:"third_party_verification,required,nullable"`
	// Details of the trust entity. Will be present if `structure` is equal to `trust`.
	Trust EntityTrust `json:"trust,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `entity`.
	Type EntityType `json:"type,required"`
	JSON entityJSON `json:"-"`
}

Entities are the legal entities that own accounts. They can be people, corporations, partnerships, government authorities, or trusts.

func (*Entity) UnmarshalJSON

func (r *Entity) UnmarshalJSON(data []byte) (err error)

type EntityArchiveBeneficialOwnerParams

type EntityArchiveBeneficialOwnerParams struct {
	// The identifying details of anyone controlling or owning 25% or more of the
	// corporation.
	BeneficialOwnerID param.Field[string] `json:"beneficial_owner_id,required"`
}

func (EntityArchiveBeneficialOwnerParams) MarshalJSON

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

type EntityConfirmParams

type EntityConfirmParams struct {
	// When your user confirmed the Entity's details. If not provided, the current time
	// will be used.
	ConfirmedAt param.Field[time.Time] `json:"confirmed_at" format:"date-time"`
}

func (EntityConfirmParams) MarshalJSON

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

type EntityCorporation

type EntityCorporation struct {
	// The corporation's address.
	Address EntityCorporationAddress `json:"address,required"`
	// The identifying details of anyone controlling or owning 25% or more of the
	// corporation.
	BeneficialOwners []EntityCorporationBeneficialOwner `json:"beneficial_owners,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the
	// corporation's state of incorporation.
	IncorporationState string `json:"incorporation_state,required,nullable"`
	// The numeric North American Industry Classification System (NAICS) code submitted
	// for the corporation.
	IndustryCode string `json:"industry_code,required,nullable"`
	// The legal name of the corporation.
	Name string `json:"name,required"`
	// The Employer Identification Number (EIN) for the corporation.
	TaxIdentifier string `json:"tax_identifier,required,nullable"`
	// The website of the corporation.
	Website string                `json:"website,required,nullable"`
	JSON    entityCorporationJSON `json:"-"`
}

Details of the corporation entity. Will be present if `structure` is equal to `corporation`.

func (*EntityCorporation) UnmarshalJSON

func (r *EntityCorporation) UnmarshalJSON(data []byte) (err error)

type EntityCorporationAddress

type EntityCorporationAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string `json:"state,required"`
	// The ZIP code of the address.
	Zip  string                       `json:"zip,required"`
	JSON entityCorporationAddressJSON `json:"-"`
}

The corporation's address.

func (*EntityCorporationAddress) UnmarshalJSON

func (r *EntityCorporationAddress) UnmarshalJSON(data []byte) (err error)

type EntityCorporationBeneficialOwner

type EntityCorporationBeneficialOwner struct {
	// The identifier of this beneficial owner.
	BeneficialOwnerID string `json:"beneficial_owner_id,required"`
	// This person's role or title within the entity.
	CompanyTitle string `json:"company_title,required,nullable"`
	// Personal details for the beneficial owner.
	Individual EntityCorporationBeneficialOwnersIndividual `json:"individual,required"`
	// Why this person is considered a beneficial owner of the entity.
	Prong EntityCorporationBeneficialOwnersProng `json:"prong,required"`
	JSON  entityCorporationBeneficialOwnerJSON   `json:"-"`
}

func (*EntityCorporationBeneficialOwner) UnmarshalJSON

func (r *EntityCorporationBeneficialOwner) UnmarshalJSON(data []byte) (err error)

type EntityCorporationBeneficialOwnersIndividual

type EntityCorporationBeneficialOwnersIndividual struct {
	// The person's address.
	Address EntityCorporationBeneficialOwnersIndividualAddress `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth time.Time `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification EntityCorporationBeneficialOwnersIndividualIdentification `json:"identification,required"`
	// The person's legal name.
	Name string                                          `json:"name,required"`
	JSON entityCorporationBeneficialOwnersIndividualJSON `json:"-"`
}

Personal details for the beneficial owner.

func (*EntityCorporationBeneficialOwnersIndividual) UnmarshalJSON

func (r *EntityCorporationBeneficialOwnersIndividual) UnmarshalJSON(data []byte) (err error)

type EntityCorporationBeneficialOwnersIndividualAddress

type EntityCorporationBeneficialOwnersIndividualAddress struct {
	// The city, district, town, or village of the address.
	City string `json:"city,required,nullable"`
	// The two-letter ISO 3166-1 alpha-2 code for the country of the address.
	Country string `json:"country,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the US
	// state, province, or region of the address.
	State string `json:"state,required,nullable"`
	// The ZIP or postal code of the address.
	Zip  string                                                 `json:"zip,required,nullable"`
	JSON entityCorporationBeneficialOwnersIndividualAddressJSON `json:"-"`
}

The person's address.

func (*EntityCorporationBeneficialOwnersIndividualAddress) UnmarshalJSON

func (r *EntityCorporationBeneficialOwnersIndividualAddress) UnmarshalJSON(data []byte) (err error)

type EntityCorporationBeneficialOwnersIndividualIdentification

type EntityCorporationBeneficialOwnersIndividualIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method EntityCorporationBeneficialOwnersIndividualIdentificationMethod `json:"method,required"`
	// The last 4 digits of the identification number that can be used to verify the
	// individual's identity.
	NumberLast4 string                                                        `json:"number_last4,required"`
	JSON        entityCorporationBeneficialOwnersIndividualIdentificationJSON `json:"-"`
}

A means of verifying the person's identity.

func (*EntityCorporationBeneficialOwnersIndividualIdentification) UnmarshalJSON

type EntityCorporationBeneficialOwnersIndividualIdentificationMethod

type EntityCorporationBeneficialOwnersIndividualIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodSocialSecurityNumber                   EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "social_security_number"
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodPassport                               EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "passport"
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodDriversLicense                         EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "drivers_license"
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodOther                                  EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "other"
)

func (EntityCorporationBeneficialOwnersIndividualIdentificationMethod) IsKnown

type EntityCorporationBeneficialOwnersProng

type EntityCorporationBeneficialOwnersProng string

Why this person is considered a beneficial owner of the entity.

const (
	EntityCorporationBeneficialOwnersProngOwnership EntityCorporationBeneficialOwnersProng = "ownership"
	EntityCorporationBeneficialOwnersProngControl   EntityCorporationBeneficialOwnersProng = "control"
)

func (EntityCorporationBeneficialOwnersProng) IsKnown

type EntityGovernmentAuthority

type EntityGovernmentAuthority struct {
	// The government authority's address.
	Address EntityGovernmentAuthorityAddress `json:"address,required"`
	// The identifying details of authorized persons of the government authority.
	AuthorizedPersons []EntityGovernmentAuthorityAuthorizedPerson `json:"authorized_persons,required"`
	// The category of the government authority.
	Category EntityGovernmentAuthorityCategory `json:"category,required"`
	// The government authority's name.
	Name string `json:"name,required"`
	// The Employer Identification Number (EIN) of the government authority.
	TaxIdentifier string `json:"tax_identifier,required,nullable"`
	// The government authority's website.
	Website string                        `json:"website,required,nullable"`
	JSON    entityGovernmentAuthorityJSON `json:"-"`
}

Details of the government authority entity. Will be present if `structure` is equal to `government_authority`.

func (*EntityGovernmentAuthority) UnmarshalJSON

func (r *EntityGovernmentAuthority) UnmarshalJSON(data []byte) (err error)

type EntityGovernmentAuthorityAddress

type EntityGovernmentAuthorityAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string `json:"state,required"`
	// The ZIP code of the address.
	Zip  string                               `json:"zip,required"`
	JSON entityGovernmentAuthorityAddressJSON `json:"-"`
}

The government authority's address.

func (*EntityGovernmentAuthorityAddress) UnmarshalJSON

func (r *EntityGovernmentAuthorityAddress) UnmarshalJSON(data []byte) (err error)

type EntityGovernmentAuthorityAuthorizedPerson

type EntityGovernmentAuthorityAuthorizedPerson struct {
	// The identifier of this authorized person.
	AuthorizedPersonID string `json:"authorized_person_id,required"`
	// The person's legal name.
	Name string                                        `json:"name,required"`
	JSON entityGovernmentAuthorityAuthorizedPersonJSON `json:"-"`
}

func (*EntityGovernmentAuthorityAuthorizedPerson) UnmarshalJSON

func (r *EntityGovernmentAuthorityAuthorizedPerson) UnmarshalJSON(data []byte) (err error)

type EntityGovernmentAuthorityCategory

type EntityGovernmentAuthorityCategory string

The category of the government authority.

const (
	EntityGovernmentAuthorityCategoryMunicipality EntityGovernmentAuthorityCategory = "municipality"
)

func (EntityGovernmentAuthorityCategory) IsKnown

type EntityJoint

type EntityJoint struct {
	// The two individuals that share control of the entity.
	Individuals []EntityJointIndividual `json:"individuals,required"`
	// The entity's name.
	Name string          `json:"name,required"`
	JSON entityJointJSON `json:"-"`
}

Details of the joint entity. Will be present if `structure` is equal to `joint`.

func (*EntityJoint) UnmarshalJSON

func (r *EntityJoint) UnmarshalJSON(data []byte) (err error)

type EntityJointIndividual

type EntityJointIndividual struct {
	// The person's address.
	Address EntityJointIndividualsAddress `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth time.Time `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification EntityJointIndividualsIdentification `json:"identification,required"`
	// The person's legal name.
	Name string                    `json:"name,required"`
	JSON entityJointIndividualJSON `json:"-"`
}

func (*EntityJointIndividual) UnmarshalJSON

func (r *EntityJointIndividual) UnmarshalJSON(data []byte) (err error)

type EntityJointIndividualsAddress

type EntityJointIndividualsAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string `json:"state,required"`
	// The ZIP code of the address.
	Zip  string                            `json:"zip,required"`
	JSON entityJointIndividualsAddressJSON `json:"-"`
}

The person's address.

func (*EntityJointIndividualsAddress) UnmarshalJSON

func (r *EntityJointIndividualsAddress) UnmarshalJSON(data []byte) (err error)

type EntityJointIndividualsIdentification

type EntityJointIndividualsIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method EntityJointIndividualsIdentificationMethod `json:"method,required"`
	// The last 4 digits of the identification number that can be used to verify the
	// individual's identity.
	NumberLast4 string                                   `json:"number_last4,required"`
	JSON        entityJointIndividualsIdentificationJSON `json:"-"`
}

A means of verifying the person's identity.

func (*EntityJointIndividualsIdentification) UnmarshalJSON

func (r *EntityJointIndividualsIdentification) UnmarshalJSON(data []byte) (err error)

type EntityJointIndividualsIdentificationMethod

type EntityJointIndividualsIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityJointIndividualsIdentificationMethodSocialSecurityNumber                   EntityJointIndividualsIdentificationMethod = "social_security_number"
	EntityJointIndividualsIdentificationMethodIndividualTaxpayerIdentificationNumber EntityJointIndividualsIdentificationMethod = "individual_taxpayer_identification_number"
	EntityJointIndividualsIdentificationMethodPassport                               EntityJointIndividualsIdentificationMethod = "passport"
	EntityJointIndividualsIdentificationMethodDriversLicense                         EntityJointIndividualsIdentificationMethod = "drivers_license"
	EntityJointIndividualsIdentificationMethodOther                                  EntityJointIndividualsIdentificationMethod = "other"
)

func (EntityJointIndividualsIdentificationMethod) IsKnown

type EntityListParams

type EntityListParams struct {
	CreatedAt param.Field[EntityListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                  `query:"limit"`
	Status param.Field[EntityListParamsStatus] `query:"status"`
}

func (EntityListParams) URLQuery

func (r EntityListParams) URLQuery() (v url.Values)

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

type EntityListParamsCreatedAt

type EntityListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (EntityListParamsCreatedAt) URLQuery

func (r EntityListParamsCreatedAt) URLQuery() (v url.Values)

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

type EntityListParamsStatus

type EntityListParamsStatus struct {
	// Filter Entities for those with the specified status or statuses. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]EntityListParamsStatusIn] `query:"in"`
}

func (EntityListParamsStatus) URLQuery

func (r EntityListParamsStatus) URLQuery() (v url.Values)

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

type EntityListParamsStatusIn

type EntityListParamsStatusIn string
const (
	EntityListParamsStatusInActive   EntityListParamsStatusIn = "active"
	EntityListParamsStatusInArchived EntityListParamsStatusIn = "archived"
	EntityListParamsStatusInDisabled EntityListParamsStatusIn = "disabled"
)

func (EntityListParamsStatusIn) IsKnown

func (r EntityListParamsStatusIn) IsKnown() bool

type EntityNaturalPerson

type EntityNaturalPerson struct {
	// The person's address.
	Address EntityNaturalPersonAddress `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth time.Time `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification EntityNaturalPersonIdentification `json:"identification,required"`
	// The person's legal name.
	Name string                  `json:"name,required"`
	JSON entityNaturalPersonJSON `json:"-"`
}

Details of the natural person entity. Will be present if `structure` is equal to `natural_person`.

func (*EntityNaturalPerson) UnmarshalJSON

func (r *EntityNaturalPerson) UnmarshalJSON(data []byte) (err error)

type EntityNaturalPersonAddress

type EntityNaturalPersonAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string `json:"state,required"`
	// The ZIP code of the address.
	Zip  string                         `json:"zip,required"`
	JSON entityNaturalPersonAddressJSON `json:"-"`
}

The person's address.

func (*EntityNaturalPersonAddress) UnmarshalJSON

func (r *EntityNaturalPersonAddress) UnmarshalJSON(data []byte) (err error)

type EntityNaturalPersonIdentification

type EntityNaturalPersonIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method EntityNaturalPersonIdentificationMethod `json:"method,required"`
	// The last 4 digits of the identification number that can be used to verify the
	// individual's identity.
	NumberLast4 string                                `json:"number_last4,required"`
	JSON        entityNaturalPersonIdentificationJSON `json:"-"`
}

A means of verifying the person's identity.

func (*EntityNaturalPersonIdentification) UnmarshalJSON

func (r *EntityNaturalPersonIdentification) UnmarshalJSON(data []byte) (err error)

type EntityNaturalPersonIdentificationMethod

type EntityNaturalPersonIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityNaturalPersonIdentificationMethodSocialSecurityNumber                   EntityNaturalPersonIdentificationMethod = "social_security_number"
	EntityNaturalPersonIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNaturalPersonIdentificationMethod = "individual_taxpayer_identification_number"
	EntityNaturalPersonIdentificationMethodPassport                               EntityNaturalPersonIdentificationMethod = "passport"
	EntityNaturalPersonIdentificationMethodDriversLicense                         EntityNaturalPersonIdentificationMethod = "drivers_license"
	EntityNaturalPersonIdentificationMethodOther                                  EntityNaturalPersonIdentificationMethod = "other"
)

func (EntityNaturalPersonIdentificationMethod) IsKnown

type EntityNewBeneficialOwnerParams

type EntityNewBeneficialOwnerParams struct {
	// The identifying details of anyone controlling or owning 25% or more of the
	// corporation.
	BeneficialOwner param.Field[EntityNewBeneficialOwnerParamsBeneficialOwner] `json:"beneficial_owner,required"`
}

func (EntityNewBeneficialOwnerParams) MarshalJSON

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

type EntityNewBeneficialOwnerParamsBeneficialOwner

type EntityNewBeneficialOwnerParamsBeneficialOwner struct {
	// Personal details for the beneficial owner.
	Individual param.Field[EntityNewBeneficialOwnerParamsBeneficialOwnerIndividual] `json:"individual,required"`
	// Why this person is considered a beneficial owner of the entity. At least one
	// option is required, if a person is both a control person and owner, submit an
	// array containing both.
	Prongs param.Field[[]EntityNewBeneficialOwnerParamsBeneficialOwnerProng] `json:"prongs,required"`
	// This person's role or title within the entity.
	CompanyTitle param.Field[string] `json:"company_title"`
}

The identifying details of anyone controlling or owning 25% or more of the corporation.

func (EntityNewBeneficialOwnerParamsBeneficialOwner) MarshalJSON

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

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividual

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividual struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualAddress] `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth param.Field[time.Time] `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification param.Field[EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentification] `json:"identification,required"`
	// The person's legal name.
	Name param.Field[string] `json:"name,required"`
	// The identification method for an individual can only be a passport, driver's
	// license, or other document if you've confirmed the individual does not have a US
	// tax id (either a Social Security Number or Individual Taxpayer Identification
	// Number).
	ConfirmedNoUsTaxID param.Field[bool] `json:"confirmed_no_us_tax_id"`
}

Personal details for the beneficial owner.

func (EntityNewBeneficialOwnerParamsBeneficialOwnerIndividual) MarshalJSON

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualAddress

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualAddress struct {
	// The two-letter ISO 3166-1 alpha-2 code for the country of the address.
	Country param.Field[string] `json:"country,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The city, district, town, or village of the address. Required in certain
	// countries.
	City param.Field[string] `json:"city"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
	// The two-letter United States Postal Service (USPS) abbreviation for the US
	// state, province, or region of the address. Required in certain countries.
	State param.Field[string] `json:"state"`
	// The ZIP or postal code of the address. Required in certain countries.
	Zip param.Field[string] `json:"zip"`
}

The individual's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualAddress) MarshalJSON

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentification

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method param.Field[EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod] `json:"method,required"`
	// An identification number that can be used to verify the individual's identity,
	// such as a social security number.
	Number param.Field[string] `json:"number,required"`
	// Information about the United States driver's license used for identification.
	// Required if `method` is equal to `drivers_license`.
	DriversLicense param.Field[EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationDriversLicense] `json:"drivers_license"`
	// Information about the identification document provided. Required if `method` is
	// equal to `other`.
	Other param.Field[EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationOther] `json:"other"`
	// Information about the passport used for identification. Required if `method` is
	// equal to `passport`.
	Passport param.Field[EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationPassport] `json:"passport"`
}

A means of verifying the person's identity.

func (EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentification) MarshalJSON

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationDriversLicense

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationDriversLicense struct {
	// The driver's license's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the front of the driver's license.
	FileID param.Field[string] `json:"file_id,required"`
	// The state that issued the provided driver's license.
	State param.Field[string] `json:"state,required"`
	// The identifier of the File containing the back of the driver's license.
	BackFileID param.Field[string] `json:"back_file_id"`
}

Information about the United States driver's license used for identification. Required if `method` is equal to `drivers_license`.

func (EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationDriversLicense) MarshalJSON

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodSocialSecurityNumber                   EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "social_security_number"
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodPassport                               EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "passport"
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodDriversLicense                         EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "drivers_license"
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodOther                                  EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "other"
)

func (EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod) IsKnown

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationOther

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationOther struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// A description of the document submitted.
	Description param.Field[string] `json:"description,required"`
	// The identifier of the File containing the front of the document.
	FileID param.Field[string] `json:"file_id,required"`
	// The identifier of the File containing the back of the document. Not every
	// document has a reverse side.
	BackFileID param.Field[string] `json:"back_file_id"`
	// The document's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date" format:"date"`
}

Information about the identification document provided. Required if `method` is equal to `other`.

func (EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationOther) MarshalJSON

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationPassport

type EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationPassport struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// The passport's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the passport.
	FileID param.Field[string] `json:"file_id,required"`
}

Information about the passport used for identification. Required if `method` is equal to `passport`.

func (EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationPassport) MarshalJSON

type EntityNewBeneficialOwnerParamsBeneficialOwnerProng

type EntityNewBeneficialOwnerParamsBeneficialOwnerProng string
const (
	EntityNewBeneficialOwnerParamsBeneficialOwnerProngOwnership EntityNewBeneficialOwnerParamsBeneficialOwnerProng = "ownership"
	EntityNewBeneficialOwnerParamsBeneficialOwnerProngControl   EntityNewBeneficialOwnerParamsBeneficialOwnerProng = "control"
)

func (EntityNewBeneficialOwnerParamsBeneficialOwnerProng) IsKnown

type EntityNewParams

type EntityNewParams struct {
	// The type of Entity to create.
	Structure param.Field[EntityNewParamsStructure] `json:"structure,required"`
	// Details of the corporation entity to create. Required if `structure` is equal to
	// `corporation`.
	Corporation param.Field[EntityNewParamsCorporation] `json:"corporation"`
	// The description you choose to give the entity.
	Description param.Field[string] `json:"description"`
	// Details of the Government Authority entity to create. Required if `structure` is
	// equal to `Government Authority`.
	GovernmentAuthority param.Field[EntityNewParamsGovernmentAuthority] `json:"government_authority"`
	// Details of the joint entity to create. Required if `structure` is equal to
	// `joint`.
	Joint param.Field[EntityNewParamsJoint] `json:"joint"`
	// Details of the natural person entity to create. Required if `structure` is equal
	// to `natural_person`. Natural people entities should be submitted with
	// `social_security_number` or `individual_taxpayer_identification_number`
	// identification methods.
	NaturalPerson param.Field[EntityNewParamsNaturalPerson] `json:"natural_person"`
	// Additional documentation associated with the entity.
	SupplementalDocuments param.Field[[]EntityNewParamsSupplementalDocument] `json:"supplemental_documents"`
	// A reference to data stored in a third-party verification service. Your
	// integration may or may not use this field.
	ThirdPartyVerification param.Field[EntityNewParamsThirdPartyVerification] `json:"third_party_verification"`
	// Details of the trust entity to create. Required if `structure` is equal to
	// `trust`.
	Trust param.Field[EntityNewParamsTrust] `json:"trust"`
}

func (EntityNewParams) MarshalJSON

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

type EntityNewParamsCorporation

type EntityNewParamsCorporation struct {
	// The entity's physical address. Mail receiving locations like PO Boxes and PMB's
	// are disallowed.
	Address param.Field[EntityNewParamsCorporationAddress] `json:"address,required"`
	// The identifying details of each person who owns 25% or more of the business and
	// one control person, like the CEO, CFO, or other executive. You can submit
	// between 1 and 5 people to this list.
	BeneficialOwners param.Field[[]EntityNewParamsCorporationBeneficialOwner] `json:"beneficial_owners,required"`
	// The legal name of the corporation.
	Name param.Field[string] `json:"name,required"`
	// The Employer Identification Number (EIN) for the corporation.
	TaxIdentifier param.Field[string] `json:"tax_identifier,required"`
	// If the entity is exempt from the requirement to submit beneficial owners,
	// provide the justification. If a reason is provided, you do not need to submit a
	// list of beneficial owners.
	BeneficialOwnershipExemptionReason param.Field[EntityNewParamsCorporationBeneficialOwnershipExemptionReason] `json:"beneficial_ownership_exemption_reason"`
	// The two-letter United States Postal Service (USPS) abbreviation for the
	// corporation's state of incorporation.
	IncorporationState param.Field[string] `json:"incorporation_state"`
	// The North American Industry Classification System (NAICS) code for the
	// corporation's primary line of business. This is a number, like `5132` for
	// `Software Publishers`. A full list of classification codes is available
	// [here](https://increase.com/documentation/data-dictionary#north-american-industry-classification-system-codes).
	IndustryCode param.Field[string] `json:"industry_code"`
	// The website of the corporation.
	Website param.Field[string] `json:"website"`
}

Details of the corporation entity to create. Required if `structure` is equal to `corporation`.

func (EntityNewParamsCorporation) MarshalJSON

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

type EntityNewParamsCorporationAddress

type EntityNewParamsCorporationAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The entity's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsCorporationAddress) MarshalJSON

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

type EntityNewParamsCorporationBeneficialOwner

type EntityNewParamsCorporationBeneficialOwner struct {
	// Personal details for the beneficial owner.
	Individual param.Field[EntityNewParamsCorporationBeneficialOwnersIndividual] `json:"individual,required"`
	// Why this person is considered a beneficial owner of the entity. At least one
	// option is required, if a person is both a control person and owner, submit an
	// array containing both.
	Prongs param.Field[[]EntityNewParamsCorporationBeneficialOwnersProng] `json:"prongs,required"`
	// This person's role or title within the entity.
	CompanyTitle param.Field[string] `json:"company_title"`
}

func (EntityNewParamsCorporationBeneficialOwner) MarshalJSON

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

type EntityNewParamsCorporationBeneficialOwnersIndividual

type EntityNewParamsCorporationBeneficialOwnersIndividual struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityNewParamsCorporationBeneficialOwnersIndividualAddress] `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth param.Field[time.Time] `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification param.Field[EntityNewParamsCorporationBeneficialOwnersIndividualIdentification] `json:"identification,required"`
	// The person's legal name.
	Name param.Field[string] `json:"name,required"`
	// The identification method for an individual can only be a passport, driver's
	// license, or other document if you've confirmed the individual does not have a US
	// tax id (either a Social Security Number or Individual Taxpayer Identification
	// Number).
	ConfirmedNoUsTaxID param.Field[bool] `json:"confirmed_no_us_tax_id"`
}

Personal details for the beneficial owner.

func (EntityNewParamsCorporationBeneficialOwnersIndividual) MarshalJSON

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

type EntityNewParamsCorporationBeneficialOwnersIndividualAddress

type EntityNewParamsCorporationBeneficialOwnersIndividualAddress struct {
	// The two-letter ISO 3166-1 alpha-2 code for the country of the address.
	Country param.Field[string] `json:"country,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The city, district, town, or village of the address. Required in certain
	// countries.
	City param.Field[string] `json:"city"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
	// The two-letter United States Postal Service (USPS) abbreviation for the US
	// state, province, or region of the address. Required in certain countries.
	State param.Field[string] `json:"state"`
	// The ZIP or postal code of the address. Required in certain countries.
	Zip param.Field[string] `json:"zip"`
}

The individual's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsCorporationBeneficialOwnersIndividualAddress) MarshalJSON

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentification

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method param.Field[EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod] `json:"method,required"`
	// An identification number that can be used to verify the individual's identity,
	// such as a social security number.
	Number param.Field[string] `json:"number,required"`
	// Information about the United States driver's license used for identification.
	// Required if `method` is equal to `drivers_license`.
	DriversLicense param.Field[EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationDriversLicense] `json:"drivers_license"`
	// Information about the identification document provided. Required if `method` is
	// equal to `other`.
	Other param.Field[EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationOther] `json:"other"`
	// Information about the passport used for identification. Required if `method` is
	// equal to `passport`.
	Passport param.Field[EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationPassport] `json:"passport"`
}

A means of verifying the person's identity.

func (EntityNewParamsCorporationBeneficialOwnersIndividualIdentification) MarshalJSON

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationDriversLicense

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationDriversLicense struct {
	// The driver's license's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the front of the driver's license.
	FileID param.Field[string] `json:"file_id,required"`
	// The state that issued the provided driver's license.
	State param.Field[string] `json:"state,required"`
	// The identifier of the File containing the back of the driver's license.
	BackFileID param.Field[string] `json:"back_file_id"`
}

Information about the United States driver's license used for identification. Required if `method` is equal to `drivers_license`.

func (EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationDriversLicense) MarshalJSON

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodSocialSecurityNumber                   EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "social_security_number"
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodPassport                               EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "passport"
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodDriversLicense                         EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "drivers_license"
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodOther                                  EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "other"
)

func (EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod) IsKnown

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationOther

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationOther struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// A description of the document submitted.
	Description param.Field[string] `json:"description,required"`
	// The identifier of the File containing the front of the document.
	FileID param.Field[string] `json:"file_id,required"`
	// The identifier of the File containing the back of the document. Not every
	// document has a reverse side.
	BackFileID param.Field[string] `json:"back_file_id"`
	// The document's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date" format:"date"`
}

Information about the identification document provided. Required if `method` is equal to `other`.

func (EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationOther) MarshalJSON

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationPassport

type EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationPassport struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// The passport's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the passport.
	FileID param.Field[string] `json:"file_id,required"`
}

Information about the passport used for identification. Required if `method` is equal to `passport`.

func (EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationPassport) MarshalJSON

type EntityNewParamsCorporationBeneficialOwnersProng

type EntityNewParamsCorporationBeneficialOwnersProng string
const (
	EntityNewParamsCorporationBeneficialOwnersProngOwnership EntityNewParamsCorporationBeneficialOwnersProng = "ownership"
	EntityNewParamsCorporationBeneficialOwnersProngControl   EntityNewParamsCorporationBeneficialOwnersProng = "control"
)

func (EntityNewParamsCorporationBeneficialOwnersProng) IsKnown

type EntityNewParamsCorporationBeneficialOwnershipExemptionReason added in v0.221.0

type EntityNewParamsCorporationBeneficialOwnershipExemptionReason string

If the entity is exempt from the requirement to submit beneficial owners, provide the justification. If a reason is provided, you do not need to submit a list of beneficial owners.

const (
	EntityNewParamsCorporationBeneficialOwnershipExemptionReasonRegulatedFinancialInstitution EntityNewParamsCorporationBeneficialOwnershipExemptionReason = "regulated_financial_institution"
	EntityNewParamsCorporationBeneficialOwnershipExemptionReasonPubliclyTradedCompany         EntityNewParamsCorporationBeneficialOwnershipExemptionReason = "publicly_traded_company"
	EntityNewParamsCorporationBeneficialOwnershipExemptionReasonPublicEntity                  EntityNewParamsCorporationBeneficialOwnershipExemptionReason = "public_entity"
)

func (EntityNewParamsCorporationBeneficialOwnershipExemptionReason) IsKnown added in v0.221.0

type EntityNewParamsGovernmentAuthority

type EntityNewParamsGovernmentAuthority struct {
	// The entity's physical address. Mail receiving locations like PO Boxes and PMB's
	// are disallowed.
	Address param.Field[EntityNewParamsGovernmentAuthorityAddress] `json:"address,required"`
	// The identifying details of authorized officials acting on the entity's behalf.
	AuthorizedPersons param.Field[[]EntityNewParamsGovernmentAuthorityAuthorizedPerson] `json:"authorized_persons,required"`
	// The category of the government authority.
	Category param.Field[EntityNewParamsGovernmentAuthorityCategory] `json:"category,required"`
	// The legal name of the government authority.
	Name param.Field[string] `json:"name,required"`
	// The Employer Identification Number (EIN) for the government authority.
	TaxIdentifier param.Field[string] `json:"tax_identifier,required"`
	// The website of the government authority.
	Website param.Field[string] `json:"website"`
}

Details of the Government Authority entity to create. Required if `structure` is equal to `Government Authority`.

func (EntityNewParamsGovernmentAuthority) MarshalJSON

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

type EntityNewParamsGovernmentAuthorityAddress

type EntityNewParamsGovernmentAuthorityAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The entity's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsGovernmentAuthorityAddress) MarshalJSON

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

type EntityNewParamsGovernmentAuthorityAuthorizedPerson

type EntityNewParamsGovernmentAuthorityAuthorizedPerson struct {
	// The person's legal name.
	Name param.Field[string] `json:"name,required"`
}

func (EntityNewParamsGovernmentAuthorityAuthorizedPerson) MarshalJSON

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

type EntityNewParamsGovernmentAuthorityCategory

type EntityNewParamsGovernmentAuthorityCategory string

The category of the government authority.

const (
	EntityNewParamsGovernmentAuthorityCategoryMunicipality EntityNewParamsGovernmentAuthorityCategory = "municipality"
)

func (EntityNewParamsGovernmentAuthorityCategory) IsKnown

type EntityNewParamsJoint

type EntityNewParamsJoint struct {
	// The two individuals that share control of the entity.
	Individuals param.Field[[]EntityNewParamsJointIndividual] `json:"individuals,required"`
}

Details of the joint entity to create. Required if `structure` is equal to `joint`.

func (EntityNewParamsJoint) MarshalJSON

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

type EntityNewParamsJointIndividual

type EntityNewParamsJointIndividual struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityNewParamsJointIndividualsAddress] `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth param.Field[time.Time] `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification param.Field[EntityNewParamsJointIndividualsIdentification] `json:"identification,required"`
	// The person's legal name.
	Name param.Field[string] `json:"name,required"`
	// The identification method for an individual can only be a passport, driver's
	// license, or other document if you've confirmed the individual does not have a US
	// tax id (either a Social Security Number or Individual Taxpayer Identification
	// Number).
	ConfirmedNoUsTaxID param.Field[bool] `json:"confirmed_no_us_tax_id"`
}

func (EntityNewParamsJointIndividual) MarshalJSON

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

type EntityNewParamsJointIndividualsAddress

type EntityNewParamsJointIndividualsAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The individual's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsJointIndividualsAddress) MarshalJSON

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

type EntityNewParamsJointIndividualsIdentification

type EntityNewParamsJointIndividualsIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method param.Field[EntityNewParamsJointIndividualsIdentificationMethod] `json:"method,required"`
	// An identification number that can be used to verify the individual's identity,
	// such as a social security number.
	Number param.Field[string] `json:"number,required"`
	// Information about the United States driver's license used for identification.
	// Required if `method` is equal to `drivers_license`.
	DriversLicense param.Field[EntityNewParamsJointIndividualsIdentificationDriversLicense] `json:"drivers_license"`
	// Information about the identification document provided. Required if `method` is
	// equal to `other`.
	Other param.Field[EntityNewParamsJointIndividualsIdentificationOther] `json:"other"`
	// Information about the passport used for identification. Required if `method` is
	// equal to `passport`.
	Passport param.Field[EntityNewParamsJointIndividualsIdentificationPassport] `json:"passport"`
}

A means of verifying the person's identity.

func (EntityNewParamsJointIndividualsIdentification) MarshalJSON

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

type EntityNewParamsJointIndividualsIdentificationDriversLicense

type EntityNewParamsJointIndividualsIdentificationDriversLicense struct {
	// The driver's license's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the front of the driver's license.
	FileID param.Field[string] `json:"file_id,required"`
	// The state that issued the provided driver's license.
	State param.Field[string] `json:"state,required"`
	// The identifier of the File containing the back of the driver's license.
	BackFileID param.Field[string] `json:"back_file_id"`
}

Information about the United States driver's license used for identification. Required if `method` is equal to `drivers_license`.

func (EntityNewParamsJointIndividualsIdentificationDriversLicense) MarshalJSON

type EntityNewParamsJointIndividualsIdentificationMethod

type EntityNewParamsJointIndividualsIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityNewParamsJointIndividualsIdentificationMethodSocialSecurityNumber                   EntityNewParamsJointIndividualsIdentificationMethod = "social_security_number"
	EntityNewParamsJointIndividualsIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsJointIndividualsIdentificationMethod = "individual_taxpayer_identification_number"
	EntityNewParamsJointIndividualsIdentificationMethodPassport                               EntityNewParamsJointIndividualsIdentificationMethod = "passport"
	EntityNewParamsJointIndividualsIdentificationMethodDriversLicense                         EntityNewParamsJointIndividualsIdentificationMethod = "drivers_license"
	EntityNewParamsJointIndividualsIdentificationMethodOther                                  EntityNewParamsJointIndividualsIdentificationMethod = "other"
)

func (EntityNewParamsJointIndividualsIdentificationMethod) IsKnown

type EntityNewParamsJointIndividualsIdentificationOther

type EntityNewParamsJointIndividualsIdentificationOther struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// A description of the document submitted.
	Description param.Field[string] `json:"description,required"`
	// The identifier of the File containing the front of the document.
	FileID param.Field[string] `json:"file_id,required"`
	// The identifier of the File containing the back of the document. Not every
	// document has a reverse side.
	BackFileID param.Field[string] `json:"back_file_id"`
	// The document's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date" format:"date"`
}

Information about the identification document provided. Required if `method` is equal to `other`.

func (EntityNewParamsJointIndividualsIdentificationOther) MarshalJSON

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

type EntityNewParamsJointIndividualsIdentificationPassport

type EntityNewParamsJointIndividualsIdentificationPassport struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// passport (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// The passport's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the passport.
	FileID param.Field[string] `json:"file_id,required"`
}

Information about the passport used for identification. Required if `method` is equal to `passport`.

func (EntityNewParamsJointIndividualsIdentificationPassport) MarshalJSON

type EntityNewParamsNaturalPerson

type EntityNewParamsNaturalPerson struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityNewParamsNaturalPersonAddress] `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth param.Field[time.Time] `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification param.Field[EntityNewParamsNaturalPersonIdentification] `json:"identification,required"`
	// The person's legal name.
	Name param.Field[string] `json:"name,required"`
	// The identification method for an individual can only be a passport, driver's
	// license, or other document if you've confirmed the individual does not have a US
	// tax id (either a Social Security Number or Individual Taxpayer Identification
	// Number).
	ConfirmedNoUsTaxID param.Field[bool] `json:"confirmed_no_us_tax_id"`
}

Details of the natural person entity to create. Required if `structure` is equal to `natural_person`. Natural people entities should be submitted with `social_security_number` or `individual_taxpayer_identification_number` identification methods.

func (EntityNewParamsNaturalPerson) MarshalJSON

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

type EntityNewParamsNaturalPersonAddress

type EntityNewParamsNaturalPersonAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The individual's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsNaturalPersonAddress) MarshalJSON

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

type EntityNewParamsNaturalPersonIdentification

type EntityNewParamsNaturalPersonIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method param.Field[EntityNewParamsNaturalPersonIdentificationMethod] `json:"method,required"`
	// An identification number that can be used to verify the individual's identity,
	// such as a social security number.
	Number param.Field[string] `json:"number,required"`
	// Information about the United States driver's license used for identification.
	// Required if `method` is equal to `drivers_license`.
	DriversLicense param.Field[EntityNewParamsNaturalPersonIdentificationDriversLicense] `json:"drivers_license"`
	// Information about the identification document provided. Required if `method` is
	// equal to `other`.
	Other param.Field[EntityNewParamsNaturalPersonIdentificationOther] `json:"other"`
	// Information about the passport used for identification. Required if `method` is
	// equal to `passport`.
	Passport param.Field[EntityNewParamsNaturalPersonIdentificationPassport] `json:"passport"`
}

A means of verifying the person's identity.

func (EntityNewParamsNaturalPersonIdentification) MarshalJSON

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

type EntityNewParamsNaturalPersonIdentificationDriversLicense

type EntityNewParamsNaturalPersonIdentificationDriversLicense struct {
	// The driver's license's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the front of the driver's license.
	FileID param.Field[string] `json:"file_id,required"`
	// The state that issued the provided driver's license.
	State param.Field[string] `json:"state,required"`
	// The identifier of the File containing the back of the driver's license.
	BackFileID param.Field[string] `json:"back_file_id"`
}

Information about the United States driver's license used for identification. Required if `method` is equal to `drivers_license`.

func (EntityNewParamsNaturalPersonIdentificationDriversLicense) MarshalJSON

type EntityNewParamsNaturalPersonIdentificationMethod

type EntityNewParamsNaturalPersonIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityNewParamsNaturalPersonIdentificationMethodSocialSecurityNumber                   EntityNewParamsNaturalPersonIdentificationMethod = "social_security_number"
	EntityNewParamsNaturalPersonIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsNaturalPersonIdentificationMethod = "individual_taxpayer_identification_number"
	EntityNewParamsNaturalPersonIdentificationMethodPassport                               EntityNewParamsNaturalPersonIdentificationMethod = "passport"
	EntityNewParamsNaturalPersonIdentificationMethodDriversLicense                         EntityNewParamsNaturalPersonIdentificationMethod = "drivers_license"
	EntityNewParamsNaturalPersonIdentificationMethodOther                                  EntityNewParamsNaturalPersonIdentificationMethod = "other"
)

func (EntityNewParamsNaturalPersonIdentificationMethod) IsKnown

type EntityNewParamsNaturalPersonIdentificationOther

type EntityNewParamsNaturalPersonIdentificationOther struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// A description of the document submitted.
	Description param.Field[string] `json:"description,required"`
	// The identifier of the File containing the front of the document.
	FileID param.Field[string] `json:"file_id,required"`
	// The identifier of the File containing the back of the document. Not every
	// document has a reverse side.
	BackFileID param.Field[string] `json:"back_file_id"`
	// The document's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date" format:"date"`
}

Information about the identification document provided. Required if `method` is equal to `other`.

func (EntityNewParamsNaturalPersonIdentificationOther) MarshalJSON

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

type EntityNewParamsNaturalPersonIdentificationPassport

type EntityNewParamsNaturalPersonIdentificationPassport struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// passport (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// The passport's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the passport.
	FileID param.Field[string] `json:"file_id,required"`
}

Information about the passport used for identification. Required if `method` is equal to `passport`.

func (EntityNewParamsNaturalPersonIdentificationPassport) MarshalJSON

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

type EntityNewParamsStructure

type EntityNewParamsStructure string

The type of Entity to create.

const (
	EntityNewParamsStructureCorporation         EntityNewParamsStructure = "corporation"
	EntityNewParamsStructureNaturalPerson       EntityNewParamsStructure = "natural_person"
	EntityNewParamsStructureJoint               EntityNewParamsStructure = "joint"
	EntityNewParamsStructureTrust               EntityNewParamsStructure = "trust"
	EntityNewParamsStructureGovernmentAuthority EntityNewParamsStructure = "government_authority"
)

func (EntityNewParamsStructure) IsKnown

func (r EntityNewParamsStructure) IsKnown() bool

type EntityNewParamsSupplementalDocument

type EntityNewParamsSupplementalDocument struct {
	// The identifier of the File containing the document.
	FileID param.Field[string] `json:"file_id,required"`
}

func (EntityNewParamsSupplementalDocument) MarshalJSON

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

type EntityNewParamsThirdPartyVerification added in v0.132.0

type EntityNewParamsThirdPartyVerification struct {
	// The reference identifier for the third party verification.
	Reference param.Field[string] `json:"reference,required"`
	// The vendor that was used to perform the verification.
	Vendor param.Field[EntityNewParamsThirdPartyVerificationVendor] `json:"vendor,required"`
}

A reference to data stored in a third-party verification service. Your integration may or may not use this field.

func (EntityNewParamsThirdPartyVerification) MarshalJSON added in v0.132.0

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

type EntityNewParamsThirdPartyVerificationVendor added in v0.132.0

type EntityNewParamsThirdPartyVerificationVendor string

The vendor that was used to perform the verification.

const (
	EntityNewParamsThirdPartyVerificationVendorAlloy   EntityNewParamsThirdPartyVerificationVendor = "alloy"
	EntityNewParamsThirdPartyVerificationVendorMiddesk EntityNewParamsThirdPartyVerificationVendor = "middesk"
	EntityNewParamsThirdPartyVerificationVendorOscilar EntityNewParamsThirdPartyVerificationVendor = "oscilar"
)

func (EntityNewParamsThirdPartyVerificationVendor) IsKnown added in v0.132.0

type EntityNewParamsTrust

type EntityNewParamsTrust struct {
	// The trust's physical address. Mail receiving locations like PO Boxes and PMB's
	// are disallowed.
	Address param.Field[EntityNewParamsTrustAddress] `json:"address,required"`
	// Whether the trust is `revocable` or `irrevocable`. Irrevocable trusts require
	// their own Employer Identification Number. Revocable trusts require information
	// about the individual `grantor` who created the trust.
	Category param.Field[EntityNewParamsTrustCategory] `json:"category,required"`
	// The legal name of the trust.
	Name param.Field[string] `json:"name,required"`
	// The trustees of the trust.
	Trustees param.Field[[]EntityNewParamsTrustTrustee] `json:"trustees,required"`
	// The identifier of the File containing the formation document of the trust.
	FormationDocumentFileID param.Field[string] `json:"formation_document_file_id"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state in
	// which the trust was formed.
	FormationState param.Field[string] `json:"formation_state"`
	// The grantor of the trust. Required if `category` is equal to `revocable`.
	Grantor param.Field[EntityNewParamsTrustGrantor] `json:"grantor"`
	// The Employer Identification Number (EIN) for the trust. Required if `category`
	// is equal to `irrevocable`.
	TaxIdentifier param.Field[string] `json:"tax_identifier"`
}

Details of the trust entity to create. Required if `structure` is equal to `trust`.

func (EntityNewParamsTrust) MarshalJSON

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

type EntityNewParamsTrustAddress

type EntityNewParamsTrustAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The trust's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsTrustAddress) MarshalJSON

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

type EntityNewParamsTrustCategory

type EntityNewParamsTrustCategory string

Whether the trust is `revocable` or `irrevocable`. Irrevocable trusts require their own Employer Identification Number. Revocable trusts require information about the individual `grantor` who created the trust.

const (
	EntityNewParamsTrustCategoryRevocable   EntityNewParamsTrustCategory = "revocable"
	EntityNewParamsTrustCategoryIrrevocable EntityNewParamsTrustCategory = "irrevocable"
)

func (EntityNewParamsTrustCategory) IsKnown

func (r EntityNewParamsTrustCategory) IsKnown() bool

type EntityNewParamsTrustGrantor

type EntityNewParamsTrustGrantor struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityNewParamsTrustGrantorAddress] `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth param.Field[time.Time] `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification param.Field[EntityNewParamsTrustGrantorIdentification] `json:"identification,required"`
	// The person's legal name.
	Name param.Field[string] `json:"name,required"`
	// The identification method for an individual can only be a passport, driver's
	// license, or other document if you've confirmed the individual does not have a US
	// tax id (either a Social Security Number or Individual Taxpayer Identification
	// Number).
	ConfirmedNoUsTaxID param.Field[bool] `json:"confirmed_no_us_tax_id"`
}

The grantor of the trust. Required if `category` is equal to `revocable`.

func (EntityNewParamsTrustGrantor) MarshalJSON

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

type EntityNewParamsTrustGrantorAddress

type EntityNewParamsTrustGrantorAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The individual's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsTrustGrantorAddress) MarshalJSON

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

type EntityNewParamsTrustGrantorIdentification

type EntityNewParamsTrustGrantorIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method param.Field[EntityNewParamsTrustGrantorIdentificationMethod] `json:"method,required"`
	// An identification number that can be used to verify the individual's identity,
	// such as a social security number.
	Number param.Field[string] `json:"number,required"`
	// Information about the United States driver's license used for identification.
	// Required if `method` is equal to `drivers_license`.
	DriversLicense param.Field[EntityNewParamsTrustGrantorIdentificationDriversLicense] `json:"drivers_license"`
	// Information about the identification document provided. Required if `method` is
	// equal to `other`.
	Other param.Field[EntityNewParamsTrustGrantorIdentificationOther] `json:"other"`
	// Information about the passport used for identification. Required if `method` is
	// equal to `passport`.
	Passport param.Field[EntityNewParamsTrustGrantorIdentificationPassport] `json:"passport"`
}

A means of verifying the person's identity.

func (EntityNewParamsTrustGrantorIdentification) MarshalJSON

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

type EntityNewParamsTrustGrantorIdentificationDriversLicense

type EntityNewParamsTrustGrantorIdentificationDriversLicense struct {
	// The driver's license's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the front of the driver's license.
	FileID param.Field[string] `json:"file_id,required"`
	// The state that issued the provided driver's license.
	State param.Field[string] `json:"state,required"`
	// The identifier of the File containing the back of the driver's license.
	BackFileID param.Field[string] `json:"back_file_id"`
}

Information about the United States driver's license used for identification. Required if `method` is equal to `drivers_license`.

func (EntityNewParamsTrustGrantorIdentificationDriversLicense) MarshalJSON

type EntityNewParamsTrustGrantorIdentificationMethod

type EntityNewParamsTrustGrantorIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityNewParamsTrustGrantorIdentificationMethodSocialSecurityNumber                   EntityNewParamsTrustGrantorIdentificationMethod = "social_security_number"
	EntityNewParamsTrustGrantorIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsTrustGrantorIdentificationMethod = "individual_taxpayer_identification_number"
	EntityNewParamsTrustGrantorIdentificationMethodPassport                               EntityNewParamsTrustGrantorIdentificationMethod = "passport"
	EntityNewParamsTrustGrantorIdentificationMethodDriversLicense                         EntityNewParamsTrustGrantorIdentificationMethod = "drivers_license"
	EntityNewParamsTrustGrantorIdentificationMethodOther                                  EntityNewParamsTrustGrantorIdentificationMethod = "other"
)

func (EntityNewParamsTrustGrantorIdentificationMethod) IsKnown

type EntityNewParamsTrustGrantorIdentificationOther

type EntityNewParamsTrustGrantorIdentificationOther struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// A description of the document submitted.
	Description param.Field[string] `json:"description,required"`
	// The identifier of the File containing the front of the document.
	FileID param.Field[string] `json:"file_id,required"`
	// The identifier of the File containing the back of the document. Not every
	// document has a reverse side.
	BackFileID param.Field[string] `json:"back_file_id"`
	// The document's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date" format:"date"`
}

Information about the identification document provided. Required if `method` is equal to `other`.

func (EntityNewParamsTrustGrantorIdentificationOther) MarshalJSON

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

type EntityNewParamsTrustGrantorIdentificationPassport

type EntityNewParamsTrustGrantorIdentificationPassport struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// passport (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// The passport's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the passport.
	FileID param.Field[string] `json:"file_id,required"`
}

Information about the passport used for identification. Required if `method` is equal to `passport`.

func (EntityNewParamsTrustGrantorIdentificationPassport) MarshalJSON

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

type EntityNewParamsTrustTrustee

type EntityNewParamsTrustTrustee struct {
	// The structure of the trustee.
	Structure param.Field[EntityNewParamsTrustTrusteesStructure] `json:"structure,required"`
	// Details of the individual trustee. Required when the trustee `structure` is
	// equal to `individual`.
	Individual param.Field[EntityNewParamsTrustTrusteesIndividual] `json:"individual"`
}

func (EntityNewParamsTrustTrustee) MarshalJSON

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

type EntityNewParamsTrustTrusteesIndividual

type EntityNewParamsTrustTrusteesIndividual struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityNewParamsTrustTrusteesIndividualAddress] `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth param.Field[time.Time] `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification param.Field[EntityNewParamsTrustTrusteesIndividualIdentification] `json:"identification,required"`
	// The person's legal name.
	Name param.Field[string] `json:"name,required"`
	// The identification method for an individual can only be a passport, driver's
	// license, or other document if you've confirmed the individual does not have a US
	// tax id (either a Social Security Number or Individual Taxpayer Identification
	// Number).
	ConfirmedNoUsTaxID param.Field[bool] `json:"confirmed_no_us_tax_id"`
}

Details of the individual trustee. Required when the trustee `structure` is equal to `individual`.

func (EntityNewParamsTrustTrusteesIndividual) MarshalJSON

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

type EntityNewParamsTrustTrusteesIndividualAddress

type EntityNewParamsTrustTrusteesIndividualAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The individual's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityNewParamsTrustTrusteesIndividualAddress) MarshalJSON

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

type EntityNewParamsTrustTrusteesIndividualIdentification

type EntityNewParamsTrustTrusteesIndividualIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method param.Field[EntityNewParamsTrustTrusteesIndividualIdentificationMethod] `json:"method,required"`
	// An identification number that can be used to verify the individual's identity,
	// such as a social security number.
	Number param.Field[string] `json:"number,required"`
	// Information about the United States driver's license used for identification.
	// Required if `method` is equal to `drivers_license`.
	DriversLicense param.Field[EntityNewParamsTrustTrusteesIndividualIdentificationDriversLicense] `json:"drivers_license"`
	// Information about the identification document provided. Required if `method` is
	// equal to `other`.
	Other param.Field[EntityNewParamsTrustTrusteesIndividualIdentificationOther] `json:"other"`
	// Information about the passport used for identification. Required if `method` is
	// equal to `passport`.
	Passport param.Field[EntityNewParamsTrustTrusteesIndividualIdentificationPassport] `json:"passport"`
}

A means of verifying the person's identity.

func (EntityNewParamsTrustTrusteesIndividualIdentification) MarshalJSON

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

type EntityNewParamsTrustTrusteesIndividualIdentificationDriversLicense

type EntityNewParamsTrustTrusteesIndividualIdentificationDriversLicense struct {
	// The driver's license's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the front of the driver's license.
	FileID param.Field[string] `json:"file_id,required"`
	// The state that issued the provided driver's license.
	State param.Field[string] `json:"state,required"`
	// The identifier of the File containing the back of the driver's license.
	BackFileID param.Field[string] `json:"back_file_id"`
}

Information about the United States driver's license used for identification. Required if `method` is equal to `drivers_license`.

func (EntityNewParamsTrustTrusteesIndividualIdentificationDriversLicense) MarshalJSON

type EntityNewParamsTrustTrusteesIndividualIdentificationMethod

type EntityNewParamsTrustTrusteesIndividualIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodSocialSecurityNumber                   EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "social_security_number"
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodPassport                               EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "passport"
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodDriversLicense                         EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "drivers_license"
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodOther                                  EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "other"
)

func (EntityNewParamsTrustTrusteesIndividualIdentificationMethod) IsKnown

type EntityNewParamsTrustTrusteesIndividualIdentificationOther

type EntityNewParamsTrustTrusteesIndividualIdentificationOther struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// document (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// A description of the document submitted.
	Description param.Field[string] `json:"description,required"`
	// The identifier of the File containing the front of the document.
	FileID param.Field[string] `json:"file_id,required"`
	// The identifier of the File containing the back of the document. Not every
	// document has a reverse side.
	BackFileID param.Field[string] `json:"back_file_id"`
	// The document's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date" format:"date"`
}

Information about the identification document provided. Required if `method` is equal to `other`.

func (EntityNewParamsTrustTrusteesIndividualIdentificationOther) MarshalJSON

type EntityNewParamsTrustTrusteesIndividualIdentificationPassport

type EntityNewParamsTrustTrusteesIndividualIdentificationPassport struct {
	// The two-character ISO 3166-1 code representing the country that issued the
	// passport (e.g., `US`).
	Country param.Field[string] `json:"country,required"`
	// The passport's expiration date in YYYY-MM-DD format.
	ExpirationDate param.Field[time.Time] `json:"expiration_date,required" format:"date"`
	// The identifier of the File containing the passport.
	FileID param.Field[string] `json:"file_id,required"`
}

Information about the passport used for identification. Required if `method` is equal to `passport`.

func (EntityNewParamsTrustTrusteesIndividualIdentificationPassport) MarshalJSON

type EntityNewParamsTrustTrusteesStructure

type EntityNewParamsTrustTrusteesStructure string

The structure of the trustee.

const (
	EntityNewParamsTrustTrusteesStructureIndividual EntityNewParamsTrustTrusteesStructure = "individual"
)

func (EntityNewParamsTrustTrusteesStructure) IsKnown

type EntityService

type EntityService struct {
	Options []option.RequestOption
}

EntityService contains methods and other services that help with interacting with the increase 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 NewEntityService method instead.

func NewEntityService

func NewEntityService(opts ...option.RequestOption) (r *EntityService)

NewEntityService 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 (*EntityService) Archive

func (r *EntityService) Archive(ctx context.Context, entityID string, opts ...option.RequestOption) (res *Entity, err error)

Archive an Entity

func (*EntityService) ArchiveBeneficialOwner

func (r *EntityService) ArchiveBeneficialOwner(ctx context.Context, entityID string, body EntityArchiveBeneficialOwnerParams, opts ...option.RequestOption) (res *Entity, err error)

Archive a beneficial owner for a corporate Entity

func (*EntityService) Confirm

func (r *EntityService) Confirm(ctx context.Context, entityID string, body EntityConfirmParams, opts ...option.RequestOption) (res *Entity, err error)

Depending on your program, you may be required to re-confirm an Entity's details on a recurring basis. After making any required updates, call this endpoint to record that your user confirmed their details.

func (*EntityService) Get

func (r *EntityService) Get(ctx context.Context, entityID string, opts ...option.RequestOption) (res *Entity, err error)

Retrieve an Entity

func (*EntityService) List

func (r *EntityService) List(ctx context.Context, query EntityListParams, opts ...option.RequestOption) (res *pagination.Page[Entity], err error)

List Entities

func (*EntityService) ListAutoPaging

List Entities

func (*EntityService) New

func (r *EntityService) New(ctx context.Context, body EntityNewParams, opts ...option.RequestOption) (res *Entity, err error)

Create an Entity

func (*EntityService) NewBeneficialOwner

func (r *EntityService) NewBeneficialOwner(ctx context.Context, entityID string, body EntityNewBeneficialOwnerParams, opts ...option.RequestOption) (res *Entity, err error)

Create a beneficial owner for a corporate Entity

func (*EntityService) UpdateAddress

func (r *EntityService) UpdateAddress(ctx context.Context, entityID string, body EntityUpdateAddressParams, opts ...option.RequestOption) (res *Entity, err error)

Update a Natural Person or Corporation's address

func (*EntityService) UpdateBeneficialOwnerAddress

func (r *EntityService) UpdateBeneficialOwnerAddress(ctx context.Context, entityID string, body EntityUpdateBeneficialOwnerAddressParams, opts ...option.RequestOption) (res *Entity, err error)

Update the address for a beneficial owner belonging to a corporate Entity

func (*EntityService) UpdateIndustryCode

func (r *EntityService) UpdateIndustryCode(ctx context.Context, entityID string, body EntityUpdateIndustryCodeParams, opts ...option.RequestOption) (res *Entity, err error)

Update the industry code for a corporate Entity

type EntityStatus

type EntityStatus string

The status of the entity.

const (
	EntityStatusActive   EntityStatus = "active"
	EntityStatusArchived EntityStatus = "archived"
	EntityStatusDisabled EntityStatus = "disabled"
)

func (EntityStatus) IsKnown

func (r EntityStatus) IsKnown() bool

type EntityStructure

type EntityStructure string

The entity's legal structure.

const (
	EntityStructureCorporation         EntityStructure = "corporation"
	EntityStructureNaturalPerson       EntityStructure = "natural_person"
	EntityStructureJoint               EntityStructure = "joint"
	EntityStructureTrust               EntityStructure = "trust"
	EntityStructureGovernmentAuthority EntityStructure = "government_authority"
)

func (EntityStructure) IsKnown

func (r EntityStructure) IsKnown() bool

type EntitySupplementalDocument

type EntitySupplementalDocument struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the
	// Supplemental Document was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The Entity the supplemental document is attached to.
	EntityID string `json:"entity_id,required"`
	// The File containing the document.
	FileID string `json:"file_id,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `entity_supplemental_document`.
	Type EntitySupplementalDocumentType `json:"type,required"`
	JSON entitySupplementalDocumentJSON `json:"-"`
}

Supplemental Documents are uploaded files connected to an Entity during onboarding.

func (*EntitySupplementalDocument) UnmarshalJSON

func (r *EntitySupplementalDocument) UnmarshalJSON(data []byte) (err error)

type EntitySupplementalDocumentType

type EntitySupplementalDocumentType string

A constant representing the object's type. For this resource it will always be `entity_supplemental_document`.

const (
	EntitySupplementalDocumentTypeEntitySupplementalDocument EntitySupplementalDocumentType = "entity_supplemental_document"
)

func (EntitySupplementalDocumentType) IsKnown

type EntityThirdPartyVerification added in v0.132.0

type EntityThirdPartyVerification struct {
	// The reference identifier for the third party verification.
	Reference string `json:"reference,required"`
	// The vendor that was used to perform the verification.
	Vendor EntityThirdPartyVerificationVendor `json:"vendor,required"`
	JSON   entityThirdPartyVerificationJSON   `json:"-"`
}

A reference to data stored in a third-party verification service. Your integration may or may not use this field.

func (*EntityThirdPartyVerification) UnmarshalJSON added in v0.132.0

func (r *EntityThirdPartyVerification) UnmarshalJSON(data []byte) (err error)

type EntityThirdPartyVerificationVendor added in v0.132.0

type EntityThirdPartyVerificationVendor string

The vendor that was used to perform the verification.

const (
	EntityThirdPartyVerificationVendorAlloy   EntityThirdPartyVerificationVendor = "alloy"
	EntityThirdPartyVerificationVendorMiddesk EntityThirdPartyVerificationVendor = "middesk"
	EntityThirdPartyVerificationVendorOscilar EntityThirdPartyVerificationVendor = "oscilar"
)

func (EntityThirdPartyVerificationVendor) IsKnown added in v0.132.0

type EntityTrust

type EntityTrust struct {
	// The trust's address.
	Address EntityTrustAddress `json:"address,required"`
	// Whether the trust is `revocable` or `irrevocable`.
	Category EntityTrustCategory `json:"category,required"`
	// The ID for the File containing the formation document of the trust.
	FormationDocumentFileID string `json:"formation_document_file_id,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state in
	// which the trust was formed.
	FormationState string `json:"formation_state,required,nullable"`
	// The grantor of the trust. Will be present if the `category` is `revocable`.
	Grantor EntityTrustGrantor `json:"grantor,required,nullable"`
	// The trust's name.
	Name string `json:"name,required"`
	// The Employer Identification Number (EIN) of the trust itself.
	TaxIdentifier string `json:"tax_identifier,required,nullable"`
	// The trustees of the trust.
	Trustees []EntityTrustTrustee `json:"trustees,required"`
	JSON     entityTrustJSON      `json:"-"`
}

Details of the trust entity. Will be present if `structure` is equal to `trust`.

func (*EntityTrust) UnmarshalJSON

func (r *EntityTrust) UnmarshalJSON(data []byte) (err error)

type EntityTrustAddress

type EntityTrustAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string `json:"state,required"`
	// The ZIP code of the address.
	Zip  string                 `json:"zip,required"`
	JSON entityTrustAddressJSON `json:"-"`
}

The trust's address.

func (*EntityTrustAddress) UnmarshalJSON

func (r *EntityTrustAddress) UnmarshalJSON(data []byte) (err error)

type EntityTrustCategory

type EntityTrustCategory string

Whether the trust is `revocable` or `irrevocable`.

const (
	EntityTrustCategoryRevocable   EntityTrustCategory = "revocable"
	EntityTrustCategoryIrrevocable EntityTrustCategory = "irrevocable"
)

func (EntityTrustCategory) IsKnown

func (r EntityTrustCategory) IsKnown() bool

type EntityTrustGrantor

type EntityTrustGrantor struct {
	// The person's address.
	Address EntityTrustGrantorAddress `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth time.Time `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification EntityTrustGrantorIdentification `json:"identification,required"`
	// The person's legal name.
	Name string                 `json:"name,required"`
	JSON entityTrustGrantorJSON `json:"-"`
}

The grantor of the trust. Will be present if the `category` is `revocable`.

func (*EntityTrustGrantor) UnmarshalJSON

func (r *EntityTrustGrantor) UnmarshalJSON(data []byte) (err error)

type EntityTrustGrantorAddress

type EntityTrustGrantorAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string `json:"state,required"`
	// The ZIP code of the address.
	Zip  string                        `json:"zip,required"`
	JSON entityTrustGrantorAddressJSON `json:"-"`
}

The person's address.

func (*EntityTrustGrantorAddress) UnmarshalJSON

func (r *EntityTrustGrantorAddress) UnmarshalJSON(data []byte) (err error)

type EntityTrustGrantorIdentification

type EntityTrustGrantorIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method EntityTrustGrantorIdentificationMethod `json:"method,required"`
	// The last 4 digits of the identification number that can be used to verify the
	// individual's identity.
	NumberLast4 string                               `json:"number_last4,required"`
	JSON        entityTrustGrantorIdentificationJSON `json:"-"`
}

A means of verifying the person's identity.

func (*EntityTrustGrantorIdentification) UnmarshalJSON

func (r *EntityTrustGrantorIdentification) UnmarshalJSON(data []byte) (err error)

type EntityTrustGrantorIdentificationMethod

type EntityTrustGrantorIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityTrustGrantorIdentificationMethodSocialSecurityNumber                   EntityTrustGrantorIdentificationMethod = "social_security_number"
	EntityTrustGrantorIdentificationMethodIndividualTaxpayerIdentificationNumber EntityTrustGrantorIdentificationMethod = "individual_taxpayer_identification_number"
	EntityTrustGrantorIdentificationMethodPassport                               EntityTrustGrantorIdentificationMethod = "passport"
	EntityTrustGrantorIdentificationMethodDriversLicense                         EntityTrustGrantorIdentificationMethod = "drivers_license"
	EntityTrustGrantorIdentificationMethodOther                                  EntityTrustGrantorIdentificationMethod = "other"
)

func (EntityTrustGrantorIdentificationMethod) IsKnown

type EntityTrustTrustee

type EntityTrustTrustee struct {
	// The individual trustee of the trust. Will be present if the trustee's
	// `structure` is equal to `individual`.
	Individual EntityTrustTrusteesIndividual `json:"individual,required,nullable"`
	// The structure of the trustee. Will always be equal to `individual`.
	Structure EntityTrustTrusteesStructure `json:"structure,required"`
	JSON      entityTrustTrusteeJSON       `json:"-"`
}

func (*EntityTrustTrustee) UnmarshalJSON

func (r *EntityTrustTrustee) UnmarshalJSON(data []byte) (err error)

type EntityTrustTrusteesIndividual

type EntityTrustTrusteesIndividual struct {
	// The person's address.
	Address EntityTrustTrusteesIndividualAddress `json:"address,required"`
	// The person's date of birth in YYYY-MM-DD format.
	DateOfBirth time.Time `json:"date_of_birth,required" format:"date"`
	// A means of verifying the person's identity.
	Identification EntityTrustTrusteesIndividualIdentification `json:"identification,required"`
	// The person's legal name.
	Name string                            `json:"name,required"`
	JSON entityTrustTrusteesIndividualJSON `json:"-"`
}

The individual trustee of the trust. Will be present if the trustee's `structure` is equal to `individual`.

func (*EntityTrustTrusteesIndividual) UnmarshalJSON

func (r *EntityTrustTrusteesIndividual) UnmarshalJSON(data []byte) (err error)

type EntityTrustTrusteesIndividualAddress

type EntityTrustTrusteesIndividualAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string `json:"state,required"`
	// The ZIP code of the address.
	Zip  string                                   `json:"zip,required"`
	JSON entityTrustTrusteesIndividualAddressJSON `json:"-"`
}

The person's address.

func (*EntityTrustTrusteesIndividualAddress) UnmarshalJSON

func (r *EntityTrustTrusteesIndividualAddress) UnmarshalJSON(data []byte) (err error)

type EntityTrustTrusteesIndividualIdentification

type EntityTrustTrusteesIndividualIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method EntityTrustTrusteesIndividualIdentificationMethod `json:"method,required"`
	// The last 4 digits of the identification number that can be used to verify the
	// individual's identity.
	NumberLast4 string                                          `json:"number_last4,required"`
	JSON        entityTrustTrusteesIndividualIdentificationJSON `json:"-"`
}

A means of verifying the person's identity.

func (*EntityTrustTrusteesIndividualIdentification) UnmarshalJSON

func (r *EntityTrustTrusteesIndividualIdentification) UnmarshalJSON(data []byte) (err error)

type EntityTrustTrusteesIndividualIdentificationMethod

type EntityTrustTrusteesIndividualIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	EntityTrustTrusteesIndividualIdentificationMethodSocialSecurityNumber                   EntityTrustTrusteesIndividualIdentificationMethod = "social_security_number"
	EntityTrustTrusteesIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityTrustTrusteesIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	EntityTrustTrusteesIndividualIdentificationMethodPassport                               EntityTrustTrusteesIndividualIdentificationMethod = "passport"
	EntityTrustTrusteesIndividualIdentificationMethodDriversLicense                         EntityTrustTrusteesIndividualIdentificationMethod = "drivers_license"
	EntityTrustTrusteesIndividualIdentificationMethodOther                                  EntityTrustTrusteesIndividualIdentificationMethod = "other"
)

func (EntityTrustTrusteesIndividualIdentificationMethod) IsKnown

type EntityTrustTrusteesStructure

type EntityTrustTrusteesStructure string

The structure of the trustee. Will always be equal to `individual`.

const (
	EntityTrustTrusteesStructureIndividual EntityTrustTrusteesStructure = "individual"
)

func (EntityTrustTrusteesStructure) IsKnown

func (r EntityTrustTrusteesStructure) IsKnown() bool

type EntityType

type EntityType string

A constant representing the object's type. For this resource it will always be `entity`.

const (
	EntityTypeEntity EntityType = "entity"
)

func (EntityType) IsKnown

func (r EntityType) IsKnown() bool

type EntityUpdateAddressParams

type EntityUpdateAddressParams struct {
	// The entity's physical address. Mail receiving locations like PO Boxes and PMB's
	// are disallowed.
	Address param.Field[EntityUpdateAddressParamsAddress] `json:"address,required"`
}

func (EntityUpdateAddressParams) MarshalJSON

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

type EntityUpdateAddressParamsAddress

type EntityUpdateAddressParamsAddress struct {
	// The city of the address.
	City param.Field[string] `json:"city,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State param.Field[string] `json:"state,required"`
	// The ZIP code of the address.
	Zip param.Field[string] `json:"zip,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
}

The entity's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityUpdateAddressParamsAddress) MarshalJSON

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

type EntityUpdateBeneficialOwnerAddressParams

type EntityUpdateBeneficialOwnerAddressParams struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityUpdateBeneficialOwnerAddressParamsAddress] `json:"address,required"`
	// The identifying details of anyone controlling or owning 25% or more of the
	// corporation.
	BeneficialOwnerID param.Field[string] `json:"beneficial_owner_id,required"`
}

func (EntityUpdateBeneficialOwnerAddressParams) MarshalJSON

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

type EntityUpdateBeneficialOwnerAddressParamsAddress

type EntityUpdateBeneficialOwnerAddressParamsAddress struct {
	// The two-letter ISO 3166-1 alpha-2 code for the country of the address.
	Country param.Field[string] `json:"country,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The city, district, town, or village of the address. Required in certain
	// countries.
	City param.Field[string] `json:"city"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
	// The two-letter United States Postal Service (USPS) abbreviation for the US
	// state, province, or region of the address. Required in certain countries.
	State param.Field[string] `json:"state"`
	// The ZIP or postal code of the address. Required in certain countries.
	Zip param.Field[string] `json:"zip"`
}

The individual's physical address. Mail receiving locations like PO Boxes and PMB's are disallowed.

func (EntityUpdateBeneficialOwnerAddressParamsAddress) MarshalJSON

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

type EntityUpdateIndustryCodeParams

type EntityUpdateIndustryCodeParams struct {
	// The North American Industry Classification System (NAICS) code for the
	// corporation's primary line of business. This is a number, like `5132` for
	// `Software Publishers`. A full list of classification codes is available
	// [here](https://increase.com/documentation/data-dictionary#north-american-industry-classification-system-codes).
	IndustryCode param.Field[string] `json:"industry_code,required"`
}

func (EntityUpdateIndustryCodeParams) MarshalJSON

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

type Error

type Error = apierror.Error

type ErrorReason

type ErrorReason = apierror.ErrorReason

type ErrorStatus

type ErrorStatus = apierror.ErrorStatus

type ErrorType

type ErrorType = apierror.ErrorType

type Event

type Event struct {
	// The Event identifier.
	ID string `json:"id,required"`
	// The identifier of the object that generated this Event.
	AssociatedObjectID string `json:"associated_object_id,required"`
	// The type of the object that generated this Event.
	AssociatedObjectType string `json:"associated_object_type,required"`
	// The category of the Event. We may add additional possible values for this enum
	// over time; your application should be able to handle such additions gracefully.
	Category EventCategory `json:"category,required"`
	// The time the Event was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A constant representing the object's type. For this resource it will always be
	// `event`.
	Type EventType `json:"type,required"`
	JSON eventJSON `json:"-"`
}

Events are records of things that happened to objects at Increase. Events are accessible via the List Events endpoint and can be delivered to your application via webhooks. For more information, see our [webhooks guide](https://increase.com/documentation/webhooks).

func (*Event) UnmarshalJSON

func (r *Event) UnmarshalJSON(data []byte) (err error)

type EventCategory

type EventCategory string

The category of the Event. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.

const (
	EventCategoryAccountCreated                                       EventCategory = "account.created"
	EventCategoryAccountUpdated                                       EventCategory = "account.updated"
	EventCategoryAccountNumberCreated                                 EventCategory = "account_number.created"
	EventCategoryAccountNumberUpdated                                 EventCategory = "account_number.updated"
	EventCategoryAccountStatementCreated                              EventCategory = "account_statement.created"
	EventCategoryAccountTransferCreated                               EventCategory = "account_transfer.created"
	EventCategoryAccountTransferUpdated                               EventCategory = "account_transfer.updated"
	EventCategoryACHPrenotificationCreated                            EventCategory = "ach_prenotification.created"
	EventCategoryACHPrenotificationUpdated                            EventCategory = "ach_prenotification.updated"
	EventCategoryACHTransferCreated                                   EventCategory = "ach_transfer.created"
	EventCategoryACHTransferUpdated                                   EventCategory = "ach_transfer.updated"
	EventCategoryBookkeepingAccountCreated                            EventCategory = "bookkeeping_account.created"
	EventCategoryBookkeepingAccountUpdated                            EventCategory = "bookkeeping_account.updated"
	EventCategoryBookkeepingEntrySetUpdated                           EventCategory = "bookkeeping_entry_set.updated"
	EventCategoryCardCreated                                          EventCategory = "card.created"
	EventCategoryCardUpdated                                          EventCategory = "card.updated"
	EventCategoryCardPaymentCreated                                   EventCategory = "card_payment.created"
	EventCategoryCardPaymentUpdated                                   EventCategory = "card_payment.updated"
	EventCategoryCardProfileCreated                                   EventCategory = "card_profile.created"
	EventCategoryCardProfileUpdated                                   EventCategory = "card_profile.updated"
	EventCategoryCardDisputeCreated                                   EventCategory = "card_dispute.created"
	EventCategoryCardDisputeUpdated                                   EventCategory = "card_dispute.updated"
	EventCategoryCheckDepositCreated                                  EventCategory = "check_deposit.created"
	EventCategoryCheckDepositUpdated                                  EventCategory = "check_deposit.updated"
	EventCategoryCheckTransferCreated                                 EventCategory = "check_transfer.created"
	EventCategoryCheckTransferUpdated                                 EventCategory = "check_transfer.updated"
	EventCategoryDeclinedTransactionCreated                           EventCategory = "declined_transaction.created"
	EventCategoryDigitalCardProfileCreated                            EventCategory = "digital_card_profile.created"
	EventCategoryDigitalCardProfileUpdated                            EventCategory = "digital_card_profile.updated"
	EventCategoryDigitalWalletTokenCreated                            EventCategory = "digital_wallet_token.created"
	EventCategoryDigitalWalletTokenUpdated                            EventCategory = "digital_wallet_token.updated"
	EventCategoryDocumentCreated                                      EventCategory = "document.created"
	EventCategoryEntityCreated                                        EventCategory = "entity.created"
	EventCategoryEntityUpdated                                        EventCategory = "entity.updated"
	EventCategoryEventSubscriptionCreated                             EventCategory = "event_subscription.created"
	EventCategoryEventSubscriptionUpdated                             EventCategory = "event_subscription.updated"
	EventCategoryExportCreated                                        EventCategory = "export.created"
	EventCategoryExportUpdated                                        EventCategory = "export.updated"
	EventCategoryExternalAccountCreated                               EventCategory = "external_account.created"
	EventCategoryExternalAccountUpdated                               EventCategory = "external_account.updated"
	EventCategoryFileCreated                                          EventCategory = "file.created"
	EventCategoryGroupUpdated                                         EventCategory = "group.updated"
	EventCategoryGroupHeartbeat                                       EventCategory = "group.heartbeat"
	EventCategoryInboundACHTransferCreated                            EventCategory = "inbound_ach_transfer.created"
	EventCategoryInboundACHTransferUpdated                            EventCategory = "inbound_ach_transfer.updated"
	EventCategoryInboundACHTransferReturnCreated                      EventCategory = "inbound_ach_transfer_return.created"
	EventCategoryInboundACHTransferReturnUpdated                      EventCategory = "inbound_ach_transfer_return.updated"
	EventCategoryInboundCheckDepositCreated                           EventCategory = "inbound_check_deposit.created"
	EventCategoryInboundCheckDepositUpdated                           EventCategory = "inbound_check_deposit.updated"
	EventCategoryInboundMailItemCreated                               EventCategory = "inbound_mail_item.created"
	EventCategoryInboundMailItemUpdated                               EventCategory = "inbound_mail_item.updated"
	EventCategoryInboundRealTimePaymentsTransferCreated               EventCategory = "inbound_real_time_payments_transfer.created"
	EventCategoryInboundRealTimePaymentsTransferUpdated               EventCategory = "inbound_real_time_payments_transfer.updated"
	EventCategoryInboundWireDrawdownRequestCreated                    EventCategory = "inbound_wire_drawdown_request.created"
	EventCategoryInboundWireTransferCreated                           EventCategory = "inbound_wire_transfer.created"
	EventCategoryInboundWireTransferUpdated                           EventCategory = "inbound_wire_transfer.updated"
	EventCategoryIntrafiAccountEnrollmentCreated                      EventCategory = "intrafi_account_enrollment.created"
	EventCategoryIntrafiAccountEnrollmentUpdated                      EventCategory = "intrafi_account_enrollment.updated"
	EventCategoryIntrafiExclusionCreated                              EventCategory = "intrafi_exclusion.created"
	EventCategoryIntrafiExclusionUpdated                              EventCategory = "intrafi_exclusion.updated"
	EventCategoryLockboxCreated                                       EventCategory = "lockbox.created"
	EventCategoryLockboxUpdated                                       EventCategory = "lockbox.updated"
	EventCategoryOAuthConnectionCreated                               EventCategory = "oauth_connection.created"
	EventCategoryOAuthConnectionDeactivated                           EventCategory = "oauth_connection.deactivated"
	EventCategoryOutboundCardPushTransferCreated                      EventCategory = "outbound_card_push_transfer.created"
	EventCategoryOutboundCardPushTransferUpdated                      EventCategory = "outbound_card_push_transfer.updated"
	EventCategoryOutboundCardValidationCreated                        EventCategory = "outbound_card_validation.created"
	EventCategoryOutboundCardValidationUpdated                        EventCategory = "outbound_card_validation.updated"
	EventCategoryCardPushTransferCreated                              EventCategory = "card_push_transfer.created"
	EventCategoryCardPushTransferUpdated                              EventCategory = "card_push_transfer.updated"
	EventCategoryCardValidationCreated                                EventCategory = "card_validation.created"
	EventCategoryCardValidationUpdated                                EventCategory = "card_validation.updated"
	EventCategoryPendingTransactionCreated                            EventCategory = "pending_transaction.created"
	EventCategoryPendingTransactionUpdated                            EventCategory = "pending_transaction.updated"
	EventCategoryPhysicalCardCreated                                  EventCategory = "physical_card.created"
	EventCategoryPhysicalCardUpdated                                  EventCategory = "physical_card.updated"
	EventCategoryPhysicalCardProfileCreated                           EventCategory = "physical_card_profile.created"
	EventCategoryPhysicalCardProfileUpdated                           EventCategory = "physical_card_profile.updated"
	EventCategoryProgramCreated                                       EventCategory = "program.created"
	EventCategoryProgramUpdated                                       EventCategory = "program.updated"
	EventCategoryProofOfAuthorizationRequestCreated                   EventCategory = "proof_of_authorization_request.created"
	EventCategoryProofOfAuthorizationRequestUpdated                   EventCategory = "proof_of_authorization_request.updated"
	EventCategoryRealTimeDecisionCardAuthorizationRequested           EventCategory = "real_time_decision.card_authorization_requested"
	EventCategoryRealTimeDecisionDigitalWalletTokenRequested          EventCategory = "real_time_decision.digital_wallet_token_requested"
	EventCategoryRealTimeDecisionDigitalWalletAuthenticationRequested EventCategory = "real_time_decision.digital_wallet_authentication_requested"
	EventCategoryRealTimeDecisionCardAuthenticationRequested          EventCategory = "real_time_decision.card_authentication_requested"
	EventCategoryRealTimeDecisionCardAuthenticationChallengeRequested EventCategory = "real_time_decision.card_authentication_challenge_requested"
	EventCategoryRealTimePaymentsTransferCreated                      EventCategory = "real_time_payments_transfer.created"
	EventCategoryRealTimePaymentsTransferUpdated                      EventCategory = "real_time_payments_transfer.updated"
	EventCategoryRealTimePaymentsRequestForPaymentCreated             EventCategory = "real_time_payments_request_for_payment.created"
	EventCategoryRealTimePaymentsRequestForPaymentUpdated             EventCategory = "real_time_payments_request_for_payment.updated"
	EventCategorySwiftTransferCreated                                 EventCategory = "swift_transfer.created"
	EventCategorySwiftTransferUpdated                                 EventCategory = "swift_transfer.updated"
	EventCategoryTransactionCreated                                   EventCategory = "transaction.created"
	EventCategoryWireDrawdownRequestCreated                           EventCategory = "wire_drawdown_request.created"
	EventCategoryWireDrawdownRequestUpdated                           EventCategory = "wire_drawdown_request.updated"
	EventCategoryWireTransferCreated                                  EventCategory = "wire_transfer.created"
	EventCategoryWireTransferUpdated                                  EventCategory = "wire_transfer.updated"
)

func (EventCategory) IsKnown

func (r EventCategory) IsKnown() bool

type EventListParams

type EventListParams struct {
	// Filter Events to those belonging to the object with the provided identifier.
	AssociatedObjectID param.Field[string]                   `query:"associated_object_id"`
	Category           param.Field[EventListParamsCategory]  `query:"category"`
	CreatedAt          param.Field[EventListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (EventListParams) URLQuery

func (r EventListParams) URLQuery() (v url.Values)

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

type EventListParamsCategory

type EventListParamsCategory struct {
	// Filter Events for those with the specified category or categories. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]EventListParamsCategoryIn] `query:"in"`
}

func (EventListParamsCategory) URLQuery

func (r EventListParamsCategory) URLQuery() (v url.Values)

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

type EventListParamsCategoryIn

type EventListParamsCategoryIn string
const (
	EventListParamsCategoryInAccountCreated                                       EventListParamsCategoryIn = "account.created"
	EventListParamsCategoryInAccountUpdated                                       EventListParamsCategoryIn = "account.updated"
	EventListParamsCategoryInAccountNumberCreated                                 EventListParamsCategoryIn = "account_number.created"
	EventListParamsCategoryInAccountNumberUpdated                                 EventListParamsCategoryIn = "account_number.updated"
	EventListParamsCategoryInAccountStatementCreated                              EventListParamsCategoryIn = "account_statement.created"
	EventListParamsCategoryInAccountTransferCreated                               EventListParamsCategoryIn = "account_transfer.created"
	EventListParamsCategoryInAccountTransferUpdated                               EventListParamsCategoryIn = "account_transfer.updated"
	EventListParamsCategoryInACHPrenotificationCreated                            EventListParamsCategoryIn = "ach_prenotification.created"
	EventListParamsCategoryInACHPrenotificationUpdated                            EventListParamsCategoryIn = "ach_prenotification.updated"
	EventListParamsCategoryInACHTransferCreated                                   EventListParamsCategoryIn = "ach_transfer.created"
	EventListParamsCategoryInACHTransferUpdated                                   EventListParamsCategoryIn = "ach_transfer.updated"
	EventListParamsCategoryInBookkeepingAccountCreated                            EventListParamsCategoryIn = "bookkeeping_account.created"
	EventListParamsCategoryInBookkeepingAccountUpdated                            EventListParamsCategoryIn = "bookkeeping_account.updated"
	EventListParamsCategoryInBookkeepingEntrySetUpdated                           EventListParamsCategoryIn = "bookkeeping_entry_set.updated"
	EventListParamsCategoryInCardCreated                                          EventListParamsCategoryIn = "card.created"
	EventListParamsCategoryInCardUpdated                                          EventListParamsCategoryIn = "card.updated"
	EventListParamsCategoryInCardPaymentCreated                                   EventListParamsCategoryIn = "card_payment.created"
	EventListParamsCategoryInCardPaymentUpdated                                   EventListParamsCategoryIn = "card_payment.updated"
	EventListParamsCategoryInCardProfileCreated                                   EventListParamsCategoryIn = "card_profile.created"
	EventListParamsCategoryInCardProfileUpdated                                   EventListParamsCategoryIn = "card_profile.updated"
	EventListParamsCategoryInCardDisputeCreated                                   EventListParamsCategoryIn = "card_dispute.created"
	EventListParamsCategoryInCardDisputeUpdated                                   EventListParamsCategoryIn = "card_dispute.updated"
	EventListParamsCategoryInCheckDepositCreated                                  EventListParamsCategoryIn = "check_deposit.created"
	EventListParamsCategoryInCheckDepositUpdated                                  EventListParamsCategoryIn = "check_deposit.updated"
	EventListParamsCategoryInCheckTransferCreated                                 EventListParamsCategoryIn = "check_transfer.created"
	EventListParamsCategoryInCheckTransferUpdated                                 EventListParamsCategoryIn = "check_transfer.updated"
	EventListParamsCategoryInDeclinedTransactionCreated                           EventListParamsCategoryIn = "declined_transaction.created"
	EventListParamsCategoryInDigitalCardProfileCreated                            EventListParamsCategoryIn = "digital_card_profile.created"
	EventListParamsCategoryInDigitalCardProfileUpdated                            EventListParamsCategoryIn = "digital_card_profile.updated"
	EventListParamsCategoryInDigitalWalletTokenCreated                            EventListParamsCategoryIn = "digital_wallet_token.created"
	EventListParamsCategoryInDigitalWalletTokenUpdated                            EventListParamsCategoryIn = "digital_wallet_token.updated"
	EventListParamsCategoryInDocumentCreated                                      EventListParamsCategoryIn = "document.created"
	EventListParamsCategoryInEntityCreated                                        EventListParamsCategoryIn = "entity.created"
	EventListParamsCategoryInEntityUpdated                                        EventListParamsCategoryIn = "entity.updated"
	EventListParamsCategoryInEventSubscriptionCreated                             EventListParamsCategoryIn = "event_subscription.created"
	EventListParamsCategoryInEventSubscriptionUpdated                             EventListParamsCategoryIn = "event_subscription.updated"
	EventListParamsCategoryInExportCreated                                        EventListParamsCategoryIn = "export.created"
	EventListParamsCategoryInExportUpdated                                        EventListParamsCategoryIn = "export.updated"
	EventListParamsCategoryInExternalAccountCreated                               EventListParamsCategoryIn = "external_account.created"
	EventListParamsCategoryInExternalAccountUpdated                               EventListParamsCategoryIn = "external_account.updated"
	EventListParamsCategoryInFileCreated                                          EventListParamsCategoryIn = "file.created"
	EventListParamsCategoryInGroupUpdated                                         EventListParamsCategoryIn = "group.updated"
	EventListParamsCategoryInGroupHeartbeat                                       EventListParamsCategoryIn = "group.heartbeat"
	EventListParamsCategoryInInboundACHTransferCreated                            EventListParamsCategoryIn = "inbound_ach_transfer.created"
	EventListParamsCategoryInInboundACHTransferUpdated                            EventListParamsCategoryIn = "inbound_ach_transfer.updated"
	EventListParamsCategoryInInboundACHTransferReturnCreated                      EventListParamsCategoryIn = "inbound_ach_transfer_return.created"
	EventListParamsCategoryInInboundACHTransferReturnUpdated                      EventListParamsCategoryIn = "inbound_ach_transfer_return.updated"
	EventListParamsCategoryInInboundCheckDepositCreated                           EventListParamsCategoryIn = "inbound_check_deposit.created"
	EventListParamsCategoryInInboundCheckDepositUpdated                           EventListParamsCategoryIn = "inbound_check_deposit.updated"
	EventListParamsCategoryInInboundMailItemCreated                               EventListParamsCategoryIn = "inbound_mail_item.created"
	EventListParamsCategoryInInboundMailItemUpdated                               EventListParamsCategoryIn = "inbound_mail_item.updated"
	EventListParamsCategoryInInboundRealTimePaymentsTransferCreated               EventListParamsCategoryIn = "inbound_real_time_payments_transfer.created"
	EventListParamsCategoryInInboundRealTimePaymentsTransferUpdated               EventListParamsCategoryIn = "inbound_real_time_payments_transfer.updated"
	EventListParamsCategoryInInboundWireDrawdownRequestCreated                    EventListParamsCategoryIn = "inbound_wire_drawdown_request.created"
	EventListParamsCategoryInInboundWireTransferCreated                           EventListParamsCategoryIn = "inbound_wire_transfer.created"
	EventListParamsCategoryInInboundWireTransferUpdated                           EventListParamsCategoryIn = "inbound_wire_transfer.updated"
	EventListParamsCategoryInIntrafiAccountEnrollmentCreated                      EventListParamsCategoryIn = "intrafi_account_enrollment.created"
	EventListParamsCategoryInIntrafiAccountEnrollmentUpdated                      EventListParamsCategoryIn = "intrafi_account_enrollment.updated"
	EventListParamsCategoryInIntrafiExclusionCreated                              EventListParamsCategoryIn = "intrafi_exclusion.created"
	EventListParamsCategoryInIntrafiExclusionUpdated                              EventListParamsCategoryIn = "intrafi_exclusion.updated"
	EventListParamsCategoryInLockboxCreated                                       EventListParamsCategoryIn = "lockbox.created"
	EventListParamsCategoryInLockboxUpdated                                       EventListParamsCategoryIn = "lockbox.updated"
	EventListParamsCategoryInOAuthConnectionCreated                               EventListParamsCategoryIn = "oauth_connection.created"
	EventListParamsCategoryInOAuthConnectionDeactivated                           EventListParamsCategoryIn = "oauth_connection.deactivated"
	EventListParamsCategoryInOutboundCardPushTransferCreated                      EventListParamsCategoryIn = "outbound_card_push_transfer.created"
	EventListParamsCategoryInOutboundCardPushTransferUpdated                      EventListParamsCategoryIn = "outbound_card_push_transfer.updated"
	EventListParamsCategoryInOutboundCardValidationCreated                        EventListParamsCategoryIn = "outbound_card_validation.created"
	EventListParamsCategoryInOutboundCardValidationUpdated                        EventListParamsCategoryIn = "outbound_card_validation.updated"
	EventListParamsCategoryInCardPushTransferCreated                              EventListParamsCategoryIn = "card_push_transfer.created"
	EventListParamsCategoryInCardPushTransferUpdated                              EventListParamsCategoryIn = "card_push_transfer.updated"
	EventListParamsCategoryInCardValidationCreated                                EventListParamsCategoryIn = "card_validation.created"
	EventListParamsCategoryInCardValidationUpdated                                EventListParamsCategoryIn = "card_validation.updated"
	EventListParamsCategoryInPendingTransactionCreated                            EventListParamsCategoryIn = "pending_transaction.created"
	EventListParamsCategoryInPendingTransactionUpdated                            EventListParamsCategoryIn = "pending_transaction.updated"
	EventListParamsCategoryInPhysicalCardCreated                                  EventListParamsCategoryIn = "physical_card.created"
	EventListParamsCategoryInPhysicalCardUpdated                                  EventListParamsCategoryIn = "physical_card.updated"
	EventListParamsCategoryInPhysicalCardProfileCreated                           EventListParamsCategoryIn = "physical_card_profile.created"
	EventListParamsCategoryInPhysicalCardProfileUpdated                           EventListParamsCategoryIn = "physical_card_profile.updated"
	EventListParamsCategoryInProgramCreated                                       EventListParamsCategoryIn = "program.created"
	EventListParamsCategoryInProgramUpdated                                       EventListParamsCategoryIn = "program.updated"
	EventListParamsCategoryInProofOfAuthorizationRequestCreated                   EventListParamsCategoryIn = "proof_of_authorization_request.created"
	EventListParamsCategoryInProofOfAuthorizationRequestUpdated                   EventListParamsCategoryIn = "proof_of_authorization_request.updated"
	EventListParamsCategoryInRealTimeDecisionCardAuthorizationRequested           EventListParamsCategoryIn = "real_time_decision.card_authorization_requested"
	EventListParamsCategoryInRealTimeDecisionDigitalWalletTokenRequested          EventListParamsCategoryIn = "real_time_decision.digital_wallet_token_requested"
	EventListParamsCategoryInRealTimeDecisionDigitalWalletAuthenticationRequested EventListParamsCategoryIn = "real_time_decision.digital_wallet_authentication_requested"
	EventListParamsCategoryInRealTimeDecisionCardAuthenticationRequested          EventListParamsCategoryIn = "real_time_decision.card_authentication_requested"
	EventListParamsCategoryInRealTimeDecisionCardAuthenticationChallengeRequested EventListParamsCategoryIn = "real_time_decision.card_authentication_challenge_requested"
	EventListParamsCategoryInRealTimePaymentsTransferCreated                      EventListParamsCategoryIn = "real_time_payments_transfer.created"
	EventListParamsCategoryInRealTimePaymentsTransferUpdated                      EventListParamsCategoryIn = "real_time_payments_transfer.updated"
	EventListParamsCategoryInRealTimePaymentsRequestForPaymentCreated             EventListParamsCategoryIn = "real_time_payments_request_for_payment.created"
	EventListParamsCategoryInRealTimePaymentsRequestForPaymentUpdated             EventListParamsCategoryIn = "real_time_payments_request_for_payment.updated"
	EventListParamsCategoryInSwiftTransferCreated                                 EventListParamsCategoryIn = "swift_transfer.created"
	EventListParamsCategoryInSwiftTransferUpdated                                 EventListParamsCategoryIn = "swift_transfer.updated"
	EventListParamsCategoryInTransactionCreated                                   EventListParamsCategoryIn = "transaction.created"
	EventListParamsCategoryInWireDrawdownRequestCreated                           EventListParamsCategoryIn = "wire_drawdown_request.created"
	EventListParamsCategoryInWireDrawdownRequestUpdated                           EventListParamsCategoryIn = "wire_drawdown_request.updated"
	EventListParamsCategoryInWireTransferCreated                                  EventListParamsCategoryIn = "wire_transfer.created"
	EventListParamsCategoryInWireTransferUpdated                                  EventListParamsCategoryIn = "wire_transfer.updated"
)

func (EventListParamsCategoryIn) IsKnown

func (r EventListParamsCategoryIn) IsKnown() bool

type EventListParamsCreatedAt

type EventListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (EventListParamsCreatedAt) URLQuery

func (r EventListParamsCreatedAt) URLQuery() (v url.Values)

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

type EventService

type EventService struct {
	Options []option.RequestOption
}

EventService contains methods and other services that help with interacting with the increase 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 NewEventService method instead.

func NewEventService

func NewEventService(opts ...option.RequestOption) (r *EventService)

NewEventService 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 (*EventService) Get

func (r *EventService) Get(ctx context.Context, eventID string, opts ...option.RequestOption) (res *Event, err error)

Retrieve an Event

func (*EventService) List

func (r *EventService) List(ctx context.Context, query EventListParams, opts ...option.RequestOption) (res *pagination.Page[Event], err error)

List Events

func (*EventService) ListAutoPaging

List Events

type EventSubscription

type EventSubscription struct {
	// The event subscription identifier.
	ID string `json:"id,required"`
	// The time the event subscription was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// If specified, this subscription will only receive webhooks for Events associated
	// with this OAuth Connection.
	OAuthConnectionID string `json:"oauth_connection_id,required,nullable"`
	// If specified, this subscription will only receive webhooks for Events with the
	// specified `category`.
	SelectedEventCategory EventSubscriptionSelectedEventCategory `json:"selected_event_category,required,nullable"`
	// This indicates if we'll send notifications to this subscription.
	Status EventSubscriptionStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `event_subscription`.
	Type EventSubscriptionType `json:"type,required"`
	// The webhook url where we'll send notifications.
	URL  string                `json:"url,required"`
	JSON eventSubscriptionJSON `json:"-"`
}

Webhooks are event notifications we send to you by HTTPS POST requests. Event Subscriptions are how you configure your application to listen for them. You can create an Event Subscription through your [developer dashboard](https://dashboard.increase.com/developers/webhooks) or the API. For more information, see our [webhooks guide](https://increase.com/documentation/webhooks).

func (*EventSubscription) UnmarshalJSON

func (r *EventSubscription) UnmarshalJSON(data []byte) (err error)

type EventSubscriptionListParams

type EventSubscriptionListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (EventSubscriptionListParams) URLQuery

func (r EventSubscriptionListParams) URLQuery() (v url.Values)

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

type EventSubscriptionNewParams

type EventSubscriptionNewParams struct {
	// The URL you'd like us to send webhooks to.
	URL param.Field[string] `json:"url,required"`
	// If specified, this subscription will only receive webhooks for Events associated
	// with the specified OAuth Connection.
	OAuthConnectionID param.Field[string] `json:"oauth_connection_id"`
	// If specified, this subscription will only receive webhooks for Events with the
	// specified `category`.
	SelectedEventCategory param.Field[EventSubscriptionNewParamsSelectedEventCategory] `json:"selected_event_category"`
	// The key that will be used to sign webhooks. If no value is passed, a random
	// string will be used as default.
	SharedSecret param.Field[string] `json:"shared_secret"`
}

func (EventSubscriptionNewParams) MarshalJSON

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

type EventSubscriptionNewParamsSelectedEventCategory

type EventSubscriptionNewParamsSelectedEventCategory string

If specified, this subscription will only receive webhooks for Events with the specified `category`.

const (
	EventSubscriptionNewParamsSelectedEventCategoryAccountCreated                                       EventSubscriptionNewParamsSelectedEventCategory = "account.created"
	EventSubscriptionNewParamsSelectedEventCategoryAccountUpdated                                       EventSubscriptionNewParamsSelectedEventCategory = "account.updated"
	EventSubscriptionNewParamsSelectedEventCategoryAccountNumberCreated                                 EventSubscriptionNewParamsSelectedEventCategory = "account_number.created"
	EventSubscriptionNewParamsSelectedEventCategoryAccountNumberUpdated                                 EventSubscriptionNewParamsSelectedEventCategory = "account_number.updated"
	EventSubscriptionNewParamsSelectedEventCategoryAccountStatementCreated                              EventSubscriptionNewParamsSelectedEventCategory = "account_statement.created"
	EventSubscriptionNewParamsSelectedEventCategoryAccountTransferCreated                               EventSubscriptionNewParamsSelectedEventCategory = "account_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryAccountTransferUpdated                               EventSubscriptionNewParamsSelectedEventCategory = "account_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryACHPrenotificationCreated                            EventSubscriptionNewParamsSelectedEventCategory = "ach_prenotification.created"
	EventSubscriptionNewParamsSelectedEventCategoryACHPrenotificationUpdated                            EventSubscriptionNewParamsSelectedEventCategory = "ach_prenotification.updated"
	EventSubscriptionNewParamsSelectedEventCategoryACHTransferCreated                                   EventSubscriptionNewParamsSelectedEventCategory = "ach_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryACHTransferUpdated                                   EventSubscriptionNewParamsSelectedEventCategory = "ach_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryBookkeepingAccountCreated                            EventSubscriptionNewParamsSelectedEventCategory = "bookkeeping_account.created"
	EventSubscriptionNewParamsSelectedEventCategoryBookkeepingAccountUpdated                            EventSubscriptionNewParamsSelectedEventCategory = "bookkeeping_account.updated"
	EventSubscriptionNewParamsSelectedEventCategoryBookkeepingEntrySetUpdated                           EventSubscriptionNewParamsSelectedEventCategory = "bookkeeping_entry_set.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCardCreated                                          EventSubscriptionNewParamsSelectedEventCategory = "card.created"
	EventSubscriptionNewParamsSelectedEventCategoryCardUpdated                                          EventSubscriptionNewParamsSelectedEventCategory = "card.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCardPaymentCreated                                   EventSubscriptionNewParamsSelectedEventCategory = "card_payment.created"
	EventSubscriptionNewParamsSelectedEventCategoryCardPaymentUpdated                                   EventSubscriptionNewParamsSelectedEventCategory = "card_payment.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCardProfileCreated                                   EventSubscriptionNewParamsSelectedEventCategory = "card_profile.created"
	EventSubscriptionNewParamsSelectedEventCategoryCardProfileUpdated                                   EventSubscriptionNewParamsSelectedEventCategory = "card_profile.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCardDisputeCreated                                   EventSubscriptionNewParamsSelectedEventCategory = "card_dispute.created"
	EventSubscriptionNewParamsSelectedEventCategoryCardDisputeUpdated                                   EventSubscriptionNewParamsSelectedEventCategory = "card_dispute.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCheckDepositCreated                                  EventSubscriptionNewParamsSelectedEventCategory = "check_deposit.created"
	EventSubscriptionNewParamsSelectedEventCategoryCheckDepositUpdated                                  EventSubscriptionNewParamsSelectedEventCategory = "check_deposit.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCheckTransferCreated                                 EventSubscriptionNewParamsSelectedEventCategory = "check_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryCheckTransferUpdated                                 EventSubscriptionNewParamsSelectedEventCategory = "check_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryDeclinedTransactionCreated                           EventSubscriptionNewParamsSelectedEventCategory = "declined_transaction.created"
	EventSubscriptionNewParamsSelectedEventCategoryDigitalCardProfileCreated                            EventSubscriptionNewParamsSelectedEventCategory = "digital_card_profile.created"
	EventSubscriptionNewParamsSelectedEventCategoryDigitalCardProfileUpdated                            EventSubscriptionNewParamsSelectedEventCategory = "digital_card_profile.updated"
	EventSubscriptionNewParamsSelectedEventCategoryDigitalWalletTokenCreated                            EventSubscriptionNewParamsSelectedEventCategory = "digital_wallet_token.created"
	EventSubscriptionNewParamsSelectedEventCategoryDigitalWalletTokenUpdated                            EventSubscriptionNewParamsSelectedEventCategory = "digital_wallet_token.updated"
	EventSubscriptionNewParamsSelectedEventCategoryDocumentCreated                                      EventSubscriptionNewParamsSelectedEventCategory = "document.created"
	EventSubscriptionNewParamsSelectedEventCategoryEntityCreated                                        EventSubscriptionNewParamsSelectedEventCategory = "entity.created"
	EventSubscriptionNewParamsSelectedEventCategoryEntityUpdated                                        EventSubscriptionNewParamsSelectedEventCategory = "entity.updated"
	EventSubscriptionNewParamsSelectedEventCategoryEventSubscriptionCreated                             EventSubscriptionNewParamsSelectedEventCategory = "event_subscription.created"
	EventSubscriptionNewParamsSelectedEventCategoryEventSubscriptionUpdated                             EventSubscriptionNewParamsSelectedEventCategory = "event_subscription.updated"
	EventSubscriptionNewParamsSelectedEventCategoryExportCreated                                        EventSubscriptionNewParamsSelectedEventCategory = "export.created"
	EventSubscriptionNewParamsSelectedEventCategoryExportUpdated                                        EventSubscriptionNewParamsSelectedEventCategory = "export.updated"
	EventSubscriptionNewParamsSelectedEventCategoryExternalAccountCreated                               EventSubscriptionNewParamsSelectedEventCategory = "external_account.created"
	EventSubscriptionNewParamsSelectedEventCategoryExternalAccountUpdated                               EventSubscriptionNewParamsSelectedEventCategory = "external_account.updated"
	EventSubscriptionNewParamsSelectedEventCategoryFileCreated                                          EventSubscriptionNewParamsSelectedEventCategory = "file.created"
	EventSubscriptionNewParamsSelectedEventCategoryGroupUpdated                                         EventSubscriptionNewParamsSelectedEventCategory = "group.updated"
	EventSubscriptionNewParamsSelectedEventCategoryGroupHeartbeat                                       EventSubscriptionNewParamsSelectedEventCategory = "group.heartbeat"
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferCreated                            EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferUpdated                            EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferReturnCreated                      EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer_return.created"
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferReturnUpdated                      EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer_return.updated"
	EventSubscriptionNewParamsSelectedEventCategoryInboundCheckDepositCreated                           EventSubscriptionNewParamsSelectedEventCategory = "inbound_check_deposit.created"
	EventSubscriptionNewParamsSelectedEventCategoryInboundCheckDepositUpdated                           EventSubscriptionNewParamsSelectedEventCategory = "inbound_check_deposit.updated"
	EventSubscriptionNewParamsSelectedEventCategoryInboundMailItemCreated                               EventSubscriptionNewParamsSelectedEventCategory = "inbound_mail_item.created"
	EventSubscriptionNewParamsSelectedEventCategoryInboundMailItemUpdated                               EventSubscriptionNewParamsSelectedEventCategory = "inbound_mail_item.updated"
	EventSubscriptionNewParamsSelectedEventCategoryInboundRealTimePaymentsTransferCreated               EventSubscriptionNewParamsSelectedEventCategory = "inbound_real_time_payments_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryInboundRealTimePaymentsTransferUpdated               EventSubscriptionNewParamsSelectedEventCategory = "inbound_real_time_payments_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryInboundWireDrawdownRequestCreated                    EventSubscriptionNewParamsSelectedEventCategory = "inbound_wire_drawdown_request.created"
	EventSubscriptionNewParamsSelectedEventCategoryInboundWireTransferCreated                           EventSubscriptionNewParamsSelectedEventCategory = "inbound_wire_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryInboundWireTransferUpdated                           EventSubscriptionNewParamsSelectedEventCategory = "inbound_wire_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiAccountEnrollmentCreated                      EventSubscriptionNewParamsSelectedEventCategory = "intrafi_account_enrollment.created"
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiAccountEnrollmentUpdated                      EventSubscriptionNewParamsSelectedEventCategory = "intrafi_account_enrollment.updated"
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiExclusionCreated                              EventSubscriptionNewParamsSelectedEventCategory = "intrafi_exclusion.created"
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiExclusionUpdated                              EventSubscriptionNewParamsSelectedEventCategory = "intrafi_exclusion.updated"
	EventSubscriptionNewParamsSelectedEventCategoryLockboxCreated                                       EventSubscriptionNewParamsSelectedEventCategory = "lockbox.created"
	EventSubscriptionNewParamsSelectedEventCategoryLockboxUpdated                                       EventSubscriptionNewParamsSelectedEventCategory = "lockbox.updated"
	EventSubscriptionNewParamsSelectedEventCategoryOAuthConnectionCreated                               EventSubscriptionNewParamsSelectedEventCategory = "oauth_connection.created"
	EventSubscriptionNewParamsSelectedEventCategoryOAuthConnectionDeactivated                           EventSubscriptionNewParamsSelectedEventCategory = "oauth_connection.deactivated"
	EventSubscriptionNewParamsSelectedEventCategoryOutboundCardPushTransferCreated                      EventSubscriptionNewParamsSelectedEventCategory = "outbound_card_push_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryOutboundCardPushTransferUpdated                      EventSubscriptionNewParamsSelectedEventCategory = "outbound_card_push_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryOutboundCardValidationCreated                        EventSubscriptionNewParamsSelectedEventCategory = "outbound_card_validation.created"
	EventSubscriptionNewParamsSelectedEventCategoryOutboundCardValidationUpdated                        EventSubscriptionNewParamsSelectedEventCategory = "outbound_card_validation.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCardPushTransferCreated                              EventSubscriptionNewParamsSelectedEventCategory = "card_push_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryCardPushTransferUpdated                              EventSubscriptionNewParamsSelectedEventCategory = "card_push_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryCardValidationCreated                                EventSubscriptionNewParamsSelectedEventCategory = "card_validation.created"
	EventSubscriptionNewParamsSelectedEventCategoryCardValidationUpdated                                EventSubscriptionNewParamsSelectedEventCategory = "card_validation.updated"
	EventSubscriptionNewParamsSelectedEventCategoryPendingTransactionCreated                            EventSubscriptionNewParamsSelectedEventCategory = "pending_transaction.created"
	EventSubscriptionNewParamsSelectedEventCategoryPendingTransactionUpdated                            EventSubscriptionNewParamsSelectedEventCategory = "pending_transaction.updated"
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardCreated                                  EventSubscriptionNewParamsSelectedEventCategory = "physical_card.created"
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardUpdated                                  EventSubscriptionNewParamsSelectedEventCategory = "physical_card.updated"
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardProfileCreated                           EventSubscriptionNewParamsSelectedEventCategory = "physical_card_profile.created"
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardProfileUpdated                           EventSubscriptionNewParamsSelectedEventCategory = "physical_card_profile.updated"
	EventSubscriptionNewParamsSelectedEventCategoryProgramCreated                                       EventSubscriptionNewParamsSelectedEventCategory = "program.created"
	EventSubscriptionNewParamsSelectedEventCategoryProgramUpdated                                       EventSubscriptionNewParamsSelectedEventCategory = "program.updated"
	EventSubscriptionNewParamsSelectedEventCategoryProofOfAuthorizationRequestCreated                   EventSubscriptionNewParamsSelectedEventCategory = "proof_of_authorization_request.created"
	EventSubscriptionNewParamsSelectedEventCategoryProofOfAuthorizationRequestUpdated                   EventSubscriptionNewParamsSelectedEventCategory = "proof_of_authorization_request.updated"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionCardAuthorizationRequested           EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.card_authorization_requested"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionDigitalWalletTokenRequested          EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.digital_wallet_token_requested"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionDigitalWalletAuthenticationRequested EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.digital_wallet_authentication_requested"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionCardAuthenticationRequested          EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.card_authentication_requested"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionCardAuthenticationChallengeRequested EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.card_authentication_challenge_requested"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsTransferCreated                      EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsTransferUpdated                      EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsRequestForPaymentCreated             EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_request_for_payment.created"
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsRequestForPaymentUpdated             EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_request_for_payment.updated"
	EventSubscriptionNewParamsSelectedEventCategorySwiftTransferCreated                                 EventSubscriptionNewParamsSelectedEventCategory = "swift_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategorySwiftTransferUpdated                                 EventSubscriptionNewParamsSelectedEventCategory = "swift_transfer.updated"
	EventSubscriptionNewParamsSelectedEventCategoryTransactionCreated                                   EventSubscriptionNewParamsSelectedEventCategory = "transaction.created"
	EventSubscriptionNewParamsSelectedEventCategoryWireDrawdownRequestCreated                           EventSubscriptionNewParamsSelectedEventCategory = "wire_drawdown_request.created"
	EventSubscriptionNewParamsSelectedEventCategoryWireDrawdownRequestUpdated                           EventSubscriptionNewParamsSelectedEventCategory = "wire_drawdown_request.updated"
	EventSubscriptionNewParamsSelectedEventCategoryWireTransferCreated                                  EventSubscriptionNewParamsSelectedEventCategory = "wire_transfer.created"
	EventSubscriptionNewParamsSelectedEventCategoryWireTransferUpdated                                  EventSubscriptionNewParamsSelectedEventCategory = "wire_transfer.updated"
)

func (EventSubscriptionNewParamsSelectedEventCategory) IsKnown

type EventSubscriptionSelectedEventCategory

type EventSubscriptionSelectedEventCategory string

If specified, this subscription will only receive webhooks for Events with the specified `category`.

const (
	EventSubscriptionSelectedEventCategoryAccountCreated                                       EventSubscriptionSelectedEventCategory = "account.created"
	EventSubscriptionSelectedEventCategoryAccountUpdated                                       EventSubscriptionSelectedEventCategory = "account.updated"
	EventSubscriptionSelectedEventCategoryAccountNumberCreated                                 EventSubscriptionSelectedEventCategory = "account_number.created"
	EventSubscriptionSelectedEventCategoryAccountNumberUpdated                                 EventSubscriptionSelectedEventCategory = "account_number.updated"
	EventSubscriptionSelectedEventCategoryAccountStatementCreated                              EventSubscriptionSelectedEventCategory = "account_statement.created"
	EventSubscriptionSelectedEventCategoryAccountTransferCreated                               EventSubscriptionSelectedEventCategory = "account_transfer.created"
	EventSubscriptionSelectedEventCategoryAccountTransferUpdated                               EventSubscriptionSelectedEventCategory = "account_transfer.updated"
	EventSubscriptionSelectedEventCategoryACHPrenotificationCreated                            EventSubscriptionSelectedEventCategory = "ach_prenotification.created"
	EventSubscriptionSelectedEventCategoryACHPrenotificationUpdated                            EventSubscriptionSelectedEventCategory = "ach_prenotification.updated"
	EventSubscriptionSelectedEventCategoryACHTransferCreated                                   EventSubscriptionSelectedEventCategory = "ach_transfer.created"
	EventSubscriptionSelectedEventCategoryACHTransferUpdated                                   EventSubscriptionSelectedEventCategory = "ach_transfer.updated"
	EventSubscriptionSelectedEventCategoryBookkeepingAccountCreated                            EventSubscriptionSelectedEventCategory = "bookkeeping_account.created"
	EventSubscriptionSelectedEventCategoryBookkeepingAccountUpdated                            EventSubscriptionSelectedEventCategory = "bookkeeping_account.updated"
	EventSubscriptionSelectedEventCategoryBookkeepingEntrySetUpdated                           EventSubscriptionSelectedEventCategory = "bookkeeping_entry_set.updated"
	EventSubscriptionSelectedEventCategoryCardCreated                                          EventSubscriptionSelectedEventCategory = "card.created"
	EventSubscriptionSelectedEventCategoryCardUpdated                                          EventSubscriptionSelectedEventCategory = "card.updated"
	EventSubscriptionSelectedEventCategoryCardPaymentCreated                                   EventSubscriptionSelectedEventCategory = "card_payment.created"
	EventSubscriptionSelectedEventCategoryCardPaymentUpdated                                   EventSubscriptionSelectedEventCategory = "card_payment.updated"
	EventSubscriptionSelectedEventCategoryCardProfileCreated                                   EventSubscriptionSelectedEventCategory = "card_profile.created"
	EventSubscriptionSelectedEventCategoryCardProfileUpdated                                   EventSubscriptionSelectedEventCategory = "card_profile.updated"
	EventSubscriptionSelectedEventCategoryCardDisputeCreated                                   EventSubscriptionSelectedEventCategory = "card_dispute.created"
	EventSubscriptionSelectedEventCategoryCardDisputeUpdated                                   EventSubscriptionSelectedEventCategory = "card_dispute.updated"
	EventSubscriptionSelectedEventCategoryCheckDepositCreated                                  EventSubscriptionSelectedEventCategory = "check_deposit.created"
	EventSubscriptionSelectedEventCategoryCheckDepositUpdated                                  EventSubscriptionSelectedEventCategory = "check_deposit.updated"
	EventSubscriptionSelectedEventCategoryCheckTransferCreated                                 EventSubscriptionSelectedEventCategory = "check_transfer.created"
	EventSubscriptionSelectedEventCategoryCheckTransferUpdated                                 EventSubscriptionSelectedEventCategory = "check_transfer.updated"
	EventSubscriptionSelectedEventCategoryDeclinedTransactionCreated                           EventSubscriptionSelectedEventCategory = "declined_transaction.created"
	EventSubscriptionSelectedEventCategoryDigitalCardProfileCreated                            EventSubscriptionSelectedEventCategory = "digital_card_profile.created"
	EventSubscriptionSelectedEventCategoryDigitalCardProfileUpdated                            EventSubscriptionSelectedEventCategory = "digital_card_profile.updated"
	EventSubscriptionSelectedEventCategoryDigitalWalletTokenCreated                            EventSubscriptionSelectedEventCategory = "digital_wallet_token.created"
	EventSubscriptionSelectedEventCategoryDigitalWalletTokenUpdated                            EventSubscriptionSelectedEventCategory = "digital_wallet_token.updated"
	EventSubscriptionSelectedEventCategoryDocumentCreated                                      EventSubscriptionSelectedEventCategory = "document.created"
	EventSubscriptionSelectedEventCategoryEntityCreated                                        EventSubscriptionSelectedEventCategory = "entity.created"
	EventSubscriptionSelectedEventCategoryEntityUpdated                                        EventSubscriptionSelectedEventCategory = "entity.updated"
	EventSubscriptionSelectedEventCategoryEventSubscriptionCreated                             EventSubscriptionSelectedEventCategory = "event_subscription.created"
	EventSubscriptionSelectedEventCategoryEventSubscriptionUpdated                             EventSubscriptionSelectedEventCategory = "event_subscription.updated"
	EventSubscriptionSelectedEventCategoryExportCreated                                        EventSubscriptionSelectedEventCategory = "export.created"
	EventSubscriptionSelectedEventCategoryExportUpdated                                        EventSubscriptionSelectedEventCategory = "export.updated"
	EventSubscriptionSelectedEventCategoryExternalAccountCreated                               EventSubscriptionSelectedEventCategory = "external_account.created"
	EventSubscriptionSelectedEventCategoryExternalAccountUpdated                               EventSubscriptionSelectedEventCategory = "external_account.updated"
	EventSubscriptionSelectedEventCategoryFileCreated                                          EventSubscriptionSelectedEventCategory = "file.created"
	EventSubscriptionSelectedEventCategoryGroupUpdated                                         EventSubscriptionSelectedEventCategory = "group.updated"
	EventSubscriptionSelectedEventCategoryGroupHeartbeat                                       EventSubscriptionSelectedEventCategory = "group.heartbeat"
	EventSubscriptionSelectedEventCategoryInboundACHTransferCreated                            EventSubscriptionSelectedEventCategory = "inbound_ach_transfer.created"
	EventSubscriptionSelectedEventCategoryInboundACHTransferUpdated                            EventSubscriptionSelectedEventCategory = "inbound_ach_transfer.updated"
	EventSubscriptionSelectedEventCategoryInboundACHTransferReturnCreated                      EventSubscriptionSelectedEventCategory = "inbound_ach_transfer_return.created"
	EventSubscriptionSelectedEventCategoryInboundACHTransferReturnUpdated                      EventSubscriptionSelectedEventCategory = "inbound_ach_transfer_return.updated"
	EventSubscriptionSelectedEventCategoryInboundCheckDepositCreated                           EventSubscriptionSelectedEventCategory = "inbound_check_deposit.created"
	EventSubscriptionSelectedEventCategoryInboundCheckDepositUpdated                           EventSubscriptionSelectedEventCategory = "inbound_check_deposit.updated"
	EventSubscriptionSelectedEventCategoryInboundMailItemCreated                               EventSubscriptionSelectedEventCategory = "inbound_mail_item.created"
	EventSubscriptionSelectedEventCategoryInboundMailItemUpdated                               EventSubscriptionSelectedEventCategory = "inbound_mail_item.updated"
	EventSubscriptionSelectedEventCategoryInboundRealTimePaymentsTransferCreated               EventSubscriptionSelectedEventCategory = "inbound_real_time_payments_transfer.created"
	EventSubscriptionSelectedEventCategoryInboundRealTimePaymentsTransferUpdated               EventSubscriptionSelectedEventCategory = "inbound_real_time_payments_transfer.updated"
	EventSubscriptionSelectedEventCategoryInboundWireDrawdownRequestCreated                    EventSubscriptionSelectedEventCategory = "inbound_wire_drawdown_request.created"
	EventSubscriptionSelectedEventCategoryInboundWireTransferCreated                           EventSubscriptionSelectedEventCategory = "inbound_wire_transfer.created"
	EventSubscriptionSelectedEventCategoryInboundWireTransferUpdated                           EventSubscriptionSelectedEventCategory = "inbound_wire_transfer.updated"
	EventSubscriptionSelectedEventCategoryIntrafiAccountEnrollmentCreated                      EventSubscriptionSelectedEventCategory = "intrafi_account_enrollment.created"
	EventSubscriptionSelectedEventCategoryIntrafiAccountEnrollmentUpdated                      EventSubscriptionSelectedEventCategory = "intrafi_account_enrollment.updated"
	EventSubscriptionSelectedEventCategoryIntrafiExclusionCreated                              EventSubscriptionSelectedEventCategory = "intrafi_exclusion.created"
	EventSubscriptionSelectedEventCategoryIntrafiExclusionUpdated                              EventSubscriptionSelectedEventCategory = "intrafi_exclusion.updated"
	EventSubscriptionSelectedEventCategoryLockboxCreated                                       EventSubscriptionSelectedEventCategory = "lockbox.created"
	EventSubscriptionSelectedEventCategoryLockboxUpdated                                       EventSubscriptionSelectedEventCategory = "lockbox.updated"
	EventSubscriptionSelectedEventCategoryOAuthConnectionCreated                               EventSubscriptionSelectedEventCategory = "oauth_connection.created"
	EventSubscriptionSelectedEventCategoryOAuthConnectionDeactivated                           EventSubscriptionSelectedEventCategory = "oauth_connection.deactivated"
	EventSubscriptionSelectedEventCategoryOutboundCardPushTransferCreated                      EventSubscriptionSelectedEventCategory = "outbound_card_push_transfer.created"
	EventSubscriptionSelectedEventCategoryOutboundCardPushTransferUpdated                      EventSubscriptionSelectedEventCategory = "outbound_card_push_transfer.updated"
	EventSubscriptionSelectedEventCategoryOutboundCardValidationCreated                        EventSubscriptionSelectedEventCategory = "outbound_card_validation.created"
	EventSubscriptionSelectedEventCategoryOutboundCardValidationUpdated                        EventSubscriptionSelectedEventCategory = "outbound_card_validation.updated"
	EventSubscriptionSelectedEventCategoryCardPushTransferCreated                              EventSubscriptionSelectedEventCategory = "card_push_transfer.created"
	EventSubscriptionSelectedEventCategoryCardPushTransferUpdated                              EventSubscriptionSelectedEventCategory = "card_push_transfer.updated"
	EventSubscriptionSelectedEventCategoryCardValidationCreated                                EventSubscriptionSelectedEventCategory = "card_validation.created"
	EventSubscriptionSelectedEventCategoryCardValidationUpdated                                EventSubscriptionSelectedEventCategory = "card_validation.updated"
	EventSubscriptionSelectedEventCategoryPendingTransactionCreated                            EventSubscriptionSelectedEventCategory = "pending_transaction.created"
	EventSubscriptionSelectedEventCategoryPendingTransactionUpdated                            EventSubscriptionSelectedEventCategory = "pending_transaction.updated"
	EventSubscriptionSelectedEventCategoryPhysicalCardCreated                                  EventSubscriptionSelectedEventCategory = "physical_card.created"
	EventSubscriptionSelectedEventCategoryPhysicalCardUpdated                                  EventSubscriptionSelectedEventCategory = "physical_card.updated"
	EventSubscriptionSelectedEventCategoryPhysicalCardProfileCreated                           EventSubscriptionSelectedEventCategory = "physical_card_profile.created"
	EventSubscriptionSelectedEventCategoryPhysicalCardProfileUpdated                           EventSubscriptionSelectedEventCategory = "physical_card_profile.updated"
	EventSubscriptionSelectedEventCategoryProgramCreated                                       EventSubscriptionSelectedEventCategory = "program.created"
	EventSubscriptionSelectedEventCategoryProgramUpdated                                       EventSubscriptionSelectedEventCategory = "program.updated"
	EventSubscriptionSelectedEventCategoryProofOfAuthorizationRequestCreated                   EventSubscriptionSelectedEventCategory = "proof_of_authorization_request.created"
	EventSubscriptionSelectedEventCategoryProofOfAuthorizationRequestUpdated                   EventSubscriptionSelectedEventCategory = "proof_of_authorization_request.updated"
	EventSubscriptionSelectedEventCategoryRealTimeDecisionCardAuthorizationRequested           EventSubscriptionSelectedEventCategory = "real_time_decision.card_authorization_requested"
	EventSubscriptionSelectedEventCategoryRealTimeDecisionDigitalWalletTokenRequested          EventSubscriptionSelectedEventCategory = "real_time_decision.digital_wallet_token_requested"
	EventSubscriptionSelectedEventCategoryRealTimeDecisionDigitalWalletAuthenticationRequested EventSubscriptionSelectedEventCategory = "real_time_decision.digital_wallet_authentication_requested"
	EventSubscriptionSelectedEventCategoryRealTimeDecisionCardAuthenticationRequested          EventSubscriptionSelectedEventCategory = "real_time_decision.card_authentication_requested"
	EventSubscriptionSelectedEventCategoryRealTimeDecisionCardAuthenticationChallengeRequested EventSubscriptionSelectedEventCategory = "real_time_decision.card_authentication_challenge_requested"
	EventSubscriptionSelectedEventCategoryRealTimePaymentsTransferCreated                      EventSubscriptionSelectedEventCategory = "real_time_payments_transfer.created"
	EventSubscriptionSelectedEventCategoryRealTimePaymentsTransferUpdated                      EventSubscriptionSelectedEventCategory = "real_time_payments_transfer.updated"
	EventSubscriptionSelectedEventCategoryRealTimePaymentsRequestForPaymentCreated             EventSubscriptionSelectedEventCategory = "real_time_payments_request_for_payment.created"
	EventSubscriptionSelectedEventCategoryRealTimePaymentsRequestForPaymentUpdated             EventSubscriptionSelectedEventCategory = "real_time_payments_request_for_payment.updated"
	EventSubscriptionSelectedEventCategorySwiftTransferCreated                                 EventSubscriptionSelectedEventCategory = "swift_transfer.created"
	EventSubscriptionSelectedEventCategorySwiftTransferUpdated                                 EventSubscriptionSelectedEventCategory = "swift_transfer.updated"
	EventSubscriptionSelectedEventCategoryTransactionCreated                                   EventSubscriptionSelectedEventCategory = "transaction.created"
	EventSubscriptionSelectedEventCategoryWireDrawdownRequestCreated                           EventSubscriptionSelectedEventCategory = "wire_drawdown_request.created"
	EventSubscriptionSelectedEventCategoryWireDrawdownRequestUpdated                           EventSubscriptionSelectedEventCategory = "wire_drawdown_request.updated"
	EventSubscriptionSelectedEventCategoryWireTransferCreated                                  EventSubscriptionSelectedEventCategory = "wire_transfer.created"
	EventSubscriptionSelectedEventCategoryWireTransferUpdated                                  EventSubscriptionSelectedEventCategory = "wire_transfer.updated"
)

func (EventSubscriptionSelectedEventCategory) IsKnown

type EventSubscriptionService

type EventSubscriptionService struct {
	Options []option.RequestOption
}

EventSubscriptionService contains methods and other services that help with interacting with the increase 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 NewEventSubscriptionService method instead.

func NewEventSubscriptionService

func NewEventSubscriptionService(opts ...option.RequestOption) (r *EventSubscriptionService)

NewEventSubscriptionService 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 (*EventSubscriptionService) Get

func (r *EventSubscriptionService) Get(ctx context.Context, eventSubscriptionID string, opts ...option.RequestOption) (res *EventSubscription, err error)

Retrieve an Event Subscription

func (*EventSubscriptionService) List

List Event Subscriptions

func (*EventSubscriptionService) ListAutoPaging

List Event Subscriptions

func (*EventSubscriptionService) New

Create an Event Subscription

func (*EventSubscriptionService) Update

func (r *EventSubscriptionService) Update(ctx context.Context, eventSubscriptionID string, body EventSubscriptionUpdateParams, opts ...option.RequestOption) (res *EventSubscription, err error)

Update an Event Subscription

type EventSubscriptionStatus

type EventSubscriptionStatus string

This indicates if we'll send notifications to this subscription.

const (
	EventSubscriptionStatusActive            EventSubscriptionStatus = "active"
	EventSubscriptionStatusDisabled          EventSubscriptionStatus = "disabled"
	EventSubscriptionStatusDeleted           EventSubscriptionStatus = "deleted"
	EventSubscriptionStatusRequiresAttention EventSubscriptionStatus = "requires_attention"
)

func (EventSubscriptionStatus) IsKnown

func (r EventSubscriptionStatus) IsKnown() bool

type EventSubscriptionType

type EventSubscriptionType string

A constant representing the object's type. For this resource it will always be `event_subscription`.

const (
	EventSubscriptionTypeEventSubscription EventSubscriptionType = "event_subscription"
)

func (EventSubscriptionType) IsKnown

func (r EventSubscriptionType) IsKnown() bool

type EventSubscriptionUpdateParams

type EventSubscriptionUpdateParams struct {
	// The status to update the Event Subscription with.
	Status param.Field[EventSubscriptionUpdateParamsStatus] `json:"status"`
}

func (EventSubscriptionUpdateParams) MarshalJSON

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

type EventSubscriptionUpdateParamsStatus

type EventSubscriptionUpdateParamsStatus string

The status to update the Event Subscription with.

const (
	EventSubscriptionUpdateParamsStatusActive   EventSubscriptionUpdateParamsStatus = "active"
	EventSubscriptionUpdateParamsStatusDisabled EventSubscriptionUpdateParamsStatus = "disabled"
	EventSubscriptionUpdateParamsStatusDeleted  EventSubscriptionUpdateParamsStatus = "deleted"
)

func (EventSubscriptionUpdateParamsStatus) IsKnown

type EventType

type EventType string

A constant representing the object's type. For this resource it will always be `event`.

const (
	EventTypeEvent EventType = "event"
)

func (EventType) IsKnown

func (r EventType) IsKnown() bool

type Export

type Export struct {
	// The Export identifier.
	ID string `json:"id,required"`
	// The category of the Export. We may add additional possible values for this enum
	// over time; your application should be able to handle that gracefully.
	Category ExportCategory `json:"category,required"`
	// The time the Export was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A URL at which the Export's file can be downloaded. This will be present when
	// the Export's status transitions to `complete`.
	FileDownloadURL string `json:"file_download_url,required,nullable"`
	// The File containing the contents of the Export. This will be present when the
	// Export's status transitions to `complete`.
	FileID string `json:"file_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The status of the Export.
	Status ExportStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `export`.
	Type ExportType `json:"type,required"`
	JSON exportJSON `json:"-"`
}

Exports are batch summaries of your Increase data. You can make them from the API or dashboard. Since they can take a while, they are generated asynchronously. We send a webhook when they are ready. For more information, please read our [Exports documentation](https://increase.com/documentation/exports).

func (*Export) UnmarshalJSON

func (r *Export) UnmarshalJSON(data []byte) (err error)

type ExportCategory

type ExportCategory string

The category of the Export. We may add additional possible values for this enum over time; your application should be able to handle that gracefully.

const (
	ExportCategoryAccountStatementOfx          ExportCategory = "account_statement_ofx"
	ExportCategoryTransactionCsv               ExportCategory = "transaction_csv"
	ExportCategoryBalanceCsv                   ExportCategory = "balance_csv"
	ExportCategoryBookkeepingAccountBalanceCsv ExportCategory = "bookkeeping_account_balance_csv"
	ExportCategoryEntityCsv                    ExportCategory = "entity_csv"
	ExportCategoryVendorCsv                    ExportCategory = "vendor_csv"
	ExportCategoryDashboardTableCsv            ExportCategory = "dashboard_table_csv"
)

func (ExportCategory) IsKnown

func (r ExportCategory) IsKnown() bool

type ExportListParams

type ExportListParams struct {
	Category  param.Field[ExportListParamsCategory]  `query:"category"`
	CreatedAt param.Field[ExportListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                  `query:"limit"`
	Status param.Field[ExportListParamsStatus] `query:"status"`
}

func (ExportListParams) URLQuery

func (r ExportListParams) URLQuery() (v url.Values)

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

type ExportListParamsCategory

type ExportListParamsCategory struct {
	// Filter Exports for those with the specified category or categories. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]ExportListParamsCategoryIn] `query:"in"`
}

func (ExportListParamsCategory) URLQuery

func (r ExportListParamsCategory) URLQuery() (v url.Values)

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

type ExportListParamsCategoryIn

type ExportListParamsCategoryIn string
const (
	ExportListParamsCategoryInAccountStatementOfx          ExportListParamsCategoryIn = "account_statement_ofx"
	ExportListParamsCategoryInTransactionCsv               ExportListParamsCategoryIn = "transaction_csv"
	ExportListParamsCategoryInBalanceCsv                   ExportListParamsCategoryIn = "balance_csv"
	ExportListParamsCategoryInBookkeepingAccountBalanceCsv ExportListParamsCategoryIn = "bookkeeping_account_balance_csv"
	ExportListParamsCategoryInEntityCsv                    ExportListParamsCategoryIn = "entity_csv"
	ExportListParamsCategoryInVendorCsv                    ExportListParamsCategoryIn = "vendor_csv"
	ExportListParamsCategoryInDashboardTableCsv            ExportListParamsCategoryIn = "dashboard_table_csv"
)

func (ExportListParamsCategoryIn) IsKnown

func (r ExportListParamsCategoryIn) IsKnown() bool

type ExportListParamsCreatedAt

type ExportListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (ExportListParamsCreatedAt) URLQuery

func (r ExportListParamsCreatedAt) URLQuery() (v url.Values)

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

type ExportListParamsStatus

type ExportListParamsStatus struct {
	// Filter Exports for those with the specified status or statuses. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]ExportListParamsStatusIn] `query:"in"`
}

func (ExportListParamsStatus) URLQuery

func (r ExportListParamsStatus) URLQuery() (v url.Values)

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

type ExportListParamsStatusIn

type ExportListParamsStatusIn string
const (
	ExportListParamsStatusInPending  ExportListParamsStatusIn = "pending"
	ExportListParamsStatusInComplete ExportListParamsStatusIn = "complete"
	ExportListParamsStatusInFailed   ExportListParamsStatusIn = "failed"
)

func (ExportListParamsStatusIn) IsKnown

func (r ExportListParamsStatusIn) IsKnown() bool

type ExportNewParams

type ExportNewParams struct {
	// The type of Export to create.
	Category param.Field[ExportNewParamsCategory] `json:"category,required"`
	// Options for the created export. Required if `category` is equal to
	// `account_statement_ofx`.
	AccountStatementOfx param.Field[ExportNewParamsAccountStatementOfx] `json:"account_statement_ofx"`
	// Options for the created export. Required if `category` is equal to
	// `balance_csv`.
	BalanceCsv param.Field[ExportNewParamsBalanceCsv] `json:"balance_csv"`
	// Options for the created export. Required if `category` is equal to
	// `bookkeeping_account_balance_csv`.
	BookkeepingAccountBalanceCsv param.Field[ExportNewParamsBookkeepingAccountBalanceCsv] `json:"bookkeeping_account_balance_csv"`
	// Options for the created export. Required if `category` is equal to `entity_csv`.
	EntityCsv param.Field[ExportNewParamsEntityCsv] `json:"entity_csv"`
	// Options for the created export. Required if `category` is equal to
	// `transaction_csv`.
	TransactionCsv param.Field[ExportNewParamsTransactionCsv] `json:"transaction_csv"`
	// Options for the created export. Required if `category` is equal to `vendor_csv`.
	VendorCsv param.Field[interface{}] `json:"vendor_csv"`
}

func (ExportNewParams) MarshalJSON

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

type ExportNewParamsAccountStatementOfx

type ExportNewParamsAccountStatementOfx struct {
	// The Account to create a statement for.
	AccountID param.Field[string] `json:"account_id,required"`
	// Filter results by time range on the `created_at` attribute.
	CreatedAt param.Field[ExportNewParamsAccountStatementOfxCreatedAt] `json:"created_at"`
}

Options for the created export. Required if `category` is equal to `account_statement_ofx`.

func (ExportNewParamsAccountStatementOfx) MarshalJSON

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

type ExportNewParamsAccountStatementOfxCreatedAt

type ExportNewParamsAccountStatementOfxCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `json:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `json:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `json:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `json:"on_or_before" format:"date-time"`
}

Filter results by time range on the `created_at` attribute.

func (ExportNewParamsAccountStatementOfxCreatedAt) MarshalJSON

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

type ExportNewParamsBalanceCsv

type ExportNewParamsBalanceCsv struct {
	// Filter exported Transactions to the specified Account.
	AccountID param.Field[string] `json:"account_id"`
	// Filter results by time range on the `created_at` attribute.
	CreatedAt param.Field[ExportNewParamsBalanceCsvCreatedAt] `json:"created_at"`
	// Filter exported Transactions to the specified Program.
	ProgramID param.Field[string] `json:"program_id"`
}

Options for the created export. Required if `category` is equal to `balance_csv`.

func (ExportNewParamsBalanceCsv) MarshalJSON

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

type ExportNewParamsBalanceCsvCreatedAt

type ExportNewParamsBalanceCsvCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `json:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `json:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `json:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `json:"on_or_before" format:"date-time"`
}

Filter results by time range on the `created_at` attribute.

func (ExportNewParamsBalanceCsvCreatedAt) MarshalJSON

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

type ExportNewParamsBookkeepingAccountBalanceCsv

type ExportNewParamsBookkeepingAccountBalanceCsv struct {
	// Filter exported Transactions to the specified Bookkeeping Account.
	BookkeepingAccountID param.Field[string] `json:"bookkeeping_account_id"`
	// Filter results by time range on the `created_at` attribute.
	CreatedAt param.Field[ExportNewParamsBookkeepingAccountBalanceCsvCreatedAt] `json:"created_at"`
}

Options for the created export. Required if `category` is equal to `bookkeeping_account_balance_csv`.

func (ExportNewParamsBookkeepingAccountBalanceCsv) MarshalJSON

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

type ExportNewParamsBookkeepingAccountBalanceCsvCreatedAt

type ExportNewParamsBookkeepingAccountBalanceCsvCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `json:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `json:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `json:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `json:"on_or_before" format:"date-time"`
}

Filter results by time range on the `created_at` attribute.

func (ExportNewParamsBookkeepingAccountBalanceCsvCreatedAt) MarshalJSON

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

type ExportNewParamsCategory

type ExportNewParamsCategory string

The type of Export to create.

const (
	ExportNewParamsCategoryAccountStatementOfx          ExportNewParamsCategory = "account_statement_ofx"
	ExportNewParamsCategoryTransactionCsv               ExportNewParamsCategory = "transaction_csv"
	ExportNewParamsCategoryBalanceCsv                   ExportNewParamsCategory = "balance_csv"
	ExportNewParamsCategoryBookkeepingAccountBalanceCsv ExportNewParamsCategory = "bookkeeping_account_balance_csv"
	ExportNewParamsCategoryEntityCsv                    ExportNewParamsCategory = "entity_csv"
	ExportNewParamsCategoryVendorCsv                    ExportNewParamsCategory = "vendor_csv"
)

func (ExportNewParamsCategory) IsKnown

func (r ExportNewParamsCategory) IsKnown() bool

type ExportNewParamsEntityCsv

type ExportNewParamsEntityCsv struct {
	// Entity statuses to filter by.
	Status param.Field[ExportNewParamsEntityCsvStatus] `json:"status"`
}

Options for the created export. Required if `category` is equal to `entity_csv`.

func (ExportNewParamsEntityCsv) MarshalJSON

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

type ExportNewParamsEntityCsvStatus

type ExportNewParamsEntityCsvStatus struct {
	// Entity statuses to filter by. For GET requests, this should be encoded as a
	// comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]ExportNewParamsEntityCsvStatusIn] `json:"in,required"`
}

Entity statuses to filter by.

func (ExportNewParamsEntityCsvStatus) MarshalJSON

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

type ExportNewParamsEntityCsvStatusIn

type ExportNewParamsEntityCsvStatusIn string
const (
	ExportNewParamsEntityCsvStatusInActive   ExportNewParamsEntityCsvStatusIn = "active"
	ExportNewParamsEntityCsvStatusInArchived ExportNewParamsEntityCsvStatusIn = "archived"
	ExportNewParamsEntityCsvStatusInDisabled ExportNewParamsEntityCsvStatusIn = "disabled"
)

func (ExportNewParamsEntityCsvStatusIn) IsKnown

type ExportNewParamsTransactionCsv

type ExportNewParamsTransactionCsv struct {
	// Filter exported Transactions to the specified Account.
	AccountID param.Field[string] `json:"account_id"`
	// Filter results by time range on the `created_at` attribute.
	CreatedAt param.Field[ExportNewParamsTransactionCsvCreatedAt] `json:"created_at"`
	// Filter exported Transactions to the specified Program.
	ProgramID param.Field[string] `json:"program_id"`
}

Options for the created export. Required if `category` is equal to `transaction_csv`.

func (ExportNewParamsTransactionCsv) MarshalJSON

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

type ExportNewParamsTransactionCsvCreatedAt

type ExportNewParamsTransactionCsvCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `json:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `json:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `json:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `json:"on_or_before" format:"date-time"`
}

Filter results by time range on the `created_at` attribute.

func (ExportNewParamsTransactionCsvCreatedAt) MarshalJSON

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

type ExportService

type ExportService struct {
	Options []option.RequestOption
}

ExportService contains methods and other services that help with interacting with the increase 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 NewExportService method instead.

func NewExportService

func NewExportService(opts ...option.RequestOption) (r *ExportService)

NewExportService 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 (*ExportService) Get

func (r *ExportService) Get(ctx context.Context, exportID string, opts ...option.RequestOption) (res *Export, err error)

Retrieve an Export

func (*ExportService) List

func (r *ExportService) List(ctx context.Context, query ExportListParams, opts ...option.RequestOption) (res *pagination.Page[Export], err error)

List Exports

func (*ExportService) ListAutoPaging

List Exports

func (*ExportService) New

func (r *ExportService) New(ctx context.Context, body ExportNewParams, opts ...option.RequestOption) (res *Export, err error)

Create an Export

type ExportStatus

type ExportStatus string

The status of the Export.

const (
	ExportStatusPending  ExportStatus = "pending"
	ExportStatusComplete ExportStatus = "complete"
	ExportStatusFailed   ExportStatus = "failed"
)

func (ExportStatus) IsKnown

func (r ExportStatus) IsKnown() bool

type ExportType

type ExportType string

A constant representing the object's type. For this resource it will always be `export`.

const (
	ExportTypeExport ExportType = "export"
)

func (ExportType) IsKnown

func (r ExportType) IsKnown() bool

type ExternalAccount

type ExternalAccount struct {
	// The External Account's identifier.
	ID string `json:"id,required"`
	// The type of entity that owns the External Account.
	AccountHolder ExternalAccountAccountHolder `json:"account_holder,required"`
	// The destination account number.
	AccountNumber string `json:"account_number,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the External Account was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The External Account's description for display purposes.
	Description string `json:"description,required"`
	// The type of the account to which the transfer will be sent.
	Funding ExternalAccountFunding `json:"funding,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN).
	RoutingNumber string `json:"routing_number,required"`
	// The External Account's status.
	Status ExternalAccountStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `external_account`.
	Type ExternalAccountType `json:"type,required"`
	JSON externalAccountJSON `json:"-"`
}

External Accounts represent accounts at financial institutions other than Increase. You can use this API to store their details for reuse.

func (*ExternalAccount) UnmarshalJSON

func (r *ExternalAccount) UnmarshalJSON(data []byte) (err error)

type ExternalAccountAccountHolder

type ExternalAccountAccountHolder string

The type of entity that owns the External Account.

const (
	ExternalAccountAccountHolderBusiness   ExternalAccountAccountHolder = "business"
	ExternalAccountAccountHolderIndividual ExternalAccountAccountHolder = "individual"
	ExternalAccountAccountHolderUnknown    ExternalAccountAccountHolder = "unknown"
)

func (ExternalAccountAccountHolder) IsKnown

func (r ExternalAccountAccountHolder) IsKnown() bool

type ExternalAccountFunding

type ExternalAccountFunding string

The type of the account to which the transfer will be sent.

const (
	ExternalAccountFundingChecking ExternalAccountFunding = "checking"
	ExternalAccountFundingSavings  ExternalAccountFunding = "savings"
	ExternalAccountFundingOther    ExternalAccountFunding = "other"
)

func (ExternalAccountFunding) IsKnown

func (r ExternalAccountFunding) IsKnown() bool

type ExternalAccountListParams

type ExternalAccountListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter External Accounts to those with the specified Routing Number.
	RoutingNumber param.Field[string]                          `query:"routing_number"`
	Status        param.Field[ExternalAccountListParamsStatus] `query:"status"`
}

func (ExternalAccountListParams) URLQuery

func (r ExternalAccountListParams) URLQuery() (v url.Values)

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

type ExternalAccountListParamsStatus

type ExternalAccountListParamsStatus struct {
	// Filter External Accounts for those with the specified status or statuses. For
	// GET requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]ExternalAccountListParamsStatusIn] `query:"in"`
}

func (ExternalAccountListParamsStatus) URLQuery

func (r ExternalAccountListParamsStatus) URLQuery() (v url.Values)

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

type ExternalAccountListParamsStatusIn

type ExternalAccountListParamsStatusIn string
const (
	ExternalAccountListParamsStatusInActive   ExternalAccountListParamsStatusIn = "active"
	ExternalAccountListParamsStatusInArchived ExternalAccountListParamsStatusIn = "archived"
)

func (ExternalAccountListParamsStatusIn) IsKnown

type ExternalAccountNewParams

type ExternalAccountNewParams struct {
	// The account number for the destination account.
	AccountNumber param.Field[string] `json:"account_number,required"`
	// The name you choose for the Account.
	Description param.Field[string] `json:"description,required"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// destination account.
	RoutingNumber param.Field[string] `json:"routing_number,required"`
	// The type of entity that owns the External Account.
	AccountHolder param.Field[ExternalAccountNewParamsAccountHolder] `json:"account_holder"`
	// The type of the destination account. Defaults to `checking`.
	Funding param.Field[ExternalAccountNewParamsFunding] `json:"funding"`
}

func (ExternalAccountNewParams) MarshalJSON

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

type ExternalAccountNewParamsAccountHolder

type ExternalAccountNewParamsAccountHolder string

The type of entity that owns the External Account.

const (
	ExternalAccountNewParamsAccountHolderBusiness   ExternalAccountNewParamsAccountHolder = "business"
	ExternalAccountNewParamsAccountHolderIndividual ExternalAccountNewParamsAccountHolder = "individual"
	ExternalAccountNewParamsAccountHolderUnknown    ExternalAccountNewParamsAccountHolder = "unknown"
)

func (ExternalAccountNewParamsAccountHolder) IsKnown

type ExternalAccountNewParamsFunding

type ExternalAccountNewParamsFunding string

The type of the destination account. Defaults to `checking`.

const (
	ExternalAccountNewParamsFundingChecking ExternalAccountNewParamsFunding = "checking"
	ExternalAccountNewParamsFundingSavings  ExternalAccountNewParamsFunding = "savings"
	ExternalAccountNewParamsFundingOther    ExternalAccountNewParamsFunding = "other"
)

func (ExternalAccountNewParamsFunding) IsKnown

type ExternalAccountService

type ExternalAccountService struct {
	Options []option.RequestOption
}

ExternalAccountService contains methods and other services that help with interacting with the increase 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 NewExternalAccountService method instead.

func NewExternalAccountService

func NewExternalAccountService(opts ...option.RequestOption) (r *ExternalAccountService)

NewExternalAccountService 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 (*ExternalAccountService) Get

func (r *ExternalAccountService) Get(ctx context.Context, externalAccountID string, opts ...option.RequestOption) (res *ExternalAccount, err error)

Retrieve an External Account

func (*ExternalAccountService) List

List External Accounts

func (*ExternalAccountService) ListAutoPaging

List External Accounts

func (*ExternalAccountService) New

Create an External Account

func (*ExternalAccountService) Update

func (r *ExternalAccountService) Update(ctx context.Context, externalAccountID string, body ExternalAccountUpdateParams, opts ...option.RequestOption) (res *ExternalAccount, err error)

Update an External Account

type ExternalAccountStatus

type ExternalAccountStatus string

The External Account's status.

const (
	ExternalAccountStatusActive   ExternalAccountStatus = "active"
	ExternalAccountStatusArchived ExternalAccountStatus = "archived"
)

func (ExternalAccountStatus) IsKnown

func (r ExternalAccountStatus) IsKnown() bool

type ExternalAccountType

type ExternalAccountType string

A constant representing the object's type. For this resource it will always be `external_account`.

const (
	ExternalAccountTypeExternalAccount ExternalAccountType = "external_account"
)

func (ExternalAccountType) IsKnown

func (r ExternalAccountType) IsKnown() bool

type ExternalAccountUpdateParams

type ExternalAccountUpdateParams struct {
	// The type of entity that owns the External Account.
	AccountHolder param.Field[ExternalAccountUpdateParamsAccountHolder] `json:"account_holder"`
	// The description you choose to give the external account.
	Description param.Field[string] `json:"description"`
	// The funding type of the External Account.
	Funding param.Field[ExternalAccountUpdateParamsFunding] `json:"funding"`
	// The status of the External Account.
	Status param.Field[ExternalAccountUpdateParamsStatus] `json:"status"`
}

func (ExternalAccountUpdateParams) MarshalJSON

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

type ExternalAccountUpdateParamsAccountHolder

type ExternalAccountUpdateParamsAccountHolder string

The type of entity that owns the External Account.

const (
	ExternalAccountUpdateParamsAccountHolderBusiness   ExternalAccountUpdateParamsAccountHolder = "business"
	ExternalAccountUpdateParamsAccountHolderIndividual ExternalAccountUpdateParamsAccountHolder = "individual"
)

func (ExternalAccountUpdateParamsAccountHolder) IsKnown

type ExternalAccountUpdateParamsFunding

type ExternalAccountUpdateParamsFunding string

The funding type of the External Account.

const (
	ExternalAccountUpdateParamsFundingChecking ExternalAccountUpdateParamsFunding = "checking"
	ExternalAccountUpdateParamsFundingSavings  ExternalAccountUpdateParamsFunding = "savings"
	ExternalAccountUpdateParamsFundingOther    ExternalAccountUpdateParamsFunding = "other"
)

func (ExternalAccountUpdateParamsFunding) IsKnown

type ExternalAccountUpdateParamsStatus

type ExternalAccountUpdateParamsStatus string

The status of the External Account.

const (
	ExternalAccountUpdateParamsStatusActive   ExternalAccountUpdateParamsStatus = "active"
	ExternalAccountUpdateParamsStatusArchived ExternalAccountUpdateParamsStatus = "archived"
)

func (ExternalAccountUpdateParamsStatus) IsKnown

type File

type File struct {
	// The File's identifier.
	ID string `json:"id,required"`
	// The time the File was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A description of the File.
	Description string `json:"description,required,nullable"`
	// Whether the File was generated by Increase or by you and sent to Increase.
	Direction FileDirection `json:"direction,required"`
	// The filename that was provided upon upload or generated by Increase.
	Filename string `json:"filename,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The MIME type of the file.
	MimeType string `json:"mime_type,required"`
	// What the File will be used for. We may add additional possible values for this
	// enum over time; your application should be able to handle such additions
	// gracefully.
	Purpose FilePurpose `json:"purpose,required"`
	// A constant representing the object's type. For this resource it will always be
	// `file`.
	Type FileType `json:"type,required"`
	JSON fileJSON `json:"-"`
}

Files are objects that represent a file hosted on Increase's servers. The file may have been uploaded by you (for example, when uploading a check image) or it may have been created by Increase (for example, an autogenerated statement PDF). If you need to download a File, create a File Link.

func (*File) UnmarshalJSON

func (r *File) UnmarshalJSON(data []byte) (err error)

type FileDirection

type FileDirection string

Whether the File was generated by Increase or by you and sent to Increase.

const (
	FileDirectionToIncrease   FileDirection = "to_increase"
	FileDirectionFromIncrease FileDirection = "from_increase"
)

func (FileDirection) IsKnown

func (r FileDirection) IsKnown() bool
type FileLink struct {
	// The File Link identifier.
	ID string `json:"id,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the File
	// Link was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the File
	// Link will expire.
	ExpiresAt time.Time `json:"expires_at,required" format:"date-time"`
	// The identifier of the File the File Link points to.
	FileID string `json:"file_id,required"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `file_link`.
	Type FileLinkType `json:"type,required"`
	// A URL where the File can be downloaded. The URL will expire after the
	// `expires_at` time. This URL is unauthenticated and can be used to download the
	// File without an Increase API key.
	UnauthenticatedURL string       `json:"unauthenticated_url,required"`
	JSON               fileLinkJSON `json:"-"`
}

File Links let you generate a URL that can be used to download a File.

func (*FileLink) UnmarshalJSON added in v0.202.0

func (r *FileLink) UnmarshalJSON(data []byte) (err error)

type FileLinkNewParams added in v0.202.0

type FileLinkNewParams struct {
	// The File to create a File Link for.
	FileID param.Field[string] `json:"file_id,required"`
	// The time at which the File Link will expire. The default is 1 hour from the time
	// of the request. The maxiumum is 1 day from the time of the request.
	ExpiresAt param.Field[time.Time] `json:"expires_at" format:"date-time"`
}

func (FileLinkNewParams) MarshalJSON added in v0.202.0

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

type FileLinkService added in v0.202.0

type FileLinkService struct {
	Options []option.RequestOption
}

FileLinkService contains methods and other services that help with interacting with the increase 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 NewFileLinkService method instead.

func NewFileLinkService added in v0.202.0

func NewFileLinkService(opts ...option.RequestOption) (r *FileLinkService)

NewFileLinkService 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 (*FileLinkService) New added in v0.202.0

func (r *FileLinkService) New(ctx context.Context, body FileLinkNewParams, opts ...option.RequestOption) (res *FileLink, err error)

Create a File Link

type FileLinkType added in v0.202.0

type FileLinkType string

A constant representing the object's type. For this resource it will always be `file_link`.

const (
	FileLinkTypeFileLink FileLinkType = "file_link"
)

func (FileLinkType) IsKnown added in v0.202.0

func (r FileLinkType) IsKnown() bool

type FileListParams

type FileListParams struct {
	CreatedAt param.Field[FileListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit   param.Field[int64]                 `query:"limit"`
	Purpose param.Field[FileListParamsPurpose] `query:"purpose"`
}

func (FileListParams) URLQuery

func (r FileListParams) URLQuery() (v url.Values)

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

type FileListParamsCreatedAt

type FileListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (FileListParamsCreatedAt) URLQuery

func (r FileListParamsCreatedAt) URLQuery() (v url.Values)

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

type FileListParamsPurpose

type FileListParamsPurpose struct {
	// Filter Files for those with the specified purpose or purposes. For GET requests,
	// this should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]FileListParamsPurposeIn] `query:"in"`
}

func (FileListParamsPurpose) URLQuery

func (r FileListParamsPurpose) URLQuery() (v url.Values)

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

type FileListParamsPurposeIn

type FileListParamsPurposeIn string
const (
	FileListParamsPurposeInCheckImageFront                       FileListParamsPurposeIn = "check_image_front"
	FileListParamsPurposeInCheckImageBack                        FileListParamsPurposeIn = "check_image_back"
	FileListParamsPurposeInProcessedCheckImageFront              FileListParamsPurposeIn = "processed_check_image_front"
	FileListParamsPurposeInProcessedCheckImageBack               FileListParamsPurposeIn = "processed_check_image_back"
	FileListParamsPurposeInMailedCheckImage                      FileListParamsPurposeIn = "mailed_check_image"
	FileListParamsPurposeInCheckAttachment                       FileListParamsPurposeIn = "check_attachment"
	FileListParamsPurposeInInboundMailItem                       FileListParamsPurposeIn = "inbound_mail_item"
	FileListParamsPurposeInForm1099Int                           FileListParamsPurposeIn = "form_1099_int"
	FileListParamsPurposeInForm1099Misc                          FileListParamsPurposeIn = "form_1099_misc"
	FileListParamsPurposeInFormSS4                               FileListParamsPurposeIn = "form_ss_4"
	FileListParamsPurposeInIdentityDocument                      FileListParamsPurposeIn = "identity_document"
	FileListParamsPurposeInIncreaseStatement                     FileListParamsPurposeIn = "increase_statement"
	FileListParamsPurposeInOther                                 FileListParamsPurposeIn = "other"
	FileListParamsPurposeInTrustFormationDocument                FileListParamsPurposeIn = "trust_formation_document"
	FileListParamsPurposeInDigitalWalletArtwork                  FileListParamsPurposeIn = "digital_wallet_artwork"
	FileListParamsPurposeInDigitalWalletAppIcon                  FileListParamsPurposeIn = "digital_wallet_app_icon"
	FileListParamsPurposeInPhysicalCardFront                     FileListParamsPurposeIn = "physical_card_front"
	FileListParamsPurposeInPhysicalCardBack                      FileListParamsPurposeIn = "physical_card_back"
	FileListParamsPurposeInPhysicalCardCarrier                   FileListParamsPurposeIn = "physical_card_carrier"
	FileListParamsPurposeInDocumentRequest                       FileListParamsPurposeIn = "document_request"
	FileListParamsPurposeInEntitySupplementalDocument            FileListParamsPurposeIn = "entity_supplemental_document"
	FileListParamsPurposeInExport                                FileListParamsPurposeIn = "export"
	FileListParamsPurposeInUnusualActivityReportAttachment       FileListParamsPurposeIn = "unusual_activity_report_attachment"
	FileListParamsPurposeInDepositAccountControlAgreement        FileListParamsPurposeIn = "deposit_account_control_agreement"
	FileListParamsPurposeInProofOfAuthorizationRequestSubmission FileListParamsPurposeIn = "proof_of_authorization_request_submission"
	FileListParamsPurposeInAccountVerificationLetter             FileListParamsPurposeIn = "account_verification_letter"
	FileListParamsPurposeInFundingInstructions                   FileListParamsPurposeIn = "funding_instructions"
	FileListParamsPurposeInHoldHarmlessLetter                    FileListParamsPurposeIn = "hold_harmless_letter"
)

func (FileListParamsPurposeIn) IsKnown

func (r FileListParamsPurposeIn) IsKnown() bool

type FileNewParams

type FileNewParams struct {
	// The file contents. This should follow the specifications of
	// [RFC 7578](https://datatracker.ietf.org/doc/html/rfc7578) which defines file
	// transfers for the multipart/form-data protocol.
	File param.Field[io.Reader] `json:"file,required" format:"binary"`
	// What the File will be used for in Increase's systems.
	Purpose param.Field[FileNewParamsPurpose] `json:"purpose,required"`
	// The description you choose to give the File.
	Description param.Field[string] `json:"description"`
}

func (FileNewParams) MarshalMultipart

func (r FileNewParams) MarshalMultipart() (data []byte, contentType string, err error)

type FileNewParamsPurpose

type FileNewParamsPurpose string

What the File will be used for in Increase's systems.

const (
	FileNewParamsPurposeCheckImageFront                       FileNewParamsPurpose = "check_image_front"
	FileNewParamsPurposeCheckImageBack                        FileNewParamsPurpose = "check_image_back"
	FileNewParamsPurposeMailedCheckImage                      FileNewParamsPurpose = "mailed_check_image"
	FileNewParamsPurposeCheckAttachment                       FileNewParamsPurpose = "check_attachment"
	FileNewParamsPurposeFormSS4                               FileNewParamsPurpose = "form_ss_4"
	FileNewParamsPurposeIdentityDocument                      FileNewParamsPurpose = "identity_document"
	FileNewParamsPurposeOther                                 FileNewParamsPurpose = "other"
	FileNewParamsPurposeTrustFormationDocument                FileNewParamsPurpose = "trust_formation_document"
	FileNewParamsPurposeDigitalWalletArtwork                  FileNewParamsPurpose = "digital_wallet_artwork"
	FileNewParamsPurposeDigitalWalletAppIcon                  FileNewParamsPurpose = "digital_wallet_app_icon"
	FileNewParamsPurposePhysicalCardFront                     FileNewParamsPurpose = "physical_card_front"
	FileNewParamsPurposePhysicalCardCarrier                   FileNewParamsPurpose = "physical_card_carrier"
	FileNewParamsPurposeDocumentRequest                       FileNewParamsPurpose = "document_request"
	FileNewParamsPurposeEntitySupplementalDocument            FileNewParamsPurpose = "entity_supplemental_document"
	FileNewParamsPurposeUnusualActivityReportAttachment       FileNewParamsPurpose = "unusual_activity_report_attachment"
	FileNewParamsPurposeProofOfAuthorizationRequestSubmission FileNewParamsPurpose = "proof_of_authorization_request_submission"
)

func (FileNewParamsPurpose) IsKnown

func (r FileNewParamsPurpose) IsKnown() bool

type FilePurpose

type FilePurpose string

What the File will be used for. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.

const (
	FilePurposeCheckImageFront                       FilePurpose = "check_image_front"
	FilePurposeCheckImageBack                        FilePurpose = "check_image_back"
	FilePurposeProcessedCheckImageFront              FilePurpose = "processed_check_image_front"
	FilePurposeProcessedCheckImageBack               FilePurpose = "processed_check_image_back"
	FilePurposeMailedCheckImage                      FilePurpose = "mailed_check_image"
	FilePurposeCheckAttachment                       FilePurpose = "check_attachment"
	FilePurposeInboundMailItem                       FilePurpose = "inbound_mail_item"
	FilePurposeForm1099Int                           FilePurpose = "form_1099_int"
	FilePurposeForm1099Misc                          FilePurpose = "form_1099_misc"
	FilePurposeFormSS4                               FilePurpose = "form_ss_4"
	FilePurposeIdentityDocument                      FilePurpose = "identity_document"
	FilePurposeIncreaseStatement                     FilePurpose = "increase_statement"
	FilePurposeOther                                 FilePurpose = "other"
	FilePurposeTrustFormationDocument                FilePurpose = "trust_formation_document"
	FilePurposeDigitalWalletArtwork                  FilePurpose = "digital_wallet_artwork"
	FilePurposeDigitalWalletAppIcon                  FilePurpose = "digital_wallet_app_icon"
	FilePurposePhysicalCardFront                     FilePurpose = "physical_card_front"
	FilePurposePhysicalCardBack                      FilePurpose = "physical_card_back"
	FilePurposePhysicalCardCarrier                   FilePurpose = "physical_card_carrier"
	FilePurposeDocumentRequest                       FilePurpose = "document_request"
	FilePurposeEntitySupplementalDocument            FilePurpose = "entity_supplemental_document"
	FilePurposeExport                                FilePurpose = "export"
	FilePurposeUnusualActivityReportAttachment       FilePurpose = "unusual_activity_report_attachment"
	FilePurposeDepositAccountControlAgreement        FilePurpose = "deposit_account_control_agreement"
	FilePurposeProofOfAuthorizationRequestSubmission FilePurpose = "proof_of_authorization_request_submission"
	FilePurposeAccountVerificationLetter             FilePurpose = "account_verification_letter"
	FilePurposeFundingInstructions                   FilePurpose = "funding_instructions"
	FilePurposeHoldHarmlessLetter                    FilePurpose = "hold_harmless_letter"
)

func (FilePurpose) IsKnown

func (r FilePurpose) IsKnown() bool

type FileService

type FileService struct {
	Options []option.RequestOption
}

FileService contains methods and other services that help with interacting with the increase 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 NewFileService method instead.

func NewFileService

func NewFileService(opts ...option.RequestOption) (r *FileService)

NewFileService 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 (*FileService) Get

func (r *FileService) Get(ctx context.Context, fileID string, opts ...option.RequestOption) (res *File, err error)

Retrieve a File

func (*FileService) List

func (r *FileService) List(ctx context.Context, query FileListParams, opts ...option.RequestOption) (res *pagination.Page[File], err error)

List Files

func (*FileService) ListAutoPaging

func (r *FileService) ListAutoPaging(ctx context.Context, query FileListParams, opts ...option.RequestOption) *pagination.PageAutoPager[File]

List Files

func (*FileService) New

func (r *FileService) New(ctx context.Context, body FileNewParams, opts ...option.RequestOption) (res *File, err error)

To upload a file to Increase, you'll need to send a request of Content-Type `multipart/form-data`. The request should contain the file you would like to upload, as well as the parameters for creating a file.

type FileType

type FileType string

A constant representing the object's type. For this resource it will always be `file`.

const (
	FileTypeFile FileType = "file"
)

func (FileType) IsKnown

func (r FileType) IsKnown() bool

type Group

type Group struct {
	// The Group identifier.
	ID string `json:"id,required"`
	// If the Group is allowed to create ACH debits.
	ACHDebitStatus GroupACHDebitStatus `json:"ach_debit_status,required"`
	// If the Group is activated or not.
	ActivationStatus GroupActivationStatus `json:"activation_status,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Group
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A constant representing the object's type. For this resource it will always be
	// `group`.
	Type GroupType `json:"type,required"`
	JSON groupJSON `json:"-"`
}

Groups represent organizations using Increase. You can retrieve information about your own organization via the API. More commonly, OAuth platforms can retrieve information about the organizations that have granted them access. Learn more about OAuth [here](https://increase.com/documentation/oauth).

func (*Group) UnmarshalJSON

func (r *Group) UnmarshalJSON(data []byte) (err error)

type GroupACHDebitStatus

type GroupACHDebitStatus string

If the Group is allowed to create ACH debits.

const (
	GroupACHDebitStatusDisabled GroupACHDebitStatus = "disabled"
	GroupACHDebitStatusEnabled  GroupACHDebitStatus = "enabled"
)

func (GroupACHDebitStatus) IsKnown

func (r GroupACHDebitStatus) IsKnown() bool

type GroupActivationStatus

type GroupActivationStatus string

If the Group is activated or not.

const (
	GroupActivationStatusUnactivated GroupActivationStatus = "unactivated"
	GroupActivationStatusActivated   GroupActivationStatus = "activated"
)

func (GroupActivationStatus) IsKnown

func (r GroupActivationStatus) IsKnown() bool

type GroupService

type GroupService struct {
	Options []option.RequestOption
}

GroupService contains methods and other services that help with interacting with the increase 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 NewGroupService method instead.

func NewGroupService

func NewGroupService(opts ...option.RequestOption) (r *GroupService)

NewGroupService 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 (*GroupService) Get

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

Returns details for the currently authenticated Group.

type GroupType

type GroupType string

A constant representing the object's type. For this resource it will always be `group`.

const (
	GroupTypeGroup GroupType = "group"
)

func (GroupType) IsKnown

func (r GroupType) IsKnown() bool

type InboundACHTransfer

type InboundACHTransfer struct {
	// The inbound ACH transfer's identifier.
	ID string `json:"id,required"`
	// If your transfer is accepted, this will contain details of the acceptance.
	Acceptance InboundACHTransferAcceptance `json:"acceptance,required,nullable"`
	// The Account to which the transfer belongs.
	AccountID string `json:"account_id,required"`
	// The identifier of the Account Number to which this transfer was sent.
	AccountNumberID string `json:"account_number_id,required"`
	// Additional information sent from the originator.
	Addenda InboundACHTransferAddenda `json:"addenda,required,nullable"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The time at which the transfer will be automatically resolved.
	AutomaticallyResolvesAt time.Time `json:"automatically_resolves_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the inbound ACH transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// If your transfer is declined, this will contain details of the decline.
	Decline InboundACHTransferDecline `json:"decline,required,nullable"`
	// The direction of the transfer.
	Direction InboundACHTransferDirection `json:"direction,required"`
	// The effective date of the transfer. This is sent by the sending bank and is a
	// factor in determining funds availability.
	EffectiveDate time.Time `json:"effective_date,required" format:"date"`
	// If the Inbound ACH Transfer has a Standard Entry Class Code of IAT, this will
	// contain fields pertaining to the International ACH Transaction.
	InternationalAddenda InboundACHTransferInternationalAddenda `json:"international_addenda,required,nullable"`
	// If you initiate a notification of change in response to the transfer, this will
	// contain its details.
	NotificationOfChange InboundACHTransferNotificationOfChange `json:"notification_of_change,required,nullable"`
	// The descriptive date of the transfer.
	OriginatorCompanyDescriptiveDate string `json:"originator_company_descriptive_date,required,nullable"`
	// The additional information included with the transfer.
	OriginatorCompanyDiscretionaryData string `json:"originator_company_discretionary_data,required,nullable"`
	// The description of the transfer.
	OriginatorCompanyEntryDescription string `json:"originator_company_entry_description,required"`
	// The id of the company that initiated the transfer.
	OriginatorCompanyID string `json:"originator_company_id,required"`
	// The name of the company that initiated the transfer.
	OriginatorCompanyName string `json:"originator_company_name,required"`
	// The American Banking Association (ABA) routing number of the bank originating
	// the transfer.
	OriginatorRoutingNumber string `json:"originator_routing_number,required"`
	// The id of the receiver of the transfer.
	ReceiverIDNumber string `json:"receiver_id_number,required,nullable"`
	// The name of the receiver of the transfer.
	ReceiverName string `json:"receiver_name,required,nullable"`
	// A subhash containing information about when and how the transfer settled at the
	// Federal Reserve.
	Settlement InboundACHTransferSettlement `json:"settlement,required"`
	// The Standard Entry Class (SEC) code of the transfer.
	StandardEntryClassCode InboundACHTransferStandardEntryClassCode `json:"standard_entry_class_code,required"`
	// The status of the transfer.
	Status InboundACHTransferStatus `json:"status,required"`
	// A 15 digit number set by the sending bank and transmitted to the receiving bank.
	// Along with the amount, date, and originating routing number, this can be used to
	// identify the ACH transfer. ACH trace numbers are not unique, but are
	// [used to correlate returns](https://increase.com/documentation/ach-returns#ach-returns).
	TraceNumber string `json:"trace_number,required"`
	// If your transfer is returned, this will contain details of the return.
	TransferReturn InboundACHTransferTransferReturn `json:"transfer_return,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_ach_transfer`.
	Type InboundACHTransferType `json:"type,required"`
	JSON inboundACHTransferJSON `json:"-"`
}

An Inbound ACH Transfer is an ACH transfer initiated outside of Increase to your account.

func (*InboundACHTransfer) UnmarshalJSON

func (r *InboundACHTransfer) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferAcceptance

type InboundACHTransferAcceptance struct {
	// The time at which the transfer was accepted.
	AcceptedAt time.Time `json:"accepted_at,required" format:"date-time"`
	// The id of the transaction for the accepted transfer.
	TransactionID string                           `json:"transaction_id,required"`
	JSON          inboundACHTransferAcceptanceJSON `json:"-"`
}

If your transfer is accepted, this will contain details of the acceptance.

func (*InboundACHTransferAcceptance) UnmarshalJSON

func (r *InboundACHTransferAcceptance) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferAddenda

type InboundACHTransferAddenda struct {
	// The type of addendum.
	Category InboundACHTransferAddendaCategory `json:"category,required"`
	// Unstructured `payment_related_information` passed through by the originator.
	Freeform InboundACHTransferAddendaFreeform `json:"freeform,required,nullable"`
	JSON     inboundACHTransferAddendaJSON     `json:"-"`
}

Additional information sent from the originator.

func (*InboundACHTransferAddenda) UnmarshalJSON

func (r *InboundACHTransferAddenda) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferAddendaCategory

type InboundACHTransferAddendaCategory string

The type of addendum.

const (
	InboundACHTransferAddendaCategoryFreeform InboundACHTransferAddendaCategory = "freeform"
)

func (InboundACHTransferAddendaCategory) IsKnown

type InboundACHTransferAddendaFreeform

type InboundACHTransferAddendaFreeform struct {
	// Each entry represents an addendum received from the originator.
	Entries []InboundACHTransferAddendaFreeformEntry `json:"entries,required"`
	JSON    inboundACHTransferAddendaFreeformJSON    `json:"-"`
}

Unstructured `payment_related_information` passed through by the originator.

func (*InboundACHTransferAddendaFreeform) UnmarshalJSON

func (r *InboundACHTransferAddendaFreeform) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferAddendaFreeformEntry

type InboundACHTransferAddendaFreeformEntry struct {
	// The payment related information passed in the addendum.
	PaymentRelatedInformation string                                     `json:"payment_related_information,required"`
	JSON                      inboundACHTransferAddendaFreeformEntryJSON `json:"-"`
}

func (*InboundACHTransferAddendaFreeformEntry) UnmarshalJSON

func (r *InboundACHTransferAddendaFreeformEntry) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferDecline

type InboundACHTransferDecline struct {
	// The time at which the transfer was declined.
	DeclinedAt time.Time `json:"declined_at,required" format:"date-time"`
	// The id of the transaction for the declined transfer.
	DeclinedTransactionID string `json:"declined_transaction_id,required"`
	// The reason for the transfer decline.
	Reason InboundACHTransferDeclineReason `json:"reason,required"`
	JSON   inboundACHTransferDeclineJSON   `json:"-"`
}

If your transfer is declined, this will contain details of the decline.

func (*InboundACHTransferDecline) UnmarshalJSON

func (r *InboundACHTransferDecline) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferDeclineParams added in v0.109.0

type InboundACHTransferDeclineParams struct {
	// The reason why this transfer will be returned. If this parameter is unset, the
	// return codes will be `payment_stopped` for debits and
	// `credit_entry_refused_by_receiver` for credits.
	Reason param.Field[InboundACHTransferDeclineParamsReason] `json:"reason"`
}

func (InboundACHTransferDeclineParams) MarshalJSON added in v0.109.0

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

type InboundACHTransferDeclineParamsReason added in v0.109.0

type InboundACHTransferDeclineParamsReason string

The reason why this transfer will be returned. If this parameter is unset, the return codes will be `payment_stopped` for debits and `credit_entry_refused_by_receiver` for credits.

const (
	InboundACHTransferDeclineParamsReasonInsufficientFunds                                           InboundACHTransferDeclineParamsReason = "insufficient_funds"
	InboundACHTransferDeclineParamsReasonReturnedPerOdfiRequest                                      InboundACHTransferDeclineParamsReason = "returned_per_odfi_request"
	InboundACHTransferDeclineParamsReasonAuthorizationRevokedByCustomer                              InboundACHTransferDeclineParamsReason = "authorization_revoked_by_customer"
	InboundACHTransferDeclineParamsReasonPaymentStopped                                              InboundACHTransferDeclineParamsReason = "payment_stopped"
	InboundACHTransferDeclineParamsReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   InboundACHTransferDeclineParamsReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	InboundACHTransferDeclineParamsReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferDeclineParamsReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	InboundACHTransferDeclineParamsReasonBeneficiaryOrAccountHolderDeceased                          InboundACHTransferDeclineParamsReason = "beneficiary_or_account_holder_deceased"
	InboundACHTransferDeclineParamsReasonCreditEntryRefusedByReceiver                                InboundACHTransferDeclineParamsReason = "credit_entry_refused_by_receiver"
	InboundACHTransferDeclineParamsReasonDuplicateEntry                                              InboundACHTransferDeclineParamsReason = "duplicate_entry"
	InboundACHTransferDeclineParamsReasonCorporateCustomerAdvisedNotAuthorized                       InboundACHTransferDeclineParamsReason = "corporate_customer_advised_not_authorized"
)

func (InboundACHTransferDeclineParamsReason) IsKnown added in v0.109.0

type InboundACHTransferDeclineReason

type InboundACHTransferDeclineReason string

The reason for the transfer decline.

const (
	InboundACHTransferDeclineReasonACHRouteCanceled                                            InboundACHTransferDeclineReason = "ach_route_canceled"
	InboundACHTransferDeclineReasonACHRouteDisabled                                            InboundACHTransferDeclineReason = "ach_route_disabled"
	InboundACHTransferDeclineReasonBreachesLimit                                               InboundACHTransferDeclineReason = "breaches_limit"
	InboundACHTransferDeclineReasonEntityNotActive                                             InboundACHTransferDeclineReason = "entity_not_active"
	InboundACHTransferDeclineReasonGroupLocked                                                 InboundACHTransferDeclineReason = "group_locked"
	InboundACHTransferDeclineReasonTransactionNotAllowed                                       InboundACHTransferDeclineReason = "transaction_not_allowed"
	InboundACHTransferDeclineReasonUserInitiated                                               InboundACHTransferDeclineReason = "user_initiated"
	InboundACHTransferDeclineReasonInsufficientFunds                                           InboundACHTransferDeclineReason = "insufficient_funds"
	InboundACHTransferDeclineReasonReturnedPerOdfiRequest                                      InboundACHTransferDeclineReason = "returned_per_odfi_request"
	InboundACHTransferDeclineReasonAuthorizationRevokedByCustomer                              InboundACHTransferDeclineReason = "authorization_revoked_by_customer"
	InboundACHTransferDeclineReasonPaymentStopped                                              InboundACHTransferDeclineReason = "payment_stopped"
	InboundACHTransferDeclineReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   InboundACHTransferDeclineReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	InboundACHTransferDeclineReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferDeclineReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	InboundACHTransferDeclineReasonBeneficiaryOrAccountHolderDeceased                          InboundACHTransferDeclineReason = "beneficiary_or_account_holder_deceased"
	InboundACHTransferDeclineReasonCreditEntryRefusedByReceiver                                InboundACHTransferDeclineReason = "credit_entry_refused_by_receiver"
	InboundACHTransferDeclineReasonDuplicateEntry                                              InboundACHTransferDeclineReason = "duplicate_entry"
	InboundACHTransferDeclineReasonCorporateCustomerAdvisedNotAuthorized                       InboundACHTransferDeclineReason = "corporate_customer_advised_not_authorized"
)

func (InboundACHTransferDeclineReason) IsKnown

type InboundACHTransferDirection

type InboundACHTransferDirection string

The direction of the transfer.

const (
	InboundACHTransferDirectionCredit InboundACHTransferDirection = "credit"
	InboundACHTransferDirectionDebit  InboundACHTransferDirection = "debit"
)

func (InboundACHTransferDirection) IsKnown

func (r InboundACHTransferDirection) IsKnown() bool

type InboundACHTransferInternationalAddenda

type InboundACHTransferInternationalAddenda struct {
	// The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2
	// country code of the destination country.
	DestinationCountryCode string `json:"destination_country_code,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code for the
	// destination bank account.
	DestinationCurrencyCode string `json:"destination_currency_code,required"`
	// A description of how the foreign exchange rate was calculated.
	ForeignExchangeIndicator InboundACHTransferInternationalAddendaForeignExchangeIndicator `json:"foreign_exchange_indicator,required"`
	// Depending on the `foreign_exchange_reference_indicator`, an exchange rate or a
	// reference to a well-known rate.
	ForeignExchangeReference string `json:"foreign_exchange_reference,required,nullable"`
	// An instruction of how to interpret the `foreign_exchange_reference` field for
	// this Transaction.
	ForeignExchangeReferenceIndicator InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator `json:"foreign_exchange_reference_indicator,required"`
	// The amount in the minor unit of the foreign payment currency. For dollars, for
	// example, this is cents.
	ForeignPaymentAmount int64 `json:"foreign_payment_amount,required"`
	// A reference number in the foreign banking infrastructure.
	ForeignTraceNumber string `json:"foreign_trace_number,required,nullable"`
	// The type of transfer. Set by the originator.
	InternationalTransactionTypeCode InboundACHTransferInternationalAddendaInternationalTransactionTypeCode `json:"international_transaction_type_code,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code for the
	// originating bank account.
	OriginatingCurrencyCode string `json:"originating_currency_code,required"`
	// The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2
	// country code of the originating branch country.
	OriginatingDepositoryFinancialInstitutionBranchCountry string `json:"originating_depository_financial_institution_branch_country,required"`
	// An identifier for the originating bank. One of an International Bank Account
	// Number (IBAN) bank identifier, SWIFT Bank Identification Code (BIC), or a
	// domestic identifier like a US Routing Number.
	OriginatingDepositoryFinancialInstitutionID string `json:"originating_depository_financial_institution_id,required"`
	// An instruction of how to interpret the
	// `originating_depository_financial_institution_id` field for this Transaction.
	OriginatingDepositoryFinancialInstitutionIDQualifier InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier `json:"originating_depository_financial_institution_id_qualifier,required"`
	// The name of the originating bank. Sometimes this will refer to an American bank
	// and obscure the correspondent foreign bank.
	OriginatingDepositoryFinancialInstitutionName string `json:"originating_depository_financial_institution_name,required"`
	// A portion of the originator address. This may be incomplete.
	OriginatorCity string `json:"originator_city,required"`
	// A portion of the originator address. The
	// [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2 country
	// code of the originator country.
	OriginatorCountry string `json:"originator_country,required"`
	// An identifier for the originating company. This is generally stable across
	// multiple ACH transfers.
	OriginatorIdentification string `json:"originator_identification,required"`
	// Either the name of the originator or an intermediary money transmitter.
	OriginatorName string `json:"originator_name,required"`
	// A portion of the originator address. This may be incomplete.
	OriginatorPostalCode string `json:"originator_postal_code,required,nullable"`
	// A portion of the originator address. This may be incomplete.
	OriginatorStateOrProvince string `json:"originator_state_or_province,required,nullable"`
	// A portion of the originator address. This may be incomplete.
	OriginatorStreetAddress string `json:"originator_street_address,required"`
	// A description field set by the originator.
	PaymentRelatedInformation string `json:"payment_related_information,required,nullable"`
	// A description field set by the originator.
	PaymentRelatedInformation2 string `json:"payment_related_information2,required,nullable"`
	// A portion of the receiver address. This may be incomplete.
	ReceiverCity string `json:"receiver_city,required"`
	// A portion of the receiver address. The
	// [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2 country
	// code of the receiver country.
	ReceiverCountry string `json:"receiver_country,required"`
	// An identification number the originator uses for the receiver.
	ReceiverIdentificationNumber string `json:"receiver_identification_number,required,nullable"`
	// A portion of the receiver address. This may be incomplete.
	ReceiverPostalCode string `json:"receiver_postal_code,required,nullable"`
	// A portion of the receiver address. This may be incomplete.
	ReceiverStateOrProvince string `json:"receiver_state_or_province,required,nullable"`
	// A portion of the receiver address. This may be incomplete.
	ReceiverStreetAddress string `json:"receiver_street_address,required"`
	// The name of the receiver of the transfer. This is not verified by Increase.
	ReceivingCompanyOrIndividualName string `json:"receiving_company_or_individual_name,required"`
	// The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2
	// country code of the receiving bank country.
	ReceivingDepositoryFinancialInstitutionCountry string `json:"receiving_depository_financial_institution_country,required"`
	// An identifier for the receiving bank. One of an International Bank Account
	// Number (IBAN) bank identifier, SWIFT Bank Identification Code (BIC), or a
	// domestic identifier like a US Routing Number.
	ReceivingDepositoryFinancialInstitutionID string `json:"receiving_depository_financial_institution_id,required"`
	// An instruction of how to interpret the
	// `receiving_depository_financial_institution_id` field for this Transaction.
	ReceivingDepositoryFinancialInstitutionIDQualifier InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier `json:"receiving_depository_financial_institution_id_qualifier,required"`
	// The name of the receiving bank, as set by the sending financial institution.
	ReceivingDepositoryFinancialInstitutionName string                                     `json:"receiving_depository_financial_institution_name,required"`
	JSON                                        inboundACHTransferInternationalAddendaJSON `json:"-"`
}

If the Inbound ACH Transfer has a Standard Entry Class Code of IAT, this will contain fields pertaining to the International ACH Transaction.

func (*InboundACHTransferInternationalAddenda) UnmarshalJSON

func (r *InboundACHTransferInternationalAddenda) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferInternationalAddendaForeignExchangeIndicator

type InboundACHTransferInternationalAddendaForeignExchangeIndicator string

A description of how the foreign exchange rate was calculated.

const (
	InboundACHTransferInternationalAddendaForeignExchangeIndicatorFixedToVariable InboundACHTransferInternationalAddendaForeignExchangeIndicator = "fixed_to_variable"
	InboundACHTransferInternationalAddendaForeignExchangeIndicatorVariableToFixed InboundACHTransferInternationalAddendaForeignExchangeIndicator = "variable_to_fixed"
	InboundACHTransferInternationalAddendaForeignExchangeIndicatorFixedToFixed    InboundACHTransferInternationalAddendaForeignExchangeIndicator = "fixed_to_fixed"
)

func (InboundACHTransferInternationalAddendaForeignExchangeIndicator) IsKnown

type InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator

type InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator string

An instruction of how to interpret the `foreign_exchange_reference` field for this Transaction.

const (
	InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicatorForeignExchangeRate            InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator = "foreign_exchange_rate"
	InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicatorForeignExchangeReferenceNumber InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator = "foreign_exchange_reference_number"
	InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicatorBlank                          InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator = "blank"
)

func (InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator) IsKnown

type InboundACHTransferInternationalAddendaInternationalTransactionTypeCode

type InboundACHTransferInternationalAddendaInternationalTransactionTypeCode string

The type of transfer. Set by the originator.

const (
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeAnnuity                  InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "annuity"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeBusinessOrCommercial     InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "business_or_commercial"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeDeposit                  InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "deposit"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeLoan                     InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "loan"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeMiscellaneous            InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "miscellaneous"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeMortgage                 InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "mortgage"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodePension                  InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "pension"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeRemittance               InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "remittance"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeRentOrLease              InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "rent_or_lease"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeSalaryOrPayroll          InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "salary_or_payroll"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeTax                      InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "tax"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeAccountsReceivable       InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "accounts_receivable"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeBackOfficeConversion     InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "back_office_conversion"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeMachineTransfer          InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "machine_transfer"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodePointOfPurchase          InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "point_of_purchase"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodePointOfSale              InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "point_of_sale"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeRepresentedCheck         InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "represented_check"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeSharedNetworkTransaction InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "shared_network_transaction"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeTelphoneInitiated        InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "telphone_initiated"
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeInternetInitiated        InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "internet_initiated"
)

func (InboundACHTransferInternationalAddendaInternationalTransactionTypeCode) IsKnown

type InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier

type InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier string

An instruction of how to interpret the `originating_depository_financial_institution_id` field for this Transaction.

const (
	InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifierBicCode                      InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifierIban                         InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier) IsKnown

type InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier

type InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier string

An instruction of how to interpret the `receiving_depository_financial_institution_id` field for this Transaction.

const (
	InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifierBicCode                      InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifierIban                         InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier) IsKnown

type InboundACHTransferListParams

type InboundACHTransferListParams struct {
	// Filter Inbound ACH Transfers to ones belonging to the specified Account.
	AccountID param.Field[string] `query:"account_id"`
	// Filter Inbound ACH Transfers to ones belonging to the specified Account Number.
	AccountNumberID param.Field[string]                                `query:"account_number_id"`
	CreatedAt       param.Field[InboundACHTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                              `query:"limit"`
	Status param.Field[InboundACHTransferListParamsStatus] `query:"status"`
}

func (InboundACHTransferListParams) URLQuery

func (r InboundACHTransferListParams) URLQuery() (v url.Values)

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

type InboundACHTransferListParamsCreatedAt

type InboundACHTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (InboundACHTransferListParamsCreatedAt) URLQuery

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

type InboundACHTransferListParamsStatus

type InboundACHTransferListParamsStatus struct {
	// Filter Inbound ACH Transfers to those with the specified status. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]InboundACHTransferListParamsStatusIn] `query:"in"`
}

func (InboundACHTransferListParamsStatus) URLQuery added in v0.191.0

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

type InboundACHTransferListParamsStatusIn added in v0.191.0

type InboundACHTransferListParamsStatusIn string
const (
	InboundACHTransferListParamsStatusInPending  InboundACHTransferListParamsStatusIn = "pending"
	InboundACHTransferListParamsStatusInDeclined InboundACHTransferListParamsStatusIn = "declined"
	InboundACHTransferListParamsStatusInAccepted InboundACHTransferListParamsStatusIn = "accepted"
	InboundACHTransferListParamsStatusInReturned InboundACHTransferListParamsStatusIn = "returned"
)

func (InboundACHTransferListParamsStatusIn) IsKnown added in v0.191.0

type InboundACHTransferNewNotificationOfChangeParams

type InboundACHTransferNewNotificationOfChangeParams struct {
	// The updated account number to send in the notification of change.
	UpdatedAccountNumber param.Field[string] `json:"updated_account_number"`
	// The updated routing number to send in the notification of change.
	UpdatedRoutingNumber param.Field[string] `json:"updated_routing_number"`
}

func (InboundACHTransferNewNotificationOfChangeParams) MarshalJSON

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

type InboundACHTransferNotificationOfChange

type InboundACHTransferNotificationOfChange struct {
	// The new account number provided in the notification of change.
	UpdatedAccountNumber string `json:"updated_account_number,required,nullable"`
	// The new account number provided in the notification of change.
	UpdatedRoutingNumber string                                     `json:"updated_routing_number,required,nullable"`
	JSON                 inboundACHTransferNotificationOfChangeJSON `json:"-"`
}

If you initiate a notification of change in response to the transfer, this will contain its details.

func (*InboundACHTransferNotificationOfChange) UnmarshalJSON

func (r *InboundACHTransferNotificationOfChange) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferService

type InboundACHTransferService struct {
	Options []option.RequestOption
}

InboundACHTransferService contains methods and other services that help with interacting with the increase 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 NewInboundACHTransferService method instead.

func NewInboundACHTransferService

func NewInboundACHTransferService(opts ...option.RequestOption) (r *InboundACHTransferService)

NewInboundACHTransferService 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 (*InboundACHTransferService) Decline

func (r *InboundACHTransferService) Decline(ctx context.Context, inboundACHTransferID string, body InboundACHTransferDeclineParams, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Decline an Inbound ACH Transfer

func (*InboundACHTransferService) Get

func (r *InboundACHTransferService) Get(ctx context.Context, inboundACHTransferID string, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Retrieve an Inbound ACH Transfer

func (*InboundACHTransferService) List

List Inbound ACH Transfers

func (*InboundACHTransferService) ListAutoPaging

List Inbound ACH Transfers

func (*InboundACHTransferService) NewNotificationOfChange

func (r *InboundACHTransferService) NewNotificationOfChange(ctx context.Context, inboundACHTransferID string, body InboundACHTransferNewNotificationOfChangeParams, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Create a notification of change for an Inbound ACH Transfer

func (*InboundACHTransferService) TransferReturn

func (r *InboundACHTransferService) TransferReturn(ctx context.Context, inboundACHTransferID string, body InboundACHTransferTransferReturnParams, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Return an Inbound ACH Transfer

type InboundACHTransferSettlement added in v0.247.0

type InboundACHTransferSettlement struct {
	// When the funds for this transfer settle at the recipient bank at the Federal
	// Reserve.
	SettledAt time.Time `json:"settled_at,required" format:"date-time"`
	// The settlement schedule this transfer follows.
	SettlementSchedule InboundACHTransferSettlementSettlementSchedule `json:"settlement_schedule,required"`
	JSON               inboundACHTransferSettlementJSON               `json:"-"`
}

A subhash containing information about when and how the transfer settled at the Federal Reserve.

func (*InboundACHTransferSettlement) UnmarshalJSON added in v0.247.0

func (r *InboundACHTransferSettlement) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferSettlementSettlementSchedule added in v0.247.0

type InboundACHTransferSettlementSettlementSchedule string

The settlement schedule this transfer follows.

const (
	InboundACHTransferSettlementSettlementScheduleSameDay     InboundACHTransferSettlementSettlementSchedule = "same_day"
	InboundACHTransferSettlementSettlementScheduleFutureDated InboundACHTransferSettlementSettlementSchedule = "future_dated"
)

func (InboundACHTransferSettlementSettlementSchedule) IsKnown added in v0.247.0

type InboundACHTransferStandardEntryClassCode

type InboundACHTransferStandardEntryClassCode string

The Standard Entry Class (SEC) code of the transfer.

const (
	InboundACHTransferStandardEntryClassCodeCorporateCreditOrDebit        InboundACHTransferStandardEntryClassCode = "corporate_credit_or_debit"
	InboundACHTransferStandardEntryClassCodeCorporateTradeExchange        InboundACHTransferStandardEntryClassCode = "corporate_trade_exchange"
	InboundACHTransferStandardEntryClassCodePrearrangedPaymentsAndDeposit InboundACHTransferStandardEntryClassCode = "prearranged_payments_and_deposit"
	InboundACHTransferStandardEntryClassCodeInternetInitiated             InboundACHTransferStandardEntryClassCode = "internet_initiated"
	InboundACHTransferStandardEntryClassCodePointOfSale                   InboundACHTransferStandardEntryClassCode = "point_of_sale"
	InboundACHTransferStandardEntryClassCodeTelephoneInitiated            InboundACHTransferStandardEntryClassCode = "telephone_initiated"
	InboundACHTransferStandardEntryClassCodeCustomerInitiated             InboundACHTransferStandardEntryClassCode = "customer_initiated"
	InboundACHTransferStandardEntryClassCodeAccountsReceivable            InboundACHTransferStandardEntryClassCode = "accounts_receivable"
	InboundACHTransferStandardEntryClassCodeMachineTransfer               InboundACHTransferStandardEntryClassCode = "machine_transfer"
	InboundACHTransferStandardEntryClassCodeSharedNetworkTransaction      InboundACHTransferStandardEntryClassCode = "shared_network_transaction"
	InboundACHTransferStandardEntryClassCodeRepresentedCheck              InboundACHTransferStandardEntryClassCode = "represented_check"
	InboundACHTransferStandardEntryClassCodeBackOfficeConversion          InboundACHTransferStandardEntryClassCode = "back_office_conversion"
	InboundACHTransferStandardEntryClassCodePointOfPurchase               InboundACHTransferStandardEntryClassCode = "point_of_purchase"
	InboundACHTransferStandardEntryClassCodeCheckTruncation               InboundACHTransferStandardEntryClassCode = "check_truncation"
	InboundACHTransferStandardEntryClassCodeDestroyedCheck                InboundACHTransferStandardEntryClassCode = "destroyed_check"
	InboundACHTransferStandardEntryClassCodeInternationalACHTransaction   InboundACHTransferStandardEntryClassCode = "international_ach_transaction"
)

func (InboundACHTransferStandardEntryClassCode) IsKnown

type InboundACHTransferStatus

type InboundACHTransferStatus string

The status of the transfer.

const (
	InboundACHTransferStatusPending  InboundACHTransferStatus = "pending"
	InboundACHTransferStatusDeclined InboundACHTransferStatus = "declined"
	InboundACHTransferStatusAccepted InboundACHTransferStatus = "accepted"
	InboundACHTransferStatusReturned InboundACHTransferStatus = "returned"
)

func (InboundACHTransferStatus) IsKnown

func (r InboundACHTransferStatus) IsKnown() bool

type InboundACHTransferTransferReturn

type InboundACHTransferTransferReturn struct {
	// The reason for the transfer return.
	Reason InboundACHTransferTransferReturnReason `json:"reason,required"`
	// The time at which the transfer was returned.
	ReturnedAt time.Time `json:"returned_at,required" format:"date-time"`
	// The id of the transaction for the returned transfer.
	TransactionID string                               `json:"transaction_id,required"`
	JSON          inboundACHTransferTransferReturnJSON `json:"-"`
}

If your transfer is returned, this will contain details of the return.

func (*InboundACHTransferTransferReturn) UnmarshalJSON

func (r *InboundACHTransferTransferReturn) UnmarshalJSON(data []byte) (err error)

type InboundACHTransferTransferReturnParams

type InboundACHTransferTransferReturnParams struct {
	// The reason why this transfer will be returned. The most usual return codes are
	// `payment_stopped` for debits and `credit_entry_refused_by_receiver` for credits.
	Reason param.Field[InboundACHTransferTransferReturnParamsReason] `json:"reason,required"`
}

func (InboundACHTransferTransferReturnParams) MarshalJSON

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

type InboundACHTransferTransferReturnParamsReason

type InboundACHTransferTransferReturnParamsReason string

The reason why this transfer will be returned. The most usual return codes are `payment_stopped` for debits and `credit_entry_refused_by_receiver` for credits.

const (
	InboundACHTransferTransferReturnParamsReasonInsufficientFunds                                           InboundACHTransferTransferReturnParamsReason = "insufficient_funds"
	InboundACHTransferTransferReturnParamsReasonAuthorizationRevokedByCustomer                              InboundACHTransferTransferReturnParamsReason = "authorization_revoked_by_customer"
	InboundACHTransferTransferReturnParamsReasonPaymentStopped                                              InboundACHTransferTransferReturnParamsReason = "payment_stopped"
	InboundACHTransferTransferReturnParamsReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   InboundACHTransferTransferReturnParamsReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	InboundACHTransferTransferReturnParamsReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferTransferReturnParamsReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	InboundACHTransferTransferReturnParamsReasonBeneficiaryOrAccountHolderDeceased                          InboundACHTransferTransferReturnParamsReason = "beneficiary_or_account_holder_deceased"
	InboundACHTransferTransferReturnParamsReasonCreditEntryRefusedByReceiver                                InboundACHTransferTransferReturnParamsReason = "credit_entry_refused_by_receiver"
	InboundACHTransferTransferReturnParamsReasonDuplicateEntry                                              InboundACHTransferTransferReturnParamsReason = "duplicate_entry"
	InboundACHTransferTransferReturnParamsReasonCorporateCustomerAdvisedNotAuthorized                       InboundACHTransferTransferReturnParamsReason = "corporate_customer_advised_not_authorized"
)

func (InboundACHTransferTransferReturnParamsReason) IsKnown

type InboundACHTransferTransferReturnReason

type InboundACHTransferTransferReturnReason string

The reason for the transfer return.

const (
	InboundACHTransferTransferReturnReasonInsufficientFunds                                           InboundACHTransferTransferReturnReason = "insufficient_funds"
	InboundACHTransferTransferReturnReasonReturnedPerOdfiRequest                                      InboundACHTransferTransferReturnReason = "returned_per_odfi_request"
	InboundACHTransferTransferReturnReasonAuthorizationRevokedByCustomer                              InboundACHTransferTransferReturnReason = "authorization_revoked_by_customer"
	InboundACHTransferTransferReturnReasonPaymentStopped                                              InboundACHTransferTransferReturnReason = "payment_stopped"
	InboundACHTransferTransferReturnReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   InboundACHTransferTransferReturnReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	InboundACHTransferTransferReturnReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferTransferReturnReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	InboundACHTransferTransferReturnReasonBeneficiaryOrAccountHolderDeceased                          InboundACHTransferTransferReturnReason = "beneficiary_or_account_holder_deceased"
	InboundACHTransferTransferReturnReasonCreditEntryRefusedByReceiver                                InboundACHTransferTransferReturnReason = "credit_entry_refused_by_receiver"
	InboundACHTransferTransferReturnReasonDuplicateEntry                                              InboundACHTransferTransferReturnReason = "duplicate_entry"
	InboundACHTransferTransferReturnReasonCorporateCustomerAdvisedNotAuthorized                       InboundACHTransferTransferReturnReason = "corporate_customer_advised_not_authorized"
)

func (InboundACHTransferTransferReturnReason) IsKnown

type InboundACHTransferType

type InboundACHTransferType string

A constant representing the object's type. For this resource it will always be `inbound_ach_transfer`.

const (
	InboundACHTransferTypeInboundACHTransfer InboundACHTransferType = "inbound_ach_transfer"
)

func (InboundACHTransferType) IsKnown

func (r InboundACHTransferType) IsKnown() bool

type InboundCheckDeposit

type InboundCheckDeposit struct {
	// The deposit's identifier.
	ID string `json:"id,required"`
	// If the Inbound Check Deposit was accepted, the
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which this
	// took place.
	AcceptedAt time.Time `json:"accepted_at,required,nullable" format:"date-time"`
	// The Account the check is being deposited against.
	AccountID string `json:"account_id,required"`
	// The Account Number the check is being deposited against.
	AccountNumberID string `json:"account_number_id,required,nullable"`
	// If the deposit or the return was adjusted by the sending institution, this will
	// contain details of the adjustments.
	Adjustments []InboundCheckDepositAdjustment `json:"adjustments,required"`
	// The deposited amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The ID for the File containing the image of the back of the check.
	BackImageFileID string `json:"back_image_file_id,required,nullable"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// bank depositing this check. In some rare cases, this is not transmitted via
	// Check21 and the value will be null.
	BankOfFirstDepositRoutingNumber string `json:"bank_of_first_deposit_routing_number,required,nullable"`
	// The check number printed on the check being deposited.
	CheckNumber string `json:"check_number,required,nullable"`
	// If this deposit is for an existing Check Transfer, the identifier of that Check
	// Transfer.
	CheckTransferID string `json:"check_transfer_id,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the deposit was attempted.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the deposit.
	Currency InboundCheckDepositCurrency `json:"currency,required"`
	// If the Inbound Check Deposit was declined, the
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which this
	// took place.
	DeclinedAt time.Time `json:"declined_at,required,nullable" format:"date-time"`
	// If the deposit attempt has been rejected, the identifier of the Declined
	// Transaction object created as a result of the failed deposit.
	DeclinedTransactionID string `json:"declined_transaction_id,required,nullable"`
	// If you requested a return of this deposit, this will contain details of the
	// return.
	DepositReturn InboundCheckDepositDepositReturn `json:"deposit_return,required,nullable"`
	// The ID for the File containing the image of the front of the check.
	FrontImageFileID string `json:"front_image_file_id,required,nullable"`
	// Whether the details on the check match the recipient name of the check transfer.
	// This is an optional feature, contact sales to enable.
	PayeeNameAnalysis InboundCheckDepositPayeeNameAnalysis `json:"payee_name_analysis,required"`
	// The status of the Inbound Check Deposit.
	Status InboundCheckDepositStatus `json:"status,required"`
	// If the deposit attempt has been accepted, the identifier of the Transaction
	// object created as a result of the successful deposit.
	TransactionID string `json:"transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_check_deposit`.
	Type InboundCheckDepositType `json:"type,required"`
	JSON inboundCheckDepositJSON `json:"-"`
}

Inbound Check Deposits are records of third-parties attempting to deposit checks against your account.

func (*InboundCheckDeposit) UnmarshalJSON

func (r *InboundCheckDeposit) UnmarshalJSON(data []byte) (err error)

type InboundCheckDepositAdjustment added in v0.114.0

type InboundCheckDepositAdjustment struct {
	// The time at which the return adjustment was received.
	AdjustedAt time.Time `json:"adjusted_at,required" format:"date-time"`
	// The amount of the adjustment.
	Amount int64 `json:"amount,required"`
	// The reason for the adjustment.
	Reason InboundCheckDepositAdjustmentsReason `json:"reason,required"`
	// The id of the transaction for the adjustment.
	TransactionID string                            `json:"transaction_id,required"`
	JSON          inboundCheckDepositAdjustmentJSON `json:"-"`
}

func (*InboundCheckDepositAdjustment) UnmarshalJSON added in v0.114.0

func (r *InboundCheckDepositAdjustment) UnmarshalJSON(data []byte) (err error)

type InboundCheckDepositAdjustmentsReason added in v0.114.0

type InboundCheckDepositAdjustmentsReason string

The reason for the adjustment.

const (
	InboundCheckDepositAdjustmentsReasonLateReturn        InboundCheckDepositAdjustmentsReason = "late_return"
	InboundCheckDepositAdjustmentsReasonWrongPayeeCredit  InboundCheckDepositAdjustmentsReason = "wrong_payee_credit"
	InboundCheckDepositAdjustmentsReasonAdjustedAmount    InboundCheckDepositAdjustmentsReason = "adjusted_amount"
	InboundCheckDepositAdjustmentsReasonNonConformingItem InboundCheckDepositAdjustmentsReason = "non_conforming_item"
)

func (InboundCheckDepositAdjustmentsReason) IsKnown added in v0.114.0

type InboundCheckDepositCurrency

type InboundCheckDepositCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the deposit.

const (
	InboundCheckDepositCurrencyCad InboundCheckDepositCurrency = "CAD"
	InboundCheckDepositCurrencyChf InboundCheckDepositCurrency = "CHF"
	InboundCheckDepositCurrencyEur InboundCheckDepositCurrency = "EUR"
	InboundCheckDepositCurrencyGbp InboundCheckDepositCurrency = "GBP"
	InboundCheckDepositCurrencyJpy InboundCheckDepositCurrency = "JPY"
	InboundCheckDepositCurrencyUsd InboundCheckDepositCurrency = "USD"
)

func (InboundCheckDepositCurrency) IsKnown

func (r InboundCheckDepositCurrency) IsKnown() bool

type InboundCheckDepositDepositReturn

type InboundCheckDepositDepositReturn struct {
	// The reason the deposit was returned.
	Reason InboundCheckDepositDepositReturnReason `json:"reason,required"`
	// The time at which the deposit was returned.
	ReturnedAt time.Time `json:"returned_at,required" format:"date-time"`
	// The id of the transaction for the returned deposit.
	TransactionID string                               `json:"transaction_id,required"`
	JSON          inboundCheckDepositDepositReturnJSON `json:"-"`
}

If you requested a return of this deposit, this will contain details of the return.

func (*InboundCheckDepositDepositReturn) UnmarshalJSON

func (r *InboundCheckDepositDepositReturn) UnmarshalJSON(data []byte) (err error)

type InboundCheckDepositDepositReturnReason

type InboundCheckDepositDepositReturnReason string

The reason the deposit was returned.

const (
	InboundCheckDepositDepositReturnReasonAlteredOrFictitious  InboundCheckDepositDepositReturnReason = "altered_or_fictitious"
	InboundCheckDepositDepositReturnReasonNotAuthorized        InboundCheckDepositDepositReturnReason = "not_authorized"
	InboundCheckDepositDepositReturnReasonDuplicatePresentment InboundCheckDepositDepositReturnReason = "duplicate_presentment"
	InboundCheckDepositDepositReturnReasonEndorsementMissing   InboundCheckDepositDepositReturnReason = "endorsement_missing"
	InboundCheckDepositDepositReturnReasonEndorsementIrregular InboundCheckDepositDepositReturnReason = "endorsement_irregular"
)

func (InboundCheckDepositDepositReturnReason) IsKnown

type InboundCheckDepositListParams

type InboundCheckDepositListParams struct {
	// Filter Inbound Check Deposits to those belonging to the specified Account.
	AccountID param.Field[string] `query:"account_id"`
	// Filter Inbound Check Deposits to those belonging to the specified Check
	// Transfer.
	CheckTransferID param.Field[string]                                 `query:"check_transfer_id"`
	CreatedAt       param.Field[InboundCheckDepositListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (InboundCheckDepositListParams) URLQuery

func (r InboundCheckDepositListParams) URLQuery() (v url.Values)

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

type InboundCheckDepositListParamsCreatedAt

type InboundCheckDepositListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (InboundCheckDepositListParamsCreatedAt) URLQuery

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

type InboundCheckDepositPayeeNameAnalysis added in v0.146.0

type InboundCheckDepositPayeeNameAnalysis string

Whether the details on the check match the recipient name of the check transfer. This is an optional feature, contact sales to enable.

const (
	InboundCheckDepositPayeeNameAnalysisNameMatches  InboundCheckDepositPayeeNameAnalysis = "name_matches"
	InboundCheckDepositPayeeNameAnalysisDoesNotMatch InboundCheckDepositPayeeNameAnalysis = "does_not_match"
	InboundCheckDepositPayeeNameAnalysisNotEvaluated InboundCheckDepositPayeeNameAnalysis = "not_evaluated"
)

func (InboundCheckDepositPayeeNameAnalysis) IsKnown added in v0.146.0

type InboundCheckDepositReturnParams

type InboundCheckDepositReturnParams struct {
	// The reason to return the Inbound Check Deposit.
	Reason param.Field[InboundCheckDepositReturnParamsReason] `json:"reason,required"`
}

func (InboundCheckDepositReturnParams) MarshalJSON

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

type InboundCheckDepositReturnParamsReason

type InboundCheckDepositReturnParamsReason string

The reason to return the Inbound Check Deposit.

const (
	InboundCheckDepositReturnParamsReasonAlteredOrFictitious  InboundCheckDepositReturnParamsReason = "altered_or_fictitious"
	InboundCheckDepositReturnParamsReasonNotAuthorized        InboundCheckDepositReturnParamsReason = "not_authorized"
	InboundCheckDepositReturnParamsReasonDuplicatePresentment InboundCheckDepositReturnParamsReason = "duplicate_presentment"
	InboundCheckDepositReturnParamsReasonEndorsementMissing   InboundCheckDepositReturnParamsReason = "endorsement_missing"
	InboundCheckDepositReturnParamsReasonEndorsementIrregular InboundCheckDepositReturnParamsReason = "endorsement_irregular"
)

func (InboundCheckDepositReturnParamsReason) IsKnown

type InboundCheckDepositService

type InboundCheckDepositService struct {
	Options []option.RequestOption
}

InboundCheckDepositService contains methods and other services that help with interacting with the increase 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 NewInboundCheckDepositService method instead.

func NewInboundCheckDepositService

func NewInboundCheckDepositService(opts ...option.RequestOption) (r *InboundCheckDepositService)

NewInboundCheckDepositService 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 (*InboundCheckDepositService) Decline

func (r *InboundCheckDepositService) Decline(ctx context.Context, inboundCheckDepositID string, opts ...option.RequestOption) (res *InboundCheckDeposit, err error)

Decline an Inbound Check Deposit

func (*InboundCheckDepositService) Get

func (r *InboundCheckDepositService) Get(ctx context.Context, inboundCheckDepositID string, opts ...option.RequestOption) (res *InboundCheckDeposit, err error)

Retrieve an Inbound Check Deposit

func (*InboundCheckDepositService) List

List Inbound Check Deposits

func (*InboundCheckDepositService) ListAutoPaging

List Inbound Check Deposits

func (*InboundCheckDepositService) Return

func (r *InboundCheckDepositService) Return(ctx context.Context, inboundCheckDepositID string, body InboundCheckDepositReturnParams, opts ...option.RequestOption) (res *InboundCheckDeposit, err error)

Return an Inbound Check Deposit

type InboundCheckDepositStatus

type InboundCheckDepositStatus string

The status of the Inbound Check Deposit.

const (
	InboundCheckDepositStatusPending           InboundCheckDepositStatus = "pending"
	InboundCheckDepositStatusAccepted          InboundCheckDepositStatus = "accepted"
	InboundCheckDepositStatusDeclined          InboundCheckDepositStatus = "declined"
	InboundCheckDepositStatusReturned          InboundCheckDepositStatus = "returned"
	InboundCheckDepositStatusRequiresAttention InboundCheckDepositStatus = "requires_attention"
)

func (InboundCheckDepositStatus) IsKnown

func (r InboundCheckDepositStatus) IsKnown() bool

type InboundCheckDepositType

type InboundCheckDepositType string

A constant representing the object's type. For this resource it will always be `inbound_check_deposit`.

const (
	InboundCheckDepositTypeInboundCheckDeposit InboundCheckDepositType = "inbound_check_deposit"
)

func (InboundCheckDepositType) IsKnown

func (r InboundCheckDepositType) IsKnown() bool

type InboundMailItem

type InboundMailItem struct {
	// The Inbound Mail Item identifier.
	ID string `json:"id,required"`
	// The checks in the mail item.
	Checks []InboundMailItemCheck `json:"checks,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Inbound
	// Mail Item was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The identifier for the File containing the scanned contents of the mail item.
	FileID string `json:"file_id,required"`
	// The identifier for the Lockbox that received this mail item. For mail items that
	// could not be processed due to an invalid address, this will be null.
	LockboxID string `json:"lockbox_id,required,nullable"`
	// The recipient name as written on the mail item.
	RecipientName string `json:"recipient_name,required,nullable"`
	// If the mail item has been rejected, why it was rejected.
	RejectionReason InboundMailItemRejectionReason `json:"rejection_reason,required,nullable"`
	// If the mail item has been processed.
	Status InboundMailItemStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_mail_item`.
	Type InboundMailItemType `json:"type,required"`
	JSON inboundMailItemJSON `json:"-"`
}

Inbound Mail Items represent pieces of physical mail delivered to a Lockbox.

func (*InboundMailItem) UnmarshalJSON

func (r *InboundMailItem) UnmarshalJSON(data []byte) (err error)

type InboundMailItemCheck added in v0.247.0

type InboundMailItemCheck struct {
	// The amount of the check.
	Amount int64 `json:"amount,required"`
	// The identifier for the File containing the back of the check.
	BackFileID string `json:"back_file_id,required,nullable"`
	// The identifier for the File containing the front of the check.
	FrontFileID string                   `json:"front_file_id,required,nullable"`
	JSON        inboundMailItemCheckJSON `json:"-"`
}

Inbound Mail Item Checks represent the checks in an Inbound Mail Item.

func (*InboundMailItemCheck) UnmarshalJSON added in v0.247.0

func (r *InboundMailItemCheck) UnmarshalJSON(data []byte) (err error)

type InboundMailItemListParams

type InboundMailItemListParams struct {
	CreatedAt param.Field[InboundMailItemListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter Inbound Mail Items to ones sent to the provided Lockbox.
	LockboxID param.Field[string] `query:"lockbox_id"`
}

func (InboundMailItemListParams) URLQuery

func (r InboundMailItemListParams) URLQuery() (v url.Values)

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

type InboundMailItemListParamsCreatedAt

type InboundMailItemListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (InboundMailItemListParamsCreatedAt) URLQuery

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

type InboundMailItemRejectionReason

type InboundMailItemRejectionReason string

If the mail item has been rejected, why it was rejected.

const (
	InboundMailItemRejectionReasonNoMatchingLockbox InboundMailItemRejectionReason = "no_matching_lockbox"
	InboundMailItemRejectionReasonNoCheck           InboundMailItemRejectionReason = "no_check"
	InboundMailItemRejectionReasonLockboxNotActive  InboundMailItemRejectionReason = "lockbox_not_active"
)

func (InboundMailItemRejectionReason) IsKnown

type InboundMailItemService

type InboundMailItemService struct {
	Options []option.RequestOption
}

InboundMailItemService contains methods and other services that help with interacting with the increase 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 NewInboundMailItemService method instead.

func NewInboundMailItemService

func NewInboundMailItemService(opts ...option.RequestOption) (r *InboundMailItemService)

NewInboundMailItemService 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 (*InboundMailItemService) Get

func (r *InboundMailItemService) Get(ctx context.Context, inboundMailItemID string, opts ...option.RequestOption) (res *InboundMailItem, err error)

Retrieve an Inbound Mail Item

func (*InboundMailItemService) List

List Inbound Mail Items

func (*InboundMailItemService) ListAutoPaging

List Inbound Mail Items

type InboundMailItemStatus

type InboundMailItemStatus string

If the mail item has been processed.

const (
	InboundMailItemStatusPending   InboundMailItemStatus = "pending"
	InboundMailItemStatusProcessed InboundMailItemStatus = "processed"
	InboundMailItemStatusRejected  InboundMailItemStatus = "rejected"
)

func (InboundMailItemStatus) IsKnown

func (r InboundMailItemStatus) IsKnown() bool

type InboundMailItemType

type InboundMailItemType string

A constant representing the object's type. For this resource it will always be `inbound_mail_item`.

const (
	InboundMailItemTypeInboundMailItem InboundMailItemType = "inbound_mail_item"
)

func (InboundMailItemType) IsKnown

func (r InboundMailItemType) IsKnown() bool

type InboundRealTimePaymentsTransfer

type InboundRealTimePaymentsTransfer struct {
	// The inbound Real-Time Payments transfer's identifier.
	ID string `json:"id,required"`
	// The Account to which the transfer was sent.
	AccountID string `json:"account_id,required"`
	// The identifier of the Account Number to which this transfer was sent.
	AccountNumberID string `json:"account_number_id,required"`
	// The amount in USD cents.
	Amount int64 `json:"amount,required"`
	// If your transfer is confirmed, this will contain details of the confirmation.
	Confirmation InboundRealTimePaymentsTransferConfirmation `json:"confirmation,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The name the sender of the transfer specified as the recipient of the transfer.
	CreditorName string `json:"creditor_name,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the transfer's
	// currency. This will always be "USD" for a Real-Time Payments transfer.
	Currency InboundRealTimePaymentsTransferCurrency `json:"currency,required"`
	// The account number of the account that sent the transfer.
	DebtorAccountNumber string `json:"debtor_account_number,required"`
	// The name provided by the sender of the transfer.
	DebtorName string `json:"debtor_name,required"`
	// The routing number of the account that sent the transfer.
	DebtorRoutingNumber string `json:"debtor_routing_number,required"`
	// If your transfer is declined, this will contain details of the decline.
	Decline InboundRealTimePaymentsTransferDecline `json:"decline,required,nullable"`
	// Additional information included with the transfer.
	RemittanceInformation string `json:"remittance_information,required,nullable"`
	// The lifecycle status of the transfer.
	Status InboundRealTimePaymentsTransferStatus `json:"status,required"`
	// The Real-Time Payments network identification of the transfer.
	TransactionIdentification string `json:"transaction_identification,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_real_time_payments_transfer`.
	Type InboundRealTimePaymentsTransferType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferJSON `json:"-"`
}

An Inbound Real-Time Payments Transfer is a Real-Time Payments transfer initiated outside of Increase to your account.

func (*InboundRealTimePaymentsTransfer) UnmarshalJSON

func (r *InboundRealTimePaymentsTransfer) UnmarshalJSON(data []byte) (err error)

type InboundRealTimePaymentsTransferConfirmation

type InboundRealTimePaymentsTransferConfirmation struct {
	// The time at which the transfer was confirmed.
	ConfirmedAt time.Time `json:"confirmed_at,required" format:"date-time"`
	// The id of the transaction for the confirmed transfer.
	TransactionID string                                          `json:"transaction_id,required"`
	JSON          inboundRealTimePaymentsTransferConfirmationJSON `json:"-"`
}

If your transfer is confirmed, this will contain details of the confirmation.

func (*InboundRealTimePaymentsTransferConfirmation) UnmarshalJSON

func (r *InboundRealTimePaymentsTransferConfirmation) UnmarshalJSON(data []byte) (err error)

type InboundRealTimePaymentsTransferCurrency

type InboundRealTimePaymentsTransferCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the transfer's currency. This will always be "USD" for a Real-Time Payments transfer.

const (
	InboundRealTimePaymentsTransferCurrencyCad InboundRealTimePaymentsTransferCurrency = "CAD"
	InboundRealTimePaymentsTransferCurrencyChf InboundRealTimePaymentsTransferCurrency = "CHF"
	InboundRealTimePaymentsTransferCurrencyEur InboundRealTimePaymentsTransferCurrency = "EUR"
	InboundRealTimePaymentsTransferCurrencyGbp InboundRealTimePaymentsTransferCurrency = "GBP"
	InboundRealTimePaymentsTransferCurrencyJpy InboundRealTimePaymentsTransferCurrency = "JPY"
	InboundRealTimePaymentsTransferCurrencyUsd InboundRealTimePaymentsTransferCurrency = "USD"
)

func (InboundRealTimePaymentsTransferCurrency) IsKnown

type InboundRealTimePaymentsTransferDecline

type InboundRealTimePaymentsTransferDecline struct {
	// The time at which the transfer was declined.
	DeclinedAt time.Time `json:"declined_at,required" format:"date-time"`
	// The id of the transaction for the declined transfer.
	DeclinedTransactionID string `json:"declined_transaction_id,required"`
	// The reason for the transfer decline.
	Reason InboundRealTimePaymentsTransferDeclineReason `json:"reason,required"`
	JSON   inboundRealTimePaymentsTransferDeclineJSON   `json:"-"`
}

If your transfer is declined, this will contain details of the decline.

func (*InboundRealTimePaymentsTransferDecline) UnmarshalJSON

func (r *InboundRealTimePaymentsTransferDecline) UnmarshalJSON(data []byte) (err error)

type InboundRealTimePaymentsTransferDeclineReason

type InboundRealTimePaymentsTransferDeclineReason string

The reason for the transfer decline.

const (
	InboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled      InboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	InboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled      InboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	InboundRealTimePaymentsTransferDeclineReasonAccountRestricted          InboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	InboundRealTimePaymentsTransferDeclineReasonGroupLocked                InboundRealTimePaymentsTransferDeclineReason = "group_locked"
	InboundRealTimePaymentsTransferDeclineReasonEntityNotActive            InboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	InboundRealTimePaymentsTransferDeclineReasonRealTimePaymentsNotEnabled InboundRealTimePaymentsTransferDeclineReason = "real_time_payments_not_enabled"
)

func (InboundRealTimePaymentsTransferDeclineReason) IsKnown

type InboundRealTimePaymentsTransferListParams

type InboundRealTimePaymentsTransferListParams struct {
	// Filter Inbound Real-Time Payments Transfers to those belonging to the specified
	// Account.
	AccountID param.Field[string] `query:"account_id"`
	// Filter Inbound Real-Time Payments Transfers to ones belonging to the specified
	// Account Number.
	AccountNumberID param.Field[string]                                             `query:"account_number_id"`
	CreatedAt       param.Field[InboundRealTimePaymentsTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (InboundRealTimePaymentsTransferListParams) URLQuery

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

type InboundRealTimePaymentsTransferListParamsCreatedAt

type InboundRealTimePaymentsTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (InboundRealTimePaymentsTransferListParamsCreatedAt) URLQuery

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

type InboundRealTimePaymentsTransferService

type InboundRealTimePaymentsTransferService struct {
	Options []option.RequestOption
}

InboundRealTimePaymentsTransferService contains methods and other services that help with interacting with the increase 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 NewInboundRealTimePaymentsTransferService method instead.

func NewInboundRealTimePaymentsTransferService

func NewInboundRealTimePaymentsTransferService(opts ...option.RequestOption) (r *InboundRealTimePaymentsTransferService)

NewInboundRealTimePaymentsTransferService 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 (*InboundRealTimePaymentsTransferService) Get

func (r *InboundRealTimePaymentsTransferService) Get(ctx context.Context, inboundRealTimePaymentsTransferID string, opts ...option.RequestOption) (res *InboundRealTimePaymentsTransfer, err error)

Retrieve an Inbound Real-Time Payments Transfer

func (*InboundRealTimePaymentsTransferService) List

List Inbound Real-Time Payments Transfers

func (*InboundRealTimePaymentsTransferService) ListAutoPaging

List Inbound Real-Time Payments Transfers

type InboundRealTimePaymentsTransferStatus

type InboundRealTimePaymentsTransferStatus string

The lifecycle status of the transfer.

const (
	InboundRealTimePaymentsTransferStatusPendingConfirming InboundRealTimePaymentsTransferStatus = "pending_confirming"
	InboundRealTimePaymentsTransferStatusTimedOut          InboundRealTimePaymentsTransferStatus = "timed_out"
	InboundRealTimePaymentsTransferStatusConfirmed         InboundRealTimePaymentsTransferStatus = "confirmed"
	InboundRealTimePaymentsTransferStatusDeclined          InboundRealTimePaymentsTransferStatus = "declined"
)

func (InboundRealTimePaymentsTransferStatus) IsKnown

type InboundRealTimePaymentsTransferType

type InboundRealTimePaymentsTransferType string

A constant representing the object's type. For this resource it will always be `inbound_real_time_payments_transfer`.

const (
	InboundRealTimePaymentsTransferTypeInboundRealTimePaymentsTransfer InboundRealTimePaymentsTransferType = "inbound_real_time_payments_transfer"
)

func (InboundRealTimePaymentsTransferType) IsKnown

type InboundWireDrawdownRequest

type InboundWireDrawdownRequest struct {
	// The Wire drawdown request identifier.
	ID string `json:"id,required"`
	// The amount being requested in cents.
	Amount int64 `json:"amount,required"`
	// The drawdown request's beneficiary's account number.
	BeneficiaryAccountNumber string `json:"beneficiary_account_number,required"`
	// Line 1 of the drawdown request's beneficiary's address.
	BeneficiaryAddressLine1 string `json:"beneficiary_address_line1,required,nullable"`
	// Line 2 of the drawdown request's beneficiary's address.
	BeneficiaryAddressLine2 string `json:"beneficiary_address_line2,required,nullable"`
	// Line 3 of the drawdown request's beneficiary's address.
	BeneficiaryAddressLine3 string `json:"beneficiary_address_line3,required,nullable"`
	// The drawdown request's beneficiary's name.
	BeneficiaryName string `json:"beneficiary_name,required,nullable"`
	// The drawdown request's beneficiary's routing number.
	BeneficiaryRoutingNumber string `json:"beneficiary_routing_number,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the inbound wire drawdown requested was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the amount being
	// requested. Will always be "USD".
	Currency string `json:"currency,required"`
	// A message from the drawdown request's originator.
	MessageToRecipient string `json:"message_to_recipient,required,nullable"`
	// The drawdown request's originator's account number.
	OriginatorAccountNumber string `json:"originator_account_number,required,nullable"`
	// Line 1 of the drawdown request's originator's address.
	OriginatorAddressLine1 string `json:"originator_address_line1,required,nullable"`
	// Line 2 of the drawdown request's originator's address.
	OriginatorAddressLine2 string `json:"originator_address_line2,required,nullable"`
	// Line 3 of the drawdown request's originator's address.
	OriginatorAddressLine3 string `json:"originator_address_line3,required,nullable"`
	// The drawdown request's originator's name.
	OriginatorName string `json:"originator_name,required,nullable"`
	// The drawdown request's originator's routing number.
	OriginatorRoutingNumber string `json:"originator_routing_number,required"`
	// Line 1 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine1 string `json:"originator_to_beneficiary_information_line1,required,nullable"`
	// Line 2 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine2 string `json:"originator_to_beneficiary_information_line2,required,nullable"`
	// Line 3 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine3 string `json:"originator_to_beneficiary_information_line3,required,nullable"`
	// Line 4 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine4 string `json:"originator_to_beneficiary_information_line4,required,nullable"`
	// The Account Number from which the recipient of this request is being requested
	// to send funds.
	RecipientAccountNumberID string `json:"recipient_account_number_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_wire_drawdown_request`.
	Type InboundWireDrawdownRequestType `json:"type,required"`
	JSON inboundWireDrawdownRequestJSON `json:"-"`
}

Inbound wire drawdown requests are requests from someone else to send them a wire. For more information, see our [Wire Drawdown Requests documentation](/documentation/wire-drawdown-requests).

func (*InboundWireDrawdownRequest) UnmarshalJSON

func (r *InboundWireDrawdownRequest) UnmarshalJSON(data []byte) (err error)

type InboundWireDrawdownRequestListParams

type InboundWireDrawdownRequestListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (InboundWireDrawdownRequestListParams) URLQuery

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

type InboundWireDrawdownRequestService

type InboundWireDrawdownRequestService struct {
	Options []option.RequestOption
}

InboundWireDrawdownRequestService contains methods and other services that help with interacting with the increase 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 NewInboundWireDrawdownRequestService method instead.

func NewInboundWireDrawdownRequestService

func NewInboundWireDrawdownRequestService(opts ...option.RequestOption) (r *InboundWireDrawdownRequestService)

NewInboundWireDrawdownRequestService 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 (*InboundWireDrawdownRequestService) Get

func (r *InboundWireDrawdownRequestService) Get(ctx context.Context, inboundWireDrawdownRequestID string, opts ...option.RequestOption) (res *InboundWireDrawdownRequest, err error)

Retrieve an Inbound Wire Drawdown Request

func (*InboundWireDrawdownRequestService) List

List Inbound Wire Drawdown Requests

func (*InboundWireDrawdownRequestService) ListAutoPaging

List Inbound Wire Drawdown Requests

type InboundWireDrawdownRequestType

type InboundWireDrawdownRequestType string

A constant representing the object's type. For this resource it will always be `inbound_wire_drawdown_request`.

const (
	InboundWireDrawdownRequestTypeInboundWireDrawdownRequest InboundWireDrawdownRequestType = "inbound_wire_drawdown_request"
)

func (InboundWireDrawdownRequestType) IsKnown

type InboundWireTransfer

type InboundWireTransfer struct {
	// The inbound wire transfer's identifier.
	ID string `json:"id,required"`
	// The Account to which the transfer belongs.
	AccountID string `json:"account_id,required"`
	// The identifier of the Account Number to which this transfer was sent.
	AccountNumberID string `json:"account_number_id,required"`
	// The amount in USD cents.
	Amount int64 `json:"amount,required"`
	// A free-form address field set by the sender.
	BeneficiaryAddressLine1 string `json:"beneficiary_address_line1,required,nullable"`
	// A free-form address field set by the sender.
	BeneficiaryAddressLine2 string `json:"beneficiary_address_line2,required,nullable"`
	// A free-form address field set by the sender.
	BeneficiaryAddressLine3 string `json:"beneficiary_address_line3,required,nullable"`
	// A name set by the sender.
	BeneficiaryName string `json:"beneficiary_name,required,nullable"`
	// A free-form reference string set by the sender, to help identify the transfer.
	BeneficiaryReference string `json:"beneficiary_reference,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the inbound wire transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// An Increase-constructed description of the transfer.
	Description string `json:"description,required"`
	// A unique identifier available to the originating and receiving banks, commonly
	// abbreviated as IMAD. It is created when the wire is submitted to the Fedwire
	// service and is helpful when debugging wires with the originating bank.
	InputMessageAccountabilityData string `json:"input_message_accountability_data,required,nullable"`
	// The address of the wire originator, set by the sending bank.
	OriginatorAddressLine1 string `json:"originator_address_line1,required,nullable"`
	// The address of the wire originator, set by the sending bank.
	OriginatorAddressLine2 string `json:"originator_address_line2,required,nullable"`
	// The address of the wire originator, set by the sending bank.
	OriginatorAddressLine3 string `json:"originator_address_line3,required,nullable"`
	// The originator of the wire, set by the sending bank.
	OriginatorName string `json:"originator_name,required,nullable"`
	// The American Banking Association (ABA) routing number of the bank originating
	// the transfer.
	OriginatorRoutingNumber string `json:"originator_routing_number,required,nullable"`
	// An Increase-created concatenation of the Originator-to-Beneficiary lines.
	OriginatorToBeneficiaryInformation string `json:"originator_to_beneficiary_information,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine1 string `json:"originator_to_beneficiary_information_line1,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine2 string `json:"originator_to_beneficiary_information_line2,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine3 string `json:"originator_to_beneficiary_information_line3,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine4 string `json:"originator_to_beneficiary_information_line4,required,nullable"`
	// Information about the reversal of the inbound wire transfer if it has been
	// reversed.
	Reversal InboundWireTransferReversal `json:"reversal,required,nullable"`
	// The sending bank's reference number for the wire transfer.
	SenderReference string `json:"sender_reference,required,nullable"`
	// The status of the transfer.
	Status InboundWireTransferStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_wire_transfer`.
	Type InboundWireTransferType `json:"type,required"`
	JSON inboundWireTransferJSON `json:"-"`
}

An Inbound Wire Transfer is a wire transfer initiated outside of Increase to your account.

func (*InboundWireTransfer) UnmarshalJSON

func (r *InboundWireTransfer) UnmarshalJSON(data []byte) (err error)

type InboundWireTransferListParams

type InboundWireTransferListParams struct {
	// Filter Inbound Wire Transfers to ones belonging to the specified Account.
	AccountID param.Field[string] `query:"account_id"`
	// Filter Inbound Wire Transfers to ones belonging to the specified Account Number.
	AccountNumberID param.Field[string]                                 `query:"account_number_id"`
	CreatedAt       param.Field[InboundWireTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                               `query:"limit"`
	Status param.Field[InboundWireTransferListParamsStatus] `query:"status"`
	// Filter Inbound Wire Transfers to ones belonging to the specified Wire Drawdown
	// Request.
	WireDrawdownRequestID param.Field[string] `query:"wire_drawdown_request_id"`
}

func (InboundWireTransferListParams) URLQuery

func (r InboundWireTransferListParams) URLQuery() (v url.Values)

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

type InboundWireTransferListParamsCreatedAt

type InboundWireTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (InboundWireTransferListParamsCreatedAt) URLQuery

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

type InboundWireTransferListParamsStatus

type InboundWireTransferListParamsStatus struct {
	// Filter Inbound Wire Transfers to those with the specified status. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]InboundWireTransferListParamsStatusIn] `query:"in"`
}

func (InboundWireTransferListParamsStatus) URLQuery added in v0.191.0

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

type InboundWireTransferListParamsStatusIn added in v0.191.0

type InboundWireTransferListParamsStatusIn string
const (
	InboundWireTransferListParamsStatusInPending  InboundWireTransferListParamsStatusIn = "pending"
	InboundWireTransferListParamsStatusInAccepted InboundWireTransferListParamsStatusIn = "accepted"
	InboundWireTransferListParamsStatusInDeclined InboundWireTransferListParamsStatusIn = "declined"
	InboundWireTransferListParamsStatusInReversed InboundWireTransferListParamsStatusIn = "reversed"
)

func (InboundWireTransferListParamsStatusIn) IsKnown added in v0.191.0

type InboundWireTransferReversal added in v0.226.0

type InboundWireTransferReversal struct {
	// The reason for the reversal.
	Reason InboundWireTransferReversalReason `json:"reason,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was reversed.
	ReversedAt time.Time                       `json:"reversed_at,required" format:"date-time"`
	JSON       inboundWireTransferReversalJSON `json:"-"`
}

Information about the reversal of the inbound wire transfer if it has been reversed.

func (*InboundWireTransferReversal) UnmarshalJSON added in v0.226.0

func (r *InboundWireTransferReversal) UnmarshalJSON(data []byte) (err error)

type InboundWireTransferReversalReason added in v0.226.0

type InboundWireTransferReversalReason string

The reason for the reversal.

const (
	InboundWireTransferReversalReasonDuplicate       InboundWireTransferReversalReason = "duplicate"
	InboundWireTransferReversalReasonCreditorRequest InboundWireTransferReversalReason = "creditor_request"
)

func (InboundWireTransferReversalReason) IsKnown added in v0.226.0

type InboundWireTransferReverseParams added in v0.226.0

type InboundWireTransferReverseParams struct {
	// Reason for the reversal.
	Reason param.Field[InboundWireTransferReverseParamsReason] `json:"reason,required"`
}

func (InboundWireTransferReverseParams) MarshalJSON added in v0.226.0

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

type InboundWireTransferReverseParamsReason added in v0.226.0

type InboundWireTransferReverseParamsReason string

Reason for the reversal.

const (
	InboundWireTransferReverseParamsReasonDuplicate       InboundWireTransferReverseParamsReason = "duplicate"
	InboundWireTransferReverseParamsReasonCreditorRequest InboundWireTransferReverseParamsReason = "creditor_request"
)

func (InboundWireTransferReverseParamsReason) IsKnown added in v0.226.0

type InboundWireTransferService

type InboundWireTransferService struct {
	Options []option.RequestOption
}

InboundWireTransferService contains methods and other services that help with interacting with the increase 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 NewInboundWireTransferService method instead.

func NewInboundWireTransferService

func NewInboundWireTransferService(opts ...option.RequestOption) (r *InboundWireTransferService)

NewInboundWireTransferService 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 (*InboundWireTransferService) Get

func (r *InboundWireTransferService) Get(ctx context.Context, inboundWireTransferID string, opts ...option.RequestOption) (res *InboundWireTransfer, err error)

Retrieve an Inbound Wire Transfer

func (*InboundWireTransferService) List

List Inbound Wire Transfers

func (*InboundWireTransferService) ListAutoPaging

List Inbound Wire Transfers

func (*InboundWireTransferService) Reverse added in v0.226.0

func (r *InboundWireTransferService) Reverse(ctx context.Context, inboundWireTransferID string, body InboundWireTransferReverseParams, opts ...option.RequestOption) (res *InboundWireTransfer, err error)

Reverse an Inbound Wire Transfer

type InboundWireTransferStatus

type InboundWireTransferStatus string

The status of the transfer.

const (
	InboundWireTransferStatusPending  InboundWireTransferStatus = "pending"
	InboundWireTransferStatusAccepted InboundWireTransferStatus = "accepted"
	InboundWireTransferStatusDeclined InboundWireTransferStatus = "declined"
	InboundWireTransferStatusReversed InboundWireTransferStatus = "reversed"
)

func (InboundWireTransferStatus) IsKnown

func (r InboundWireTransferStatus) IsKnown() bool

type InboundWireTransferType

type InboundWireTransferType string

A constant representing the object's type. For this resource it will always be `inbound_wire_transfer`.

const (
	InboundWireTransferTypeInboundWireTransfer InboundWireTransferType = "inbound_wire_transfer"
)

func (InboundWireTransferType) IsKnown

func (r InboundWireTransferType) IsKnown() bool

type IntrafiAccountEnrollment

type IntrafiAccountEnrollment struct {
	// The identifier of this enrollment at IntraFi.
	ID string `json:"id,required"`
	// The identifier of the Increase Account being swept into the network.
	AccountID string `json:"account_id,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the enrollment was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The identifier of the account in IntraFi's system. This identifier will be
	// printed on any IntraFi statements or documents.
	IntrafiID string `json:"intrafi_id,required"`
	// The status of the account in the network. An account takes about one business
	// day to go from `pending_enrolling` to `enrolled`.
	Status IntrafiAccountEnrollmentStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `intrafi_account_enrollment`.
	Type IntrafiAccountEnrollmentType `json:"type,required"`
	JSON intrafiAccountEnrollmentJSON `json:"-"`
}

IntraFi is a [network of financial institutions](https://www.intrafi.com/network-banks) that allows Increase users to sweep funds to multiple banks. This enables accounts to become eligible for additional Federal Deposit Insurance Corporation (FDIC) insurance. An IntraFi Account Enrollment object represents the status of an account in the network. Sweeping an account to IntraFi doesn't affect funds availability.

func (*IntrafiAccountEnrollment) UnmarshalJSON

func (r *IntrafiAccountEnrollment) UnmarshalJSON(data []byte) (err error)

type IntrafiAccountEnrollmentListParams

type IntrafiAccountEnrollmentListParams struct {
	// Filter IntraFi Account Enrollments to the one belonging to an account.
	AccountID param.Field[string] `query:"account_id"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                                    `query:"limit"`
	Status param.Field[IntrafiAccountEnrollmentListParamsStatus] `query:"status"`
}

func (IntrafiAccountEnrollmentListParams) URLQuery

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

type IntrafiAccountEnrollmentListParamsStatus

type IntrafiAccountEnrollmentListParamsStatus struct {
	// Filter IntraFi Account Enrollments for those with the specified status or
	// statuses. For GET requests, this should be encoded as a comma-delimited string,
	// such as `?in=one,two,three`.
	In param.Field[[]IntrafiAccountEnrollmentListParamsStatusIn] `query:"in"`
}

func (IntrafiAccountEnrollmentListParamsStatus) URLQuery

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

type IntrafiAccountEnrollmentListParamsStatusIn

type IntrafiAccountEnrollmentListParamsStatusIn string
const (
	IntrafiAccountEnrollmentListParamsStatusInPendingEnrolling   IntrafiAccountEnrollmentListParamsStatusIn = "pending_enrolling"
	IntrafiAccountEnrollmentListParamsStatusInEnrolled           IntrafiAccountEnrollmentListParamsStatusIn = "enrolled"
	IntrafiAccountEnrollmentListParamsStatusInPendingUnenrolling IntrafiAccountEnrollmentListParamsStatusIn = "pending_unenrolling"
	IntrafiAccountEnrollmentListParamsStatusInUnenrolled         IntrafiAccountEnrollmentListParamsStatusIn = "unenrolled"
	IntrafiAccountEnrollmentListParamsStatusInRequiresAttention  IntrafiAccountEnrollmentListParamsStatusIn = "requires_attention"
)

func (IntrafiAccountEnrollmentListParamsStatusIn) IsKnown

type IntrafiAccountEnrollmentNewParams

type IntrafiAccountEnrollmentNewParams struct {
	// The identifier for the account to be added to IntraFi.
	AccountID param.Field[string] `json:"account_id,required"`
	// The contact email for the account owner, to be shared with IntraFi.
	EmailAddress param.Field[string] `json:"email_address,required"`
}

func (IntrafiAccountEnrollmentNewParams) MarshalJSON

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

type IntrafiAccountEnrollmentService

type IntrafiAccountEnrollmentService struct {
	Options []option.RequestOption
}

IntrafiAccountEnrollmentService contains methods and other services that help with interacting with the increase 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 NewIntrafiAccountEnrollmentService method instead.

func NewIntrafiAccountEnrollmentService

func NewIntrafiAccountEnrollmentService(opts ...option.RequestOption) (r *IntrafiAccountEnrollmentService)

NewIntrafiAccountEnrollmentService 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 (*IntrafiAccountEnrollmentService) Get

func (r *IntrafiAccountEnrollmentService) Get(ctx context.Context, intrafiAccountEnrollmentID string, opts ...option.RequestOption) (res *IntrafiAccountEnrollment, err error)

Get an IntraFi Account Enrollment

func (*IntrafiAccountEnrollmentService) List

List IntraFi Account Enrollments

func (*IntrafiAccountEnrollmentService) ListAutoPaging

List IntraFi Account Enrollments

func (*IntrafiAccountEnrollmentService) New

Enroll an account in the IntraFi deposit sweep network

func (*IntrafiAccountEnrollmentService) Unenroll

func (r *IntrafiAccountEnrollmentService) Unenroll(ctx context.Context, intrafiAccountEnrollmentID string, opts ...option.RequestOption) (res *IntrafiAccountEnrollment, err error)

Unenroll an account from IntraFi

type IntrafiAccountEnrollmentStatus

type IntrafiAccountEnrollmentStatus string

The status of the account in the network. An account takes about one business day to go from `pending_enrolling` to `enrolled`.

const (
	IntrafiAccountEnrollmentStatusPendingEnrolling   IntrafiAccountEnrollmentStatus = "pending_enrolling"
	IntrafiAccountEnrollmentStatusEnrolled           IntrafiAccountEnrollmentStatus = "enrolled"
	IntrafiAccountEnrollmentStatusPendingUnenrolling IntrafiAccountEnrollmentStatus = "pending_unenrolling"
	IntrafiAccountEnrollmentStatusUnenrolled         IntrafiAccountEnrollmentStatus = "unenrolled"
	IntrafiAccountEnrollmentStatusRequiresAttention  IntrafiAccountEnrollmentStatus = "requires_attention"
)

func (IntrafiAccountEnrollmentStatus) IsKnown

type IntrafiAccountEnrollmentType

type IntrafiAccountEnrollmentType string

A constant representing the object's type. For this resource it will always be `intrafi_account_enrollment`.

const (
	IntrafiAccountEnrollmentTypeIntrafiAccountEnrollment IntrafiAccountEnrollmentType = "intrafi_account_enrollment"
)

func (IntrafiAccountEnrollmentType) IsKnown

func (r IntrafiAccountEnrollmentType) IsKnown() bool

type IntrafiBalance

type IntrafiBalance struct {
	// The identifier of this balance.
	ID string `json:"id,required"`
	// Each entry represents a balance held at a different bank. IntraFi separates the
	// total balance across many participating banks in the network.
	Balances []IntrafiBalanceBalance `json:"balances,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the account
	// currency.
	Currency IntrafiBalanceCurrency `json:"currency,required"`
	// The date this balance reflects.
	EffectiveDate time.Time `json:"effective_date,required" format:"date"`
	// The total balance, in minor units of `currency`. Increase reports this balance
	// to IntraFi daily.
	TotalBalance int64 `json:"total_balance,required"`
	// A constant representing the object's type. For this resource it will always be
	// `intrafi_balance`.
	Type IntrafiBalanceType `json:"type,required"`
	JSON intrafiBalanceJSON `json:"-"`
}

When using IntraFi, each account's balance over the standard FDIC insurance amount is swept to various other institutions. Funds are rebalanced across banks as needed once per business day.

func (*IntrafiBalance) UnmarshalJSON

func (r *IntrafiBalance) UnmarshalJSON(data []byte) (err error)

type IntrafiBalanceBalance

type IntrafiBalanceBalance struct {
	// The identifier of this balance.
	ID string `json:"id,required"`
	// The balance, in minor units of `currency`, held with this bank.
	Balance int64 `json:"balance,required"`
	// The name of the bank holding these funds.
	Bank string `json:"bank,required"`
	// The primary location of the bank.
	BankLocation IntrafiBalanceBalancesBankLocation `json:"bank_location,required,nullable"`
	// The Federal Deposit Insurance Corporation (FDIC) certificate number of the bank.
	// Because many banks have the same or similar names, this can be used to uniquely
	// identify the institution.
	FdicCertificateNumber string                    `json:"fdic_certificate_number,required"`
	JSON                  intrafiBalanceBalanceJSON `json:"-"`
}

func (*IntrafiBalanceBalance) UnmarshalJSON

func (r *IntrafiBalanceBalance) UnmarshalJSON(data []byte) (err error)

type IntrafiBalanceBalancesBankLocation

type IntrafiBalanceBalancesBankLocation struct {
	// The bank's city.
	City string `json:"city,required"`
	// The bank's state.
	State string                                 `json:"state,required"`
	JSON  intrafiBalanceBalancesBankLocationJSON `json:"-"`
}

The primary location of the bank.

func (*IntrafiBalanceBalancesBankLocation) UnmarshalJSON

func (r *IntrafiBalanceBalancesBankLocation) UnmarshalJSON(data []byte) (err error)

type IntrafiBalanceCurrency

type IntrafiBalanceCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the account currency.

const (
	IntrafiBalanceCurrencyCad IntrafiBalanceCurrency = "CAD"
	IntrafiBalanceCurrencyChf IntrafiBalanceCurrency = "CHF"
	IntrafiBalanceCurrencyEur IntrafiBalanceCurrency = "EUR"
	IntrafiBalanceCurrencyGbp IntrafiBalanceCurrency = "GBP"
	IntrafiBalanceCurrencyJpy IntrafiBalanceCurrency = "JPY"
	IntrafiBalanceCurrencyUsd IntrafiBalanceCurrency = "USD"
)

func (IntrafiBalanceCurrency) IsKnown

func (r IntrafiBalanceCurrency) IsKnown() bool

type IntrafiBalanceService

type IntrafiBalanceService struct {
	Options []option.RequestOption
}

IntrafiBalanceService contains methods and other services that help with interacting with the increase 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 NewIntrafiBalanceService method instead.

func NewIntrafiBalanceService

func NewIntrafiBalanceService(opts ...option.RequestOption) (r *IntrafiBalanceService)

NewIntrafiBalanceService 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 (*IntrafiBalanceService) IntrafiBalance added in v0.182.0

func (r *IntrafiBalanceService) IntrafiBalance(ctx context.Context, accountID string, opts ...option.RequestOption) (res *IntrafiBalance, err error)

Returns the IntraFi balance for the given account. IntraFi may sweep funds to multiple banks. This endpoint will include both the total balance and the amount swept to each institution.

type IntrafiBalanceType

type IntrafiBalanceType string

A constant representing the object's type. For this resource it will always be `intrafi_balance`.

const (
	IntrafiBalanceTypeIntrafiBalance IntrafiBalanceType = "intrafi_balance"
)

func (IntrafiBalanceType) IsKnown

func (r IntrafiBalanceType) IsKnown() bool

type IntrafiExclusion

type IntrafiExclusion struct {
	// The identifier of this exclusion request.
	ID string `json:"id,required"`
	// The name of the excluded institution.
	BankName string `json:"bank_name,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the exclusion was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The entity for which this institution is excluded.
	EntityID string `json:"entity_id,required"`
	// When this was exclusion was confirmed by IntraFi.
	ExcludedAt time.Time `json:"excluded_at,required,nullable" format:"date-time"`
	// The Federal Deposit Insurance Corporation's certificate number for the
	// institution.
	FdicCertificateNumber string `json:"fdic_certificate_number,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The status of the exclusion request.
	Status IntrafiExclusionStatus `json:"status,required"`
	// When this was exclusion was submitted to IntraFi by Increase.
	SubmittedAt time.Time `json:"submitted_at,required,nullable" format:"date-time"`
	// A constant representing the object's type. For this resource it will always be
	// `intrafi_exclusion`.
	Type IntrafiExclusionType `json:"type,required"`
	JSON intrafiExclusionJSON `json:"-"`
}

Certain institutions may be excluded per Entity when sweeping funds into the IntraFi network. This is useful when an Entity already has deposits at a particular bank, and does not want to sweep additional funds to it. It may take 5 business days for an exclusion to be processed.

func (*IntrafiExclusion) UnmarshalJSON

func (r *IntrafiExclusion) UnmarshalJSON(data []byte) (err error)

type IntrafiExclusionListParams

type IntrafiExclusionListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter IntraFi Exclusions for those belonging to the specified Entity.
	EntityID param.Field[string] `query:"entity_id"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (IntrafiExclusionListParams) URLQuery

func (r IntrafiExclusionListParams) URLQuery() (v url.Values)

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

type IntrafiExclusionNewParams

type IntrafiExclusionNewParams struct {
	// The name of the financial institution to be excluded.
	BankName param.Field[string] `json:"bank_name,required"`
	// The identifier of the Entity whose deposits will be excluded.
	EntityID param.Field[string] `json:"entity_id,required"`
}

func (IntrafiExclusionNewParams) MarshalJSON

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

type IntrafiExclusionService

type IntrafiExclusionService struct {
	Options []option.RequestOption
}

IntrafiExclusionService contains methods and other services that help with interacting with the increase 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 NewIntrafiExclusionService method instead.

func NewIntrafiExclusionService

func NewIntrafiExclusionService(opts ...option.RequestOption) (r *IntrafiExclusionService)

NewIntrafiExclusionService 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 (*IntrafiExclusionService) Archive

func (r *IntrafiExclusionService) Archive(ctx context.Context, intrafiExclusionID string, opts ...option.RequestOption) (res *IntrafiExclusion, err error)

Archive an IntraFi Exclusion

func (*IntrafiExclusionService) Get

func (r *IntrafiExclusionService) Get(ctx context.Context, intrafiExclusionID string, opts ...option.RequestOption) (res *IntrafiExclusion, err error)

Get an IntraFi Exclusion

func (*IntrafiExclusionService) List

List IntraFi Exclusions

func (*IntrafiExclusionService) ListAutoPaging

List IntraFi Exclusions

func (*IntrafiExclusionService) New

Create an IntraFi Exclusion

type IntrafiExclusionStatus

type IntrafiExclusionStatus string

The status of the exclusion request.

const (
	IntrafiExclusionStatusPending   IntrafiExclusionStatus = "pending"
	IntrafiExclusionStatusCompleted IntrafiExclusionStatus = "completed"
	IntrafiExclusionStatusArchived  IntrafiExclusionStatus = "archived"
)

func (IntrafiExclusionStatus) IsKnown

func (r IntrafiExclusionStatus) IsKnown() bool

type IntrafiExclusionType

type IntrafiExclusionType string

A constant representing the object's type. For this resource it will always be `intrafi_exclusion`.

const (
	IntrafiExclusionTypeIntrafiExclusion IntrafiExclusionType = "intrafi_exclusion"
)

func (IntrafiExclusionType) IsKnown

func (r IntrafiExclusionType) IsKnown() bool

type Lockbox

type Lockbox struct {
	// The Lockbox identifier.
	ID string `json:"id,required"`
	// The identifier for the Account checks sent to this lockbox will be deposited
	// into.
	AccountID string `json:"account_id,required"`
	// The mailing address for the Lockbox.
	Address LockboxAddress `json:"address,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Lockbox
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The description you choose for the Lockbox.
	Description string `json:"description,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The recipient name you choose for the Lockbox.
	RecipientName string `json:"recipient_name,required,nullable"`
	// This indicates if mail can be sent to this address.
	Status LockboxStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `lockbox`.
	Type LockboxType `json:"type,required"`
	JSON lockboxJSON `json:"-"`
}

Lockboxes are physical locations that can receive mail containing paper checks. Increase will automatically create a Check Deposit for checks received this way.

func (*Lockbox) UnmarshalJSON

func (r *Lockbox) UnmarshalJSON(data []byte) (err error)

type LockboxAddress

type LockboxAddress struct {
	// The city of the address.
	City string `json:"city,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required"`
	// The postal code of the address.
	PostalCode string `json:"postal_code,required"`
	// The recipient line of the address. This will include the recipient name you
	// provide when creating the address, as well as an ATTN suffix to help route the
	// mail to your lockbox. Mail senders must include this ATTN line to receive mail
	// at this Lockbox.
	Recipient string `json:"recipient,required,nullable"`
	// The two-letter United States Postal Service (USPS) abbreviation for the state of
	// the address.
	State string             `json:"state,required"`
	JSON  lockboxAddressJSON `json:"-"`
}

The mailing address for the Lockbox.

func (*LockboxAddress) UnmarshalJSON

func (r *LockboxAddress) UnmarshalJSON(data []byte) (err error)

type LockboxListParams

type LockboxListParams struct {
	// Filter Lockboxes to those associated with the provided Account.
	AccountID param.Field[string]                     `query:"account_id"`
	CreatedAt param.Field[LockboxListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (LockboxListParams) URLQuery

func (r LockboxListParams) URLQuery() (v url.Values)

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

type LockboxListParamsCreatedAt

type LockboxListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (LockboxListParamsCreatedAt) URLQuery

func (r LockboxListParamsCreatedAt) URLQuery() (v url.Values)

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

type LockboxNewParams

type LockboxNewParams struct {
	// The Account checks sent to this Lockbox should be deposited into.
	AccountID param.Field[string] `json:"account_id,required"`
	// The description you choose for the Lockbox, for display purposes.
	Description param.Field[string] `json:"description"`
	// The name of the recipient that will receive mail at this location.
	RecipientName param.Field[string] `json:"recipient_name"`
}

func (LockboxNewParams) MarshalJSON

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

type LockboxService

type LockboxService struct {
	Options []option.RequestOption
}

LockboxService contains methods and other services that help with interacting with the increase 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 NewLockboxService method instead.

func NewLockboxService

func NewLockboxService(opts ...option.RequestOption) (r *LockboxService)

NewLockboxService 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 (*LockboxService) Get

func (r *LockboxService) Get(ctx context.Context, lockboxID string, opts ...option.RequestOption) (res *Lockbox, err error)

Retrieve a Lockbox

func (*LockboxService) List

func (r *LockboxService) List(ctx context.Context, query LockboxListParams, opts ...option.RequestOption) (res *pagination.Page[Lockbox], err error)

List Lockboxes

func (*LockboxService) ListAutoPaging

List Lockboxes

func (*LockboxService) New

func (r *LockboxService) New(ctx context.Context, body LockboxNewParams, opts ...option.RequestOption) (res *Lockbox, err error)

Create a Lockbox

func (*LockboxService) Update

func (r *LockboxService) Update(ctx context.Context, lockboxID string, body LockboxUpdateParams, opts ...option.RequestOption) (res *Lockbox, err error)

Update a Lockbox

type LockboxStatus

type LockboxStatus string

This indicates if mail can be sent to this address.

const (
	LockboxStatusActive   LockboxStatus = "active"
	LockboxStatusInactive LockboxStatus = "inactive"
)

func (LockboxStatus) IsKnown

func (r LockboxStatus) IsKnown() bool

type LockboxType

type LockboxType string

A constant representing the object's type. For this resource it will always be `lockbox`.

const (
	LockboxTypeLockbox LockboxType = "lockbox"
)

func (LockboxType) IsKnown

func (r LockboxType) IsKnown() bool

type LockboxUpdateParams

type LockboxUpdateParams struct {
	// The description you choose for the Lockbox.
	Description param.Field[string] `json:"description"`
	// The recipient name you choose for the Lockbox.
	RecipientName param.Field[string] `json:"recipient_name"`
	// This indicates if checks can be sent to the Lockbox.
	Status param.Field[LockboxUpdateParamsStatus] `json:"status"`
}

func (LockboxUpdateParams) MarshalJSON

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

type LockboxUpdateParamsStatus

type LockboxUpdateParamsStatus string

This indicates if checks can be sent to the Lockbox.

const (
	LockboxUpdateParamsStatusActive   LockboxUpdateParamsStatus = "active"
	LockboxUpdateParamsStatusInactive LockboxUpdateParamsStatus = "inactive"
)

func (LockboxUpdateParamsStatus) IsKnown

func (r LockboxUpdateParamsStatus) IsKnown() bool

type OAuthApplication added in v0.166.0

type OAuthApplication struct {
	// The OAuth Application's identifier.
	ID string `json:"id,required"`
	// The OAuth Application's client_id. Use this to authenticate with the OAuth
	// Application.
	ClientID string `json:"client_id,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp when the OAuth
	// Application was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp when the OAuth
	// Application was deleted.
	DeletedAt time.Time `json:"deleted_at,required,nullable" format:"date-time"`
	// The name you chose for this OAuth Application.
	Name string `json:"name,required,nullable"`
	// Whether the application is active.
	Status OAuthApplicationStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `oauth_application`.
	Type OAuthApplicationType `json:"type,required"`
	JSON oauthApplicationJSON `json:"-"`
}

An OAuth Application lets you build an application for others to use with their Increase data. You can create an OAuth Application via the Dashboard and read information about it with the API. Learn more about OAuth [here](https://increase.com/documentation/oauth).

func (*OAuthApplication) UnmarshalJSON added in v0.166.0

func (r *OAuthApplication) UnmarshalJSON(data []byte) (err error)

type OAuthApplicationListParams added in v0.166.0

type OAuthApplicationListParams struct {
	CreatedAt param.Field[OAuthApplicationListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                            `query:"limit"`
	Status param.Field[OAuthApplicationListParamsStatus] `query:"status"`
}

func (OAuthApplicationListParams) URLQuery added in v0.166.0

func (r OAuthApplicationListParams) URLQuery() (v url.Values)

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

type OAuthApplicationListParamsCreatedAt added in v0.167.0

type OAuthApplicationListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (OAuthApplicationListParamsCreatedAt) URLQuery added in v0.167.0

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

type OAuthApplicationListParamsStatus added in v0.167.0

type OAuthApplicationListParamsStatus struct {
	// Return results whose value is in the provided list. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]OAuthApplicationListParamsStatusIn] `query:"in"`
}

func (OAuthApplicationListParamsStatus) URLQuery added in v0.167.0

func (r OAuthApplicationListParamsStatus) URLQuery() (v url.Values)

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

type OAuthApplicationListParamsStatusIn added in v0.167.0

type OAuthApplicationListParamsStatusIn string
const (
	OAuthApplicationListParamsStatusInActive  OAuthApplicationListParamsStatusIn = "active"
	OAuthApplicationListParamsStatusInDeleted OAuthApplicationListParamsStatusIn = "deleted"
)

func (OAuthApplicationListParamsStatusIn) IsKnown added in v0.167.0

type OAuthApplicationService added in v0.166.0

type OAuthApplicationService struct {
	Options []option.RequestOption
}

OAuthApplicationService contains methods and other services that help with interacting with the increase 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 NewOAuthApplicationService method instead.

func NewOAuthApplicationService added in v0.166.0

func NewOAuthApplicationService(opts ...option.RequestOption) (r *OAuthApplicationService)

NewOAuthApplicationService 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 (*OAuthApplicationService) Get added in v0.166.0

func (r *OAuthApplicationService) Get(ctx context.Context, oauthApplicationID string, opts ...option.RequestOption) (res *OAuthApplication, err error)

Retrieve an OAuth Application

func (*OAuthApplicationService) List added in v0.166.0

List OAuth Applications

func (*OAuthApplicationService) ListAutoPaging added in v0.166.0

List OAuth Applications

type OAuthApplicationStatus added in v0.166.0

type OAuthApplicationStatus string

Whether the application is active.

const (
	OAuthApplicationStatusActive  OAuthApplicationStatus = "active"
	OAuthApplicationStatusDeleted OAuthApplicationStatus = "deleted"
)

func (OAuthApplicationStatus) IsKnown added in v0.166.0

func (r OAuthApplicationStatus) IsKnown() bool

type OAuthApplicationType added in v0.166.0

type OAuthApplicationType string

A constant representing the object's type. For this resource it will always be `oauth_application`.

const (
	OAuthApplicationTypeOAuthApplication OAuthApplicationType = "oauth_application"
)

func (OAuthApplicationType) IsKnown added in v0.166.0

func (r OAuthApplicationType) IsKnown() bool

type OAuthConnection

type OAuthConnection struct {
	// The OAuth Connection's identifier.
	ID string `json:"id,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp when the OAuth
	// Connection was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp when the OAuth
	// Connection was deleted.
	DeletedAt time.Time `json:"deleted_at,required,nullable" format:"date-time"`
	// The identifier of the Group that has authorized your OAuth application.
	GroupID string `json:"group_id,required"`
	// The identifier of the OAuth application this connection is for.
	OAuthApplicationID string `json:"oauth_application_id,required"`
	// Whether the connection is active.
	Status OAuthConnectionStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `oauth_connection`.
	Type OAuthConnectionType `json:"type,required"`
	JSON oauthConnectionJSON `json:"-"`
}

When a user authorizes your OAuth application, an OAuth Connection object is created. Learn more about OAuth [here](https://increase.com/documentation/oauth).

func (*OAuthConnection) UnmarshalJSON

func (r *OAuthConnection) UnmarshalJSON(data []byte) (err error)

type OAuthConnectionListParams

type OAuthConnectionListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter results to only include OAuth Connections for a specific OAuth
	// Application.
	OAuthApplicationID param.Field[string]                          `query:"oauth_application_id"`
	Status             param.Field[OAuthConnectionListParamsStatus] `query:"status"`
}

func (OAuthConnectionListParams) URLQuery

func (r OAuthConnectionListParams) URLQuery() (v url.Values)

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

type OAuthConnectionListParamsStatus

type OAuthConnectionListParamsStatus struct {
	// Filter to OAuth Connections by their status. By default, return only the
	// `active` ones. For GET requests, this should be encoded as a comma-delimited
	// string, such as `?in=one,two,three`.
	In param.Field[[]OAuthConnectionListParamsStatusIn] `query:"in"`
}

func (OAuthConnectionListParamsStatus) URLQuery

func (r OAuthConnectionListParamsStatus) URLQuery() (v url.Values)

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

type OAuthConnectionListParamsStatusIn

type OAuthConnectionListParamsStatusIn string
const (
	OAuthConnectionListParamsStatusInActive   OAuthConnectionListParamsStatusIn = "active"
	OAuthConnectionListParamsStatusInInactive OAuthConnectionListParamsStatusIn = "inactive"
)

func (OAuthConnectionListParamsStatusIn) IsKnown

type OAuthConnectionService

type OAuthConnectionService struct {
	Options []option.RequestOption
}

OAuthConnectionService contains methods and other services that help with interacting with the increase 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 NewOAuthConnectionService method instead.

func NewOAuthConnectionService

func NewOAuthConnectionService(opts ...option.RequestOption) (r *OAuthConnectionService)

NewOAuthConnectionService 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 (*OAuthConnectionService) Get

func (r *OAuthConnectionService) Get(ctx context.Context, oauthConnectionID string, opts ...option.RequestOption) (res *OAuthConnection, err error)

Retrieve an OAuth Connection

func (*OAuthConnectionService) List

List OAuth Connections

func (*OAuthConnectionService) ListAutoPaging

List OAuth Connections

type OAuthConnectionStatus

type OAuthConnectionStatus string

Whether the connection is active.

const (
	OAuthConnectionStatusActive   OAuthConnectionStatus = "active"
	OAuthConnectionStatusInactive OAuthConnectionStatus = "inactive"
)

func (OAuthConnectionStatus) IsKnown

func (r OAuthConnectionStatus) IsKnown() bool

type OAuthConnectionType

type OAuthConnectionType string

A constant representing the object's type. For this resource it will always be `oauth_connection`.

const (
	OAuthConnectionTypeOAuthConnection OAuthConnectionType = "oauth_connection"
)

func (OAuthConnectionType) IsKnown

func (r OAuthConnectionType) IsKnown() bool

type OAuthToken

type OAuthToken struct {
	// You may use this token in place of an API key to make OAuth requests on a user's
	// behalf.
	AccessToken string `json:"access_token,required"`
	// The type of OAuth token.
	TokenType OAuthTokenTokenType `json:"token_type,required"`
	// A constant representing the object's type. For this resource it will always be
	// `oauth_token`.
	Type OAuthTokenType `json:"type,required"`
	JSON oauthTokenJSON `json:"-"`
}

A token that is returned to your application when a user completes the OAuth flow and may be used to authenticate requests. Learn more about OAuth [here](/documentation/oauth).

func (*OAuthToken) UnmarshalJSON

func (r *OAuthToken) UnmarshalJSON(data []byte) (err error)

type OAuthTokenNewParams

type OAuthTokenNewParams struct {
	// The credential you request in exchange for the code. In Production, this is
	// always `authorization_code`. In Sandbox, you can pass either enum value.
	GrantType param.Field[OAuthTokenNewParamsGrantType] `json:"grant_type,required"`
	// The public identifier for your application.
	ClientID param.Field[string] `json:"client_id"`
	// The secret that confirms you own the application. This is redundent given that
	// the request is made with your API key but it's a required component of OAuth
	// 2.0.
	ClientSecret param.Field[string] `json:"client_secret"`
	// The authorization code generated by the user and given to you as a query
	// parameter.
	Code param.Field[string] `json:"code"`
	// The production token you want to exchange for a sandbox token. This is only
	// available in Sandbox. Set `grant_type` to `production_token` to use this
	// parameter.
	ProductionToken param.Field[string] `json:"production_token"`
}

func (OAuthTokenNewParams) MarshalJSON

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

type OAuthTokenNewParamsGrantType

type OAuthTokenNewParamsGrantType string

The credential you request in exchange for the code. In Production, this is always `authorization_code`. In Sandbox, you can pass either enum value.

const (
	OAuthTokenNewParamsGrantTypeAuthorizationCode OAuthTokenNewParamsGrantType = "authorization_code"
	OAuthTokenNewParamsGrantTypeProductionToken   OAuthTokenNewParamsGrantType = "production_token"
)

func (OAuthTokenNewParamsGrantType) IsKnown

func (r OAuthTokenNewParamsGrantType) IsKnown() bool

type OAuthTokenService

type OAuthTokenService struct {
	Options []option.RequestOption
}

OAuthTokenService contains methods and other services that help with interacting with the increase 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 NewOAuthTokenService method instead.

func NewOAuthTokenService

func NewOAuthTokenService(opts ...option.RequestOption) (r *OAuthTokenService)

NewOAuthTokenService 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 (*OAuthTokenService) New

Create an OAuth Token

type OAuthTokenTokenType

type OAuthTokenTokenType string

The type of OAuth token.

const (
	OAuthTokenTokenTypeBearer OAuthTokenTokenType = "bearer"
)

func (OAuthTokenTokenType) IsKnown

func (r OAuthTokenTokenType) IsKnown() bool

type OAuthTokenType

type OAuthTokenType string

A constant representing the object's type. For this resource it will always be `oauth_token`.

const (
	OAuthTokenTypeOAuthToken OAuthTokenType = "oauth_token"
)

func (OAuthTokenType) IsKnown

func (r OAuthTokenType) IsKnown() bool

type PendingTransaction

type PendingTransaction struct {
	// The Pending Transaction identifier.
	ID string `json:"id,required"`
	// The identifier for the account this Pending Transaction belongs to.
	AccountID string `json:"account_id,required"`
	// The Pending Transaction amount in the minor unit of its currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// How the Pending Transaction affects the balance of its Account while its status
	// is `pending`.
	BalanceImpact PendingTransactionBalanceImpact `json:"balance_impact,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date on which the Pending
	// Transaction was completed.
	CompletedAt time.Time `json:"completed_at,required,nullable" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date on which the Pending
	// Transaction occurred.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Pending
	// Transaction's currency. This will match the currency on the Pending
	// Transaction's Account.
	Currency PendingTransactionCurrency `json:"currency,required"`
	// For a Pending Transaction related to a transfer, this is the description you
	// provide. For a Pending Transaction related to a payment, this is the description
	// the vendor provides.
	Description string `json:"description,required"`
	// The identifier for the route this Pending Transaction came through. Routes are
	// things like cards and ACH details.
	RouteID string `json:"route_id,required,nullable"`
	// The type of the route this Pending Transaction came through.
	RouteType PendingTransactionRouteType `json:"route_type,required,nullable"`
	// This is an object giving more details on the network-level event that caused the
	// Pending Transaction. For example, for a card transaction this lists the
	// merchant's industry and location.
	Source PendingTransactionSource `json:"source,required"`
	// Whether the Pending Transaction has been confirmed and has an associated
	// Transaction.
	Status PendingTransactionStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `pending_transaction`.
	Type PendingTransactionType `json:"type,required"`
	JSON pendingTransactionJSON `json:"-"`
}

Pending Transactions are potential future additions and removals of money from your bank account. They impact your available balance, but not your current balance. To learn more, see [Transactions and Transfers](/documentation/transactions-transfers).

func (*PendingTransaction) UnmarshalJSON

func (r *PendingTransaction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionBalanceImpact added in v0.245.0

type PendingTransactionBalanceImpact string

How the Pending Transaction affects the balance of its Account while its status is `pending`.

const (
	PendingTransactionBalanceImpactAffectsAvailableBalance PendingTransactionBalanceImpact = "affects_available_balance"
	PendingTransactionBalanceImpactNone                    PendingTransactionBalanceImpact = "none"
)

func (PendingTransactionBalanceImpact) IsKnown added in v0.245.0

type PendingTransactionCurrency

type PendingTransactionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Pending Transaction's currency. This will match the currency on the Pending Transaction's Account.

const (
	PendingTransactionCurrencyCad PendingTransactionCurrency = "CAD"
	PendingTransactionCurrencyChf PendingTransactionCurrency = "CHF"
	PendingTransactionCurrencyEur PendingTransactionCurrency = "EUR"
	PendingTransactionCurrencyGbp PendingTransactionCurrency = "GBP"
	PendingTransactionCurrencyJpy PendingTransactionCurrency = "JPY"
	PendingTransactionCurrencyUsd PendingTransactionCurrency = "USD"
)

func (PendingTransactionCurrency) IsKnown

func (r PendingTransactionCurrency) IsKnown() bool

type PendingTransactionListParams

type PendingTransactionListParams struct {
	// Filter pending transactions to those belonging to the specified Account.
	AccountID param.Field[string]                                `query:"account_id"`
	Category  param.Field[PendingTransactionListParamsCategory]  `query:"category"`
	CreatedAt param.Field[PendingTransactionListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter pending transactions to those belonging to the specified Route.
	RouteID param.Field[string]                             `query:"route_id"`
	Status  param.Field[PendingTransactionListParamsStatus] `query:"status"`
}

func (PendingTransactionListParams) URLQuery

func (r PendingTransactionListParams) URLQuery() (v url.Values)

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

type PendingTransactionListParamsCategory

type PendingTransactionListParamsCategory struct {
	// Return results whose value is in the provided list. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]PendingTransactionListParamsCategoryIn] `query:"in"`
}

func (PendingTransactionListParamsCategory) URLQuery

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

type PendingTransactionListParamsCategoryIn

type PendingTransactionListParamsCategoryIn string
const (
	PendingTransactionListParamsCategoryInAccountTransferInstruction          PendingTransactionListParamsCategoryIn = "account_transfer_instruction"
	PendingTransactionListParamsCategoryInACHTransferInstruction              PendingTransactionListParamsCategoryIn = "ach_transfer_instruction"
	PendingTransactionListParamsCategoryInCardAuthorization                   PendingTransactionListParamsCategoryIn = "card_authorization"
	PendingTransactionListParamsCategoryInCheckDepositInstruction             PendingTransactionListParamsCategoryIn = "check_deposit_instruction"
	PendingTransactionListParamsCategoryInCheckTransferInstruction            PendingTransactionListParamsCategoryIn = "check_transfer_instruction"
	PendingTransactionListParamsCategoryInInboundFundsHold                    PendingTransactionListParamsCategoryIn = "inbound_funds_hold"
	PendingTransactionListParamsCategoryInUserInitiatedHold                   PendingTransactionListParamsCategoryIn = "user_initiated_hold"
	PendingTransactionListParamsCategoryInRealTimePaymentsTransferInstruction PendingTransactionListParamsCategoryIn = "real_time_payments_transfer_instruction"
	PendingTransactionListParamsCategoryInWireTransferInstruction             PendingTransactionListParamsCategoryIn = "wire_transfer_instruction"
	PendingTransactionListParamsCategoryInInboundWireTransferReversal         PendingTransactionListParamsCategoryIn = "inbound_wire_transfer_reversal"
	PendingTransactionListParamsCategoryInSwiftTransferInstruction            PendingTransactionListParamsCategoryIn = "swift_transfer_instruction"
	PendingTransactionListParamsCategoryInCardPushTransferInstruction         PendingTransactionListParamsCategoryIn = "card_push_transfer_instruction"
	PendingTransactionListParamsCategoryInOther                               PendingTransactionListParamsCategoryIn = "other"
)

func (PendingTransactionListParamsCategoryIn) IsKnown

type PendingTransactionListParamsCreatedAt

type PendingTransactionListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (PendingTransactionListParamsCreatedAt) URLQuery

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

type PendingTransactionListParamsStatus

type PendingTransactionListParamsStatus struct {
	// Filter Pending Transactions for those with the specified status. By default only
	// Pending Transactions in with status `pending` will be returned. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]PendingTransactionListParamsStatusIn] `query:"in"`
}

func (PendingTransactionListParamsStatus) URLQuery

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

type PendingTransactionListParamsStatusIn

type PendingTransactionListParamsStatusIn string
const (
	PendingTransactionListParamsStatusInPending  PendingTransactionListParamsStatusIn = "pending"
	PendingTransactionListParamsStatusInComplete PendingTransactionListParamsStatusIn = "complete"
)

func (PendingTransactionListParamsStatusIn) IsKnown

type PendingTransactionNewParams added in v0.244.0

type PendingTransactionNewParams struct {
	// The Account to place the hold on.
	AccountID param.Field[string] `json:"account_id,required"`
	// The amount to hold in the minor unit of the account's currency. For dollars, for
	// example, this is cents. This should be a negative amount - to hold $1.00 from
	// the account, you would pass -100.
	Amount param.Field[int64] `json:"amount,required"`
	// The description you choose to give the hold.
	Description param.Field[string] `json:"description"`
}

func (PendingTransactionNewParams) MarshalJSON added in v0.244.0

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

type PendingTransactionRouteType

type PendingTransactionRouteType string

The type of the route this Pending Transaction came through.

const (
	PendingTransactionRouteTypeAccountNumber PendingTransactionRouteType = "account_number"
	PendingTransactionRouteTypeCard          PendingTransactionRouteType = "card"
	PendingTransactionRouteTypeLockbox       PendingTransactionRouteType = "lockbox"
)

func (PendingTransactionRouteType) IsKnown

func (r PendingTransactionRouteType) IsKnown() bool

type PendingTransactionService

type PendingTransactionService struct {
	Options []option.RequestOption
}

PendingTransactionService contains methods and other services that help with interacting with the increase 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 NewPendingTransactionService method instead.

func NewPendingTransactionService

func NewPendingTransactionService(opts ...option.RequestOption) (r *PendingTransactionService)

NewPendingTransactionService 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 (*PendingTransactionService) Get

func (r *PendingTransactionService) Get(ctx context.Context, pendingTransactionID string, opts ...option.RequestOption) (res *PendingTransaction, err error)

Retrieve a Pending Transaction

func (*PendingTransactionService) List

List Pending Transactions

func (*PendingTransactionService) ListAutoPaging

List Pending Transactions

func (*PendingTransactionService) New added in v0.244.0

Creates a pending transaction on an account. This can be useful to hold funds for an external payment or known future transaction outside of Increase. The resulting Pending Transaction will have a `category` of `user_initiated_hold` and can be released via the API to unlock the held funds.

func (*PendingTransactionService) Release added in v0.244.0

func (r *PendingTransactionService) Release(ctx context.Context, pendingTransactionID string, opts ...option.RequestOption) (res *PendingTransaction, err error)

Release a Pending Transaction you had previously created. The Pending Transaction must have a `category` of `user_initiated_hold` and a `status` of `pending`. This will unlock the held funds and mark the Pending Transaction as complete.

type PendingTransactionSource

type PendingTransactionSource struct {
	// An Account Transfer Instruction object. This field will be present in the JSON
	// response if and only if `category` is equal to `account_transfer_instruction`.
	AccountTransferInstruction PendingTransactionSourceAccountTransferInstruction `json:"account_transfer_instruction,required,nullable"`
	// An ACH Transfer Instruction object. This field will be present in the JSON
	// response if and only if `category` is equal to `ach_transfer_instruction`.
	ACHTransferInstruction PendingTransactionSourceACHTransferInstruction `json:"ach_transfer_instruction,required,nullable"`
	// A Card Authorization object. This field will be present in the JSON response if
	// and only if `category` is equal to `card_authorization`. Card Authorizations are
	// temporary holds placed on a customers funds with the intent to later clear a
	// transaction.
	CardAuthorization PendingTransactionSourceCardAuthorization `json:"card_authorization,required,nullable"`
	// A Card Push Transfer Instruction object. This field will be present in the JSON
	// response if and only if `category` is equal to `card_push_transfer_instruction`.
	CardPushTransferInstruction PendingTransactionSourceCardPushTransferInstruction `json:"card_push_transfer_instruction,required,nullable"`
	// The type of the resource. We may add additional possible values for this enum
	// over time; your application should be able to handle such additions gracefully.
	Category PendingTransactionSourceCategory `json:"category,required"`
	// A Check Deposit Instruction object. This field will be present in the JSON
	// response if and only if `category` is equal to `check_deposit_instruction`.
	CheckDepositInstruction PendingTransactionSourceCheckDepositInstruction `json:"check_deposit_instruction,required,nullable"`
	// A Check Transfer Instruction object. This field will be present in the JSON
	// response if and only if `category` is equal to `check_transfer_instruction`.
	CheckTransferInstruction PendingTransactionSourceCheckTransferInstruction `json:"check_transfer_instruction,required,nullable"`
	// An Inbound Funds Hold object. This field will be present in the JSON response if
	// and only if `category` is equal to `inbound_funds_hold`. We hold funds for
	// certain transaction types to account for return windows where funds might still
	// be clawed back by the sending institution.
	InboundFundsHold PendingTransactionSourceInboundFundsHold `json:"inbound_funds_hold,required,nullable"`
	// An Inbound Wire Transfer Reversal object. This field will be present in the JSON
	// response if and only if `category` is equal to `inbound_wire_transfer_reversal`.
	// An Inbound Wire Transfer Reversal is created when Increase has received a wire
	// and the User requests that it be reversed.
	InboundWireTransferReversal PendingTransactionSourceInboundWireTransferReversal `json:"inbound_wire_transfer_reversal,required,nullable"`
	// If the category of this Transaction source is equal to `other`, this field will
	// contain an empty object, otherwise it will contain null.
	Other interface{} `json:"other,required,nullable"`
	// A Real-Time Payments Transfer Instruction object. This field will be present in
	// the JSON response if and only if `category` is equal to
	// `real_time_payments_transfer_instruction`.
	RealTimePaymentsTransferInstruction PendingTransactionSourceRealTimePaymentsTransferInstruction `json:"real_time_payments_transfer_instruction,required,nullable"`
	// A Swift Transfer Instruction object. This field will be present in the JSON
	// response if and only if `category` is equal to `swift_transfer_instruction`.
	SwiftTransferInstruction PendingTransactionSourceSwiftTransferInstruction `json:"swift_transfer_instruction,required,nullable"`
	// An User Initiated Hold object. This field will be present in the JSON response
	// if and only if `category` is equal to `user_initiated_hold`. Created when a user
	// initiates a hold on funds in their account.
	UserInitiatedHold interface{} `json:"user_initiated_hold,required,nullable"`
	// A Wire Transfer Instruction object. This field will be present in the JSON
	// response if and only if `category` is equal to `wire_transfer_instruction`.
	WireTransferInstruction PendingTransactionSourceWireTransferInstruction `json:"wire_transfer_instruction,required,nullable"`
	JSON                    pendingTransactionSourceJSON                    `json:"-"`
}

This is an object giving more details on the network-level event that caused the Pending Transaction. For example, for a card transaction this lists the merchant's industry and location.

func (*PendingTransactionSource) UnmarshalJSON

func (r *PendingTransactionSource) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceACHTransferInstruction

type PendingTransactionSourceACHTransferInstruction struct {
	// The pending amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the ACH Transfer that led to this Pending Transaction.
	TransferID string                                             `json:"transfer_id,required"`
	JSON       pendingTransactionSourceACHTransferInstructionJSON `json:"-"`
}

An ACH Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `ach_transfer_instruction`.

func (*PendingTransactionSourceACHTransferInstruction) UnmarshalJSON

func (r *PendingTransactionSourceACHTransferInstruction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceAccountTransferInstruction

type PendingTransactionSourceAccountTransferInstruction struct {
	// The pending amount in the minor unit of the transaction's currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency PendingTransactionSourceAccountTransferInstructionCurrency `json:"currency,required"`
	// The identifier of the Account Transfer that led to this Pending Transaction.
	TransferID string                                                 `json:"transfer_id,required"`
	JSON       pendingTransactionSourceAccountTransferInstructionJSON `json:"-"`
}

An Account Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `account_transfer_instruction`.

func (*PendingTransactionSourceAccountTransferInstruction) UnmarshalJSON

func (r *PendingTransactionSourceAccountTransferInstruction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceAccountTransferInstructionCurrency

type PendingTransactionSourceAccountTransferInstructionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination account currency.

const (
	PendingTransactionSourceAccountTransferInstructionCurrencyCad PendingTransactionSourceAccountTransferInstructionCurrency = "CAD"
	PendingTransactionSourceAccountTransferInstructionCurrencyChf PendingTransactionSourceAccountTransferInstructionCurrency = "CHF"
	PendingTransactionSourceAccountTransferInstructionCurrencyEur PendingTransactionSourceAccountTransferInstructionCurrency = "EUR"
	PendingTransactionSourceAccountTransferInstructionCurrencyGbp PendingTransactionSourceAccountTransferInstructionCurrency = "GBP"
	PendingTransactionSourceAccountTransferInstructionCurrencyJpy PendingTransactionSourceAccountTransferInstructionCurrency = "JPY"
	PendingTransactionSourceAccountTransferInstructionCurrencyUsd PendingTransactionSourceAccountTransferInstructionCurrency = "USD"
)

func (PendingTransactionSourceAccountTransferInstructionCurrency) IsKnown

type PendingTransactionSourceCardAuthorization

type PendingTransactionSourceCardAuthorization struct {
	// The Card Authorization identifier.
	ID string `json:"id,required"`
	// Whether this authorization was approved by Increase, the card network through
	// stand-in processing, or the user through a real-time decision.
	Actioner PendingTransactionSourceCardAuthorizationActioner `json:"actioner,required"`
	// The pending amount in the minor unit of the transaction's currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency PendingTransactionSourceCardAuthorizationCurrency `json:"currency,required"`
	// If the authorization was made via a Digital Wallet Token (such as an Apple Pay
	// purchase), the identifier of the token that was used.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// The direction describes the direction the funds will move, either from the
	// cardholder to the merchant or from the merchant to the cardholder.
	Direction PendingTransactionSourceCardAuthorizationDirection `json:"direction,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) when this authorization
	// will expire and the pending transaction will be released.
	ExpiresAt time.Time `json:"expires_at,required" format:"date-time"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor string `json:"merchant_descriptor,required"`
	// The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
	// ZIP code, where the first 5 and last 4 are separated by a dash.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails PendingTransactionSourceCardAuthorizationNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers PendingTransactionSourceCardAuthorizationNetworkIdentifiers `json:"network_identifiers,required"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore int64 `json:"network_risk_score,required,nullable"`
	// The identifier of the Pending Transaction associated with this Transaction.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// If the authorization was made in-person with a physical card, the Physical Card
	// that was used.
	PhysicalCardID string `json:"physical_card_id,required,nullable"`
	// The pending amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// The processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory PendingTransactionSourceCardAuthorizationProcessingCategory `json:"processing_category,required"`
	// The identifier of the Real-Time Decision sent to approve or decline this
	// transaction.
	RealTimeDecisionID string `json:"real_time_decision_id,required,nullable"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID string `json:"terminal_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `card_authorization`.
	Type PendingTransactionSourceCardAuthorizationType `json:"type,required"`
	// Fields related to verification of cardholder-provided values.
	Verification PendingTransactionSourceCardAuthorizationVerification `json:"verification,required"`
	JSON         pendingTransactionSourceCardAuthorizationJSON         `json:"-"`
}

A Card Authorization object. This field will be present in the JSON response if and only if `category` is equal to `card_authorization`. Card Authorizations are temporary holds placed on a customers funds with the intent to later clear a transaction.

func (*PendingTransactionSourceCardAuthorization) UnmarshalJSON

func (r *PendingTransactionSourceCardAuthorization) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceCardAuthorizationActioner

type PendingTransactionSourceCardAuthorizationActioner string

Whether this authorization was approved by Increase, the card network through stand-in processing, or the user through a real-time decision.

const (
	PendingTransactionSourceCardAuthorizationActionerUser     PendingTransactionSourceCardAuthorizationActioner = "user"
	PendingTransactionSourceCardAuthorizationActionerIncrease PendingTransactionSourceCardAuthorizationActioner = "increase"
	PendingTransactionSourceCardAuthorizationActionerNetwork  PendingTransactionSourceCardAuthorizationActioner = "network"
)

func (PendingTransactionSourceCardAuthorizationActioner) IsKnown

type PendingTransactionSourceCardAuthorizationCurrency

type PendingTransactionSourceCardAuthorizationCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	PendingTransactionSourceCardAuthorizationCurrencyCad PendingTransactionSourceCardAuthorizationCurrency = "CAD"
	PendingTransactionSourceCardAuthorizationCurrencyChf PendingTransactionSourceCardAuthorizationCurrency = "CHF"
	PendingTransactionSourceCardAuthorizationCurrencyEur PendingTransactionSourceCardAuthorizationCurrency = "EUR"
	PendingTransactionSourceCardAuthorizationCurrencyGbp PendingTransactionSourceCardAuthorizationCurrency = "GBP"
	PendingTransactionSourceCardAuthorizationCurrencyJpy PendingTransactionSourceCardAuthorizationCurrency = "JPY"
	PendingTransactionSourceCardAuthorizationCurrencyUsd PendingTransactionSourceCardAuthorizationCurrency = "USD"
)

func (PendingTransactionSourceCardAuthorizationCurrency) IsKnown

type PendingTransactionSourceCardAuthorizationDirection

type PendingTransactionSourceCardAuthorizationDirection string

The direction describes the direction the funds will move, either from the cardholder to the merchant or from the merchant to the cardholder.

const (
	PendingTransactionSourceCardAuthorizationDirectionSettlement PendingTransactionSourceCardAuthorizationDirection = "settlement"
	PendingTransactionSourceCardAuthorizationDirectionRefund     PendingTransactionSourceCardAuthorizationDirection = "refund"
)

func (PendingTransactionSourceCardAuthorizationDirection) IsKnown

type PendingTransactionSourceCardAuthorizationNetworkDetails

type PendingTransactionSourceCardAuthorizationNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category PendingTransactionSourceCardAuthorizationNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa PendingTransactionSourceCardAuthorizationNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON pendingTransactionSourceCardAuthorizationNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*PendingTransactionSourceCardAuthorizationNetworkDetails) UnmarshalJSON

type PendingTransactionSourceCardAuthorizationNetworkDetailsCategory

type PendingTransactionSourceCardAuthorizationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	PendingTransactionSourceCardAuthorizationNetworkDetailsCategoryVisa PendingTransactionSourceCardAuthorizationNetworkDetailsCategory = "visa"
)

func (PendingTransactionSourceCardAuthorizationNetworkDetailsCategory) IsKnown

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisa

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisa struct {
	// For electronic commerce transactions, this identifies the level of security used
	// in obtaining the customer's payment credential. For mail or telephone order
	// transactions, identifies the type of mail or telephone order.
	ElectronicCommerceIndicator PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	// Only present when `actioner: network`. Describes why a card authorization was
	// approved or declined by Visa through stand-in processing.
	StandInProcessingReason PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason `json:"stand_in_processing_reason,required,nullable"`
	JSON                    pendingTransactionSourceCardAuthorizationNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*PendingTransactionSourceCardAuthorizationNetworkDetailsVisa) UnmarshalJSON

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator string

For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.

const (
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder                                          PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorRecurring                                               PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorInstallment                                             PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder                                   PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce                                PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction                     PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction                                    PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator) IsKnown

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode string

The method used to enter the cardholder's primary account number and card expiration date.

const (
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeUnknown                    PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeManual                     PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv        PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode                PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard      PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactless                PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile           PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe             PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe  PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode) IsKnown

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason added in v0.141.0

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason string

Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.

const (
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonIssuerError                                              PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard                                      PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue         PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInternalVisaError                                        PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonPaymentFraudDisruptionAcquirerBlock                      PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "payment_fraud_disruption_acquirer_block"
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonOther                                                    PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "other"
)

func (PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason) IsKnown added in v0.141.0

type PendingTransactionSourceCardAuthorizationNetworkIdentifiers

type PendingTransactionSourceCardAuthorizationNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                          `json:"transaction_id,required,nullable"`
	JSON          pendingTransactionSourceCardAuthorizationNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*PendingTransactionSourceCardAuthorizationNetworkIdentifiers) UnmarshalJSON

type PendingTransactionSourceCardAuthorizationProcessingCategory

type PendingTransactionSourceCardAuthorizationProcessingCategory string

The processing category describes the intent behind the authorization, such as whether it was used for bill payments or an automatic fuel dispenser.

const (
	PendingTransactionSourceCardAuthorizationProcessingCategoryAccountFunding         PendingTransactionSourceCardAuthorizationProcessingCategory = "account_funding"
	PendingTransactionSourceCardAuthorizationProcessingCategoryAutomaticFuelDispenser PendingTransactionSourceCardAuthorizationProcessingCategory = "automatic_fuel_dispenser"
	PendingTransactionSourceCardAuthorizationProcessingCategoryBillPayment            PendingTransactionSourceCardAuthorizationProcessingCategory = "bill_payment"
	PendingTransactionSourceCardAuthorizationProcessingCategoryOriginalCredit         PendingTransactionSourceCardAuthorizationProcessingCategory = "original_credit"
	PendingTransactionSourceCardAuthorizationProcessingCategoryPurchase               PendingTransactionSourceCardAuthorizationProcessingCategory = "purchase"
	PendingTransactionSourceCardAuthorizationProcessingCategoryQuasiCash              PendingTransactionSourceCardAuthorizationProcessingCategory = "quasi_cash"
	PendingTransactionSourceCardAuthorizationProcessingCategoryRefund                 PendingTransactionSourceCardAuthorizationProcessingCategory = "refund"
	PendingTransactionSourceCardAuthorizationProcessingCategoryCashDisbursement       PendingTransactionSourceCardAuthorizationProcessingCategory = "cash_disbursement"
	PendingTransactionSourceCardAuthorizationProcessingCategoryUnknown                PendingTransactionSourceCardAuthorizationProcessingCategory = "unknown"
)

func (PendingTransactionSourceCardAuthorizationProcessingCategory) IsKnown

type PendingTransactionSourceCardAuthorizationType

type PendingTransactionSourceCardAuthorizationType string

A constant representing the object's type. For this resource it will always be `card_authorization`.

const (
	PendingTransactionSourceCardAuthorizationTypeCardAuthorization PendingTransactionSourceCardAuthorizationType = "card_authorization"
)

func (PendingTransactionSourceCardAuthorizationType) IsKnown

type PendingTransactionSourceCardAuthorizationVerification

type PendingTransactionSourceCardAuthorizationVerification struct {
	// Fields related to verification of the Card Verification Code, a 3-digit code on
	// the back of the card.
	CardVerificationCode PendingTransactionSourceCardAuthorizationVerificationCardVerificationCode `json:"card_verification_code,required"`
	// Cardholder address provided in the authorization request and the address on file
	// we verified it against.
	CardholderAddress PendingTransactionSourceCardAuthorizationVerificationCardholderAddress `json:"cardholder_address,required"`
	JSON              pendingTransactionSourceCardAuthorizationVerificationJSON              `json:"-"`
}

Fields related to verification of cardholder-provided values.

func (*PendingTransactionSourceCardAuthorizationVerification) UnmarshalJSON

func (r *PendingTransactionSourceCardAuthorizationVerification) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceCardAuthorizationVerificationCardVerificationCode

type PendingTransactionSourceCardAuthorizationVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   pendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeJSON   `json:"-"`
}

Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

func (*PendingTransactionSourceCardAuthorizationVerificationCardVerificationCode) UnmarshalJSON

type PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult

type PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultNotChecked PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "not_checked"
	PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultMatch      PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "match"
	PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultNoMatch    PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "no_match"
)

func (PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult) IsKnown

type PendingTransactionSourceCardAuthorizationVerificationCardholderAddress

type PendingTransactionSourceCardAuthorizationVerificationCardholderAddress struct {
	// Line 1 of the address on file for the cardholder.
	ActualLine1 string `json:"actual_line1,required,nullable"`
	// The postal code of the address on file for the cardholder.
	ActualPostalCode string `json:"actual_postal_code,required,nullable"`
	// The cardholder address line 1 provided for verification in the authorization
	// request.
	ProvidedLine1 string `json:"provided_line1,required,nullable"`
	// The postal code provided for verification in the authorization request.
	ProvidedPostalCode string `json:"provided_postal_code,required,nullable"`
	// The address verification result returned to the card network.
	Result PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult `json:"result,required"`
	JSON   pendingTransactionSourceCardAuthorizationVerificationCardholderAddressJSON   `json:"-"`
}

Cardholder address provided in the authorization request and the address on file we verified it against.

func (*PendingTransactionSourceCardAuthorizationVerificationCardholderAddress) UnmarshalJSON

type PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult

type PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultNotChecked                       PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "not_checked"
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch    PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch    PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultMatch                            PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "match"
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultNoMatch                          PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "no_match"
)

func (PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult) IsKnown

type PendingTransactionSourceCardPushTransferInstruction added in v0.247.0

type PendingTransactionSourceCardPushTransferInstruction struct {
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Card Push Transfer that led to this Pending Transaction.
	TransferID string                                                  `json:"transfer_id,required"`
	JSON       pendingTransactionSourceCardPushTransferInstructionJSON `json:"-"`
}

A Card Push Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `card_push_transfer_instruction`.

func (*PendingTransactionSourceCardPushTransferInstruction) UnmarshalJSON added in v0.247.0

func (r *PendingTransactionSourceCardPushTransferInstruction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceCategory

type PendingTransactionSourceCategory string

The type of the resource. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.

const (
	PendingTransactionSourceCategoryAccountTransferInstruction          PendingTransactionSourceCategory = "account_transfer_instruction"
	PendingTransactionSourceCategoryACHTransferInstruction              PendingTransactionSourceCategory = "ach_transfer_instruction"
	PendingTransactionSourceCategoryCardAuthorization                   PendingTransactionSourceCategory = "card_authorization"
	PendingTransactionSourceCategoryCheckDepositInstruction             PendingTransactionSourceCategory = "check_deposit_instruction"
	PendingTransactionSourceCategoryCheckTransferInstruction            PendingTransactionSourceCategory = "check_transfer_instruction"
	PendingTransactionSourceCategoryInboundFundsHold                    PendingTransactionSourceCategory = "inbound_funds_hold"
	PendingTransactionSourceCategoryUserInitiatedHold                   PendingTransactionSourceCategory = "user_initiated_hold"
	PendingTransactionSourceCategoryRealTimePaymentsTransferInstruction PendingTransactionSourceCategory = "real_time_payments_transfer_instruction"
	PendingTransactionSourceCategoryWireTransferInstruction             PendingTransactionSourceCategory = "wire_transfer_instruction"
	PendingTransactionSourceCategoryInboundWireTransferReversal         PendingTransactionSourceCategory = "inbound_wire_transfer_reversal"
	PendingTransactionSourceCategorySwiftTransferInstruction            PendingTransactionSourceCategory = "swift_transfer_instruction"
	PendingTransactionSourceCategoryCardPushTransferInstruction         PendingTransactionSourceCategory = "card_push_transfer_instruction"
	PendingTransactionSourceCategoryOther                               PendingTransactionSourceCategory = "other"
)

func (PendingTransactionSourceCategory) IsKnown

type PendingTransactionSourceCheckDepositInstruction

type PendingTransactionSourceCheckDepositInstruction struct {
	// The pending amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the File containing the image of the back of the check that
	// was deposited.
	BackImageFileID string `json:"back_image_file_id,required,nullable"`
	// The identifier of the Check Deposit.
	CheckDepositID string `json:"check_deposit_id,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency PendingTransactionSourceCheckDepositInstructionCurrency `json:"currency,required"`
	// The identifier of the File containing the image of the front of the check that
	// was deposited.
	FrontImageFileID string                                              `json:"front_image_file_id,required"`
	JSON             pendingTransactionSourceCheckDepositInstructionJSON `json:"-"`
}

A Check Deposit Instruction object. This field will be present in the JSON response if and only if `category` is equal to `check_deposit_instruction`.

func (*PendingTransactionSourceCheckDepositInstruction) UnmarshalJSON

func (r *PendingTransactionSourceCheckDepositInstruction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceCheckDepositInstructionCurrency

type PendingTransactionSourceCheckDepositInstructionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	PendingTransactionSourceCheckDepositInstructionCurrencyCad PendingTransactionSourceCheckDepositInstructionCurrency = "CAD"
	PendingTransactionSourceCheckDepositInstructionCurrencyChf PendingTransactionSourceCheckDepositInstructionCurrency = "CHF"
	PendingTransactionSourceCheckDepositInstructionCurrencyEur PendingTransactionSourceCheckDepositInstructionCurrency = "EUR"
	PendingTransactionSourceCheckDepositInstructionCurrencyGbp PendingTransactionSourceCheckDepositInstructionCurrency = "GBP"
	PendingTransactionSourceCheckDepositInstructionCurrencyJpy PendingTransactionSourceCheckDepositInstructionCurrency = "JPY"
	PendingTransactionSourceCheckDepositInstructionCurrencyUsd PendingTransactionSourceCheckDepositInstructionCurrency = "USD"
)

func (PendingTransactionSourceCheckDepositInstructionCurrency) IsKnown

type PendingTransactionSourceCheckTransferInstruction

type PendingTransactionSourceCheckTransferInstruction struct {
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's
	// currency.
	Currency PendingTransactionSourceCheckTransferInstructionCurrency `json:"currency,required"`
	// The identifier of the Check Transfer that led to this Pending Transaction.
	TransferID string                                               `json:"transfer_id,required"`
	JSON       pendingTransactionSourceCheckTransferInstructionJSON `json:"-"`
}

A Check Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `check_transfer_instruction`.

func (*PendingTransactionSourceCheckTransferInstruction) UnmarshalJSON

func (r *PendingTransactionSourceCheckTransferInstruction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceCheckTransferInstructionCurrency

type PendingTransactionSourceCheckTransferInstructionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's currency.

const (
	PendingTransactionSourceCheckTransferInstructionCurrencyCad PendingTransactionSourceCheckTransferInstructionCurrency = "CAD"
	PendingTransactionSourceCheckTransferInstructionCurrencyChf PendingTransactionSourceCheckTransferInstructionCurrency = "CHF"
	PendingTransactionSourceCheckTransferInstructionCurrencyEur PendingTransactionSourceCheckTransferInstructionCurrency = "EUR"
	PendingTransactionSourceCheckTransferInstructionCurrencyGbp PendingTransactionSourceCheckTransferInstructionCurrency = "GBP"
	PendingTransactionSourceCheckTransferInstructionCurrencyJpy PendingTransactionSourceCheckTransferInstructionCurrency = "JPY"
	PendingTransactionSourceCheckTransferInstructionCurrencyUsd PendingTransactionSourceCheckTransferInstructionCurrency = "USD"
)

func (PendingTransactionSourceCheckTransferInstructionCurrency) IsKnown

type PendingTransactionSourceInboundFundsHold

type PendingTransactionSourceInboundFundsHold struct {
	// The Inbound Funds Hold identifier.
	ID string `json:"id,required"`
	// The held amount in the minor unit of the account's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// When the hold will be released automatically. Certain conditions may cause it to
	// be released before this time.
	AutomaticallyReleasesAt time.Time `json:"automatically_releases_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the hold
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's
	// currency.
	Currency PendingTransactionSourceInboundFundsHoldCurrency `json:"currency,required"`
	// The ID of the Transaction for which funds were held.
	HeldTransactionID string `json:"held_transaction_id,required,nullable"`
	// The ID of the Pending Transaction representing the held funds.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// When the hold was released (if it has been released).
	ReleasedAt time.Time `json:"released_at,required,nullable" format:"date-time"`
	// The status of the hold.
	Status PendingTransactionSourceInboundFundsHoldStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_funds_hold`.
	Type PendingTransactionSourceInboundFundsHoldType `json:"type,required"`
	JSON pendingTransactionSourceInboundFundsHoldJSON `json:"-"`
}

An Inbound Funds Hold object. This field will be present in the JSON response if and only if `category` is equal to `inbound_funds_hold`. We hold funds for certain transaction types to account for return windows where funds might still be clawed back by the sending institution.

func (*PendingTransactionSourceInboundFundsHold) UnmarshalJSON

func (r *PendingTransactionSourceInboundFundsHold) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceInboundFundsHoldCurrency

type PendingTransactionSourceInboundFundsHoldCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's currency.

const (
	PendingTransactionSourceInboundFundsHoldCurrencyCad PendingTransactionSourceInboundFundsHoldCurrency = "CAD"
	PendingTransactionSourceInboundFundsHoldCurrencyChf PendingTransactionSourceInboundFundsHoldCurrency = "CHF"
	PendingTransactionSourceInboundFundsHoldCurrencyEur PendingTransactionSourceInboundFundsHoldCurrency = "EUR"
	PendingTransactionSourceInboundFundsHoldCurrencyGbp PendingTransactionSourceInboundFundsHoldCurrency = "GBP"
	PendingTransactionSourceInboundFundsHoldCurrencyJpy PendingTransactionSourceInboundFundsHoldCurrency = "JPY"
	PendingTransactionSourceInboundFundsHoldCurrencyUsd PendingTransactionSourceInboundFundsHoldCurrency = "USD"
)

func (PendingTransactionSourceInboundFundsHoldCurrency) IsKnown

type PendingTransactionSourceInboundFundsHoldStatus

type PendingTransactionSourceInboundFundsHoldStatus string

The status of the hold.

const (
	PendingTransactionSourceInboundFundsHoldStatusHeld     PendingTransactionSourceInboundFundsHoldStatus = "held"
	PendingTransactionSourceInboundFundsHoldStatusComplete PendingTransactionSourceInboundFundsHoldStatus = "complete"
)

func (PendingTransactionSourceInboundFundsHoldStatus) IsKnown

type PendingTransactionSourceInboundFundsHoldType

type PendingTransactionSourceInboundFundsHoldType string

A constant representing the object's type. For this resource it will always be `inbound_funds_hold`.

const (
	PendingTransactionSourceInboundFundsHoldTypeInboundFundsHold PendingTransactionSourceInboundFundsHoldType = "inbound_funds_hold"
)

func (PendingTransactionSourceInboundFundsHoldType) IsKnown

type PendingTransactionSourceInboundWireTransferReversal added in v0.178.0

type PendingTransactionSourceInboundWireTransferReversal struct {
	// The ID of the Inbound Wire Transfer that is being reversed.
	InboundWireTransferID string                                                  `json:"inbound_wire_transfer_id,required"`
	JSON                  pendingTransactionSourceInboundWireTransferReversalJSON `json:"-"`
}

An Inbound Wire Transfer Reversal object. This field will be present in the JSON response if and only if `category` is equal to `inbound_wire_transfer_reversal`. An Inbound Wire Transfer Reversal is created when Increase has received a wire and the User requests that it be reversed.

func (*PendingTransactionSourceInboundWireTransferReversal) UnmarshalJSON added in v0.178.0

func (r *PendingTransactionSourceInboundWireTransferReversal) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceRealTimePaymentsTransferInstruction

type PendingTransactionSourceRealTimePaymentsTransferInstruction struct {
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Real-Time Payments Transfer that led to this Pending
	// Transaction.
	TransferID string                                                          `json:"transfer_id,required"`
	JSON       pendingTransactionSourceRealTimePaymentsTransferInstructionJSON `json:"-"`
}

A Real-Time Payments Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `real_time_payments_transfer_instruction`.

func (*PendingTransactionSourceRealTimePaymentsTransferInstruction) UnmarshalJSON

type PendingTransactionSourceSwiftTransferInstruction added in v0.223.0

type PendingTransactionSourceSwiftTransferInstruction struct {
	// The identifier of the Swift Transfer that led to this Pending Transaction.
	TransferID string                                               `json:"transfer_id,required"`
	JSON       pendingTransactionSourceSwiftTransferInstructionJSON `json:"-"`
}

A Swift Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `swift_transfer_instruction`.

func (*PendingTransactionSourceSwiftTransferInstruction) UnmarshalJSON added in v0.223.0

func (r *PendingTransactionSourceSwiftTransferInstruction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionSourceWireTransferInstruction

type PendingTransactionSourceWireTransferInstruction struct {
	// The account number for the destination account.
	AccountNumber string `json:"account_number,required"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The message that will show on the recipient's bank statement.
	MessageToRecipient string `json:"message_to_recipient,required"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// destination account.
	RoutingNumber string `json:"routing_number,required"`
	// The identifier of the Wire Transfer that led to this Pending Transaction.
	TransferID string                                              `json:"transfer_id,required"`
	JSON       pendingTransactionSourceWireTransferInstructionJSON `json:"-"`
}

A Wire Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `wire_transfer_instruction`.

func (*PendingTransactionSourceWireTransferInstruction) UnmarshalJSON

func (r *PendingTransactionSourceWireTransferInstruction) UnmarshalJSON(data []byte) (err error)

type PendingTransactionStatus

type PendingTransactionStatus string

Whether the Pending Transaction has been confirmed and has an associated Transaction.

const (
	PendingTransactionStatusPending  PendingTransactionStatus = "pending"
	PendingTransactionStatusComplete PendingTransactionStatus = "complete"
)

func (PendingTransactionStatus) IsKnown

func (r PendingTransactionStatus) IsKnown() bool

type PendingTransactionType

type PendingTransactionType string

A constant representing the object's type. For this resource it will always be `pending_transaction`.

const (
	PendingTransactionTypePendingTransaction PendingTransactionType = "pending_transaction"
)

func (PendingTransactionType) IsKnown

func (r PendingTransactionType) IsKnown() bool

type PhysicalCard

type PhysicalCard struct {
	// The physical card identifier.
	ID string `json:"id,required"`
	// The identifier for the Card this Physical Card represents.
	CardID string `json:"card_id,required"`
	// Details about the cardholder, as it appears on the printed card.
	Cardholder PhysicalCardCardholder `json:"cardholder,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Physical Card was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The Physical Card Profile used for this Physical Card.
	PhysicalCardProfileID string `json:"physical_card_profile_id,required,nullable"`
	// The details used to ship this physical card.
	Shipment PhysicalCardShipment `json:"shipment,required"`
	// The status of the Physical Card.
	Status PhysicalCardStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `physical_card`.
	Type PhysicalCardType `json:"type,required"`
	JSON physicalCardJSON `json:"-"`
}

Custom physical Visa cards that are shipped to your customers. The artwork is configurable by a connected [Card Profile](/documentation/api#card-profiles). The same Card can be used for multiple Physical Cards. Printing cards incurs a fee. Please contact [support@increase.com](mailto:support@increase.com) for pricing!

func (*PhysicalCard) UnmarshalJSON

func (r *PhysicalCard) UnmarshalJSON(data []byte) (err error)

type PhysicalCardCardholder

type PhysicalCardCardholder struct {
	// The cardholder's first name.
	FirstName string `json:"first_name,required"`
	// The cardholder's last name.
	LastName string                     `json:"last_name,required"`
	JSON     physicalCardCardholderJSON `json:"-"`
}

Details about the cardholder, as it appears on the printed card.

func (*PhysicalCardCardholder) UnmarshalJSON

func (r *PhysicalCardCardholder) UnmarshalJSON(data []byte) (err error)

type PhysicalCardListParams

type PhysicalCardListParams struct {
	// Filter Physical Cards to ones belonging to the specified Card.
	CardID    param.Field[string]                          `query:"card_id"`
	CreatedAt param.Field[PhysicalCardListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (PhysicalCardListParams) URLQuery

func (r PhysicalCardListParams) URLQuery() (v url.Values)

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

type PhysicalCardListParamsCreatedAt

type PhysicalCardListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (PhysicalCardListParamsCreatedAt) URLQuery

func (r PhysicalCardListParamsCreatedAt) URLQuery() (v url.Values)

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

type PhysicalCardNewParams

type PhysicalCardNewParams struct {
	// The underlying card representing this physical card.
	CardID param.Field[string] `json:"card_id,required"`
	// Details about the cardholder, as it will appear on the physical card.
	Cardholder param.Field[PhysicalCardNewParamsCardholder] `json:"cardholder,required"`
	// The details used to ship this physical card.
	Shipment param.Field[PhysicalCardNewParamsShipment] `json:"shipment,required"`
	// The physical card profile to use for this physical card. The latest default
	// physical card profile will be used if not provided.
	PhysicalCardProfileID param.Field[string] `json:"physical_card_profile_id"`
}

func (PhysicalCardNewParams) MarshalJSON

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

type PhysicalCardNewParamsCardholder

type PhysicalCardNewParamsCardholder struct {
	// The cardholder's first name.
	FirstName param.Field[string] `json:"first_name,required"`
	// The cardholder's last name.
	LastName param.Field[string] `json:"last_name,required"`
}

Details about the cardholder, as it will appear on the physical card.

func (PhysicalCardNewParamsCardholder) MarshalJSON

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

type PhysicalCardNewParamsShipment

type PhysicalCardNewParamsShipment struct {
	// The address to where the card should be shipped.
	Address param.Field[PhysicalCardNewParamsShipmentAddress] `json:"address,required"`
	// The shipping method to use.
	Method param.Field[PhysicalCardNewParamsShipmentMethod] `json:"method,required"`
	// When this physical card should be produced by the card printer. The default
	// timeline is the day after the card printer receives the order, except for
	// `FEDEX_PRIORITY_OVERNIGHT` cards, which default to `SAME_DAY`. To use faster
	// production methods, please reach out to
	// [support@increase.com](mailto:support@increase.com).
	Schedule param.Field[PhysicalCardNewParamsShipmentSchedule] `json:"schedule"`
}

The details used to ship this physical card.

func (PhysicalCardNewParamsShipment) MarshalJSON

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

type PhysicalCardNewParamsShipmentAddress

type PhysicalCardNewParamsShipmentAddress struct {
	// The city of the shipping address.
	City param.Field[string] `json:"city,required"`
	// The first line of the shipping address.
	Line1 param.Field[string] `json:"line1,required"`
	// The name of the recipient.
	Name param.Field[string] `json:"name,required"`
	// The postal code of the shipping address.
	PostalCode param.Field[string] `json:"postal_code,required"`
	// The state of the shipping address.
	State param.Field[string] `json:"state,required"`
	// The two-character ISO 3166-1 code of the country where the card should be
	// shipped (e.g., `US`). Please reach out to
	// [support@increase.com](mailto:support@increase.com) to ship cards
	// internationally.
	Country param.Field[string] `json:"country"`
	// The second line of the shipping address.
	Line2 param.Field[string] `json:"line2"`
	// The third line of the shipping address.
	Line3 param.Field[string] `json:"line3"`
	// The phone number of the recipient.
	PhoneNumber param.Field[string] `json:"phone_number"`
}

The address to where the card should be shipped.

func (PhysicalCardNewParamsShipmentAddress) MarshalJSON

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

type PhysicalCardNewParamsShipmentMethod

type PhysicalCardNewParamsShipmentMethod string

The shipping method to use.

const (
	PhysicalCardNewParamsShipmentMethodUsps                   PhysicalCardNewParamsShipmentMethod = "usps"
	PhysicalCardNewParamsShipmentMethodFedexPriorityOvernight PhysicalCardNewParamsShipmentMethod = "fedex_priority_overnight"
	PhysicalCardNewParamsShipmentMethodFedex2Day              PhysicalCardNewParamsShipmentMethod = "fedex_2_day"
	PhysicalCardNewParamsShipmentMethodDhlWorldwideExpress    PhysicalCardNewParamsShipmentMethod = "dhl_worldwide_express"
)

func (PhysicalCardNewParamsShipmentMethod) IsKnown

type PhysicalCardNewParamsShipmentSchedule added in v0.254.0

type PhysicalCardNewParamsShipmentSchedule string

When this physical card should be produced by the card printer. The default timeline is the day after the card printer receives the order, except for `FEDEX_PRIORITY_OVERNIGHT` cards, which default to `SAME_DAY`. To use faster production methods, please reach out to [support@increase.com](mailto:support@increase.com).

const (
	PhysicalCardNewParamsShipmentScheduleNextDay PhysicalCardNewParamsShipmentSchedule = "next_day"
	PhysicalCardNewParamsShipmentScheduleSameDay PhysicalCardNewParamsShipmentSchedule = "same_day"
)

func (PhysicalCardNewParamsShipmentSchedule) IsKnown added in v0.254.0

type PhysicalCardProfile

type PhysicalCardProfile struct {
	// The Card Profile identifier.
	ID string `json:"id,required"`
	// The identifier of the File containing the physical card's back image.
	BackImageFileID string `json:"back_image_file_id,required,nullable"`
	// The identifier of the File containing the physical card's carrier image.
	CarrierImageFileID string `json:"carrier_image_file_id,required,nullable"`
	// A phone number the user can contact to receive support for their card.
	ContactPhone string `json:"contact_phone,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The creator of this Physical Card Profile.
	Creator PhysicalCardProfileCreator `json:"creator,required"`
	// A description you can use to identify the Physical Card Profile.
	Description string `json:"description,required"`
	// The identifier of the File containing the physical card's front image.
	FrontImageFileID string `json:"front_image_file_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// Whether this Physical Card Profile is the default for all cards in its Increase
	// group.
	IsDefault bool `json:"is_default,required"`
	// The identifier for the Program this Physical Card Profile belongs to.
	ProgramID string `json:"program_id,required"`
	// The status of the Physical Card Profile.
	Status PhysicalCardProfileStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `physical_card_profile`.
	Type PhysicalCardProfileType `json:"type,required"`
	JSON physicalCardProfileJSON `json:"-"`
}

This contains artwork and metadata relating to a Physical Card's appearance. For more information, see our guide on [physical card artwork](https://increase.com/documentation/card-art-physical-cards).

func (*PhysicalCardProfile) UnmarshalJSON

func (r *PhysicalCardProfile) UnmarshalJSON(data []byte) (err error)

type PhysicalCardProfileCloneParams

type PhysicalCardProfileCloneParams struct {
	// The identifier of the File containing the physical card's carrier image.
	CarrierImageFileID param.Field[string] `json:"carrier_image_file_id"`
	// A phone number the user can contact to receive support for their card.
	ContactPhone param.Field[string] `json:"contact_phone"`
	// A description you can use to identify the Card Profile.
	Description param.Field[string] `json:"description"`
	// The identifier of the File containing the physical card's front image.
	FrontImageFileID param.Field[string] `json:"front_image_file_id"`
	// Text printed on the front of the card. Reach out to
	// [support@increase.com](mailto:support@increase.com) for more information.
	FrontText param.Field[PhysicalCardProfileCloneParamsFrontText] `json:"front_text"`
}

func (PhysicalCardProfileCloneParams) MarshalJSON

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

type PhysicalCardProfileCloneParamsFrontText

type PhysicalCardProfileCloneParamsFrontText struct {
	// The first line of text on the front of the card.
	Line1 param.Field[string] `json:"line1,required"`
	// The second line of text on the front of the card. Providing a second line moves
	// the first line slightly higher and prints the second line in the spot where the
	// first line would have otherwise been printed.
	Line2 param.Field[string] `json:"line2"`
}

Text printed on the front of the card. Reach out to [support@increase.com](mailto:support@increase.com) for more information.

func (PhysicalCardProfileCloneParamsFrontText) MarshalJSON

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

type PhysicalCardProfileCreator

type PhysicalCardProfileCreator string

The creator of this Physical Card Profile.

const (
	PhysicalCardProfileCreatorIncrease PhysicalCardProfileCreator = "increase"
	PhysicalCardProfileCreatorUser     PhysicalCardProfileCreator = "user"
)

func (PhysicalCardProfileCreator) IsKnown

func (r PhysicalCardProfileCreator) IsKnown() bool

type PhysicalCardProfileListParams

type PhysicalCardProfileListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                               `query:"limit"`
	Status param.Field[PhysicalCardProfileListParamsStatus] `query:"status"`
}

func (PhysicalCardProfileListParams) URLQuery

func (r PhysicalCardProfileListParams) URLQuery() (v url.Values)

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

type PhysicalCardProfileListParamsStatus

type PhysicalCardProfileListParamsStatus struct {
	// Filter Physical Card Profiles for those with the specified statuses. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]PhysicalCardProfileListParamsStatusIn] `query:"in"`
}

func (PhysicalCardProfileListParamsStatus) URLQuery

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

type PhysicalCardProfileListParamsStatusIn

type PhysicalCardProfileListParamsStatusIn string
const (
	PhysicalCardProfileListParamsStatusInPendingCreating   PhysicalCardProfileListParamsStatusIn = "pending_creating"
	PhysicalCardProfileListParamsStatusInPendingReviewing  PhysicalCardProfileListParamsStatusIn = "pending_reviewing"
	PhysicalCardProfileListParamsStatusInRejected          PhysicalCardProfileListParamsStatusIn = "rejected"
	PhysicalCardProfileListParamsStatusInPendingSubmitting PhysicalCardProfileListParamsStatusIn = "pending_submitting"
	PhysicalCardProfileListParamsStatusInActive            PhysicalCardProfileListParamsStatusIn = "active"
	PhysicalCardProfileListParamsStatusInArchived          PhysicalCardProfileListParamsStatusIn = "archived"
)

func (PhysicalCardProfileListParamsStatusIn) IsKnown

type PhysicalCardProfileNewParams

type PhysicalCardProfileNewParams struct {
	// The identifier of the File containing the physical card's carrier image.
	CarrierImageFileID param.Field[string] `json:"carrier_image_file_id,required"`
	// A phone number the user can contact to receive support for their card.
	ContactPhone param.Field[string] `json:"contact_phone,required"`
	// A description you can use to identify the Card Profile.
	Description param.Field[string] `json:"description,required"`
	// The identifier of the File containing the physical card's front image.
	FrontImageFileID param.Field[string] `json:"front_image_file_id,required"`
	// The identifier for the Program that this Physical Card Profile falls under.
	ProgramID param.Field[string] `json:"program_id,required"`
	// Text printed on the front of the card. Reach out to
	// [support@increase.com](mailto:support@increase.com) for more information.
	FrontText param.Field[PhysicalCardProfileNewParamsFrontText] `json:"front_text"`
}

func (PhysicalCardProfileNewParams) MarshalJSON

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

type PhysicalCardProfileNewParamsFrontText added in v0.231.0

type PhysicalCardProfileNewParamsFrontText struct {
	// The first line of text on the front of the card.
	Line1 param.Field[string] `json:"line1,required"`
	// The second line of text on the front of the card. Providing a second line moves
	// the first line slightly higher and prints the second line in the spot where the
	// first line would have otherwise been printed.
	Line2 param.Field[string] `json:"line2"`
}

Text printed on the front of the card. Reach out to [support@increase.com](mailto:support@increase.com) for more information.

func (PhysicalCardProfileNewParamsFrontText) MarshalJSON added in v0.231.0

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

type PhysicalCardProfileService

type PhysicalCardProfileService struct {
	Options []option.RequestOption
}

PhysicalCardProfileService contains methods and other services that help with interacting with the increase 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 NewPhysicalCardProfileService method instead.

func NewPhysicalCardProfileService

func NewPhysicalCardProfileService(opts ...option.RequestOption) (r *PhysicalCardProfileService)

NewPhysicalCardProfileService 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 (*PhysicalCardProfileService) Archive

func (r *PhysicalCardProfileService) Archive(ctx context.Context, physicalCardProfileID string, opts ...option.RequestOption) (res *PhysicalCardProfile, err error)

Archive a Physical Card Profile

func (*PhysicalCardProfileService) Clone

func (r *PhysicalCardProfileService) Clone(ctx context.Context, physicalCardProfileID string, body PhysicalCardProfileCloneParams, opts ...option.RequestOption) (res *PhysicalCardProfile, err error)

Clone a Physical Card Profile

func (*PhysicalCardProfileService) Get

func (r *PhysicalCardProfileService) Get(ctx context.Context, physicalCardProfileID string, opts ...option.RequestOption) (res *PhysicalCardProfile, err error)

Retrieve a Card Profile

func (*PhysicalCardProfileService) List

List Physical Card Profiles

func (*PhysicalCardProfileService) ListAutoPaging

List Physical Card Profiles

func (*PhysicalCardProfileService) New

Create a Physical Card Profile

type PhysicalCardProfileStatus

type PhysicalCardProfileStatus string

The status of the Physical Card Profile.

const (
	PhysicalCardProfileStatusPendingCreating   PhysicalCardProfileStatus = "pending_creating"
	PhysicalCardProfileStatusPendingReviewing  PhysicalCardProfileStatus = "pending_reviewing"
	PhysicalCardProfileStatusRejected          PhysicalCardProfileStatus = "rejected"
	PhysicalCardProfileStatusPendingSubmitting PhysicalCardProfileStatus = "pending_submitting"
	PhysicalCardProfileStatusActive            PhysicalCardProfileStatus = "active"
	PhysicalCardProfileStatusArchived          PhysicalCardProfileStatus = "archived"
)

func (PhysicalCardProfileStatus) IsKnown

func (r PhysicalCardProfileStatus) IsKnown() bool

type PhysicalCardProfileType

type PhysicalCardProfileType string

A constant representing the object's type. For this resource it will always be `physical_card_profile`.

const (
	PhysicalCardProfileTypePhysicalCardProfile PhysicalCardProfileType = "physical_card_profile"
)

func (PhysicalCardProfileType) IsKnown

func (r PhysicalCardProfileType) IsKnown() bool

type PhysicalCardService

type PhysicalCardService struct {
	Options []option.RequestOption
}

PhysicalCardService contains methods and other services that help with interacting with the increase 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 NewPhysicalCardService method instead.

func NewPhysicalCardService

func NewPhysicalCardService(opts ...option.RequestOption) (r *PhysicalCardService)

NewPhysicalCardService 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 (*PhysicalCardService) Get

func (r *PhysicalCardService) Get(ctx context.Context, physicalCardID string, opts ...option.RequestOption) (res *PhysicalCard, err error)

Retrieve a Physical Card

func (*PhysicalCardService) List

List Physical Cards

func (*PhysicalCardService) ListAutoPaging

List Physical Cards

func (*PhysicalCardService) New

Create a Physical Card

func (*PhysicalCardService) Update

func (r *PhysicalCardService) Update(ctx context.Context, physicalCardID string, body PhysicalCardUpdateParams, opts ...option.RequestOption) (res *PhysicalCard, err error)

Update a Physical Card

type PhysicalCardShipment

type PhysicalCardShipment struct {
	// The location to where the card's packing label is addressed.
	Address PhysicalCardShipmentAddress `json:"address,required"`
	// The shipping method.
	Method PhysicalCardShipmentMethod `json:"method,required"`
	// When this physical card should be produced by the card printer. The default
	// timeline is the day after the card printer receives the order, except for
	// `FEDEX_PRIORITY_OVERNIGHT` cards, which default to `SAME_DAY`. To use faster
	// production methods, please reach out to
	// [support@increase.com](mailto:support@increase.com).
	Schedule PhysicalCardShipmentSchedule `json:"schedule,required"`
	// The status of this shipment.
	Status PhysicalCardShipmentStatus `json:"status,required"`
	// Tracking details for the shipment.
	Tracking PhysicalCardShipmentTracking `json:"tracking,required,nullable"`
	JSON     physicalCardShipmentJSON     `json:"-"`
}

The details used to ship this physical card.

func (*PhysicalCardShipment) UnmarshalJSON

func (r *PhysicalCardShipment) UnmarshalJSON(data []byte) (err error)

type PhysicalCardShipmentAddress

type PhysicalCardShipmentAddress struct {
	// The city of the shipping address.
	City string `json:"city,required"`
	// The country of the shipping address.
	Country string `json:"country,required"`
	// The first line of the shipping address.
	Line1 string `json:"line1,required"`
	// The second line of the shipping address.
	Line2 string `json:"line2,required,nullable"`
	// The third line of the shipping address.
	Line3 string `json:"line3,required,nullable"`
	// The name of the recipient.
	Name string `json:"name,required"`
	// The postal code of the shipping address.
	PostalCode string `json:"postal_code,required"`
	// The state of the shipping address.
	State string                          `json:"state,required"`
	JSON  physicalCardShipmentAddressJSON `json:"-"`
}

The location to where the card's packing label is addressed.

func (*PhysicalCardShipmentAddress) UnmarshalJSON

func (r *PhysicalCardShipmentAddress) UnmarshalJSON(data []byte) (err error)

type PhysicalCardShipmentMethod

type PhysicalCardShipmentMethod string

The shipping method.

const (
	PhysicalCardShipmentMethodUsps                   PhysicalCardShipmentMethod = "usps"
	PhysicalCardShipmentMethodFedexPriorityOvernight PhysicalCardShipmentMethod = "fedex_priority_overnight"
	PhysicalCardShipmentMethodFedex2Day              PhysicalCardShipmentMethod = "fedex_2_day"
	PhysicalCardShipmentMethodDhlWorldwideExpress    PhysicalCardShipmentMethod = "dhl_worldwide_express"
)

func (PhysicalCardShipmentMethod) IsKnown

func (r PhysicalCardShipmentMethod) IsKnown() bool

type PhysicalCardShipmentSchedule added in v0.255.0

type PhysicalCardShipmentSchedule string

When this physical card should be produced by the card printer. The default timeline is the day after the card printer receives the order, except for `FEDEX_PRIORITY_OVERNIGHT` cards, which default to `SAME_DAY`. To use faster production methods, please reach out to [support@increase.com](mailto:support@increase.com).

const (
	PhysicalCardShipmentScheduleNextDay PhysicalCardShipmentSchedule = "next_day"
	PhysicalCardShipmentScheduleSameDay PhysicalCardShipmentSchedule = "same_day"
)

func (PhysicalCardShipmentSchedule) IsKnown added in v0.255.0

func (r PhysicalCardShipmentSchedule) IsKnown() bool

type PhysicalCardShipmentStatus

type PhysicalCardShipmentStatus string

The status of this shipment.

const (
	PhysicalCardShipmentStatusPending           PhysicalCardShipmentStatus = "pending"
	PhysicalCardShipmentStatusCanceled          PhysicalCardShipmentStatus = "canceled"
	PhysicalCardShipmentStatusSubmitted         PhysicalCardShipmentStatus = "submitted"
	PhysicalCardShipmentStatusAcknowledged      PhysicalCardShipmentStatus = "acknowledged"
	PhysicalCardShipmentStatusRejected          PhysicalCardShipmentStatus = "rejected"
	PhysicalCardShipmentStatusShipped           PhysicalCardShipmentStatus = "shipped"
	PhysicalCardShipmentStatusReturned          PhysicalCardShipmentStatus = "returned"
	PhysicalCardShipmentStatusRequiresAttention PhysicalCardShipmentStatus = "requires_attention"
)

func (PhysicalCardShipmentStatus) IsKnown

func (r PhysicalCardShipmentStatus) IsKnown() bool

type PhysicalCardShipmentTracking

type PhysicalCardShipmentTracking struct {
	// The tracking number.
	Number string `json:"number,required"`
	// For returned shipments, the tracking number of the return shipment.
	ReturnNumber string `json:"return_number,required,nullable"`
	// For returned shipments, this describes why the package was returned.
	ReturnReason string `json:"return_reason,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the fulfillment provider marked the card as ready for pick-up by the shipment
	// carrier.
	ShippedAt time.Time `json:"shipped_at,required" format:"date-time"`
	// Tracking updates relating to the physical card's delivery.
	Updates []PhysicalCardShipmentTrackingUpdate `json:"updates,required"`
	JSON    physicalCardShipmentTrackingJSON     `json:"-"`
}

Tracking details for the shipment.

func (*PhysicalCardShipmentTracking) UnmarshalJSON

func (r *PhysicalCardShipmentTracking) UnmarshalJSON(data []byte) (err error)

type PhysicalCardShipmentTrackingUpdate added in v0.225.0

type PhysicalCardShipmentTrackingUpdate struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time when the
	// carrier expects the card to be delivered.
	CarrierEstimatedDeliveryAt time.Time `json:"carrier_estimated_delivery_at,required,nullable" format:"date-time"`
	// The type of tracking event.
	Category PhysicalCardShipmentTrackingUpdatesCategory `json:"category,required"`
	// The city where the event took place.
	City string `json:"city,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the tracking event took place.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The postal code where the event took place.
	PostalCode string `json:"postal_code,required,nullable"`
	// The state where the event took place.
	State string                                 `json:"state,required,nullable"`
	JSON  physicalCardShipmentTrackingUpdateJSON `json:"-"`
}

func (*PhysicalCardShipmentTrackingUpdate) UnmarshalJSON added in v0.225.0

func (r *PhysicalCardShipmentTrackingUpdate) UnmarshalJSON(data []byte) (err error)

type PhysicalCardShipmentTrackingUpdatesCategory added in v0.225.0

type PhysicalCardShipmentTrackingUpdatesCategory string

The type of tracking event.

const (
	PhysicalCardShipmentTrackingUpdatesCategoryInTransit            PhysicalCardShipmentTrackingUpdatesCategory = "in_transit"
	PhysicalCardShipmentTrackingUpdatesCategoryProcessedForDelivery PhysicalCardShipmentTrackingUpdatesCategory = "processed_for_delivery"
	PhysicalCardShipmentTrackingUpdatesCategoryDelivered            PhysicalCardShipmentTrackingUpdatesCategory = "delivered"
	PhysicalCardShipmentTrackingUpdatesCategoryReturnedToSender     PhysicalCardShipmentTrackingUpdatesCategory = "returned_to_sender"
)

func (PhysicalCardShipmentTrackingUpdatesCategory) IsKnown added in v0.225.0

type PhysicalCardStatus

type PhysicalCardStatus string

The status of the Physical Card.

const (
	PhysicalCardStatusActive   PhysicalCardStatus = "active"
	PhysicalCardStatusDisabled PhysicalCardStatus = "disabled"
	PhysicalCardStatusCanceled PhysicalCardStatus = "canceled"
)

func (PhysicalCardStatus) IsKnown

func (r PhysicalCardStatus) IsKnown() bool

type PhysicalCardType

type PhysicalCardType string

A constant representing the object's type. For this resource it will always be `physical_card`.

const (
	PhysicalCardTypePhysicalCard PhysicalCardType = "physical_card"
)

func (PhysicalCardType) IsKnown

func (r PhysicalCardType) IsKnown() bool

type PhysicalCardUpdateParams

type PhysicalCardUpdateParams struct {
	// The status to update the Physical Card to.
	Status param.Field[PhysicalCardUpdateParamsStatus] `json:"status,required"`
}

func (PhysicalCardUpdateParams) MarshalJSON

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

type PhysicalCardUpdateParamsStatus

type PhysicalCardUpdateParamsStatus string

The status to update the Physical Card to.

const (
	PhysicalCardUpdateParamsStatusActive   PhysicalCardUpdateParamsStatus = "active"
	PhysicalCardUpdateParamsStatusDisabled PhysicalCardUpdateParamsStatus = "disabled"
	PhysicalCardUpdateParamsStatusCanceled PhysicalCardUpdateParamsStatus = "canceled"
)

func (PhysicalCardUpdateParamsStatus) IsKnown

type Program

type Program struct {
	// The Program identifier.
	ID string `json:"id,required"`
	// The Bank the Program is with.
	Bank ProgramBank `json:"bank,required"`
	// The Program billing account.
	BillingAccountID string `json:"billing_account_id,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Program
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The default configuration for digital cards attached to this Program.
	DefaultDigitalCardProfileID string `json:"default_digital_card_profile_id,required,nullable"`
	// The Interest Rate currently being earned on the accounts in this program, as a
	// string containing a decimal number. For example, a 1% interest rate would be
	// represented as "0.01".
	InterestRate string `json:"interest_rate,required"`
	// The name of the Program.
	Name string `json:"name,required"`
	// A constant representing the object's type. For this resource it will always be
	// `program`.
	Type ProgramType `json:"type,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the Program
	// was last updated.
	UpdatedAt time.Time   `json:"updated_at,required" format:"date-time"`
	JSON      programJSON `json:"-"`
}

Programs determine the compliance and commercial terms of Accounts. By default, you have a Commercial Banking program for managing your own funds. If you are lending or managing funds on behalf of your customers, or otherwise engaged in regulated activity, we will work together to create additional Programs for you.

func (*Program) UnmarshalJSON

func (r *Program) UnmarshalJSON(data []byte) (err error)

type ProgramBank

type ProgramBank string

The Bank the Program is with.

const (
	ProgramBankCoreBank          ProgramBank = "core_bank"
	ProgramBankFirstInternetBank ProgramBank = "first_internet_bank"
	ProgramBankGrasshopperBank   ProgramBank = "grasshopper_bank"
)

func (ProgramBank) IsKnown

func (r ProgramBank) IsKnown() bool

type ProgramListParams

type ProgramListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (ProgramListParams) URLQuery

func (r ProgramListParams) URLQuery() (v url.Values)

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

type ProgramService

type ProgramService struct {
	Options []option.RequestOption
}

ProgramService contains methods and other services that help with interacting with the increase 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 NewProgramService method instead.

func NewProgramService

func NewProgramService(opts ...option.RequestOption) (r *ProgramService)

NewProgramService 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 (*ProgramService) Get

func (r *ProgramService) Get(ctx context.Context, programID string, opts ...option.RequestOption) (res *Program, err error)

Retrieve a Program

func (*ProgramService) List

func (r *ProgramService) List(ctx context.Context, query ProgramListParams, opts ...option.RequestOption) (res *pagination.Page[Program], err error)

List Programs

func (*ProgramService) ListAutoPaging

List Programs

type ProgramType

type ProgramType string

A constant representing the object's type. For this resource it will always be `program`.

const (
	ProgramTypeProgram ProgramType = "program"
)

func (ProgramType) IsKnown

func (r ProgramType) IsKnown() bool

type RealTimeDecision

type RealTimeDecision struct {
	// The Real-Time Decision identifier.
	ID string `json:"id,required"`
	// Fields related to a 3DS authentication attempt.
	CardAuthentication RealTimeDecisionCardAuthentication `json:"card_authentication,required,nullable"`
	// Fields related to a 3DS authentication attempt.
	CardAuthenticationChallenge RealTimeDecisionCardAuthenticationChallenge `json:"card_authentication_challenge,required,nullable"`
	// Fields related to a card authorization.
	CardAuthorization RealTimeDecisionCardAuthorization `json:"card_authorization,required,nullable"`
	// The category of the Real-Time Decision.
	Category RealTimeDecisionCategory `json:"category,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Real-Time Decision was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// Fields related to a digital wallet authentication attempt.
	DigitalWalletAuthentication RealTimeDecisionDigitalWalletAuthentication `json:"digital_wallet_authentication,required,nullable"`
	// Fields related to a digital wallet token provisioning attempt.
	DigitalWalletToken RealTimeDecisionDigitalWalletToken `json:"digital_wallet_token,required,nullable"`
	// The status of the Real-Time Decision.
	Status RealTimeDecisionStatus `json:"status,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// your application can no longer respond to the Real-Time Decision.
	TimeoutAt time.Time `json:"timeout_at,required" format:"date-time"`
	// A constant representing the object's type. For this resource it will always be
	// `real_time_decision`.
	Type RealTimeDecisionType `json:"type,required"`
	JSON realTimeDecisionJSON `json:"-"`
}

Real Time Decisions are created when your application needs to take action in real-time to some event such as a card authorization. For more information, see our [Real-Time Decisions guide](https://increase.com/documentation/real-time-decisions).

func (*RealTimeDecision) UnmarshalJSON

func (r *RealTimeDecision) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionActionParams

type RealTimeDecisionActionParams struct {
	// If the Real-Time Decision relates to a 3DS card authentication attempt, this
	// object contains your response to the authentication.
	CardAuthentication param.Field[RealTimeDecisionActionParamsCardAuthentication] `json:"card_authentication"`
	// If the Real-Time Decision relates to 3DS card authentication challenge delivery,
	// this object contains your response.
	CardAuthenticationChallenge param.Field[RealTimeDecisionActionParamsCardAuthenticationChallenge] `json:"card_authentication_challenge"`
	// If the Real-Time Decision relates to a card authorization attempt, this object
	// contains your response to the authorization.
	CardAuthorization param.Field[RealTimeDecisionActionParamsCardAuthorization] `json:"card_authorization"`
	// If the Real-Time Decision relates to a digital wallet authentication attempt,
	// this object contains your response to the authentication.
	DigitalWalletAuthentication param.Field[RealTimeDecisionActionParamsDigitalWalletAuthentication] `json:"digital_wallet_authentication"`
	// If the Real-Time Decision relates to a digital wallet token provisioning
	// attempt, this object contains your response to the attempt.
	DigitalWalletToken param.Field[RealTimeDecisionActionParamsDigitalWalletToken] `json:"digital_wallet_token"`
}

func (RealTimeDecisionActionParams) MarshalJSON

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

type RealTimeDecisionActionParamsCardAuthentication added in v0.120.0

type RealTimeDecisionActionParamsCardAuthentication struct {
	// Whether the card authentication attempt should be approved or declined.
	Decision param.Field[RealTimeDecisionActionParamsCardAuthenticationDecision] `json:"decision,required"`
}

If the Real-Time Decision relates to a 3DS card authentication attempt, this object contains your response to the authentication.

func (RealTimeDecisionActionParamsCardAuthentication) MarshalJSON added in v0.120.0

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

type RealTimeDecisionActionParamsCardAuthenticationChallenge added in v0.121.0

type RealTimeDecisionActionParamsCardAuthenticationChallenge struct {
	// Whether the card authentication challenge was successfully delivered to the
	// cardholder.
	Result param.Field[RealTimeDecisionActionParamsCardAuthenticationChallengeResult] `json:"result,required"`
}

If the Real-Time Decision relates to 3DS card authentication challenge delivery, this object contains your response.

func (RealTimeDecisionActionParamsCardAuthenticationChallenge) MarshalJSON added in v0.121.0

type RealTimeDecisionActionParamsCardAuthenticationChallengeResult added in v0.121.0

type RealTimeDecisionActionParamsCardAuthenticationChallengeResult string

Whether the card authentication challenge was successfully delivered to the cardholder.

const (
	RealTimeDecisionActionParamsCardAuthenticationChallengeResultSuccess RealTimeDecisionActionParamsCardAuthenticationChallengeResult = "success"
	RealTimeDecisionActionParamsCardAuthenticationChallengeResultFailure RealTimeDecisionActionParamsCardAuthenticationChallengeResult = "failure"
)

func (RealTimeDecisionActionParamsCardAuthenticationChallengeResult) IsKnown added in v0.121.0

type RealTimeDecisionActionParamsCardAuthenticationDecision added in v0.120.0

type RealTimeDecisionActionParamsCardAuthenticationDecision string

Whether the card authentication attempt should be approved or declined.

const (
	RealTimeDecisionActionParamsCardAuthenticationDecisionApprove   RealTimeDecisionActionParamsCardAuthenticationDecision = "approve"
	RealTimeDecisionActionParamsCardAuthenticationDecisionChallenge RealTimeDecisionActionParamsCardAuthenticationDecision = "challenge"
	RealTimeDecisionActionParamsCardAuthenticationDecisionDeny      RealTimeDecisionActionParamsCardAuthenticationDecision = "deny"
)

func (RealTimeDecisionActionParamsCardAuthenticationDecision) IsKnown added in v0.120.0

type RealTimeDecisionActionParamsCardAuthorization

type RealTimeDecisionActionParamsCardAuthorization struct {
	// Whether the card authorization should be approved or declined.
	Decision param.Field[RealTimeDecisionActionParamsCardAuthorizationDecision] `json:"decision,required"`
	// The reason the card authorization was declined. This translates to a specific
	// decline code that is sent to the card network.
	DeclineReason param.Field[RealTimeDecisionActionParamsCardAuthorizationDeclineReason] `json:"decline_reason"`
}

If the Real-Time Decision relates to a card authorization attempt, this object contains your response to the authorization.

func (RealTimeDecisionActionParamsCardAuthorization) MarshalJSON

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

type RealTimeDecisionActionParamsCardAuthorizationDecision

type RealTimeDecisionActionParamsCardAuthorizationDecision string

Whether the card authorization should be approved or declined.

const (
	RealTimeDecisionActionParamsCardAuthorizationDecisionApprove RealTimeDecisionActionParamsCardAuthorizationDecision = "approve"
	RealTimeDecisionActionParamsCardAuthorizationDecisionDecline RealTimeDecisionActionParamsCardAuthorizationDecision = "decline"
)

func (RealTimeDecisionActionParamsCardAuthorizationDecision) IsKnown

type RealTimeDecisionActionParamsCardAuthorizationDeclineReason added in v0.154.0

type RealTimeDecisionActionParamsCardAuthorizationDeclineReason string

The reason the card authorization was declined. This translates to a specific decline code that is sent to the card network.

const (
	RealTimeDecisionActionParamsCardAuthorizationDeclineReasonInsufficientFunds       RealTimeDecisionActionParamsCardAuthorizationDeclineReason = "insufficient_funds"
	RealTimeDecisionActionParamsCardAuthorizationDeclineReasonTransactionNeverAllowed RealTimeDecisionActionParamsCardAuthorizationDeclineReason = "transaction_never_allowed"
	RealTimeDecisionActionParamsCardAuthorizationDeclineReasonExceedsApprovalLimit    RealTimeDecisionActionParamsCardAuthorizationDeclineReason = "exceeds_approval_limit"
	RealTimeDecisionActionParamsCardAuthorizationDeclineReasonCardTemporarilyDisabled RealTimeDecisionActionParamsCardAuthorizationDeclineReason = "card_temporarily_disabled"
	RealTimeDecisionActionParamsCardAuthorizationDeclineReasonSuspectedFraud          RealTimeDecisionActionParamsCardAuthorizationDeclineReason = "suspected_fraud"
	RealTimeDecisionActionParamsCardAuthorizationDeclineReasonOther                   RealTimeDecisionActionParamsCardAuthorizationDeclineReason = "other"
)

func (RealTimeDecisionActionParamsCardAuthorizationDeclineReason) IsKnown added in v0.154.0

type RealTimeDecisionActionParamsDigitalWalletAuthentication

type RealTimeDecisionActionParamsDigitalWalletAuthentication struct {
	// Whether your application was able to deliver the one-time passcode.
	Result  param.Field[RealTimeDecisionActionParamsDigitalWalletAuthenticationResult]  `json:"result,required"`
	Success param.Field[RealTimeDecisionActionParamsDigitalWalletAuthenticationSuccess] `json:"success"`
}

If the Real-Time Decision relates to a digital wallet authentication attempt, this object contains your response to the authentication.

func (RealTimeDecisionActionParamsDigitalWalletAuthentication) MarshalJSON

type RealTimeDecisionActionParamsDigitalWalletAuthenticationResult

type RealTimeDecisionActionParamsDigitalWalletAuthenticationResult string

Whether your application was able to deliver the one-time passcode.

const (
	RealTimeDecisionActionParamsDigitalWalletAuthenticationResultSuccess RealTimeDecisionActionParamsDigitalWalletAuthenticationResult = "success"
	RealTimeDecisionActionParamsDigitalWalletAuthenticationResultFailure RealTimeDecisionActionParamsDigitalWalletAuthenticationResult = "failure"
)

func (RealTimeDecisionActionParamsDigitalWalletAuthenticationResult) IsKnown

type RealTimeDecisionActionParamsDigitalWalletAuthenticationSuccess added in v0.122.0

type RealTimeDecisionActionParamsDigitalWalletAuthenticationSuccess struct {
	// The email address that was used to verify the cardholder via one-time passcode.
	Email param.Field[string] `json:"email"`
	// The phone number that was used to verify the cardholder via one-time passcode
	// over SMS.
	Phone param.Field[string] `json:"phone"`
}

func (RealTimeDecisionActionParamsDigitalWalletAuthenticationSuccess) MarshalJSON added in v0.122.0

type RealTimeDecisionActionParamsDigitalWalletToken

type RealTimeDecisionActionParamsDigitalWalletToken struct {
	// If your application approves the provisioning attempt, this contains metadata
	// about the digital wallet token that will be generated.
	Approval param.Field[RealTimeDecisionActionParamsDigitalWalletTokenApproval] `json:"approval"`
	// If your application declines the provisioning attempt, this contains details
	// about the decline.
	Decline param.Field[RealTimeDecisionActionParamsDigitalWalletTokenDecline] `json:"decline"`
}

If the Real-Time Decision relates to a digital wallet token provisioning attempt, this object contains your response to the attempt.

func (RealTimeDecisionActionParamsDigitalWalletToken) MarshalJSON

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

type RealTimeDecisionActionParamsDigitalWalletTokenApproval

type RealTimeDecisionActionParamsDigitalWalletTokenApproval struct {
	// An email address that can be used to verify the cardholder via one-time
	// passcode.
	Email param.Field[string] `json:"email"`
	// A phone number that can be used to verify the cardholder via one-time passcode
	// over SMS.
	Phone param.Field[string] `json:"phone"`
}

If your application approves the provisioning attempt, this contains metadata about the digital wallet token that will be generated.

func (RealTimeDecisionActionParamsDigitalWalletTokenApproval) MarshalJSON

type RealTimeDecisionActionParamsDigitalWalletTokenDecline

type RealTimeDecisionActionParamsDigitalWalletTokenDecline struct {
	// Why the tokenization attempt was declined. This is for logging purposes only and
	// is not displayed to the end-user.
	Reason param.Field[string] `json:"reason"`
}

If your application declines the provisioning attempt, this contains details about the decline.

func (RealTimeDecisionActionParamsDigitalWalletTokenDecline) MarshalJSON

type RealTimeDecisionCardAuthentication added in v0.120.0

type RealTimeDecisionCardAuthentication struct {
	// The identifier of the Account the card belongs to.
	AccountID string `json:"account_id,required"`
	// The identifier of the Card that is being tokenized.
	CardID string `json:"card_id,required"`
	// Whether or not the authentication attempt was approved.
	Decision RealTimeDecisionCardAuthenticationDecision `json:"decision,required,nullable"`
	// The identifier of the Card Payment this authentication attempt will belong to.
	// Available in the API once the card authentication has completed.
	UpcomingCardPaymentID string                                 `json:"upcoming_card_payment_id,required"`
	JSON                  realTimeDecisionCardAuthenticationJSON `json:"-"`
}

Fields related to a 3DS authentication attempt.

func (*RealTimeDecisionCardAuthentication) UnmarshalJSON added in v0.120.0

func (r *RealTimeDecisionCardAuthentication) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthenticationChallenge added in v0.121.0

type RealTimeDecisionCardAuthenticationChallenge struct {
	// The identifier of the Account the card belongs to.
	AccountID string `json:"account_id,required"`
	// The identifier of the Card that is being tokenized.
	CardID string `json:"card_id,required"`
	// The identifier of the Card Payment this authentication challenge attempt belongs
	// to.
	CardPaymentID string `json:"card_payment_id,required"`
	// The one-time code delivered to the cardholder.
	OneTimeCode string `json:"one_time_code,required"`
	// Whether or not the challenge was delivered to the cardholder.
	Result RealTimeDecisionCardAuthenticationChallengeResult `json:"result,required,nullable"`
	JSON   realTimeDecisionCardAuthenticationChallengeJSON   `json:"-"`
}

Fields related to a 3DS authentication attempt.

func (*RealTimeDecisionCardAuthenticationChallenge) UnmarshalJSON added in v0.121.0

func (r *RealTimeDecisionCardAuthenticationChallenge) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthenticationChallengeResult added in v0.121.0

type RealTimeDecisionCardAuthenticationChallengeResult string

Whether or not the challenge was delivered to the cardholder.

const (
	RealTimeDecisionCardAuthenticationChallengeResultSuccess RealTimeDecisionCardAuthenticationChallengeResult = "success"
	RealTimeDecisionCardAuthenticationChallengeResultFailure RealTimeDecisionCardAuthenticationChallengeResult = "failure"
)

func (RealTimeDecisionCardAuthenticationChallengeResult) IsKnown added in v0.121.0

type RealTimeDecisionCardAuthenticationDecision added in v0.120.0

type RealTimeDecisionCardAuthenticationDecision string

Whether or not the authentication attempt was approved.

const (
	RealTimeDecisionCardAuthenticationDecisionApprove   RealTimeDecisionCardAuthenticationDecision = "approve"
	RealTimeDecisionCardAuthenticationDecisionChallenge RealTimeDecisionCardAuthenticationDecision = "challenge"
	RealTimeDecisionCardAuthenticationDecisionDeny      RealTimeDecisionCardAuthenticationDecision = "deny"
)

func (RealTimeDecisionCardAuthenticationDecision) IsKnown added in v0.120.0

type RealTimeDecisionCardAuthorization

type RealTimeDecisionCardAuthorization struct {
	// The identifier of the Account the authorization will debit.
	AccountID string `json:"account_id,required"`
	// The identifier of the Card that is being authorized.
	CardID string `json:"card_id,required"`
	// Whether or not the authorization was approved.
	Decision RealTimeDecisionCardAuthorizationDecision `json:"decision,required,nullable"`
	// If the authorization was made via a Digital Wallet Token (such as an Apple Pay
	// purchase), the identifier of the token that was used.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// The direction describes the direction the funds will move, either from the
	// cardholder to the merchant or from the merchant to the cardholder.
	Direction RealTimeDecisionCardAuthorizationDirection `json:"direction,required"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor string `json:"merchant_descriptor,required"`
	// The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
	// ZIP code, where the first 5 and last 4 are separated by a dash.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails RealTimeDecisionCardAuthorizationNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers RealTimeDecisionCardAuthorizationNetworkIdentifiers `json:"network_identifiers,required"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore int64 `json:"network_risk_score,required,nullable"`
	// If the authorization was made in-person with a physical card, the Physical Card
	// that was used.
	PhysicalCardID string `json:"physical_card_id,required,nullable"`
	// The amount of the attempted authorization in the currency the card user sees at
	// the time of purchase, in the minor unit of that currency. For dollars, for
	// example, this is cents.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the currency the
	// user sees at the time of purchase.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// The processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory RealTimeDecisionCardAuthorizationProcessingCategory `json:"processing_category,required"`
	// Fields specific to the type of request, such as an incremental authorization.
	RequestDetails RealTimeDecisionCardAuthorizationRequestDetails `json:"request_details,required"`
	// The amount of the attempted authorization in the currency it will be settled in.
	// This currency is the same as that of the Account the card belongs to.
	SettlementAmount int64 `json:"settlement_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the currency the
	// transaction will be settled in.
	SettlementCurrency string `json:"settlement_currency,required"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID string `json:"terminal_id,required,nullable"`
	// The identifier of the Card Payment this authorization will belong to. Available
	// in the API once the card authorization has completed.
	UpcomingCardPaymentID string `json:"upcoming_card_payment_id,required"`
	// Fields related to verification of cardholder-provided values.
	Verification RealTimeDecisionCardAuthorizationVerification `json:"verification,required"`
	JSON         realTimeDecisionCardAuthorizationJSON         `json:"-"`
}

Fields related to a card authorization.

func (*RealTimeDecisionCardAuthorization) UnmarshalJSON

func (r *RealTimeDecisionCardAuthorization) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthorizationDecision

type RealTimeDecisionCardAuthorizationDecision string

Whether or not the authorization was approved.

const (
	RealTimeDecisionCardAuthorizationDecisionApprove RealTimeDecisionCardAuthorizationDecision = "approve"
	RealTimeDecisionCardAuthorizationDecisionDecline RealTimeDecisionCardAuthorizationDecision = "decline"
)

func (RealTimeDecisionCardAuthorizationDecision) IsKnown

type RealTimeDecisionCardAuthorizationDirection added in v0.118.0

type RealTimeDecisionCardAuthorizationDirection string

The direction describes the direction the funds will move, either from the cardholder to the merchant or from the merchant to the cardholder.

const (
	RealTimeDecisionCardAuthorizationDirectionSettlement RealTimeDecisionCardAuthorizationDirection = "settlement"
	RealTimeDecisionCardAuthorizationDirectionRefund     RealTimeDecisionCardAuthorizationDirection = "refund"
)

func (RealTimeDecisionCardAuthorizationDirection) IsKnown added in v0.118.0

type RealTimeDecisionCardAuthorizationNetworkDetails

type RealTimeDecisionCardAuthorizationNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category RealTimeDecisionCardAuthorizationNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa RealTimeDecisionCardAuthorizationNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON realTimeDecisionCardAuthorizationNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*RealTimeDecisionCardAuthorizationNetworkDetails) UnmarshalJSON

func (r *RealTimeDecisionCardAuthorizationNetworkDetails) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthorizationNetworkDetailsCategory

type RealTimeDecisionCardAuthorizationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	RealTimeDecisionCardAuthorizationNetworkDetailsCategoryVisa RealTimeDecisionCardAuthorizationNetworkDetailsCategory = "visa"
)

func (RealTimeDecisionCardAuthorizationNetworkDetailsCategory) IsKnown

type RealTimeDecisionCardAuthorizationNetworkDetailsVisa

type RealTimeDecisionCardAuthorizationNetworkDetailsVisa struct {
	// For electronic commerce transactions, this identifies the level of security used
	// in obtaining the customer's payment credential. For mail or telephone order
	// transactions, identifies the type of mail or telephone order.
	ElectronicCommerceIndicator RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	// Only present when `actioner: network`. Describes why a card authorization was
	// approved or declined by Visa through stand-in processing.
	StandInProcessingReason RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason `json:"stand_in_processing_reason,required,nullable"`
	JSON                    realTimeDecisionCardAuthorizationNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*RealTimeDecisionCardAuthorizationNetworkDetailsVisa) UnmarshalJSON

func (r *RealTimeDecisionCardAuthorizationNetworkDetailsVisa) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator

type RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator string

For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.

const (
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder                                          RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorRecurring                                               RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorInstallment                                             RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder                                   RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce                                RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction                     RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction                                    RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator) IsKnown

type RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode

type RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode string

The method used to enter the cardholder's primary account number and card expiration date.

const (
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeUnknown                    RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeManual                     RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv        RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode                RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard      RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactless                RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile           RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe             RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe  RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode) IsKnown

type RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason added in v0.141.0

type RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason string

Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.

const (
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonIssuerError                                              RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard                                      RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue         RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInternalVisaError                                        RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonPaymentFraudDisruptionAcquirerBlock                      RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "payment_fraud_disruption_acquirer_block"
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonOther                                                    RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "other"
)

func (RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason) IsKnown added in v0.141.0

type RealTimeDecisionCardAuthorizationNetworkIdentifiers

type RealTimeDecisionCardAuthorizationNetworkIdentifiers struct {
	// A life-cycle identifier used across e.g., an authorization and a reversal.
	// Expected to be unique per acquirer within a window of time. For some card
	// networks the retrieval reference number includes the trace counter.
	RetrievalReferenceNumber string `json:"retrieval_reference_number,required,nullable"`
	// A counter used to verify an individual authorization. Expected to be unique per
	// acquirer within a window of time.
	TraceNumber string `json:"trace_number,required,nullable"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                  `json:"transaction_id,required,nullable"`
	JSON          realTimeDecisionCardAuthorizationNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*RealTimeDecisionCardAuthorizationNetworkIdentifiers) UnmarshalJSON

func (r *RealTimeDecisionCardAuthorizationNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthorizationProcessingCategory

type RealTimeDecisionCardAuthorizationProcessingCategory string

The processing category describes the intent behind the authorization, such as whether it was used for bill payments or an automatic fuel dispenser.

const (
	RealTimeDecisionCardAuthorizationProcessingCategoryAccountFunding         RealTimeDecisionCardAuthorizationProcessingCategory = "account_funding"
	RealTimeDecisionCardAuthorizationProcessingCategoryAutomaticFuelDispenser RealTimeDecisionCardAuthorizationProcessingCategory = "automatic_fuel_dispenser"
	RealTimeDecisionCardAuthorizationProcessingCategoryBillPayment            RealTimeDecisionCardAuthorizationProcessingCategory = "bill_payment"
	RealTimeDecisionCardAuthorizationProcessingCategoryOriginalCredit         RealTimeDecisionCardAuthorizationProcessingCategory = "original_credit"
	RealTimeDecisionCardAuthorizationProcessingCategoryPurchase               RealTimeDecisionCardAuthorizationProcessingCategory = "purchase"
	RealTimeDecisionCardAuthorizationProcessingCategoryQuasiCash              RealTimeDecisionCardAuthorizationProcessingCategory = "quasi_cash"
	RealTimeDecisionCardAuthorizationProcessingCategoryRefund                 RealTimeDecisionCardAuthorizationProcessingCategory = "refund"
	RealTimeDecisionCardAuthorizationProcessingCategoryCashDisbursement       RealTimeDecisionCardAuthorizationProcessingCategory = "cash_disbursement"
	RealTimeDecisionCardAuthorizationProcessingCategoryUnknown                RealTimeDecisionCardAuthorizationProcessingCategory = "unknown"
)

func (RealTimeDecisionCardAuthorizationProcessingCategory) IsKnown

type RealTimeDecisionCardAuthorizationRequestDetails

type RealTimeDecisionCardAuthorizationRequestDetails struct {
	// The type of this request (e.g., an initial authorization or an incremental
	// authorization).
	Category RealTimeDecisionCardAuthorizationRequestDetailsCategory `json:"category,required"`
	// Fields specific to the category `incremental_authorization`.
	IncrementalAuthorization RealTimeDecisionCardAuthorizationRequestDetailsIncrementalAuthorization `json:"incremental_authorization,required,nullable"`
	// Fields specific to the category `initial_authorization`.
	InitialAuthorization interface{}                                         `json:"initial_authorization,required,nullable"`
	JSON                 realTimeDecisionCardAuthorizationRequestDetailsJSON `json:"-"`
}

Fields specific to the type of request, such as an incremental authorization.

func (*RealTimeDecisionCardAuthorizationRequestDetails) UnmarshalJSON

func (r *RealTimeDecisionCardAuthorizationRequestDetails) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthorizationRequestDetailsCategory

type RealTimeDecisionCardAuthorizationRequestDetailsCategory string

The type of this request (e.g., an initial authorization or an incremental authorization).

const (
	RealTimeDecisionCardAuthorizationRequestDetailsCategoryInitialAuthorization     RealTimeDecisionCardAuthorizationRequestDetailsCategory = "initial_authorization"
	RealTimeDecisionCardAuthorizationRequestDetailsCategoryIncrementalAuthorization RealTimeDecisionCardAuthorizationRequestDetailsCategory = "incremental_authorization"
)

func (RealTimeDecisionCardAuthorizationRequestDetailsCategory) IsKnown

type RealTimeDecisionCardAuthorizationRequestDetailsIncrementalAuthorization

type RealTimeDecisionCardAuthorizationRequestDetailsIncrementalAuthorization struct {
	// The card payment for this authorization and increment.
	CardPaymentID string `json:"card_payment_id,required"`
	// The identifier of the card authorization this request is attempting to
	// increment.
	OriginalCardAuthorizationID string                                                                      `json:"original_card_authorization_id,required"`
	JSON                        realTimeDecisionCardAuthorizationRequestDetailsIncrementalAuthorizationJSON `json:"-"`
}

Fields specific to the category `incremental_authorization`.

func (*RealTimeDecisionCardAuthorizationRequestDetailsIncrementalAuthorization) UnmarshalJSON

type RealTimeDecisionCardAuthorizationVerification

type RealTimeDecisionCardAuthorizationVerification struct {
	// Fields related to verification of the Card Verification Code, a 3-digit code on
	// the back of the card.
	CardVerificationCode RealTimeDecisionCardAuthorizationVerificationCardVerificationCode `json:"card_verification_code,required"`
	// Cardholder address provided in the authorization request and the address on file
	// we verified it against.
	CardholderAddress RealTimeDecisionCardAuthorizationVerificationCardholderAddress `json:"cardholder_address,required"`
	JSON              realTimeDecisionCardAuthorizationVerificationJSON              `json:"-"`
}

Fields related to verification of cardholder-provided values.

func (*RealTimeDecisionCardAuthorizationVerification) UnmarshalJSON

func (r *RealTimeDecisionCardAuthorizationVerification) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionCardAuthorizationVerificationCardVerificationCode

type RealTimeDecisionCardAuthorizationVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   realTimeDecisionCardAuthorizationVerificationCardVerificationCodeJSON   `json:"-"`
}

Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

func (*RealTimeDecisionCardAuthorizationVerificationCardVerificationCode) UnmarshalJSON

type RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult

type RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResultNotChecked RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult = "not_checked"
	RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResultMatch      RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult = "match"
	RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResultNoMatch    RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult = "no_match"
)

func (RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult) IsKnown

type RealTimeDecisionCardAuthorizationVerificationCardholderAddress

type RealTimeDecisionCardAuthorizationVerificationCardholderAddress struct {
	// Line 1 of the address on file for the cardholder.
	ActualLine1 string `json:"actual_line1,required,nullable"`
	// The postal code of the address on file for the cardholder.
	ActualPostalCode string `json:"actual_postal_code,required,nullable"`
	// The cardholder address line 1 provided for verification in the authorization
	// request.
	ProvidedLine1 string `json:"provided_line1,required,nullable"`
	// The postal code provided for verification in the authorization request.
	ProvidedPostalCode string `json:"provided_postal_code,required,nullable"`
	// The address verification result returned to the card network.
	Result RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult `json:"result,required"`
	JSON   realTimeDecisionCardAuthorizationVerificationCardholderAddressJSON   `json:"-"`
}

Cardholder address provided in the authorization request and the address on file we verified it against.

func (*RealTimeDecisionCardAuthorizationVerificationCardholderAddress) UnmarshalJSON

type RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult

type RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultNotChecked                       RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "not_checked"
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch    RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch    RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultMatch                            RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "match"
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultNoMatch                          RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "no_match"
)

func (RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult) IsKnown

type RealTimeDecisionCategory

type RealTimeDecisionCategory string

The category of the Real-Time Decision.

const (
	RealTimeDecisionCategoryCardAuthorizationRequested           RealTimeDecisionCategory = "card_authorization_requested"
	RealTimeDecisionCategoryCardAuthenticationRequested          RealTimeDecisionCategory = "card_authentication_requested"
	RealTimeDecisionCategoryCardAuthenticationChallengeRequested RealTimeDecisionCategory = "card_authentication_challenge_requested"
	RealTimeDecisionCategoryDigitalWalletTokenRequested          RealTimeDecisionCategory = "digital_wallet_token_requested"
	RealTimeDecisionCategoryDigitalWalletAuthenticationRequested RealTimeDecisionCategory = "digital_wallet_authentication_requested"
)

func (RealTimeDecisionCategory) IsKnown

func (r RealTimeDecisionCategory) IsKnown() bool

type RealTimeDecisionDigitalWalletAuthentication

type RealTimeDecisionDigitalWalletAuthentication struct {
	// The identifier of the Card that is being tokenized.
	CardID string `json:"card_id,required"`
	// The channel to send the card user their one-time passcode.
	Channel RealTimeDecisionDigitalWalletAuthenticationChannel `json:"channel,required"`
	// The digital wallet app being used.
	DigitalWallet RealTimeDecisionDigitalWalletAuthenticationDigitalWallet `json:"digital_wallet,required"`
	// The email to send the one-time passcode to if `channel` is equal to `email`.
	Email string `json:"email,required,nullable"`
	// The one-time passcode to send the card user.
	OneTimePasscode string `json:"one_time_passcode,required"`
	// The phone number to send the one-time passcode to if `channel` is equal to
	// `sms`.
	Phone string `json:"phone,required,nullable"`
	// Whether your application successfully delivered the one-time passcode.
	Result RealTimeDecisionDigitalWalletAuthenticationResult `json:"result,required,nullable"`
	JSON   realTimeDecisionDigitalWalletAuthenticationJSON   `json:"-"`
}

Fields related to a digital wallet authentication attempt.

func (*RealTimeDecisionDigitalWalletAuthentication) UnmarshalJSON

func (r *RealTimeDecisionDigitalWalletAuthentication) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionDigitalWalletAuthenticationChannel

type RealTimeDecisionDigitalWalletAuthenticationChannel string

The channel to send the card user their one-time passcode.

const (
	RealTimeDecisionDigitalWalletAuthenticationChannelSMS   RealTimeDecisionDigitalWalletAuthenticationChannel = "sms"
	RealTimeDecisionDigitalWalletAuthenticationChannelEmail RealTimeDecisionDigitalWalletAuthenticationChannel = "email"
)

func (RealTimeDecisionDigitalWalletAuthenticationChannel) IsKnown

type RealTimeDecisionDigitalWalletAuthenticationDigitalWallet

type RealTimeDecisionDigitalWalletAuthenticationDigitalWallet string

The digital wallet app being used.

const (
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletApplePay   RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "apple_pay"
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletGooglePay  RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "google_pay"
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletSamsungPay RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "samsung_pay"
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletUnknown    RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "unknown"
)

func (RealTimeDecisionDigitalWalletAuthenticationDigitalWallet) IsKnown

type RealTimeDecisionDigitalWalletAuthenticationResult

type RealTimeDecisionDigitalWalletAuthenticationResult string

Whether your application successfully delivered the one-time passcode.

const (
	RealTimeDecisionDigitalWalletAuthenticationResultSuccess RealTimeDecisionDigitalWalletAuthenticationResult = "success"
	RealTimeDecisionDigitalWalletAuthenticationResultFailure RealTimeDecisionDigitalWalletAuthenticationResult = "failure"
)

func (RealTimeDecisionDigitalWalletAuthenticationResult) IsKnown

type RealTimeDecisionDigitalWalletToken

type RealTimeDecisionDigitalWalletToken struct {
	// The identifier of the Card that is being tokenized.
	CardID string `json:"card_id,required"`
	// The identifier of the Card Profile that was set via the real time decision. This
	// will be null until the real time decision is responded to or if the real time
	// decision did not set a card profile.
	CardProfileID string `json:"card_profile_id,required,nullable"`
	// Whether or not the provisioning request was approved. This will be null until
	// the real time decision is responded to.
	Decision RealTimeDecisionDigitalWalletTokenDecision `json:"decision,required,nullable"`
	// Device that is being used to provision the digital wallet token.
	Device RealTimeDecisionDigitalWalletTokenDevice `json:"device,required"`
	// The digital wallet app being used.
	DigitalWallet RealTimeDecisionDigitalWalletTokenDigitalWallet `json:"digital_wallet,required"`
	JSON          realTimeDecisionDigitalWalletTokenJSON          `json:"-"`
}

Fields related to a digital wallet token provisioning attempt.

func (*RealTimeDecisionDigitalWalletToken) UnmarshalJSON

func (r *RealTimeDecisionDigitalWalletToken) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionDigitalWalletTokenDecision

type RealTimeDecisionDigitalWalletTokenDecision string

Whether or not the provisioning request was approved. This will be null until the real time decision is responded to.

const (
	RealTimeDecisionDigitalWalletTokenDecisionApprove RealTimeDecisionDigitalWalletTokenDecision = "approve"
	RealTimeDecisionDigitalWalletTokenDecisionDecline RealTimeDecisionDigitalWalletTokenDecision = "decline"
)

func (RealTimeDecisionDigitalWalletTokenDecision) IsKnown

type RealTimeDecisionDigitalWalletTokenDevice added in v0.213.0

type RealTimeDecisionDigitalWalletTokenDevice struct {
	// ID assigned to the device by the digital wallet provider.
	Identifier string                                       `json:"identifier,required,nullable"`
	JSON       realTimeDecisionDigitalWalletTokenDeviceJSON `json:"-"`
}

Device that is being used to provision the digital wallet token.

func (*RealTimeDecisionDigitalWalletTokenDevice) UnmarshalJSON added in v0.213.0

func (r *RealTimeDecisionDigitalWalletTokenDevice) UnmarshalJSON(data []byte) (err error)

type RealTimeDecisionDigitalWalletTokenDigitalWallet

type RealTimeDecisionDigitalWalletTokenDigitalWallet string

The digital wallet app being used.

const (
	RealTimeDecisionDigitalWalletTokenDigitalWalletApplePay   RealTimeDecisionDigitalWalletTokenDigitalWallet = "apple_pay"
	RealTimeDecisionDigitalWalletTokenDigitalWalletGooglePay  RealTimeDecisionDigitalWalletTokenDigitalWallet = "google_pay"
	RealTimeDecisionDigitalWalletTokenDigitalWalletSamsungPay RealTimeDecisionDigitalWalletTokenDigitalWallet = "samsung_pay"
	RealTimeDecisionDigitalWalletTokenDigitalWalletUnknown    RealTimeDecisionDigitalWalletTokenDigitalWallet = "unknown"
)

func (RealTimeDecisionDigitalWalletTokenDigitalWallet) IsKnown

type RealTimeDecisionService

type RealTimeDecisionService struct {
	Options []option.RequestOption
}

RealTimeDecisionService contains methods and other services that help with interacting with the increase 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 NewRealTimeDecisionService method instead.

func NewRealTimeDecisionService

func NewRealTimeDecisionService(opts ...option.RequestOption) (r *RealTimeDecisionService)

NewRealTimeDecisionService 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 (*RealTimeDecisionService) Action

func (r *RealTimeDecisionService) Action(ctx context.Context, realTimeDecisionID string, body RealTimeDecisionActionParams, opts ...option.RequestOption) (res *RealTimeDecision, err error)

Action a Real-Time Decision

func (*RealTimeDecisionService) Get

func (r *RealTimeDecisionService) Get(ctx context.Context, realTimeDecisionID string, opts ...option.RequestOption) (res *RealTimeDecision, err error)

Retrieve a Real-Time Decision

type RealTimeDecisionStatus

type RealTimeDecisionStatus string

The status of the Real-Time Decision.

const (
	RealTimeDecisionStatusPending   RealTimeDecisionStatus = "pending"
	RealTimeDecisionStatusResponded RealTimeDecisionStatus = "responded"
	RealTimeDecisionStatusTimedOut  RealTimeDecisionStatus = "timed_out"
)

func (RealTimeDecisionStatus) IsKnown

func (r RealTimeDecisionStatus) IsKnown() bool

type RealTimeDecisionType

type RealTimeDecisionType string

A constant representing the object's type. For this resource it will always be `real_time_decision`.

const (
	RealTimeDecisionTypeRealTimeDecision RealTimeDecisionType = "real_time_decision"
)

func (RealTimeDecisionType) IsKnown

func (r RealTimeDecisionType) IsKnown() bool

type RealTimePaymentsTransfer

type RealTimePaymentsTransfer struct {
	// The Real-Time Payments Transfer's identifier.
	ID string `json:"id,required"`
	// The Account from which the transfer was sent.
	AccountID string `json:"account_id,required"`
	// If the transfer is acknowledged by the recipient bank, this will contain
	// supplemental details.
	Acknowledgement RealTimePaymentsTransferAcknowledgement `json:"acknowledgement,required,nullable"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// If your account requires approvals for transfers and the transfer was approved,
	// this will contain details of the approval.
	Approval RealTimePaymentsTransferApproval `json:"approval,required,nullable"`
	// If your account requires approvals for transfers and the transfer was not
	// approved, this will contain details of the cancellation.
	Cancellation RealTimePaymentsTransferCancellation `json:"cancellation,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// What object created the transfer, either via the API or the dashboard.
	CreatedBy RealTimePaymentsTransferCreatedBy `json:"created_by,required,nullable"`
	// The name of the transfer's recipient. This is set by the sender when creating
	// the transfer.
	CreditorName string `json:"creditor_name,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
	// currency. For real-time payments transfers this is always equal to `USD`.
	Currency RealTimePaymentsTransferCurrency `json:"currency,required"`
	// The name of the transfer's sender. If not provided, defaults to the name of the
	// account's entity.
	DebtorName string `json:"debtor_name,required,nullable"`
	// The destination account number.
	DestinationAccountNumber string `json:"destination_account_number,required"`
	// The destination American Bankers' Association (ABA) Routing Transit Number
	// (RTN).
	DestinationRoutingNumber string `json:"destination_routing_number,required"`
	// The identifier of the External Account the transfer was made to, if any.
	ExternalAccountID string `json:"external_account_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The ID for the pending transaction representing the transfer. A pending
	// transaction is created when the transfer
	// [requires approval](https://increase.com/documentation/transfer-approvals#transfer-approvals)
	// by someone else in your organization.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// If the transfer is rejected by Real-Time Payments or the destination financial
	// institution, this will contain supplemental details.
	Rejection RealTimePaymentsTransferRejection `json:"rejection,required,nullable"`
	// Unstructured information that will show on the recipient's bank statement.
	RemittanceInformation string `json:"remittance_information,required"`
	// The Account Number the recipient will see as having sent the transfer.
	SourceAccountNumberID string `json:"source_account_number_id,required"`
	// The lifecycle status of the transfer.
	Status RealTimePaymentsTransferStatus `json:"status,required"`
	// After the transfer is submitted to Real-Time Payments, this will contain
	// supplemental details.
	Submission RealTimePaymentsTransferSubmission `json:"submission,required,nullable"`
	// The Transaction funding the transfer once it is complete.
	TransactionID string `json:"transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `real_time_payments_transfer`.
	Type RealTimePaymentsTransferType `json:"type,required"`
	// The name of the ultimate recipient of the transfer. Set this if the creditor is
	// an intermediary receiving the payment for someone else.
	UltimateCreditorName string `json:"ultimate_creditor_name,required,nullable"`
	// The name of the ultimate sender of the transfer. Set this if the funds are being
	// sent on behalf of someone who is not the account holder at Increase.
	UltimateDebtorName string                       `json:"ultimate_debtor_name,required,nullable"`
	JSON               realTimePaymentsTransferJSON `json:"-"`
}

Real-Time Payments transfers move funds, within seconds, between your Increase account and any other account on the Real-Time Payments network.

func (*RealTimePaymentsTransfer) UnmarshalJSON

func (r *RealTimePaymentsTransfer) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferAcknowledgement added in v0.160.0

type RealTimePaymentsTransferAcknowledgement struct {
	// When the transfer was acknowledged.
	AcknowledgedAt time.Time                                   `json:"acknowledged_at,required" format:"date-time"`
	JSON           realTimePaymentsTransferAcknowledgementJSON `json:"-"`
}

If the transfer is acknowledged by the recipient bank, this will contain supplemental details.

func (*RealTimePaymentsTransferAcknowledgement) UnmarshalJSON added in v0.160.0

func (r *RealTimePaymentsTransferAcknowledgement) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferApproval

type RealTimePaymentsTransferApproval struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was approved.
	ApprovedAt time.Time `json:"approved_at,required" format:"date-time"`
	// If the Transfer was approved by a user in the dashboard, the email address of
	// that user.
	ApprovedBy string                               `json:"approved_by,required,nullable"`
	JSON       realTimePaymentsTransferApprovalJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

func (*RealTimePaymentsTransferApproval) UnmarshalJSON

func (r *RealTimePaymentsTransferApproval) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferCancellation

type RealTimePaymentsTransferCancellation struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Transfer was canceled.
	CanceledAt time.Time `json:"canceled_at,required" format:"date-time"`
	// If the Transfer was canceled by a user in the dashboard, the email address of
	// that user.
	CanceledBy string                                   `json:"canceled_by,required,nullable"`
	JSON       realTimePaymentsTransferCancellationJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

func (*RealTimePaymentsTransferCancellation) UnmarshalJSON

func (r *RealTimePaymentsTransferCancellation) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferCreatedBy

type RealTimePaymentsTransferCreatedBy struct {
	// If present, details about the API key that created the transfer.
	APIKey RealTimePaymentsTransferCreatedByAPIKey `json:"api_key,required,nullable"`
	// The type of object that created this transfer.
	Category RealTimePaymentsTransferCreatedByCategory `json:"category,required"`
	// If present, details about the OAuth Application that created the transfer.
	OAuthApplication RealTimePaymentsTransferCreatedByOAuthApplication `json:"oauth_application,required,nullable"`
	// If present, details about the User that created the transfer.
	User RealTimePaymentsTransferCreatedByUser `json:"user,required,nullable"`
	JSON realTimePaymentsTransferCreatedByJSON `json:"-"`
}

What object created the transfer, either via the API or the dashboard.

func (*RealTimePaymentsTransferCreatedBy) UnmarshalJSON

func (r *RealTimePaymentsTransferCreatedBy) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferCreatedByAPIKey

type RealTimePaymentsTransferCreatedByAPIKey struct {
	// The description set for the API key when it was created.
	Description string                                      `json:"description,required,nullable"`
	JSON        realTimePaymentsTransferCreatedByAPIKeyJSON `json:"-"`
}

If present, details about the API key that created the transfer.

func (*RealTimePaymentsTransferCreatedByAPIKey) UnmarshalJSON

func (r *RealTimePaymentsTransferCreatedByAPIKey) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferCreatedByCategory

type RealTimePaymentsTransferCreatedByCategory string

The type of object that created this transfer.

const (
	RealTimePaymentsTransferCreatedByCategoryAPIKey           RealTimePaymentsTransferCreatedByCategory = "api_key"
	RealTimePaymentsTransferCreatedByCategoryOAuthApplication RealTimePaymentsTransferCreatedByCategory = "oauth_application"
	RealTimePaymentsTransferCreatedByCategoryUser             RealTimePaymentsTransferCreatedByCategory = "user"
)

func (RealTimePaymentsTransferCreatedByCategory) IsKnown

type RealTimePaymentsTransferCreatedByOAuthApplication

type RealTimePaymentsTransferCreatedByOAuthApplication struct {
	// The name of the OAuth Application.
	Name string                                                `json:"name,required"`
	JSON realTimePaymentsTransferCreatedByOAuthApplicationJSON `json:"-"`
}

If present, details about the OAuth Application that created the transfer.

func (*RealTimePaymentsTransferCreatedByOAuthApplication) UnmarshalJSON

func (r *RealTimePaymentsTransferCreatedByOAuthApplication) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferCreatedByUser

type RealTimePaymentsTransferCreatedByUser struct {
	// The email address of the User.
	Email string                                    `json:"email,required"`
	JSON  realTimePaymentsTransferCreatedByUserJSON `json:"-"`
}

If present, details about the User that created the transfer.

func (*RealTimePaymentsTransferCreatedByUser) UnmarshalJSON

func (r *RealTimePaymentsTransferCreatedByUser) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferCurrency

type RealTimePaymentsTransferCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's currency. For real-time payments transfers this is always equal to `USD`.

const (
	RealTimePaymentsTransferCurrencyCad RealTimePaymentsTransferCurrency = "CAD"
	RealTimePaymentsTransferCurrencyChf RealTimePaymentsTransferCurrency = "CHF"
	RealTimePaymentsTransferCurrencyEur RealTimePaymentsTransferCurrency = "EUR"
	RealTimePaymentsTransferCurrencyGbp RealTimePaymentsTransferCurrency = "GBP"
	RealTimePaymentsTransferCurrencyJpy RealTimePaymentsTransferCurrency = "JPY"
	RealTimePaymentsTransferCurrencyUsd RealTimePaymentsTransferCurrency = "USD"
)

func (RealTimePaymentsTransferCurrency) IsKnown

type RealTimePaymentsTransferListParams

type RealTimePaymentsTransferListParams struct {
	// Filter Real-Time Payments Transfers to those belonging to the specified Account.
	AccountID param.Field[string]                                      `query:"account_id"`
	CreatedAt param.Field[RealTimePaymentsTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter Real-Time Payments Transfers to those made to the specified External
	// Account.
	ExternalAccountID param.Field[string] `query:"external_account_id"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                                    `query:"limit"`
	Status param.Field[RealTimePaymentsTransferListParamsStatus] `query:"status"`
}

func (RealTimePaymentsTransferListParams) URLQuery

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

type RealTimePaymentsTransferListParamsCreatedAt

type RealTimePaymentsTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (RealTimePaymentsTransferListParamsCreatedAt) URLQuery

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

type RealTimePaymentsTransferListParamsStatus added in v0.207.0

type RealTimePaymentsTransferListParamsStatus struct {
	// Return results whose value is in the provided list. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]RealTimePaymentsTransferListParamsStatusIn] `query:"in"`
}

func (RealTimePaymentsTransferListParamsStatus) URLQuery added in v0.207.0

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

type RealTimePaymentsTransferListParamsStatusIn added in v0.207.0

type RealTimePaymentsTransferListParamsStatusIn string
const (
	RealTimePaymentsTransferListParamsStatusInPendingApproval   RealTimePaymentsTransferListParamsStatusIn = "pending_approval"
	RealTimePaymentsTransferListParamsStatusInCanceled          RealTimePaymentsTransferListParamsStatusIn = "canceled"
	RealTimePaymentsTransferListParamsStatusInPendingReviewing  RealTimePaymentsTransferListParamsStatusIn = "pending_reviewing"
	RealTimePaymentsTransferListParamsStatusInRequiresAttention RealTimePaymentsTransferListParamsStatusIn = "requires_attention"
	RealTimePaymentsTransferListParamsStatusInRejected          RealTimePaymentsTransferListParamsStatusIn = "rejected"
	RealTimePaymentsTransferListParamsStatusInPendingSubmission RealTimePaymentsTransferListParamsStatusIn = "pending_submission"
	RealTimePaymentsTransferListParamsStatusInSubmitted         RealTimePaymentsTransferListParamsStatusIn = "submitted"
	RealTimePaymentsTransferListParamsStatusInComplete          RealTimePaymentsTransferListParamsStatusIn = "complete"
)

func (RealTimePaymentsTransferListParamsStatusIn) IsKnown added in v0.207.0

type RealTimePaymentsTransferNewParams

type RealTimePaymentsTransferNewParams struct {
	// The transfer amount in USD cents. For Real-Time Payments transfers, must be
	// positive.
	Amount param.Field[int64] `json:"amount,required"`
	// The name of the transfer's recipient.
	CreditorName param.Field[string] `json:"creditor_name,required"`
	// Unstructured information that will show on the recipient's bank statement.
	RemittanceInformation param.Field[string] `json:"remittance_information,required"`
	// The identifier of the Account Number from which to send the transfer.
	SourceAccountNumberID param.Field[string] `json:"source_account_number_id,required"`
	// The name of the transfer's sender. If not provided, defaults to the name of the
	// account's entity.
	DebtorName param.Field[string] `json:"debtor_name"`
	// The destination account number.
	DestinationAccountNumber param.Field[string] `json:"destination_account_number"`
	// The destination American Bankers' Association (ABA) Routing Transit Number
	// (RTN).
	DestinationRoutingNumber param.Field[string] `json:"destination_routing_number"`
	// The ID of an External Account to initiate a transfer to. If this parameter is
	// provided, `destination_account_number` and `destination_routing_number` must be
	// absent.
	ExternalAccountID param.Field[string] `json:"external_account_id"`
	// Whether the transfer requires explicit approval via the dashboard or API.
	RequireApproval param.Field[bool] `json:"require_approval"`
	// The name of the ultimate recipient of the transfer. Set this if the creditor is
	// an intermediary receiving the payment for someone else.
	UltimateCreditorName param.Field[string] `json:"ultimate_creditor_name"`
	// The name of the ultimate sender of the transfer. Set this if the funds are being
	// sent on behalf of someone who is not the account holder at Increase.
	UltimateDebtorName param.Field[string] `json:"ultimate_debtor_name"`
}

func (RealTimePaymentsTransferNewParams) MarshalJSON

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

type RealTimePaymentsTransferRejection

type RealTimePaymentsTransferRejection struct {
	// Additional information about the rejection provided by the recipient bank when
	// the `reject_reason_code` is `NARRATIVE`.
	RejectReasonAdditionalInformation string `json:"reject_reason_additional_information,required,nullable"`
	// The reason the transfer was rejected as provided by the recipient bank or the
	// Real-Time Payments network.
	RejectReasonCode RealTimePaymentsTransferRejectionRejectReasonCode `json:"reject_reason_code,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was rejected.
	RejectedAt time.Time                             `json:"rejected_at,required,nullable" format:"date-time"`
	JSON       realTimePaymentsTransferRejectionJSON `json:"-"`
}

If the transfer is rejected by Real-Time Payments or the destination financial institution, this will contain supplemental details.

func (*RealTimePaymentsTransferRejection) UnmarshalJSON

func (r *RealTimePaymentsTransferRejection) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferRejectionRejectReasonCode

type RealTimePaymentsTransferRejectionRejectReasonCode string

The reason the transfer was rejected as provided by the recipient bank or the Real-Time Payments network.

const (
	RealTimePaymentsTransferRejectionRejectReasonCodeAccountClosed                                 RealTimePaymentsTransferRejectionRejectReasonCode = "account_closed"
	RealTimePaymentsTransferRejectionRejectReasonCodeAccountBlocked                                RealTimePaymentsTransferRejectionRejectReasonCode = "account_blocked"
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorAccountType                    RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_account_type"
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorAccountNumber                  RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_account_number"
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorFinancialInstitutionIdentifier RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_financial_institution_identifier"
	RealTimePaymentsTransferRejectionRejectReasonCodeEndCustomerDeceased                           RealTimePaymentsTransferRejectionRejectReasonCode = "end_customer_deceased"
	RealTimePaymentsTransferRejectionRejectReasonCodeNarrative                                     RealTimePaymentsTransferRejectionRejectReasonCode = "narrative"
	RealTimePaymentsTransferRejectionRejectReasonCodeTransactionForbidden                          RealTimePaymentsTransferRejectionRejectReasonCode = "transaction_forbidden"
	RealTimePaymentsTransferRejectionRejectReasonCodeTransactionTypeNotSupported                   RealTimePaymentsTransferRejectionRejectReasonCode = "transaction_type_not_supported"
	RealTimePaymentsTransferRejectionRejectReasonCodeUnexpectedAmount                              RealTimePaymentsTransferRejectionRejectReasonCode = "unexpected_amount"
	RealTimePaymentsTransferRejectionRejectReasonCodeAmountExceedsBankLimits                       RealTimePaymentsTransferRejectionRejectReasonCode = "amount_exceeds_bank_limits"
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorAddress                        RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_address"
	RealTimePaymentsTransferRejectionRejectReasonCodeUnknownEndCustomer                            RealTimePaymentsTransferRejectionRejectReasonCode = "unknown_end_customer"
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidDebtorAddress                          RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_debtor_address"
	RealTimePaymentsTransferRejectionRejectReasonCodeTimeout                                       RealTimePaymentsTransferRejectionRejectReasonCode = "timeout"
	RealTimePaymentsTransferRejectionRejectReasonCodeUnsupportedMessageForRecipient                RealTimePaymentsTransferRejectionRejectReasonCode = "unsupported_message_for_recipient"
	RealTimePaymentsTransferRejectionRejectReasonCodeRecipientConnectionNotAvailable               RealTimePaymentsTransferRejectionRejectReasonCode = "recipient_connection_not_available"
	RealTimePaymentsTransferRejectionRejectReasonCodeRealTimePaymentsSuspended                     RealTimePaymentsTransferRejectionRejectReasonCode = "real_time_payments_suspended"
	RealTimePaymentsTransferRejectionRejectReasonCodeInstructedAgentSignedOff                      RealTimePaymentsTransferRejectionRejectReasonCode = "instructed_agent_signed_off"
	RealTimePaymentsTransferRejectionRejectReasonCodeProcessingError                               RealTimePaymentsTransferRejectionRejectReasonCode = "processing_error"
	RealTimePaymentsTransferRejectionRejectReasonCodeOther                                         RealTimePaymentsTransferRejectionRejectReasonCode = "other"
)

func (RealTimePaymentsTransferRejectionRejectReasonCode) IsKnown

type RealTimePaymentsTransferService

type RealTimePaymentsTransferService struct {
	Options []option.RequestOption
}

RealTimePaymentsTransferService contains methods and other services that help with interacting with the increase 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 NewRealTimePaymentsTransferService method instead.

func NewRealTimePaymentsTransferService

func NewRealTimePaymentsTransferService(opts ...option.RequestOption) (r *RealTimePaymentsTransferService)

NewRealTimePaymentsTransferService 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 (*RealTimePaymentsTransferService) Approve added in v0.242.0

func (r *RealTimePaymentsTransferService) Approve(ctx context.Context, realTimePaymentsTransferID string, opts ...option.RequestOption) (res *RealTimePaymentsTransfer, err error)

Approves an Real-Time Payments Transfer in a pending_approval state.

func (*RealTimePaymentsTransferService) Cancel added in v0.242.0

func (r *RealTimePaymentsTransferService) Cancel(ctx context.Context, realTimePaymentsTransferID string, opts ...option.RequestOption) (res *RealTimePaymentsTransfer, err error)

Cancels an Real-Time Payments Transfer in a pending_approval state.

func (*RealTimePaymentsTransferService) Get

func (r *RealTimePaymentsTransferService) Get(ctx context.Context, realTimePaymentsTransferID string, opts ...option.RequestOption) (res *RealTimePaymentsTransfer, err error)

Retrieve a Real-Time Payments Transfer

func (*RealTimePaymentsTransferService) List

List Real-Time Payments Transfers

func (*RealTimePaymentsTransferService) ListAutoPaging

List Real-Time Payments Transfers

func (*RealTimePaymentsTransferService) New

Create a Real-Time Payments Transfer

type RealTimePaymentsTransferStatus

type RealTimePaymentsTransferStatus string

The lifecycle status of the transfer.

const (
	RealTimePaymentsTransferStatusPendingApproval   RealTimePaymentsTransferStatus = "pending_approval"
	RealTimePaymentsTransferStatusCanceled          RealTimePaymentsTransferStatus = "canceled"
	RealTimePaymentsTransferStatusPendingReviewing  RealTimePaymentsTransferStatus = "pending_reviewing"
	RealTimePaymentsTransferStatusRequiresAttention RealTimePaymentsTransferStatus = "requires_attention"
	RealTimePaymentsTransferStatusRejected          RealTimePaymentsTransferStatus = "rejected"
	RealTimePaymentsTransferStatusPendingSubmission RealTimePaymentsTransferStatus = "pending_submission"
	RealTimePaymentsTransferStatusSubmitted         RealTimePaymentsTransferStatus = "submitted"
	RealTimePaymentsTransferStatusComplete          RealTimePaymentsTransferStatus = "complete"
)

func (RealTimePaymentsTransferStatus) IsKnown

type RealTimePaymentsTransferSubmission

type RealTimePaymentsTransferSubmission struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was submitted to The Clearing House.
	SubmittedAt time.Time `json:"submitted_at,required,nullable" format:"date-time"`
	// The Real-Time Payments network identification of the transfer.
	TransactionIdentification string                                 `json:"transaction_identification,required"`
	JSON                      realTimePaymentsTransferSubmissionJSON `json:"-"`
}

After the transfer is submitted to Real-Time Payments, this will contain supplemental details.

func (*RealTimePaymentsTransferSubmission) UnmarshalJSON

func (r *RealTimePaymentsTransferSubmission) UnmarshalJSON(data []byte) (err error)

type RealTimePaymentsTransferType

type RealTimePaymentsTransferType string

A constant representing the object's type. For this resource it will always be `real_time_payments_transfer`.

const (
	RealTimePaymentsTransferTypeRealTimePaymentsTransfer RealTimePaymentsTransferType = "real_time_payments_transfer"
)

func (RealTimePaymentsTransferType) IsKnown

func (r RealTimePaymentsTransferType) IsKnown() bool

type RoutingNumberListParams

type RoutingNumberListParams struct {
	// Filter financial institutions by routing number.
	RoutingNumber param.Field[string] `query:"routing_number,required"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (RoutingNumberListParams) URLQuery

func (r RoutingNumberListParams) URLQuery() (v url.Values)

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

type RoutingNumberListResponse

type RoutingNumberListResponse struct {
	// This routing number's support for ACH Transfers.
	ACHTransfers RoutingNumberListResponseACHTransfers `json:"ach_transfers,required"`
	// The name of the financial institution belonging to a routing number.
	Name string `json:"name,required"`
	// This routing number's support for Real-Time Payments Transfers.
	RealTimePaymentsTransfers RoutingNumberListResponseRealTimePaymentsTransfers `json:"real_time_payments_transfers,required"`
	// The nine digit routing number identifier.
	RoutingNumber string `json:"routing_number,required"`
	// A constant representing the object's type. For this resource it will always be
	// `routing_number`.
	Type RoutingNumberListResponseType `json:"type,required"`
	// This routing number's support for Wire Transfers.
	WireTransfers RoutingNumberListResponseWireTransfers `json:"wire_transfers,required"`
	JSON          routingNumberListResponseJSON          `json:"-"`
}

Routing numbers are used to identify your bank in a financial transaction.

func (*RoutingNumberListResponse) UnmarshalJSON

func (r *RoutingNumberListResponse) UnmarshalJSON(data []byte) (err error)

type RoutingNumberListResponseACHTransfers

type RoutingNumberListResponseACHTransfers string

This routing number's support for ACH Transfers.

const (
	RoutingNumberListResponseACHTransfersSupported    RoutingNumberListResponseACHTransfers = "supported"
	RoutingNumberListResponseACHTransfersNotSupported RoutingNumberListResponseACHTransfers = "not_supported"
)

func (RoutingNumberListResponseACHTransfers) IsKnown

type RoutingNumberListResponseRealTimePaymentsTransfers

type RoutingNumberListResponseRealTimePaymentsTransfers string

This routing number's support for Real-Time Payments Transfers.

const (
	RoutingNumberListResponseRealTimePaymentsTransfersSupported    RoutingNumberListResponseRealTimePaymentsTransfers = "supported"
	RoutingNumberListResponseRealTimePaymentsTransfersNotSupported RoutingNumberListResponseRealTimePaymentsTransfers = "not_supported"
)

func (RoutingNumberListResponseRealTimePaymentsTransfers) IsKnown

type RoutingNumberListResponseType

type RoutingNumberListResponseType string

A constant representing the object's type. For this resource it will always be `routing_number`.

const (
	RoutingNumberListResponseTypeRoutingNumber RoutingNumberListResponseType = "routing_number"
)

func (RoutingNumberListResponseType) IsKnown

func (r RoutingNumberListResponseType) IsKnown() bool

type RoutingNumberListResponseWireTransfers

type RoutingNumberListResponseWireTransfers string

This routing number's support for Wire Transfers.

const (
	RoutingNumberListResponseWireTransfersSupported    RoutingNumberListResponseWireTransfers = "supported"
	RoutingNumberListResponseWireTransfersNotSupported RoutingNumberListResponseWireTransfers = "not_supported"
)

func (RoutingNumberListResponseWireTransfers) IsKnown

type RoutingNumberService

type RoutingNumberService struct {
	Options []option.RequestOption
}

RoutingNumberService contains methods and other services that help with interacting with the increase 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 NewRoutingNumberService method instead.

func NewRoutingNumberService

func NewRoutingNumberService(opts ...option.RequestOption) (r *RoutingNumberService)

NewRoutingNumberService 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 (*RoutingNumberService) List

You can use this API to confirm if a routing number is valid, such as when a user is providing you with bank account details. Since routing numbers uniquely identify a bank, this will always return 0 or 1 entry. In Sandbox, the only valid routing number for this method is 110000000.

func (*RoutingNumberService) ListAutoPaging

You can use this API to confirm if a routing number is valid, such as when a user is providing you with bank account details. Since routing numbers uniquely identify a bank, this will always return 0 or 1 entry. In Sandbox, the only valid routing number for this method is 110000000.

type SimulationACHTransferNewNotificationOfChangeParams

type SimulationACHTransferNewNotificationOfChangeParams struct {
	// The reason for the notification of change.
	ChangeCode param.Field[SimulationACHTransferNewNotificationOfChangeParamsChangeCode] `json:"change_code,required"`
	// The corrected data for the notification of change (e.g., a new routing number).
	CorrectedData param.Field[string] `json:"corrected_data,required"`
}

func (SimulationACHTransferNewNotificationOfChangeParams) MarshalJSON

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

type SimulationACHTransferNewNotificationOfChangeParamsChangeCode

type SimulationACHTransferNewNotificationOfChangeParamsChangeCode string

The reason for the notification of change.

const (
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectAccountNumber                                                      SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_account_number"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectRoutingNumber                                                      SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_routing_number"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectRoutingNumberAndAccountNumber                                      SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_routing_number_and_account_number"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectTransactionCode                                                    SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_transaction_code"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectAccountNumberAndTransactionCode                                    SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_account_number_and_transaction_code"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectRoutingNumberAccountNumberAndTransactionCode                       SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_routing_number_account_number_and_transaction_code"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectReceivingDepositoryFinancialInstitutionIdentification              SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_receiving_depository_financial_institution_identification"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectIndividualIdentificationNumber                                     SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_individual_identification_number"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeAddendaFormatError                                                          SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "addenda_format_error"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectStandardEntryClassCodeForOutboundInternationalPayment              SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_standard_entry_class_code_for_outbound_international_payment"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeMisroutedNotificationOfChange                                               SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "misrouted_notification_of_change"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectTraceNumber                                                        SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_trace_number"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectCompanyIdentificationNumber                                        SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_company_identification_number"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectIdentificationNumber                                               SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_identification_number"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectlyFormattedCorrectedData                                           SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrectly_formatted_corrected_data"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectDiscretionaryData                                                  SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_discretionary_data"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeRoutingNumberNotFromOriginalEntryDetailRecord                               SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "routing_number_not_from_original_entry_detail_record"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeDepositoryFinancialInstitutionAccountNumberNotFromOriginalEntryDetailRecord SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "depository_financial_institution_account_number_not_from_original_entry_detail_record"
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectTransactionCodeByOriginatingDepositoryFinancialInstitution         SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_transaction_code_by_originating_depository_financial_institution"
)

func (SimulationACHTransferNewNotificationOfChangeParamsChangeCode) IsKnown

type SimulationACHTransferReturnParams

type SimulationACHTransferReturnParams struct {
	// The reason why the Federal Reserve or destination bank returned this transfer.
	// Defaults to `no_account`.
	Reason param.Field[SimulationACHTransferReturnParamsReason] `json:"reason"`
}

func (SimulationACHTransferReturnParams) MarshalJSON

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

type SimulationACHTransferReturnParamsReason

type SimulationACHTransferReturnParamsReason string

The reason why the Federal Reserve or destination bank returned this transfer. Defaults to `no_account`.

const (
	SimulationACHTransferReturnParamsReasonInsufficientFund                                            SimulationACHTransferReturnParamsReason = "insufficient_fund"
	SimulationACHTransferReturnParamsReasonNoAccount                                                   SimulationACHTransferReturnParamsReason = "no_account"
	SimulationACHTransferReturnParamsReasonAccountClosed                                               SimulationACHTransferReturnParamsReason = "account_closed"
	SimulationACHTransferReturnParamsReasonInvalidAccountNumberStructure                               SimulationACHTransferReturnParamsReason = "invalid_account_number_structure"
	SimulationACHTransferReturnParamsReasonAccountFrozenEntryReturnedPerOfacInstruction                SimulationACHTransferReturnParamsReason = "account_frozen_entry_returned_per_ofac_instruction"
	SimulationACHTransferReturnParamsReasonCreditEntryRefusedByReceiver                                SimulationACHTransferReturnParamsReason = "credit_entry_refused_by_receiver"
	SimulationACHTransferReturnParamsReasonUnauthorizedDebitToConsumerAccountUsingCorporateSecCode     SimulationACHTransferReturnParamsReason = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	SimulationACHTransferReturnParamsReasonCorporateCustomerAdvisedNotAuthorized                       SimulationACHTransferReturnParamsReason = "corporate_customer_advised_not_authorized"
	SimulationACHTransferReturnParamsReasonPaymentStopped                                              SimulationACHTransferReturnParamsReason = "payment_stopped"
	SimulationACHTransferReturnParamsReasonNonTransactionAccount                                       SimulationACHTransferReturnParamsReason = "non_transaction_account"
	SimulationACHTransferReturnParamsReasonUncollectedFunds                                            SimulationACHTransferReturnParamsReason = "uncollected_funds"
	SimulationACHTransferReturnParamsReasonRoutingNumberCheckDigitError                                SimulationACHTransferReturnParamsReason = "routing_number_check_digit_error"
	SimulationACHTransferReturnParamsReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   SimulationACHTransferReturnParamsReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	SimulationACHTransferReturnParamsReasonAmountFieldError                                            SimulationACHTransferReturnParamsReason = "amount_field_error"
	SimulationACHTransferReturnParamsReasonAuthorizationRevokedByCustomer                              SimulationACHTransferReturnParamsReason = "authorization_revoked_by_customer"
	SimulationACHTransferReturnParamsReasonInvalidACHRoutingNumber                                     SimulationACHTransferReturnParamsReason = "invalid_ach_routing_number"
	SimulationACHTransferReturnParamsReasonFileRecordEditCriteria                                      SimulationACHTransferReturnParamsReason = "file_record_edit_criteria"
	SimulationACHTransferReturnParamsReasonEnrInvalidIndividualName                                    SimulationACHTransferReturnParamsReason = "enr_invalid_individual_name"
	SimulationACHTransferReturnParamsReasonReturnedPerOdfiRequest                                      SimulationACHTransferReturnParamsReason = "returned_per_odfi_request"
	SimulationACHTransferReturnParamsReasonLimitedParticipationDfi                                     SimulationACHTransferReturnParamsReason = "limited_participation_dfi"
	SimulationACHTransferReturnParamsReasonIncorrectlyCodedOutboundInternationalPayment                SimulationACHTransferReturnParamsReason = "incorrectly_coded_outbound_international_payment"
	SimulationACHTransferReturnParamsReasonAccountSoldToAnotherDfi                                     SimulationACHTransferReturnParamsReason = "account_sold_to_another_dfi"
	SimulationACHTransferReturnParamsReasonAddendaError                                                SimulationACHTransferReturnParamsReason = "addenda_error"
	SimulationACHTransferReturnParamsReasonBeneficiaryOrAccountHolderDeceased                          SimulationACHTransferReturnParamsReason = "beneficiary_or_account_holder_deceased"
	SimulationACHTransferReturnParamsReasonCustomerAdvisedNotWithinAuthorizationTerms                  SimulationACHTransferReturnParamsReason = "customer_advised_not_within_authorization_terms"
	SimulationACHTransferReturnParamsReasonCorrectedReturn                                             SimulationACHTransferReturnParamsReason = "corrected_return"
	SimulationACHTransferReturnParamsReasonDuplicateEntry                                              SimulationACHTransferReturnParamsReason = "duplicate_entry"
	SimulationACHTransferReturnParamsReasonDuplicateReturn                                             SimulationACHTransferReturnParamsReason = "duplicate_return"
	SimulationACHTransferReturnParamsReasonEnrDuplicateEnrollment                                      SimulationACHTransferReturnParamsReason = "enr_duplicate_enrollment"
	SimulationACHTransferReturnParamsReasonEnrInvalidDfiAccountNumber                                  SimulationACHTransferReturnParamsReason = "enr_invalid_dfi_account_number"
	SimulationACHTransferReturnParamsReasonEnrInvalidIndividualIDNumber                                SimulationACHTransferReturnParamsReason = "enr_invalid_individual_id_number"
	SimulationACHTransferReturnParamsReasonEnrInvalidRepresentativePayeeIndicator                      SimulationACHTransferReturnParamsReason = "enr_invalid_representative_payee_indicator"
	SimulationACHTransferReturnParamsReasonEnrInvalidTransactionCode                                   SimulationACHTransferReturnParamsReason = "enr_invalid_transaction_code"
	SimulationACHTransferReturnParamsReasonEnrReturnOfEnrEntry                                         SimulationACHTransferReturnParamsReason = "enr_return_of_enr_entry"
	SimulationACHTransferReturnParamsReasonEnrRoutingNumberCheckDigitError                             SimulationACHTransferReturnParamsReason = "enr_routing_number_check_digit_error"
	SimulationACHTransferReturnParamsReasonEntryNotProcessedByGateway                                  SimulationACHTransferReturnParamsReason = "entry_not_processed_by_gateway"
	SimulationACHTransferReturnParamsReasonFieldError                                                  SimulationACHTransferReturnParamsReason = "field_error"
	SimulationACHTransferReturnParamsReasonForeignReceivingDfiUnableToSettle                           SimulationACHTransferReturnParamsReason = "foreign_receiving_dfi_unable_to_settle"
	SimulationACHTransferReturnParamsReasonIatEntryCodingError                                         SimulationACHTransferReturnParamsReason = "iat_entry_coding_error"
	SimulationACHTransferReturnParamsReasonImproperEffectiveEntryDate                                  SimulationACHTransferReturnParamsReason = "improper_effective_entry_date"
	SimulationACHTransferReturnParamsReasonImproperSourceDocumentSourceDocumentPresented               SimulationACHTransferReturnParamsReason = "improper_source_document_source_document_presented"
	SimulationACHTransferReturnParamsReasonInvalidCompanyID                                            SimulationACHTransferReturnParamsReason = "invalid_company_id"
	SimulationACHTransferReturnParamsReasonInvalidForeignReceivingDfiIdentification                    SimulationACHTransferReturnParamsReason = "invalid_foreign_receiving_dfi_identification"
	SimulationACHTransferReturnParamsReasonInvalidIndividualIDNumber                                   SimulationACHTransferReturnParamsReason = "invalid_individual_id_number"
	SimulationACHTransferReturnParamsReasonItemAndRckEntryPresentedForPayment                          SimulationACHTransferReturnParamsReason = "item_and_rck_entry_presented_for_payment"
	SimulationACHTransferReturnParamsReasonItemRelatedToRckEntryIsIneligible                           SimulationACHTransferReturnParamsReason = "item_related_to_rck_entry_is_ineligible"
	SimulationACHTransferReturnParamsReasonMandatoryFieldError                                         SimulationACHTransferReturnParamsReason = "mandatory_field_error"
	SimulationACHTransferReturnParamsReasonMisroutedDishonoredReturn                                   SimulationACHTransferReturnParamsReason = "misrouted_dishonored_return"
	SimulationACHTransferReturnParamsReasonMisroutedReturn                                             SimulationACHTransferReturnParamsReason = "misrouted_return"
	SimulationACHTransferReturnParamsReasonNoErrorsFound                                               SimulationACHTransferReturnParamsReason = "no_errors_found"
	SimulationACHTransferReturnParamsReasonNonAcceptanceOfR62DishonoredReturn                          SimulationACHTransferReturnParamsReason = "non_acceptance_of_r62_dishonored_return"
	SimulationACHTransferReturnParamsReasonNonParticipantInIatProgram                                  SimulationACHTransferReturnParamsReason = "non_participant_in_iat_program"
	SimulationACHTransferReturnParamsReasonPermissibleReturnEntry                                      SimulationACHTransferReturnParamsReason = "permissible_return_entry"
	SimulationACHTransferReturnParamsReasonPermissibleReturnEntryNotAccepted                           SimulationACHTransferReturnParamsReason = "permissible_return_entry_not_accepted"
	SimulationACHTransferReturnParamsReasonRdfiNonSettlement                                           SimulationACHTransferReturnParamsReason = "rdfi_non_settlement"
	SimulationACHTransferReturnParamsReasonRdfiParticipantInCheckTruncationProgram                     SimulationACHTransferReturnParamsReason = "rdfi_participant_in_check_truncation_program"
	SimulationACHTransferReturnParamsReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity SimulationACHTransferReturnParamsReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	SimulationACHTransferReturnParamsReasonReturnNotADuplicate                                         SimulationACHTransferReturnParamsReason = "return_not_a_duplicate"
	SimulationACHTransferReturnParamsReasonReturnOfErroneousOrReversingDebit                           SimulationACHTransferReturnParamsReason = "return_of_erroneous_or_reversing_debit"
	SimulationACHTransferReturnParamsReasonReturnOfImproperCreditEntry                                 SimulationACHTransferReturnParamsReason = "return_of_improper_credit_entry"
	SimulationACHTransferReturnParamsReasonReturnOfImproperDebitEntry                                  SimulationACHTransferReturnParamsReason = "return_of_improper_debit_entry"
	SimulationACHTransferReturnParamsReasonReturnOfXckEntry                                            SimulationACHTransferReturnParamsReason = "return_of_xck_entry"
	SimulationACHTransferReturnParamsReasonSourceDocumentPresentedForPayment                           SimulationACHTransferReturnParamsReason = "source_document_presented_for_payment"
	SimulationACHTransferReturnParamsReasonStateLawAffectingRckAcceptance                              SimulationACHTransferReturnParamsReason = "state_law_affecting_rck_acceptance"
	SimulationACHTransferReturnParamsReasonStopPaymentOnItemRelatedToRckEntry                          SimulationACHTransferReturnParamsReason = "stop_payment_on_item_related_to_rck_entry"
	SimulationACHTransferReturnParamsReasonStopPaymentOnSourceDocument                                 SimulationACHTransferReturnParamsReason = "stop_payment_on_source_document"
	SimulationACHTransferReturnParamsReasonTimelyOriginalReturn                                        SimulationACHTransferReturnParamsReason = "timely_original_return"
	SimulationACHTransferReturnParamsReasonTraceNumberError                                            SimulationACHTransferReturnParamsReason = "trace_number_error"
	SimulationACHTransferReturnParamsReasonUntimelyDishonoredReturn                                    SimulationACHTransferReturnParamsReason = "untimely_dishonored_return"
	SimulationACHTransferReturnParamsReasonUntimelyReturn                                              SimulationACHTransferReturnParamsReason = "untimely_return"
)

func (SimulationACHTransferReturnParamsReason) IsKnown

type SimulationACHTransferService

type SimulationACHTransferService struct {
	Options []option.RequestOption
}

SimulationACHTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationACHTransferService method instead.

func NewSimulationACHTransferService

func NewSimulationACHTransferService(opts ...option.RequestOption) (r *SimulationACHTransferService)

NewSimulationACHTransferService 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 (*SimulationACHTransferService) Acknowledge

func (r *SimulationACHTransferService) Acknowledge(ctx context.Context, achTransferID string, opts ...option.RequestOption) (res *ACHTransfer, err error)

Simulates the acknowledgement of an [ACH Transfer](#ach-transfers) by the Federal Reserve. This transfer must first have a `status` of `submitted` . In production, the Federal Reserve generally acknowledges submitted ACH files within 30 minutes. Since sandbox ACH Transfers are not submitted to the Federal Reserve, this endpoint allows you to skip that delay and add the acknowledgment subresource to the ACH Transfer.

func (*SimulationACHTransferService) NewNotificationOfChange

func (r *SimulationACHTransferService) NewNotificationOfChange(ctx context.Context, achTransferID string, body SimulationACHTransferNewNotificationOfChangeParams, opts ...option.RequestOption) (res *ACHTransfer, err error)

Simulates receiving a Notification of Change for an [ACH Transfer](#ach-transfers).

func (*SimulationACHTransferService) Return

Simulates the return of an [ACH Transfer](#ach-transfers) by the Federal Reserve due to an error condition. This will also create a Transaction to account for the returned funds. This transfer must first have a `status` of `submitted`.

func (*SimulationACHTransferService) Settle added in v0.125.0

func (r *SimulationACHTransferService) Settle(ctx context.Context, achTransferID string, opts ...option.RequestOption) (res *ACHTransfer, err error)

Simulates the settlement of an [ACH Transfer](#ach-transfers) by the Federal Reserve. This transfer must first have a `status` of `pending_submission` or `submitted`. For convenience, if the transfer is in `status`: `pending_submission`, the simulation will also submit the transfer. Without this simulation the transfer will eventually settle on its own following the same Federal Reserve timeline as in production.

func (*SimulationACHTransferService) Submit

func (r *SimulationACHTransferService) Submit(ctx context.Context, achTransferID string, opts ...option.RequestOption) (res *ACHTransfer, err error)

Simulates the submission of an [ACH Transfer](#ach-transfers) to the Federal Reserve. This transfer must first have a `status` of `pending_approval` or `pending_submission`. In production, Increase submits ACH Transfers to the Federal Reserve three times per day on weekdays. Since sandbox ACH Transfers are not submitted to the Federal Reserve, this endpoint allows you to skip that delay and transition the ACH Transfer to a status of `submitted`.

type SimulationAccountStatementNewParams

type SimulationAccountStatementNewParams struct {
	// The identifier of the Account the statement is for.
	AccountID param.Field[string] `json:"account_id,required"`
}

func (SimulationAccountStatementNewParams) MarshalJSON

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

type SimulationAccountStatementService

type SimulationAccountStatementService struct {
	Options []option.RequestOption
}

SimulationAccountStatementService contains methods and other services that help with interacting with the increase 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 NewSimulationAccountStatementService method instead.

func NewSimulationAccountStatementService

func NewSimulationAccountStatementService(opts ...option.RequestOption) (r *SimulationAccountStatementService)

NewSimulationAccountStatementService 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 (*SimulationAccountStatementService) New

Simulates an [Account Statement](#account-statements) being created for an account. In production, Account Statements are generated once per month.

type SimulationAccountTransferService

type SimulationAccountTransferService struct {
	Options []option.RequestOption
}

SimulationAccountTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationAccountTransferService method instead.

func NewSimulationAccountTransferService

func NewSimulationAccountTransferService(opts ...option.RequestOption) (r *SimulationAccountTransferService)

NewSimulationAccountTransferService 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 (*SimulationAccountTransferService) Complete

func (r *SimulationAccountTransferService) Complete(ctx context.Context, accountTransferID string, opts ...option.RequestOption) (res *AccountTransfer, err error)

If your account is configured to require approval for each transfer, this endpoint simulates the approval of an [Account Transfer](#account-transfers). You can also approve sandbox Account Transfers in the dashboard. This transfer must first have a `status` of `pending_approval`.

type SimulationCardAuthorizationExpirationNewParams

type SimulationCardAuthorizationExpirationNewParams struct {
	// The identifier of the Card Payment to expire.
	CardPaymentID param.Field[string] `json:"card_payment_id,required"`
}

func (SimulationCardAuthorizationExpirationNewParams) MarshalJSON

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

type SimulationCardAuthorizationExpirationService

type SimulationCardAuthorizationExpirationService struct {
	Options []option.RequestOption
}

SimulationCardAuthorizationExpirationService contains methods and other services that help with interacting with the increase 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 NewSimulationCardAuthorizationExpirationService method instead.

func NewSimulationCardAuthorizationExpirationService

func NewSimulationCardAuthorizationExpirationService(opts ...option.RequestOption) (r *SimulationCardAuthorizationExpirationService)

NewSimulationCardAuthorizationExpirationService 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 (*SimulationCardAuthorizationExpirationService) New

Simulates expiring a Card Authorization immediately.

type SimulationCardAuthorizationNewParams

type SimulationCardAuthorizationNewParams struct {
	// The authorization amount in cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The identifier of a Card Payment with a `card_authentication` if you want to
	// simulate an authenticated authorization.
	AuthenticatedCardPaymentID param.Field[string] `json:"authenticated_card_payment_id"`
	// The identifier of the Card to be authorized.
	CardID param.Field[string] `json:"card_id"`
	// Forces a card decline with a specific reason. No real time decision will be
	// sent.
	DeclineReason param.Field[SimulationCardAuthorizationNewParamsDeclineReason] `json:"decline_reason"`
	// The identifier of the Digital Wallet Token to be authorized.
	DigitalWalletTokenID param.Field[string] `json:"digital_wallet_token_id"`
	// The identifier of the Event Subscription to use. If provided, will override the
	// default real time event subscription. Because you can only create one real time
	// decision event subscription, you can use this field to route events to any
	// specified event subscription for testing purposes.
	EventSubscriptionID param.Field[string] `json:"event_subscription_id"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID param.Field[string] `json:"merchant_acceptor_id"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode param.Field[string] `json:"merchant_category_code"`
	// The city the merchant resides in.
	MerchantCity param.Field[string] `json:"merchant_city"`
	// The country the merchant resides in.
	MerchantCountry param.Field[string] `json:"merchant_country"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor param.Field[string] `json:"merchant_descriptor"`
	// The state the merchant resides in.
	MerchantState param.Field[string] `json:"merchant_state"`
	// Fields specific to a given card network.
	NetworkDetails param.Field[SimulationCardAuthorizationNewParamsNetworkDetails] `json:"network_details"`
	// The risk score generated by the card network. For Visa this is the Visa Advanced
	// Authorization risk score, from 0 to 99, where 99 is the riskiest.
	NetworkRiskScore param.Field[int64] `json:"network_risk_score"`
	// The identifier of the Physical Card to be authorized.
	PhysicalCardID param.Field[string] `json:"physical_card_id"`
	// Fields specific to a specific type of authorization, such as Automatic Fuel
	// Dispensers, Refund Authorizations, or Cash Disbursements.
	ProcessingCategory param.Field[SimulationCardAuthorizationNewParamsProcessingCategory] `json:"processing_category"`
	// The terminal identifier (commonly abbreviated as TID) of the terminal the card
	// is transacting with.
	TerminalID param.Field[string] `json:"terminal_id"`
}

func (SimulationCardAuthorizationNewParams) MarshalJSON

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

type SimulationCardAuthorizationNewParamsDeclineReason added in v0.116.0

type SimulationCardAuthorizationNewParamsDeclineReason string

Forces a card decline with a specific reason. No real time decision will be sent.

const (
	SimulationCardAuthorizationNewParamsDeclineReasonAccountClosed                SimulationCardAuthorizationNewParamsDeclineReason = "account_closed"
	SimulationCardAuthorizationNewParamsDeclineReasonCardNotActive                SimulationCardAuthorizationNewParamsDeclineReason = "card_not_active"
	SimulationCardAuthorizationNewParamsDeclineReasonCardCanceled                 SimulationCardAuthorizationNewParamsDeclineReason = "card_canceled"
	SimulationCardAuthorizationNewParamsDeclineReasonPhysicalCardNotActive        SimulationCardAuthorizationNewParamsDeclineReason = "physical_card_not_active"
	SimulationCardAuthorizationNewParamsDeclineReasonEntityNotActive              SimulationCardAuthorizationNewParamsDeclineReason = "entity_not_active"
	SimulationCardAuthorizationNewParamsDeclineReasonGroupLocked                  SimulationCardAuthorizationNewParamsDeclineReason = "group_locked"
	SimulationCardAuthorizationNewParamsDeclineReasonInsufficientFunds            SimulationCardAuthorizationNewParamsDeclineReason = "insufficient_funds"
	SimulationCardAuthorizationNewParamsDeclineReasonCvv2Mismatch                 SimulationCardAuthorizationNewParamsDeclineReason = "cvv2_mismatch"
	SimulationCardAuthorizationNewParamsDeclineReasonPinMismatch                  SimulationCardAuthorizationNewParamsDeclineReason = "pin_mismatch"
	SimulationCardAuthorizationNewParamsDeclineReasonCardExpirationMismatch       SimulationCardAuthorizationNewParamsDeclineReason = "card_expiration_mismatch"
	SimulationCardAuthorizationNewParamsDeclineReasonTransactionNotAllowed        SimulationCardAuthorizationNewParamsDeclineReason = "transaction_not_allowed"
	SimulationCardAuthorizationNewParamsDeclineReasonBreachesLimit                SimulationCardAuthorizationNewParamsDeclineReason = "breaches_limit"
	SimulationCardAuthorizationNewParamsDeclineReasonWebhookDeclined              SimulationCardAuthorizationNewParamsDeclineReason = "webhook_declined"
	SimulationCardAuthorizationNewParamsDeclineReasonWebhookTimedOut              SimulationCardAuthorizationNewParamsDeclineReason = "webhook_timed_out"
	SimulationCardAuthorizationNewParamsDeclineReasonDeclinedByStandInProcessing  SimulationCardAuthorizationNewParamsDeclineReason = "declined_by_stand_in_processing"
	SimulationCardAuthorizationNewParamsDeclineReasonInvalidPhysicalCard          SimulationCardAuthorizationNewParamsDeclineReason = "invalid_physical_card"
	SimulationCardAuthorizationNewParamsDeclineReasonMissingOriginalAuthorization SimulationCardAuthorizationNewParamsDeclineReason = "missing_original_authorization"
	SimulationCardAuthorizationNewParamsDeclineReasonFailed3DSAuthentication      SimulationCardAuthorizationNewParamsDeclineReason = "failed_3ds_authentication"
	SimulationCardAuthorizationNewParamsDeclineReasonSuspectedCardTesting         SimulationCardAuthorizationNewParamsDeclineReason = "suspected_card_testing"
	SimulationCardAuthorizationNewParamsDeclineReasonSuspectedFraud               SimulationCardAuthorizationNewParamsDeclineReason = "suspected_fraud"
)

func (SimulationCardAuthorizationNewParamsDeclineReason) IsKnown added in v0.116.0

type SimulationCardAuthorizationNewParamsNetworkDetails added in v0.185.0

type SimulationCardAuthorizationNewParamsNetworkDetails struct {
	// Fields specific to the Visa network.
	Visa param.Field[SimulationCardAuthorizationNewParamsNetworkDetailsVisa] `json:"visa,required"`
}

Fields specific to a given card network.

func (SimulationCardAuthorizationNewParamsNetworkDetails) MarshalJSON added in v0.185.0

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

type SimulationCardAuthorizationNewParamsNetworkDetailsVisa added in v0.185.0

type SimulationCardAuthorizationNewParamsNetworkDetailsVisa struct {
	// The reason code for the stand-in processing.
	StandInProcessingReason param.Field[SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason] `json:"stand_in_processing_reason"`
}

Fields specific to the Visa network.

func (SimulationCardAuthorizationNewParamsNetworkDetailsVisa) MarshalJSON added in v0.185.0

type SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason added in v0.185.0

type SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason string

The reason code for the stand-in processing.

const (
	SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReasonIssuerError                                              SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard                                      SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue         SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReasonInternalVisaError                                        SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReasonPaymentFraudDisruptionAcquirerBlock                      SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason = "payment_fraud_disruption_acquirer_block"
	SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReasonOther                                                    SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason = "other"
)

func (SimulationCardAuthorizationNewParamsNetworkDetailsVisaStandInProcessingReason) IsKnown added in v0.185.0

type SimulationCardAuthorizationNewParamsProcessingCategory added in v0.265.0

type SimulationCardAuthorizationNewParamsProcessingCategory struct {
	// The processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	Category param.Field[SimulationCardAuthorizationNewParamsProcessingCategoryCategory] `json:"category,required"`
}

Fields specific to a specific type of authorization, such as Automatic Fuel Dispensers, Refund Authorizations, or Cash Disbursements.

func (SimulationCardAuthorizationNewParamsProcessingCategory) MarshalJSON added in v0.265.0

type SimulationCardAuthorizationNewParamsProcessingCategoryCategory added in v0.265.0

type SimulationCardAuthorizationNewParamsProcessingCategoryCategory string

The processing category describes the intent behind the authorization, such as whether it was used for bill payments or an automatic fuel dispenser.

const (
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryAccountFunding         SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "account_funding"
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryAutomaticFuelDispenser SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "automatic_fuel_dispenser"
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryBillPayment            SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "bill_payment"
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryOriginalCredit         SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "original_credit"
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryPurchase               SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "purchase"
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryQuasiCash              SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "quasi_cash"
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryRefund                 SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "refund"
	SimulationCardAuthorizationNewParamsProcessingCategoryCategoryCashDisbursement       SimulationCardAuthorizationNewParamsProcessingCategoryCategory = "cash_disbursement"
)

func (SimulationCardAuthorizationNewParamsProcessingCategoryCategory) IsKnown added in v0.265.0

type SimulationCardAuthorizationNewResponse

type SimulationCardAuthorizationNewResponse struct {
	// If the authorization attempt fails, this will contain the resulting
	// [Declined Transaction](#declined-transactions) object. The Declined
	// Transaction's `source` will be of `category: card_decline`.
	DeclinedTransaction DeclinedTransaction `json:"declined_transaction,required,nullable"`
	// If the authorization attempt succeeds, this will contain the resulting Pending
	// Transaction object. The Pending Transaction's `source` will be of
	// `category: card_authorization`.
	PendingTransaction PendingTransaction `json:"pending_transaction,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_card_authorization_simulation_result`.
	Type SimulationCardAuthorizationNewResponseType `json:"type,required"`
	JSON simulationCardAuthorizationNewResponseJSON `json:"-"`
}

The results of a Card Authorization simulation.

func (*SimulationCardAuthorizationNewResponse) UnmarshalJSON

func (r *SimulationCardAuthorizationNewResponse) UnmarshalJSON(data []byte) (err error)

type SimulationCardAuthorizationNewResponseType

type SimulationCardAuthorizationNewResponseType string

A constant representing the object's type. For this resource it will always be `inbound_card_authorization_simulation_result`.

const (
	SimulationCardAuthorizationNewResponseTypeInboundCardAuthorizationSimulationResult SimulationCardAuthorizationNewResponseType = "inbound_card_authorization_simulation_result"
)

func (SimulationCardAuthorizationNewResponseType) IsKnown

type SimulationCardAuthorizationService

type SimulationCardAuthorizationService struct {
	Options []option.RequestOption
}

SimulationCardAuthorizationService contains methods and other services that help with interacting with the increase 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 NewSimulationCardAuthorizationService method instead.

func NewSimulationCardAuthorizationService

func NewSimulationCardAuthorizationService(opts ...option.RequestOption) (r *SimulationCardAuthorizationService)

NewSimulationCardAuthorizationService 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 (*SimulationCardAuthorizationService) New

Simulates a purchase authorization on a Card(#cards). Depending on the balance available to the card and the `amount` submitted, the authorization activity will result in a [Pending Transaction](#pending-transactions) of type `card_authorization` or a [Declined Transaction](#declined-transactions) of type `card_decline`. You can pass either a Card id or a [Digital Wallet Token](#digital-wallet-tokens) id to simulate the two different ways purchases can be made.

type SimulationCardDisputeActionParams

type SimulationCardDisputeActionParams struct {
	// The status to move the dispute to.
	Status param.Field[SimulationCardDisputeActionParamsStatus] `json:"status,required"`
	// Why the dispute was rejected. Not required for accepting disputes.
	Explanation param.Field[string] `json:"explanation"`
}

func (SimulationCardDisputeActionParams) MarshalJSON

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

type SimulationCardDisputeActionParamsStatus

type SimulationCardDisputeActionParamsStatus string

The status to move the dispute to.

const (
	SimulationCardDisputeActionParamsStatusPendingUserInformation SimulationCardDisputeActionParamsStatus = "pending_user_information"
	SimulationCardDisputeActionParamsStatusAccepted               SimulationCardDisputeActionParamsStatus = "accepted"
	SimulationCardDisputeActionParamsStatusRejected               SimulationCardDisputeActionParamsStatus = "rejected"
	SimulationCardDisputeActionParamsStatusLost                   SimulationCardDisputeActionParamsStatus = "lost"
	SimulationCardDisputeActionParamsStatusWon                    SimulationCardDisputeActionParamsStatus = "won"
)

func (SimulationCardDisputeActionParamsStatus) IsKnown

type SimulationCardDisputeService

type SimulationCardDisputeService struct {
	Options []option.RequestOption
}

SimulationCardDisputeService contains methods and other services that help with interacting with the increase 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 NewSimulationCardDisputeService method instead.

func NewSimulationCardDisputeService

func NewSimulationCardDisputeService(opts ...option.RequestOption) (r *SimulationCardDisputeService)

NewSimulationCardDisputeService 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 (*SimulationCardDisputeService) Action

After a [Card Dispute](#card-disputes) is created in production, the dispute will be reviewed. Since no review happens in sandbox, this endpoint simulates moving a Card Dispute into a rejected or accepted state. A Card Dispute can only be actioned one time and must have a status of `pending_reviewing`.

type SimulationCardFuelConfirmationNewParams

type SimulationCardFuelConfirmationNewParams struct {
	// The amount of the fuel_confirmation in minor units in the card authorization's
	// currency.
	Amount param.Field[int64] `json:"amount,required"`
	// The identifier of the Card Payment to create a fuel_confirmation on.
	CardPaymentID param.Field[string] `json:"card_payment_id,required"`
}

func (SimulationCardFuelConfirmationNewParams) MarshalJSON

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

type SimulationCardFuelConfirmationService

type SimulationCardFuelConfirmationService struct {
	Options []option.RequestOption
}

SimulationCardFuelConfirmationService contains methods and other services that help with interacting with the increase 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 NewSimulationCardFuelConfirmationService method instead.

func NewSimulationCardFuelConfirmationService

func NewSimulationCardFuelConfirmationService(opts ...option.RequestOption) (r *SimulationCardFuelConfirmationService)

NewSimulationCardFuelConfirmationService 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 (*SimulationCardFuelConfirmationService) New

Simulates the fuel confirmation of an authorization by a card acquirer. This happens asynchronously right after a fuel pump transaction is completed. A fuel confirmation can only happen once per authorization.

type SimulationCardIncrementNewParams

type SimulationCardIncrementNewParams struct {
	// The amount of the increment in minor units in the card authorization's currency.
	Amount param.Field[int64] `json:"amount,required"`
	// The identifier of the Card Payment to create a increment on.
	CardPaymentID param.Field[string] `json:"card_payment_id,required"`
	// The identifier of the Event Subscription to use. If provided, will override the
	// default real time event subscription. Because you can only create one real time
	// decision event subscription, you can use this field to route events to any
	// specified event subscription for testing purposes.
	EventSubscriptionID param.Field[string] `json:"event_subscription_id"`
}

func (SimulationCardIncrementNewParams) MarshalJSON

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

type SimulationCardIncrementService

type SimulationCardIncrementService struct {
	Options []option.RequestOption
}

SimulationCardIncrementService contains methods and other services that help with interacting with the increase 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 NewSimulationCardIncrementService method instead.

func NewSimulationCardIncrementService

func NewSimulationCardIncrementService(opts ...option.RequestOption) (r *SimulationCardIncrementService)

NewSimulationCardIncrementService 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 (*SimulationCardIncrementService) New

Simulates the increment of an authorization by a card acquirer. An authorization can be incremented multiple times.

type SimulationCardRefundNewParams

type SimulationCardRefundNewParams struct {
	// The identifier for the Transaction to refund. The Transaction's source must have
	// a category of card_settlement.
	TransactionID param.Field[string] `json:"transaction_id,required"`
}

func (SimulationCardRefundNewParams) MarshalJSON

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

type SimulationCardRefundService

type SimulationCardRefundService struct {
	Options []option.RequestOption
}

SimulationCardRefundService contains methods and other services that help with interacting with the increase 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 NewSimulationCardRefundService method instead.

func NewSimulationCardRefundService

func NewSimulationCardRefundService(opts ...option.RequestOption) (r *SimulationCardRefundService)

NewSimulationCardRefundService 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 (*SimulationCardRefundService) New

Simulates refunding a card transaction. The full value of the original sandbox transaction is refunded.

type SimulationCardReversalNewParams

type SimulationCardReversalNewParams struct {
	// The identifier of the Card Payment to create a reversal on.
	CardPaymentID param.Field[string] `json:"card_payment_id,required"`
	// The amount of the reversal in minor units in the card authorization's currency.
	// This defaults to the authorization amount.
	Amount param.Field[int64] `json:"amount"`
}

func (SimulationCardReversalNewParams) MarshalJSON

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

type SimulationCardReversalService

type SimulationCardReversalService struct {
	Options []option.RequestOption
}

SimulationCardReversalService contains methods and other services that help with interacting with the increase 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 NewSimulationCardReversalService method instead.

func NewSimulationCardReversalService

func NewSimulationCardReversalService(opts ...option.RequestOption) (r *SimulationCardReversalService)

NewSimulationCardReversalService 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 (*SimulationCardReversalService) New

Simulates the reversal of an authorization by a card acquirer. An authorization can be partially reversed multiple times, up until the total authorized amount. Marks the pending transaction as complete if the authorization is fully reversed.

type SimulationCardSettlementNewParams

type SimulationCardSettlementNewParams struct {
	// The identifier of the Card to create a settlement on.
	CardID param.Field[string] `json:"card_id,required"`
	// The identifier of the Pending Transaction for the Card Authorization you wish to
	// settle.
	PendingTransactionID param.Field[string] `json:"pending_transaction_id,required"`
	// The amount to be settled. This defaults to the amount of the Pending Transaction
	// being settled.
	Amount param.Field[int64] `json:"amount"`
}

func (SimulationCardSettlementNewParams) MarshalJSON

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

type SimulationCardSettlementService

type SimulationCardSettlementService struct {
	Options []option.RequestOption
}

SimulationCardSettlementService contains methods and other services that help with interacting with the increase 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 NewSimulationCardSettlementService method instead.

func NewSimulationCardSettlementService

func NewSimulationCardSettlementService(opts ...option.RequestOption) (r *SimulationCardSettlementService)

NewSimulationCardSettlementService 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 (*SimulationCardSettlementService) New

Simulates the settlement of an authorization by a card acquirer. After a card authorization is created, the merchant will eventually send a settlement. This simulates that event, which may occur many days after the purchase in production. The amount settled can be different from the amount originally authorized, for example, when adding a tip to a restaurant bill.

type SimulationCheckDepositService

type SimulationCheckDepositService struct {
	Options []option.RequestOption
}

SimulationCheckDepositService contains methods and other services that help with interacting with the increase 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 NewSimulationCheckDepositService method instead.

func NewSimulationCheckDepositService

func NewSimulationCheckDepositService(opts ...option.RequestOption) (r *SimulationCheckDepositService)

NewSimulationCheckDepositService 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 (*SimulationCheckDepositService) Reject

func (r *SimulationCheckDepositService) Reject(ctx context.Context, checkDepositID string, opts ...option.RequestOption) (res *CheckDeposit, err error)

Simulates the rejection of a [Check Deposit](#check-deposits) by Increase due to factors like poor image quality. This Check Deposit must first have a `status` of `pending`.

func (*SimulationCheckDepositService) Return

func (r *SimulationCheckDepositService) Return(ctx context.Context, checkDepositID string, opts ...option.RequestOption) (res *CheckDeposit, err error)

Simulates the return of a [Check Deposit](#check-deposits). This Check Deposit must first have a `status` of `submitted`.

func (*SimulationCheckDepositService) Submit

func (r *SimulationCheckDepositService) Submit(ctx context.Context, checkDepositID string, opts ...option.RequestOption) (res *CheckDeposit, err error)

Simulates the submission of a [Check Deposit](#check-deposits) to the Federal Reserve. This Check Deposit must first have a `status` of `pending`.

type SimulationCheckTransferService

type SimulationCheckTransferService struct {
	Options []option.RequestOption
}

SimulationCheckTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationCheckTransferService method instead.

func NewSimulationCheckTransferService

func NewSimulationCheckTransferService(opts ...option.RequestOption) (r *SimulationCheckTransferService)

NewSimulationCheckTransferService 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 (*SimulationCheckTransferService) Mail

func (r *SimulationCheckTransferService) Mail(ctx context.Context, checkTransferID string, opts ...option.RequestOption) (res *CheckTransfer, err error)

Simulates the mailing of a [Check Transfer](#check-transfers), which happens periodically throughout the day in production but can be sped up in sandbox. This transfer must first have a `status` of `pending_approval` or `pending_submission`.

type SimulationDigitalWalletTokenRequestNewParams

type SimulationDigitalWalletTokenRequestNewParams struct {
	// The identifier of the Card to be authorized.
	CardID param.Field[string] `json:"card_id,required"`
}

func (SimulationDigitalWalletTokenRequestNewParams) MarshalJSON

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

type SimulationDigitalWalletTokenRequestNewResponse

type SimulationDigitalWalletTokenRequestNewResponse struct {
	// If the simulated tokenization attempt was declined, this field contains details
	// as to why.
	DeclineReason SimulationDigitalWalletTokenRequestNewResponseDeclineReason `json:"decline_reason,required,nullable"`
	// If the simulated tokenization attempt was accepted, this field contains the id
	// of the Digital Wallet Token that was created.
	DigitalWalletTokenID string `json:"digital_wallet_token_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_digital_wallet_token_request_simulation_result`.
	Type SimulationDigitalWalletTokenRequestNewResponseType `json:"type,required"`
	JSON simulationDigitalWalletTokenRequestNewResponseJSON `json:"-"`
}

The results of a Digital Wallet Token simulation.

func (*SimulationDigitalWalletTokenRequestNewResponse) UnmarshalJSON

func (r *SimulationDigitalWalletTokenRequestNewResponse) UnmarshalJSON(data []byte) (err error)

type SimulationDigitalWalletTokenRequestNewResponseDeclineReason

type SimulationDigitalWalletTokenRequestNewResponseDeclineReason string

If the simulated tokenization attempt was declined, this field contains details as to why.

const (
	SimulationDigitalWalletTokenRequestNewResponseDeclineReasonCardNotActive        SimulationDigitalWalletTokenRequestNewResponseDeclineReason = "card_not_active"
	SimulationDigitalWalletTokenRequestNewResponseDeclineReasonNoVerificationMethod SimulationDigitalWalletTokenRequestNewResponseDeclineReason = "no_verification_method"
	SimulationDigitalWalletTokenRequestNewResponseDeclineReasonWebhookTimedOut      SimulationDigitalWalletTokenRequestNewResponseDeclineReason = "webhook_timed_out"
	SimulationDigitalWalletTokenRequestNewResponseDeclineReasonWebhookDeclined      SimulationDigitalWalletTokenRequestNewResponseDeclineReason = "webhook_declined"
)

func (SimulationDigitalWalletTokenRequestNewResponseDeclineReason) IsKnown

type SimulationDigitalWalletTokenRequestNewResponseType

type SimulationDigitalWalletTokenRequestNewResponseType string

A constant representing the object's type. For this resource it will always be `inbound_digital_wallet_token_request_simulation_result`.

const (
	SimulationDigitalWalletTokenRequestNewResponseTypeInboundDigitalWalletTokenRequestSimulationResult SimulationDigitalWalletTokenRequestNewResponseType = "inbound_digital_wallet_token_request_simulation_result"
)

func (SimulationDigitalWalletTokenRequestNewResponseType) IsKnown

type SimulationDigitalWalletTokenRequestService

type SimulationDigitalWalletTokenRequestService struct {
	Options []option.RequestOption
}

SimulationDigitalWalletTokenRequestService contains methods and other services that help with interacting with the increase 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 NewSimulationDigitalWalletTokenRequestService method instead.

func NewSimulationDigitalWalletTokenRequestService

func NewSimulationDigitalWalletTokenRequestService(opts ...option.RequestOption) (r *SimulationDigitalWalletTokenRequestService)

NewSimulationDigitalWalletTokenRequestService 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 (*SimulationDigitalWalletTokenRequestService) New

Simulates a user attempting add a Card(#cards) to a digital wallet such as Apple Pay.

type SimulationDocumentNewParams

type SimulationDocumentNewParams struct {
	// The identifier of the Account the tax document is for.
	AccountID param.Field[string] `json:"account_id,required"`
}

func (SimulationDocumentNewParams) MarshalJSON

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

type SimulationDocumentService

type SimulationDocumentService struct {
	Options []option.RequestOption
}

SimulationDocumentService contains methods and other services that help with interacting with the increase 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 NewSimulationDocumentService method instead.

func NewSimulationDocumentService

func NewSimulationDocumentService(opts ...option.RequestOption) (r *SimulationDocumentService)

NewSimulationDocumentService 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 (*SimulationDocumentService) New

Simulates an tax document being created for an account.

type SimulationInboundACHTransferNewParams

type SimulationInboundACHTransferNewParams struct {
	// The identifier of the Account Number the inbound ACH Transfer is for.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
	// The transfer amount in cents. A positive amount originates a credit transfer
	// pushing funds to the receiving account. A negative amount originates a debit
	// transfer pulling funds from the receiving account.
	Amount param.Field[int64] `json:"amount,required"`
	// Additional information to include in the transfer.
	Addenda param.Field[SimulationInboundACHTransferNewParamsAddenda] `json:"addenda"`
	// The description of the date of the transfer.
	CompanyDescriptiveDate param.Field[string] `json:"company_descriptive_date"`
	// Data associated with the transfer set by the sender.
	CompanyDiscretionaryData param.Field[string] `json:"company_discretionary_data"`
	// The description of the transfer set by the sender.
	CompanyEntryDescription param.Field[string] `json:"company_entry_description"`
	// The sender's company ID.
	CompanyID param.Field[string] `json:"company_id"`
	// The name of the sender.
	CompanyName param.Field[string] `json:"company_name"`
	// The ID of the receiver of the transfer.
	ReceiverIDNumber param.Field[string] `json:"receiver_id_number"`
	// The name of the receiver of the transfer.
	ReceiverName param.Field[string] `json:"receiver_name"`
	// The time at which the transfer should be resolved. If not provided will resolve
	// immediately.
	ResolveAt param.Field[time.Time] `json:"resolve_at" format:"date-time"`
	// The standard entry class code for the transfer.
	StandardEntryClassCode param.Field[SimulationInboundACHTransferNewParamsStandardEntryClassCode] `json:"standard_entry_class_code"`
}

func (SimulationInboundACHTransferNewParams) MarshalJSON

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

type SimulationInboundACHTransferNewParamsAddenda added in v0.236.0

type SimulationInboundACHTransferNewParamsAddenda struct {
	// The type of addenda to simulate being sent with the transfer.
	Category param.Field[SimulationInboundACHTransferNewParamsAddendaCategory] `json:"category,required"`
	// Unstructured `payment_related_information` passed through with the transfer.
	Freeform param.Field[SimulationInboundACHTransferNewParamsAddendaFreeform] `json:"freeform"`
}

Additional information to include in the transfer.

func (SimulationInboundACHTransferNewParamsAddenda) MarshalJSON added in v0.236.0

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

type SimulationInboundACHTransferNewParamsAddendaCategory added in v0.236.0

type SimulationInboundACHTransferNewParamsAddendaCategory string

The type of addenda to simulate being sent with the transfer.

const (
	SimulationInboundACHTransferNewParamsAddendaCategoryFreeform SimulationInboundACHTransferNewParamsAddendaCategory = "freeform"
)

func (SimulationInboundACHTransferNewParamsAddendaCategory) IsKnown added in v0.236.0

type SimulationInboundACHTransferNewParamsAddendaFreeform added in v0.236.0

type SimulationInboundACHTransferNewParamsAddendaFreeform struct {
	// Each entry represents an addendum sent with the transfer.
	Entries param.Field[[]SimulationInboundACHTransferNewParamsAddendaFreeformEntry] `json:"entries,required"`
}

Unstructured `payment_related_information` passed through with the transfer.

func (SimulationInboundACHTransferNewParamsAddendaFreeform) MarshalJSON added in v0.236.0

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

type SimulationInboundACHTransferNewParamsAddendaFreeformEntry added in v0.236.0

type SimulationInboundACHTransferNewParamsAddendaFreeformEntry struct {
	// The payment related information passed in the addendum.
	PaymentRelatedInformation param.Field[string] `json:"payment_related_information,required"`
}

func (SimulationInboundACHTransferNewParamsAddendaFreeformEntry) MarshalJSON added in v0.236.0

type SimulationInboundACHTransferNewParamsStandardEntryClassCode

type SimulationInboundACHTransferNewParamsStandardEntryClassCode string

The standard entry class code for the transfer.

const (
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCorporateCreditOrDebit        SimulationInboundACHTransferNewParamsStandardEntryClassCode = "corporate_credit_or_debit"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCorporateTradeExchange        SimulationInboundACHTransferNewParamsStandardEntryClassCode = "corporate_trade_exchange"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodePrearrangedPaymentsAndDeposit SimulationInboundACHTransferNewParamsStandardEntryClassCode = "prearranged_payments_and_deposit"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeInternetInitiated             SimulationInboundACHTransferNewParamsStandardEntryClassCode = "internet_initiated"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodePointOfSale                   SimulationInboundACHTransferNewParamsStandardEntryClassCode = "point_of_sale"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeTelephoneInitiated            SimulationInboundACHTransferNewParamsStandardEntryClassCode = "telephone_initiated"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCustomerInitiated             SimulationInboundACHTransferNewParamsStandardEntryClassCode = "customer_initiated"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeAccountsReceivable            SimulationInboundACHTransferNewParamsStandardEntryClassCode = "accounts_receivable"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeMachineTransfer               SimulationInboundACHTransferNewParamsStandardEntryClassCode = "machine_transfer"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeSharedNetworkTransaction      SimulationInboundACHTransferNewParamsStandardEntryClassCode = "shared_network_transaction"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeRepresentedCheck              SimulationInboundACHTransferNewParamsStandardEntryClassCode = "represented_check"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeBackOfficeConversion          SimulationInboundACHTransferNewParamsStandardEntryClassCode = "back_office_conversion"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodePointOfPurchase               SimulationInboundACHTransferNewParamsStandardEntryClassCode = "point_of_purchase"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCheckTruncation               SimulationInboundACHTransferNewParamsStandardEntryClassCode = "check_truncation"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeDestroyedCheck                SimulationInboundACHTransferNewParamsStandardEntryClassCode = "destroyed_check"
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeInternationalACHTransaction   SimulationInboundACHTransferNewParamsStandardEntryClassCode = "international_ach_transaction"
)

func (SimulationInboundACHTransferNewParamsStandardEntryClassCode) IsKnown

type SimulationInboundACHTransferService

type SimulationInboundACHTransferService struct {
	Options []option.RequestOption
}

SimulationInboundACHTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationInboundACHTransferService method instead.

func NewSimulationInboundACHTransferService

func NewSimulationInboundACHTransferService(opts ...option.RequestOption) (r *SimulationInboundACHTransferService)

NewSimulationInboundACHTransferService 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 (*SimulationInboundACHTransferService) New

Simulates an inbound ACH transfer to your account. This imitates initiating a transfer to an Increase account from a different financial institution. The transfer may be either a credit or a debit depending on if the `amount` is positive or negative. The result of calling this API will contain the created transfer. You can pass a `resolve_at` parameter to allow for a window to [action on the Inbound ACH Transfer](https://increase.com/documentation/receiving-ach-transfers). Alternatively, if you don't pass the `resolve_at` parameter the result will contain either a Transaction(#transactions) or a [Declined Transaction](#declined-transactions) depending on whether or not the transfer is allowed.

type SimulationInboundCheckDepositNewParams

type SimulationInboundCheckDepositNewParams struct {
	// The identifier of the Account Number the Inbound Check Deposit will be against.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
	// The check amount in cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The check number on the check to be deposited.
	CheckNumber param.Field[string] `json:"check_number,required"`
}

func (SimulationInboundCheckDepositNewParams) MarshalJSON

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

type SimulationInboundCheckDepositService

type SimulationInboundCheckDepositService struct {
	Options []option.RequestOption
}

SimulationInboundCheckDepositService contains methods and other services that help with interacting with the increase 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 NewSimulationInboundCheckDepositService method instead.

func NewSimulationInboundCheckDepositService

func NewSimulationInboundCheckDepositService(opts ...option.RequestOption) (r *SimulationInboundCheckDepositService)

NewSimulationInboundCheckDepositService 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 (*SimulationInboundCheckDepositService) New

Simulates an Inbound Check Deposit against your account. This imitates someone depositing a check at their bank that was issued from your account. It may or may not be associated with a Check Transfer. Increase will evaluate the Check Deposit as we would in production and either create a Transaction or a Declined Transaction as a result. You can inspect the resulting Inbound Check Deposit object to see the result.

type SimulationInboundFundsHoldReleaseResponse

type SimulationInboundFundsHoldReleaseResponse struct {
	// The Inbound Funds Hold identifier.
	ID string `json:"id,required"`
	// The held amount in the minor unit of the account's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// When the hold will be released automatically. Certain conditions may cause it to
	// be released before this time.
	AutomaticallyReleasesAt time.Time `json:"automatically_releases_at,required" format:"date-time"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the hold
	// was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's
	// currency.
	Currency SimulationInboundFundsHoldReleaseResponseCurrency `json:"currency,required"`
	// The ID of the Transaction for which funds were held.
	HeldTransactionID string `json:"held_transaction_id,required,nullable"`
	// The ID of the Pending Transaction representing the held funds.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// When the hold was released (if it has been released).
	ReleasedAt time.Time `json:"released_at,required,nullable" format:"date-time"`
	// The status of the hold.
	Status SimulationInboundFundsHoldReleaseResponseStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_funds_hold`.
	Type SimulationInboundFundsHoldReleaseResponseType `json:"type,required"`
	JSON simulationInboundFundsHoldReleaseResponseJSON `json:"-"`
}

We hold funds for certain transaction types to account for return windows where funds might still be clawed back by the sending institution.

func (*SimulationInboundFundsHoldReleaseResponse) UnmarshalJSON

func (r *SimulationInboundFundsHoldReleaseResponse) UnmarshalJSON(data []byte) (err error)

type SimulationInboundFundsHoldReleaseResponseCurrency

type SimulationInboundFundsHoldReleaseResponseCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's currency.

const (
	SimulationInboundFundsHoldReleaseResponseCurrencyCad SimulationInboundFundsHoldReleaseResponseCurrency = "CAD"
	SimulationInboundFundsHoldReleaseResponseCurrencyChf SimulationInboundFundsHoldReleaseResponseCurrency = "CHF"
	SimulationInboundFundsHoldReleaseResponseCurrencyEur SimulationInboundFundsHoldReleaseResponseCurrency = "EUR"
	SimulationInboundFundsHoldReleaseResponseCurrencyGbp SimulationInboundFundsHoldReleaseResponseCurrency = "GBP"
	SimulationInboundFundsHoldReleaseResponseCurrencyJpy SimulationInboundFundsHoldReleaseResponseCurrency = "JPY"
	SimulationInboundFundsHoldReleaseResponseCurrencyUsd SimulationInboundFundsHoldReleaseResponseCurrency = "USD"
)

func (SimulationInboundFundsHoldReleaseResponseCurrency) IsKnown

type SimulationInboundFundsHoldReleaseResponseStatus

type SimulationInboundFundsHoldReleaseResponseStatus string

The status of the hold.

const (
	SimulationInboundFundsHoldReleaseResponseStatusHeld     SimulationInboundFundsHoldReleaseResponseStatus = "held"
	SimulationInboundFundsHoldReleaseResponseStatusComplete SimulationInboundFundsHoldReleaseResponseStatus = "complete"
)

func (SimulationInboundFundsHoldReleaseResponseStatus) IsKnown

type SimulationInboundFundsHoldReleaseResponseType

type SimulationInboundFundsHoldReleaseResponseType string

A constant representing the object's type. For this resource it will always be `inbound_funds_hold`.

const (
	SimulationInboundFundsHoldReleaseResponseTypeInboundFundsHold SimulationInboundFundsHoldReleaseResponseType = "inbound_funds_hold"
)

func (SimulationInboundFundsHoldReleaseResponseType) IsKnown

type SimulationInboundFundsHoldService

type SimulationInboundFundsHoldService struct {
	Options []option.RequestOption
}

SimulationInboundFundsHoldService contains methods and other services that help with interacting with the increase 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 NewSimulationInboundFundsHoldService method instead.

func NewSimulationInboundFundsHoldService

func NewSimulationInboundFundsHoldService(opts ...option.RequestOption) (r *SimulationInboundFundsHoldService)

NewSimulationInboundFundsHoldService 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 (*SimulationInboundFundsHoldService) Release

This endpoint simulates immediately releasing an Inbound Funds Hold, which might be created as a result of e.g., an ACH debit.

type SimulationInboundMailItemNewParams

type SimulationInboundMailItemNewParams struct {
	// The amount of the check to be simulated, in cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The identifier of the Lockbox to simulate inbound mail to.
	LockboxID param.Field[string] `json:"lockbox_id,required"`
	// The file containing the PDF contents. If not present, a default check image file
	// will be used.
	ContentsFileID param.Field[string] `json:"contents_file_id"`
}

func (SimulationInboundMailItemNewParams) MarshalJSON

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

type SimulationInboundMailItemService

type SimulationInboundMailItemService struct {
	Options []option.RequestOption
}

SimulationInboundMailItemService contains methods and other services that help with interacting with the increase 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 NewSimulationInboundMailItemService method instead.

func NewSimulationInboundMailItemService

func NewSimulationInboundMailItemService(opts ...option.RequestOption) (r *SimulationInboundMailItemService)

NewSimulationInboundMailItemService 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 (*SimulationInboundMailItemService) New

Simulates an inbound mail item to your account, as if someone had mailed a physical check to one of your account's Lockboxes.

type SimulationInboundRealTimePaymentsTransferNewParams

type SimulationInboundRealTimePaymentsTransferNewParams struct {
	// The identifier of the Account Number the inbound Real-Time Payments Transfer is
	// for.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
	// The transfer amount in USD cents. Must be positive.
	Amount param.Field[int64] `json:"amount,required"`
	// The account number of the account that sent the transfer.
	DebtorAccountNumber param.Field[string] `json:"debtor_account_number"`
	// The name provided by the sender of the transfer.
	DebtorName param.Field[string] `json:"debtor_name"`
	// The routing number of the account that sent the transfer.
	DebtorRoutingNumber param.Field[string] `json:"debtor_routing_number"`
	// Additional information included with the transfer.
	RemittanceInformation param.Field[string] `json:"remittance_information"`
	// The identifier of a pending Request for Payment that this transfer will fulfill.
	RequestForPaymentID param.Field[string] `json:"request_for_payment_id"`
}

func (SimulationInboundRealTimePaymentsTransferNewParams) MarshalJSON

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

type SimulationInboundRealTimePaymentsTransferService

type SimulationInboundRealTimePaymentsTransferService struct {
	Options []option.RequestOption
}

SimulationInboundRealTimePaymentsTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationInboundRealTimePaymentsTransferService method instead.

func NewSimulationInboundRealTimePaymentsTransferService

func NewSimulationInboundRealTimePaymentsTransferService(opts ...option.RequestOption) (r *SimulationInboundRealTimePaymentsTransferService)

NewSimulationInboundRealTimePaymentsTransferService 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 (*SimulationInboundRealTimePaymentsTransferService) New

Simulates an [Inbound Real-Time Payments Transfer](#inbound-real-time-payments-transfers) to your account. Real-Time Payments are a beta feature.

type SimulationInboundWireDrawdownRequestNewParams

type SimulationInboundWireDrawdownRequestNewParams struct {
	// The amount being requested in cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The drawdown request's beneficiary's account number.
	BeneficiaryAccountNumber param.Field[string] `json:"beneficiary_account_number,required"`
	// The drawdown request's beneficiary's routing number.
	BeneficiaryRoutingNumber param.Field[string] `json:"beneficiary_routing_number,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the amount being
	// requested. Will always be "USD".
	Currency param.Field[string] `json:"currency,required"`
	// A message from the drawdown request's originator.
	MessageToRecipient param.Field[string] `json:"message_to_recipient,required"`
	// The drawdown request's originator's account number.
	OriginatorAccountNumber param.Field[string] `json:"originator_account_number,required"`
	// The drawdown request's originator's routing number.
	OriginatorRoutingNumber param.Field[string] `json:"originator_routing_number,required"`
	// The Account Number to which the recipient of this request is being requested to
	// send funds from.
	RecipientAccountNumberID param.Field[string] `json:"recipient_account_number_id,required"`
	// Line 1 of the drawdown request's beneficiary's address.
	BeneficiaryAddressLine1 param.Field[string] `json:"beneficiary_address_line1"`
	// Line 2 of the drawdown request's beneficiary's address.
	BeneficiaryAddressLine2 param.Field[string] `json:"beneficiary_address_line2"`
	// Line 3 of the drawdown request's beneficiary's address.
	BeneficiaryAddressLine3 param.Field[string] `json:"beneficiary_address_line3"`
	// The drawdown request's beneficiary's name.
	BeneficiaryName param.Field[string] `json:"beneficiary_name"`
	// Line 1 of the drawdown request's originator's address.
	OriginatorAddressLine1 param.Field[string] `json:"originator_address_line1"`
	// Line 2 of the drawdown request's originator's address.
	OriginatorAddressLine2 param.Field[string] `json:"originator_address_line2"`
	// Line 3 of the drawdown request's originator's address.
	OriginatorAddressLine3 param.Field[string] `json:"originator_address_line3"`
	// The drawdown request's originator's name.
	OriginatorName param.Field[string] `json:"originator_name"`
	// Line 1 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine1 param.Field[string] `json:"originator_to_beneficiary_information_line1"`
	// Line 2 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine2 param.Field[string] `json:"originator_to_beneficiary_information_line2"`
	// Line 3 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine3 param.Field[string] `json:"originator_to_beneficiary_information_line3"`
	// Line 4 of the information conveyed from the originator of the message to the
	// beneficiary.
	OriginatorToBeneficiaryInformationLine4 param.Field[string] `json:"originator_to_beneficiary_information_line4"`
}

func (SimulationInboundWireDrawdownRequestNewParams) MarshalJSON

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

type SimulationInboundWireDrawdownRequestService

type SimulationInboundWireDrawdownRequestService struct {
	Options []option.RequestOption
}

SimulationInboundWireDrawdownRequestService contains methods and other services that help with interacting with the increase 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 NewSimulationInboundWireDrawdownRequestService method instead.

func NewSimulationInboundWireDrawdownRequestService

func NewSimulationInboundWireDrawdownRequestService(opts ...option.RequestOption) (r *SimulationInboundWireDrawdownRequestService)

NewSimulationInboundWireDrawdownRequestService 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 (*SimulationInboundWireDrawdownRequestService) New

Simulates receiving an [Inbound Wire Drawdown Request](#inbound-wire-drawdown-requests).

type SimulationInboundWireTransferNewParams

type SimulationInboundWireTransferNewParams struct {
	// The identifier of the Account Number the inbound Wire Transfer is for.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
	// The transfer amount in cents. Must be positive.
	Amount param.Field[int64] `json:"amount,required"`
	// The sending bank will set beneficiary_address_line1 in production. You can
	// simulate any value here.
	BeneficiaryAddressLine1 param.Field[string] `json:"beneficiary_address_line1"`
	// The sending bank will set beneficiary_address_line2 in production. You can
	// simulate any value here.
	BeneficiaryAddressLine2 param.Field[string] `json:"beneficiary_address_line2"`
	// The sending bank will set beneficiary_address_line3 in production. You can
	// simulate any value here.
	BeneficiaryAddressLine3 param.Field[string] `json:"beneficiary_address_line3"`
	// The sending bank will set beneficiary_name in production. You can simulate any
	// value here.
	BeneficiaryName param.Field[string] `json:"beneficiary_name"`
	// The sending bank will set beneficiary_reference in production. You can simulate
	// any value here.
	BeneficiaryReference param.Field[string] `json:"beneficiary_reference"`
	// The sending bank will set originator_address_line1 in production. You can
	// simulate any value here.
	OriginatorAddressLine1 param.Field[string] `json:"originator_address_line1"`
	// The sending bank will set originator_address_line2 in production. You can
	// simulate any value here.
	OriginatorAddressLine2 param.Field[string] `json:"originator_address_line2"`
	// The sending bank will set originator_address_line3 in production. You can
	// simulate any value here.
	OriginatorAddressLine3 param.Field[string] `json:"originator_address_line3"`
	// The sending bank will set originator_name in production. You can simulate any
	// value here.
	OriginatorName param.Field[string] `json:"originator_name"`
	// The sending bank will set originator_routing_number in production. You can
	// simulate any value here.
	OriginatorRoutingNumber param.Field[string] `json:"originator_routing_number"`
	// The sending bank will set originator_to_beneficiary_information_line1 in
	// production. You can simulate any value here.
	OriginatorToBeneficiaryInformationLine1 param.Field[string] `json:"originator_to_beneficiary_information_line1"`
	// The sending bank will set originator_to_beneficiary_information_line2 in
	// production. You can simulate any value here.
	OriginatorToBeneficiaryInformationLine2 param.Field[string] `json:"originator_to_beneficiary_information_line2"`
	// The sending bank will set originator_to_beneficiary_information_line3 in
	// production. You can simulate any value here.
	OriginatorToBeneficiaryInformationLine3 param.Field[string] `json:"originator_to_beneficiary_information_line3"`
	// The sending bank will set originator_to_beneficiary_information_line4 in
	// production. You can simulate any value here.
	OriginatorToBeneficiaryInformationLine4 param.Field[string] `json:"originator_to_beneficiary_information_line4"`
	// The sending bank will set sender_reference in production. You can simulate any
	// value here.
	SenderReference param.Field[string] `json:"sender_reference"`
	// The identifier of a Wire Drawdown Request the inbound Wire Transfer is
	// fulfilling.
	WireDrawdownRequestID param.Field[string] `json:"wire_drawdown_request_id"`
}

func (SimulationInboundWireTransferNewParams) MarshalJSON

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

type SimulationInboundWireTransferService

type SimulationInboundWireTransferService struct {
	Options []option.RequestOption
}

SimulationInboundWireTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationInboundWireTransferService method instead.

func NewSimulationInboundWireTransferService

func NewSimulationInboundWireTransferService(opts ...option.RequestOption) (r *SimulationInboundWireTransferService)

NewSimulationInboundWireTransferService 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 (*SimulationInboundWireTransferService) New

Simulates an [Inbound Wire Transfer](#inbound-wire-transfers) to your account.

type SimulationInterestPaymentNewParams

type SimulationInterestPaymentNewParams struct {
	// The identifier of the Account the Interest Payment should be paid to is for.
	AccountID param.Field[string] `json:"account_id,required"`
	// The interest amount in cents. Must be positive.
	Amount param.Field[int64] `json:"amount,required"`
	// The identifier of the Account the Interest accrued on. Defaults to `account_id`.
	AccruedOnAccountID param.Field[string] `json:"accrued_on_account_id"`
	// The end of the interest period. If not provided, defaults to the current time.
	PeriodEnd param.Field[time.Time] `json:"period_end" format:"date-time"`
	// The start of the interest period. If not provided, defaults to the current time.
	PeriodStart param.Field[time.Time] `json:"period_start" format:"date-time"`
}

func (SimulationInterestPaymentNewParams) MarshalJSON

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

type SimulationInterestPaymentService

type SimulationInterestPaymentService struct {
	Options []option.RequestOption
}

SimulationInterestPaymentService contains methods and other services that help with interacting with the increase 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 NewSimulationInterestPaymentService method instead.

func NewSimulationInterestPaymentService

func NewSimulationInterestPaymentService(opts ...option.RequestOption) (r *SimulationInterestPaymentService)

NewSimulationInterestPaymentService 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 (*SimulationInterestPaymentService) New

Simulates an interest payment to your account. In production, this happens automatically on the first of each month.

type SimulationPhysicalCardAdvanceShipmentParams

type SimulationPhysicalCardAdvanceShipmentParams struct {
	// The shipment status to move the Physical Card to.
	ShipmentStatus param.Field[SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus] `json:"shipment_status,required"`
}

func (SimulationPhysicalCardAdvanceShipmentParams) MarshalJSON

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

type SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus

type SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus string

The shipment status to move the Physical Card to.

const (
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusPending           SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "pending"
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusCanceled          SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "canceled"
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusSubmitted         SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "submitted"
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusAcknowledged      SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "acknowledged"
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusRejected          SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "rejected"
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusShipped           SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "shipped"
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusReturned          SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "returned"
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusRequiresAttention SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "requires_attention"
)

func (SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus) IsKnown

type SimulationPhysicalCardService

type SimulationPhysicalCardService struct {
	Options []option.RequestOption
}

SimulationPhysicalCardService contains methods and other services that help with interacting with the increase 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 NewSimulationPhysicalCardService method instead.

func NewSimulationPhysicalCardService

func NewSimulationPhysicalCardService(opts ...option.RequestOption) (r *SimulationPhysicalCardService)

NewSimulationPhysicalCardService 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 (*SimulationPhysicalCardService) AdvanceShipment

This endpoint allows you to simulate advancing the shipment status of a Physical Card, to simulate e.g., that a physical card was attempted shipped but then failed delivery.

func (*SimulationPhysicalCardService) TrackingUpdates added in v0.238.0

This endpoint allows you to simulate receiving a tracking update for a Physical Card, to simulate the progress of a shipment.

type SimulationPhysicalCardTrackingUpdatesParams added in v0.238.0

type SimulationPhysicalCardTrackingUpdatesParams struct {
	// The type of tracking event.
	Category param.Field[SimulationPhysicalCardTrackingUpdatesParamsCategory] `json:"category,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time when the
	// carrier expects the card to be delivered.
	CarrierEstimatedDeliveryAt param.Field[time.Time] `json:"carrier_estimated_delivery_at" format:"date-time"`
	// The city where the event took place.
	City param.Field[string] `json:"city"`
	// The postal code where the event took place.
	PostalCode param.Field[string] `json:"postal_code"`
	// The state where the event took place.
	State param.Field[string] `json:"state"`
}

func (SimulationPhysicalCardTrackingUpdatesParams) MarshalJSON added in v0.238.0

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

type SimulationPhysicalCardTrackingUpdatesParamsCategory added in v0.238.0

type SimulationPhysicalCardTrackingUpdatesParamsCategory string

The type of tracking event.

const (
	SimulationPhysicalCardTrackingUpdatesParamsCategoryInTransit            SimulationPhysicalCardTrackingUpdatesParamsCategory = "in_transit"
	SimulationPhysicalCardTrackingUpdatesParamsCategoryProcessedForDelivery SimulationPhysicalCardTrackingUpdatesParamsCategory = "processed_for_delivery"
	SimulationPhysicalCardTrackingUpdatesParamsCategoryDelivered            SimulationPhysicalCardTrackingUpdatesParamsCategory = "delivered"
	SimulationPhysicalCardTrackingUpdatesParamsCategoryReturnedToSender     SimulationPhysicalCardTrackingUpdatesParamsCategory = "returned_to_sender"
)

func (SimulationPhysicalCardTrackingUpdatesParamsCategory) IsKnown added in v0.238.0

type SimulationProgramNewParams

type SimulationProgramNewParams struct {
	// The name of the program being added.
	Name param.Field[string] `json:"name,required"`
	// The bank for the program's accounts, defaults to First Internet Bank.
	Bank param.Field[SimulationProgramNewParamsBank] `json:"bank"`
	// The identifier of the Account the Program should be added to is for.
	ReserveAccountID param.Field[string] `json:"reserve_account_id"`
}

func (SimulationProgramNewParams) MarshalJSON

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

type SimulationProgramNewParamsBank added in v0.260.0

type SimulationProgramNewParamsBank string

The bank for the program's accounts, defaults to First Internet Bank.

const (
	SimulationProgramNewParamsBankBlueRidgeBank         SimulationProgramNewParamsBank = "blue_ridge_bank"
	SimulationProgramNewParamsBankCoreBank              SimulationProgramNewParamsBank = "core_bank"
	SimulationProgramNewParamsBankFirstInternetBank     SimulationProgramNewParamsBank = "first_internet_bank"
	SimulationProgramNewParamsBankGlobalInnovationsBank SimulationProgramNewParamsBank = "global_innovations_bank"
	SimulationProgramNewParamsBankGrasshopperBank       SimulationProgramNewParamsBank = "grasshopper_bank"
)

func (SimulationProgramNewParamsBank) IsKnown added in v0.260.0

type SimulationProgramService

type SimulationProgramService struct {
	Options []option.RequestOption
}

SimulationProgramService contains methods and other services that help with interacting with the increase 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 NewSimulationProgramService method instead.

func NewSimulationProgramService

func NewSimulationProgramService(opts ...option.RequestOption) (r *SimulationProgramService)

NewSimulationProgramService 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 (*SimulationProgramService) New

Simulates a Program(#programs) being created in your group. By default, your group has one program called Commercial Banking. Note that when your group operates more than one program, `program_id` is a required field when creating accounts.

type SimulationRealTimePaymentsTransferCompleteParams

type SimulationRealTimePaymentsTransferCompleteParams struct {
	// If set, the simulation will reject the transfer.
	Rejection param.Field[SimulationRealTimePaymentsTransferCompleteParamsRejection] `json:"rejection"`
}

func (SimulationRealTimePaymentsTransferCompleteParams) MarshalJSON

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

type SimulationRealTimePaymentsTransferCompleteParamsRejection

type SimulationRealTimePaymentsTransferCompleteParamsRejection struct {
	// The reason code that the simulated rejection will have.
	RejectReasonCode param.Field[SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode] `json:"reject_reason_code,required"`
}

If set, the simulation will reject the transfer.

func (SimulationRealTimePaymentsTransferCompleteParamsRejection) MarshalJSON

type SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode

type SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode string

The reason code that the simulated rejection will have.

const (
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeAccountClosed                                 SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "account_closed"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeAccountBlocked                                SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "account_blocked"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorAccountType                    SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_account_type"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorAccountNumber                  SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_account_number"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorFinancialInstitutionIdentifier SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_financial_institution_identifier"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeEndCustomerDeceased                           SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "end_customer_deceased"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeNarrative                                     SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "narrative"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeTransactionForbidden                          SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "transaction_forbidden"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeTransactionTypeNotSupported                   SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "transaction_type_not_supported"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeUnexpectedAmount                              SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "unexpected_amount"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeAmountExceedsBankLimits                       SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "amount_exceeds_bank_limits"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorAddress                        SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_address"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeUnknownEndCustomer                            SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "unknown_end_customer"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidDebtorAddress                          SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_debtor_address"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeTimeout                                       SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "timeout"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeUnsupportedMessageForRecipient                SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "unsupported_message_for_recipient"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeRecipientConnectionNotAvailable               SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "recipient_connection_not_available"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeRealTimePaymentsSuspended                     SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "real_time_payments_suspended"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInstructedAgentSignedOff                      SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "instructed_agent_signed_off"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeProcessingError                               SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "processing_error"
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeOther                                         SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "other"
)

func (SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode) IsKnown

type SimulationRealTimePaymentsTransferService

type SimulationRealTimePaymentsTransferService struct {
	Options []option.RequestOption
}

SimulationRealTimePaymentsTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationRealTimePaymentsTransferService method instead.

func NewSimulationRealTimePaymentsTransferService

func NewSimulationRealTimePaymentsTransferService(opts ...option.RequestOption) (r *SimulationRealTimePaymentsTransferService)

NewSimulationRealTimePaymentsTransferService 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 (*SimulationRealTimePaymentsTransferService) Complete

Simulates submission of a [Real-Time Payments Transfer](#real-time-payments-transfers) and handling the response from the destination financial institution. This transfer must first have a `status` of `pending_submission`.

type SimulationService

type SimulationService struct {
	Options                          []option.RequestOption
	InterestPayments                 *SimulationInterestPaymentService
	CardAuthorizations               *SimulationCardAuthorizationService
	CardAuthorizationExpirations     *SimulationCardAuthorizationExpirationService
	CardSettlements                  *SimulationCardSettlementService
	CardReversals                    *SimulationCardReversalService
	CardIncrements                   *SimulationCardIncrementService
	CardFuelConfirmations            *SimulationCardFuelConfirmationService
	CardRefunds                      *SimulationCardRefundService
	CardDisputes                     *SimulationCardDisputeService
	PhysicalCards                    *SimulationPhysicalCardService
	DigitalWalletTokenRequests       *SimulationDigitalWalletTokenRequestService
	InboundFundsHolds                *SimulationInboundFundsHoldService
	AccountTransfers                 *SimulationAccountTransferService
	ACHTransfers                     *SimulationACHTransferService
	InboundACHTransfers              *SimulationInboundACHTransferService
	WireTransfers                    *SimulationWireTransferService
	InboundWireTransfers             *SimulationInboundWireTransferService
	WireDrawdownRequests             *SimulationWireDrawdownRequestService
	InboundWireDrawdownRequests      *SimulationInboundWireDrawdownRequestService
	CheckTransfers                   *SimulationCheckTransferService
	InboundCheckDeposits             *SimulationInboundCheckDepositService
	RealTimePaymentsTransfers        *SimulationRealTimePaymentsTransferService
	InboundRealTimePaymentsTransfers *SimulationInboundRealTimePaymentsTransferService
	CheckDeposits                    *SimulationCheckDepositService
	InboundMailItems                 *SimulationInboundMailItemService
	Programs                         *SimulationProgramService
	AccountStatements                *SimulationAccountStatementService
	Documents                        *SimulationDocumentService
}

SimulationService contains methods and other services that help with interacting with the increase 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 NewSimulationService method instead.

func NewSimulationService

func NewSimulationService(opts ...option.RequestOption) (r *SimulationService)

NewSimulationService 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 SimulationWireDrawdownRequestService added in v0.258.0

type SimulationWireDrawdownRequestService struct {
	Options []option.RequestOption
}

SimulationWireDrawdownRequestService contains methods and other services that help with interacting with the increase 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 NewSimulationWireDrawdownRequestService method instead.

func NewSimulationWireDrawdownRequestService added in v0.258.0

func NewSimulationWireDrawdownRequestService(opts ...option.RequestOption) (r *SimulationWireDrawdownRequestService)

NewSimulationWireDrawdownRequestService 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 (*SimulationWireDrawdownRequestService) Refuse added in v0.258.0

func (r *SimulationWireDrawdownRequestService) Refuse(ctx context.Context, wireDrawdownRequestID string, opts ...option.RequestOption) (res *WireDrawdownRequest, err error)

Simulates a Wire Drawdown Request being refused by the debtor.

type SimulationWireTransferService

type SimulationWireTransferService struct {
	Options []option.RequestOption
}

SimulationWireTransferService contains methods and other services that help with interacting with the increase 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 NewSimulationWireTransferService method instead.

func NewSimulationWireTransferService

func NewSimulationWireTransferService(opts ...option.RequestOption) (r *SimulationWireTransferService)

NewSimulationWireTransferService 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 (*SimulationWireTransferService) Reverse

func (r *SimulationWireTransferService) Reverse(ctx context.Context, wireTransferID string, opts ...option.RequestOption) (res *WireTransfer, err error)

Simulates the reversal of a [Wire Transfer](#wire-transfers) by the Federal Reserve due to error conditions. This will also create a Transaction(#transaction) to account for the returned funds. This Wire Transfer must first have a `status` of `complete`.

func (*SimulationWireTransferService) Submit

func (r *SimulationWireTransferService) Submit(ctx context.Context, wireTransferID string, opts ...option.RequestOption) (res *WireTransfer, err error)

Simulates the submission of a [Wire Transfer](#wire-transfers) to the Federal Reserve. This transfer must first have a `status` of `pending_approval` or `pending_creating`.

type SupplementalDocumentListParams

type SupplementalDocumentListParams struct {
	// The identifier of the Entity to list supplemental documents for.
	EntityID param.Field[string] `query:"entity_id,required"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (SupplementalDocumentListParams) URLQuery

func (r SupplementalDocumentListParams) URLQuery() (v url.Values)

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

type SupplementalDocumentNewParams

type SupplementalDocumentNewParams struct {
	// The identifier of the Entity to associate with the supplemental document.
	EntityID param.Field[string] `json:"entity_id,required"`
	// The identifier of the File containing the document.
	FileID param.Field[string] `json:"file_id,required"`
}

func (SupplementalDocumentNewParams) MarshalJSON

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

type SupplementalDocumentService

type SupplementalDocumentService struct {
	Options []option.RequestOption
}

SupplementalDocumentService contains methods and other services that help with interacting with the increase 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 NewSupplementalDocumentService method instead.

func NewSupplementalDocumentService

func NewSupplementalDocumentService(opts ...option.RequestOption) (r *SupplementalDocumentService)

NewSupplementalDocumentService 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 (*SupplementalDocumentService) List

List Entity Supplemental Document Submissions

func (*SupplementalDocumentService) ListAutoPaging

List Entity Supplemental Document Submissions

func (*SupplementalDocumentService) New

Create a supplemental document for an Entity

type Transaction

type Transaction struct {
	// The Transaction identifier.
	ID string `json:"id,required"`
	// The identifier for the Account the Transaction belongs to.
	AccountID string `json:"account_id,required"`
	// The Transaction amount in the minor unit of its currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date on which the
	// Transaction occurred.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// Transaction's currency. This will match the currency on the Transaction's
	// Account.
	Currency TransactionCurrency `json:"currency,required"`
	// An informational message describing this transaction. Use the fields in `source`
	// to get more detailed information. This field appears as the line-item on the
	// statement.
	Description string `json:"description,required"`
	// The identifier for the route this Transaction came through. Routes are things
	// like cards and ACH details.
	RouteID string `json:"route_id,required,nullable"`
	// The type of the route this Transaction came through.
	RouteType TransactionRouteType `json:"route_type,required,nullable"`
	// This is an object giving more details on the network-level event that caused the
	// Transaction. Note that for backwards compatibility reasons, additional
	// undocumented keys may appear in this object. These should be treated as
	// deprecated and will be removed in the future.
	Source TransactionSource `json:"source,required"`
	// A constant representing the object's type. For this resource it will always be
	// `transaction`.
	Type TransactionType `json:"type,required"`
	JSON transactionJSON `json:"-"`
}

Transactions are the immutable additions and removals of money from your bank account. They're the equivalent of line items on your bank statement. To learn more, see [Transactions and Transfers](/documentation/transactions-transfers).

func (*Transaction) UnmarshalJSON

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

type TransactionCurrency

type TransactionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Transaction's currency. This will match the currency on the Transaction's Account.

const (
	TransactionCurrencyCad TransactionCurrency = "CAD"
	TransactionCurrencyChf TransactionCurrency = "CHF"
	TransactionCurrencyEur TransactionCurrency = "EUR"
	TransactionCurrencyGbp TransactionCurrency = "GBP"
	TransactionCurrencyJpy TransactionCurrency = "JPY"
	TransactionCurrencyUsd TransactionCurrency = "USD"
)

func (TransactionCurrency) IsKnown

func (r TransactionCurrency) IsKnown() bool

type TransactionListParams

type TransactionListParams struct {
	// Filter Transactions for those belonging to the specified Account.
	AccountID param.Field[string]                         `query:"account_id"`
	Category  param.Field[TransactionListParamsCategory]  `query:"category"`
	CreatedAt param.Field[TransactionListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
	// Filter Transactions for those belonging to the specified route. This could be a
	// Card ID or an Account Number ID.
	RouteID param.Field[string] `query:"route_id"`
}

func (TransactionListParams) URLQuery

func (r TransactionListParams) URLQuery() (v url.Values)

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

type TransactionListParamsCategory

type TransactionListParamsCategory struct {
	// Return results whose value is in the provided list. For GET requests, this
	// should be encoded as a comma-delimited string, such as `?in=one,two,three`.
	In param.Field[[]TransactionListParamsCategoryIn] `query:"in"`
}

func (TransactionListParamsCategory) URLQuery

func (r TransactionListParamsCategory) URLQuery() (v url.Values)

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

type TransactionListParamsCategoryIn

type TransactionListParamsCategoryIn string
const (
	TransactionListParamsCategoryInAccountTransferIntention                    TransactionListParamsCategoryIn = "account_transfer_intention"
	TransactionListParamsCategoryInACHTransferIntention                        TransactionListParamsCategoryIn = "ach_transfer_intention"
	TransactionListParamsCategoryInACHTransferRejection                        TransactionListParamsCategoryIn = "ach_transfer_rejection"
	TransactionListParamsCategoryInACHTransferReturn                           TransactionListParamsCategoryIn = "ach_transfer_return"
	TransactionListParamsCategoryInCashbackPayment                             TransactionListParamsCategoryIn = "cashback_payment"
	TransactionListParamsCategoryInCardDisputeAcceptance                       TransactionListParamsCategoryIn = "card_dispute_acceptance"
	TransactionListParamsCategoryInCardDisputeLoss                             TransactionListParamsCategoryIn = "card_dispute_loss"
	TransactionListParamsCategoryInCardRefund                                  TransactionListParamsCategoryIn = "card_refund"
	TransactionListParamsCategoryInCardSettlement                              TransactionListParamsCategoryIn = "card_settlement"
	TransactionListParamsCategoryInCardRevenuePayment                          TransactionListParamsCategoryIn = "card_revenue_payment"
	TransactionListParamsCategoryInCheckDepositAcceptance                      TransactionListParamsCategoryIn = "check_deposit_acceptance"
	TransactionListParamsCategoryInCheckDepositReturn                          TransactionListParamsCategoryIn = "check_deposit_return"
	TransactionListParamsCategoryInCheckTransferDeposit                        TransactionListParamsCategoryIn = "check_transfer_deposit"
	TransactionListParamsCategoryInFeePayment                                  TransactionListParamsCategoryIn = "fee_payment"
	TransactionListParamsCategoryInInboundACHTransfer                          TransactionListParamsCategoryIn = "inbound_ach_transfer"
	TransactionListParamsCategoryInInboundACHTransferReturnIntention           TransactionListParamsCategoryIn = "inbound_ach_transfer_return_intention"
	TransactionListParamsCategoryInInboundCheckDepositReturnIntention          TransactionListParamsCategoryIn = "inbound_check_deposit_return_intention"
	TransactionListParamsCategoryInInboundCheckAdjustment                      TransactionListParamsCategoryIn = "inbound_check_adjustment"
	TransactionListParamsCategoryInInboundRealTimePaymentsTransferConfirmation TransactionListParamsCategoryIn = "inbound_real_time_payments_transfer_confirmation"
	TransactionListParamsCategoryInInboundRealTimePaymentsTransferDecline      TransactionListParamsCategoryIn = "inbound_real_time_payments_transfer_decline"
	TransactionListParamsCategoryInInboundWireReversal                         TransactionListParamsCategoryIn = "inbound_wire_reversal"
	TransactionListParamsCategoryInInboundWireTransfer                         TransactionListParamsCategoryIn = "inbound_wire_transfer"
	TransactionListParamsCategoryInInboundWireTransferReversal                 TransactionListParamsCategoryIn = "inbound_wire_transfer_reversal"
	TransactionListParamsCategoryInInterestPayment                             TransactionListParamsCategoryIn = "interest_payment"
	TransactionListParamsCategoryInInternalSource                              TransactionListParamsCategoryIn = "internal_source"
	TransactionListParamsCategoryInRealTimePaymentsTransferAcknowledgement     TransactionListParamsCategoryIn = "real_time_payments_transfer_acknowledgement"
	TransactionListParamsCategoryInSampleFunds                                 TransactionListParamsCategoryIn = "sample_funds"
	TransactionListParamsCategoryInWireTransferIntention                       TransactionListParamsCategoryIn = "wire_transfer_intention"
	TransactionListParamsCategoryInSwiftTransferIntention                      TransactionListParamsCategoryIn = "swift_transfer_intention"
	TransactionListParamsCategoryInCardPushTransferAcceptance                  TransactionListParamsCategoryIn = "card_push_transfer_acceptance"
	TransactionListParamsCategoryInOther                                       TransactionListParamsCategoryIn = "other"
)

func (TransactionListParamsCategoryIn) IsKnown

type TransactionListParamsCreatedAt

type TransactionListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (TransactionListParamsCreatedAt) URLQuery

func (r TransactionListParamsCreatedAt) URLQuery() (v url.Values)

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

type TransactionRouteType

type TransactionRouteType string

The type of the route this Transaction came through.

const (
	TransactionRouteTypeAccountNumber TransactionRouteType = "account_number"
	TransactionRouteTypeCard          TransactionRouteType = "card"
	TransactionRouteTypeLockbox       TransactionRouteType = "lockbox"
)

func (TransactionRouteType) IsKnown

func (r TransactionRouteType) IsKnown() bool

type TransactionService

type TransactionService struct {
	Options []option.RequestOption
}

TransactionService contains methods and other services that help with interacting with the increase 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 NewTransactionService method instead.

func NewTransactionService

func NewTransactionService(opts ...option.RequestOption) (r *TransactionService)

NewTransactionService 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 (*TransactionService) Get

func (r *TransactionService) Get(ctx context.Context, transactionID string, opts ...option.RequestOption) (res *Transaction, err error)

Retrieve a Transaction

func (*TransactionService) List

List Transactions

func (*TransactionService) ListAutoPaging

List Transactions

type TransactionSource

type TransactionSource struct {
	// An Account Transfer Intention object. This field will be present in the JSON
	// response if and only if `category` is equal to `account_transfer_intention`. Two
	// Account Transfer Intentions are created from each Account Transfer. One
	// decrements the source account, and the other increments the destination account.
	AccountTransferIntention TransactionSourceAccountTransferIntention `json:"account_transfer_intention,required,nullable"`
	// An ACH Transfer Intention object. This field will be present in the JSON
	// response if and only if `category` is equal to `ach_transfer_intention`. An ACH
	// Transfer Intention is created from an ACH Transfer. It reflects the intention to
	// move money into or out of an Increase account via the ACH network.
	ACHTransferIntention TransactionSourceACHTransferIntention `json:"ach_transfer_intention,required,nullable"`
	// An ACH Transfer Rejection object. This field will be present in the JSON
	// response if and only if `category` is equal to `ach_transfer_rejection`. An ACH
	// Transfer Rejection is created when an ACH Transfer is rejected by Increase. It
	// offsets the ACH Transfer Intention. These rejections are rare.
	ACHTransferRejection TransactionSourceACHTransferRejection `json:"ach_transfer_rejection,required,nullable"`
	// An ACH Transfer Return object. This field will be present in the JSON response
	// if and only if `category` is equal to `ach_transfer_return`. An ACH Transfer
	// Return is created when an ACH Transfer is returned by the receiving bank. It
	// offsets the ACH Transfer Intention. ACH Transfer Returns usually occur within
	// the first two business days after the transfer is initiated, but can occur much
	// later.
	ACHTransferReturn TransactionSourceACHTransferReturn `json:"ach_transfer_return,required,nullable"`
	// A Card Dispute Acceptance object. This field will be present in the JSON
	// response if and only if `category` is equal to `card_dispute_acceptance`.
	// Contains the details of a successful Card Dispute.
	CardDisputeAcceptance TransactionSourceCardDisputeAcceptance `json:"card_dispute_acceptance,required,nullable"`
	// A Card Dispute Loss object. This field will be present in the JSON response if
	// and only if `category` is equal to `card_dispute_loss`. Contains the details of
	// a lost Card Dispute.
	CardDisputeLoss TransactionSourceCardDisputeLoss `json:"card_dispute_loss,required,nullable"`
	// A Card Push Transfer Acceptance object. This field will be present in the JSON
	// response if and only if `category` is equal to `card_push_transfer_acceptance`.
	// A Card Push Transfer Acceptance is created when an Outbound Card Push Transfer
	// sent from Increase is accepted by the receiving bank.
	CardPushTransferAcceptance TransactionSourceCardPushTransferAcceptance `json:"card_push_transfer_acceptance,required,nullable"`
	// A Card Refund object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_refund`. Card Refunds move money back to
	// the cardholder. While they are usually connected to a Card Settlement an
	// acquirer can also refund money directly to a card without relation to a
	// transaction.
	CardRefund TransactionSourceCardRefund `json:"card_refund,required,nullable"`
	// A Card Revenue Payment object. This field will be present in the JSON response
	// if and only if `category` is equal to `card_revenue_payment`. Card Revenue
	// Payments reflect earnings from fees on card transactions.
	CardRevenuePayment TransactionSourceCardRevenuePayment `json:"card_revenue_payment,required,nullable"`
	// A Card Settlement object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_settlement`. Card Settlements are card
	// transactions that have cleared and settled. While a settlement is usually
	// preceded by an authorization, an acquirer can also directly clear a transaction
	// without first authorizing it.
	CardSettlement TransactionSourceCardSettlement `json:"card_settlement,required,nullable"`
	// A Cashback Payment object. This field will be present in the JSON response if
	// and only if `category` is equal to `cashback_payment`. A Cashback Payment
	// represents the cashback paid to a cardholder for a given period. Cashback is
	// usually paid monthly for the prior month's transactions.
	CashbackPayment TransactionSourceCashbackPayment `json:"cashback_payment,required,nullable"`
	// The type of the resource. We may add additional possible values for this enum
	// over time; your application should be able to handle such additions gracefully.
	Category TransactionSourceCategory `json:"category,required"`
	// A Check Deposit Acceptance object. This field will be present in the JSON
	// response if and only if `category` is equal to `check_deposit_acceptance`. A
	// Check Deposit Acceptance is created when a Check Deposit is processed and its
	// details confirmed. Check Deposits may be returned by the receiving bank, which
	// will appear as a Check Deposit Return.
	CheckDepositAcceptance TransactionSourceCheckDepositAcceptance `json:"check_deposit_acceptance,required,nullable"`
	// A Check Deposit Return object. This field will be present in the JSON response
	// if and only if `category` is equal to `check_deposit_return`. A Check Deposit
	// Return is created when a Check Deposit is returned by the bank holding the
	// account it was drawn against. Check Deposits may be returned for a variety of
	// reasons, including insufficient funds or a mismatched account number. Usually,
	// checks are returned within the first 7 days after the deposit is made.
	CheckDepositReturn TransactionSourceCheckDepositReturn `json:"check_deposit_return,required,nullable"`
	// A Check Transfer Deposit object. This field will be present in the JSON response
	// if and only if `category` is equal to `check_transfer_deposit`. An Inbound Check
	// is a check drawn on an Increase account that has been deposited by an external
	// bank account. These types of checks are not pre-registered.
	CheckTransferDeposit TransactionSourceCheckTransferDeposit `json:"check_transfer_deposit,required,nullable"`
	// A Fee Payment object. This field will be present in the JSON response if and
	// only if `category` is equal to `fee_payment`. A Fee Payment represents a payment
	// made to Increase.
	FeePayment TransactionSourceFeePayment `json:"fee_payment,required,nullable"`
	// An Inbound ACH Transfer Intention object. This field will be present in the JSON
	// response if and only if `category` is equal to `inbound_ach_transfer`. An
	// Inbound ACH Transfer Intention is created when an ACH transfer is initiated at
	// another bank and received by Increase.
	InboundACHTransfer TransactionSourceInboundACHTransfer `json:"inbound_ach_transfer,required,nullable"`
	// An Inbound ACH Transfer Return Intention object. This field will be present in
	// the JSON response if and only if `category` is equal to
	// `inbound_ach_transfer_return_intention`. An Inbound ACH Transfer Return
	// Intention is created when an ACH transfer is initiated at another bank and
	// returned by Increase.
	InboundACHTransferReturnIntention TransactionSourceInboundACHTransferReturnIntention `json:"inbound_ach_transfer_return_intention,required,nullable"`
	// An Inbound Check Adjustment object. This field will be present in the JSON
	// response if and only if `category` is equal to `inbound_check_adjustment`. An
	// Inbound Check Adjustment is created when Increase receives an adjustment for a
	// check or return deposited through Check21.
	InboundCheckAdjustment TransactionSourceInboundCheckAdjustment `json:"inbound_check_adjustment,required,nullable"`
	// An Inbound Check Deposit Return Intention object. This field will be present in
	// the JSON response if and only if `category` is equal to
	// `inbound_check_deposit_return_intention`. An Inbound Check Deposit Return
	// Intention is created when Increase receives an Inbound Check and the User
	// requests that it be returned.
	InboundCheckDepositReturnIntention TransactionSourceInboundCheckDepositReturnIntention `json:"inbound_check_deposit_return_intention,required,nullable"`
	// An Inbound Real-Time Payments Transfer Confirmation object. This field will be
	// present in the JSON response if and only if `category` is equal to
	// `inbound_real_time_payments_transfer_confirmation`. An Inbound Real-Time
	// Payments Transfer Confirmation is created when a Real-Time Payments transfer is
	// initiated at another bank and received by Increase.
	InboundRealTimePaymentsTransferConfirmation TransactionSourceInboundRealTimePaymentsTransferConfirmation `json:"inbound_real_time_payments_transfer_confirmation,required,nullable"`
	// An Inbound Real-Time Payments Transfer Decline object. This field will be
	// present in the JSON response if and only if `category` is equal to
	// `inbound_real_time_payments_transfer_decline`.
	InboundRealTimePaymentsTransferDecline TransactionSourceInboundRealTimePaymentsTransferDecline `json:"inbound_real_time_payments_transfer_decline,required,nullable"`
	// An Inbound Wire Reversal object. This field will be present in the JSON response
	// if and only if `category` is equal to `inbound_wire_reversal`. An Inbound Wire
	// Reversal represents a reversal of a wire transfer that was initiated via
	// Increase. The other bank is sending the money back. This most often happens when
	// the original destination account details were incorrect.
	InboundWireReversal TransactionSourceInboundWireReversal `json:"inbound_wire_reversal,required,nullable"`
	// An Inbound Wire Transfer Intention object. This field will be present in the
	// JSON response if and only if `category` is equal to `inbound_wire_transfer`. An
	// Inbound Wire Transfer Intention is created when a wire transfer is initiated at
	// another bank and received by Increase.
	InboundWireTransfer TransactionSourceInboundWireTransfer `json:"inbound_wire_transfer,required,nullable"`
	// An Inbound Wire Transfer Reversal Intention object. This field will be present
	// in the JSON response if and only if `category` is equal to
	// `inbound_wire_transfer_reversal`. An Inbound Wire Transfer Reversal Intention is
	// created when Increase has received a wire and the User requests that it be
	// reversed.
	InboundWireTransferReversal TransactionSourceInboundWireTransferReversal `json:"inbound_wire_transfer_reversal,required,nullable"`
	// An Interest Payment object. This field will be present in the JSON response if
	// and only if `category` is equal to `interest_payment`. An Interest Payment
	// represents a payment of interest on an account. Interest is usually paid
	// monthly.
	InterestPayment TransactionSourceInterestPayment `json:"interest_payment,required,nullable"`
	// An Internal Source object. This field will be present in the JSON response if
	// and only if `category` is equal to `internal_source`. A transaction between the
	// user and Increase. See the `reason` attribute for more information.
	InternalSource TransactionSourceInternalSource `json:"internal_source,required,nullable"`
	// If the category of this Transaction source is equal to `other`, this field will
	// contain an empty object, otherwise it will contain null.
	Other interface{} `json:"other,required,nullable"`
	// A Real-Time Payments Transfer Acknowledgement object. This field will be present
	// in the JSON response if and only if `category` is equal to
	// `real_time_payments_transfer_acknowledgement`. A Real-Time Payments Transfer
	// Acknowledgement is created when a Real-Time Payments Transfer sent from Increase
	// is acknowledged by the receiving bank.
	RealTimePaymentsTransferAcknowledgement TransactionSourceRealTimePaymentsTransferAcknowledgement `json:"real_time_payments_transfer_acknowledgement,required,nullable"`
	// A Sample Funds object. This field will be present in the JSON response if and
	// only if `category` is equal to `sample_funds`. Sample funds for testing
	// purposes.
	SampleFunds TransactionSourceSampleFunds `json:"sample_funds,required,nullable"`
	// A Swift Transfer Intention object. This field will be present in the JSON
	// response if and only if `category` is equal to `swift_transfer_intention`. A
	// Swift Transfer initiated via Increase.
	SwiftTransferIntention TransactionSourceSwiftTransferIntention `json:"swift_transfer_intention,required,nullable"`
	// A Wire Transfer Intention object. This field will be present in the JSON
	// response if and only if `category` is equal to `wire_transfer_intention`. A Wire
	// Transfer initiated via Increase and sent to a different bank.
	WireTransferIntention TransactionSourceWireTransferIntention `json:"wire_transfer_intention,required,nullable"`
	JSON                  transactionSourceJSON                  `json:"-"`
}

This is an object giving more details on the network-level event that caused the Transaction. Note that for backwards compatibility reasons, additional undocumented keys may appear in this object. These should be treated as deprecated and will be removed in the future.

func (*TransactionSource) UnmarshalJSON

func (r *TransactionSource) UnmarshalJSON(data []byte) (err error)

type TransactionSourceACHTransferIntention

type TransactionSourceACHTransferIntention struct {
	// The account number for the destination account.
	AccountNumber string `json:"account_number,required"`
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// destination account.
	RoutingNumber string `json:"routing_number,required"`
	// A description set when the ACH Transfer was created.
	StatementDescriptor string `json:"statement_descriptor,required"`
	// The identifier of the ACH Transfer that led to this Transaction.
	TransferID string                                    `json:"transfer_id,required"`
	JSON       transactionSourceACHTransferIntentionJSON `json:"-"`
}

An ACH Transfer Intention object. This field will be present in the JSON response if and only if `category` is equal to `ach_transfer_intention`. An ACH Transfer Intention is created from an ACH Transfer. It reflects the intention to move money into or out of an Increase account via the ACH network.

func (*TransactionSourceACHTransferIntention) UnmarshalJSON

func (r *TransactionSourceACHTransferIntention) UnmarshalJSON(data []byte) (err error)

type TransactionSourceACHTransferRejection

type TransactionSourceACHTransferRejection struct {
	// The identifier of the ACH Transfer that led to this Transaction.
	TransferID string                                    `json:"transfer_id,required"`
	JSON       transactionSourceACHTransferRejectionJSON `json:"-"`
}

An ACH Transfer Rejection object. This field will be present in the JSON response if and only if `category` is equal to `ach_transfer_rejection`. An ACH Transfer Rejection is created when an ACH Transfer is rejected by Increase. It offsets the ACH Transfer Intention. These rejections are rare.

func (*TransactionSourceACHTransferRejection) UnmarshalJSON

func (r *TransactionSourceACHTransferRejection) UnmarshalJSON(data []byte) (err error)

type TransactionSourceACHTransferReturn

type TransactionSourceACHTransferReturn struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The three character ACH return code, in the range R01 to R85.
	RawReturnReasonCode string `json:"raw_return_reason_code,required"`
	// Why the ACH Transfer was returned. This reason code is sent by the receiving
	// bank back to Increase.
	ReturnReasonCode TransactionSourceACHTransferReturnReturnReasonCode `json:"return_reason_code,required"`
	// A 15 digit number that was generated by the bank that initiated the return. The
	// trace number of the return is different than that of the original transfer. ACH
	// trace numbers are not unique, but along with the amount and date this number can
	// be used to identify the ACH return at the bank that initiated it.
	TraceNumber string `json:"trace_number,required"`
	// The identifier of the Transaction associated with this return.
	TransactionID string `json:"transaction_id,required"`
	// The identifier of the ACH Transfer associated with this return.
	TransferID string                                 `json:"transfer_id,required"`
	JSON       transactionSourceACHTransferReturnJSON `json:"-"`
}

An ACH Transfer Return object. This field will be present in the JSON response if and only if `category` is equal to `ach_transfer_return`. An ACH Transfer Return is created when an ACH Transfer is returned by the receiving bank. It offsets the ACH Transfer Intention. ACH Transfer Returns usually occur within the first two business days after the transfer is initiated, but can occur much later.

func (*TransactionSourceACHTransferReturn) UnmarshalJSON

func (r *TransactionSourceACHTransferReturn) UnmarshalJSON(data []byte) (err error)

type TransactionSourceACHTransferReturnReturnReasonCode

type TransactionSourceACHTransferReturnReturnReasonCode string

Why the ACH Transfer was returned. This reason code is sent by the receiving bank back to Increase.

const (
	TransactionSourceACHTransferReturnReturnReasonCodeInsufficientFund                                            TransactionSourceACHTransferReturnReturnReasonCode = "insufficient_fund"
	TransactionSourceACHTransferReturnReturnReasonCodeNoAccount                                                   TransactionSourceACHTransferReturnReturnReasonCode = "no_account"
	TransactionSourceACHTransferReturnReturnReasonCodeAccountClosed                                               TransactionSourceACHTransferReturnReturnReasonCode = "account_closed"
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidAccountNumberStructure                               TransactionSourceACHTransferReturnReturnReasonCode = "invalid_account_number_structure"
	TransactionSourceACHTransferReturnReturnReasonCodeAccountFrozenEntryReturnedPerOfacInstruction                TransactionSourceACHTransferReturnReturnReasonCode = "account_frozen_entry_returned_per_ofac_instruction"
	TransactionSourceACHTransferReturnReturnReasonCodeCreditEntryRefusedByReceiver                                TransactionSourceACHTransferReturnReturnReasonCode = "credit_entry_refused_by_receiver"
	TransactionSourceACHTransferReturnReturnReasonCodeUnauthorizedDebitToConsumerAccountUsingCorporateSecCode     TransactionSourceACHTransferReturnReturnReasonCode = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	TransactionSourceACHTransferReturnReturnReasonCodeCorporateCustomerAdvisedNotAuthorized                       TransactionSourceACHTransferReturnReturnReasonCode = "corporate_customer_advised_not_authorized"
	TransactionSourceACHTransferReturnReturnReasonCodePaymentStopped                                              TransactionSourceACHTransferReturnReturnReasonCode = "payment_stopped"
	TransactionSourceACHTransferReturnReturnReasonCodeNonTransactionAccount                                       TransactionSourceACHTransferReturnReturnReasonCode = "non_transaction_account"
	TransactionSourceACHTransferReturnReturnReasonCodeUncollectedFunds                                            TransactionSourceACHTransferReturnReturnReasonCode = "uncollected_funds"
	TransactionSourceACHTransferReturnReturnReasonCodeRoutingNumberCheckDigitError                                TransactionSourceACHTransferReturnReturnReasonCode = "routing_number_check_digit_error"
	TransactionSourceACHTransferReturnReturnReasonCodeCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete   TransactionSourceACHTransferReturnReturnReasonCode = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	TransactionSourceACHTransferReturnReturnReasonCodeAmountFieldError                                            TransactionSourceACHTransferReturnReturnReasonCode = "amount_field_error"
	TransactionSourceACHTransferReturnReturnReasonCodeAuthorizationRevokedByCustomer                              TransactionSourceACHTransferReturnReturnReasonCode = "authorization_revoked_by_customer"
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidACHRoutingNumber                                     TransactionSourceACHTransferReturnReturnReasonCode = "invalid_ach_routing_number"
	TransactionSourceACHTransferReturnReturnReasonCodeFileRecordEditCriteria                                      TransactionSourceACHTransferReturnReturnReasonCode = "file_record_edit_criteria"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidIndividualName                                    TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_individual_name"
	TransactionSourceACHTransferReturnReturnReasonCodeReturnedPerOdfiRequest                                      TransactionSourceACHTransferReturnReturnReasonCode = "returned_per_odfi_request"
	TransactionSourceACHTransferReturnReturnReasonCodeLimitedParticipationDfi                                     TransactionSourceACHTransferReturnReturnReasonCode = "limited_participation_dfi"
	TransactionSourceACHTransferReturnReturnReasonCodeIncorrectlyCodedOutboundInternationalPayment                TransactionSourceACHTransferReturnReturnReasonCode = "incorrectly_coded_outbound_international_payment"
	TransactionSourceACHTransferReturnReturnReasonCodeAccountSoldToAnotherDfi                                     TransactionSourceACHTransferReturnReturnReasonCode = "account_sold_to_another_dfi"
	TransactionSourceACHTransferReturnReturnReasonCodeAddendaError                                                TransactionSourceACHTransferReturnReturnReasonCode = "addenda_error"
	TransactionSourceACHTransferReturnReturnReasonCodeBeneficiaryOrAccountHolderDeceased                          TransactionSourceACHTransferReturnReturnReasonCode = "beneficiary_or_account_holder_deceased"
	TransactionSourceACHTransferReturnReturnReasonCodeCustomerAdvisedNotWithinAuthorizationTerms                  TransactionSourceACHTransferReturnReturnReasonCode = "customer_advised_not_within_authorization_terms"
	TransactionSourceACHTransferReturnReturnReasonCodeCorrectedReturn                                             TransactionSourceACHTransferReturnReturnReasonCode = "corrected_return"
	TransactionSourceACHTransferReturnReturnReasonCodeDuplicateEntry                                              TransactionSourceACHTransferReturnReturnReasonCode = "duplicate_entry"
	TransactionSourceACHTransferReturnReturnReasonCodeDuplicateReturn                                             TransactionSourceACHTransferReturnReturnReasonCode = "duplicate_return"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrDuplicateEnrollment                                      TransactionSourceACHTransferReturnReturnReasonCode = "enr_duplicate_enrollment"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidDfiAccountNumber                                  TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_dfi_account_number"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidIndividualIDNumber                                TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_individual_id_number"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidRepresentativePayeeIndicator                      TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_representative_payee_indicator"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidTransactionCode                                   TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_transaction_code"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrReturnOfEnrEntry                                         TransactionSourceACHTransferReturnReturnReasonCode = "enr_return_of_enr_entry"
	TransactionSourceACHTransferReturnReturnReasonCodeEnrRoutingNumberCheckDigitError                             TransactionSourceACHTransferReturnReturnReasonCode = "enr_routing_number_check_digit_error"
	TransactionSourceACHTransferReturnReturnReasonCodeEntryNotProcessedByGateway                                  TransactionSourceACHTransferReturnReturnReasonCode = "entry_not_processed_by_gateway"
	TransactionSourceACHTransferReturnReturnReasonCodeFieldError                                                  TransactionSourceACHTransferReturnReturnReasonCode = "field_error"
	TransactionSourceACHTransferReturnReturnReasonCodeForeignReceivingDfiUnableToSettle                           TransactionSourceACHTransferReturnReturnReasonCode = "foreign_receiving_dfi_unable_to_settle"
	TransactionSourceACHTransferReturnReturnReasonCodeIatEntryCodingError                                         TransactionSourceACHTransferReturnReturnReasonCode = "iat_entry_coding_error"
	TransactionSourceACHTransferReturnReturnReasonCodeImproperEffectiveEntryDate                                  TransactionSourceACHTransferReturnReturnReasonCode = "improper_effective_entry_date"
	TransactionSourceACHTransferReturnReturnReasonCodeImproperSourceDocumentSourceDocumentPresented               TransactionSourceACHTransferReturnReturnReasonCode = "improper_source_document_source_document_presented"
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidCompanyID                                            TransactionSourceACHTransferReturnReturnReasonCode = "invalid_company_id"
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidForeignReceivingDfiIdentification                    TransactionSourceACHTransferReturnReturnReasonCode = "invalid_foreign_receiving_dfi_identification"
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidIndividualIDNumber                                   TransactionSourceACHTransferReturnReturnReasonCode = "invalid_individual_id_number"
	TransactionSourceACHTransferReturnReturnReasonCodeItemAndRckEntryPresentedForPayment                          TransactionSourceACHTransferReturnReturnReasonCode = "item_and_rck_entry_presented_for_payment"
	TransactionSourceACHTransferReturnReturnReasonCodeItemRelatedToRckEntryIsIneligible                           TransactionSourceACHTransferReturnReturnReasonCode = "item_related_to_rck_entry_is_ineligible"
	TransactionSourceACHTransferReturnReturnReasonCodeMandatoryFieldError                                         TransactionSourceACHTransferReturnReturnReasonCode = "mandatory_field_error"
	TransactionSourceACHTransferReturnReturnReasonCodeMisroutedDishonoredReturn                                   TransactionSourceACHTransferReturnReturnReasonCode = "misrouted_dishonored_return"
	TransactionSourceACHTransferReturnReturnReasonCodeMisroutedReturn                                             TransactionSourceACHTransferReturnReturnReasonCode = "misrouted_return"
	TransactionSourceACHTransferReturnReturnReasonCodeNoErrorsFound                                               TransactionSourceACHTransferReturnReturnReasonCode = "no_errors_found"
	TransactionSourceACHTransferReturnReturnReasonCodeNonAcceptanceOfR62DishonoredReturn                          TransactionSourceACHTransferReturnReturnReasonCode = "non_acceptance_of_r62_dishonored_return"
	TransactionSourceACHTransferReturnReturnReasonCodeNonParticipantInIatProgram                                  TransactionSourceACHTransferReturnReturnReasonCode = "non_participant_in_iat_program"
	TransactionSourceACHTransferReturnReturnReasonCodePermissibleReturnEntry                                      TransactionSourceACHTransferReturnReturnReasonCode = "permissible_return_entry"
	TransactionSourceACHTransferReturnReturnReasonCodePermissibleReturnEntryNotAccepted                           TransactionSourceACHTransferReturnReturnReasonCode = "permissible_return_entry_not_accepted"
	TransactionSourceACHTransferReturnReturnReasonCodeRdfiNonSettlement                                           TransactionSourceACHTransferReturnReturnReasonCode = "rdfi_non_settlement"
	TransactionSourceACHTransferReturnReturnReasonCodeRdfiParticipantInCheckTruncationProgram                     TransactionSourceACHTransferReturnReturnReasonCode = "rdfi_participant_in_check_truncation_program"
	TransactionSourceACHTransferReturnReturnReasonCodeRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity TransactionSourceACHTransferReturnReturnReasonCode = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	TransactionSourceACHTransferReturnReturnReasonCodeReturnNotADuplicate                                         TransactionSourceACHTransferReturnReturnReasonCode = "return_not_a_duplicate"
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfErroneousOrReversingDebit                           TransactionSourceACHTransferReturnReturnReasonCode = "return_of_erroneous_or_reversing_debit"
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfImproperCreditEntry                                 TransactionSourceACHTransferReturnReturnReasonCode = "return_of_improper_credit_entry"
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfImproperDebitEntry                                  TransactionSourceACHTransferReturnReturnReasonCode = "return_of_improper_debit_entry"
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfXckEntry                                            TransactionSourceACHTransferReturnReturnReasonCode = "return_of_xck_entry"
	TransactionSourceACHTransferReturnReturnReasonCodeSourceDocumentPresentedForPayment                           TransactionSourceACHTransferReturnReturnReasonCode = "source_document_presented_for_payment"
	TransactionSourceACHTransferReturnReturnReasonCodeStateLawAffectingRckAcceptance                              TransactionSourceACHTransferReturnReturnReasonCode = "state_law_affecting_rck_acceptance"
	TransactionSourceACHTransferReturnReturnReasonCodeStopPaymentOnItemRelatedToRckEntry                          TransactionSourceACHTransferReturnReturnReasonCode = "stop_payment_on_item_related_to_rck_entry"
	TransactionSourceACHTransferReturnReturnReasonCodeStopPaymentOnSourceDocument                                 TransactionSourceACHTransferReturnReturnReasonCode = "stop_payment_on_source_document"
	TransactionSourceACHTransferReturnReturnReasonCodeTimelyOriginalReturn                                        TransactionSourceACHTransferReturnReturnReasonCode = "timely_original_return"
	TransactionSourceACHTransferReturnReturnReasonCodeTraceNumberError                                            TransactionSourceACHTransferReturnReturnReasonCode = "trace_number_error"
	TransactionSourceACHTransferReturnReturnReasonCodeUntimelyDishonoredReturn                                    TransactionSourceACHTransferReturnReturnReasonCode = "untimely_dishonored_return"
	TransactionSourceACHTransferReturnReturnReasonCodeUntimelyReturn                                              TransactionSourceACHTransferReturnReturnReasonCode = "untimely_return"
)

func (TransactionSourceACHTransferReturnReturnReasonCode) IsKnown

type TransactionSourceAccountTransferIntention

type TransactionSourceAccountTransferIntention struct {
	// The pending amount in the minor unit of the transaction's currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency TransactionSourceAccountTransferIntentionCurrency `json:"currency,required"`
	// The description you chose to give the transfer.
	Description string `json:"description,required"`
	// The identifier of the Account to where the Account Transfer was sent.
	DestinationAccountID string `json:"destination_account_id,required"`
	// The identifier of the Account from where the Account Transfer was sent.
	SourceAccountID string `json:"source_account_id,required"`
	// The identifier of the Account Transfer that led to this Pending Transaction.
	TransferID string                                        `json:"transfer_id,required"`
	JSON       transactionSourceAccountTransferIntentionJSON `json:"-"`
}

An Account Transfer Intention object. This field will be present in the JSON response if and only if `category` is equal to `account_transfer_intention`. Two Account Transfer Intentions are created from each Account Transfer. One decrements the source account, and the other increments the destination account.

func (*TransactionSourceAccountTransferIntention) UnmarshalJSON

func (r *TransactionSourceAccountTransferIntention) UnmarshalJSON(data []byte) (err error)

type TransactionSourceAccountTransferIntentionCurrency

type TransactionSourceAccountTransferIntentionCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination account currency.

const (
	TransactionSourceAccountTransferIntentionCurrencyCad TransactionSourceAccountTransferIntentionCurrency = "CAD"
	TransactionSourceAccountTransferIntentionCurrencyChf TransactionSourceAccountTransferIntentionCurrency = "CHF"
	TransactionSourceAccountTransferIntentionCurrencyEur TransactionSourceAccountTransferIntentionCurrency = "EUR"
	TransactionSourceAccountTransferIntentionCurrencyGbp TransactionSourceAccountTransferIntentionCurrency = "GBP"
	TransactionSourceAccountTransferIntentionCurrencyJpy TransactionSourceAccountTransferIntentionCurrency = "JPY"
	TransactionSourceAccountTransferIntentionCurrencyUsd TransactionSourceAccountTransferIntentionCurrency = "USD"
)

func (TransactionSourceAccountTransferIntentionCurrency) IsKnown

type TransactionSourceCardDisputeAcceptance

type TransactionSourceCardDisputeAcceptance struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was accepted.
	AcceptedAt time.Time `json:"accepted_at,required" format:"date-time"`
	// The identifier of the Card Dispute that was accepted.
	CardDisputeID string `json:"card_dispute_id,required"`
	// The identifier of the Transaction that was created to return the disputed funds
	// to your account.
	TransactionID string                                     `json:"transaction_id,required"`
	JSON          transactionSourceCardDisputeAcceptanceJSON `json:"-"`
}

A Card Dispute Acceptance object. This field will be present in the JSON response if and only if `category` is equal to `card_dispute_acceptance`. Contains the details of a successful Card Dispute.

func (*TransactionSourceCardDisputeAcceptance) UnmarshalJSON

func (r *TransactionSourceCardDisputeAcceptance) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardDisputeLoss

type TransactionSourceCardDisputeLoss struct {
	// The identifier of the Card Dispute that was lost.
	CardDisputeID string `json:"card_dispute_id,required"`
	// Why the Card Dispute was lost.
	Explanation string `json:"explanation,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Card Dispute was lost.
	LostAt time.Time `json:"lost_at,required" format:"date-time"`
	// The identifier of the Transaction that was created to debit the disputed funds
	// from your account.
	TransactionID string                               `json:"transaction_id,required"`
	JSON          transactionSourceCardDisputeLossJSON `json:"-"`
}

A Card Dispute Loss object. This field will be present in the JSON response if and only if `category` is equal to `card_dispute_loss`. Contains the details of a lost Card Dispute.

func (*TransactionSourceCardDisputeLoss) UnmarshalJSON

func (r *TransactionSourceCardDisputeLoss) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardPushTransferAcceptance added in v0.247.0

type TransactionSourceCardPushTransferAcceptance struct {
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Card Push Transfer that led to this Transaction.
	TransferID string                                          `json:"transfer_id,required"`
	JSON       transactionSourceCardPushTransferAcceptanceJSON `json:"-"`
}

A Card Push Transfer Acceptance object. This field will be present in the JSON response if and only if `category` is equal to `card_push_transfer_acceptance`. A Card Push Transfer Acceptance is created when an Outbound Card Push Transfer sent from Increase is accepted by the receiving bank.

func (*TransactionSourceCardPushTransferAcceptance) UnmarshalJSON added in v0.247.0

func (r *TransactionSourceCardPushTransferAcceptance) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefund

type TransactionSourceCardRefund struct {
	// The Card Refund identifier.
	ID string `json:"id,required"`
	// The amount in the minor unit of the transaction's settlement currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// Cashback debited for this transaction, if eligible. Cashback is paid out in
	// aggregate, monthly.
	Cashback TransactionSourceCardRefundCashback `json:"cashback,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's settlement currency.
	Currency TransactionSourceCardRefundCurrency `json:"currency,required"`
	// Interchange assessed as a part of this transaciton.
	Interchange TransactionSourceCardRefundInterchange `json:"interchange,required,nullable"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The 4-digit MCC describing the merchant's business.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,required"`
	// The merchant's postal code. For US merchants this is always a 5-digit ZIP code.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Network-specific identifiers for this refund.
	NetworkIdentifiers TransactionSourceCardRefundNetworkIdentifiers `json:"network_identifiers,required"`
	// The amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// Additional details about the card purchase, such as tax and industry-specific
	// fields.
	PurchaseDetails TransactionSourceCardRefundPurchaseDetails `json:"purchase_details,required,nullable"`
	// The identifier of the Transaction associated with this Transaction.
	TransactionID string `json:"transaction_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_refund`.
	Type TransactionSourceCardRefundType `json:"type,required"`
	JSON transactionSourceCardRefundJSON `json:"-"`
}

A Card Refund object. This field will be present in the JSON response if and only if `category` is equal to `card_refund`. Card Refunds move money back to the cardholder. While they are usually connected to a Card Settlement an acquirer can also refund money directly to a card without relation to a transaction.

func (*TransactionSourceCardRefund) UnmarshalJSON

func (r *TransactionSourceCardRefund) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundCashback added in v0.162.0

type TransactionSourceCardRefundCashback struct {
	// The cashback amount given as a string containing a decimal number. The amount is
	// a positive number if it will be credited to you (e.g., settlements) and a
	// negative number if it will be debited (e.g., refunds).
	Amount string `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.
	Currency TransactionSourceCardRefundCashbackCurrency `json:"currency,required"`
	JSON     transactionSourceCardRefundCashbackJSON     `json:"-"`
}

Cashback debited for this transaction, if eligible. Cashback is paid out in aggregate, monthly.

func (*TransactionSourceCardRefundCashback) UnmarshalJSON added in v0.162.0

func (r *TransactionSourceCardRefundCashback) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundCashbackCurrency added in v0.162.0

type TransactionSourceCardRefundCashbackCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.

const (
	TransactionSourceCardRefundCashbackCurrencyCad TransactionSourceCardRefundCashbackCurrency = "CAD"
	TransactionSourceCardRefundCashbackCurrencyChf TransactionSourceCardRefundCashbackCurrency = "CHF"
	TransactionSourceCardRefundCashbackCurrencyEur TransactionSourceCardRefundCashbackCurrency = "EUR"
	TransactionSourceCardRefundCashbackCurrencyGbp TransactionSourceCardRefundCashbackCurrency = "GBP"
	TransactionSourceCardRefundCashbackCurrencyJpy TransactionSourceCardRefundCashbackCurrency = "JPY"
	TransactionSourceCardRefundCashbackCurrencyUsd TransactionSourceCardRefundCashbackCurrency = "USD"
)

func (TransactionSourceCardRefundCashbackCurrency) IsKnown added in v0.162.0

type TransactionSourceCardRefundCurrency

type TransactionSourceCardRefundCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's settlement currency.

const (
	TransactionSourceCardRefundCurrencyCad TransactionSourceCardRefundCurrency = "CAD"
	TransactionSourceCardRefundCurrencyChf TransactionSourceCardRefundCurrency = "CHF"
	TransactionSourceCardRefundCurrencyEur TransactionSourceCardRefundCurrency = "EUR"
	TransactionSourceCardRefundCurrencyGbp TransactionSourceCardRefundCurrency = "GBP"
	TransactionSourceCardRefundCurrencyJpy TransactionSourceCardRefundCurrency = "JPY"
	TransactionSourceCardRefundCurrencyUsd TransactionSourceCardRefundCurrency = "USD"
)

func (TransactionSourceCardRefundCurrency) IsKnown

type TransactionSourceCardRefundInterchange

type TransactionSourceCardRefundInterchange struct {
	// The interchange amount given as a string containing a decimal number in major
	// units (so e.g., "3.14" for $3.14). The amount is a positive number if it is
	// credited to Increase (e.g., settlements) and a negative number if it is debited
	// (e.g., refunds).
	Amount string `json:"amount,required"`
	// The card network specific interchange code.
	Code string `json:"code,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange
	// reimbursement.
	Currency TransactionSourceCardRefundInterchangeCurrency `json:"currency,required"`
	JSON     transactionSourceCardRefundInterchangeJSON     `json:"-"`
}

Interchange assessed as a part of this transaciton.

func (*TransactionSourceCardRefundInterchange) UnmarshalJSON

func (r *TransactionSourceCardRefundInterchange) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundInterchangeCurrency

type TransactionSourceCardRefundInterchangeCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange reimbursement.

const (
	TransactionSourceCardRefundInterchangeCurrencyCad TransactionSourceCardRefundInterchangeCurrency = "CAD"
	TransactionSourceCardRefundInterchangeCurrencyChf TransactionSourceCardRefundInterchangeCurrency = "CHF"
	TransactionSourceCardRefundInterchangeCurrencyEur TransactionSourceCardRefundInterchangeCurrency = "EUR"
	TransactionSourceCardRefundInterchangeCurrencyGbp TransactionSourceCardRefundInterchangeCurrency = "GBP"
	TransactionSourceCardRefundInterchangeCurrencyJpy TransactionSourceCardRefundInterchangeCurrency = "JPY"
	TransactionSourceCardRefundInterchangeCurrencyUsd TransactionSourceCardRefundInterchangeCurrency = "USD"
)

func (TransactionSourceCardRefundInterchangeCurrency) IsKnown

type TransactionSourceCardRefundNetworkIdentifiers

type TransactionSourceCardRefundNetworkIdentifiers struct {
	// A network assigned business ID that identifies the acquirer that processed this
	// transaction.
	AcquirerBusinessID string `json:"acquirer_business_id,required"`
	// A globally unique identifier for this settlement.
	AcquirerReferenceNumber string `json:"acquirer_reference_number,required"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                            `json:"transaction_id,required,nullable"`
	JSON          transactionSourceCardRefundNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for this refund.

func (*TransactionSourceCardRefundNetworkIdentifiers) UnmarshalJSON

func (r *TransactionSourceCardRefundNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundPurchaseDetails

type TransactionSourceCardRefundPurchaseDetails struct {
	// Fields specific to car rentals.
	CarRental TransactionSourceCardRefundPurchaseDetailsCarRental `json:"car_rental,required,nullable"`
	// An identifier from the merchant for the customer or consumer.
	CustomerReferenceIdentifier string `json:"customer_reference_identifier,required,nullable"`
	// The state or provincial tax amount in minor units.
	LocalTaxAmount int64 `json:"local_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	LocalTaxCurrency string `json:"local_tax_currency,required,nullable"`
	// Fields specific to lodging.
	Lodging TransactionSourceCardRefundPurchaseDetailsLodging `json:"lodging,required,nullable"`
	// The national tax amount in minor units.
	NationalTaxAmount int64 `json:"national_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	NationalTaxCurrency string `json:"national_tax_currency,required,nullable"`
	// An identifier from the merchant for the purchase to the issuer and cardholder.
	PurchaseIdentifier string `json:"purchase_identifier,required,nullable"`
	// The format of the purchase identifier.
	PurchaseIdentifierFormat TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat `json:"purchase_identifier_format,required,nullable"`
	// Fields specific to travel.
	Travel TransactionSourceCardRefundPurchaseDetailsTravel `json:"travel,required,nullable"`
	JSON   transactionSourceCardRefundPurchaseDetailsJSON   `json:"-"`
}

Additional details about the card purchase, such as tax and industry-specific fields.

func (*TransactionSourceCardRefundPurchaseDetails) UnmarshalJSON

func (r *TransactionSourceCardRefundPurchaseDetails) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundPurchaseDetailsCarRental

type TransactionSourceCardRefundPurchaseDetailsCarRental struct {
	// Code indicating the vehicle's class.
	CarClassCode string `json:"car_class_code,required,nullable"`
	// Date the customer picked up the car or, in the case of a no-show or pre-pay
	// transaction, the scheduled pick up date.
	CheckoutDate time.Time `json:"checkout_date,required,nullable" format:"date"`
	// Daily rate being charged for the vehicle.
	DailyRentalRateAmount int64 `json:"daily_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily rental
	// rate.
	DailyRentalRateCurrency string `json:"daily_rental_rate_currency,required,nullable"`
	// Number of days the vehicle was rented.
	DaysRented int64 `json:"days_rented,required,nullable"`
	// Additional charges (gas, late fee, etc.) being billed.
	ExtraCharges TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges `json:"extra_charges,required,nullable"`
	// Fuel charges for the vehicle.
	FuelChargesAmount int64 `json:"fuel_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the fuel charges
	// assessed.
	FuelChargesCurrency string `json:"fuel_charges_currency,required,nullable"`
	// Any insurance being charged for the vehicle.
	InsuranceChargesAmount int64 `json:"insurance_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the insurance
	// charges assessed.
	InsuranceChargesCurrency string `json:"insurance_charges_currency,required,nullable"`
	// An indicator that the cardholder is being billed for a reserved vehicle that was
	// not actually rented (that is, a "no-show" charge).
	NoShowIndicator TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Charges for returning the vehicle at a different location than where it was
	// picked up.
	OneWayDropOffChargesAmount int64 `json:"one_way_drop_off_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the one-way
	// drop-off charges assessed.
	OneWayDropOffChargesCurrency string `json:"one_way_drop_off_charges_currency,required,nullable"`
	// Name of the person renting the vehicle.
	RenterName string `json:"renter_name,required,nullable"`
	// Weekly rate being charged for the vehicle.
	WeeklyRentalRateAmount int64 `json:"weekly_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the weekly
	// rental rate.
	WeeklyRentalRateCurrency string                                                  `json:"weekly_rental_rate_currency,required,nullable"`
	JSON                     transactionSourceCardRefundPurchaseDetailsCarRentalJSON `json:"-"`
}

Fields specific to car rentals.

func (*TransactionSourceCardRefundPurchaseDetailsCarRental) UnmarshalJSON

func (r *TransactionSourceCardRefundPurchaseDetailsCarRental) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges

type TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges string

Additional charges (gas, late fee, etc.) being billed.

const (
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesNoExtraCharge    TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesGas              TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "gas"
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesExtraMileage     TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesLateReturn       TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "late_return"
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesOneWayServiceFee TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesParkingViolation TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "parking_violation"
)

func (TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges) IsKnown

type TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator

type TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator string

An indicator that the cardholder is being billed for a reserved vehicle that was not actually rented (that is, a "no-show" charge).

const (
	TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicatorNotApplicable               TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicatorNoShowForSpecializedVehicle TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator = "no_show_for_specialized_vehicle"
)

func (TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsLodging

type TransactionSourceCardRefundPurchaseDetailsLodging struct {
	// Date the customer checked in.
	CheckInDate time.Time `json:"check_in_date,required,nullable" format:"date"`
	// Daily rate being charged for the room.
	DailyRoomRateAmount int64 `json:"daily_room_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily room
	// rate.
	DailyRoomRateCurrency string `json:"daily_room_rate_currency,required,nullable"`
	// Additional charges (phone, late check-out, etc.) being billed.
	ExtraCharges TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges `json:"extra_charges,required,nullable"`
	// Folio cash advances for the room.
	FolioCashAdvancesAmount int64 `json:"folio_cash_advances_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the folio cash
	// advances.
	FolioCashAdvancesCurrency string `json:"folio_cash_advances_currency,required,nullable"`
	// Food and beverage charges for the room.
	FoodBeverageChargesAmount int64 `json:"food_beverage_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the food and
	// beverage charges.
	FoodBeverageChargesCurrency string `json:"food_beverage_charges_currency,required,nullable"`
	// Indicator that the cardholder is being billed for a reserved room that was not
	// actually used.
	NoShowIndicator TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Prepaid expenses being charged for the room.
	PrepaidExpensesAmount int64 `json:"prepaid_expenses_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the prepaid
	// expenses.
	PrepaidExpensesCurrency string `json:"prepaid_expenses_currency,required,nullable"`
	// Number of nights the room was rented.
	RoomNights int64 `json:"room_nights,required,nullable"`
	// Total room tax being charged.
	TotalRoomTaxAmount int64 `json:"total_room_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total room
	// tax.
	TotalRoomTaxCurrency string `json:"total_room_tax_currency,required,nullable"`
	// Total tax being charged for the room.
	TotalTaxAmount int64 `json:"total_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total tax
	// assessed.
	TotalTaxCurrency string                                                `json:"total_tax_currency,required,nullable"`
	JSON             transactionSourceCardRefundPurchaseDetailsLodgingJSON `json:"-"`
}

Fields specific to lodging.

func (*TransactionSourceCardRefundPurchaseDetailsLodging) UnmarshalJSON

func (r *TransactionSourceCardRefundPurchaseDetailsLodging) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges

type TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges string

Additional charges (phone, late check-out, etc.) being billed.

const (
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesNoExtraCharge TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesRestaurant    TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "restaurant"
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesGiftShop      TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "gift_shop"
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesMiniBar       TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "mini_bar"
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesTelephone     TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "telephone"
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesOther         TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "other"
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesLaundry       TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "laundry"
)

func (TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges) IsKnown

type TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator

type TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator string

Indicator that the cardholder is being billed for a reserved room that was not actually used.

const (
	TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicatorNotApplicable TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicatorNoShow        TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat

type TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatFreeText              TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatOrderNumber           TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber      TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatInvoiceNumber         TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "invoice_number"
)

func (TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravel

type TransactionSourceCardRefundPurchaseDetailsTravel struct {
	// Ancillary purchases in addition to the airfare.
	Ancillary TransactionSourceCardRefundPurchaseDetailsTravelAncillary `json:"ancillary,required,nullable"`
	// Indicates the computerized reservation system used to book the ticket.
	ComputerizedReservationSystem string `json:"computerized_reservation_system,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Date of departure.
	DepartureDate time.Time `json:"departure_date,required,nullable" format:"date"`
	// Code for the originating city or airport.
	OriginationCityAirportCode string `json:"origination_city_airport_code,required,nullable"`
	// Name of the passenger.
	PassengerName string `json:"passenger_name,required,nullable"`
	// Indicates whether this ticket is non-refundable.
	RestrictedTicketIndicator TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator `json:"restricted_ticket_indicator,required,nullable"`
	// Indicates why a ticket was changed.
	TicketChangeIndicator TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator `json:"ticket_change_indicator,required,nullable"`
	// Ticket number.
	TicketNumber string `json:"ticket_number,required,nullable"`
	// Code for the travel agency if the ticket was issued by a travel agency.
	TravelAgencyCode string `json:"travel_agency_code,required,nullable"`
	// Name of the travel agency if the ticket was issued by a travel agency.
	TravelAgencyName string `json:"travel_agency_name,required,nullable"`
	// Fields specific to each leg of the journey.
	TripLegs []TransactionSourceCardRefundPurchaseDetailsTravelTripLeg `json:"trip_legs,required,nullable"`
	JSON     transactionSourceCardRefundPurchaseDetailsTravelJSON      `json:"-"`
}

Fields specific to travel.

func (*TransactionSourceCardRefundPurchaseDetailsTravel) UnmarshalJSON

func (r *TransactionSourceCardRefundPurchaseDetailsTravel) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRefundPurchaseDetailsTravelAncillary

type TransactionSourceCardRefundPurchaseDetailsTravelAncillary struct {
	// If this purchase has a connection or relationship to another purchase, such as a
	// baggage fee for a passenger transport ticket, this field should contain the
	// ticket document number for the other purchase.
	ConnectedTicketDocumentNumber string `json:"connected_ticket_document_number,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Name of the passenger or description of the ancillary purchase.
	PassengerNameOrDescription string `json:"passenger_name_or_description,required,nullable"`
	// Additional travel charges, such as baggage fees.
	Services []TransactionSourceCardRefundPurchaseDetailsTravelAncillaryService `json:"services,required"`
	// Ticket document number.
	TicketDocumentNumber string                                                        `json:"ticket_document_number,required,nullable"`
	JSON                 transactionSourceCardRefundPurchaseDetailsTravelAncillaryJSON `json:"-"`
}

Ancillary purchases in addition to the airfare.

func (*TransactionSourceCardRefundPurchaseDetailsTravelAncillary) UnmarshalJSON

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit                                                        TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorOther                                                           TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "other"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryService

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryService struct {
	// Category of the ancillary service.
	Category TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory `json:"category,required,nullable"`
	// Sub-category of the ancillary service, free-form.
	SubCategory string                                                               `json:"sub_category,required,nullable"`
	JSON        transactionSourceCardRefundPurchaseDetailsTravelAncillaryServiceJSON `json:"-"`
}

func (*TransactionSourceCardRefundPurchaseDetailsTravelAncillaryService) UnmarshalJSON

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory string

Category of the ancillary service.

const (
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryNone                  TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "none"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBundledService        TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee            TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryChangeFee             TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCargo                 TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset          TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer         TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGiftCard              TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport       TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryLounge                TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMedical               TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage          TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryOther                 TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "other"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee    TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPets                  TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategorySeatFees              TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStandby               TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryServiceFee            TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStore                 TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "store"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryTravelService         TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel   TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUpgrades              TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryWifi                  TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator

type TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorNoCredit                                                        TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation                                       TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorOther                                                           TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "other"
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket                                    TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator

type TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions                TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator

type TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorNone                   TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "none"
	TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorNewTicket              TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "new_ticket"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelTripLeg

type TransactionSourceCardRefundPurchaseDetailsTravelTripLeg struct {
	// Carrier code (e.g., United Airlines, Jet Blue, etc.).
	CarrierCode string `json:"carrier_code,required,nullable"`
	// Code for the destination city or airport.
	DestinationCityAirportCode string `json:"destination_city_airport_code,required,nullable"`
	// Fare basis code.
	FareBasisCode string `json:"fare_basis_code,required,nullable"`
	// Flight number.
	FlightNumber string `json:"flight_number,required,nullable"`
	// Service class (e.g., first class, business class, etc.).
	ServiceClass string `json:"service_class,required,nullable"`
	// Indicates whether a stopover is allowed on this ticket.
	StopOverCode TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode `json:"stop_over_code,required,nullable"`
	JSON         transactionSourceCardRefundPurchaseDetailsTravelTripLegJSON          `json:"-"`
}

func (*TransactionSourceCardRefundPurchaseDetailsTravelTripLeg) UnmarshalJSON

type TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode

type TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode string

Indicates whether a stopover is allowed on this ticket.

const (
	TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeNone               TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "none"
	TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed    TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverNotAllowed TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_not_allowed"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode) IsKnown

type TransactionSourceCardRefundType

type TransactionSourceCardRefundType string

A constant representing the object's type. For this resource it will always be `card_refund`.

const (
	TransactionSourceCardRefundTypeCardRefund TransactionSourceCardRefundType = "card_refund"
)

func (TransactionSourceCardRefundType) IsKnown

type TransactionSourceCardRevenuePayment

type TransactionSourceCardRevenuePayment struct {
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction
	// currency.
	Currency TransactionSourceCardRevenuePaymentCurrency `json:"currency,required"`
	// The end of the period for which this transaction paid interest.
	PeriodEnd time.Time `json:"period_end,required" format:"date-time"`
	// The start of the period for which this transaction paid interest.
	PeriodStart time.Time `json:"period_start,required" format:"date-time"`
	// The account the card belonged to.
	TransactedOnAccountID string                                  `json:"transacted_on_account_id,required,nullable"`
	JSON                  transactionSourceCardRevenuePaymentJSON `json:"-"`
}

A Card Revenue Payment object. This field will be present in the JSON response if and only if `category` is equal to `card_revenue_payment`. Card Revenue Payments reflect earnings from fees on card transactions.

func (*TransactionSourceCardRevenuePayment) UnmarshalJSON

func (r *TransactionSourceCardRevenuePayment) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardRevenuePaymentCurrency

type TransactionSourceCardRevenuePaymentCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction currency.

const (
	TransactionSourceCardRevenuePaymentCurrencyCad TransactionSourceCardRevenuePaymentCurrency = "CAD"
	TransactionSourceCardRevenuePaymentCurrencyChf TransactionSourceCardRevenuePaymentCurrency = "CHF"
	TransactionSourceCardRevenuePaymentCurrencyEur TransactionSourceCardRevenuePaymentCurrency = "EUR"
	TransactionSourceCardRevenuePaymentCurrencyGbp TransactionSourceCardRevenuePaymentCurrency = "GBP"
	TransactionSourceCardRevenuePaymentCurrencyJpy TransactionSourceCardRevenuePaymentCurrency = "JPY"
	TransactionSourceCardRevenuePaymentCurrencyUsd TransactionSourceCardRevenuePaymentCurrency = "USD"
)

func (TransactionSourceCardRevenuePaymentCurrency) IsKnown

type TransactionSourceCardSettlement

type TransactionSourceCardSettlement struct {
	// The Card Settlement identifier.
	ID string `json:"id,required"`
	// The amount in the minor unit of the transaction's settlement currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The Card Authorization that was created prior to this Card Settlement, if one
	// exists.
	CardAuthorization string `json:"card_authorization,required,nullable"`
	// The ID of the Card Payment this transaction belongs to.
	CardPaymentID string `json:"card_payment_id,required"`
	// Cashback earned on this transaction, if eligible. Cashback is paid out in
	// aggregate, monthly.
	Cashback TransactionSourceCardSettlementCashback `json:"cashback,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's settlement currency.
	Currency TransactionSourceCardSettlementCurrency `json:"currency,required"`
	// Interchange assessed as a part of this transaction.
	Interchange TransactionSourceCardSettlementInterchange `json:"interchange,required,nullable"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID string `json:"merchant_acceptor_id,required"`
	// The 4-digit MCC describing the merchant's business.
	MerchantCategoryCode string `json:"merchant_category_code,required"`
	// The city the merchant resides in.
	MerchantCity string `json:"merchant_city,required"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,required"`
	// The merchant's postal code. For US merchants this is always a 5-digit ZIP code.
	MerchantPostalCode string `json:"merchant_postal_code,required,nullable"`
	// The state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Network-specific identifiers for this refund.
	NetworkIdentifiers TransactionSourceCardSettlementNetworkIdentifiers `json:"network_identifiers,required"`
	// The identifier of the Pending Transaction associated with this Transaction.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// The amount in the minor unit of the transaction's presentment currency.
	PresentmentAmount int64 `json:"presentment_amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's presentment currency.
	PresentmentCurrency string `json:"presentment_currency,required"`
	// Additional details about the card purchase, such as tax and industry-specific
	// fields.
	PurchaseDetails TransactionSourceCardSettlementPurchaseDetails `json:"purchase_details,required,nullable"`
	// The identifier of the Transaction associated with this Transaction.
	TransactionID string `json:"transaction_id,required"`
	// A constant representing the object's type. For this resource it will always be
	// `card_settlement`.
	Type TransactionSourceCardSettlementType `json:"type,required"`
	JSON transactionSourceCardSettlementJSON `json:"-"`
}

A Card Settlement object. This field will be present in the JSON response if and only if `category` is equal to `card_settlement`. Card Settlements are card transactions that have cleared and settled. While a settlement is usually preceded by an authorization, an acquirer can also directly clear a transaction without first authorizing it.

func (*TransactionSourceCardSettlement) UnmarshalJSON

func (r *TransactionSourceCardSettlement) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardSettlementCashback added in v0.162.0

type TransactionSourceCardSettlementCashback struct {
	// The cashback amount given as a string containing a decimal number. The amount is
	// a positive number if it will be credited to you (e.g., settlements) and a
	// negative number if it will be debited (e.g., refunds).
	Amount string `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.
	Currency TransactionSourceCardSettlementCashbackCurrency `json:"currency,required"`
	JSON     transactionSourceCardSettlementCashbackJSON     `json:"-"`
}

Cashback earned on this transaction, if eligible. Cashback is paid out in aggregate, monthly.

func (*TransactionSourceCardSettlementCashback) UnmarshalJSON added in v0.162.0

func (r *TransactionSourceCardSettlementCashback) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardSettlementCashbackCurrency added in v0.162.0

type TransactionSourceCardSettlementCashbackCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the cashback.

const (
	TransactionSourceCardSettlementCashbackCurrencyCad TransactionSourceCardSettlementCashbackCurrency = "CAD"
	TransactionSourceCardSettlementCashbackCurrencyChf TransactionSourceCardSettlementCashbackCurrency = "CHF"
	TransactionSourceCardSettlementCashbackCurrencyEur TransactionSourceCardSettlementCashbackCurrency = "EUR"
	TransactionSourceCardSettlementCashbackCurrencyGbp TransactionSourceCardSettlementCashbackCurrency = "GBP"
	TransactionSourceCardSettlementCashbackCurrencyJpy TransactionSourceCardSettlementCashbackCurrency = "JPY"
	TransactionSourceCardSettlementCashbackCurrencyUsd TransactionSourceCardSettlementCashbackCurrency = "USD"
)

func (TransactionSourceCardSettlementCashbackCurrency) IsKnown added in v0.162.0

type TransactionSourceCardSettlementCurrency

type TransactionSourceCardSettlementCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's settlement currency.

const (
	TransactionSourceCardSettlementCurrencyCad TransactionSourceCardSettlementCurrency = "CAD"
	TransactionSourceCardSettlementCurrencyChf TransactionSourceCardSettlementCurrency = "CHF"
	TransactionSourceCardSettlementCurrencyEur TransactionSourceCardSettlementCurrency = "EUR"
	TransactionSourceCardSettlementCurrencyGbp TransactionSourceCardSettlementCurrency = "GBP"
	TransactionSourceCardSettlementCurrencyJpy TransactionSourceCardSettlementCurrency = "JPY"
	TransactionSourceCardSettlementCurrencyUsd TransactionSourceCardSettlementCurrency = "USD"
)

func (TransactionSourceCardSettlementCurrency) IsKnown

type TransactionSourceCardSettlementInterchange

type TransactionSourceCardSettlementInterchange struct {
	// The interchange amount given as a string containing a decimal number in major
	// units (so e.g., "3.14" for $3.14). The amount is a positive number if it is
	// credited to Increase (e.g., settlements) and a negative number if it is debited
	// (e.g., refunds).
	Amount string `json:"amount,required"`
	// The card network specific interchange code.
	Code string `json:"code,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange
	// reimbursement.
	Currency TransactionSourceCardSettlementInterchangeCurrency `json:"currency,required"`
	JSON     transactionSourceCardSettlementInterchangeJSON     `json:"-"`
}

Interchange assessed as a part of this transaction.

func (*TransactionSourceCardSettlementInterchange) UnmarshalJSON

func (r *TransactionSourceCardSettlementInterchange) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardSettlementInterchangeCurrency

type TransactionSourceCardSettlementInterchangeCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the interchange reimbursement.

const (
	TransactionSourceCardSettlementInterchangeCurrencyCad TransactionSourceCardSettlementInterchangeCurrency = "CAD"
	TransactionSourceCardSettlementInterchangeCurrencyChf TransactionSourceCardSettlementInterchangeCurrency = "CHF"
	TransactionSourceCardSettlementInterchangeCurrencyEur TransactionSourceCardSettlementInterchangeCurrency = "EUR"
	TransactionSourceCardSettlementInterchangeCurrencyGbp TransactionSourceCardSettlementInterchangeCurrency = "GBP"
	TransactionSourceCardSettlementInterchangeCurrencyJpy TransactionSourceCardSettlementInterchangeCurrency = "JPY"
	TransactionSourceCardSettlementInterchangeCurrencyUsd TransactionSourceCardSettlementInterchangeCurrency = "USD"
)

func (TransactionSourceCardSettlementInterchangeCurrency) IsKnown

type TransactionSourceCardSettlementNetworkIdentifiers

type TransactionSourceCardSettlementNetworkIdentifiers struct {
	// A network assigned business ID that identifies the acquirer that processed this
	// transaction.
	AcquirerBusinessID string `json:"acquirer_business_id,required"`
	// A globally unique identifier for this settlement.
	AcquirerReferenceNumber string `json:"acquirer_reference_number,required"`
	// A globally unique transaction identifier provided by the card network, used
	// across multiple life-cycle requests.
	TransactionID string                                                `json:"transaction_id,required,nullable"`
	JSON          transactionSourceCardSettlementNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for this refund.

func (*TransactionSourceCardSettlementNetworkIdentifiers) UnmarshalJSON

func (r *TransactionSourceCardSettlementNetworkIdentifiers) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardSettlementPurchaseDetails

type TransactionSourceCardSettlementPurchaseDetails struct {
	// Fields specific to car rentals.
	CarRental TransactionSourceCardSettlementPurchaseDetailsCarRental `json:"car_rental,required,nullable"`
	// An identifier from the merchant for the customer or consumer.
	CustomerReferenceIdentifier string `json:"customer_reference_identifier,required,nullable"`
	// The state or provincial tax amount in minor units.
	LocalTaxAmount int64 `json:"local_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	LocalTaxCurrency string `json:"local_tax_currency,required,nullable"`
	// Fields specific to lodging.
	Lodging TransactionSourceCardSettlementPurchaseDetailsLodging `json:"lodging,required,nullable"`
	// The national tax amount in minor units.
	NationalTaxAmount int64 `json:"national_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the local tax
	// assessed.
	NationalTaxCurrency string `json:"national_tax_currency,required,nullable"`
	// An identifier from the merchant for the purchase to the issuer and cardholder.
	PurchaseIdentifier string `json:"purchase_identifier,required,nullable"`
	// The format of the purchase identifier.
	PurchaseIdentifierFormat TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat `json:"purchase_identifier_format,required,nullable"`
	// Fields specific to travel.
	Travel TransactionSourceCardSettlementPurchaseDetailsTravel `json:"travel,required,nullable"`
	JSON   transactionSourceCardSettlementPurchaseDetailsJSON   `json:"-"`
}

Additional details about the card purchase, such as tax and industry-specific fields.

func (*TransactionSourceCardSettlementPurchaseDetails) UnmarshalJSON

func (r *TransactionSourceCardSettlementPurchaseDetails) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardSettlementPurchaseDetailsCarRental

type TransactionSourceCardSettlementPurchaseDetailsCarRental struct {
	// Code indicating the vehicle's class.
	CarClassCode string `json:"car_class_code,required,nullable"`
	// Date the customer picked up the car or, in the case of a no-show or pre-pay
	// transaction, the scheduled pick up date.
	CheckoutDate time.Time `json:"checkout_date,required,nullable" format:"date"`
	// Daily rate being charged for the vehicle.
	DailyRentalRateAmount int64 `json:"daily_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily rental
	// rate.
	DailyRentalRateCurrency string `json:"daily_rental_rate_currency,required,nullable"`
	// Number of days the vehicle was rented.
	DaysRented int64 `json:"days_rented,required,nullable"`
	// Additional charges (gas, late fee, etc.) being billed.
	ExtraCharges TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges `json:"extra_charges,required,nullable"`
	// Fuel charges for the vehicle.
	FuelChargesAmount int64 `json:"fuel_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the fuel charges
	// assessed.
	FuelChargesCurrency string `json:"fuel_charges_currency,required,nullable"`
	// Any insurance being charged for the vehicle.
	InsuranceChargesAmount int64 `json:"insurance_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the insurance
	// charges assessed.
	InsuranceChargesCurrency string `json:"insurance_charges_currency,required,nullable"`
	// An indicator that the cardholder is being billed for a reserved vehicle that was
	// not actually rented (that is, a "no-show" charge).
	NoShowIndicator TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Charges for returning the vehicle at a different location than where it was
	// picked up.
	OneWayDropOffChargesAmount int64 `json:"one_way_drop_off_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the one-way
	// drop-off charges assessed.
	OneWayDropOffChargesCurrency string `json:"one_way_drop_off_charges_currency,required,nullable"`
	// Name of the person renting the vehicle.
	RenterName string `json:"renter_name,required,nullable"`
	// Weekly rate being charged for the vehicle.
	WeeklyRentalRateAmount int64 `json:"weekly_rental_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the weekly
	// rental rate.
	WeeklyRentalRateCurrency string                                                      `json:"weekly_rental_rate_currency,required,nullable"`
	JSON                     transactionSourceCardSettlementPurchaseDetailsCarRentalJSON `json:"-"`
}

Fields specific to car rentals.

func (*TransactionSourceCardSettlementPurchaseDetailsCarRental) UnmarshalJSON

type TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges

type TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges string

Additional charges (gas, late fee, etc.) being billed.

const (
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesNoExtraCharge    TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesGas              TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "gas"
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesExtraMileage     TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesLateReturn       TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "late_return"
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesOneWayServiceFee TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesParkingViolation TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "parking_violation"
)

func (TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator

type TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator string

An indicator that the cardholder is being billed for a reserved vehicle that was not actually rented (that is, a "no-show" charge).

const (
	TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNotApplicable               TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNoShowForSpecializedVehicle TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "no_show_for_specialized_vehicle"
)

func (TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsLodging

type TransactionSourceCardSettlementPurchaseDetailsLodging struct {
	// Date the customer checked in.
	CheckInDate time.Time `json:"check_in_date,required,nullable" format:"date"`
	// Daily rate being charged for the room.
	DailyRoomRateAmount int64 `json:"daily_room_rate_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the daily room
	// rate.
	DailyRoomRateCurrency string `json:"daily_room_rate_currency,required,nullable"`
	// Additional charges (phone, late check-out, etc.) being billed.
	ExtraCharges TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges `json:"extra_charges,required,nullable"`
	// Folio cash advances for the room.
	FolioCashAdvancesAmount int64 `json:"folio_cash_advances_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the folio cash
	// advances.
	FolioCashAdvancesCurrency string `json:"folio_cash_advances_currency,required,nullable"`
	// Food and beverage charges for the room.
	FoodBeverageChargesAmount int64 `json:"food_beverage_charges_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the food and
	// beverage charges.
	FoodBeverageChargesCurrency string `json:"food_beverage_charges_currency,required,nullable"`
	// Indicator that the cardholder is being billed for a reserved room that was not
	// actually used.
	NoShowIndicator TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator `json:"no_show_indicator,required,nullable"`
	// Prepaid expenses being charged for the room.
	PrepaidExpensesAmount int64 `json:"prepaid_expenses_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the prepaid
	// expenses.
	PrepaidExpensesCurrency string `json:"prepaid_expenses_currency,required,nullable"`
	// Number of nights the room was rented.
	RoomNights int64 `json:"room_nights,required,nullable"`
	// Total room tax being charged.
	TotalRoomTaxAmount int64 `json:"total_room_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total room
	// tax.
	TotalRoomTaxCurrency string `json:"total_room_tax_currency,required,nullable"`
	// Total tax being charged for the room.
	TotalTaxAmount int64 `json:"total_tax_amount,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the total tax
	// assessed.
	TotalTaxCurrency string                                                    `json:"total_tax_currency,required,nullable"`
	JSON             transactionSourceCardSettlementPurchaseDetailsLodgingJSON `json:"-"`
}

Fields specific to lodging.

func (*TransactionSourceCardSettlementPurchaseDetailsLodging) UnmarshalJSON

func (r *TransactionSourceCardSettlementPurchaseDetailsLodging) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges

type TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges string

Additional charges (phone, late check-out, etc.) being billed.

const (
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesNoExtraCharge TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesRestaurant    TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "restaurant"
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesGiftShop      TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "gift_shop"
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesMiniBar       TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "mini_bar"
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesTelephone     TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "telephone"
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesOther         TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "other"
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesLaundry       TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "laundry"
)

func (TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator

type TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator string

Indicator that the cardholder is being billed for a reserved room that was not actually used.

const (
	TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicatorNotApplicable TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicatorNoShow        TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat

type TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatFreeText              TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatOrderNumber           TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber      TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatInvoiceNumber         TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "invoice_number"
)

func (TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravel

type TransactionSourceCardSettlementPurchaseDetailsTravel struct {
	// Ancillary purchases in addition to the airfare.
	Ancillary TransactionSourceCardSettlementPurchaseDetailsTravelAncillary `json:"ancillary,required,nullable"`
	// Indicates the computerized reservation system used to book the ticket.
	ComputerizedReservationSystem string `json:"computerized_reservation_system,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Date of departure.
	DepartureDate time.Time `json:"departure_date,required,nullable" format:"date"`
	// Code for the originating city or airport.
	OriginationCityAirportCode string `json:"origination_city_airport_code,required,nullable"`
	// Name of the passenger.
	PassengerName string `json:"passenger_name,required,nullable"`
	// Indicates whether this ticket is non-refundable.
	RestrictedTicketIndicator TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator `json:"restricted_ticket_indicator,required,nullable"`
	// Indicates why a ticket was changed.
	TicketChangeIndicator TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator `json:"ticket_change_indicator,required,nullable"`
	// Ticket number.
	TicketNumber string `json:"ticket_number,required,nullable"`
	// Code for the travel agency if the ticket was issued by a travel agency.
	TravelAgencyCode string `json:"travel_agency_code,required,nullable"`
	// Name of the travel agency if the ticket was issued by a travel agency.
	TravelAgencyName string `json:"travel_agency_name,required,nullable"`
	// Fields specific to each leg of the journey.
	TripLegs []TransactionSourceCardSettlementPurchaseDetailsTravelTripLeg `json:"trip_legs,required,nullable"`
	JSON     transactionSourceCardSettlementPurchaseDetailsTravelJSON      `json:"-"`
}

Fields specific to travel.

func (*TransactionSourceCardSettlementPurchaseDetailsTravel) UnmarshalJSON

func (r *TransactionSourceCardSettlementPurchaseDetailsTravel) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillary

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillary struct {
	// If this purchase has a connection or relationship to another purchase, such as a
	// baggage fee for a passenger transport ticket, this field should contain the
	// ticket document number for the other purchase.
	ConnectedTicketDocumentNumber string `json:"connected_ticket_document_number,required,nullable"`
	// Indicates the reason for a credit to the cardholder.
	CreditReasonIndicator TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator `json:"credit_reason_indicator,required,nullable"`
	// Name of the passenger or description of the ancillary purchase.
	PassengerNameOrDescription string `json:"passenger_name_or_description,required,nullable"`
	// Additional travel charges, such as baggage fees.
	Services []TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService `json:"services,required"`
	// Ticket document number.
	TicketDocumentNumber string                                                            `json:"ticket_document_number,required,nullable"`
	JSON                 transactionSourceCardSettlementPurchaseDetailsTravelAncillaryJSON `json:"-"`
}

Ancillary purchases in addition to the airfare.

func (*TransactionSourceCardSettlementPurchaseDetailsTravelAncillary) UnmarshalJSON

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit                                                        TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorOther                                                           TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "other"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService struct {
	// Category of the ancillary service.
	Category TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory `json:"category,required,nullable"`
	// Sub-category of the ancillary service, free-form.
	SubCategory string                                                                   `json:"sub_category,required,nullable"`
	JSON        transactionSourceCardSettlementPurchaseDetailsTravelAncillaryServiceJSON `json:"-"`
}

func (*TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService) UnmarshalJSON

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory string

Category of the ancillary service.

const (
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryNone                  TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "none"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBundledService        TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee            TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryChangeFee             TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCargo                 TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset          TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer         TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGiftCard              TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport       TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryLounge                TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMedical               TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage          TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryOther                 TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "other"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee    TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPets                  TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategorySeatFees              TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStandby               TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryServiceFee            TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStore                 TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "store"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryTravelService         TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel   TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUpgrades              TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryWifi                  TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator

type TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorNoCredit                                                        TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation                 TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation                                       TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorOther                                                           TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "other"
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket                                    TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator

type TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions                TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator

type TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNone                   TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "none"
	TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNewTicket              TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "new_ticket"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelTripLeg

type TransactionSourceCardSettlementPurchaseDetailsTravelTripLeg struct {
	// Carrier code (e.g., United Airlines, Jet Blue, etc.).
	CarrierCode string `json:"carrier_code,required,nullable"`
	// Code for the destination city or airport.
	DestinationCityAirportCode string `json:"destination_city_airport_code,required,nullable"`
	// Fare basis code.
	FareBasisCode string `json:"fare_basis_code,required,nullable"`
	// Flight number.
	FlightNumber string `json:"flight_number,required,nullable"`
	// Service class (e.g., first class, business class, etc.).
	ServiceClass string `json:"service_class,required,nullable"`
	// Indicates whether a stopover is allowed on this ticket.
	StopOverCode TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode `json:"stop_over_code,required,nullable"`
	JSON         transactionSourceCardSettlementPurchaseDetailsTravelTripLegJSON          `json:"-"`
}

func (*TransactionSourceCardSettlementPurchaseDetailsTravelTripLeg) UnmarshalJSON

type TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode

type TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode string

Indicates whether a stopover is allowed on this ticket.

const (
	TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeNone               TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "none"
	TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed    TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverNotAllowed TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_not_allowed"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode) IsKnown

type TransactionSourceCardSettlementType

type TransactionSourceCardSettlementType string

A constant representing the object's type. For this resource it will always be `card_settlement`.

const (
	TransactionSourceCardSettlementTypeCardSettlement TransactionSourceCardSettlementType = "card_settlement"
)

func (TransactionSourceCardSettlementType) IsKnown

type TransactionSourceCashbackPayment

type TransactionSourceCashbackPayment struct {
	// The card on which the cashback was accrued.
	AccruedOnCardID string `json:"accrued_on_card_id,required,nullable"`
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction
	// currency.
	Currency TransactionSourceCashbackPaymentCurrency `json:"currency,required"`
	// The end of the period for which this transaction paid cashback.
	PeriodEnd time.Time `json:"period_end,required" format:"date-time"`
	// The start of the period for which this transaction paid cashback.
	PeriodStart time.Time                            `json:"period_start,required" format:"date-time"`
	JSON        transactionSourceCashbackPaymentJSON `json:"-"`
}

A Cashback Payment object. This field will be present in the JSON response if and only if `category` is equal to `cashback_payment`. A Cashback Payment represents the cashback paid to a cardholder for a given period. Cashback is usually paid monthly for the prior month's transactions.

func (*TransactionSourceCashbackPayment) UnmarshalJSON

func (r *TransactionSourceCashbackPayment) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCashbackPaymentCurrency

type TransactionSourceCashbackPaymentCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction currency.

const (
	TransactionSourceCashbackPaymentCurrencyCad TransactionSourceCashbackPaymentCurrency = "CAD"
	TransactionSourceCashbackPaymentCurrencyChf TransactionSourceCashbackPaymentCurrency = "CHF"
	TransactionSourceCashbackPaymentCurrencyEur TransactionSourceCashbackPaymentCurrency = "EUR"
	TransactionSourceCashbackPaymentCurrencyGbp TransactionSourceCashbackPaymentCurrency = "GBP"
	TransactionSourceCashbackPaymentCurrencyJpy TransactionSourceCashbackPaymentCurrency = "JPY"
	TransactionSourceCashbackPaymentCurrencyUsd TransactionSourceCashbackPaymentCurrency = "USD"
)

func (TransactionSourceCashbackPaymentCurrency) IsKnown

type TransactionSourceCategory

type TransactionSourceCategory string

The type of the resource. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.

const (
	TransactionSourceCategoryAccountTransferIntention                    TransactionSourceCategory = "account_transfer_intention"
	TransactionSourceCategoryACHTransferIntention                        TransactionSourceCategory = "ach_transfer_intention"
	TransactionSourceCategoryACHTransferRejection                        TransactionSourceCategory = "ach_transfer_rejection"
	TransactionSourceCategoryACHTransferReturn                           TransactionSourceCategory = "ach_transfer_return"
	TransactionSourceCategoryCashbackPayment                             TransactionSourceCategory = "cashback_payment"
	TransactionSourceCategoryCardDisputeAcceptance                       TransactionSourceCategory = "card_dispute_acceptance"
	TransactionSourceCategoryCardDisputeLoss                             TransactionSourceCategory = "card_dispute_loss"
	TransactionSourceCategoryCardRefund                                  TransactionSourceCategory = "card_refund"
	TransactionSourceCategoryCardSettlement                              TransactionSourceCategory = "card_settlement"
	TransactionSourceCategoryCardRevenuePayment                          TransactionSourceCategory = "card_revenue_payment"
	TransactionSourceCategoryCheckDepositAcceptance                      TransactionSourceCategory = "check_deposit_acceptance"
	TransactionSourceCategoryCheckDepositReturn                          TransactionSourceCategory = "check_deposit_return"
	TransactionSourceCategoryCheckTransferDeposit                        TransactionSourceCategory = "check_transfer_deposit"
	TransactionSourceCategoryFeePayment                                  TransactionSourceCategory = "fee_payment"
	TransactionSourceCategoryInboundACHTransfer                          TransactionSourceCategory = "inbound_ach_transfer"
	TransactionSourceCategoryInboundACHTransferReturnIntention           TransactionSourceCategory = "inbound_ach_transfer_return_intention"
	TransactionSourceCategoryInboundCheckDepositReturnIntention          TransactionSourceCategory = "inbound_check_deposit_return_intention"
	TransactionSourceCategoryInboundCheckAdjustment                      TransactionSourceCategory = "inbound_check_adjustment"
	TransactionSourceCategoryInboundRealTimePaymentsTransferConfirmation TransactionSourceCategory = "inbound_real_time_payments_transfer_confirmation"
	TransactionSourceCategoryInboundRealTimePaymentsTransferDecline      TransactionSourceCategory = "inbound_real_time_payments_transfer_decline"
	TransactionSourceCategoryInboundWireReversal                         TransactionSourceCategory = "inbound_wire_reversal"
	TransactionSourceCategoryInboundWireTransfer                         TransactionSourceCategory = "inbound_wire_transfer"
	TransactionSourceCategoryInboundWireTransferReversal                 TransactionSourceCategory = "inbound_wire_transfer_reversal"
	TransactionSourceCategoryInterestPayment                             TransactionSourceCategory = "interest_payment"
	TransactionSourceCategoryInternalSource                              TransactionSourceCategory = "internal_source"
	TransactionSourceCategoryRealTimePaymentsTransferAcknowledgement     TransactionSourceCategory = "real_time_payments_transfer_acknowledgement"
	TransactionSourceCategorySampleFunds                                 TransactionSourceCategory = "sample_funds"
	TransactionSourceCategoryWireTransferIntention                       TransactionSourceCategory = "wire_transfer_intention"
	TransactionSourceCategorySwiftTransferIntention                      TransactionSourceCategory = "swift_transfer_intention"
	TransactionSourceCategoryCardPushTransferAcceptance                  TransactionSourceCategory = "card_push_transfer_acceptance"
	TransactionSourceCategoryOther                                       TransactionSourceCategory = "other"
)

func (TransactionSourceCategory) IsKnown

func (r TransactionSourceCategory) IsKnown() bool

type TransactionSourceCheckDepositAcceptance

type TransactionSourceCheckDepositAcceptance struct {
	// The account number printed on the check.
	AccountNumber string `json:"account_number,required"`
	// The amount to be deposited in the minor unit of the transaction's currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// An additional line of metadata printed on the check. This typically includes the
	// check number for business checks.
	AuxiliaryOnUs string `json:"auxiliary_on_us,required,nullable"`
	// The ID of the Check Deposit that was accepted.
	CheckDepositID string `json:"check_deposit_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency TransactionSourceCheckDepositAcceptanceCurrency `json:"currency,required"`
	// The routing number printed on the check.
	RoutingNumber string `json:"routing_number,required"`
	// The check serial number, if present, for consumer checks. For business checks,
	// the serial number is usually in the `auxiliary_on_us` field.
	SerialNumber string                                      `json:"serial_number,required,nullable"`
	JSON         transactionSourceCheckDepositAcceptanceJSON `json:"-"`
}

A Check Deposit Acceptance object. This field will be present in the JSON response if and only if `category` is equal to `check_deposit_acceptance`. A Check Deposit Acceptance is created when a Check Deposit is processed and its details confirmed. Check Deposits may be returned by the receiving bank, which will appear as a Check Deposit Return.

func (*TransactionSourceCheckDepositAcceptance) UnmarshalJSON

func (r *TransactionSourceCheckDepositAcceptance) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCheckDepositAcceptanceCurrency

type TransactionSourceCheckDepositAcceptanceCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	TransactionSourceCheckDepositAcceptanceCurrencyCad TransactionSourceCheckDepositAcceptanceCurrency = "CAD"
	TransactionSourceCheckDepositAcceptanceCurrencyChf TransactionSourceCheckDepositAcceptanceCurrency = "CHF"
	TransactionSourceCheckDepositAcceptanceCurrencyEur TransactionSourceCheckDepositAcceptanceCurrency = "EUR"
	TransactionSourceCheckDepositAcceptanceCurrencyGbp TransactionSourceCheckDepositAcceptanceCurrency = "GBP"
	TransactionSourceCheckDepositAcceptanceCurrencyJpy TransactionSourceCheckDepositAcceptanceCurrency = "JPY"
	TransactionSourceCheckDepositAcceptanceCurrencyUsd TransactionSourceCheckDepositAcceptanceCurrency = "USD"
)

func (TransactionSourceCheckDepositAcceptanceCurrency) IsKnown

type TransactionSourceCheckDepositReturn

type TransactionSourceCheckDepositReturn struct {
	// The returned amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The identifier of the Check Deposit that was returned.
	CheckDepositID string `json:"check_deposit_id,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency TransactionSourceCheckDepositReturnCurrency `json:"currency,required"`
	// Why this check was returned by the bank holding the account it was drawn
	// against.
	ReturnReason TransactionSourceCheckDepositReturnReturnReason `json:"return_reason,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the check deposit was returned.
	ReturnedAt time.Time `json:"returned_at,required" format:"date-time"`
	// The identifier of the transaction that reversed the original check deposit
	// transaction.
	TransactionID string                                  `json:"transaction_id,required"`
	JSON          transactionSourceCheckDepositReturnJSON `json:"-"`
}

A Check Deposit Return object. This field will be present in the JSON response if and only if `category` is equal to `check_deposit_return`. A Check Deposit Return is created when a Check Deposit is returned by the bank holding the account it was drawn against. Check Deposits may be returned for a variety of reasons, including insufficient funds or a mismatched account number. Usually, checks are returned within the first 7 days after the deposit is made.

func (*TransactionSourceCheckDepositReturn) UnmarshalJSON

func (r *TransactionSourceCheckDepositReturn) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCheckDepositReturnCurrency

type TransactionSourceCheckDepositReturnCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.

const (
	TransactionSourceCheckDepositReturnCurrencyCad TransactionSourceCheckDepositReturnCurrency = "CAD"
	TransactionSourceCheckDepositReturnCurrencyChf TransactionSourceCheckDepositReturnCurrency = "CHF"
	TransactionSourceCheckDepositReturnCurrencyEur TransactionSourceCheckDepositReturnCurrency = "EUR"
	TransactionSourceCheckDepositReturnCurrencyGbp TransactionSourceCheckDepositReturnCurrency = "GBP"
	TransactionSourceCheckDepositReturnCurrencyJpy TransactionSourceCheckDepositReturnCurrency = "JPY"
	TransactionSourceCheckDepositReturnCurrencyUsd TransactionSourceCheckDepositReturnCurrency = "USD"
)

func (TransactionSourceCheckDepositReturnCurrency) IsKnown

type TransactionSourceCheckDepositReturnReturnReason

type TransactionSourceCheckDepositReturnReturnReason string

Why this check was returned by the bank holding the account it was drawn against.

const (
	TransactionSourceCheckDepositReturnReturnReasonACHConversionNotSupported TransactionSourceCheckDepositReturnReturnReason = "ach_conversion_not_supported"
	TransactionSourceCheckDepositReturnReturnReasonClosedAccount             TransactionSourceCheckDepositReturnReturnReason = "closed_account"
	TransactionSourceCheckDepositReturnReturnReasonDuplicateSubmission       TransactionSourceCheckDepositReturnReturnReason = "duplicate_submission"
	TransactionSourceCheckDepositReturnReturnReasonInsufficientFunds         TransactionSourceCheckDepositReturnReturnReason = "insufficient_funds"
	TransactionSourceCheckDepositReturnReturnReasonNoAccount                 TransactionSourceCheckDepositReturnReturnReason = "no_account"
	TransactionSourceCheckDepositReturnReturnReasonNotAuthorized             TransactionSourceCheckDepositReturnReturnReason = "not_authorized"
	TransactionSourceCheckDepositReturnReturnReasonStaleDated                TransactionSourceCheckDepositReturnReturnReason = "stale_dated"
	TransactionSourceCheckDepositReturnReturnReasonStopPayment               TransactionSourceCheckDepositReturnReturnReason = "stop_payment"
	TransactionSourceCheckDepositReturnReturnReasonUnknownReason             TransactionSourceCheckDepositReturnReturnReason = "unknown_reason"
	TransactionSourceCheckDepositReturnReturnReasonUnmatchedDetails          TransactionSourceCheckDepositReturnReturnReason = "unmatched_details"
	TransactionSourceCheckDepositReturnReturnReasonUnreadableImage           TransactionSourceCheckDepositReturnReturnReason = "unreadable_image"
	TransactionSourceCheckDepositReturnReturnReasonEndorsementIrregular      TransactionSourceCheckDepositReturnReturnReason = "endorsement_irregular"
	TransactionSourceCheckDepositReturnReturnReasonAlteredOrFictitiousItem   TransactionSourceCheckDepositReturnReturnReason = "altered_or_fictitious_item"
	TransactionSourceCheckDepositReturnReturnReasonFrozenOrBlockedAccount    TransactionSourceCheckDepositReturnReturnReason = "frozen_or_blocked_account"
	TransactionSourceCheckDepositReturnReturnReasonPostDated                 TransactionSourceCheckDepositReturnReturnReason = "post_dated"
	TransactionSourceCheckDepositReturnReturnReasonEndorsementMissing        TransactionSourceCheckDepositReturnReturnReason = "endorsement_missing"
	TransactionSourceCheckDepositReturnReturnReasonSignatureMissing          TransactionSourceCheckDepositReturnReturnReason = "signature_missing"
	TransactionSourceCheckDepositReturnReturnReasonStopPaymentSuspect        TransactionSourceCheckDepositReturnReturnReason = "stop_payment_suspect"
	TransactionSourceCheckDepositReturnReturnReasonUnusableImage             TransactionSourceCheckDepositReturnReturnReason = "unusable_image"
	TransactionSourceCheckDepositReturnReturnReasonImageFailsSecurityCheck   TransactionSourceCheckDepositReturnReturnReason = "image_fails_security_check"
	TransactionSourceCheckDepositReturnReturnReasonCannotDetermineAmount     TransactionSourceCheckDepositReturnReturnReason = "cannot_determine_amount"
	TransactionSourceCheckDepositReturnReturnReasonSignatureIrregular        TransactionSourceCheckDepositReturnReturnReason = "signature_irregular"
	TransactionSourceCheckDepositReturnReturnReasonNonCashItem               TransactionSourceCheckDepositReturnReturnReason = "non_cash_item"
	TransactionSourceCheckDepositReturnReturnReasonUnableToProcess           TransactionSourceCheckDepositReturnReturnReason = "unable_to_process"
	TransactionSourceCheckDepositReturnReturnReasonItemExceedsDollarLimit    TransactionSourceCheckDepositReturnReturnReason = "item_exceeds_dollar_limit"
	TransactionSourceCheckDepositReturnReturnReasonBranchOrAccountSold       TransactionSourceCheckDepositReturnReturnReason = "branch_or_account_sold"
)

func (TransactionSourceCheckDepositReturnReturnReason) IsKnown

type TransactionSourceCheckTransferDeposit

type TransactionSourceCheckTransferDeposit struct {
	// The identifier of the API File object containing an image of the back of the
	// deposited check.
	BackImageFileID string `json:"back_image_file_id,required,nullable"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// bank depositing this check. In some rare cases, this is not transmitted via
	// Check21 and the value will be null.
	BankOfFirstDepositRoutingNumber string `json:"bank_of_first_deposit_routing_number,required,nullable"`
	// When the check was deposited.
	DepositedAt time.Time `json:"deposited_at,required" format:"date-time"`
	// The identifier of the API File object containing an image of the front of the
	// deposited check.
	FrontImageFileID string `json:"front_image_file_id,required,nullable"`
	// The identifier of the Inbound Check Deposit object associated with this
	// transaction.
	InboundCheckDepositID string `json:"inbound_check_deposit_id,required,nullable"`
	// The identifier of the Transaction object created when the check was deposited.
	TransactionID string `json:"transaction_id,required,nullable"`
	// The identifier of the Check Transfer object that was deposited.
	TransferID string `json:"transfer_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `check_transfer_deposit`.
	Type TransactionSourceCheckTransferDepositType `json:"type,required"`
	JSON transactionSourceCheckTransferDepositJSON `json:"-"`
}

A Check Transfer Deposit object. This field will be present in the JSON response if and only if `category` is equal to `check_transfer_deposit`. An Inbound Check is a check drawn on an Increase account that has been deposited by an external bank account. These types of checks are not pre-registered.

func (*TransactionSourceCheckTransferDeposit) UnmarshalJSON

func (r *TransactionSourceCheckTransferDeposit) UnmarshalJSON(data []byte) (err error)

type TransactionSourceCheckTransferDepositType

type TransactionSourceCheckTransferDepositType string

A constant representing the object's type. For this resource it will always be `check_transfer_deposit`.

const (
	TransactionSourceCheckTransferDepositTypeCheckTransferDeposit TransactionSourceCheckTransferDepositType = "check_transfer_deposit"
)

func (TransactionSourceCheckTransferDepositType) IsKnown

type TransactionSourceFeePayment

type TransactionSourceFeePayment struct {
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction
	// currency.
	Currency TransactionSourceFeePaymentCurrency `json:"currency,required"`
	// The start of this payment's fee period, usually the first day of a month.
	FeePeriodStart time.Time `json:"fee_period_start,required" format:"date"`
	// The Program for which this fee was incurred.
	ProgramID string                          `json:"program_id,required,nullable"`
	JSON      transactionSourceFeePaymentJSON `json:"-"`
}

A Fee Payment object. This field will be present in the JSON response if and only if `category` is equal to `fee_payment`. A Fee Payment represents a payment made to Increase.

func (*TransactionSourceFeePayment) UnmarshalJSON

func (r *TransactionSourceFeePayment) UnmarshalJSON(data []byte) (err error)

type TransactionSourceFeePaymentCurrency

type TransactionSourceFeePaymentCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction currency.

const (
	TransactionSourceFeePaymentCurrencyCad TransactionSourceFeePaymentCurrency = "CAD"
	TransactionSourceFeePaymentCurrencyChf TransactionSourceFeePaymentCurrency = "CHF"
	TransactionSourceFeePaymentCurrencyEur TransactionSourceFeePaymentCurrency = "EUR"
	TransactionSourceFeePaymentCurrencyGbp TransactionSourceFeePaymentCurrency = "GBP"
	TransactionSourceFeePaymentCurrencyJpy TransactionSourceFeePaymentCurrency = "JPY"
	TransactionSourceFeePaymentCurrencyUsd TransactionSourceFeePaymentCurrency = "USD"
)

func (TransactionSourceFeePaymentCurrency) IsKnown

type TransactionSourceInboundACHTransfer

type TransactionSourceInboundACHTransfer struct {
	// Additional information sent from the originator.
	Addenda TransactionSourceInboundACHTransferAddenda `json:"addenda,required,nullable"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The description of the date of the transfer, usually in the format `YYMMDD`.
	OriginatorCompanyDescriptiveDate string `json:"originator_company_descriptive_date,required,nullable"`
	// Data set by the originator.
	OriginatorCompanyDiscretionaryData string `json:"originator_company_discretionary_data,required,nullable"`
	// An informational description of the transfer.
	OriginatorCompanyEntryDescription string `json:"originator_company_entry_description,required"`
	// An identifier for the originating company. This is generally, but not always, a
	// stable identifier across multiple transfers.
	OriginatorCompanyID string `json:"originator_company_id,required"`
	// A name set by the originator to identify themselves.
	OriginatorCompanyName string `json:"originator_company_name,required"`
	// The originator's identifier for the transfer recipient.
	ReceiverIDNumber string `json:"receiver_id_number,required,nullable"`
	// The name of the transfer recipient. This value is informational and not verified
	// by Increase.
	ReceiverName string `json:"receiver_name,required,nullable"`
	// A 15 digit number recorded in the Nacha file and available to both the
	// originating and receiving bank. Along with the amount, date, and originating
	// routing number, this can be used to identify the ACH transfer at either bank.
	// ACH trace numbers are not unique, but are
	// [used to correlate returns](https://increase.com/documentation/ach-returns#ach-returns).
	TraceNumber string `json:"trace_number,required"`
	// The Inbound ACH Transfer's identifier.
	TransferID string                                  `json:"transfer_id,required"`
	JSON       transactionSourceInboundACHTransferJSON `json:"-"`
}

An Inbound ACH Transfer Intention object. This field will be present in the JSON response if and only if `category` is equal to `inbound_ach_transfer`. An Inbound ACH Transfer Intention is created when an ACH transfer is initiated at another bank and received by Increase.

func (*TransactionSourceInboundACHTransfer) UnmarshalJSON

func (r *TransactionSourceInboundACHTransfer) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundACHTransferAddenda

type TransactionSourceInboundACHTransferAddenda struct {
	// The type of addendum.
	Category TransactionSourceInboundACHTransferAddendaCategory `json:"category,required"`
	// Unstructured `payment_related_information` passed through by the originator.
	Freeform TransactionSourceInboundACHTransferAddendaFreeform `json:"freeform,required,nullable"`
	JSON     transactionSourceInboundACHTransferAddendaJSON     `json:"-"`
}

Additional information sent from the originator.

func (*TransactionSourceInboundACHTransferAddenda) UnmarshalJSON

func (r *TransactionSourceInboundACHTransferAddenda) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundACHTransferAddendaCategory

type TransactionSourceInboundACHTransferAddendaCategory string

The type of addendum.

const (
	TransactionSourceInboundACHTransferAddendaCategoryFreeform TransactionSourceInboundACHTransferAddendaCategory = "freeform"
)

func (TransactionSourceInboundACHTransferAddendaCategory) IsKnown

type TransactionSourceInboundACHTransferAddendaFreeform

type TransactionSourceInboundACHTransferAddendaFreeform struct {
	// Each entry represents an addendum received from the originator.
	Entries []TransactionSourceInboundACHTransferAddendaFreeformEntry `json:"entries,required"`
	JSON    transactionSourceInboundACHTransferAddendaFreeformJSON    `json:"-"`
}

Unstructured `payment_related_information` passed through by the originator.

func (*TransactionSourceInboundACHTransferAddendaFreeform) UnmarshalJSON

func (r *TransactionSourceInboundACHTransferAddendaFreeform) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundACHTransferAddendaFreeformEntry

type TransactionSourceInboundACHTransferAddendaFreeformEntry struct {
	// The payment related information passed in the addendum.
	PaymentRelatedInformation string                                                      `json:"payment_related_information,required"`
	JSON                      transactionSourceInboundACHTransferAddendaFreeformEntryJSON `json:"-"`
}

func (*TransactionSourceInboundACHTransferAddendaFreeformEntry) UnmarshalJSON

type TransactionSourceInboundACHTransferReturnIntention added in v0.178.0

type TransactionSourceInboundACHTransferReturnIntention struct {
	// The ID of the Inbound ACH Transfer that is being returned.
	InboundACHTransferID string                                                 `json:"inbound_ach_transfer_id,required"`
	JSON                 transactionSourceInboundACHTransferReturnIntentionJSON `json:"-"`
}

An Inbound ACH Transfer Return Intention object. This field will be present in the JSON response if and only if `category` is equal to `inbound_ach_transfer_return_intention`. An Inbound ACH Transfer Return Intention is created when an ACH transfer is initiated at another bank and returned by Increase.

func (*TransactionSourceInboundACHTransferReturnIntention) UnmarshalJSON added in v0.178.0

func (r *TransactionSourceInboundACHTransferReturnIntention) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundCheckAdjustment added in v0.178.0

type TransactionSourceInboundCheckAdjustment struct {
	// The ID of the transaction that was adjusted.
	AdjustedTransactionID string `json:"adjusted_transaction_id,required"`
	// The amount of the check adjustment.
	Amount int64 `json:"amount,required"`
	// The reason for the adjustment.
	Reason TransactionSourceInboundCheckAdjustmentReason `json:"reason,required"`
	JSON   transactionSourceInboundCheckAdjustmentJSON   `json:"-"`
}

An Inbound Check Adjustment object. This field will be present in the JSON response if and only if `category` is equal to `inbound_check_adjustment`. An Inbound Check Adjustment is created when Increase receives an adjustment for a check or return deposited through Check21.

func (*TransactionSourceInboundCheckAdjustment) UnmarshalJSON added in v0.178.0

func (r *TransactionSourceInboundCheckAdjustment) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundCheckAdjustmentReason added in v0.178.0

type TransactionSourceInboundCheckAdjustmentReason string

The reason for the adjustment.

const (
	TransactionSourceInboundCheckAdjustmentReasonLateReturn        TransactionSourceInboundCheckAdjustmentReason = "late_return"
	TransactionSourceInboundCheckAdjustmentReasonWrongPayeeCredit  TransactionSourceInboundCheckAdjustmentReason = "wrong_payee_credit"
	TransactionSourceInboundCheckAdjustmentReasonAdjustedAmount    TransactionSourceInboundCheckAdjustmentReason = "adjusted_amount"
	TransactionSourceInboundCheckAdjustmentReasonNonConformingItem TransactionSourceInboundCheckAdjustmentReason = "non_conforming_item"
)

func (TransactionSourceInboundCheckAdjustmentReason) IsKnown added in v0.178.0

type TransactionSourceInboundCheckDepositReturnIntention added in v0.178.0

type TransactionSourceInboundCheckDepositReturnIntention struct {
	// The ID of the Inbound Check Deposit that is being returned.
	InboundCheckDepositID string `json:"inbound_check_deposit_id,required"`
	// The identifier of the Check Transfer object that was deposited.
	TransferID string                                                  `json:"transfer_id,required,nullable"`
	JSON       transactionSourceInboundCheckDepositReturnIntentionJSON `json:"-"`
}

An Inbound Check Deposit Return Intention object. This field will be present in the JSON response if and only if `category` is equal to `inbound_check_deposit_return_intention`. An Inbound Check Deposit Return Intention is created when Increase receives an Inbound Check and the User requests that it be returned.

func (*TransactionSourceInboundCheckDepositReturnIntention) UnmarshalJSON added in v0.178.0

func (r *TransactionSourceInboundCheckDepositReturnIntention) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundRealTimePaymentsTransferConfirmation

type TransactionSourceInboundRealTimePaymentsTransferConfirmation struct {
	// The amount in the minor unit of the transfer's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The name the sender of the transfer specified as the recipient of the transfer.
	CreditorName string `json:"creditor_name,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the transfer's
	// currency. This will always be "USD" for a Real-Time Payments transfer.
	Currency TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency `json:"currency,required"`
	// The account number of the account that sent the transfer.
	DebtorAccountNumber string `json:"debtor_account_number,required"`
	// The name provided by the sender of the transfer.
	DebtorName string `json:"debtor_name,required"`
	// The routing number of the account that sent the transfer.
	DebtorRoutingNumber string `json:"debtor_routing_number,required"`
	// Additional information included with the transfer.
	RemittanceInformation string `json:"remittance_information,required,nullable"`
	// The Real-Time Payments network identification of the transfer.
	TransactionIdentification string `json:"transaction_identification,required"`
	// The identifier of the Real-Time Payments Transfer that led to this Transaction.
	TransferID string                                                           `json:"transfer_id,required"`
	JSON       transactionSourceInboundRealTimePaymentsTransferConfirmationJSON `json:"-"`
}

An Inbound Real-Time Payments Transfer Confirmation object. This field will be present in the JSON response if and only if `category` is equal to `inbound_real_time_payments_transfer_confirmation`. An Inbound Real-Time Payments Transfer Confirmation is created when a Real-Time Payments transfer is initiated at another bank and received by Increase.

func (*TransactionSourceInboundRealTimePaymentsTransferConfirmation) UnmarshalJSON

type TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency

type TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the transfer's currency. This will always be "USD" for a Real-Time Payments transfer.

const (
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyCad TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "CAD"
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyChf TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "CHF"
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyEur TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "EUR"
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyGbp TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "GBP"
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyJpy TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "JPY"
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyUsd TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "USD"
)

func (TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency) IsKnown

type TransactionSourceInboundRealTimePaymentsTransferDecline added in v0.99.0

type TransactionSourceInboundRealTimePaymentsTransferDecline struct {
	// The declined amount in the minor unit of the destination account currency. For
	// dollars, for example, this is cents.
	Amount int64 `json:"amount,required"`
	// The name the sender of the transfer specified as the recipient of the transfer.
	CreditorName string `json:"creditor_name,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the declined
	// transfer's currency. This will always be "USD" for a Real-Time Payments
	// transfer.
	Currency TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency `json:"currency,required"`
	// The account number of the account that sent the transfer.
	DebtorAccountNumber string `json:"debtor_account_number,required"`
	// The name provided by the sender of the transfer.
	DebtorName string `json:"debtor_name,required"`
	// The routing number of the account that sent the transfer.
	DebtorRoutingNumber string `json:"debtor_routing_number,required"`
	// Why the transfer was declined.
	Reason TransactionSourceInboundRealTimePaymentsTransferDeclineReason `json:"reason,required"`
	// Additional information included with the transfer.
	RemittanceInformation string `json:"remittance_information,required,nullable"`
	// The Real-Time Payments network identification of the declined transfer.
	TransactionIdentification string `json:"transaction_identification,required"`
	// The identifier of the Real-Time Payments Transfer that led to this Transaction.
	TransferID string                                                      `json:"transfer_id,required"`
	JSON       transactionSourceInboundRealTimePaymentsTransferDeclineJSON `json:"-"`
}

An Inbound Real-Time Payments Transfer Decline object. This field will be present in the JSON response if and only if `category` is equal to `inbound_real_time_payments_transfer_decline`.

func (*TransactionSourceInboundRealTimePaymentsTransferDecline) UnmarshalJSON added in v0.99.0

type TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency added in v0.99.0

type TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the declined transfer's currency. This will always be "USD" for a Real-Time Payments transfer.

const (
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyCad TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CAD"
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyChf TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CHF"
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyEur TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "EUR"
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyGbp TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "GBP"
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyJpy TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "JPY"
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyUsd TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "USD"
)

func (TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency) IsKnown added in v0.99.0

type TransactionSourceInboundRealTimePaymentsTransferDeclineReason added in v0.99.0

type TransactionSourceInboundRealTimePaymentsTransferDeclineReason string

Why the transfer was declined.

const (
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled      TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled      TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountRestricted          TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonGroupLocked                TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "group_locked"
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonEntityNotActive            TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonRealTimePaymentsNotEnabled TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "real_time_payments_not_enabled"
)

func (TransactionSourceInboundRealTimePaymentsTransferDeclineReason) IsKnown added in v0.99.0

type TransactionSourceInboundWireReversal

type TransactionSourceInboundWireReversal struct {
	// The amount that was reversed in USD cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the reversal was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The description on the reversal message from Fedwire, set by the reversing bank.
	Description string `json:"description,required"`
	// Additional financial institution information included in the wire reversal.
	FinancialInstitutionToFinancialInstitutionInformation string `json:"financial_institution_to_financial_institution_information,required,nullable"`
	// The Fedwire cycle date for the wire reversal. The "Fedwire day" begins at 9:00
	// PM Eastern Time on the evening before the `cycle date`.
	InputCycleDate time.Time `json:"input_cycle_date,required" format:"date"`
	// The Fedwire transaction identifier.
	InputMessageAccountabilityData string `json:"input_message_accountability_data,required"`
	// The Fedwire sequence number.
	InputSequenceNumber string `json:"input_sequence_number,required"`
	// The Fedwire input source identifier.
	InputSource string `json:"input_source,required"`
	// The American Banking Association (ABA) routing number of the bank originating
	// the transfer.
	OriginatorRoutingNumber string `json:"originator_routing_number,required,nullable"`
	// The Fedwire cycle date for the wire transfer that is being reversed by this
	// message.
	PreviousMessageInputCycleDate time.Time `json:"previous_message_input_cycle_date,required" format:"date"`
	// The Fedwire transaction identifier for the wire transfer that was reversed.
	PreviousMessageInputMessageAccountabilityData string `json:"previous_message_input_message_accountability_data,required"`
	// The Fedwire sequence number for the wire transfer that was reversed.
	PreviousMessageInputSequenceNumber string `json:"previous_message_input_sequence_number,required"`
	// The Fedwire input source identifier for the wire transfer that was reversed.
	PreviousMessageInputSource string `json:"previous_message_input_source,required"`
	// Information included in the wire reversal for the receiving financial
	// institution.
	ReceiverFinancialInstitutionInformation string `json:"receiver_financial_institution_information,required,nullable"`
	// The sending bank's reference number for the wire reversal.
	SenderReference string `json:"sender_reference,required,nullable"`
	// The ID for the Transaction associated with the transfer reversal.
	TransactionID string `json:"transaction_id,required"`
	// The ID for the Wire Transfer that is being reversed.
	WireTransferID string                                   `json:"wire_transfer_id,required"`
	JSON           transactionSourceInboundWireReversalJSON `json:"-"`
}

An Inbound Wire Reversal object. This field will be present in the JSON response if and only if `category` is equal to `inbound_wire_reversal`. An Inbound Wire Reversal represents a reversal of a wire transfer that was initiated via Increase. The other bank is sending the money back. This most often happens when the original destination account details were incorrect.

func (*TransactionSourceInboundWireReversal) UnmarshalJSON

func (r *TransactionSourceInboundWireReversal) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundWireTransfer

type TransactionSourceInboundWireTransfer struct {
	// The amount in USD cents.
	Amount int64 `json:"amount,required"`
	// A free-form address field set by the sender.
	BeneficiaryAddressLine1 string `json:"beneficiary_address_line1,required,nullable"`
	// A free-form address field set by the sender.
	BeneficiaryAddressLine2 string `json:"beneficiary_address_line2,required,nullable"`
	// A free-form address field set by the sender.
	BeneficiaryAddressLine3 string `json:"beneficiary_address_line3,required,nullable"`
	// A name set by the sender.
	BeneficiaryName string `json:"beneficiary_name,required,nullable"`
	// A free-form reference string set by the sender, to help identify the transfer.
	BeneficiaryReference string `json:"beneficiary_reference,required,nullable"`
	// An Increase-constructed description of the transfer.
	Description string `json:"description,required"`
	// A unique identifier available to the originating and receiving banks, commonly
	// abbreviated as IMAD. It is created when the wire is submitted to the Fedwire
	// service and is helpful when debugging wires with the originating bank.
	InputMessageAccountabilityData string `json:"input_message_accountability_data,required,nullable"`
	// The address of the wire originator, set by the sending bank.
	OriginatorAddressLine1 string `json:"originator_address_line1,required,nullable"`
	// The address of the wire originator, set by the sending bank.
	OriginatorAddressLine2 string `json:"originator_address_line2,required,nullable"`
	// The address of the wire originator, set by the sending bank.
	OriginatorAddressLine3 string `json:"originator_address_line3,required,nullable"`
	// The originator of the wire, set by the sending bank.
	OriginatorName string `json:"originator_name,required,nullable"`
	// The American Banking Association (ABA) routing number of the bank originating
	// the transfer.
	OriginatorRoutingNumber string `json:"originator_routing_number,required,nullable"`
	// An Increase-created concatenation of the Originator-to-Beneficiary lines.
	OriginatorToBeneficiaryInformation string `json:"originator_to_beneficiary_information,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine1 string `json:"originator_to_beneficiary_information_line1,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine2 string `json:"originator_to_beneficiary_information_line2,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine3 string `json:"originator_to_beneficiary_information_line3,required,nullable"`
	// A free-form message set by the wire originator.
	OriginatorToBeneficiaryInformationLine4 string `json:"originator_to_beneficiary_information_line4,required,nullable"`
	// The ID of the Inbound Wire Transfer object that resulted in this Transaction.
	TransferID string                                   `json:"transfer_id,required"`
	JSON       transactionSourceInboundWireTransferJSON `json:"-"`
}

An Inbound Wire Transfer Intention object. This field will be present in the JSON response if and only if `category` is equal to `inbound_wire_transfer`. An Inbound Wire Transfer Intention is created when a wire transfer is initiated at another bank and received by Increase.

func (*TransactionSourceInboundWireTransfer) UnmarshalJSON

func (r *TransactionSourceInboundWireTransfer) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInboundWireTransferReversal added in v0.178.0

type TransactionSourceInboundWireTransferReversal struct {
	// The ID of the Inbound Wire Transfer that is being reversed.
	InboundWireTransferID string                                           `json:"inbound_wire_transfer_id,required"`
	JSON                  transactionSourceInboundWireTransferReversalJSON `json:"-"`
}

An Inbound Wire Transfer Reversal Intention object. This field will be present in the JSON response if and only if `category` is equal to `inbound_wire_transfer_reversal`. An Inbound Wire Transfer Reversal Intention is created when Increase has received a wire and the User requests that it be reversed.

func (*TransactionSourceInboundWireTransferReversal) UnmarshalJSON added in v0.178.0

func (r *TransactionSourceInboundWireTransferReversal) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInterestPayment

type TransactionSourceInterestPayment struct {
	// The account on which the interest was accrued.
	AccruedOnAccountID string `json:"accrued_on_account_id,required"`
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction
	// currency.
	Currency TransactionSourceInterestPaymentCurrency `json:"currency,required"`
	// The end of the period for which this transaction paid interest.
	PeriodEnd time.Time `json:"period_end,required" format:"date-time"`
	// The start of the period for which this transaction paid interest.
	PeriodStart time.Time                            `json:"period_start,required" format:"date-time"`
	JSON        transactionSourceInterestPaymentJSON `json:"-"`
}

An Interest Payment object. This field will be present in the JSON response if and only if `category` is equal to `interest_payment`. An Interest Payment represents a payment of interest on an account. Interest is usually paid monthly.

func (*TransactionSourceInterestPayment) UnmarshalJSON

func (r *TransactionSourceInterestPayment) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInterestPaymentCurrency

type TransactionSourceInterestPaymentCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction currency.

const (
	TransactionSourceInterestPaymentCurrencyCad TransactionSourceInterestPaymentCurrency = "CAD"
	TransactionSourceInterestPaymentCurrencyChf TransactionSourceInterestPaymentCurrency = "CHF"
	TransactionSourceInterestPaymentCurrencyEur TransactionSourceInterestPaymentCurrency = "EUR"
	TransactionSourceInterestPaymentCurrencyGbp TransactionSourceInterestPaymentCurrency = "GBP"
	TransactionSourceInterestPaymentCurrencyJpy TransactionSourceInterestPaymentCurrency = "JPY"
	TransactionSourceInterestPaymentCurrencyUsd TransactionSourceInterestPaymentCurrency = "USD"
)

func (TransactionSourceInterestPaymentCurrency) IsKnown

type TransactionSourceInternalSource

type TransactionSourceInternalSource struct {
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction
	// currency.
	Currency TransactionSourceInternalSourceCurrency `json:"currency,required"`
	// An Internal Source is a transaction between you and Increase. This describes the
	// reason for the transaction.
	Reason TransactionSourceInternalSourceReason `json:"reason,required"`
	JSON   transactionSourceInternalSourceJSON   `json:"-"`
}

An Internal Source object. This field will be present in the JSON response if and only if `category` is equal to `internal_source`. A transaction between the user and Increase. See the `reason` attribute for more information.

func (*TransactionSourceInternalSource) UnmarshalJSON

func (r *TransactionSourceInternalSource) UnmarshalJSON(data []byte) (err error)

type TransactionSourceInternalSourceCurrency

type TransactionSourceInternalSourceCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction currency.

const (
	TransactionSourceInternalSourceCurrencyCad TransactionSourceInternalSourceCurrency = "CAD"
	TransactionSourceInternalSourceCurrencyChf TransactionSourceInternalSourceCurrency = "CHF"
	TransactionSourceInternalSourceCurrencyEur TransactionSourceInternalSourceCurrency = "EUR"
	TransactionSourceInternalSourceCurrencyGbp TransactionSourceInternalSourceCurrency = "GBP"
	TransactionSourceInternalSourceCurrencyJpy TransactionSourceInternalSourceCurrency = "JPY"
	TransactionSourceInternalSourceCurrencyUsd TransactionSourceInternalSourceCurrency = "USD"
)

func (TransactionSourceInternalSourceCurrency) IsKnown

type TransactionSourceInternalSourceReason

type TransactionSourceInternalSourceReason string

An Internal Source is a transaction between you and Increase. This describes the reason for the transaction.

const (
	TransactionSourceInternalSourceReasonAccountClosure             TransactionSourceInternalSourceReason = "account_closure"
	TransactionSourceInternalSourceReasonBankDrawnCheck             TransactionSourceInternalSourceReason = "bank_drawn_check"
	TransactionSourceInternalSourceReasonBankDrawnCheckCredit       TransactionSourceInternalSourceReason = "bank_drawn_check_credit"
	TransactionSourceInternalSourceReasonBankMigration              TransactionSourceInternalSourceReason = "bank_migration"
	TransactionSourceInternalSourceReasonCheckAdjustment            TransactionSourceInternalSourceReason = "check_adjustment"
	TransactionSourceInternalSourceReasonCollectionPayment          TransactionSourceInternalSourceReason = "collection_payment"
	TransactionSourceInternalSourceReasonCollectionReceivable       TransactionSourceInternalSourceReason = "collection_receivable"
	TransactionSourceInternalSourceReasonEmpyrealAdjustment         TransactionSourceInternalSourceReason = "empyreal_adjustment"
	TransactionSourceInternalSourceReasonError                      TransactionSourceInternalSourceReason = "error"
	TransactionSourceInternalSourceReasonErrorCorrection            TransactionSourceInternalSourceReason = "error_correction"
	TransactionSourceInternalSourceReasonFees                       TransactionSourceInternalSourceReason = "fees"
	TransactionSourceInternalSourceReasonInterest                   TransactionSourceInternalSourceReason = "interest"
	TransactionSourceInternalSourceReasonNegativeBalanceForgiveness TransactionSourceInternalSourceReason = "negative_balance_forgiveness"
	TransactionSourceInternalSourceReasonSampleFunds                TransactionSourceInternalSourceReason = "sample_funds"
	TransactionSourceInternalSourceReasonSampleFundsReturn          TransactionSourceInternalSourceReason = "sample_funds_return"
)

func (TransactionSourceInternalSourceReason) IsKnown

type TransactionSourceRealTimePaymentsTransferAcknowledgement

type TransactionSourceRealTimePaymentsTransferAcknowledgement struct {
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The destination account number.
	DestinationAccountNumber string `json:"destination_account_number,required"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN).
	DestinationRoutingNumber string `json:"destination_routing_number,required"`
	// Unstructured information that will show on the recipient's bank statement.
	RemittanceInformation string `json:"remittance_information,required"`
	// The identifier of the Real-Time Payments Transfer that led to this Transaction.
	TransferID string                                                       `json:"transfer_id,required"`
	JSON       transactionSourceRealTimePaymentsTransferAcknowledgementJSON `json:"-"`
}

A Real-Time Payments Transfer Acknowledgement object. This field will be present in the JSON response if and only if `category` is equal to `real_time_payments_transfer_acknowledgement`. A Real-Time Payments Transfer Acknowledgement is created when a Real-Time Payments Transfer sent from Increase is acknowledged by the receiving bank.

func (*TransactionSourceRealTimePaymentsTransferAcknowledgement) UnmarshalJSON

type TransactionSourceSampleFunds

type TransactionSourceSampleFunds struct {
	// Where the sample funds came from.
	Originator string                           `json:"originator,required"`
	JSON       transactionSourceSampleFundsJSON `json:"-"`
}

A Sample Funds object. This field will be present in the JSON response if and only if `category` is equal to `sample_funds`. Sample funds for testing purposes.

func (*TransactionSourceSampleFunds) UnmarshalJSON

func (r *TransactionSourceSampleFunds) UnmarshalJSON(data []byte) (err error)

type TransactionSourceSwiftTransferIntention added in v0.223.0

type TransactionSourceSwiftTransferIntention struct {
	// The identifier of the Swift Transfer that led to this Transaction.
	TransferID string                                      `json:"transfer_id,required"`
	JSON       transactionSourceSwiftTransferIntentionJSON `json:"-"`
}

A Swift Transfer Intention object. This field will be present in the JSON response if and only if `category` is equal to `swift_transfer_intention`. A Swift Transfer initiated via Increase.

func (*TransactionSourceSwiftTransferIntention) UnmarshalJSON added in v0.223.0

func (r *TransactionSourceSwiftTransferIntention) UnmarshalJSON(data []byte) (err error)

type TransactionSourceWireTransferIntention

type TransactionSourceWireTransferIntention struct {
	// The destination account number.
	AccountNumber string `json:"account_number,required"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The message that will show on the recipient's bank statement.
	MessageToRecipient string `json:"message_to_recipient,required"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN).
	RoutingNumber string `json:"routing_number,required"`
	// The identifier of the Wire Transfer that led to this Transaction.
	TransferID string                                     `json:"transfer_id,required"`
	JSON       transactionSourceWireTransferIntentionJSON `json:"-"`
}

A Wire Transfer Intention object. This field will be present in the JSON response if and only if `category` is equal to `wire_transfer_intention`. A Wire Transfer initiated via Increase and sent to a different bank.

func (*TransactionSourceWireTransferIntention) UnmarshalJSON

func (r *TransactionSourceWireTransferIntention) UnmarshalJSON(data []byte) (err error)

type TransactionType

type TransactionType string

A constant representing the object's type. For this resource it will always be `transaction`.

const (
	TransactionTypeTransaction TransactionType = "transaction"
)

func (TransactionType) IsKnown

func (r TransactionType) IsKnown() bool

type WebhookService

type WebhookService struct {
	Options []option.RequestOption
}

WebhookService contains methods and other services that help with interacting with the increase 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 NewWebhookService method instead.

func NewWebhookService

func NewWebhookService(opts ...option.RequestOption) (r *WebhookService)

NewWebhookService 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 WireDrawdownRequest

type WireDrawdownRequest struct {
	// The Wire drawdown request identifier.
	ID string `json:"id,required"`
	// The Account Number to which the debtor—the recipient of this request—is being
	// requested to send funds.
	AccountNumberID string `json:"account_number_id,required"`
	// The amount being requested in cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the wire drawdown request was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The creditor's address.
	CreditorAddress WireDrawdownRequestCreditorAddress `json:"creditor_address,required"`
	// The creditor's name.
	CreditorName string `json:"creditor_name,required"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the amount being
	// requested. Will always be "USD".
	Currency string `json:"currency,required"`
	// The debtor's account number.
	DebtorAccountNumber string `json:"debtor_account_number,required"`
	// The debtor's address.
	DebtorAddress WireDrawdownRequestDebtorAddress `json:"debtor_address,required"`
	// The debtor's name.
	DebtorName string `json:"debtor_name,required"`
	// The debtor's routing number.
	DebtorRoutingNumber string `json:"debtor_routing_number,required"`
	// If the recipient fulfills the drawdown request by sending funds, then this will
	// be the identifier of the corresponding Transaction.
	FulfillmentInboundWireTransferID string `json:"fulfillment_inbound_wire_transfer_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The lifecycle status of the drawdown request.
	Status WireDrawdownRequestStatus `json:"status,required"`
	// After the drawdown request is submitted to Fedwire, this will contain
	// supplemental details.
	Submission WireDrawdownRequestSubmission `json:"submission,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `wire_drawdown_request`.
	Type WireDrawdownRequestType `json:"type,required"`
	// Remittance information the debtor will see as part of the drawdown request.
	UnstructuredRemittanceInformation string                  `json:"unstructured_remittance_information,required"`
	JSON                              wireDrawdownRequestJSON `json:"-"`
}

Wire drawdown requests enable you to request that someone else send you a wire. Because there is nuance to making sure your counterparty's bank processes these correctly, we ask that you reach out to [support@increase.com](mailto:support@increase.com) to enable this feature so we can help you plan your integration. For more information, see our [Wire Drawdown Requests documentation](/documentation/wire-drawdown-requests).

func (*WireDrawdownRequest) UnmarshalJSON

func (r *WireDrawdownRequest) UnmarshalJSON(data []byte) (err error)

type WireDrawdownRequestCreditorAddress added in v0.257.0

type WireDrawdownRequestCreditorAddress struct {
	// The city, district, town, or village of the address.
	City string `json:"city,required"`
	// The two-letter
	// [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code for
	// the country of the address.
	Country string `json:"country,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The ZIP code of the address.
	PostalCode string `json:"postal_code,required,nullable"`
	// The address state.
	State string                                 `json:"state,required,nullable"`
	JSON  wireDrawdownRequestCreditorAddressJSON `json:"-"`
}

The creditor's address.

func (*WireDrawdownRequestCreditorAddress) UnmarshalJSON added in v0.257.0

func (r *WireDrawdownRequestCreditorAddress) UnmarshalJSON(data []byte) (err error)

type WireDrawdownRequestDebtorAddress added in v0.257.0

type WireDrawdownRequestDebtorAddress struct {
	// The city, district, town, or village of the address.
	City string `json:"city,required"`
	// The two-letter
	// [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code for
	// the country of the address.
	Country string `json:"country,required"`
	// The first line of the address.
	Line1 string `json:"line1,required"`
	// The second line of the address.
	Line2 string `json:"line2,required,nullable"`
	// The ZIP code of the address.
	PostalCode string `json:"postal_code,required,nullable"`
	// The address state.
	State string                               `json:"state,required,nullable"`
	JSON  wireDrawdownRequestDebtorAddressJSON `json:"-"`
}

The debtor's address.

func (*WireDrawdownRequestDebtorAddress) UnmarshalJSON added in v0.257.0

func (r *WireDrawdownRequestDebtorAddress) UnmarshalJSON(data []byte) (err error)

type WireDrawdownRequestListParams

type WireDrawdownRequestListParams struct {
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit  param.Field[int64]                               `query:"limit"`
	Status param.Field[WireDrawdownRequestListParamsStatus] `query:"status"`
}

func (WireDrawdownRequestListParams) URLQuery

func (r WireDrawdownRequestListParams) URLQuery() (v url.Values)

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

type WireDrawdownRequestListParamsStatus

type WireDrawdownRequestListParamsStatus struct {
	// Filter Wire Drawdown Requests for those with the specified status. For GET
	// requests, this should be encoded as a comma-delimited string, such as
	// `?in=one,two,three`.
	In param.Field[[]WireDrawdownRequestListParamsStatusIn] `query:"in"`
}

func (WireDrawdownRequestListParamsStatus) URLQuery added in v0.191.0

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

type WireDrawdownRequestListParamsStatusIn added in v0.191.0

type WireDrawdownRequestListParamsStatusIn string
const (
	WireDrawdownRequestListParamsStatusInPendingSubmission WireDrawdownRequestListParamsStatusIn = "pending_submission"
	WireDrawdownRequestListParamsStatusInPendingResponse   WireDrawdownRequestListParamsStatusIn = "pending_response"
	WireDrawdownRequestListParamsStatusInFulfilled         WireDrawdownRequestListParamsStatusIn = "fulfilled"
	WireDrawdownRequestListParamsStatusInRefused           WireDrawdownRequestListParamsStatusIn = "refused"
)

func (WireDrawdownRequestListParamsStatusIn) IsKnown added in v0.191.0

type WireDrawdownRequestNewParams

type WireDrawdownRequestNewParams struct {
	// The Account Number to which the debtor should send funds.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
	// The amount requested from the debtor, in USD cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The creditor's address.
	CreditorAddress param.Field[WireDrawdownRequestNewParamsCreditorAddress] `json:"creditor_address,required"`
	// The creditor's name.
	CreditorName param.Field[string] `json:"creditor_name,required"`
	// The debtor's account number.
	DebtorAccountNumber param.Field[string] `json:"debtor_account_number,required"`
	// The debtor's address.
	DebtorAddress param.Field[WireDrawdownRequestNewParamsDebtorAddress] `json:"debtor_address,required"`
	// The debtor's name.
	DebtorName param.Field[string] `json:"debtor_name,required"`
	// The debtor's routing number.
	DebtorRoutingNumber param.Field[string] `json:"debtor_routing_number,required"`
	// Remittance information the debtor will see as part of the request.
	UnstructuredRemittanceInformation param.Field[string] `json:"unstructured_remittance_information,required"`
}

func (WireDrawdownRequestNewParams) MarshalJSON

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

type WireDrawdownRequestNewParamsCreditorAddress added in v0.257.0

type WireDrawdownRequestNewParamsCreditorAddress struct {
	// The city, district, town, or village of the address.
	City param.Field[string] `json:"city,required"`
	// The two-letter
	// [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code for
	// the country of the address.
	Country param.Field[string] `json:"country,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
	// The ZIP code of the address.
	PostalCode param.Field[string] `json:"postal_code"`
	// The address state.
	State param.Field[string] `json:"state"`
}

The creditor's address.

func (WireDrawdownRequestNewParamsCreditorAddress) MarshalJSON added in v0.257.0

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

type WireDrawdownRequestNewParamsDebtorAddress added in v0.257.0

type WireDrawdownRequestNewParamsDebtorAddress struct {
	// The city, district, town, or village of the address.
	City param.Field[string] `json:"city,required"`
	// The two-letter
	// [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code for
	// the country of the address.
	Country param.Field[string] `json:"country,required"`
	// The first line of the address. This is usually the street number and street.
	Line1 param.Field[string] `json:"line1,required"`
	// The second line of the address. This might be the floor or room number.
	Line2 param.Field[string] `json:"line2"`
	// The ZIP code of the address.
	PostalCode param.Field[string] `json:"postal_code"`
	// The address state.
	State param.Field[string] `json:"state"`
}

The debtor's address.

func (WireDrawdownRequestNewParamsDebtorAddress) MarshalJSON added in v0.257.0

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

type WireDrawdownRequestService

type WireDrawdownRequestService struct {
	Options []option.RequestOption
}

WireDrawdownRequestService contains methods and other services that help with interacting with the increase 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 NewWireDrawdownRequestService method instead.

func NewWireDrawdownRequestService

func NewWireDrawdownRequestService(opts ...option.RequestOption) (r *WireDrawdownRequestService)

NewWireDrawdownRequestService 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 (*WireDrawdownRequestService) Get

func (r *WireDrawdownRequestService) Get(ctx context.Context, wireDrawdownRequestID string, opts ...option.RequestOption) (res *WireDrawdownRequest, err error)

Retrieve a Wire Drawdown Request

func (*WireDrawdownRequestService) List

List Wire Drawdown Requests

func (*WireDrawdownRequestService) ListAutoPaging

List Wire Drawdown Requests

func (*WireDrawdownRequestService) New

Create a Wire Drawdown Request

type WireDrawdownRequestStatus

type WireDrawdownRequestStatus string

The lifecycle status of the drawdown request.

const (
	WireDrawdownRequestStatusPendingSubmission WireDrawdownRequestStatus = "pending_submission"
	WireDrawdownRequestStatusPendingResponse   WireDrawdownRequestStatus = "pending_response"
	WireDrawdownRequestStatusFulfilled         WireDrawdownRequestStatus = "fulfilled"
	WireDrawdownRequestStatusRefused           WireDrawdownRequestStatus = "refused"
)

func (WireDrawdownRequestStatus) IsKnown

func (r WireDrawdownRequestStatus) IsKnown() bool

type WireDrawdownRequestSubmission

type WireDrawdownRequestSubmission struct {
	// The input message accountability data (IMAD) uniquely identifying the submission
	// with Fedwire.
	InputMessageAccountabilityData string                            `json:"input_message_accountability_data,required"`
	JSON                           wireDrawdownRequestSubmissionJSON `json:"-"`
}

After the drawdown request is submitted to Fedwire, this will contain supplemental details.

func (*WireDrawdownRequestSubmission) UnmarshalJSON

func (r *WireDrawdownRequestSubmission) UnmarshalJSON(data []byte) (err error)

type WireDrawdownRequestType

type WireDrawdownRequestType string

A constant representing the object's type. For this resource it will always be `wire_drawdown_request`.

const (
	WireDrawdownRequestTypeWireDrawdownRequest WireDrawdownRequestType = "wire_drawdown_request"
)

func (WireDrawdownRequestType) IsKnown

func (r WireDrawdownRequestType) IsKnown() bool

type WireTransfer

type WireTransfer struct {
	// The wire transfer's identifier.
	ID string `json:"id,required"`
	// The Account to which the transfer belongs.
	AccountID string `json:"account_id,required"`
	// The destination account number.
	AccountNumber string `json:"account_number,required"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// If your account requires approvals for transfers and the transfer was approved,
	// this will contain details of the approval.
	Approval WireTransferApproval `json:"approval,required,nullable"`
	// The beneficiary's address line 1.
	BeneficiaryAddressLine1 string `json:"beneficiary_address_line1,required,nullable"`
	// The beneficiary's address line 2.
	BeneficiaryAddressLine2 string `json:"beneficiary_address_line2,required,nullable"`
	// The beneficiary's address line 3.
	BeneficiaryAddressLine3 string `json:"beneficiary_address_line3,required,nullable"`
	// The beneficiary's name.
	BeneficiaryName string `json:"beneficiary_name,required,nullable"`
	// If your account requires approvals for transfers and the transfer was not
	// approved, this will contain details of the cancellation.
	Cancellation WireTransferCancellation `json:"cancellation,required,nullable"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// What object created the transfer, either via the API or the dashboard.
	CreatedBy WireTransferCreatedBy `json:"created_by,required,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
	// currency. For wire transfers this is always equal to `usd`.
	Currency WireTransferCurrency `json:"currency,required"`
	// The identifier of the External Account the transfer was made to, if any.
	ExternalAccountID string `json:"external_account_id,required,nullable"`
	// The idempotency key you chose for this object. This value is unique across
	// Increase and is used to ensure that a request is only processed once. Learn more
	// about [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey string `json:"idempotency_key,required,nullable"`
	// The ID of an Inbound Wire Drawdown Request in response to which this transfer
	// was sent.
	InboundWireDrawdownRequestID string `json:"inbound_wire_drawdown_request_id,required,nullable"`
	// The message that will show on the recipient's bank statement.
	MessageToRecipient string `json:"message_to_recipient,required,nullable"`
	// The transfer's network.
	Network WireTransferNetwork `json:"network,required"`
	// The originator's address line 1.
	OriginatorAddressLine1 string `json:"originator_address_line1,required,nullable"`
	// The originator's address line 2.
	OriginatorAddressLine2 string `json:"originator_address_line2,required,nullable"`
	// The originator's address line 3.
	OriginatorAddressLine3 string `json:"originator_address_line3,required,nullable"`
	// The originator's name.
	OriginatorName string `json:"originator_name,required,nullable"`
	// The ID for the pending transaction representing the transfer. A pending
	// transaction is created when the transfer
	// [requires approval](https://increase.com/documentation/transfer-approvals#transfer-approvals)
	// by someone else in your organization.
	PendingTransactionID string `json:"pending_transaction_id,required,nullable"`
	// If your transfer is reversed, this will contain details of the reversal.
	Reversal WireTransferReversal `json:"reversal,required,nullable"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN).
	RoutingNumber string `json:"routing_number,required"`
	// The Account Number that was passed to the wire's recipient.
	SourceAccountNumberID string `json:"source_account_number_id,required,nullable"`
	// The lifecycle status of the transfer.
	Status WireTransferStatus `json:"status,required"`
	// After the transfer is submitted to Fedwire, this will contain supplemental
	// details.
	Submission WireTransferSubmission `json:"submission,required,nullable"`
	// The ID for the transaction funding the transfer.
	TransactionID string `json:"transaction_id,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `wire_transfer`.
	Type WireTransferType `json:"type,required"`
	JSON wireTransferJSON `json:"-"`
}

Wire transfers move funds between your Increase account and any other account accessible by Fedwire.

func (*WireTransfer) UnmarshalJSON

func (r *WireTransfer) UnmarshalJSON(data []byte) (err error)

type WireTransferApproval

type WireTransferApproval struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the transfer was approved.
	ApprovedAt time.Time `json:"approved_at,required" format:"date-time"`
	// If the Transfer was approved by a user in the dashboard, the email address of
	// that user.
	ApprovedBy string                   `json:"approved_by,required,nullable"`
	JSON       wireTransferApprovalJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

func (*WireTransferApproval) UnmarshalJSON

func (r *WireTransferApproval) UnmarshalJSON(data []byte) (err error)

type WireTransferCancellation

type WireTransferCancellation struct {
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the Transfer was canceled.
	CanceledAt time.Time `json:"canceled_at,required" format:"date-time"`
	// If the Transfer was canceled by a user in the dashboard, the email address of
	// that user.
	CanceledBy string                       `json:"canceled_by,required,nullable"`
	JSON       wireTransferCancellationJSON `json:"-"`
}

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

func (*WireTransferCancellation) UnmarshalJSON

func (r *WireTransferCancellation) UnmarshalJSON(data []byte) (err error)

type WireTransferCreatedBy

type WireTransferCreatedBy struct {
	// If present, details about the API key that created the transfer.
	APIKey WireTransferCreatedByAPIKey `json:"api_key,required,nullable"`
	// The type of object that created this transfer.
	Category WireTransferCreatedByCategory `json:"category,required"`
	// If present, details about the OAuth Application that created the transfer.
	OAuthApplication WireTransferCreatedByOAuthApplication `json:"oauth_application,required,nullable"`
	// If present, details about the User that created the transfer.
	User WireTransferCreatedByUser `json:"user,required,nullable"`
	JSON wireTransferCreatedByJSON `json:"-"`
}

What object created the transfer, either via the API or the dashboard.

func (*WireTransferCreatedBy) UnmarshalJSON

func (r *WireTransferCreatedBy) UnmarshalJSON(data []byte) (err error)

type WireTransferCreatedByAPIKey

type WireTransferCreatedByAPIKey struct {
	// The description set for the API key when it was created.
	Description string                          `json:"description,required,nullable"`
	JSON        wireTransferCreatedByAPIKeyJSON `json:"-"`
}

If present, details about the API key that created the transfer.

func (*WireTransferCreatedByAPIKey) UnmarshalJSON

func (r *WireTransferCreatedByAPIKey) UnmarshalJSON(data []byte) (err error)

type WireTransferCreatedByCategory

type WireTransferCreatedByCategory string

The type of object that created this transfer.

const (
	WireTransferCreatedByCategoryAPIKey           WireTransferCreatedByCategory = "api_key"
	WireTransferCreatedByCategoryOAuthApplication WireTransferCreatedByCategory = "oauth_application"
	WireTransferCreatedByCategoryUser             WireTransferCreatedByCategory = "user"
)

func (WireTransferCreatedByCategory) IsKnown

func (r WireTransferCreatedByCategory) IsKnown() bool

type WireTransferCreatedByOAuthApplication

type WireTransferCreatedByOAuthApplication struct {
	// The name of the OAuth Application.
	Name string                                    `json:"name,required"`
	JSON wireTransferCreatedByOAuthApplicationJSON `json:"-"`
}

If present, details about the OAuth Application that created the transfer.

func (*WireTransferCreatedByOAuthApplication) UnmarshalJSON

func (r *WireTransferCreatedByOAuthApplication) UnmarshalJSON(data []byte) (err error)

type WireTransferCreatedByUser

type WireTransferCreatedByUser struct {
	// The email address of the User.
	Email string                        `json:"email,required"`
	JSON  wireTransferCreatedByUserJSON `json:"-"`
}

If present, details about the User that created the transfer.

func (*WireTransferCreatedByUser) UnmarshalJSON

func (r *WireTransferCreatedByUser) UnmarshalJSON(data []byte) (err error)

type WireTransferCurrency

type WireTransferCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's currency. For wire transfers this is always equal to `usd`.

const (
	WireTransferCurrencyCad WireTransferCurrency = "CAD"
	WireTransferCurrencyChf WireTransferCurrency = "CHF"
	WireTransferCurrencyEur WireTransferCurrency = "EUR"
	WireTransferCurrencyGbp WireTransferCurrency = "GBP"
	WireTransferCurrencyJpy WireTransferCurrency = "JPY"
	WireTransferCurrencyUsd WireTransferCurrency = "USD"
)

func (WireTransferCurrency) IsKnown

func (r WireTransferCurrency) IsKnown() bool

type WireTransferListParams

type WireTransferListParams struct {
	// Filter Wire Transfers to those belonging to the specified Account.
	AccountID param.Field[string]                          `query:"account_id"`
	CreatedAt param.Field[WireTransferListParamsCreatedAt] `query:"created_at"`
	// Return the page of entries after this one.
	Cursor param.Field[string] `query:"cursor"`
	// Filter Wire Transfers to those made to the specified External Account.
	ExternalAccountID param.Field[string] `query:"external_account_id"`
	// Filter records to the one with the specified `idempotency_key` you chose for
	// that object. This value is unique across Increase and is used to ensure that a
	// request is only processed once. Learn more about
	// [idempotency](https://increase.com/documentation/idempotency-keys).
	IdempotencyKey param.Field[string] `query:"idempotency_key"`
	// Limit the size of the list that is returned. The default (and maximum) is 100
	// objects.
	Limit param.Field[int64] `query:"limit"`
}

func (WireTransferListParams) URLQuery

func (r WireTransferListParams) URLQuery() (v url.Values)

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

type WireTransferListParamsCreatedAt

type WireTransferListParamsCreatedAt struct {
	// Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	After param.Field[time.Time] `query:"after" format:"date-time"`
	// Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
	// timestamp.
	Before param.Field[time.Time] `query:"before" format:"date-time"`
	// Return results on or after this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrAfter param.Field[time.Time] `query:"on_or_after" format:"date-time"`
	// Return results on or before this
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
	OnOrBefore param.Field[time.Time] `query:"on_or_before" format:"date-time"`
}

func (WireTransferListParamsCreatedAt) URLQuery

func (r WireTransferListParamsCreatedAt) URLQuery() (v url.Values)

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

type WireTransferNetwork

type WireTransferNetwork string

The transfer's network.

const (
	WireTransferNetworkWire WireTransferNetwork = "wire"
)

func (WireTransferNetwork) IsKnown

func (r WireTransferNetwork) IsKnown() bool

type WireTransferNewParams

type WireTransferNewParams struct {
	// The identifier for the account that will send the transfer.
	AccountID param.Field[string] `json:"account_id,required"`
	// The transfer amount in USD cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The beneficiary's name.
	BeneficiaryName param.Field[string] `json:"beneficiary_name,required"`
	// The message that will show on the recipient's bank statement.
	MessageToRecipient param.Field[string] `json:"message_to_recipient,required"`
	// The account number for the destination account.
	AccountNumber param.Field[string] `json:"account_number"`
	// The beneficiary's address line 1.
	BeneficiaryAddressLine1 param.Field[string] `json:"beneficiary_address_line1"`
	// The beneficiary's address line 2.
	BeneficiaryAddressLine2 param.Field[string] `json:"beneficiary_address_line2"`
	// The beneficiary's address line 3.
	BeneficiaryAddressLine3 param.Field[string] `json:"beneficiary_address_line3"`
	// The ID of an External Account to initiate a transfer to. If this parameter is
	// provided, `account_number` and `routing_number` must be absent.
	ExternalAccountID param.Field[string] `json:"external_account_id"`
	// The ID of an Inbound Wire Drawdown Request in response to which this transfer is
	// being sent.
	InboundWireDrawdownRequestID param.Field[string] `json:"inbound_wire_drawdown_request_id"`
	// The originator's address line 1. This is only necessary if you're transferring
	// from a commingled account. Otherwise, we'll use the associated entity's details.
	OriginatorAddressLine1 param.Field[string] `json:"originator_address_line1"`
	// The originator's address line 2. This is only necessary if you're transferring
	// from a commingled account. Otherwise, we'll use the associated entity's details.
	OriginatorAddressLine2 param.Field[string] `json:"originator_address_line2"`
	// The originator's address line 3. This is only necessary if you're transferring
	// from a commingled account. Otherwise, we'll use the associated entity's details.
	OriginatorAddressLine3 param.Field[string] `json:"originator_address_line3"`
	// The originator's name. This is only necessary if you're transferring from a
	// commingled account. Otherwise, we'll use the associated entity's details.
	OriginatorName param.Field[string] `json:"originator_name"`
	// Whether the transfer requires explicit approval via the dashboard or API.
	RequireApproval param.Field[bool] `json:"require_approval"`
	// The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
	// destination account.
	RoutingNumber param.Field[string] `json:"routing_number"`
	// The ID of an Account Number that will be passed to the wire's recipient
	SourceAccountNumberID param.Field[string] `json:"source_account_number_id"`
}

func (WireTransferNewParams) MarshalJSON

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

type WireTransferReversal

type WireTransferReversal struct {
	// The amount that was reversed in USD cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the reversal was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The description on the reversal message from Fedwire, set by the reversing bank.
	Description string `json:"description,required"`
	// Additional financial institution information included in the wire reversal.
	FinancialInstitutionToFinancialInstitutionInformation string `json:"financial_institution_to_financial_institution_information,required,nullable"`
	// The Fedwire cycle date for the wire reversal. The "Fedwire day" begins at 9:00
	// PM Eastern Time on the evening before the `cycle date`.
	InputCycleDate time.Time `json:"input_cycle_date,required" format:"date"`
	// The Fedwire transaction identifier.
	InputMessageAccountabilityData string `json:"input_message_accountability_data,required"`
	// The Fedwire sequence number.
	InputSequenceNumber string `json:"input_sequence_number,required"`
	// The Fedwire input source identifier.
	InputSource string `json:"input_source,required"`
	// The American Banking Association (ABA) routing number of the bank originating
	// the transfer.
	OriginatorRoutingNumber string `json:"originator_routing_number,required,nullable"`
	// The Fedwire cycle date for the wire transfer that is being reversed by this
	// message.
	PreviousMessageInputCycleDate time.Time `json:"previous_message_input_cycle_date,required" format:"date"`
	// The Fedwire transaction identifier for the wire transfer that was reversed.
	PreviousMessageInputMessageAccountabilityData string `json:"previous_message_input_message_accountability_data,required"`
	// The Fedwire sequence number for the wire transfer that was reversed.
	PreviousMessageInputSequenceNumber string `json:"previous_message_input_sequence_number,required"`
	// The Fedwire input source identifier for the wire transfer that was reversed.
	PreviousMessageInputSource string `json:"previous_message_input_source,required"`
	// Information included in the wire reversal for the receiving financial
	// institution.
	ReceiverFinancialInstitutionInformation string `json:"receiver_financial_institution_information,required,nullable"`
	// The sending bank's reference number for the wire reversal.
	SenderReference string `json:"sender_reference,required,nullable"`
	// The ID for the Transaction associated with the transfer reversal.
	TransactionID string `json:"transaction_id,required"`
	// The ID for the Wire Transfer that is being reversed.
	WireTransferID string                   `json:"wire_transfer_id,required"`
	JSON           wireTransferReversalJSON `json:"-"`
}

If your transfer is reversed, this will contain details of the reversal.

func (*WireTransferReversal) UnmarshalJSON

func (r *WireTransferReversal) UnmarshalJSON(data []byte) (err error)

type WireTransferService

type WireTransferService struct {
	Options []option.RequestOption
}

WireTransferService contains methods and other services that help with interacting with the increase 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 NewWireTransferService method instead.

func NewWireTransferService

func NewWireTransferService(opts ...option.RequestOption) (r *WireTransferService)

NewWireTransferService 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 (*WireTransferService) Approve

func (r *WireTransferService) Approve(ctx context.Context, wireTransferID string, opts ...option.RequestOption) (res *WireTransfer, err error)

Approve a Wire Transfer

func (*WireTransferService) Cancel

func (r *WireTransferService) Cancel(ctx context.Context, wireTransferID string, opts ...option.RequestOption) (res *WireTransfer, err error)

Cancel a pending Wire Transfer

func (*WireTransferService) Get

func (r *WireTransferService) Get(ctx context.Context, wireTransferID string, opts ...option.RequestOption) (res *WireTransfer, err error)

Retrieve a Wire Transfer

func (*WireTransferService) List

List Wire Transfers

func (*WireTransferService) ListAutoPaging

List Wire Transfers

func (*WireTransferService) New

Create a Wire Transfer

type WireTransferStatus

type WireTransferStatus string

The lifecycle status of the transfer.

const (
	WireTransferStatusPendingApproval   WireTransferStatus = "pending_approval"
	WireTransferStatusCanceled          WireTransferStatus = "canceled"
	WireTransferStatusPendingReviewing  WireTransferStatus = "pending_reviewing"
	WireTransferStatusRejected          WireTransferStatus = "rejected"
	WireTransferStatusRequiresAttention WireTransferStatus = "requires_attention"
	WireTransferStatusPendingCreating   WireTransferStatus = "pending_creating"
	WireTransferStatusReversed          WireTransferStatus = "reversed"
	WireTransferStatusSubmitted         WireTransferStatus = "submitted"
	WireTransferStatusComplete          WireTransferStatus = "complete"
)

func (WireTransferStatus) IsKnown

func (r WireTransferStatus) IsKnown() bool

type WireTransferSubmission

type WireTransferSubmission struct {
	// The accountability data for the submission.
	InputMessageAccountabilityData string `json:"input_message_accountability_data,required"`
	// When this wire transfer was submitted to Fedwire.
	SubmittedAt time.Time                  `json:"submitted_at,required" format:"date-time"`
	JSON        wireTransferSubmissionJSON `json:"-"`
}

After the transfer is submitted to Fedwire, this will contain supplemental details.

func (*WireTransferSubmission) UnmarshalJSON

func (r *WireTransferSubmission) UnmarshalJSON(data []byte) (err error)

type WireTransferType

type WireTransferType string

A constant representing the object's type. For this resource it will always be `wire_transfer`.

const (
	WireTransferTypeWireTransfer WireTransferType = "wire_transfer"
)

func (WireTransferType) IsKnown

func (r WireTransferType) IsKnown() bool

Source Files

Directories

Path Synopsis
examples
packages

Jump to

Keyboard shortcuts

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