increase

package module
v0.143.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2024 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. The full API of this library can be found in api.md.

Installation

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

Or to pin the version:

go get -u 'github.com/Increase/increase-go@v0.143.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 repsonse 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 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 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 (
	// The Prenotification is for an anticipated credit.
	ACHPrenotificationCreditDebitIndicatorCredit ACHPrenotificationCreditDebitIndicator = "credit"
	// The Prenotification is for an anticipated debit.
	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 (
	// The Prenotification is for an anticipated credit.
	ACHPrenotificationNewParamsCreditDebitIndicatorCredit ACHPrenotificationNewParamsCreditDebitIndicator = "credit"
	// The Prenotification is for an anticipated debit.
	ACHPrenotificationNewParamsCreditDebitIndicatorDebit ACHPrenotificationNewParamsCreditDebitIndicator = "debit"
)

func (ACHPrenotificationNewParamsCreditDebitIndicator) IsKnown

type ACHPrenotificationNewParamsStandardEntryClassCode

type ACHPrenotificationNewParamsStandardEntryClassCode string

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

const (
	// Corporate Credit and Debit (CCD).
	ACHPrenotificationNewParamsStandardEntryClassCodeCorporateCreditOrDebit ACHPrenotificationNewParamsStandardEntryClassCode = "corporate_credit_or_debit"
	// Corporate Trade Exchange (CTX).
	ACHPrenotificationNewParamsStandardEntryClassCodeCorporateTradeExchange ACHPrenotificationNewParamsStandardEntryClassCode = "corporate_trade_exchange"
	// Prearranged Payments and Deposits (PPD).
	ACHPrenotificationNewParamsStandardEntryClassCodePrearrangedPaymentsAndDeposit ACHPrenotificationNewParamsStandardEntryClassCode = "prearranged_payments_and_deposit"
	// Internet Initiated (WEB).
	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 (
	// The account number was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectAccountNumber ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_account_number"
	// The routing number was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectRoutingNumber ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_routing_number"
	// Both the routing number and the account number were incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectRoutingNumberAndAccountNumber ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_routing_number_and_account_number"
	// The transaction code was incorrect. Try changing the `funding` parameter from
	// checking to savings or vice-versa.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectTransactionCode ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_transaction_code"
	// The account number and the transaction code were incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectAccountNumberAndTransactionCode ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_account_number_and_transaction_code"
	// The routing number, account number, and transaction code were incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectRoutingNumberAccountNumberAndTransactionCode ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_routing_number_account_number_and_transaction_code"
	// The receiving depository financial institution identification was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectReceivingDepositoryFinancialInstitutionIdentification ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_receiving_depository_financial_institution_identification"
	// The individual identification number was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectIndividualIdentificationNumber ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_individual_identification_number"
	// The addenda had an incorrect format.
	ACHPrenotificationNotificationsOfChangeChangeCodeAddendaFormatError ACHPrenotificationNotificationsOfChangeChangeCode = "addenda_format_error"
	// The standard entry class code was incorrect for an outbound international
	// payment.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectStandardEntryClassCodeForOutboundInternationalPayment ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_standard_entry_class_code_for_outbound_international_payment"
	// The notification of change was misrouted.
	ACHPrenotificationNotificationsOfChangeChangeCodeMisroutedNotificationOfChange ACHPrenotificationNotificationsOfChangeChangeCode = "misrouted_notification_of_change"
	// The trace number was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectTraceNumber ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_trace_number"
	// The company identification number was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectCompanyIdentificationNumber ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_company_identification_number"
	// The individual identification number or identification number was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectIdentificationNumber ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_identification_number"
	// The corrected data was incorrectly formatted.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectlyFormattedCorrectedData ACHPrenotificationNotificationsOfChangeChangeCode = "incorrectly_formatted_corrected_data"
	// The discretionary data was incorrect.
	ACHPrenotificationNotificationsOfChangeChangeCodeIncorrectDiscretionaryData ACHPrenotificationNotificationsOfChangeChangeCode = "incorrect_discretionary_data"
	// The routing number was not from the original entry detail record.
	ACHPrenotificationNotificationsOfChangeChangeCodeRoutingNumberNotFromOriginalEntryDetailRecord ACHPrenotificationNotificationsOfChangeChangeCode = "routing_number_not_from_original_entry_detail_record"
	// The depository financial institution account number was not from the original
	// entry detail record.
	ACHPrenotificationNotificationsOfChangeChangeCodeDepositoryFinancialInstitutionAccountNumberNotFromOriginalEntryDetailRecord ACHPrenotificationNotificationsOfChangeChangeCode = "depository_financial_institution_account_number_not_from_original_entry_detail_record"
	// The transaction code was incorrect, initiated by the originating depository
	// financial institution.
	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 (
	// Code R01. Insufficient funds in the receiving account. Sometimes abbreviated to
	// NSF.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInsufficientFund ACHPrenotificationPrenotificationReturnReturnReasonCode = "insufficient_fund"
	// Code R03. The account does not exist or the receiving bank was unable to locate
	// it.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNoAccount ACHPrenotificationPrenotificationReturnReturnReasonCode = "no_account"
	// Code R02. The account is closed at the receiving bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAccountClosed ACHPrenotificationPrenotificationReturnReturnReasonCode = "account_closed"
	// Code R04. The account number is invalid at the receiving bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidAccountNumberStructure ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_account_number_structure"
	// Code R16. The account at the receiving bank was frozen per the Office of Foreign
	// Assets Control.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAccountFrozenEntryReturnedPerOfacInstruction ACHPrenotificationPrenotificationReturnReturnReasonCode = "account_frozen_entry_returned_per_ofac_instruction"
	// Code R23. The receiving bank account refused a credit transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCreditEntryRefusedByReceiver ACHPrenotificationPrenotificationReturnReturnReasonCode = "credit_entry_refused_by_receiver"
	// Code R05. The receiving bank rejected because of an incorrect Standard Entry
	// Class code.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeUnauthorizedDebitToConsumerAccountUsingCorporateSecCode ACHPrenotificationPrenotificationReturnReturnReasonCode = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	// Code R29. The corporate customer at the receiving bank reversed the transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCorporateCustomerAdvisedNotAuthorized ACHPrenotificationPrenotificationReturnReturnReasonCode = "corporate_customer_advised_not_authorized"
	// Code R08. The receiving bank stopped payment on this transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodePaymentStopped ACHPrenotificationPrenotificationReturnReturnReasonCode = "payment_stopped"
	// Code R20. The receiving bank account does not perform transfers.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNonTransactionAccount ACHPrenotificationPrenotificationReturnReturnReasonCode = "non_transaction_account"
	// Code R09. The receiving bank account does not have enough available balance for
	// the transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeUncollectedFunds ACHPrenotificationPrenotificationReturnReturnReasonCode = "uncollected_funds"
	// Code R28. The routing number is incorrect.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRoutingNumberCheckDigitError ACHPrenotificationPrenotificationReturnReturnReasonCode = "routing_number_check_digit_error"
	// Code R10. The customer at the receiving bank reversed the transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete ACHPrenotificationPrenotificationReturnReturnReasonCode = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// Code R19. The amount field is incorrect or too large.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAmountFieldError ACHPrenotificationPrenotificationReturnReturnReasonCode = "amount_field_error"
	// Code R07. The customer at the receiving institution informed their bank that
	// they have revoked authorization for a previously authorized transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAuthorizationRevokedByCustomer ACHPrenotificationPrenotificationReturnReturnReasonCode = "authorization_revoked_by_customer"
	// Code R13. The routing number is invalid.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidACHRoutingNumber ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_ach_routing_number"
	// Code R17. The receiving bank is unable to process a field in the transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeFileRecordEditCriteria ACHPrenotificationPrenotificationReturnReturnReasonCode = "file_record_edit_criteria"
	// Code R45. The individual name field was invalid.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidIndividualName ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_individual_name"
	// Code R06. The originating financial institution asked for this transfer to be
	// returned. The receiving bank is complying with the request.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnedPerOdfiRequest ACHPrenotificationPrenotificationReturnReturnReasonCode = "returned_per_odfi_request"
	// Code R34. The receiving bank's regulatory supervisor has limited their
	// participation in the ACH network.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeLimitedParticipationDfi ACHPrenotificationPrenotificationReturnReturnReasonCode = "limited_participation_dfi"
	// Code R85. The outbound international ACH transfer was incorrect.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeIncorrectlyCodedOutboundInternationalPayment ACHPrenotificationPrenotificationReturnReturnReasonCode = "incorrectly_coded_outbound_international_payment"
	// Code R12. A rare return reason. The account was sold to another bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAccountSoldToAnotherDfi ACHPrenotificationPrenotificationReturnReturnReasonCode = "account_sold_to_another_dfi"
	// Code R25. The addenda record is incorrect or missing.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeAddendaError ACHPrenotificationPrenotificationReturnReturnReasonCode = "addenda_error"
	// Code R15. A rare return reason. The account holder is deceased.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeBeneficiaryOrAccountHolderDeceased ACHPrenotificationPrenotificationReturnReturnReasonCode = "beneficiary_or_account_holder_deceased"
	// Code R11. A rare return reason. The customer authorized some payment to the
	// sender, but this payment was not in error.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCustomerAdvisedNotWithinAuthorizationTerms ACHPrenotificationPrenotificationReturnReturnReasonCode = "customer_advised_not_within_authorization_terms"
	// Code R74. A rare return reason. Sent in response to a return that was returned
	// with code `field_error`. The latest return should include the corrected
	// field(s).
	ACHPrenotificationPrenotificationReturnReturnReasonCodeCorrectedReturn ACHPrenotificationPrenotificationReturnReturnReasonCode = "corrected_return"
	// Code R24. A rare return reason. The receiving bank received an exact duplicate
	// entry with the same trace number and amount.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeDuplicateEntry ACHPrenotificationPrenotificationReturnReturnReasonCode = "duplicate_entry"
	// Code R67. A rare return reason. The return this message refers to was a
	// duplicate.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeDuplicateReturn ACHPrenotificationPrenotificationReturnReturnReasonCode = "duplicate_return"
	// Code R47. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrDuplicateEnrollment ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_duplicate_enrollment"
	// Code R43. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidDfiAccountNumber ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_dfi_account_number"
	// Code R44. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidIndividualIDNumber ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_individual_id_number"
	// Code R46. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidRepresentativePayeeIndicator ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_representative_payee_indicator"
	// Code R41. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrInvalidTransactionCode ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_invalid_transaction_code"
	// Code R40. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrReturnOfEnrEntry ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_return_of_enr_entry"
	// Code R42. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEnrRoutingNumberCheckDigitError ACHPrenotificationPrenotificationReturnReturnReasonCode = "enr_routing_number_check_digit_error"
	// Code R84. A rare return reason. The International ACH Transfer cannot be
	// processed by the gateway.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeEntryNotProcessedByGateway ACHPrenotificationPrenotificationReturnReturnReasonCode = "entry_not_processed_by_gateway"
	// Code R69. A rare return reason. One or more of the fields in the ACH were
	// malformed.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeFieldError ACHPrenotificationPrenotificationReturnReturnReasonCode = "field_error"
	// Code R83. A rare return reason. The Foreign receiving bank was unable to settle
	// this ACH transfer.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeForeignReceivingDfiUnableToSettle ACHPrenotificationPrenotificationReturnReturnReasonCode = "foreign_receiving_dfi_unable_to_settle"
	// Code R80. A rare return reason. The International ACH Transfer is malformed.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeIatEntryCodingError ACHPrenotificationPrenotificationReturnReturnReasonCode = "iat_entry_coding_error"
	// Code R18. A rare return reason. The ACH has an improper effective entry date
	// field.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeImproperEffectiveEntryDate ACHPrenotificationPrenotificationReturnReturnReasonCode = "improper_effective_entry_date"
	// Code R39. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeImproperSourceDocumentSourceDocumentPresented ACHPrenotificationPrenotificationReturnReturnReasonCode = "improper_source_document_source_document_presented"
	// Code R21. A rare return reason. The Company ID field of the ACH was invalid.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidCompanyID ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_company_id"
	// Code R82. A rare return reason. The foreign receiving bank identifier for an
	// International ACH Transfer was invalid.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidForeignReceivingDfiIdentification ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_foreign_receiving_dfi_identification"
	// Code R22. A rare return reason. The Individual ID number field of the ACH was
	// invalid.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeInvalidIndividualIDNumber ACHPrenotificationPrenotificationReturnReturnReasonCode = "invalid_individual_id_number"
	// Code R53. A rare return reason. Both the Represented Check ("RCK") entry and the
	// original check were presented to the bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeItemAndRckEntryPresentedForPayment ACHPrenotificationPrenotificationReturnReturnReasonCode = "item_and_rck_entry_presented_for_payment"
	// Code R51. A rare return reason. The Represented Check ("RCK") entry is
	// ineligible.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeItemRelatedToRckEntryIsIneligible ACHPrenotificationPrenotificationReturnReturnReasonCode = "item_related_to_rck_entry_is_ineligible"
	// Code R26. A rare return reason. The ACH is missing a required field.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeMandatoryFieldError ACHPrenotificationPrenotificationReturnReturnReasonCode = "mandatory_field_error"
	// Code R71. A rare return reason. The receiving bank does not recognize the
	// routing number in a dishonored return entry.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeMisroutedDishonoredReturn ACHPrenotificationPrenotificationReturnReturnReasonCode = "misrouted_dishonored_return"
	// Code R61. A rare return reason. The receiving bank does not recognize the
	// routing number in a return entry.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeMisroutedReturn ACHPrenotificationPrenotificationReturnReturnReasonCode = "misrouted_return"
	// Code R76. A rare return reason. Sent in response to a return, the bank does not
	// find the errors alleged by the returning bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNoErrorsFound ACHPrenotificationPrenotificationReturnReturnReasonCode = "no_errors_found"
	// Code R77. A rare return reason. The receiving bank does not accept the return of
	// the erroneous debit. The funds are not available at the receiving bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNonAcceptanceOfR62DishonoredReturn ACHPrenotificationPrenotificationReturnReturnReasonCode = "non_acceptance_of_r62_dishonored_return"
	// Code R81. A rare return reason. The receiving bank does not accept International
	// ACH Transfers.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeNonParticipantInIatProgram ACHPrenotificationPrenotificationReturnReturnReasonCode = "non_participant_in_iat_program"
	// Code R31. A rare return reason. A return that has been agreed to be accepted by
	// the receiving bank, despite falling outside of the usual return timeframe.
	ACHPrenotificationPrenotificationReturnReturnReasonCodePermissibleReturnEntry ACHPrenotificationPrenotificationReturnReturnReasonCode = "permissible_return_entry"
	// Code R70. A rare return reason. The receiving bank had not approved this return.
	ACHPrenotificationPrenotificationReturnReturnReasonCodePermissibleReturnEntryNotAccepted ACHPrenotificationPrenotificationReturnReturnReasonCode = "permissible_return_entry_not_accepted"
	// Code R32. A rare return reason. The receiving bank could not settle this
	// transaction.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRdfiNonSettlement ACHPrenotificationPrenotificationReturnReturnReasonCode = "rdfi_non_settlement"
	// Code R30. A rare return reason. The receiving bank does not accept Check
	// Truncation ACH transfers.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRdfiParticipantInCheckTruncationProgram ACHPrenotificationPrenotificationReturnReturnReasonCode = "rdfi_participant_in_check_truncation_program"
	// Code R14. A rare return reason. The payee is deceased.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity ACHPrenotificationPrenotificationReturnReturnReasonCode = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// Code R75. A rare return reason. The originating bank disputes that an earlier
	// `duplicate_entry` return was actually a duplicate.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnNotADuplicate ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_not_a_duplicate"
	// Code R62. A rare return reason. The originating financial institution made a
	// mistake and this return corrects it.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfErroneousOrReversingDebit ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_erroneous_or_reversing_debit"
	// Code R36. A rare return reason. Return of a malformed credit entry.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfImproperCreditEntry ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_improper_credit_entry"
	// Code R35. A rare return reason. Return of a malformed debit entry.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfImproperDebitEntry ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_improper_debit_entry"
	// Code R33. A rare return reason. Return of a Destroyed Check ("XKC") entry.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeReturnOfXckEntry ACHPrenotificationPrenotificationReturnReturnReasonCode = "return_of_xck_entry"
	// Code R37. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeSourceDocumentPresentedForPayment ACHPrenotificationPrenotificationReturnReturnReasonCode = "source_document_presented_for_payment"
	// Code R50. A rare return reason. State law prevents the bank from accepting the
	// Represented Check ("RCK") entry.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeStateLawAffectingRckAcceptance ACHPrenotificationPrenotificationReturnReturnReasonCode = "state_law_affecting_rck_acceptance"
	// Code R52. A rare return reason. A stop payment was issued on a Represented Check
	// ("RCK") entry.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeStopPaymentOnItemRelatedToRckEntry ACHPrenotificationPrenotificationReturnReturnReasonCode = "stop_payment_on_item_related_to_rck_entry"
	// Code R38. A rare return reason. The source attached to the ACH, usually an ACH
	// check conversion, includes a stop payment.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeStopPaymentOnSourceDocument ACHPrenotificationPrenotificationReturnReturnReasonCode = "stop_payment_on_source_document"
	// Code R73. A rare return reason. The bank receiving an `untimely_return` believes
	// it was on time.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeTimelyOriginalReturn ACHPrenotificationPrenotificationReturnReturnReasonCode = "timely_original_return"
	// Code R27. A rare return reason. An ACH return's trace number does not match an
	// originated ACH.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeTraceNumberError ACHPrenotificationPrenotificationReturnReturnReasonCode = "trace_number_error"
	// Code R72. A rare return reason. The dishonored return was sent too late.
	ACHPrenotificationPrenotificationReturnReturnReasonCodeUntimelyDishonoredReturn ACHPrenotificationPrenotificationReturnReturnReasonCode = "untimely_dishonored_return"
	// Code R68. A rare return reason. The return was sent too late.
	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 (
	// The Prenotification is pending submission.
	ACHPrenotificationStatusPendingSubmitting ACHPrenotificationStatus = "pending_submitting"
	// The Prenotification requires attention.
	ACHPrenotificationStatusRequiresAttention ACHPrenotificationStatus = "requires_attention"
	// The Prenotification has been returned.
	ACHPrenotificationStatusReturned ACHPrenotificationStatus = "returned"
	// The Prenotification is complete.
	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 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 (
	// Unstructured `payment_related_information` passed through with the transfer.
	ACHTransferAddendaCategoryFreeform ACHTransferAddendaCategory = "freeform"
	// Structured ASC X12 820 remittance advice records. Please reach out to
	// [support@increase.com](mailto:support@increase.com) for more information.
	ACHTransferAddendaCategoryPaymentOrderRemittanceAdvice ACHTransferAddendaCategory = "payment_order_remittance_advice"
	// Unknown addenda type.
	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 (
	// An API key. Details will be under the `api_key` object.
	ACHTransferCreatedByCategoryAPIKey ACHTransferCreatedByCategory = "api_key"
	// An OAuth application you connected to Increase. Details will be under the
	// `oauth_application` object.
	ACHTransferCreatedByCategoryOAuthApplication ACHTransferCreatedByCategory = "oauth_application"
	// A User in the Increase dashboard. Details will be under the `user` object.
	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 (
	// Canadian Dollar (CAD)
	ACHTransferCurrencyCad ACHTransferCurrency = "CAD"
	// Swiss Franc (CHF)
	ACHTransferCurrencyChf ACHTransferCurrency = "CHF"
	// Euro (EUR)
	ACHTransferCurrencyEur ACHTransferCurrency = "EUR"
	// British Pound (GBP)
	ACHTransferCurrencyGbp ACHTransferCurrency = "GBP"
	// Japanese Yen (JPY)
	ACHTransferCurrencyJpy ACHTransferCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// The External Account is owned by a business.
	ACHTransferDestinationAccountHolderBusiness ACHTransferDestinationAccountHolder = "business"
	// The External Account is owned by an individual.
	ACHTransferDestinationAccountHolderIndividual ACHTransferDestinationAccountHolder = "individual"
	// It's unknown what kind of entity owns the External Account.
	ACHTransferDestinationAccountHolderUnknown ACHTransferDestinationAccountHolder = "unknown"
)

func (ACHTransferDestinationAccountHolder) IsKnown

type ACHTransferFunding

type ACHTransferFunding string

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

const (
	// A checking account.
	ACHTransferFundingChecking ACHTransferFunding = "checking"
	// A savings account.
	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 (
	// Canadian Dollar (CAD)
	ACHTransferInboundFundsHoldCurrencyCad ACHTransferInboundFundsHoldCurrency = "CAD"
	// Swiss Franc (CHF)
	ACHTransferInboundFundsHoldCurrencyChf ACHTransferInboundFundsHoldCurrency = "CHF"
	// Euro (EUR)
	ACHTransferInboundFundsHoldCurrencyEur ACHTransferInboundFundsHoldCurrency = "EUR"
	// British Pound (GBP)
	ACHTransferInboundFundsHoldCurrencyGbp ACHTransferInboundFundsHoldCurrency = "GBP"
	// Japanese Yen (JPY)
	ACHTransferInboundFundsHoldCurrencyJpy ACHTransferInboundFundsHoldCurrency = "JPY"
	// US Dollar (USD)
	ACHTransferInboundFundsHoldCurrencyUsd ACHTransferInboundFundsHoldCurrency = "USD"
)

func (ACHTransferInboundFundsHoldCurrency) IsKnown

type ACHTransferInboundFundsHoldStatus

type ACHTransferInboundFundsHoldStatus string

The status of the hold.

const (
	// Funds are still being held.
	ACHTransferInboundFundsHoldStatusHeld ACHTransferInboundFundsHoldStatus = "held"
	// Funds have been released.
	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"`
}

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 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 (
	// Unstructured `payment_related_information` passed through with the transfer.
	ACHTransferNewParamsAddendaCategoryFreeform ACHTransferNewParamsAddendaCategory = "freeform"
	// Structured ASC X12 820 remittance advice records. Please reach out to
	// [support@increase.com](mailto:support@increase.com) for more information.
	ACHTransferNewParamsAddendaCategoryPaymentOrderRemittanceAdvice ACHTransferNewParamsAddendaCategory = "payment_order_remittance_advice"
)

func (ACHTransferNewParamsAddendaCategory) IsKnown

type ACHTransferNewParamsAddendaFreeform

type ACHTransferNewParamsAddendaFreeform struct {
	// Each entry represents an addendum sent with the transfer. Please reach out to
	// [support@increase.com](mailto:support@increase.com) to send more than one
	// addendum.
	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 (
	// The External Account is owned by a business.
	ACHTransferNewParamsDestinationAccountHolderBusiness ACHTransferNewParamsDestinationAccountHolder = "business"
	// The External Account is owned by an individual.
	ACHTransferNewParamsDestinationAccountHolderIndividual ACHTransferNewParamsDestinationAccountHolder = "individual"
	// It's unknown what kind of entity owns the External Account.
	ACHTransferNewParamsDestinationAccountHolderUnknown ACHTransferNewParamsDestinationAccountHolder = "unknown"
)

func (ACHTransferNewParamsDestinationAccountHolder) IsKnown

type ACHTransferNewParamsFunding

type ACHTransferNewParamsFunding string

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

const (
	// A checking account.
	ACHTransferNewParamsFundingChecking ACHTransferNewParamsFunding = "checking"
	// A savings account.
	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 (
	// The chosen effective date will be the same as the ACH processing date on which
	// the transfer is submitted. This is necessary, but not sufficient for the
	// transfer to be settled same-day: it must also be submitted before the last
	// same-day cutoff and be less than or equal to $1,000.000.00.
	ACHTransferNewParamsPreferredEffectiveDateSettlementScheduleSameDay ACHTransferNewParamsPreferredEffectiveDateSettlementSchedule = "same_day"
	// The chosen effective date will be the business day following the ACH processing
	// date on which the transfer is submitted. The transfer will be settled on that
	// future 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 (
	// Corporate Credit and Debit (CCD).
	ACHTransferNewParamsStandardEntryClassCodeCorporateCreditOrDebit ACHTransferNewParamsStandardEntryClassCode = "corporate_credit_or_debit"
	// Corporate Trade Exchange (CTX).
	ACHTransferNewParamsStandardEntryClassCodeCorporateTradeExchange ACHTransferNewParamsStandardEntryClassCode = "corporate_trade_exchange"
	// Prearranged Payments and Deposits (PPD).
	ACHTransferNewParamsStandardEntryClassCodePrearrangedPaymentsAndDeposit ACHTransferNewParamsStandardEntryClassCode = "prearranged_payments_and_deposit"
	// Internet Initiated (WEB).
	ACHTransferNewParamsStandardEntryClassCodeInternetInitiated ACHTransferNewParamsStandardEntryClassCode = "internet_initiated"
)

func (ACHTransferNewParamsStandardEntryClassCode) IsKnown

type ACHTransferNewParamsTransactionTiming added in v0.124.0

type ACHTransferNewParamsTransactionTiming string

The timing of the transaction.

const (
	// A Transaction will be created immediately.
	ACHTransferNewParamsTransactionTimingSynchronous ACHTransferNewParamsTransactionTiming = "synchronous"
	// A Transaction will be created when the funds settle at the Federal Reserve.
	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 (
	// The account number was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectAccountNumber ACHTransferNotificationsOfChangeChangeCode = "incorrect_account_number"
	// The routing number was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectRoutingNumber ACHTransferNotificationsOfChangeChangeCode = "incorrect_routing_number"
	// Both the routing number and the account number were incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectRoutingNumberAndAccountNumber ACHTransferNotificationsOfChangeChangeCode = "incorrect_routing_number_and_account_number"
	// The transaction code was incorrect. Try changing the `funding` parameter from
	// checking to savings or vice-versa.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectTransactionCode ACHTransferNotificationsOfChangeChangeCode = "incorrect_transaction_code"
	// The account number and the transaction code were incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectAccountNumberAndTransactionCode ACHTransferNotificationsOfChangeChangeCode = "incorrect_account_number_and_transaction_code"
	// The routing number, account number, and transaction code were incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectRoutingNumberAccountNumberAndTransactionCode ACHTransferNotificationsOfChangeChangeCode = "incorrect_routing_number_account_number_and_transaction_code"
	// The receiving depository financial institution identification was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectReceivingDepositoryFinancialInstitutionIdentification ACHTransferNotificationsOfChangeChangeCode = "incorrect_receiving_depository_financial_institution_identification"
	// The individual identification number was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectIndividualIdentificationNumber ACHTransferNotificationsOfChangeChangeCode = "incorrect_individual_identification_number"
	// The addenda had an incorrect format.
	ACHTransferNotificationsOfChangeChangeCodeAddendaFormatError ACHTransferNotificationsOfChangeChangeCode = "addenda_format_error"
	// The standard entry class code was incorrect for an outbound international
	// payment.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectStandardEntryClassCodeForOutboundInternationalPayment ACHTransferNotificationsOfChangeChangeCode = "incorrect_standard_entry_class_code_for_outbound_international_payment"
	// The notification of change was misrouted.
	ACHTransferNotificationsOfChangeChangeCodeMisroutedNotificationOfChange ACHTransferNotificationsOfChangeChangeCode = "misrouted_notification_of_change"
	// The trace number was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectTraceNumber ACHTransferNotificationsOfChangeChangeCode = "incorrect_trace_number"
	// The company identification number was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectCompanyIdentificationNumber ACHTransferNotificationsOfChangeChangeCode = "incorrect_company_identification_number"
	// The individual identification number or identification number was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectIdentificationNumber ACHTransferNotificationsOfChangeChangeCode = "incorrect_identification_number"
	// The corrected data was incorrectly formatted.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectlyFormattedCorrectedData ACHTransferNotificationsOfChangeChangeCode = "incorrectly_formatted_corrected_data"
	// The discretionary data was incorrect.
	ACHTransferNotificationsOfChangeChangeCodeIncorrectDiscretionaryData ACHTransferNotificationsOfChangeChangeCode = "incorrect_discretionary_data"
	// The routing number was not from the original entry detail record.
	ACHTransferNotificationsOfChangeChangeCodeRoutingNumberNotFromOriginalEntryDetailRecord ACHTransferNotificationsOfChangeChangeCode = "routing_number_not_from_original_entry_detail_record"
	// The depository financial institution account number was not from the original
	// entry detail record.
	ACHTransferNotificationsOfChangeChangeCodeDepositoryFinancialInstitutionAccountNumberNotFromOriginalEntryDetailRecord ACHTransferNotificationsOfChangeChangeCode = "depository_financial_institution_account_number_not_from_original_entry_detail_record"
	// The transaction code was incorrect, initiated by the originating depository
	// financial institution.
	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 (
	// The chosen effective date will be the same as the ACH processing date on which
	// the transfer is submitted. This is necessary, but not sufficient for the
	// transfer to be settled same-day: it must also be submitted before the last
	// same-day cutoff and be less than or equal to $1,000.000.00.
	ACHTransferPreferredEffectiveDateSettlementScheduleSameDay ACHTransferPreferredEffectiveDateSettlementSchedule = "same_day"
	// The chosen effective date will be the business day following the ACH processing
	// date on which the transfer is submitted. The transfer will be settled on that
	// future 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 (
	// Code R01. Insufficient funds in the receiving account. Sometimes abbreviated to
	// NSF.
	ACHTransferReturnReturnReasonCodeInsufficientFund ACHTransferReturnReturnReasonCode = "insufficient_fund"
	// Code R03. The account does not exist or the receiving bank was unable to locate
	// it.
	ACHTransferReturnReturnReasonCodeNoAccount ACHTransferReturnReturnReasonCode = "no_account"
	// Code R02. The account is closed at the receiving bank.
	ACHTransferReturnReturnReasonCodeAccountClosed ACHTransferReturnReturnReasonCode = "account_closed"
	// Code R04. The account number is invalid at the receiving bank.
	ACHTransferReturnReturnReasonCodeInvalidAccountNumberStructure ACHTransferReturnReturnReasonCode = "invalid_account_number_structure"
	// Code R16. The account at the receiving bank was frozen per the Office of Foreign
	// Assets Control.
	ACHTransferReturnReturnReasonCodeAccountFrozenEntryReturnedPerOfacInstruction ACHTransferReturnReturnReasonCode = "account_frozen_entry_returned_per_ofac_instruction"
	// Code R23. The receiving bank account refused a credit transfer.
	ACHTransferReturnReturnReasonCodeCreditEntryRefusedByReceiver ACHTransferReturnReturnReasonCode = "credit_entry_refused_by_receiver"
	// Code R05. The receiving bank rejected because of an incorrect Standard Entry
	// Class code.
	ACHTransferReturnReturnReasonCodeUnauthorizedDebitToConsumerAccountUsingCorporateSecCode ACHTransferReturnReturnReasonCode = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	// Code R29. The corporate customer at the receiving bank reversed the transfer.
	ACHTransferReturnReturnReasonCodeCorporateCustomerAdvisedNotAuthorized ACHTransferReturnReturnReasonCode = "corporate_customer_advised_not_authorized"
	// Code R08. The receiving bank stopped payment on this transfer.
	ACHTransferReturnReturnReasonCodePaymentStopped ACHTransferReturnReturnReasonCode = "payment_stopped"
	// Code R20. The receiving bank account does not perform transfers.
	ACHTransferReturnReturnReasonCodeNonTransactionAccount ACHTransferReturnReturnReasonCode = "non_transaction_account"
	// Code R09. The receiving bank account does not have enough available balance for
	// the transfer.
	ACHTransferReturnReturnReasonCodeUncollectedFunds ACHTransferReturnReturnReasonCode = "uncollected_funds"
	// Code R28. The routing number is incorrect.
	ACHTransferReturnReturnReasonCodeRoutingNumberCheckDigitError ACHTransferReturnReturnReasonCode = "routing_number_check_digit_error"
	// Code R10. The customer at the receiving bank reversed the transfer.
	ACHTransferReturnReturnReasonCodeCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete ACHTransferReturnReturnReasonCode = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// Code R19. The amount field is incorrect or too large.
	ACHTransferReturnReturnReasonCodeAmountFieldError ACHTransferReturnReturnReasonCode = "amount_field_error"
	// Code R07. The customer at the receiving institution informed their bank that
	// they have revoked authorization for a previously authorized transfer.
	ACHTransferReturnReturnReasonCodeAuthorizationRevokedByCustomer ACHTransferReturnReturnReasonCode = "authorization_revoked_by_customer"
	// Code R13. The routing number is invalid.
	ACHTransferReturnReturnReasonCodeInvalidACHRoutingNumber ACHTransferReturnReturnReasonCode = "invalid_ach_routing_number"
	// Code R17. The receiving bank is unable to process a field in the transfer.
	ACHTransferReturnReturnReasonCodeFileRecordEditCriteria ACHTransferReturnReturnReasonCode = "file_record_edit_criteria"
	// Code R45. The individual name field was invalid.
	ACHTransferReturnReturnReasonCodeEnrInvalidIndividualName ACHTransferReturnReturnReasonCode = "enr_invalid_individual_name"
	// Code R06. The originating financial institution asked for this transfer to be
	// returned. The receiving bank is complying with the request.
	ACHTransferReturnReturnReasonCodeReturnedPerOdfiRequest ACHTransferReturnReturnReasonCode = "returned_per_odfi_request"
	// Code R34. The receiving bank's regulatory supervisor has limited their
	// participation in the ACH network.
	ACHTransferReturnReturnReasonCodeLimitedParticipationDfi ACHTransferReturnReturnReasonCode = "limited_participation_dfi"
	// Code R85. The outbound international ACH transfer was incorrect.
	ACHTransferReturnReturnReasonCodeIncorrectlyCodedOutboundInternationalPayment ACHTransferReturnReturnReasonCode = "incorrectly_coded_outbound_international_payment"
	// Code R12. A rare return reason. The account was sold to another bank.
	ACHTransferReturnReturnReasonCodeAccountSoldToAnotherDfi ACHTransferReturnReturnReasonCode = "account_sold_to_another_dfi"
	// Code R25. The addenda record is incorrect or missing.
	ACHTransferReturnReturnReasonCodeAddendaError ACHTransferReturnReturnReasonCode = "addenda_error"
	// Code R15. A rare return reason. The account holder is deceased.
	ACHTransferReturnReturnReasonCodeBeneficiaryOrAccountHolderDeceased ACHTransferReturnReturnReasonCode = "beneficiary_or_account_holder_deceased"
	// Code R11. A rare return reason. The customer authorized some payment to the
	// sender, but this payment was not in error.
	ACHTransferReturnReturnReasonCodeCustomerAdvisedNotWithinAuthorizationTerms ACHTransferReturnReturnReasonCode = "customer_advised_not_within_authorization_terms"
	// Code R74. A rare return reason. Sent in response to a return that was returned
	// with code `field_error`. The latest return should include the corrected
	// field(s).
	ACHTransferReturnReturnReasonCodeCorrectedReturn ACHTransferReturnReturnReasonCode = "corrected_return"
	// Code R24. A rare return reason. The receiving bank received an exact duplicate
	// entry with the same trace number and amount.
	ACHTransferReturnReturnReasonCodeDuplicateEntry ACHTransferReturnReturnReasonCode = "duplicate_entry"
	// Code R67. A rare return reason. The return this message refers to was a
	// duplicate.
	ACHTransferReturnReturnReasonCodeDuplicateReturn ACHTransferReturnReturnReasonCode = "duplicate_return"
	// Code R47. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHTransferReturnReturnReasonCodeEnrDuplicateEnrollment ACHTransferReturnReturnReasonCode = "enr_duplicate_enrollment"
	// Code R43. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHTransferReturnReturnReasonCodeEnrInvalidDfiAccountNumber ACHTransferReturnReturnReasonCode = "enr_invalid_dfi_account_number"
	// Code R44. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHTransferReturnReturnReasonCodeEnrInvalidIndividualIDNumber ACHTransferReturnReturnReasonCode = "enr_invalid_individual_id_number"
	// Code R46. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHTransferReturnReturnReasonCodeEnrInvalidRepresentativePayeeIndicator ACHTransferReturnReturnReasonCode = "enr_invalid_representative_payee_indicator"
	// Code R41. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHTransferReturnReturnReasonCodeEnrInvalidTransactionCode ACHTransferReturnReturnReasonCode = "enr_invalid_transaction_code"
	// Code R40. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHTransferReturnReturnReasonCodeEnrReturnOfEnrEntry ACHTransferReturnReturnReasonCode = "enr_return_of_enr_entry"
	// Code R42. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	ACHTransferReturnReturnReasonCodeEnrRoutingNumberCheckDigitError ACHTransferReturnReturnReasonCode = "enr_routing_number_check_digit_error"
	// Code R84. A rare return reason. The International ACH Transfer cannot be
	// processed by the gateway.
	ACHTransferReturnReturnReasonCodeEntryNotProcessedByGateway ACHTransferReturnReturnReasonCode = "entry_not_processed_by_gateway"
	// Code R69. A rare return reason. One or more of the fields in the ACH were
	// malformed.
	ACHTransferReturnReturnReasonCodeFieldError ACHTransferReturnReturnReasonCode = "field_error"
	// Code R83. A rare return reason. The Foreign receiving bank was unable to settle
	// this ACH transfer.
	ACHTransferReturnReturnReasonCodeForeignReceivingDfiUnableToSettle ACHTransferReturnReturnReasonCode = "foreign_receiving_dfi_unable_to_settle"
	// Code R80. A rare return reason. The International ACH Transfer is malformed.
	ACHTransferReturnReturnReasonCodeIatEntryCodingError ACHTransferReturnReturnReasonCode = "iat_entry_coding_error"
	// Code R18. A rare return reason. The ACH has an improper effective entry date
	// field.
	ACHTransferReturnReturnReasonCodeImproperEffectiveEntryDate ACHTransferReturnReturnReasonCode = "improper_effective_entry_date"
	// Code R39. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	ACHTransferReturnReturnReasonCodeImproperSourceDocumentSourceDocumentPresented ACHTransferReturnReturnReasonCode = "improper_source_document_source_document_presented"
	// Code R21. A rare return reason. The Company ID field of the ACH was invalid.
	ACHTransferReturnReturnReasonCodeInvalidCompanyID ACHTransferReturnReturnReasonCode = "invalid_company_id"
	// Code R82. A rare return reason. The foreign receiving bank identifier for an
	// International ACH Transfer was invalid.
	ACHTransferReturnReturnReasonCodeInvalidForeignReceivingDfiIdentification ACHTransferReturnReturnReasonCode = "invalid_foreign_receiving_dfi_identification"
	// Code R22. A rare return reason. The Individual ID number field of the ACH was
	// invalid.
	ACHTransferReturnReturnReasonCodeInvalidIndividualIDNumber ACHTransferReturnReturnReasonCode = "invalid_individual_id_number"
	// Code R53. A rare return reason. Both the Represented Check ("RCK") entry and the
	// original check were presented to the bank.
	ACHTransferReturnReturnReasonCodeItemAndRckEntryPresentedForPayment ACHTransferReturnReturnReasonCode = "item_and_rck_entry_presented_for_payment"
	// Code R51. A rare return reason. The Represented Check ("RCK") entry is
	// ineligible.
	ACHTransferReturnReturnReasonCodeItemRelatedToRckEntryIsIneligible ACHTransferReturnReturnReasonCode = "item_related_to_rck_entry_is_ineligible"
	// Code R26. A rare return reason. The ACH is missing a required field.
	ACHTransferReturnReturnReasonCodeMandatoryFieldError ACHTransferReturnReturnReasonCode = "mandatory_field_error"
	// Code R71. A rare return reason. The receiving bank does not recognize the
	// routing number in a dishonored return entry.
	ACHTransferReturnReturnReasonCodeMisroutedDishonoredReturn ACHTransferReturnReturnReasonCode = "misrouted_dishonored_return"
	// Code R61. A rare return reason. The receiving bank does not recognize the
	// routing number in a return entry.
	ACHTransferReturnReturnReasonCodeMisroutedReturn ACHTransferReturnReturnReasonCode = "misrouted_return"
	// Code R76. A rare return reason. Sent in response to a return, the bank does not
	// find the errors alleged by the returning bank.
	ACHTransferReturnReturnReasonCodeNoErrorsFound ACHTransferReturnReturnReasonCode = "no_errors_found"
	// Code R77. A rare return reason. The receiving bank does not accept the return of
	// the erroneous debit. The funds are not available at the receiving bank.
	ACHTransferReturnReturnReasonCodeNonAcceptanceOfR62DishonoredReturn ACHTransferReturnReturnReasonCode = "non_acceptance_of_r62_dishonored_return"
	// Code R81. A rare return reason. The receiving bank does not accept International
	// ACH Transfers.
	ACHTransferReturnReturnReasonCodeNonParticipantInIatProgram ACHTransferReturnReturnReasonCode = "non_participant_in_iat_program"
	// Code R31. A rare return reason. A return that has been agreed to be accepted by
	// the receiving bank, despite falling outside of the usual return timeframe.
	ACHTransferReturnReturnReasonCodePermissibleReturnEntry ACHTransferReturnReturnReasonCode = "permissible_return_entry"
	// Code R70. A rare return reason. The receiving bank had not approved this return.
	ACHTransferReturnReturnReasonCodePermissibleReturnEntryNotAccepted ACHTransferReturnReturnReasonCode = "permissible_return_entry_not_accepted"
	// Code R32. A rare return reason. The receiving bank could not settle this
	// transaction.
	ACHTransferReturnReturnReasonCodeRdfiNonSettlement ACHTransferReturnReturnReasonCode = "rdfi_non_settlement"
	// Code R30. A rare return reason. The receiving bank does not accept Check
	// Truncation ACH transfers.
	ACHTransferReturnReturnReasonCodeRdfiParticipantInCheckTruncationProgram ACHTransferReturnReturnReasonCode = "rdfi_participant_in_check_truncation_program"
	// Code R14. A rare return reason. The payee is deceased.
	ACHTransferReturnReturnReasonCodeRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity ACHTransferReturnReturnReasonCode = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// Code R75. A rare return reason. The originating bank disputes that an earlier
	// `duplicate_entry` return was actually a duplicate.
	ACHTransferReturnReturnReasonCodeReturnNotADuplicate ACHTransferReturnReturnReasonCode = "return_not_a_duplicate"
	// Code R62. A rare return reason. The originating financial institution made a
	// mistake and this return corrects it.
	ACHTransferReturnReturnReasonCodeReturnOfErroneousOrReversingDebit ACHTransferReturnReturnReasonCode = "return_of_erroneous_or_reversing_debit"
	// Code R36. A rare return reason. Return of a malformed credit entry.
	ACHTransferReturnReturnReasonCodeReturnOfImproperCreditEntry ACHTransferReturnReturnReasonCode = "return_of_improper_credit_entry"
	// Code R35. A rare return reason. Return of a malformed debit entry.
	ACHTransferReturnReturnReasonCodeReturnOfImproperDebitEntry ACHTransferReturnReturnReasonCode = "return_of_improper_debit_entry"
	// Code R33. A rare return reason. Return of a Destroyed Check ("XKC") entry.
	ACHTransferReturnReturnReasonCodeReturnOfXckEntry ACHTransferReturnReturnReasonCode = "return_of_xck_entry"
	// Code R37. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	ACHTransferReturnReturnReasonCodeSourceDocumentPresentedForPayment ACHTransferReturnReturnReasonCode = "source_document_presented_for_payment"
	// Code R50. A rare return reason. State law prevents the bank from accepting the
	// Represented Check ("RCK") entry.
	ACHTransferReturnReturnReasonCodeStateLawAffectingRckAcceptance ACHTransferReturnReturnReasonCode = "state_law_affecting_rck_acceptance"
	// Code R52. A rare return reason. A stop payment was issued on a Represented Check
	// ("RCK") entry.
	ACHTransferReturnReturnReasonCodeStopPaymentOnItemRelatedToRckEntry ACHTransferReturnReturnReasonCode = "stop_payment_on_item_related_to_rck_entry"
	// Code R38. A rare return reason. The source attached to the ACH, usually an ACH
	// check conversion, includes a stop payment.
	ACHTransferReturnReturnReasonCodeStopPaymentOnSourceDocument ACHTransferReturnReturnReasonCode = "stop_payment_on_source_document"
	// Code R73. A rare return reason. The bank receiving an `untimely_return` believes
	// it was on time.
	ACHTransferReturnReturnReasonCodeTimelyOriginalReturn ACHTransferReturnReturnReasonCode = "timely_original_return"
	// Code R27. A rare return reason. An ACH return's trace number does not match an
	// originated ACH.
	ACHTransferReturnReturnReasonCodeTraceNumberError ACHTransferReturnReturnReasonCode = "trace_number_error"
	// Code R72. A rare return reason. The dishonored return was sent too late.
	ACHTransferReturnReturnReasonCodeUntimelyDishonoredReturn ACHTransferReturnReturnReasonCode = "untimely_dishonored_return"
	// Code R68. A rare return reason. The return was sent too late.
	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 (
	// Corporate Credit and Debit (CCD).
	ACHTransferStandardEntryClassCodeCorporateCreditOrDebit ACHTransferStandardEntryClassCode = "corporate_credit_or_debit"
	// Corporate Trade Exchange (CTX).
	ACHTransferStandardEntryClassCodeCorporateTradeExchange ACHTransferStandardEntryClassCode = "corporate_trade_exchange"
	// Prearranged Payments and Deposits (PPD).
	ACHTransferStandardEntryClassCodePrearrangedPaymentsAndDeposit ACHTransferStandardEntryClassCode = "prearranged_payments_and_deposit"
	// Internet Initiated (WEB).
	ACHTransferStandardEntryClassCodeInternetInitiated ACHTransferStandardEntryClassCode = "internet_initiated"
)

func (ACHTransferStandardEntryClassCode) IsKnown

type ACHTransferStatus

type ACHTransferStatus string

The lifecycle status of the transfer.

const (
	// The transfer is pending approval.
	ACHTransferStatusPendingApproval ACHTransferStatus = "pending_approval"
	// The transfer belongs to a Transfer Session that is pending confirmation.
	ACHTransferStatusPendingTransferSessionConfirmation ACHTransferStatus = "pending_transfer_session_confirmation"
	// The transfer has been canceled.
	ACHTransferStatusCanceled ACHTransferStatus = "canceled"
	// The transfer is pending submission to the Federal Reserve.
	ACHTransferStatusPendingSubmission ACHTransferStatus = "pending_submission"
	// The transfer is pending review by Increase.
	ACHTransferStatusPendingReviewing ACHTransferStatus = "pending_reviewing"
	// The transfer requires attention from an Increase operator.
	ACHTransferStatusRequiresAttention ACHTransferStatus = "requires_attention"
	// The transfer has been rejected.
	ACHTransferStatusRejected ACHTransferStatus = "rejected"
	// The transfer is complete.
	ACHTransferStatusSubmitted ACHTransferStatus = "submitted"
	// The transfer has been returned.
	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 (
	// The transfer is expected to settle same-day.
	ACHTransferSubmissionExpectedSettlementScheduleSameDay ACHTransferSubmissionExpectedSettlementSchedule = "same_day"
	// The transfer is expected to settle on a future date.
	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 (
	// Blue Ridge Bank, N.A.
	AccountBankBlueRidgeBank AccountBank = "blue_ridge_bank"
	// First Internet Bank of Indiana
	AccountBankFirstInternetBank AccountBank = "first_internet_bank"
	// Grasshopper 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 (
	// Canadian Dollar (CAD)
	AccountCurrencyCad AccountCurrency = "CAD"
	// Swiss Franc (CHF)
	AccountCurrencyChf AccountCurrency = "CHF"
	// Euro (EUR)
	AccountCurrencyEur AccountCurrency = "EUR"
	// British Pound (GBP)
	AccountCurrencyGbp AccountCurrency = "GBP"
	// Japanese Yen (JPY)
	AccountCurrencyJpy AccountCurrency = "JPY"
	// US Dollar (USD)
	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"`
	// Filter Accounts for those with the specified status.
	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 string

Filter Accounts for those with the specified status.

const (
	// Open Accounts that are ready to use.
	AccountListParamsStatusOpen AccountListParamsStatus = "open"
	// Closed Accounts on which no new activity can occur.
	AccountListParamsStatusClosed AccountListParamsStatus = "closed"
)

func (AccountListParamsStatus) IsKnown

func (r AccountListParamsStatus) 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 (
	// ACH Debits are allowed.
	AccountNumberInboundACHDebitStatusAllowed AccountNumberInboundACHDebitStatus = "allowed"
	// ACH Debits are blocked.
	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 (
	// Checks with this Account Number will be processed even if they are not
	// associated with a Check Transfer.
	AccountNumberInboundChecksStatusAllowed AccountNumberInboundChecksStatus = "allowed"
	// Checks with this Account Number will be processed only if they can be matched to
	// an existing Check Transfer.
	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"`
	// The ACH Debit status to retrieve Account Numbers for.
	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"`
	// The status to retrieve Account Numbers for.
	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 string

The ACH Debit status to retrieve Account Numbers for.

const (
	// ACH Debits are allowed.
	AccountNumberListParamsACHDebitStatusAllowed AccountNumberListParamsACHDebitStatus = "allowed"
	// ACH Debits are blocked.
	AccountNumberListParamsACHDebitStatusBlocked AccountNumberListParamsACHDebitStatus = "blocked"
)

func (AccountNumberListParamsACHDebitStatus) IsKnown

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 string

The status to retrieve Account Numbers for.

const (
	// The account number is active.
	AccountNumberListParamsStatusActive AccountNumberListParamsStatus = "active"
	// The account number is temporarily disabled.
	AccountNumberListParamsStatusDisabled AccountNumberListParamsStatus = "disabled"
	// The account number is permanently disabled.
	AccountNumberListParamsStatusCanceled AccountNumberListParamsStatus = "canceled"
)

func (AccountNumberListParamsStatus) IsKnown

func (r AccountNumberListParamsStatus) IsKnown() bool

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 (
	// ACH Debits are allowed.
	AccountNumberNewParamsInboundACHDebitStatusAllowed AccountNumberNewParamsInboundACHDebitStatus = "allowed"
	// ACH Debits are blocked.
	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 (
	// Checks with this Account Number will be processed even if they are not
	// associated with a Check Transfer.
	AccountNumberNewParamsInboundChecksStatusAllowed AccountNumberNewParamsInboundChecksStatus = "allowed"
	// Checks with this Account Number will be processed only if they can be matched to
	// an existing Check Transfer.
	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 (
	// The account number is active.
	AccountNumberStatusActive AccountNumberStatus = "active"
	// The account number is temporarily disabled.
	AccountNumberStatusDisabled AccountNumberStatus = "disabled"
	// The account number is permanently 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 (
	// ACH Debits are allowed.
	AccountNumberUpdateParamsInboundACHDebitStatusAllowed AccountNumberUpdateParamsInboundACHDebitStatus = "allowed"
	// ACH Debits are blocked.
	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 (
	// Checks with this Account Number will be processed even if they are not
	// associated with a Check Transfer.
	AccountNumberUpdateParamsInboundChecksStatusAllowed AccountNumberUpdateParamsInboundChecksStatus = "allowed"
	// Checks with this Account Number will be processed only if they can be matched to
	// an existing Check Transfer.
	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 (
	// The account number is active.
	AccountNumberUpdateParamsStatusActive AccountNumberUpdateParamsStatus = "active"
	// The account number is temporarily disabled.
	AccountNumberUpdateParamsStatusDisabled AccountNumberUpdateParamsStatus = "disabled"
	// The account number is permanently 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 an Account 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 (
	// Open Accounts that are ready to use.
	AccountStatusOpen AccountStatus = "open"
	// Closed Accounts on which no new activity can occur.
	AccountStatusClosed AccountStatus = "closed"
)

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 (
	// An API key. Details will be under the `api_key` object.
	AccountTransferCreatedByCategoryAPIKey AccountTransferCreatedByCategory = "api_key"
	// An OAuth application you connected to Increase. Details will be under the
	// `oauth_application` object.
	AccountTransferCreatedByCategoryOAuthApplication AccountTransferCreatedByCategory = "oauth_application"
	// A User in the Increase dashboard. Details will be under the `user` object.
	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 (
	// Canadian Dollar (CAD)
	AccountTransferCurrencyCad AccountTransferCurrency = "CAD"
	// Swiss Franc (CHF)
	AccountTransferCurrencyChf AccountTransferCurrency = "CHF"
	// Euro (EUR)
	AccountTransferCurrencyEur AccountTransferCurrency = "EUR"
	// British Pound (GBP)
	AccountTransferCurrencyGbp AccountTransferCurrency = "GBP"
	// Japanese Yen (JPY)
	AccountTransferCurrencyJpy AccountTransferCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// The transfer is pending approval.
	AccountTransferStatusPendingApproval AccountTransferStatus = "pending_approval"
	// The transfer has been canceled.
	AccountTransferStatusCanceled AccountTransferStatus = "canceled"
	// The transfer has been completed.
	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 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 (
	// A cash in an commingled Increase Account.
	BookkeepingAccountComplianceCategoryCommingledCash BookkeepingAccountComplianceCategory = "commingled_cash"
	// A customer balance.
	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 (
	// A cash in an commingled Increase Account.
	BookkeepingAccountNewParamsComplianceCategoryCommingledCash BookkeepingAccountNewParamsComplianceCategory = "commingled_cash"
	// A customer balance.
	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 {
	// 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 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 (
	// The Card Dispute is pending review.
	CardDisputeListParamsStatusInPendingReviewing CardDisputeListParamsStatusIn = "pending_reviewing"
	// Increase has requested more information related to the Card Dispute from you.
	CardDisputeListParamsStatusInPendingUserInformation CardDisputeListParamsStatusIn = "pending_user_information"
	// The Card Dispute has been accepted and your funds have been returned. The card
	// dispute will eventually transition into `won` or `lost` depending on the
	// outcome.
	CardDisputeListParamsStatusInAccepted CardDisputeListParamsStatusIn = "accepted"
	// The Card Dispute has been rejected.
	CardDisputeListParamsStatusInRejected CardDisputeListParamsStatusIn = "rejected"
	// The Card Dispute has been lost and funds previously credited from the acceptance
	// have been debited.
	CardDisputeListParamsStatusInLost CardDisputeListParamsStatusIn = "lost"
	// The Card Dispute has been won and no further action can be taken.
	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 (
	// The Card Dispute is pending review.
	CardDisputeStatusPendingReviewing CardDisputeStatus = "pending_reviewing"
	// Increase has requested more information related to the Card Dispute from you.
	CardDisputeStatusPendingUserInformation CardDisputeStatus = "pending_user_information"
	// The Card Dispute has been accepted and your funds have been returned. The card
	// dispute will eventually transition into `won` or `lost` depending on the
	// outcome.
	CardDisputeStatusAccepted CardDisputeStatus = "accepted"
	// The Card Dispute has been rejected.
	CardDisputeStatusRejected CardDisputeStatus = "rejected"
	// The Card Dispute has been lost and funds previously credited from the acceptance
	// have been debited.
	CardDisputeStatusLost CardDisputeStatus = "lost"
	// The Card Dispute has been won and no further action can be taken.
	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"`
}

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 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 Authorization object. This field will be present in the JSON response if
	// and only if `category` is equal to `card_authorization`.
	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`.
	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`.
	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`.
	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`.
	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`.
	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`.
	CardSettlement CardPaymentElementsCardSettlement `json:"card_settlement,required,nullable"`
	// A Card Validation object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_validation`.
	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 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,nullable"`
	// 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"`
	// 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"`
	// 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`.

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 (
	// This object was actioned by the user through a real-time decision.
	CardPaymentElementsCardAuthorizationActionerUser CardPaymentElementsCardAuthorizationActioner = "user"
	// This object was actioned by Increase without user intervention.
	CardPaymentElementsCardAuthorizationActionerIncrease CardPaymentElementsCardAuthorizationActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardAuthorizationCurrencyCad CardPaymentElementsCardAuthorizationCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardAuthorizationCurrencyChf CardPaymentElementsCardAuthorizationCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardAuthorizationCurrencyEur CardPaymentElementsCardAuthorizationCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardAuthorizationCurrencyGbp CardPaymentElementsCardAuthorizationCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardAuthorizationCurrencyJpy CardPaymentElementsCardAuthorizationCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// A regular card authorization where funds are debited from the cardholder.
	CardPaymentElementsCardAuthorizationDirectionSettlement CardPaymentElementsCardAuthorizationDirection = "settlement"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	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`.

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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardAuthorizationExpirationCurrencyCad CardPaymentElementsCardAuthorizationExpirationCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardAuthorizationExpirationCurrencyChf CardPaymentElementsCardAuthorizationExpirationCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardAuthorizationExpirationCurrencyEur CardPaymentElementsCardAuthorizationExpirationCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardAuthorizationExpirationCurrencyGbp CardPaymentElementsCardAuthorizationExpirationCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardAuthorizationExpirationCurrencyJpy CardPaymentElementsCardAuthorizationExpirationCurrency = "JPY"
	// US Dollar (USD)
	CardPaymentElementsCardAuthorizationExpirationCurrencyUsd CardPaymentElementsCardAuthorizationExpirationCurrency = "USD"
)

func (CardPaymentElementsCardAuthorizationExpirationCurrency) IsKnown

type CardPaymentElementsCardAuthorizationExpirationNetwork

type CardPaymentElementsCardAuthorizationExpirationNetwork string

The card network used to process this card authorization.

const (
	// Visa
	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 (
	// Visa
	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 (
	// Single transaction of a mail/phone order: Use to indicate that the transaction
	// is a mail/phone order purchase, not a recurring transaction or installment
	// payment. For domestic transactions in the US region, this value may also
	// indicate one bill payment transaction in the card-present or card-absent
	// environments.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorRecurring CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	// Installment payment: Payment indicator used to indicate one purchase of goods or
	// services that is billed to the account in multiple charges over a period of time
	// agreed upon by the cardholder and merchant from transactions that originate from
	// an acquirer in the US region.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorInstallment CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	// Secure electronic commerce transaction: Use to indicate that the electronic
	// commerce transaction has been authenticated using e.g., 3-D Secure
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	// Non-authenticated security transaction at a 3-D Secure-capable merchant, and
	// merchant attempted to authenticate the cardholder using 3-D Secure: Use to
	// identify an electronic commerce transaction where the merchant attempted to
	// authenticate the cardholder using 3-D Secure, but was unable to complete the
	// authentication because the issuer or cardholder does not participate in the 3-D
	// Secure program.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	// Non-authenticated security transaction: Use to identify an electronic commerce
	// transaction that uses data encryption for security however , cardholder
	// authentication is not performed using 3-D Secure.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	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 (
	// Unknown
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeUnknown CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeManual CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactless CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	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 (
	// Increase failed to process the authorization in a timely manner.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonIssuerError CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	// The physical card read had an invalid CVV, dCVV, or authorization request
	// cryptogram.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	// The 3DS cardholder authentication verification value was invalid.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	// An internal Visa error occurred. Visa uses this reason code for certain expected
	// occurrences as well, such as Application Transaction Counter (ATC) replays.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInternalVisaError CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	// The merchant has enabled Visa's Transaction Advisory Service and requires
	// further authentication to perform the transaction. In practice this is often
	// utilized at fuel pumps to tell the cardholder to see the cashier.
	CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired CardPaymentElementsCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	// An unspecific reason for stand-in processing.
	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 (
	// Account funding transactions are transactions used to e.g., fund an account or
	// transfer funds between accounts.
	CardPaymentElementsCardAuthorizationProcessingCategoryAccountFunding CardPaymentElementsCardAuthorizationProcessingCategory = "account_funding"
	// Automatic fuel dispenser authorizations occur when a card is used at a gas pump,
	// prior to the actual transaction amount being known. They are followed by an
	// advice message that updates the amount of the pending transaction.
	CardPaymentElementsCardAuthorizationProcessingCategoryAutomaticFuelDispenser CardPaymentElementsCardAuthorizationProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	CardPaymentElementsCardAuthorizationProcessingCategoryBillPayment CardPaymentElementsCardAuthorizationProcessingCategory = "bill_payment"
	// A regular purchase.
	CardPaymentElementsCardAuthorizationProcessingCategoryPurchase CardPaymentElementsCardAuthorizationProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	CardPaymentElementsCardAuthorizationProcessingCategoryQuasiCash CardPaymentElementsCardAuthorizationProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	CardPaymentElementsCardAuthorizationProcessingCategoryRefund CardPaymentElementsCardAuthorizationProcessingCategory = "refund"
)

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 (
	// No card verification code was provided in the authorization request.
	CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResultNotChecked CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResultMatch CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	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 (
	// No adress was provided in the authorization request.
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultNotChecked CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	CardPaymentElementsCardAuthorizationVerificationCardholderAddressResultMatch CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult = "match"
	// Postal code and street address do not 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,nullable"`
	// 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"`
	// 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"`
	// Why the transaction was declined.
	Reason CardPaymentElementsCardDeclineReason `json:"reason,required"`
	// 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 (
	// This object was actioned by the user through a real-time decision.
	CardPaymentElementsCardDeclineActionerUser CardPaymentElementsCardDeclineActioner = "user"
	// This object was actioned by Increase without user intervention.
	CardPaymentElementsCardDeclineActionerIncrease CardPaymentElementsCardDeclineActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardDeclineCurrencyCad CardPaymentElementsCardDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardDeclineCurrencyChf CardPaymentElementsCardDeclineCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardDeclineCurrencyEur CardPaymentElementsCardDeclineCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardDeclineCurrencyGbp CardPaymentElementsCardDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardDeclineCurrencyJpy CardPaymentElementsCardDeclineCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// A regular card authorization where funds are debited from the cardholder.
	CardPaymentElementsCardDeclineDirectionSettlement CardPaymentElementsCardDeclineDirection = "settlement"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	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 (
	// Visa
	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 (
	// Single transaction of a mail/phone order: Use to indicate that the transaction
	// is a mail/phone order purchase, not a recurring transaction or installment
	// payment. For domestic transactions in the US region, this value may also
	// indicate one bill payment transaction in the card-present or card-absent
	// environments.
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorRecurring CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	// Installment payment: Payment indicator used to indicate one purchase of goods or
	// services that is billed to the account in multiple charges over a period of time
	// agreed upon by the cardholder and merchant from transactions that originate from
	// an acquirer in the US region.
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorInstallment CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	// Secure electronic commerce transaction: Use to indicate that the electronic
	// commerce transaction has been authenticated using e.g., 3-D Secure
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	// Non-authenticated security transaction at a 3-D Secure-capable merchant, and
	// merchant attempted to authenticate the cardholder using 3-D Secure: Use to
	// identify an electronic commerce transaction where the merchant attempted to
	// authenticate the cardholder using 3-D Secure, but was unable to complete the
	// authentication because the issuer or cardholder does not participate in the 3-D
	// Secure program.
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	// Non-authenticated security transaction: Use to identify an electronic commerce
	// transaction that uses data encryption for security however , cardholder
	// authentication is not performed using 3-D Secure.
	CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	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 (
	// Unknown
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeUnknown CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeManual CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeOpticalCode CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactless CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	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 (
	// Increase failed to process the authorization in a timely manner.
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonIssuerError CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	// The physical card read had an invalid CVV, dCVV, or authorization request
	// cryptogram.
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	// The 3DS cardholder authentication verification value was invalid.
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	// An internal Visa error occurred. Visa uses this reason code for certain expected
	// occurrences as well, such as Application Transaction Counter (ATC) replays.
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonInternalVisaError CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	// The merchant has enabled Visa's Transaction Advisory Service and requires
	// further authentication to perform the transaction. In practice this is often
	// utilized at fuel pumps to tell the cardholder to see the cashier.
	CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired CardPaymentElementsCardDeclineNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	// An unspecific reason for stand-in processing.
	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 (
	// Account funding transactions are transactions used to e.g., fund an account or
	// transfer funds between accounts.
	CardPaymentElementsCardDeclineProcessingCategoryAccountFunding CardPaymentElementsCardDeclineProcessingCategory = "account_funding"
	// Automatic fuel dispenser authorizations occur when a card is used at a gas pump,
	// prior to the actual transaction amount being known. They are followed by an
	// advice message that updates the amount of the pending transaction.
	CardPaymentElementsCardDeclineProcessingCategoryAutomaticFuelDispenser CardPaymentElementsCardDeclineProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	CardPaymentElementsCardDeclineProcessingCategoryBillPayment CardPaymentElementsCardDeclineProcessingCategory = "bill_payment"
	// A regular purchase.
	CardPaymentElementsCardDeclineProcessingCategoryPurchase CardPaymentElementsCardDeclineProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	CardPaymentElementsCardDeclineProcessingCategoryQuasiCash CardPaymentElementsCardDeclineProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	CardPaymentElementsCardDeclineProcessingCategoryRefund CardPaymentElementsCardDeclineProcessingCategory = "refund"
)

func (CardPaymentElementsCardDeclineProcessingCategory) IsKnown

type CardPaymentElementsCardDeclineReason

type CardPaymentElementsCardDeclineReason string

Why the transaction was declined.

const (
	// The Card was not active.
	CardPaymentElementsCardDeclineReasonCardNotActive CardPaymentElementsCardDeclineReason = "card_not_active"
	// The Physical Card was not active.
	CardPaymentElementsCardDeclineReasonPhysicalCardNotActive CardPaymentElementsCardDeclineReason = "physical_card_not_active"
	// The account's entity was not active.
	CardPaymentElementsCardDeclineReasonEntityNotActive CardPaymentElementsCardDeclineReason = "entity_not_active"
	// The account was inactive.
	CardPaymentElementsCardDeclineReasonGroupLocked CardPaymentElementsCardDeclineReason = "group_locked"
	// The Card's Account did not have a sufficient available balance.
	CardPaymentElementsCardDeclineReasonInsufficientFunds CardPaymentElementsCardDeclineReason = "insufficient_funds"
	// The given CVV2 did not match the card's value.
	CardPaymentElementsCardDeclineReasonCvv2Mismatch CardPaymentElementsCardDeclineReason = "cvv2_mismatch"
	// The given expiration date did not match the card's value. Only applies when a
	// CVV2 is present.
	CardPaymentElementsCardDeclineReasonCardExpirationMismatch CardPaymentElementsCardDeclineReason = "card_expiration_mismatch"
	// The attempted card transaction is not allowed per Increase's terms.
	CardPaymentElementsCardDeclineReasonTransactionNotAllowed CardPaymentElementsCardDeclineReason = "transaction_not_allowed"
	// The transaction was blocked by a Limit.
	CardPaymentElementsCardDeclineReasonBreachesLimit CardPaymentElementsCardDeclineReason = "breaches_limit"
	// Your application declined the transaction via webhook.
	CardPaymentElementsCardDeclineReasonWebhookDeclined CardPaymentElementsCardDeclineReason = "webhook_declined"
	// Your application webhook did not respond without the required timeout.
	CardPaymentElementsCardDeclineReasonWebhookTimedOut CardPaymentElementsCardDeclineReason = "webhook_timed_out"
	// Declined by stand-in processing.
	CardPaymentElementsCardDeclineReasonDeclinedByStandInProcessing CardPaymentElementsCardDeclineReason = "declined_by_stand_in_processing"
	// The card read had an invalid CVV, dCVV, or authorization request cryptogram.
	CardPaymentElementsCardDeclineReasonInvalidPhysicalCard CardPaymentElementsCardDeclineReason = "invalid_physical_card"
	// The original card authorization for this incremental authorization does not
	// exist.
	CardPaymentElementsCardDeclineReasonMissingOriginalAuthorization CardPaymentElementsCardDeclineReason = "missing_original_authorization"
	// The transaction was suspected to be fraudulent. Please reach out to
	// support@increase.com for more information.
	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 (
	// No card verification code was provided in the authorization request.
	CardPaymentElementsCardDeclineVerificationCardVerificationCodeResultNotChecked CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	CardPaymentElementsCardDeclineVerificationCardVerificationCodeResultMatch CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	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 (
	// No adress was provided in the authorization request.
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultNotChecked CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	CardPaymentElementsCardDeclineVerificationCardholderAddressResultMatch CardPaymentElementsCardDeclineVerificationCardholderAddressResult = "match"
	// Postal code and street address do not 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`.

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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardFuelConfirmationCurrencyCad CardPaymentElementsCardFuelConfirmationCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardFuelConfirmationCurrencyChf CardPaymentElementsCardFuelConfirmationCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardFuelConfirmationCurrencyEur CardPaymentElementsCardFuelConfirmationCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardFuelConfirmationCurrencyGbp CardPaymentElementsCardFuelConfirmationCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardFuelConfirmationCurrencyJpy CardPaymentElementsCardFuelConfirmationCurrency = "JPY"
	// US Dollar (USD)
	CardPaymentElementsCardFuelConfirmationCurrencyUsd CardPaymentElementsCardFuelConfirmationCurrency = "USD"
)

func (CardPaymentElementsCardFuelConfirmationCurrency) IsKnown

type CardPaymentElementsCardFuelConfirmationNetwork

type CardPaymentElementsCardFuelConfirmationNetwork string

The card network used to process this card authorization.

const (
	// Visa
	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`.

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 (
	// This object was actioned by the user through a real-time decision.
	CardPaymentElementsCardIncrementActionerUser CardPaymentElementsCardIncrementActioner = "user"
	// This object was actioned by Increase without user intervention.
	CardPaymentElementsCardIncrementActionerIncrease CardPaymentElementsCardIncrementActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardIncrementCurrencyCad CardPaymentElementsCardIncrementCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardIncrementCurrencyChf CardPaymentElementsCardIncrementCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardIncrementCurrencyEur CardPaymentElementsCardIncrementCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardIncrementCurrencyGbp CardPaymentElementsCardIncrementCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardIncrementCurrencyJpy CardPaymentElementsCardIncrementCurrency = "JPY"
	// US Dollar (USD)
	CardPaymentElementsCardIncrementCurrencyUsd CardPaymentElementsCardIncrementCurrency = "USD"
)

func (CardPaymentElementsCardIncrementCurrency) IsKnown

type CardPaymentElementsCardIncrementNetwork

type CardPaymentElementsCardIncrementNetwork string

The card network used to process this card authorization.

const (
	// Visa
	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"`
	// 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,nullable"`
	// 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,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,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`.

func (*CardPaymentElementsCardRefund) UnmarshalJSON

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

type CardPaymentElementsCardRefundCurrency

type CardPaymentElementsCardRefundCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardRefundCurrencyCad CardPaymentElementsCardRefundCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardRefundCurrencyChf CardPaymentElementsCardRefundCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardRefundCurrencyEur CardPaymentElementsCardRefundCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardRefundCurrencyGbp CardPaymentElementsCardRefundCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardRefundCurrencyJpy CardPaymentElementsCardRefundCurrency = "JPY"
	// US Dollar (USD)
	CardPaymentElementsCardRefundCurrencyUsd CardPaymentElementsCardRefundCurrency = "USD"
)

func (CardPaymentElementsCardRefundCurrency) IsKnown

type CardPaymentElementsCardRefundInterchange

type CardPaymentElementsCardRefundInterchange struct {
	// The interchange amount given as a string containing a decimal number. 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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardRefundInterchangeCurrencyCad CardPaymentElementsCardRefundInterchangeCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardRefundInterchangeCurrencyChf CardPaymentElementsCardRefundInterchangeCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardRefundInterchangeCurrencyEur CardPaymentElementsCardRefundInterchangeCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardRefundInterchangeCurrencyGbp CardPaymentElementsCardRefundInterchangeCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardRefundInterchangeCurrencyJpy CardPaymentElementsCardRefundInterchangeCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// No extra charge
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesNoExtraCharge CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	// Gas
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesGas CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "gas"
	// Extra mileage
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesExtraMileage CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	// Late return
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesLateReturn CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "late_return"
	// One way service fee
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraChargesOneWayServiceFee CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	// Parking violation
	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 (
	// Not applicable
	CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicatorNotApplicable CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	// No show for specialized vehicle
	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 (
	// No extra charge
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesNoExtraCharge CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	// Restaurant
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesRestaurant CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "restaurant"
	// Gift shop
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesGiftShop CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "gift_shop"
	// Mini bar
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesMiniBar CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "mini_bar"
	// Telephone
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesTelephone CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "telephone"
	// Other
	CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraChargesOther CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges = "other"
	// Laundry
	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 (
	// Not applicable
	CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicatorNotApplicable CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	// No show
	CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicatorNoShow CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat

type CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	// Free text
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatFreeText CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	// Order number
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatOrderNumber CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	// Rental agreement number
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	// Hotel folio number
	CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	// Invoice 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 (
	// No credit
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Other
	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 (
	// None
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryNone CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "none"
	// Bundled service
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBundledService CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	// Baggage fee
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	// Change fee
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryChangeFee CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	// Cargo
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCargo CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	// Carbon offset
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	// Frequent flyer
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	// Gift card
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGiftCard CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	// Ground transport
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	// In-flight entertainment
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	// Lounge
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryLounge CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	// Medical
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMedical CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	// Meal beverage
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	// Other
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryOther CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "other"
	// Passenger assist fee
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	// Pets
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPets CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	// Seat fees
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategorySeatFees CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	// Standby
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStandby CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	// Service fee
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryServiceFee CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	// Store
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStore CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "store"
	// Travel service
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryTravelService CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	// Unaccompanied travel
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	// Upgrades
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUpgrades CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	// Wi-fi
	CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategoryWifi CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator

type CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorNoCredit CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket cancellation
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	// Other
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorOther CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "other"
	// Partial refund of airline ticket
	CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator

type CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	// No restrictions
	CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	// Restricted non-refundable ticket
	CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator

type CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	// None
	CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicatorNone CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator = "none"
	// Change to existing ticket
	CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	// New 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 (
	// None
	CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCodeNone CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "none"
	// Stop over allowed
	CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	// Stop over not 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"`
	// 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`.

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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardReversalCurrencyCad CardPaymentElementsCardReversalCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardReversalCurrencyChf CardPaymentElementsCardReversalCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardReversalCurrencyEur CardPaymentElementsCardReversalCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardReversalCurrencyGbp CardPaymentElementsCardReversalCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardReversalCurrencyJpy CardPaymentElementsCardReversalCurrency = "JPY"
	// US Dollar (USD)
	CardPaymentElementsCardReversalCurrencyUsd CardPaymentElementsCardReversalCurrency = "USD"
)

func (CardPaymentElementsCardReversalCurrency) IsKnown

type CardPaymentElementsCardReversalNetwork

type CardPaymentElementsCardReversalNetwork string

The card network used to process this card authorization.

const (
	// Visa
	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 (
	// The Card Reversal was initiated at the customer's request.
	CardPaymentElementsCardReversalReversalReasonReversedByCustomer CardPaymentElementsCardReversalReversalReason = "reversed_by_customer"
	// The Card Reversal was initiated by the network or acquirer.
	CardPaymentElementsCardReversalReversalReasonReversedByNetworkOrAcquirer CardPaymentElementsCardReversalReversalReason = "reversed_by_network_or_acquirer"
	// The Card Reversal was initiated by the point of sale device.
	CardPaymentElementsCardReversalReversalReasonReversedByPointOfSale CardPaymentElementsCardReversalReversalReason = "reversed_by_point_of_sale"
	// The Card Reversal was a partial reversal, for any reason.
	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"`
	// 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 transaciton.
	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,nullable"`
	// 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,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,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`.

func (*CardPaymentElementsCardSettlement) UnmarshalJSON

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

type CardPaymentElementsCardSettlementCurrency

type CardPaymentElementsCardSettlementCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardSettlementCurrencyCad CardPaymentElementsCardSettlementCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardSettlementCurrencyChf CardPaymentElementsCardSettlementCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardSettlementCurrencyEur CardPaymentElementsCardSettlementCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardSettlementCurrencyGbp CardPaymentElementsCardSettlementCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardSettlementCurrencyJpy CardPaymentElementsCardSettlementCurrency = "JPY"
	// US Dollar (USD)
	CardPaymentElementsCardSettlementCurrencyUsd CardPaymentElementsCardSettlementCurrency = "USD"
)

func (CardPaymentElementsCardSettlementCurrency) IsKnown

type CardPaymentElementsCardSettlementInterchange

type CardPaymentElementsCardSettlementInterchange struct {
	// The interchange amount given as a string containing a decimal number. 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 transaciton.

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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardSettlementInterchangeCurrencyCad CardPaymentElementsCardSettlementInterchangeCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardSettlementInterchangeCurrencyChf CardPaymentElementsCardSettlementInterchangeCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardSettlementInterchangeCurrencyEur CardPaymentElementsCardSettlementInterchangeCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardSettlementInterchangeCurrencyGbp CardPaymentElementsCardSettlementInterchangeCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardSettlementInterchangeCurrencyJpy CardPaymentElementsCardSettlementInterchangeCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// No extra charge
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesNoExtraCharge CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	// Gas
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesGas CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "gas"
	// Extra mileage
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesExtraMileage CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	// Late return
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesLateReturn CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "late_return"
	// One way service fee
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraChargesOneWayServiceFee CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	// Parking violation
	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 (
	// Not applicable
	CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNotApplicable CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	// No show for specialized vehicle
	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 (
	// No extra charge
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesNoExtraCharge CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	// Restaurant
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesRestaurant CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "restaurant"
	// Gift shop
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesGiftShop CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "gift_shop"
	// Mini bar
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesMiniBar CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "mini_bar"
	// Telephone
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesTelephone CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "telephone"
	// Other
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraChargesOther CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges = "other"
	// Laundry
	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 (
	// Not applicable
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicatorNotApplicable CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	// No show
	CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicatorNoShow CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat

type CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	// Free text
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatFreeText CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	// Order number
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatOrderNumber CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	// Rental agreement number
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	// Hotel folio number
	CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	// Invoice 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 (
	// No credit
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Other
	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 (
	// None
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryNone CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "none"
	// Bundled service
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBundledService CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	// Baggage fee
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	// Change fee
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryChangeFee CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	// Cargo
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCargo CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	// Carbon offset
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	// Frequent flyer
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	// Gift card
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGiftCard CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	// Ground transport
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	// In-flight entertainment
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	// Lounge
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryLounge CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	// Medical
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMedical CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	// Meal beverage
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	// Other
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryOther CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "other"
	// Passenger assist fee
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	// Pets
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPets CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	// Seat fees
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategorySeatFees CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	// Standby
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStandby CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	// Service fee
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryServiceFee CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	// Store
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStore CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "store"
	// Travel service
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryTravelService CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	// Unaccompanied travel
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	// Upgrades
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUpgrades CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	// Wi-fi
	CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryWifi CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorNoCredit CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket cancellation
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	// Other
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorOther CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "other"
	// Partial refund of airline ticket
	CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	// No restrictions
	CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	// Restricted non-refundable ticket
	CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	// None
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNone CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "none"
	// Change to existing ticket
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	// New 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 (
	// None
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeNone CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "none"
	// Stop over allowed
	CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	// Stop over not 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,nullable"`
	// 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"`
	// 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"`
	// A constant representing the object's type. For this resource it will always be
	// `card_validation`.
	Type CardPaymentElementsCardValidationType `json:"type,required"`
	// Fields related to verification of cardholder-provided values.
	Verification CardPaymentElementsCardValidationVerification `json:"verification,required"`
	JSON         cardPaymentElementsCardValidationJSON         `json:"-"`
}

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

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 (
	// This object was actioned by the user through a real-time decision.
	CardPaymentElementsCardValidationActionerUser CardPaymentElementsCardValidationActioner = "user"
	// This object was actioned by Increase without user intervention.
	CardPaymentElementsCardValidationActionerIncrease CardPaymentElementsCardValidationActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	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 (
	// Canadian Dollar (CAD)
	CardPaymentElementsCardValidationCurrencyCad CardPaymentElementsCardValidationCurrency = "CAD"
	// Swiss Franc (CHF)
	CardPaymentElementsCardValidationCurrencyChf CardPaymentElementsCardValidationCurrency = "CHF"
	// Euro (EUR)
	CardPaymentElementsCardValidationCurrencyEur CardPaymentElementsCardValidationCurrency = "EUR"
	// British Pound (GBP)
	CardPaymentElementsCardValidationCurrencyGbp CardPaymentElementsCardValidationCurrency = "GBP"
	// Japanese Yen (JPY)
	CardPaymentElementsCardValidationCurrencyJpy CardPaymentElementsCardValidationCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Visa
	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 (
	// Single transaction of a mail/phone order: Use to indicate that the transaction
	// is a mail/phone order purchase, not a recurring transaction or installment
	// payment. For domestic transactions in the US region, this value may also
	// indicate one bill payment transaction in the card-present or card-absent
	// environments.
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorRecurring CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	// Installment payment: Payment indicator used to indicate one purchase of goods or
	// services that is billed to the account in multiple charges over a period of time
	// agreed upon by the cardholder and merchant from transactions that originate from
	// an acquirer in the US region.
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorInstallment CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	// Secure electronic commerce transaction: Use to indicate that the electronic
	// commerce transaction has been authenticated using e.g., 3-D Secure
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	// Non-authenticated security transaction at a 3-D Secure-capable merchant, and
	// merchant attempted to authenticate the cardholder using 3-D Secure: Use to
	// identify an electronic commerce transaction where the merchant attempted to
	// authenticate the cardholder using 3-D Secure, but was unable to complete the
	// authentication because the issuer or cardholder does not participate in the 3-D
	// Secure program.
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	// Non-authenticated security transaction: Use to identify an electronic commerce
	// transaction that uses data encryption for security however , cardholder
	// authentication is not performed using 3-D Secure.
	CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	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 (
	// Unknown
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeUnknown CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeManual CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeContactless CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	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 (
	// Increase failed to process the authorization in a timely manner.
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonIssuerError CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	// The physical card read had an invalid CVV, dCVV, or authorization request
	// cryptogram.
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	// The 3DS cardholder authentication verification value was invalid.
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	// An internal Visa error occurred. Visa uses this reason code for certain expected
	// occurrences as well, such as Application Transaction Counter (ATC) replays.
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonInternalVisaError CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	// The merchant has enabled Visa's Transaction Advisory Service and requires
	// further authentication to perform the transaction. In practice this is often
	// utilized at fuel pumps to tell the cardholder to see the cashier.
	CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired CardPaymentElementsCardValidationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	// An unspecific reason for stand-in processing.
	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 `card_validation`.

const (
	CardPaymentElementsCardValidationTypeCardValidation CardPaymentElementsCardValidationType = "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 (
	// No card verification code was provided in the authorization request.
	CardPaymentElementsCardValidationVerificationCardVerificationCodeResultNotChecked CardPaymentElementsCardValidationVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	CardPaymentElementsCardValidationVerificationCardVerificationCodeResultMatch CardPaymentElementsCardValidationVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	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 (
	// No adress was provided in the authorization request.
	CardPaymentElementsCardValidationVerificationCardholderAddressResultNotChecked CardPaymentElementsCardValidationVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	CardPaymentElementsCardValidationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardPaymentElementsCardValidationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	CardPaymentElementsCardValidationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch CardPaymentElementsCardValidationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	CardPaymentElementsCardValidationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch CardPaymentElementsCardValidationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	CardPaymentElementsCardValidationVerificationCardholderAddressResultMatch CardPaymentElementsCardValidationVerificationCardholderAddressResult = "match"
	// Postal code and street address do not 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 (
	// Card Authorization: details will be under the `card_authorization` object.
	CardPaymentElementsCategoryCardAuthorization CardPaymentElementsCategory = "card_authorization"
	// Card Authentication: details will be under the `card_authentication` object.
	CardPaymentElementsCategoryCardAuthentication CardPaymentElementsCategory = "card_authentication"
	// Card Validation: details will be under the `card_validation` object.
	CardPaymentElementsCategoryCardValidation CardPaymentElementsCategory = "card_validation"
	// Card Decline: details will be under the `card_decline` object.
	CardPaymentElementsCategoryCardDecline CardPaymentElementsCategory = "card_decline"
	// Card Reversal: details will be under the `card_reversal` object.
	CardPaymentElementsCategoryCardReversal CardPaymentElementsCategory = "card_reversal"
	// Card Authorization Expiration: details will be under the
	// `card_authorization_expiration` object.
	CardPaymentElementsCategoryCardAuthorizationExpiration CardPaymentElementsCategory = "card_authorization_expiration"
	// Card Increment: details will be under the `card_increment` object.
	CardPaymentElementsCategoryCardIncrement CardPaymentElementsCategory = "card_increment"
	// Card Settlement: details will be under the `card_settlement` object.
	CardPaymentElementsCategoryCardSettlement CardPaymentElementsCategory = "card_settlement"
	// Card Refund: details will be under the `card_refund` object.
	CardPaymentElementsCategoryCardRefund CardPaymentElementsCategory = "card_refund"
	// Card Fuel Confirmation: details will be under the `card_fuel_confirmation`
	// object.
	CardPaymentElementsCategoryCardFuelConfirmation CardPaymentElementsCategory = "card_fuel_confirmation"
	// Unknown card payment element.
	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 (
	// No invoice level discount provided
	CardPurchaseSupplementInvoiceDiscountTreatmentCodeNoInvoiceLevelDiscountProvided CardPurchaseSupplementInvoiceDiscountTreatmentCode = "no_invoice_level_discount_provided"
	// Tax calculated on post discount invoice total
	CardPurchaseSupplementInvoiceDiscountTreatmentCodeTaxCalculatedOnPostDiscountInvoiceTotal CardPurchaseSupplementInvoiceDiscountTreatmentCode = "tax_calculated_on_post_discount_invoice_total"
	// Tax calculated on pre 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 (
	// No tax applies
	CardPurchaseSupplementInvoiceTaxTreatmentsNoTaxApplies CardPurchaseSupplementInvoiceTaxTreatments = "no_tax_applies"
	// Net price line item level
	CardPurchaseSupplementInvoiceTaxTreatmentsNetPriceLineItemLevel CardPurchaseSupplementInvoiceTaxTreatments = "net_price_line_item_level"
	// Net price invoice level
	CardPurchaseSupplementInvoiceTaxTreatmentsNetPriceInvoiceLevel CardPurchaseSupplementInvoiceTaxTreatments = "net_price_invoice_level"
	// Gross price line item level
	CardPurchaseSupplementInvoiceTaxTreatmentsGrossPriceLineItemLevel CardPurchaseSupplementInvoiceTaxTreatments = "gross_price_line_item_level"
	// Gross price invoice 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 (
	// Normal
	CardPurchaseSupplementLineItemsDetailIndicatorNormal CardPurchaseSupplementLineItemsDetailIndicator = "normal"
	// Credit
	CardPurchaseSupplementLineItemsDetailIndicatorCredit CardPurchaseSupplementLineItemsDetailIndicator = "credit"
	// Purchase
	CardPurchaseSupplementLineItemsDetailIndicatorPayment CardPurchaseSupplementLineItemsDetailIndicator = "payment"
)

func (CardPurchaseSupplementLineItemsDetailIndicator) IsKnown

type CardPurchaseSupplementLineItemsDiscountTreatmentCode

type CardPurchaseSupplementLineItemsDiscountTreatmentCode string

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

const (
	// No line item level discount provided
	CardPurchaseSupplementLineItemsDiscountTreatmentCodeNoLineItemLevelDiscountProvided CardPurchaseSupplementLineItemsDiscountTreatmentCode = "no_line_item_level_discount_provided"
	// Tax calculated on post discount line item total
	CardPurchaseSupplementLineItemsDiscountTreatmentCodeTaxCalculatedOnPostDiscountLineItemTotal CardPurchaseSupplementLineItemsDiscountTreatmentCode = "tax_calculated_on_post_discount_line_item_total"
	// Tax calculated on pre 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 (
	// The card is active.
	CardStatusActive CardStatus = "active"
	// The card is temporarily disabled.
	CardStatusDisabled CardStatus = "disabled"
	// The card is permanently canceled.
	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 (
	// The card is active.
	CardUpdateParamsStatusActive CardUpdateParamsStatus = "active"
	// The card is temporarily disabled.
	CardUpdateParamsStatusDisabled CardUpdateParamsStatus = "disabled"
	// The card is permanently canceled.
	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 (
	// Canadian Dollar (CAD)
	CheckDepositDepositAcceptanceCurrencyCad CheckDepositDepositAcceptanceCurrency = "CAD"
	// Swiss Franc (CHF)
	CheckDepositDepositAcceptanceCurrencyChf CheckDepositDepositAcceptanceCurrency = "CHF"
	// Euro (EUR)
	CheckDepositDepositAcceptanceCurrencyEur CheckDepositDepositAcceptanceCurrency = "EUR"
	// British Pound (GBP)
	CheckDepositDepositAcceptanceCurrencyGbp CheckDepositDepositAcceptanceCurrency = "GBP"
	// Japanese Yen (JPY)
	CheckDepositDepositAcceptanceCurrencyJpy CheckDepositDepositAcceptanceCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Canadian Dollar (CAD)
	CheckDepositDepositRejectionCurrencyCad CheckDepositDepositRejectionCurrency = "CAD"
	// Swiss Franc (CHF)
	CheckDepositDepositRejectionCurrencyChf CheckDepositDepositRejectionCurrency = "CHF"
	// Euro (EUR)
	CheckDepositDepositRejectionCurrencyEur CheckDepositDepositRejectionCurrency = "EUR"
	// British Pound (GBP)
	CheckDepositDepositRejectionCurrencyGbp CheckDepositDepositRejectionCurrency = "GBP"
	// Japanese Yen (JPY)
	CheckDepositDepositRejectionCurrencyJpy CheckDepositDepositRejectionCurrency = "JPY"
	// US Dollar (USD)
	CheckDepositDepositRejectionCurrencyUsd CheckDepositDepositRejectionCurrency = "USD"
)

func (CheckDepositDepositRejectionCurrency) IsKnown

type CheckDepositDepositRejectionReason

type CheckDepositDepositRejectionReason string

Why the check deposit was rejected.

const (
	// The check's image is incomplete.
	CheckDepositDepositRejectionReasonIncompleteImage CheckDepositDepositRejectionReason = "incomplete_image"
	// This is a duplicate check submission.
	CheckDepositDepositRejectionReasonDuplicate CheckDepositDepositRejectionReason = "duplicate"
	// This check has poor image quality.
	CheckDepositDepositRejectionReasonPoorImageQuality CheckDepositDepositRejectionReason = "poor_image_quality"
	// The check was deposited with the incorrect amount.
	CheckDepositDepositRejectionReasonIncorrectAmount CheckDepositDepositRejectionReason = "incorrect_amount"
	// The check is made out to someone other than the account holder.
	CheckDepositDepositRejectionReasonIncorrectRecipient CheckDepositDepositRejectionReason = "incorrect_recipient"
	// This check was not eligible for mobile deposit.
	CheckDepositDepositRejectionReasonNotEligibleForMobileDeposit CheckDepositDepositRejectionReason = "not_eligible_for_mobile_deposit"
	// This check is missing at least one required field.
	CheckDepositDepositRejectionReasonMissingRequiredDataElements CheckDepositDepositRejectionReason = "missing_required_data_elements"
	// This check is suspected to be fraudulent.
	CheckDepositDepositRejectionReasonSuspectedFraud CheckDepositDepositRejectionReason = "suspected_fraud"
	// This check's deposit window has expired.
	CheckDepositDepositRejectionReasonDepositWindowExpired CheckDepositDepositRejectionReason = "deposit_window_expired"
	// The check was rejected at the user's request.
	CheckDepositDepositRejectionReasonRequestedByUser CheckDepositDepositRejectionReason = "requested_by_user"
	// The check was rejected for an unknown reason.
	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 (
	// Canadian Dollar (CAD)
	CheckDepositDepositReturnCurrencyCad CheckDepositDepositReturnCurrency = "CAD"
	// Swiss Franc (CHF)
	CheckDepositDepositReturnCurrencyChf CheckDepositDepositReturnCurrency = "CHF"
	// Euro (EUR)
	CheckDepositDepositReturnCurrencyEur CheckDepositDepositReturnCurrency = "EUR"
	// British Pound (GBP)
	CheckDepositDepositReturnCurrencyGbp CheckDepositDepositReturnCurrency = "GBP"
	// Japanese Yen (JPY)
	CheckDepositDepositReturnCurrencyJpy CheckDepositDepositReturnCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// The check doesn't allow ACH conversion.
	CheckDepositDepositReturnReturnReasonACHConversionNotSupported CheckDepositDepositReturnReturnReason = "ach_conversion_not_supported"
	// The account is closed.
	CheckDepositDepositReturnReturnReasonClosedAccount CheckDepositDepositReturnReturnReason = "closed_account"
	// The check has already been deposited.
	CheckDepositDepositReturnReturnReasonDuplicateSubmission CheckDepositDepositReturnReturnReason = "duplicate_submission"
	// Insufficient funds
	CheckDepositDepositReturnReturnReasonInsufficientFunds CheckDepositDepositReturnReturnReason = "insufficient_funds"
	// No account was found matching the check details.
	CheckDepositDepositReturnReturnReasonNoAccount CheckDepositDepositReturnReturnReason = "no_account"
	// The check was not authorized.
	CheckDepositDepositReturnReturnReasonNotAuthorized CheckDepositDepositReturnReturnReason = "not_authorized"
	// The check is too old.
	CheckDepositDepositReturnReturnReasonStaleDated CheckDepositDepositReturnReturnReason = "stale_dated"
	// The payment has been stopped by the account holder.
	CheckDepositDepositReturnReturnReasonStopPayment CheckDepositDepositReturnReturnReason = "stop_payment"
	// The reason for the return is unknown.
	CheckDepositDepositReturnReturnReasonUnknownReason CheckDepositDepositReturnReturnReason = "unknown_reason"
	// The image doesn't match the details submitted.
	CheckDepositDepositReturnReturnReasonUnmatchedDetails CheckDepositDepositReturnReturnReason = "unmatched_details"
	// The image could not be read.
	CheckDepositDepositReturnReturnReasonUnreadableImage CheckDepositDepositReturnReturnReason = "unreadable_image"
	// The check endorsement was irregular.
	CheckDepositDepositReturnReturnReasonEndorsementIrregular CheckDepositDepositReturnReturnReason = "endorsement_irregular"
	// The check present was either altered or fake.
	CheckDepositDepositReturnReturnReasonAlteredOrFictitiousItem CheckDepositDepositReturnReturnReason = "altered_or_fictitious_item"
	// The account this check is drawn on is frozen.
	CheckDepositDepositReturnReturnReasonFrozenOrBlockedAccount CheckDepositDepositReturnReturnReason = "frozen_or_blocked_account"
	// The check is post dated.
	CheckDepositDepositReturnReturnReasonPostDated CheckDepositDepositReturnReturnReason = "post_dated"
	// The endorsement was missing.
	CheckDepositDepositReturnReturnReasonEndorsementMissing CheckDepositDepositReturnReturnReason = "endorsement_missing"
	// The check signature was missing.
	CheckDepositDepositReturnReturnReasonSignatureMissing CheckDepositDepositReturnReturnReason = "signature_missing"
	// The bank suspects a stop payment will be placed.
	CheckDepositDepositReturnReturnReasonStopPaymentSuspect CheckDepositDepositReturnReturnReason = "stop_payment_suspect"
	// The bank cannot read the image.
	CheckDepositDepositReturnReturnReasonUnusableImage CheckDepositDepositReturnReturnReason = "unusable_image"
	// The check image fails the bank's security check.
	CheckDepositDepositReturnReturnReasonImageFailsSecurityCheck CheckDepositDepositReturnReturnReason = "image_fails_security_check"
	// The bank cannot determine the amount.
	CheckDepositDepositReturnReturnReasonCannotDetermineAmount CheckDepositDepositReturnReturnReason = "cannot_determine_amount"
	// The signature is inconsistent with prior signatures.
	CheckDepositDepositReturnReturnReasonSignatureIrregular CheckDepositDepositReturnReturnReason = "signature_irregular"
	// The check is a non-cash item and cannot be drawn against the account.
	CheckDepositDepositReturnReturnReasonNonCashItem CheckDepositDepositReturnReturnReason = "non_cash_item"
	// The bank is unable to process this check.
	CheckDepositDepositReturnReturnReasonUnableToProcess CheckDepositDepositReturnReturnReason = "unable_to_process"
	// The check exceeds the bank or customer's limit.
	CheckDepositDepositReturnReturnReasonItemExceedsDollarLimit CheckDepositDepositReturnReturnReason = "item_exceeds_dollar_limit"
	// The bank sold this account and no longer services this customer.
	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 (
	// Canadian Dollar (CAD)
	CheckDepositInboundFundsHoldCurrencyCad CheckDepositInboundFundsHoldCurrency = "CAD"
	// Swiss Franc (CHF)
	CheckDepositInboundFundsHoldCurrencyChf CheckDepositInboundFundsHoldCurrency = "CHF"
	// Euro (EUR)
	CheckDepositInboundFundsHoldCurrencyEur CheckDepositInboundFundsHoldCurrency = "EUR"
	// British Pound (GBP)
	CheckDepositInboundFundsHoldCurrencyGbp CheckDepositInboundFundsHoldCurrency = "GBP"
	// Japanese Yen (JPY)
	CheckDepositInboundFundsHoldCurrencyJpy CheckDepositInboundFundsHoldCurrency = "JPY"
	// US Dollar (USD)
	CheckDepositInboundFundsHoldCurrencyUsd CheckDepositInboundFundsHoldCurrency = "USD"
)

func (CheckDepositInboundFundsHoldCurrency) IsKnown

type CheckDepositInboundFundsHoldStatus

type CheckDepositInboundFundsHoldStatus string

The status of the hold.

const (
	// Funds are still being held.
	CheckDepositInboundFundsHoldStatusHeld CheckDepositInboundFundsHoldStatus = "held"
	// Funds have been released.
	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 (
	// The Check Deposit is pending review.
	CheckDepositStatusPending CheckDepositStatus = "pending"
	// The Check Deposit has been deposited.
	CheckDepositStatusSubmitted CheckDepositStatus = "submitted"
	// The Check Deposit has been rejected.
	CheckDepositStatusRejected CheckDepositStatus = "rejected"
	// The Check Deposit has been returned.
	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 (
	// An API key. Details will be under the `api_key` object.
	CheckTransferCreatedByCategoryAPIKey CheckTransferCreatedByCategory = "api_key"
	// An OAuth application you connected to Increase. Details will be under the
	// `oauth_application` object.
	CheckTransferCreatedByCategoryOAuthApplication CheckTransferCreatedByCategory = "oauth_application"
	// A User in the Increase dashboard. Details will be under the `user` object.
	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 (
	// Canadian Dollar (CAD)
	CheckTransferCurrencyCad CheckTransferCurrency = "CAD"
	// Swiss Franc (CHF)
	CheckTransferCurrencyChf CheckTransferCurrency = "CHF"
	// Euro (EUR)
	CheckTransferCurrencyEur CheckTransferCurrency = "EUR"
	// British Pound (GBP)
	CheckTransferCurrencyGbp CheckTransferCurrency = "GBP"
	// Japanese Yen (JPY)
	CheckTransferCurrencyJpy CheckTransferCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Increase will print and mail a physical check.
	CheckTransferFulfillmentMethodPhysicalCheck CheckTransferFulfillmentMethod = "physical_check"
	// Increase will not print a check; you are responsible for printing and mailing a
	// check with the provided account number, routing number, check number, and
	// amount.
	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"`
}

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 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"`
	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"`
	// 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"`
	// Whether Increase will print and mail the check or if you will do it yourself.
	FulfillmentMethod param.Field[CheckTransferNewParamsFulfillmentMethod] `json:"fulfillment_method"`
	// 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 (
	// Increase will print and mail a physical check.
	CheckTransferNewParamsFulfillmentMethodPhysicalCheck CheckTransferNewParamsFulfillmentMethod = "physical_check"
	// Increase will not print a check; you are responsible for printing and mailing a
	// check with the provided account number, routing number, check number, and
	// amount.
	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 descriptor that will be printed on the letter included with the check.
	Note param.Field[string] `json:"note"`
	// 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"`
	// 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"`
	// The name component of the check's destination address. Defaults to the provided
	// `recipient_name` parameter.
	Name param.Field[string] `json:"name"`
}

Details for where Increase will mail the check.

func (CheckTransferNewParamsPhysicalCheckMailingAddress) MarshalJSON

func (r CheckTransferNewParamsPhysicalCheckMailingAddress) 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 CheckTransferNewParamsThirdParty

type CheckTransferNewParamsThirdParty struct {
	// The check number you will print on the check. This should not contain leading
	// zeroes. If this is omitted, Increase will generate a check number for you; you
	// should inspect the response and use that check number.
	CheckNumber param.Field[string] `json:"check_number"`
}

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 {
	// 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 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 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 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 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 (
	// The check is in transit.
	CheckTransferPhysicalCheckTrackingUpdatesCategoryInTransit CheckTransferPhysicalCheckTrackingUpdatesCategory = "in_transit"
	// The check has been processed for delivery.
	CheckTransferPhysicalCheckTrackingUpdatesCategoryProcessedForDelivery CheckTransferPhysicalCheckTrackingUpdatesCategory = "processed_for_delivery"
	// The check has been delivered.
	CheckTransferPhysicalCheckTrackingUpdatesCategoryDelivered CheckTransferPhysicalCheckTrackingUpdatesCategory = "delivered"
	// Delivery failed and the check was returned to sender.
	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)

Request a stop payment on a Check Transfer

type CheckTransferStatus

type CheckTransferStatus string

The lifecycle status of the transfer.

const (
	// The transfer is awaiting approval.
	CheckTransferStatusPendingApproval CheckTransferStatus = "pending_approval"
	// The transfer has been canceled.
	CheckTransferStatusCanceled CheckTransferStatus = "canceled"
	// The transfer is pending submission.
	CheckTransferStatusPendingSubmission CheckTransferStatus = "pending_submission"
	// The transfer requires attention from an Increase operator.
	CheckTransferStatusRequiresAttention CheckTransferStatus = "requires_attention"
	// The transfer has been rejected.
	CheckTransferStatusRejected CheckTransferStatus = "rejected"
	// The check is queued for mailing.
	CheckTransferStatusPendingMailing CheckTransferStatus = "pending_mailing"
	// The check has been mailed.
	CheckTransferStatusMailed CheckTransferStatus = "mailed"
	// The check has been deposited.
	CheckTransferStatusDeposited CheckTransferStatus = "deposited"
	// A stop-payment was requested for this check.
	CheckTransferStatusStopped CheckTransferStatus = "stopped"
	// The transfer has been returned.
	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 (
	// The check could not be delivered.
	CheckTransferStopPaymentParamsReasonMailDeliveryFailed CheckTransferStopPaymentParamsReason = "mail_delivery_failed"
	// The check was not authorized.
	CheckTransferStopPaymentParamsReasonNotAuthorized CheckTransferStopPaymentParamsReason = "not_authorized"
	// The check was stopped for another reason.
	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 (
	// The check could not be delivered.
	CheckTransferStopPaymentRequestReasonMailDeliveryFailed CheckTransferStopPaymentRequestReason = "mail_delivery_failed"
	// The check was canceled by an Increase operator who will provide details
	// out-of-band.
	CheckTransferStopPaymentRequestReasonRejectedByIncrease CheckTransferStopPaymentRequestReason = "rejected_by_increase"
	// The check was not authorized.
	CheckTransferStopPaymentRequestReasonNotAuthorized CheckTransferStopPaymentRequestReason = "not_authorized"
	// The check was stopped for another reason.
	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 {
	// 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 CheckTransferThirdParty

type CheckTransferThirdParty struct {
	// The check number that will be printed on the check.
	CheckNumber string                      `json:"check_number,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
	ProofOfAuthorizationRequests           *ProofOfAuthorizationRequestService
	ProofOfAuthorizationRequestSubmissions *ProofOfAuthorizationRequestSubmissionService
	AccountStatements                      *AccountStatementService
	Files                                  *FileService
	Documents                              *DocumentService
	Exports                                *ExportService
	Events                                 *EventService
	EventSubscriptions                     *EventSubscriptionService
	RealTimeDecisions                      *RealTimeDecisionService
	BookkeepingAccounts                    *BookkeepingAccountService
	BookkeepingEntrySets                   *BookkeepingEntrySetService
	BookkeepingEntries                     *BookkeepingEntryService
	Groups                                 *GroupService
	OAuthConnections                       *OAuthConnectionService
	Webhooks                               *WebhookService
	OAuthTokens                            *OAuthTokenService
	IntrafiAccountEnrollments              *IntrafiAccountEnrollmentService
	IntrafiBalances                        *IntrafiBalanceService
	IntrafiExclusions                      *IntrafiExclusionService
	RealTimePaymentsRequestForPayments     *RealTimePaymentsRequestForPaymentService
	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). 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 (
	// Canadian Dollar (CAD)
	DeclinedTransactionCurrencyCad DeclinedTransactionCurrency = "CAD"
	// Swiss Franc (CHF)
	DeclinedTransactionCurrencyChf DeclinedTransactionCurrency = "CHF"
	// Euro (EUR)
	DeclinedTransactionCurrencyEur DeclinedTransactionCurrency = "EUR"
	// British Pound (GBP)
	DeclinedTransactionCurrencyGbp DeclinedTransactionCurrency = "GBP"
	// Japanese Yen (JPY)
	DeclinedTransactionCurrencyJpy DeclinedTransactionCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// ACH Decline: details will be under the `ach_decline` object.
	DeclinedTransactionListParamsCategoryInACHDecline DeclinedTransactionListParamsCategoryIn = "ach_decline"
	// Card Decline: details will be under the `card_decline` object.
	DeclinedTransactionListParamsCategoryInCardDecline DeclinedTransactionListParamsCategoryIn = "card_decline"
	// Check Decline: details will be under the `check_decline` object.
	DeclinedTransactionListParamsCategoryInCheckDecline DeclinedTransactionListParamsCategoryIn = "check_decline"
	// Inbound Real-Time Payments Transfer Decline: details will be under the
	// `inbound_real_time_payments_transfer_decline` object.
	DeclinedTransactionListParamsCategoryInInboundRealTimePaymentsTransferDecline DeclinedTransactionListParamsCategoryIn = "inbound_real_time_payments_transfer_decline"
	// Wire Decline: details will be under the `wire_decline` object.
	DeclinedTransactionListParamsCategoryInWireDecline DeclinedTransactionListParamsCategoryIn = "wire_decline"
	// Check Deposit Rejection: details will be under the `check_deposit_rejection`
	// object.
	DeclinedTransactionListParamsCategoryInCheckDepositRejection DeclinedTransactionListParamsCategoryIn = "check_deposit_rejection"
	// The Declined Transaction was made for an undocumented or deprecated reason.
	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 (
	// An Account Number.
	DeclinedTransactionRouteTypeAccountNumber DeclinedTransactionRouteType = "account_number"
	// A Card.
	DeclinedTransactionRouteTypeCard DeclinedTransactionRouteType = "card"
	// A Lockbox.
	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 (
	// The account number is canceled.
	DeclinedTransactionSourceACHDeclineReasonACHRouteCanceled DeclinedTransactionSourceACHDeclineReason = "ach_route_canceled"
	// The account number is disabled.
	DeclinedTransactionSourceACHDeclineReasonACHRouteDisabled DeclinedTransactionSourceACHDeclineReason = "ach_route_disabled"
	// The transaction would cause an Increase limit to be exceeded.
	DeclinedTransactionSourceACHDeclineReasonBreachesLimit DeclinedTransactionSourceACHDeclineReason = "breaches_limit"
	// The account's entity is not active.
	DeclinedTransactionSourceACHDeclineReasonEntityNotActive DeclinedTransactionSourceACHDeclineReason = "entity_not_active"
	// Your account is inactive.
	DeclinedTransactionSourceACHDeclineReasonGroupLocked DeclinedTransactionSourceACHDeclineReason = "group_locked"
	// The transaction is not allowed per Increase's terms.
	DeclinedTransactionSourceACHDeclineReasonTransactionNotAllowed DeclinedTransactionSourceACHDeclineReason = "transaction_not_allowed"
	// Your integration declined this transfer via the API.
	DeclinedTransactionSourceACHDeclineReasonUserInitiated DeclinedTransactionSourceACHDeclineReason = "user_initiated"
	// Your account contains insufficient funds.
	DeclinedTransactionSourceACHDeclineReasonInsufficientFunds DeclinedTransactionSourceACHDeclineReason = "insufficient_funds"
	// The originating financial institution asked for this transfer to be returned.
	// The receiving bank is complying with the request.
	DeclinedTransactionSourceACHDeclineReasonReturnedPerOdfiRequest DeclinedTransactionSourceACHDeclineReason = "returned_per_odfi_request"
	// The customer no longer authorizes this transaction.
	DeclinedTransactionSourceACHDeclineReasonAuthorizationRevokedByCustomer DeclinedTransactionSourceACHDeclineReason = "authorization_revoked_by_customer"
	// The customer asked for the payment to be stopped.
	DeclinedTransactionSourceACHDeclineReasonPaymentStopped DeclinedTransactionSourceACHDeclineReason = "payment_stopped"
	// The customer advises that the debit was unauthorized.
	DeclinedTransactionSourceACHDeclineReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete DeclinedTransactionSourceACHDeclineReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// The payee is deceased.
	DeclinedTransactionSourceACHDeclineReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity DeclinedTransactionSourceACHDeclineReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// The account holder is deceased.
	DeclinedTransactionSourceACHDeclineReasonBeneficiaryOrAccountHolderDeceased DeclinedTransactionSourceACHDeclineReason = "beneficiary_or_account_holder_deceased"
	// The customer refused a credit entry.
	DeclinedTransactionSourceACHDeclineReasonCreditEntryRefusedByReceiver DeclinedTransactionSourceACHDeclineReason = "credit_entry_refused_by_receiver"
	// The account holder identified this transaction as a duplicate.
	DeclinedTransactionSourceACHDeclineReasonDuplicateEntry DeclinedTransactionSourceACHDeclineReason = "duplicate_entry"
	// The corporate customer no longer authorizes this transaction.
	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,nullable"`
	// 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"`
	// 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"`
	// Why the transaction was declined.
	Reason DeclinedTransactionSourceCardDeclineReason `json:"reason,required"`
	// 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 (
	// This object was actioned by the user through a real-time decision.
	DeclinedTransactionSourceCardDeclineActionerUser DeclinedTransactionSourceCardDeclineActioner = "user"
	// This object was actioned by Increase without user intervention.
	DeclinedTransactionSourceCardDeclineActionerIncrease DeclinedTransactionSourceCardDeclineActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	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 (
	// Canadian Dollar (CAD)
	DeclinedTransactionSourceCardDeclineCurrencyCad DeclinedTransactionSourceCardDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	DeclinedTransactionSourceCardDeclineCurrencyChf DeclinedTransactionSourceCardDeclineCurrency = "CHF"
	// Euro (EUR)
	DeclinedTransactionSourceCardDeclineCurrencyEur DeclinedTransactionSourceCardDeclineCurrency = "EUR"
	// British Pound (GBP)
	DeclinedTransactionSourceCardDeclineCurrencyGbp DeclinedTransactionSourceCardDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	DeclinedTransactionSourceCardDeclineCurrencyJpy DeclinedTransactionSourceCardDeclineCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// A regular card authorization where funds are debited from the cardholder.
	DeclinedTransactionSourceCardDeclineDirectionSettlement DeclinedTransactionSourceCardDeclineDirection = "settlement"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	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 (
	// Visa
	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 (
	// Single transaction of a mail/phone order: Use to indicate that the transaction
	// is a mail/phone order purchase, not a recurring transaction or installment
	// payment. For domestic transactions in the US region, this value may also
	// indicate one bill payment transaction in the card-present or card-absent
	// environments.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorRecurring DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	// Installment payment: Payment indicator used to indicate one purchase of goods or
	// services that is billed to the account in multiple charges over a period of time
	// agreed upon by the cardholder and merchant from transactions that originate from
	// an acquirer in the US region.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorInstallment DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	// Secure electronic commerce transaction: Use to indicate that the electronic
	// commerce transaction has been authenticated using e.g., 3-D Secure
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	// Non-authenticated security transaction at a 3-D Secure-capable merchant, and
	// merchant attempted to authenticate the cardholder using 3-D Secure: Use to
	// identify an electronic commerce transaction where the merchant attempted to
	// authenticate the cardholder using 3-D Secure, but was unable to complete the
	// authentication because the issuer or cardholder does not participate in the 3-D
	// Secure program.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	// Non-authenticated security transaction: Use to identify an electronic commerce
	// transaction that uses data encryption for security however , cardholder
	// authentication is not performed using 3-D Secure.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction DeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	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 (
	// Unknown
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeUnknown DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeManual DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeOpticalCode DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactless DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	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 (
	// Increase failed to process the authorization in a timely manner.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonIssuerError DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	// The physical card read had an invalid CVV, dCVV, or authorization request
	// cryptogram.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	// The 3DS cardholder authentication verification value was invalid.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	// An internal Visa error occurred. Visa uses this reason code for certain expected
	// occurrences as well, such as Application Transaction Counter (ATC) replays.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonInternalVisaError DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	// The merchant has enabled Visa's Transaction Advisory Service and requires
	// further authentication to perform the transaction. In practice this is often
	// utilized at fuel pumps to tell the cardholder to see the cashier.
	DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired DeclinedTransactionSourceCardDeclineNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	// An unspecific reason for stand-in processing.
	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 (
	// Account funding transactions are transactions used to e.g., fund an account or
	// transfer funds between accounts.
	DeclinedTransactionSourceCardDeclineProcessingCategoryAccountFunding DeclinedTransactionSourceCardDeclineProcessingCategory = "account_funding"
	// Automatic fuel dispenser authorizations occur when a card is used at a gas pump,
	// prior to the actual transaction amount being known. They are followed by an
	// advice message that updates the amount of the pending transaction.
	DeclinedTransactionSourceCardDeclineProcessingCategoryAutomaticFuelDispenser DeclinedTransactionSourceCardDeclineProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	DeclinedTransactionSourceCardDeclineProcessingCategoryBillPayment DeclinedTransactionSourceCardDeclineProcessingCategory = "bill_payment"
	// A regular purchase.
	DeclinedTransactionSourceCardDeclineProcessingCategoryPurchase DeclinedTransactionSourceCardDeclineProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	DeclinedTransactionSourceCardDeclineProcessingCategoryQuasiCash DeclinedTransactionSourceCardDeclineProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	DeclinedTransactionSourceCardDeclineProcessingCategoryRefund DeclinedTransactionSourceCardDeclineProcessingCategory = "refund"
)

func (DeclinedTransactionSourceCardDeclineProcessingCategory) IsKnown

type DeclinedTransactionSourceCardDeclineReason

type DeclinedTransactionSourceCardDeclineReason string

Why the transaction was declined.

const (
	// The Card was not active.
	DeclinedTransactionSourceCardDeclineReasonCardNotActive DeclinedTransactionSourceCardDeclineReason = "card_not_active"
	// The Physical Card was not active.
	DeclinedTransactionSourceCardDeclineReasonPhysicalCardNotActive DeclinedTransactionSourceCardDeclineReason = "physical_card_not_active"
	// The account's entity was not active.
	DeclinedTransactionSourceCardDeclineReasonEntityNotActive DeclinedTransactionSourceCardDeclineReason = "entity_not_active"
	// The account was inactive.
	DeclinedTransactionSourceCardDeclineReasonGroupLocked DeclinedTransactionSourceCardDeclineReason = "group_locked"
	// The Card's Account did not have a sufficient available balance.
	DeclinedTransactionSourceCardDeclineReasonInsufficientFunds DeclinedTransactionSourceCardDeclineReason = "insufficient_funds"
	// The given CVV2 did not match the card's value.
	DeclinedTransactionSourceCardDeclineReasonCvv2Mismatch DeclinedTransactionSourceCardDeclineReason = "cvv2_mismatch"
	// The given expiration date did not match the card's value. Only applies when a
	// CVV2 is present.
	DeclinedTransactionSourceCardDeclineReasonCardExpirationMismatch DeclinedTransactionSourceCardDeclineReason = "card_expiration_mismatch"
	// The attempted card transaction is not allowed per Increase's terms.
	DeclinedTransactionSourceCardDeclineReasonTransactionNotAllowed DeclinedTransactionSourceCardDeclineReason = "transaction_not_allowed"
	// The transaction was blocked by a Limit.
	DeclinedTransactionSourceCardDeclineReasonBreachesLimit DeclinedTransactionSourceCardDeclineReason = "breaches_limit"
	// Your application declined the transaction via webhook.
	DeclinedTransactionSourceCardDeclineReasonWebhookDeclined DeclinedTransactionSourceCardDeclineReason = "webhook_declined"
	// Your application webhook did not respond without the required timeout.
	DeclinedTransactionSourceCardDeclineReasonWebhookTimedOut DeclinedTransactionSourceCardDeclineReason = "webhook_timed_out"
	// Declined by stand-in processing.
	DeclinedTransactionSourceCardDeclineReasonDeclinedByStandInProcessing DeclinedTransactionSourceCardDeclineReason = "declined_by_stand_in_processing"
	// The card read had an invalid CVV, dCVV, or authorization request cryptogram.
	DeclinedTransactionSourceCardDeclineReasonInvalidPhysicalCard DeclinedTransactionSourceCardDeclineReason = "invalid_physical_card"
	// The original card authorization for this incremental authorization does not
	// exist.
	DeclinedTransactionSourceCardDeclineReasonMissingOriginalAuthorization DeclinedTransactionSourceCardDeclineReason = "missing_original_authorization"
	// The transaction was suspected to be fraudulent. Please reach out to
	// support@increase.com for more information.
	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 (
	// No card verification code was provided in the authorization request.
	DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultNotChecked DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultMatch DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	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 (
	// No adress was provided in the authorization request.
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultNotChecked DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultMatch DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "match"
	// Postal code and street address do not 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 (
	// ACH Decline: details will be under the `ach_decline` object.
	DeclinedTransactionSourceCategoryACHDecline DeclinedTransactionSourceCategory = "ach_decline"
	// Card Decline: details will be under the `card_decline` object.
	DeclinedTransactionSourceCategoryCardDecline DeclinedTransactionSourceCategory = "card_decline"
	// Check Decline: details will be under the `check_decline` object.
	DeclinedTransactionSourceCategoryCheckDecline DeclinedTransactionSourceCategory = "check_decline"
	// Inbound Real-Time Payments Transfer Decline: details will be under the
	// `inbound_real_time_payments_transfer_decline` object.
	DeclinedTransactionSourceCategoryInboundRealTimePaymentsTransferDecline DeclinedTransactionSourceCategory = "inbound_real_time_payments_transfer_decline"
	// Wire Decline: details will be under the `wire_decline` object.
	DeclinedTransactionSourceCategoryWireDecline DeclinedTransactionSourceCategory = "wire_decline"
	// Check Deposit Rejection: details will be under the `check_deposit_rejection`
	// object.
	DeclinedTransactionSourceCategoryCheckDepositRejection DeclinedTransactionSourceCategory = "check_deposit_rejection"
	// The Declined Transaction was made for an undocumented or deprecated reason.
	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 (
	// The account number is disabled.
	DeclinedTransactionSourceCheckDeclineReasonACHRouteDisabled DeclinedTransactionSourceCheckDeclineReason = "ach_route_disabled"
	// The account number is canceled.
	DeclinedTransactionSourceCheckDeclineReasonACHRouteCanceled DeclinedTransactionSourceCheckDeclineReason = "ach_route_canceled"
	// The deposited check was altered or fictitious.
	DeclinedTransactionSourceCheckDeclineReasonAlteredOrFictitious DeclinedTransactionSourceCheckDeclineReason = "altered_or_fictitious"
	// The transaction would cause a limit to be exceeded.
	DeclinedTransactionSourceCheckDeclineReasonBreachesLimit DeclinedTransactionSourceCheckDeclineReason = "breaches_limit"
	// The check was not endorsed by the payee.
	DeclinedTransactionSourceCheckDeclineReasonEndorsementIrregular DeclinedTransactionSourceCheckDeclineReason = "endorsement_irregular"
	// The account's entity is not active.
	DeclinedTransactionSourceCheckDeclineReasonEntityNotActive DeclinedTransactionSourceCheckDeclineReason = "entity_not_active"
	// Your account is inactive.
	DeclinedTransactionSourceCheckDeclineReasonGroupLocked DeclinedTransactionSourceCheckDeclineReason = "group_locked"
	// Your account contains insufficient funds.
	DeclinedTransactionSourceCheckDeclineReasonInsufficientFunds DeclinedTransactionSourceCheckDeclineReason = "insufficient_funds"
	// Stop payment requested for this check.
	DeclinedTransactionSourceCheckDeclineReasonStopPaymentRequested DeclinedTransactionSourceCheckDeclineReason = "stop_payment_requested"
	// The check was a duplicate deposit.
	DeclinedTransactionSourceCheckDeclineReasonDuplicatePresentment DeclinedTransactionSourceCheckDeclineReason = "duplicate_presentment"
	// The check was not authorized.
	DeclinedTransactionSourceCheckDeclineReasonNotAuthorized DeclinedTransactionSourceCheckDeclineReason = "not_authorized"
	// The amount the receiving bank is attempting to deposit does not match the amount
	// on the check.
	DeclinedTransactionSourceCheckDeclineReasonAmountMismatch DeclinedTransactionSourceCheckDeclineReason = "amount_mismatch"
	// The check attempting to be deposited does not belong to Increase.
	DeclinedTransactionSourceCheckDeclineReasonNotOurItem DeclinedTransactionSourceCheckDeclineReason = "not_our_item"
	// The account number on the check does not exist at Increase.
	DeclinedTransactionSourceCheckDeclineReasonNoAccountNumberFound DeclinedTransactionSourceCheckDeclineReason = "no_account_number_found"
	// The check is not readable. Please refer to the image.
	DeclinedTransactionSourceCheckDeclineReasonReferToImage DeclinedTransactionSourceCheckDeclineReason = "refer_to_image"
	// The check cannot be processed. This is rare: please contact support.
	DeclinedTransactionSourceCheckDeclineReasonUnableToProcess DeclinedTransactionSourceCheckDeclineReason = "unable_to_process"
	// Your integration declined this check via the API.
	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 (
	// Canadian Dollar (CAD)
	DeclinedTransactionSourceCheckDepositRejectionCurrencyCad DeclinedTransactionSourceCheckDepositRejectionCurrency = "CAD"
	// Swiss Franc (CHF)
	DeclinedTransactionSourceCheckDepositRejectionCurrencyChf DeclinedTransactionSourceCheckDepositRejectionCurrency = "CHF"
	// Euro (EUR)
	DeclinedTransactionSourceCheckDepositRejectionCurrencyEur DeclinedTransactionSourceCheckDepositRejectionCurrency = "EUR"
	// British Pound (GBP)
	DeclinedTransactionSourceCheckDepositRejectionCurrencyGbp DeclinedTransactionSourceCheckDepositRejectionCurrency = "GBP"
	// Japanese Yen (JPY)
	DeclinedTransactionSourceCheckDepositRejectionCurrencyJpy DeclinedTransactionSourceCheckDepositRejectionCurrency = "JPY"
	// US Dollar (USD)
	DeclinedTransactionSourceCheckDepositRejectionCurrencyUsd DeclinedTransactionSourceCheckDepositRejectionCurrency = "USD"
)

func (DeclinedTransactionSourceCheckDepositRejectionCurrency) IsKnown

type DeclinedTransactionSourceCheckDepositRejectionReason

type DeclinedTransactionSourceCheckDepositRejectionReason string

Why the check deposit was rejected.

const (
	// The check's image is incomplete.
	DeclinedTransactionSourceCheckDepositRejectionReasonIncompleteImage DeclinedTransactionSourceCheckDepositRejectionReason = "incomplete_image"
	// This is a duplicate check submission.
	DeclinedTransactionSourceCheckDepositRejectionReasonDuplicate DeclinedTransactionSourceCheckDepositRejectionReason = "duplicate"
	// This check has poor image quality.
	DeclinedTransactionSourceCheckDepositRejectionReasonPoorImageQuality DeclinedTransactionSourceCheckDepositRejectionReason = "poor_image_quality"
	// The check was deposited with the incorrect amount.
	DeclinedTransactionSourceCheckDepositRejectionReasonIncorrectAmount DeclinedTransactionSourceCheckDepositRejectionReason = "incorrect_amount"
	// The check is made out to someone other than the account holder.
	DeclinedTransactionSourceCheckDepositRejectionReasonIncorrectRecipient DeclinedTransactionSourceCheckDepositRejectionReason = "incorrect_recipient"
	// This check was not eligible for mobile deposit.
	DeclinedTransactionSourceCheckDepositRejectionReasonNotEligibleForMobileDeposit DeclinedTransactionSourceCheckDepositRejectionReason = "not_eligible_for_mobile_deposit"
	// This check is missing at least one required field.
	DeclinedTransactionSourceCheckDepositRejectionReasonMissingRequiredDataElements DeclinedTransactionSourceCheckDepositRejectionReason = "missing_required_data_elements"
	// This check is suspected to be fraudulent.
	DeclinedTransactionSourceCheckDepositRejectionReasonSuspectedFraud DeclinedTransactionSourceCheckDepositRejectionReason = "suspected_fraud"
	// This check's deposit window has expired.
	DeclinedTransactionSourceCheckDepositRejectionReasonDepositWindowExpired DeclinedTransactionSourceCheckDepositRejectionReason = "deposit_window_expired"
	// The check was rejected at the user's request.
	DeclinedTransactionSourceCheckDepositRejectionReasonRequestedByUser DeclinedTransactionSourceCheckDepositRejectionReason = "requested_by_user"
	// The check was rejected for an unknown reason.
	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 (
	// Canadian Dollar (CAD)
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyCad DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyChf DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CHF"
	// Euro (EUR)
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyEur DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "EUR"
	// British Pound (GBP)
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyGbp DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyJpy DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "JPY"
	// US Dollar (USD)
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyUsd DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "USD"
)

func (DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency) IsKnown

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason

type DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason string

Why the transfer was declined.

const (
	// The account number is canceled.
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	// The account number is disabled.
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	// Your account is restricted.
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountRestricted DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	// Your account is inactive.
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonGroupLocked DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "group_locked"
	// The account's entity is not active.
	DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonEntityNotActive DeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	// Your account is not enabled to receive Real-Time Payments transfers.
	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 (
	// The account number is canceled.
	DeclinedTransactionSourceWireDeclineReasonAccountNumberCanceled DeclinedTransactionSourceWireDeclineReason = "account_number_canceled"
	// The account number is disabled.
	DeclinedTransactionSourceWireDeclineReasonAccountNumberDisabled DeclinedTransactionSourceWireDeclineReason = "account_number_disabled"
	// The account's entity is not active.
	DeclinedTransactionSourceWireDeclineReasonEntityNotActive DeclinedTransactionSourceWireDeclineReason = "entity_not_active"
	// Your account is inactive.
	DeclinedTransactionSourceWireDeclineReasonGroupLocked DeclinedTransactionSourceWireDeclineReason = "group_locked"
	// The beneficiary account number does not exist.
	DeclinedTransactionSourceWireDeclineReasonNoAccountNumber DeclinedTransactionSourceWireDeclineReason = "no_account_number"
	// The transaction is not allowed per Increase's terms.
	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 (
	// The Card Profile is awaiting review from Increase and/or processing by card
	// networks.
	DigitalCardProfileListParamsStatusInPending DigitalCardProfileListParamsStatusIn = "pending"
	// There is an issue with the Card Profile preventing it from use.
	DigitalCardProfileListParamsStatusInRejected DigitalCardProfileListParamsStatusIn = "rejected"
	// The Card Profile can be assigned to Cards.
	DigitalCardProfileListParamsStatusInActive DigitalCardProfileListParamsStatusIn = "active"
	// The Card Profile is no longer in use.
	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 (
	// The Card Profile is awaiting review from Increase and/or processing by card
	// networks.
	DigitalCardProfileStatusPending DigitalCardProfileStatus = "pending"
	// There is an issue with the Card Profile preventing it from use.
	DigitalCardProfileStatusRejected DigitalCardProfileStatus = "rejected"
	// The Card Profile can be assigned to Cards.
	DigitalCardProfileStatusActive DigitalCardProfileStatus = "active"
	// The Card Profile is no longer in use.
	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 [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"`
	// 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"`
	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 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 (
	// The digital wallet token is active.
	DigitalWalletTokenStatusActive DigitalWalletTokenStatus = "active"
	// The digital wallet token has been created but not successfully activated via
	// two-factor authentication yet.
	DigitalWalletTokenStatusInactive DigitalWalletTokenStatus = "inactive"
	// The digital wallet token has been temporarily paused.
	DigitalWalletTokenStatusSuspended DigitalWalletTokenStatus = "suspended"
	// The digital wallet token has been permanently canceled.
	DigitalWalletTokenStatusDeactivated DigitalWalletTokenStatus = "deactivated"
)

func (DigitalWalletTokenStatus) IsKnown

func (r DigitalWalletTokenStatus) IsKnown() bool

type DigitalWalletTokenTokenRequestor

type DigitalWalletTokenTokenRequestor string

The digital wallet app being used.

const (
	// Apple Pay
	DigitalWalletTokenTokenRequestorApplePay DigitalWalletTokenTokenRequestor = "apple_pay"
	// Google Pay
	DigitalWalletTokenTokenRequestorGooglePay DigitalWalletTokenTokenRequestor = "google_pay"
	// Samsung Pay
	DigitalWalletTokenTokenRequestorSamsungPay DigitalWalletTokenTokenRequestor = "samsung_pay"
	// Unknown
	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 Document

type Document struct {
	// The Document identifier.
	ID string `json:"id,required"`
	// 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"`
	// 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 DocumentCategory

type DocumentCategory string

The type of document.

const (
	// Internal Revenue Service Form 1099-INT.
	DocumentCategoryForm1099Int DocumentCategory = "form_1099_int"
	// A document submitted in response to a proof of authorization request for an ACH
	// transfer.
	DocumentCategoryProofOfAuthorization DocumentCategory = "proof_of_authorization"
	// Company information, such a policies or procedures, typically submitted during
	// our due diligence process.
	DocumentCategoryCompanyInformation DocumentCategory = "company_information"
)

func (DocumentCategory) IsKnown

func (r DocumentCategory) IsKnown() bool

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"`
	// 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 (
	// Internal Revenue Service Form 1099-INT.
	DocumentListParamsCategoryInForm1099Int DocumentListParamsCategoryIn = "form_1099_int"
	// A document submitted in response to a proof of authorization request for an ACH
	// transfer.
	DocumentListParamsCategoryInProofOfAuthorization DocumentListParamsCategoryIn = "proof_of_authorization"
	// Company information, such a policies or procedures, typically submitted during
	// our due diligence process.
	DocumentListParamsCategoryInCompanyInformation DocumentListParamsCategoryIn = "company_information"
)

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

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 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 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 (
	// A social security number.
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodSocialSecurityNumber EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodPassport EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "passport"
	// A driver's license number.
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodDriversLicense EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "drivers_license"
	// Another identifying document.
	EntityCorporationBeneficialOwnersIndividualIdentificationMethodOther EntityCorporationBeneficialOwnersIndividualIdentificationMethod = "other"
)

func (EntityCorporationBeneficialOwnersIndividualIdentificationMethod) IsKnown

type EntityCorporationBeneficialOwnersProng

type EntityCorporationBeneficialOwnersProng string

Why this person is considered a beneficial owner of the entity.

const (
	// A person with 25% or greater direct or indirect ownership of the entity.
	EntityCorporationBeneficialOwnersProngOwnership EntityCorporationBeneficialOwnersProng = "ownership"
	// A person who manages, directs, or has significant control of the entity.
	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 (
	// The Public Entity is a Municipality.
	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 (
	// A social security number.
	EntityJointIndividualsIdentificationMethodSocialSecurityNumber EntityJointIndividualsIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityJointIndividualsIdentificationMethodIndividualTaxpayerIdentificationNumber EntityJointIndividualsIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityJointIndividualsIdentificationMethodPassport EntityJointIndividualsIdentificationMethod = "passport"
	// A driver's license number.
	EntityJointIndividualsIdentificationMethodDriversLicense EntityJointIndividualsIdentificationMethod = "drivers_license"
	// Another identifying document.
	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 (
	// The entity is active.
	EntityListParamsStatusInActive EntityListParamsStatusIn = "active"
	// The entity is archived, and can no longer be used to create accounts.
	EntityListParamsStatusInArchived EntityListParamsStatusIn = "archived"
	// The entity is temporarily disabled and cannot be used for financial activity.
	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 (
	// A social security number.
	EntityNaturalPersonIdentificationMethodSocialSecurityNumber EntityNaturalPersonIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityNaturalPersonIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNaturalPersonIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityNaturalPersonIdentificationMethodPassport EntityNaturalPersonIdentificationMethod = "passport"
	// A driver's license number.
	EntityNaturalPersonIdentificationMethodDriversLicense EntityNaturalPersonIdentificationMethod = "drivers_license"
	// Another identifying document.
	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 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 (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 (
	// A social security number.
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodSocialSecurityNumber EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodPassport EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "passport"
	// A driver's license number.
	EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethodDriversLicense EntityNewBeneficialOwnerParamsBeneficialOwnerIndividualIdentificationMethod = "drivers_license"
	// Another identifying document.
	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.
	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 country that issued the passport.
	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 (
	// A person with 25% or greater direct or indirect ownership of the entity.
	EntityNewBeneficialOwnerParamsBeneficialOwnerProngOwnership EntityNewBeneficialOwnerParamsBeneficialOwnerProng = "ownership"
	// A person who manages, directs, or has significant control of the entity.
	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 anyone controlling or owning 25% or more of the
	// corporation.
	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"`
	// 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 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 (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 (
	// A social security number.
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodSocialSecurityNumber EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodPassport EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "passport"
	// A driver's license number.
	EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethodDriversLicense EntityNewParamsCorporationBeneficialOwnersIndividualIdentificationMethod = "drivers_license"
	// Another identifying document.
	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.
	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 country that issued the passport.
	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 (
	// A person with 25% or greater direct or indirect ownership of the entity.
	EntityNewParamsCorporationBeneficialOwnersProngOwnership EntityNewParamsCorporationBeneficialOwnersProng = "ownership"
	// A person who manages, directs, or has significant control of the entity.
	EntityNewParamsCorporationBeneficialOwnersProngControl EntityNewParamsCorporationBeneficialOwnersProng = "control"
)

func (EntityNewParamsCorporationBeneficialOwnersProng) IsKnown

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 (
	// The Public Entity is a Municipality.
	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"`
	// The name of the joint entity.
	Name param.Field[string] `json:"name"`
}

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 (
	// A social security number.
	EntityNewParamsJointIndividualsIdentificationMethodSocialSecurityNumber EntityNewParamsJointIndividualsIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityNewParamsJointIndividualsIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsJointIndividualsIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityNewParamsJointIndividualsIdentificationMethodPassport EntityNewParamsJointIndividualsIdentificationMethod = "passport"
	// A driver's license number.
	EntityNewParamsJointIndividualsIdentificationMethodDriversLicense EntityNewParamsJointIndividualsIdentificationMethod = "drivers_license"
	// Another identifying document.
	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.
	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 country that issued the passport.
	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 (
	// A social security number.
	EntityNewParamsNaturalPersonIdentificationMethodSocialSecurityNumber EntityNewParamsNaturalPersonIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityNewParamsNaturalPersonIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsNaturalPersonIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityNewParamsNaturalPersonIdentificationMethodPassport EntityNewParamsNaturalPersonIdentificationMethod = "passport"
	// A driver's license number.
	EntityNewParamsNaturalPersonIdentificationMethodDriversLicense EntityNewParamsNaturalPersonIdentificationMethod = "drivers_license"
	// Another identifying document.
	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.
	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 country that issued the passport.
	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 (
	// A corporation.
	EntityNewParamsStructureCorporation EntityNewParamsStructure = "corporation"
	// An individual person.
	EntityNewParamsStructureNaturalPerson EntityNewParamsStructure = "natural_person"
	// Multiple individual people.
	EntityNewParamsStructureJoint EntityNewParamsStructure = "joint"
	// A trust.
	EntityNewParamsStructureTrust EntityNewParamsStructure = "trust"
	// A government authority.
	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 (
	// Alloy. See https://alloy.com for more information.
	EntityNewParamsThirdPartyVerificationVendorAlloy EntityNewParamsThirdPartyVerificationVendor = "alloy"
	// Middesk. See https://middesk.com for more information.
	EntityNewParamsThirdPartyVerificationVendorMiddesk EntityNewParamsThirdPartyVerificationVendor = "middesk"
)

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 (
	// The trust is revocable by the grantor.
	EntityNewParamsTrustCategoryRevocable EntityNewParamsTrustCategory = "revocable"
	// The trust cannot be revoked.
	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 (
	// A social security number.
	EntityNewParamsTrustGrantorIdentificationMethodSocialSecurityNumber EntityNewParamsTrustGrantorIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityNewParamsTrustGrantorIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsTrustGrantorIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityNewParamsTrustGrantorIdentificationMethodPassport EntityNewParamsTrustGrantorIdentificationMethod = "passport"
	// A driver's license number.
	EntityNewParamsTrustGrantorIdentificationMethodDriversLicense EntityNewParamsTrustGrantorIdentificationMethod = "drivers_license"
	// Another identifying document.
	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.
	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 country that issued the passport.
	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 (
	// A social security number.
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodSocialSecurityNumber EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodPassport EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "passport"
	// A driver's license number.
	EntityNewParamsTrustTrusteesIndividualIdentificationMethodDriversLicense EntityNewParamsTrustTrusteesIndividualIdentificationMethod = "drivers_license"
	// Another identifying document.
	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.
	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 country that issued the passport.
	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 (
	// The trustee is an individual.
	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 (
	// The entity is active.
	EntityStatusActive EntityStatus = "active"
	// The entity is archived, and can no longer be used to create accounts.
	EntityStatusArchived EntityStatus = "archived"
	// The entity is temporarily disabled and cannot be used for financial activity.
	EntityStatusDisabled EntityStatus = "disabled"
)

func (EntityStatus) IsKnown

func (r EntityStatus) IsKnown() bool

type EntityStructure

type EntityStructure string

The entity's legal structure.

const (
	// A corporation.
	EntityStructureCorporation EntityStructure = "corporation"
	// An individual person.
	EntityStructureNaturalPerson EntityStructure = "natural_person"
	// Multiple individual people.
	EntityStructureJoint EntityStructure = "joint"
	// A trust.
	EntityStructureTrust EntityStructure = "trust"
	// A government authority.
	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 (
	// Alloy. See https://alloy.com for more information.
	EntityThirdPartyVerificationVendorAlloy EntityThirdPartyVerificationVendor = "alloy"
	// Middesk. See https://middesk.com for more information.
	EntityThirdPartyVerificationVendorMiddesk EntityThirdPartyVerificationVendor = "middesk"
)

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 (
	// The trust is revocable by the grantor.
	EntityTrustCategoryRevocable EntityTrustCategory = "revocable"
	// The trust cannot be revoked.
	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 (
	// A social security number.
	EntityTrustGrantorIdentificationMethodSocialSecurityNumber EntityTrustGrantorIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityTrustGrantorIdentificationMethodIndividualTaxpayerIdentificationNumber EntityTrustGrantorIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityTrustGrantorIdentificationMethodPassport EntityTrustGrantorIdentificationMethod = "passport"
	// A driver's license number.
	EntityTrustGrantorIdentificationMethodDriversLicense EntityTrustGrantorIdentificationMethod = "drivers_license"
	// Another identifying document.
	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 (
	// A social security number.
	EntityTrustTrusteesIndividualIdentificationMethodSocialSecurityNumber EntityTrustTrusteesIndividualIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityTrustTrusteesIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityTrustTrusteesIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityTrustTrusteesIndividualIdentificationMethodPassport EntityTrustTrusteesIndividualIdentificationMethod = "passport"
	// A driver's license number.
	EntityTrustTrusteesIndividualIdentificationMethodDriversLicense EntityTrustTrusteesIndividualIdentificationMethod = "drivers_license"
	// Another identifying document.
	EntityTrustTrusteesIndividualIdentificationMethodOther EntityTrustTrusteesIndividualIdentificationMethod = "other"
)

func (EntityTrustTrusteesIndividualIdentificationMethod) IsKnown

type EntityTrustTrusteesStructure

type EntityTrustTrusteesStructure string

The structure of the trustee. Will always be equal to `individual`.

const (
	// The trustee is an individual.
	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 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 (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 (
	// Occurs whenever an Account is created.
	EventCategoryAccountCreated EventCategory = "account.created"
	// Occurs whenever an Account is updated.
	EventCategoryAccountUpdated EventCategory = "account.updated"
	// Occurs whenever an Account Number is created.
	EventCategoryAccountNumberCreated EventCategory = "account_number.created"
	// Occurs whenever an Account Number is updated.
	EventCategoryAccountNumberUpdated EventCategory = "account_number.updated"
	// Occurs whenever an Account Statement is created.
	EventCategoryAccountStatementCreated EventCategory = "account_statement.created"
	// Occurs whenever an Account Transfer is created.
	EventCategoryAccountTransferCreated EventCategory = "account_transfer.created"
	// Occurs whenever an Account Transfer is updated.
	EventCategoryAccountTransferUpdated EventCategory = "account_transfer.updated"
	// Occurs whenever an ACH Prenotification is created.
	EventCategoryACHPrenotificationCreated EventCategory = "ach_prenotification.created"
	// Occurs whenever an ACH Prenotification is updated.
	EventCategoryACHPrenotificationUpdated EventCategory = "ach_prenotification.updated"
	// Occurs whenever an ACH Transfer is created.
	EventCategoryACHTransferCreated EventCategory = "ach_transfer.created"
	// Occurs whenever an ACH Transfer is updated.
	EventCategoryACHTransferUpdated EventCategory = "ach_transfer.updated"
	// Occurs whenever a Bookkeeping Account is created.
	EventCategoryBookkeepingAccountCreated EventCategory = "bookkeeping_account.created"
	// Occurs whenever a Bookkeeping Account is updated.
	EventCategoryBookkeepingAccountUpdated EventCategory = "bookkeeping_account.updated"
	// Occurs whenever a Bookkeeping Entry Set is created.
	EventCategoryBookkeepingEntrySetUpdated EventCategory = "bookkeeping_entry_set.updated"
	// Occurs whenever a Card is created.
	EventCategoryCardCreated EventCategory = "card.created"
	// Occurs whenever a Card is updated.
	EventCategoryCardUpdated EventCategory = "card.updated"
	// Occurs whenever a Card Payment is created.
	EventCategoryCardPaymentCreated EventCategory = "card_payment.created"
	// Occurs whenever a Card Payment is updated.
	EventCategoryCardPaymentUpdated EventCategory = "card_payment.updated"
	// Occurs whenever a Card Profile is created.
	EventCategoryCardProfileCreated EventCategory = "card_profile.created"
	// Occurs whenever a Card Profile is updated.
	EventCategoryCardProfileUpdated EventCategory = "card_profile.updated"
	// Occurs whenever a Card Dispute is created.
	EventCategoryCardDisputeCreated EventCategory = "card_dispute.created"
	// Occurs whenever a Card Dispute is updated.
	EventCategoryCardDisputeUpdated EventCategory = "card_dispute.updated"
	// Occurs whenever a Check Deposit is created.
	EventCategoryCheckDepositCreated EventCategory = "check_deposit.created"
	// Occurs whenever a Check Deposit is updated.
	EventCategoryCheckDepositUpdated EventCategory = "check_deposit.updated"
	// Occurs whenever a Check Transfer is created.
	EventCategoryCheckTransferCreated EventCategory = "check_transfer.created"
	// Occurs whenever a Check Transfer is updated.
	EventCategoryCheckTransferUpdated EventCategory = "check_transfer.updated"
	// Occurs whenever a Declined Transaction is created.
	EventCategoryDeclinedTransactionCreated EventCategory = "declined_transaction.created"
	// Occurs whenever a Digital Card Profile is created.
	EventCategoryDigitalCardProfileCreated EventCategory = "digital_card_profile.created"
	// Occurs whenever a Digital Card Profile is updated.
	EventCategoryDigitalCardProfileUpdated EventCategory = "digital_card_profile.updated"
	// Occurs whenever a Digital Wallet Token is created.
	EventCategoryDigitalWalletTokenCreated EventCategory = "digital_wallet_token.created"
	// Occurs whenever a Digital Wallet Token is updated.
	EventCategoryDigitalWalletTokenUpdated EventCategory = "digital_wallet_token.updated"
	// Occurs whenever a Document is created.
	EventCategoryDocumentCreated EventCategory = "document.created"
	// Occurs whenever an Entity is created.
	EventCategoryEntityCreated EventCategory = "entity.created"
	// Occurs whenever an Entity is updated.
	EventCategoryEntityUpdated EventCategory = "entity.updated"
	// Occurs whenever an Event Subscription is created.
	EventCategoryEventSubscriptionCreated EventCategory = "event_subscription.created"
	// Occurs whenever an Event Subscription is updated.
	EventCategoryEventSubscriptionUpdated EventCategory = "event_subscription.updated"
	// Occurs whenever an Export is created.
	EventCategoryExportCreated EventCategory = "export.created"
	// Occurs whenever an Export is updated.
	EventCategoryExportUpdated EventCategory = "export.updated"
	// Occurs whenever an External Account is created.
	EventCategoryExternalAccountCreated EventCategory = "external_account.created"
	// Occurs whenever an External Account is updated.
	EventCategoryExternalAccountUpdated EventCategory = "external_account.updated"
	// Occurs whenever a File is created.
	EventCategoryFileCreated EventCategory = "file.created"
	// Occurs whenever a Group is updated.
	EventCategoryGroupUpdated EventCategory = "group.updated"
	// Increase may send webhooks with this category to see if a webhook endpoint is
	// working properly.
	EventCategoryGroupHeartbeat EventCategory = "group.heartbeat"
	// Occurs whenever an Inbound ACH Transfer is created.
	EventCategoryInboundACHTransferCreated EventCategory = "inbound_ach_transfer.created"
	// Occurs whenever an Inbound ACH Transfer is updated.
	EventCategoryInboundACHTransferUpdated EventCategory = "inbound_ach_transfer.updated"
	// Occurs whenever an Inbound ACH Transfer Return is created.
	EventCategoryInboundACHTransferReturnCreated EventCategory = "inbound_ach_transfer_return.created"
	// Occurs whenever an Inbound ACH Transfer Return is updated.
	EventCategoryInboundACHTransferReturnUpdated EventCategory = "inbound_ach_transfer_return.updated"
	// Occurs whenever an Inbound Check Deposit is created.
	EventCategoryInboundCheckDepositCreated EventCategory = "inbound_check_deposit.created"
	// Occurs whenever an Inbound Check Deposit is updated.
	EventCategoryInboundCheckDepositUpdated EventCategory = "inbound_check_deposit.updated"
	// Occurs whenever an Inbound Mail Item is created.
	EventCategoryInboundMailItemCreated EventCategory = "inbound_mail_item.created"
	// Occurs whenever an Inbound Mail Item is updated.
	EventCategoryInboundMailItemUpdated EventCategory = "inbound_mail_item.updated"
	// Occurs whenever an Inbound Real-Time Payments Transfer is created.
	EventCategoryInboundRealTimePaymentsTransferCreated EventCategory = "inbound_real_time_payments_transfer.created"
	// Occurs whenever an Inbound Real-Time Payments Transfer is updated.
	EventCategoryInboundRealTimePaymentsTransferUpdated EventCategory = "inbound_real_time_payments_transfer.updated"
	// Occurs whenever an Inbound Wire Drawdown Request is created.
	EventCategoryInboundWireDrawdownRequestCreated EventCategory = "inbound_wire_drawdown_request.created"
	// Occurs whenever an Inbound Wire Transfer is created.
	EventCategoryInboundWireTransferCreated EventCategory = "inbound_wire_transfer.created"
	// Occurs whenever an Inbound Wire Transfer is updated.
	EventCategoryInboundWireTransferUpdated EventCategory = "inbound_wire_transfer.updated"
	// Occurs whenever an IntraFi Account Enrollment is created.
	EventCategoryIntrafiAccountEnrollmentCreated EventCategory = "intrafi_account_enrollment.created"
	// Occurs whenever an IntraFi Account Enrollment is updated.
	EventCategoryIntrafiAccountEnrollmentUpdated EventCategory = "intrafi_account_enrollment.updated"
	// Occurs whenever an IntraFi Exclusion is created.
	EventCategoryIntrafiExclusionCreated EventCategory = "intrafi_exclusion.created"
	// Occurs whenever an IntraFi Exclusion is updated.
	EventCategoryIntrafiExclusionUpdated EventCategory = "intrafi_exclusion.updated"
	// Occurs whenever a Lockbox is created.
	EventCategoryLockboxCreated EventCategory = "lockbox.created"
	// Occurs whenever a Lockbox is updated.
	EventCategoryLockboxUpdated EventCategory = "lockbox.updated"
	// Occurs whenever an OAuth Connection is created.
	EventCategoryOAuthConnectionCreated EventCategory = "oauth_connection.created"
	// Occurs whenever an OAuth Connection is deactivated.
	EventCategoryOAuthConnectionDeactivated EventCategory = "oauth_connection.deactivated"
	// Occurs whenever a Pending Transaction is created.
	EventCategoryPendingTransactionCreated EventCategory = "pending_transaction.created"
	// Occurs whenever a Pending Transaction is updated.
	EventCategoryPendingTransactionUpdated EventCategory = "pending_transaction.updated"
	// Occurs whenever a Physical Card is created.
	EventCategoryPhysicalCardCreated EventCategory = "physical_card.created"
	// Occurs whenever a Physical Card is updated.
	EventCategoryPhysicalCardUpdated EventCategory = "physical_card.updated"
	// Occurs whenever a Physical Card Profile is created.
	EventCategoryPhysicalCardProfileCreated EventCategory = "physical_card_profile.created"
	// Occurs whenever a Physical Card Profile is updated.
	EventCategoryPhysicalCardProfileUpdated EventCategory = "physical_card_profile.updated"
	// Occurs whenever a Proof of Authorization Request is created.
	EventCategoryProofOfAuthorizationRequestCreated EventCategory = "proof_of_authorization_request.created"
	// Occurs whenever a Proof of Authorization Request is updated.
	EventCategoryProofOfAuthorizationRequestUpdated EventCategory = "proof_of_authorization_request.updated"
	// Occurs whenever a Proof of Authorization Request Submission is created.
	EventCategoryProofOfAuthorizationRequestSubmissionCreated EventCategory = "proof_of_authorization_request_submission.created"
	// Occurs whenever a Proof of Authorization Request Submission is updated.
	EventCategoryProofOfAuthorizationRequestSubmissionUpdated EventCategory = "proof_of_authorization_request_submission.updated"
	// Occurs whenever a Real-Time Decision is created in response to a card
	// authorization.
	EventCategoryRealTimeDecisionCardAuthorizationRequested EventCategory = "real_time_decision.card_authorization_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// provisioning attempt.
	EventCategoryRealTimeDecisionDigitalWalletTokenRequested EventCategory = "real_time_decision.digital_wallet_token_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// requiring two-factor authentication.
	EventCategoryRealTimeDecisionDigitalWalletAuthenticationRequested EventCategory = "real_time_decision.digital_wallet_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication.
	EventCategoryRealTimeDecisionCardAuthenticationRequested EventCategory = "real_time_decision.card_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication challenges.
	EventCategoryRealTimeDecisionCardAuthenticationChallengeRequested EventCategory = "real_time_decision.card_authentication_challenge_requested"
	// Occurs whenever a Real-Time Payments Transfer is created.
	EventCategoryRealTimePaymentsTransferCreated EventCategory = "real_time_payments_transfer.created"
	// Occurs whenever a Real-Time Payments Transfer is updated.
	EventCategoryRealTimePaymentsTransferUpdated EventCategory = "real_time_payments_transfer.updated"
	// Occurs whenever a Real-Time Payments Request for Payment is created.
	EventCategoryRealTimePaymentsRequestForPaymentCreated EventCategory = "real_time_payments_request_for_payment.created"
	// Occurs whenever a Real-Time Payments Request for Payment is updated.
	EventCategoryRealTimePaymentsRequestForPaymentUpdated EventCategory = "real_time_payments_request_for_payment.updated"
	// Occurs whenever a Transaction is created.
	EventCategoryTransactionCreated EventCategory = "transaction.created"
	// Occurs whenever a Wire Drawdown Request is created.
	EventCategoryWireDrawdownRequestCreated EventCategory = "wire_drawdown_request.created"
	// Occurs whenever a Wire Drawdown Request is updated.
	EventCategoryWireDrawdownRequestUpdated EventCategory = "wire_drawdown_request.updated"
	// Occurs whenever a Wire Transfer is created.
	EventCategoryWireTransferCreated EventCategory = "wire_transfer.created"
	// Occurs whenever a Wire Transfer is updated.
	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 (
	// Occurs whenever an Account is created.
	EventListParamsCategoryInAccountCreated EventListParamsCategoryIn = "account.created"
	// Occurs whenever an Account is updated.
	EventListParamsCategoryInAccountUpdated EventListParamsCategoryIn = "account.updated"
	// Occurs whenever an Account Number is created.
	EventListParamsCategoryInAccountNumberCreated EventListParamsCategoryIn = "account_number.created"
	// Occurs whenever an Account Number is updated.
	EventListParamsCategoryInAccountNumberUpdated EventListParamsCategoryIn = "account_number.updated"
	// Occurs whenever an Account Statement is created.
	EventListParamsCategoryInAccountStatementCreated EventListParamsCategoryIn = "account_statement.created"
	// Occurs whenever an Account Transfer is created.
	EventListParamsCategoryInAccountTransferCreated EventListParamsCategoryIn = "account_transfer.created"
	// Occurs whenever an Account Transfer is updated.
	EventListParamsCategoryInAccountTransferUpdated EventListParamsCategoryIn = "account_transfer.updated"
	// Occurs whenever an ACH Prenotification is created.
	EventListParamsCategoryInACHPrenotificationCreated EventListParamsCategoryIn = "ach_prenotification.created"
	// Occurs whenever an ACH Prenotification is updated.
	EventListParamsCategoryInACHPrenotificationUpdated EventListParamsCategoryIn = "ach_prenotification.updated"
	// Occurs whenever an ACH Transfer is created.
	EventListParamsCategoryInACHTransferCreated EventListParamsCategoryIn = "ach_transfer.created"
	// Occurs whenever an ACH Transfer is updated.
	EventListParamsCategoryInACHTransferUpdated EventListParamsCategoryIn = "ach_transfer.updated"
	// Occurs whenever a Bookkeeping Account is created.
	EventListParamsCategoryInBookkeepingAccountCreated EventListParamsCategoryIn = "bookkeeping_account.created"
	// Occurs whenever a Bookkeeping Account is updated.
	EventListParamsCategoryInBookkeepingAccountUpdated EventListParamsCategoryIn = "bookkeeping_account.updated"
	// Occurs whenever a Bookkeeping Entry Set is created.
	EventListParamsCategoryInBookkeepingEntrySetUpdated EventListParamsCategoryIn = "bookkeeping_entry_set.updated"
	// Occurs whenever a Card is created.
	EventListParamsCategoryInCardCreated EventListParamsCategoryIn = "card.created"
	// Occurs whenever a Card is updated.
	EventListParamsCategoryInCardUpdated EventListParamsCategoryIn = "card.updated"
	// Occurs whenever a Card Payment is created.
	EventListParamsCategoryInCardPaymentCreated EventListParamsCategoryIn = "card_payment.created"
	// Occurs whenever a Card Payment is updated.
	EventListParamsCategoryInCardPaymentUpdated EventListParamsCategoryIn = "card_payment.updated"
	// Occurs whenever a Card Profile is created.
	EventListParamsCategoryInCardProfileCreated EventListParamsCategoryIn = "card_profile.created"
	// Occurs whenever a Card Profile is updated.
	EventListParamsCategoryInCardProfileUpdated EventListParamsCategoryIn = "card_profile.updated"
	// Occurs whenever a Card Dispute is created.
	EventListParamsCategoryInCardDisputeCreated EventListParamsCategoryIn = "card_dispute.created"
	// Occurs whenever a Card Dispute is updated.
	EventListParamsCategoryInCardDisputeUpdated EventListParamsCategoryIn = "card_dispute.updated"
	// Occurs whenever a Check Deposit is created.
	EventListParamsCategoryInCheckDepositCreated EventListParamsCategoryIn = "check_deposit.created"
	// Occurs whenever a Check Deposit is updated.
	EventListParamsCategoryInCheckDepositUpdated EventListParamsCategoryIn = "check_deposit.updated"
	// Occurs whenever a Check Transfer is created.
	EventListParamsCategoryInCheckTransferCreated EventListParamsCategoryIn = "check_transfer.created"
	// Occurs whenever a Check Transfer is updated.
	EventListParamsCategoryInCheckTransferUpdated EventListParamsCategoryIn = "check_transfer.updated"
	// Occurs whenever a Declined Transaction is created.
	EventListParamsCategoryInDeclinedTransactionCreated EventListParamsCategoryIn = "declined_transaction.created"
	// Occurs whenever a Digital Card Profile is created.
	EventListParamsCategoryInDigitalCardProfileCreated EventListParamsCategoryIn = "digital_card_profile.created"
	// Occurs whenever a Digital Card Profile is updated.
	EventListParamsCategoryInDigitalCardProfileUpdated EventListParamsCategoryIn = "digital_card_profile.updated"
	// Occurs whenever a Digital Wallet Token is created.
	EventListParamsCategoryInDigitalWalletTokenCreated EventListParamsCategoryIn = "digital_wallet_token.created"
	// Occurs whenever a Digital Wallet Token is updated.
	EventListParamsCategoryInDigitalWalletTokenUpdated EventListParamsCategoryIn = "digital_wallet_token.updated"
	// Occurs whenever a Document is created.
	EventListParamsCategoryInDocumentCreated EventListParamsCategoryIn = "document.created"
	// Occurs whenever an Entity is created.
	EventListParamsCategoryInEntityCreated EventListParamsCategoryIn = "entity.created"
	// Occurs whenever an Entity is updated.
	EventListParamsCategoryInEntityUpdated EventListParamsCategoryIn = "entity.updated"
	// Occurs whenever an Event Subscription is created.
	EventListParamsCategoryInEventSubscriptionCreated EventListParamsCategoryIn = "event_subscription.created"
	// Occurs whenever an Event Subscription is updated.
	EventListParamsCategoryInEventSubscriptionUpdated EventListParamsCategoryIn = "event_subscription.updated"
	// Occurs whenever an Export is created.
	EventListParamsCategoryInExportCreated EventListParamsCategoryIn = "export.created"
	// Occurs whenever an Export is updated.
	EventListParamsCategoryInExportUpdated EventListParamsCategoryIn = "export.updated"
	// Occurs whenever an External Account is created.
	EventListParamsCategoryInExternalAccountCreated EventListParamsCategoryIn = "external_account.created"
	// Occurs whenever an External Account is updated.
	EventListParamsCategoryInExternalAccountUpdated EventListParamsCategoryIn = "external_account.updated"
	// Occurs whenever a File is created.
	EventListParamsCategoryInFileCreated EventListParamsCategoryIn = "file.created"
	// Occurs whenever a Group is updated.
	EventListParamsCategoryInGroupUpdated EventListParamsCategoryIn = "group.updated"
	// Increase may send webhooks with this category to see if a webhook endpoint is
	// working properly.
	EventListParamsCategoryInGroupHeartbeat EventListParamsCategoryIn = "group.heartbeat"
	// Occurs whenever an Inbound ACH Transfer is created.
	EventListParamsCategoryInInboundACHTransferCreated EventListParamsCategoryIn = "inbound_ach_transfer.created"
	// Occurs whenever an Inbound ACH Transfer is updated.
	EventListParamsCategoryInInboundACHTransferUpdated EventListParamsCategoryIn = "inbound_ach_transfer.updated"
	// Occurs whenever an Inbound ACH Transfer Return is created.
	EventListParamsCategoryInInboundACHTransferReturnCreated EventListParamsCategoryIn = "inbound_ach_transfer_return.created"
	// Occurs whenever an Inbound ACH Transfer Return is updated.
	EventListParamsCategoryInInboundACHTransferReturnUpdated EventListParamsCategoryIn = "inbound_ach_transfer_return.updated"
	// Occurs whenever an Inbound Check Deposit is created.
	EventListParamsCategoryInInboundCheckDepositCreated EventListParamsCategoryIn = "inbound_check_deposit.created"
	// Occurs whenever an Inbound Check Deposit is updated.
	EventListParamsCategoryInInboundCheckDepositUpdated EventListParamsCategoryIn = "inbound_check_deposit.updated"
	// Occurs whenever an Inbound Mail Item is created.
	EventListParamsCategoryInInboundMailItemCreated EventListParamsCategoryIn = "inbound_mail_item.created"
	// Occurs whenever an Inbound Mail Item is updated.
	EventListParamsCategoryInInboundMailItemUpdated EventListParamsCategoryIn = "inbound_mail_item.updated"
	// Occurs whenever an Inbound Real-Time Payments Transfer is created.
	EventListParamsCategoryInInboundRealTimePaymentsTransferCreated EventListParamsCategoryIn = "inbound_real_time_payments_transfer.created"
	// Occurs whenever an Inbound Real-Time Payments Transfer is updated.
	EventListParamsCategoryInInboundRealTimePaymentsTransferUpdated EventListParamsCategoryIn = "inbound_real_time_payments_transfer.updated"
	// Occurs whenever an Inbound Wire Drawdown Request is created.
	EventListParamsCategoryInInboundWireDrawdownRequestCreated EventListParamsCategoryIn = "inbound_wire_drawdown_request.created"
	// Occurs whenever an Inbound Wire Transfer is created.
	EventListParamsCategoryInInboundWireTransferCreated EventListParamsCategoryIn = "inbound_wire_transfer.created"
	// Occurs whenever an Inbound Wire Transfer is updated.
	EventListParamsCategoryInInboundWireTransferUpdated EventListParamsCategoryIn = "inbound_wire_transfer.updated"
	// Occurs whenever an IntraFi Account Enrollment is created.
	EventListParamsCategoryInIntrafiAccountEnrollmentCreated EventListParamsCategoryIn = "intrafi_account_enrollment.created"
	// Occurs whenever an IntraFi Account Enrollment is updated.
	EventListParamsCategoryInIntrafiAccountEnrollmentUpdated EventListParamsCategoryIn = "intrafi_account_enrollment.updated"
	// Occurs whenever an IntraFi Exclusion is created.
	EventListParamsCategoryInIntrafiExclusionCreated EventListParamsCategoryIn = "intrafi_exclusion.created"
	// Occurs whenever an IntraFi Exclusion is updated.
	EventListParamsCategoryInIntrafiExclusionUpdated EventListParamsCategoryIn = "intrafi_exclusion.updated"
	// Occurs whenever a Lockbox is created.
	EventListParamsCategoryInLockboxCreated EventListParamsCategoryIn = "lockbox.created"
	// Occurs whenever a Lockbox is updated.
	EventListParamsCategoryInLockboxUpdated EventListParamsCategoryIn = "lockbox.updated"
	// Occurs whenever an OAuth Connection is created.
	EventListParamsCategoryInOAuthConnectionCreated EventListParamsCategoryIn = "oauth_connection.created"
	// Occurs whenever an OAuth Connection is deactivated.
	EventListParamsCategoryInOAuthConnectionDeactivated EventListParamsCategoryIn = "oauth_connection.deactivated"
	// Occurs whenever a Pending Transaction is created.
	EventListParamsCategoryInPendingTransactionCreated EventListParamsCategoryIn = "pending_transaction.created"
	// Occurs whenever a Pending Transaction is updated.
	EventListParamsCategoryInPendingTransactionUpdated EventListParamsCategoryIn = "pending_transaction.updated"
	// Occurs whenever a Physical Card is created.
	EventListParamsCategoryInPhysicalCardCreated EventListParamsCategoryIn = "physical_card.created"
	// Occurs whenever a Physical Card is updated.
	EventListParamsCategoryInPhysicalCardUpdated EventListParamsCategoryIn = "physical_card.updated"
	// Occurs whenever a Physical Card Profile is created.
	EventListParamsCategoryInPhysicalCardProfileCreated EventListParamsCategoryIn = "physical_card_profile.created"
	// Occurs whenever a Physical Card Profile is updated.
	EventListParamsCategoryInPhysicalCardProfileUpdated EventListParamsCategoryIn = "physical_card_profile.updated"
	// Occurs whenever a Proof of Authorization Request is created.
	EventListParamsCategoryInProofOfAuthorizationRequestCreated EventListParamsCategoryIn = "proof_of_authorization_request.created"
	// Occurs whenever a Proof of Authorization Request is updated.
	EventListParamsCategoryInProofOfAuthorizationRequestUpdated EventListParamsCategoryIn = "proof_of_authorization_request.updated"
	// Occurs whenever a Proof of Authorization Request Submission is created.
	EventListParamsCategoryInProofOfAuthorizationRequestSubmissionCreated EventListParamsCategoryIn = "proof_of_authorization_request_submission.created"
	// Occurs whenever a Proof of Authorization Request Submission is updated.
	EventListParamsCategoryInProofOfAuthorizationRequestSubmissionUpdated EventListParamsCategoryIn = "proof_of_authorization_request_submission.updated"
	// Occurs whenever a Real-Time Decision is created in response to a card
	// authorization.
	EventListParamsCategoryInRealTimeDecisionCardAuthorizationRequested EventListParamsCategoryIn = "real_time_decision.card_authorization_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// provisioning attempt.
	EventListParamsCategoryInRealTimeDecisionDigitalWalletTokenRequested EventListParamsCategoryIn = "real_time_decision.digital_wallet_token_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// requiring two-factor authentication.
	EventListParamsCategoryInRealTimeDecisionDigitalWalletAuthenticationRequested EventListParamsCategoryIn = "real_time_decision.digital_wallet_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication.
	EventListParamsCategoryInRealTimeDecisionCardAuthenticationRequested EventListParamsCategoryIn = "real_time_decision.card_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication challenges.
	EventListParamsCategoryInRealTimeDecisionCardAuthenticationChallengeRequested EventListParamsCategoryIn = "real_time_decision.card_authentication_challenge_requested"
	// Occurs whenever a Real-Time Payments Transfer is created.
	EventListParamsCategoryInRealTimePaymentsTransferCreated EventListParamsCategoryIn = "real_time_payments_transfer.created"
	// Occurs whenever a Real-Time Payments Transfer is updated.
	EventListParamsCategoryInRealTimePaymentsTransferUpdated EventListParamsCategoryIn = "real_time_payments_transfer.updated"
	// Occurs whenever a Real-Time Payments Request for Payment is created.
	EventListParamsCategoryInRealTimePaymentsRequestForPaymentCreated EventListParamsCategoryIn = "real_time_payments_request_for_payment.created"
	// Occurs whenever a Real-Time Payments Request for Payment is updated.
	EventListParamsCategoryInRealTimePaymentsRequestForPaymentUpdated EventListParamsCategoryIn = "real_time_payments_request_for_payment.updated"
	// Occurs whenever a Transaction is created.
	EventListParamsCategoryInTransactionCreated EventListParamsCategoryIn = "transaction.created"
	// Occurs whenever a Wire Drawdown Request is created.
	EventListParamsCategoryInWireDrawdownRequestCreated EventListParamsCategoryIn = "wire_drawdown_request.created"
	// Occurs whenever a Wire Drawdown Request is updated.
	EventListParamsCategoryInWireDrawdownRequestUpdated EventListParamsCategoryIn = "wire_drawdown_request.updated"
	// Occurs whenever a Wire Transfer is created.
	EventListParamsCategoryInWireTransferCreated EventListParamsCategoryIn = "wire_transfer.created"
	// Occurs whenever a Wire Transfer is updated.
	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 (
	// Occurs whenever an Account is created.
	EventSubscriptionNewParamsSelectedEventCategoryAccountCreated EventSubscriptionNewParamsSelectedEventCategory = "account.created"
	// Occurs whenever an Account is updated.
	EventSubscriptionNewParamsSelectedEventCategoryAccountUpdated EventSubscriptionNewParamsSelectedEventCategory = "account.updated"
	// Occurs whenever an Account Number is created.
	EventSubscriptionNewParamsSelectedEventCategoryAccountNumberCreated EventSubscriptionNewParamsSelectedEventCategory = "account_number.created"
	// Occurs whenever an Account Number is updated.
	EventSubscriptionNewParamsSelectedEventCategoryAccountNumberUpdated EventSubscriptionNewParamsSelectedEventCategory = "account_number.updated"
	// Occurs whenever an Account Statement is created.
	EventSubscriptionNewParamsSelectedEventCategoryAccountStatementCreated EventSubscriptionNewParamsSelectedEventCategory = "account_statement.created"
	// Occurs whenever an Account Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryAccountTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "account_transfer.created"
	// Occurs whenever an Account Transfer is updated.
	EventSubscriptionNewParamsSelectedEventCategoryAccountTransferUpdated EventSubscriptionNewParamsSelectedEventCategory = "account_transfer.updated"
	// Occurs whenever an ACH Prenotification is created.
	EventSubscriptionNewParamsSelectedEventCategoryACHPrenotificationCreated EventSubscriptionNewParamsSelectedEventCategory = "ach_prenotification.created"
	// Occurs whenever an ACH Prenotification is updated.
	EventSubscriptionNewParamsSelectedEventCategoryACHPrenotificationUpdated EventSubscriptionNewParamsSelectedEventCategory = "ach_prenotification.updated"
	// Occurs whenever an ACH Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryACHTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "ach_transfer.created"
	// Occurs whenever an ACH Transfer is updated.
	EventSubscriptionNewParamsSelectedEventCategoryACHTransferUpdated EventSubscriptionNewParamsSelectedEventCategory = "ach_transfer.updated"
	// Occurs whenever a Bookkeeping Account is created.
	EventSubscriptionNewParamsSelectedEventCategoryBookkeepingAccountCreated EventSubscriptionNewParamsSelectedEventCategory = "bookkeeping_account.created"
	// Occurs whenever a Bookkeeping Account is updated.
	EventSubscriptionNewParamsSelectedEventCategoryBookkeepingAccountUpdated EventSubscriptionNewParamsSelectedEventCategory = "bookkeeping_account.updated"
	// Occurs whenever a Bookkeeping Entry Set is created.
	EventSubscriptionNewParamsSelectedEventCategoryBookkeepingEntrySetUpdated EventSubscriptionNewParamsSelectedEventCategory = "bookkeeping_entry_set.updated"
	// Occurs whenever a Card is created.
	EventSubscriptionNewParamsSelectedEventCategoryCardCreated EventSubscriptionNewParamsSelectedEventCategory = "card.created"
	// Occurs whenever a Card is updated.
	EventSubscriptionNewParamsSelectedEventCategoryCardUpdated EventSubscriptionNewParamsSelectedEventCategory = "card.updated"
	// Occurs whenever a Card Payment is created.
	EventSubscriptionNewParamsSelectedEventCategoryCardPaymentCreated EventSubscriptionNewParamsSelectedEventCategory = "card_payment.created"
	// Occurs whenever a Card Payment is updated.
	EventSubscriptionNewParamsSelectedEventCategoryCardPaymentUpdated EventSubscriptionNewParamsSelectedEventCategory = "card_payment.updated"
	// Occurs whenever a Card Profile is created.
	EventSubscriptionNewParamsSelectedEventCategoryCardProfileCreated EventSubscriptionNewParamsSelectedEventCategory = "card_profile.created"
	// Occurs whenever a Card Profile is updated.
	EventSubscriptionNewParamsSelectedEventCategoryCardProfileUpdated EventSubscriptionNewParamsSelectedEventCategory = "card_profile.updated"
	// Occurs whenever a Card Dispute is created.
	EventSubscriptionNewParamsSelectedEventCategoryCardDisputeCreated EventSubscriptionNewParamsSelectedEventCategory = "card_dispute.created"
	// Occurs whenever a Card Dispute is updated.
	EventSubscriptionNewParamsSelectedEventCategoryCardDisputeUpdated EventSubscriptionNewParamsSelectedEventCategory = "card_dispute.updated"
	// Occurs whenever a Check Deposit is created.
	EventSubscriptionNewParamsSelectedEventCategoryCheckDepositCreated EventSubscriptionNewParamsSelectedEventCategory = "check_deposit.created"
	// Occurs whenever a Check Deposit is updated.
	EventSubscriptionNewParamsSelectedEventCategoryCheckDepositUpdated EventSubscriptionNewParamsSelectedEventCategory = "check_deposit.updated"
	// Occurs whenever a Check Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryCheckTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "check_transfer.created"
	// Occurs whenever a Check Transfer is updated.
	EventSubscriptionNewParamsSelectedEventCategoryCheckTransferUpdated EventSubscriptionNewParamsSelectedEventCategory = "check_transfer.updated"
	// Occurs whenever a Declined Transaction is created.
	EventSubscriptionNewParamsSelectedEventCategoryDeclinedTransactionCreated EventSubscriptionNewParamsSelectedEventCategory = "declined_transaction.created"
	// Occurs whenever a Digital Card Profile is created.
	EventSubscriptionNewParamsSelectedEventCategoryDigitalCardProfileCreated EventSubscriptionNewParamsSelectedEventCategory = "digital_card_profile.created"
	// Occurs whenever a Digital Card Profile is updated.
	EventSubscriptionNewParamsSelectedEventCategoryDigitalCardProfileUpdated EventSubscriptionNewParamsSelectedEventCategory = "digital_card_profile.updated"
	// Occurs whenever a Digital Wallet Token is created.
	EventSubscriptionNewParamsSelectedEventCategoryDigitalWalletTokenCreated EventSubscriptionNewParamsSelectedEventCategory = "digital_wallet_token.created"
	// Occurs whenever a Digital Wallet Token is updated.
	EventSubscriptionNewParamsSelectedEventCategoryDigitalWalletTokenUpdated EventSubscriptionNewParamsSelectedEventCategory = "digital_wallet_token.updated"
	// Occurs whenever a Document is created.
	EventSubscriptionNewParamsSelectedEventCategoryDocumentCreated EventSubscriptionNewParamsSelectedEventCategory = "document.created"
	// Occurs whenever an Entity is created.
	EventSubscriptionNewParamsSelectedEventCategoryEntityCreated EventSubscriptionNewParamsSelectedEventCategory = "entity.created"
	// Occurs whenever an Entity is updated.
	EventSubscriptionNewParamsSelectedEventCategoryEntityUpdated EventSubscriptionNewParamsSelectedEventCategory = "entity.updated"
	// Occurs whenever an Event Subscription is created.
	EventSubscriptionNewParamsSelectedEventCategoryEventSubscriptionCreated EventSubscriptionNewParamsSelectedEventCategory = "event_subscription.created"
	// Occurs whenever an Event Subscription is updated.
	EventSubscriptionNewParamsSelectedEventCategoryEventSubscriptionUpdated EventSubscriptionNewParamsSelectedEventCategory = "event_subscription.updated"
	// Occurs whenever an Export is created.
	EventSubscriptionNewParamsSelectedEventCategoryExportCreated EventSubscriptionNewParamsSelectedEventCategory = "export.created"
	// Occurs whenever an Export is updated.
	EventSubscriptionNewParamsSelectedEventCategoryExportUpdated EventSubscriptionNewParamsSelectedEventCategory = "export.updated"
	// Occurs whenever an External Account is created.
	EventSubscriptionNewParamsSelectedEventCategoryExternalAccountCreated EventSubscriptionNewParamsSelectedEventCategory = "external_account.created"
	// Occurs whenever an External Account is updated.
	EventSubscriptionNewParamsSelectedEventCategoryExternalAccountUpdated EventSubscriptionNewParamsSelectedEventCategory = "external_account.updated"
	// Occurs whenever a File is created.
	EventSubscriptionNewParamsSelectedEventCategoryFileCreated EventSubscriptionNewParamsSelectedEventCategory = "file.created"
	// Occurs whenever a Group is updated.
	EventSubscriptionNewParamsSelectedEventCategoryGroupUpdated EventSubscriptionNewParamsSelectedEventCategory = "group.updated"
	// Increase may send webhooks with this category to see if a webhook endpoint is
	// working properly.
	EventSubscriptionNewParamsSelectedEventCategoryGroupHeartbeat EventSubscriptionNewParamsSelectedEventCategory = "group.heartbeat"
	// Occurs whenever an Inbound ACH Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer.created"
	// Occurs whenever an Inbound ACH Transfer is updated.
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferUpdated EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer.updated"
	// Occurs whenever an Inbound ACH Transfer Return is created.
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferReturnCreated EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer_return.created"
	// Occurs whenever an Inbound ACH Transfer Return is updated.
	EventSubscriptionNewParamsSelectedEventCategoryInboundACHTransferReturnUpdated EventSubscriptionNewParamsSelectedEventCategory = "inbound_ach_transfer_return.updated"
	// Occurs whenever an Inbound Check Deposit is created.
	EventSubscriptionNewParamsSelectedEventCategoryInboundCheckDepositCreated EventSubscriptionNewParamsSelectedEventCategory = "inbound_check_deposit.created"
	// Occurs whenever an Inbound Check Deposit is updated.
	EventSubscriptionNewParamsSelectedEventCategoryInboundCheckDepositUpdated EventSubscriptionNewParamsSelectedEventCategory = "inbound_check_deposit.updated"
	// Occurs whenever an Inbound Mail Item is created.
	EventSubscriptionNewParamsSelectedEventCategoryInboundMailItemCreated EventSubscriptionNewParamsSelectedEventCategory = "inbound_mail_item.created"
	// Occurs whenever an Inbound Mail Item is updated.
	EventSubscriptionNewParamsSelectedEventCategoryInboundMailItemUpdated EventSubscriptionNewParamsSelectedEventCategory = "inbound_mail_item.updated"
	// Occurs whenever an Inbound Real-Time Payments Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryInboundRealTimePaymentsTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "inbound_real_time_payments_transfer.created"
	// Occurs whenever an Inbound Real-Time Payments Transfer is updated.
	EventSubscriptionNewParamsSelectedEventCategoryInboundRealTimePaymentsTransferUpdated EventSubscriptionNewParamsSelectedEventCategory = "inbound_real_time_payments_transfer.updated"
	// Occurs whenever an Inbound Wire Drawdown Request is created.
	EventSubscriptionNewParamsSelectedEventCategoryInboundWireDrawdownRequestCreated EventSubscriptionNewParamsSelectedEventCategory = "inbound_wire_drawdown_request.created"
	// Occurs whenever an Inbound Wire Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryInboundWireTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "inbound_wire_transfer.created"
	// Occurs whenever an Inbound Wire Transfer is updated.
	EventSubscriptionNewParamsSelectedEventCategoryInboundWireTransferUpdated EventSubscriptionNewParamsSelectedEventCategory = "inbound_wire_transfer.updated"
	// Occurs whenever an IntraFi Account Enrollment is created.
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiAccountEnrollmentCreated EventSubscriptionNewParamsSelectedEventCategory = "intrafi_account_enrollment.created"
	// Occurs whenever an IntraFi Account Enrollment is updated.
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiAccountEnrollmentUpdated EventSubscriptionNewParamsSelectedEventCategory = "intrafi_account_enrollment.updated"
	// Occurs whenever an IntraFi Exclusion is created.
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiExclusionCreated EventSubscriptionNewParamsSelectedEventCategory = "intrafi_exclusion.created"
	// Occurs whenever an IntraFi Exclusion is updated.
	EventSubscriptionNewParamsSelectedEventCategoryIntrafiExclusionUpdated EventSubscriptionNewParamsSelectedEventCategory = "intrafi_exclusion.updated"
	// Occurs whenever a Lockbox is created.
	EventSubscriptionNewParamsSelectedEventCategoryLockboxCreated EventSubscriptionNewParamsSelectedEventCategory = "lockbox.created"
	// Occurs whenever a Lockbox is updated.
	EventSubscriptionNewParamsSelectedEventCategoryLockboxUpdated EventSubscriptionNewParamsSelectedEventCategory = "lockbox.updated"
	// Occurs whenever an OAuth Connection is created.
	EventSubscriptionNewParamsSelectedEventCategoryOAuthConnectionCreated EventSubscriptionNewParamsSelectedEventCategory = "oauth_connection.created"
	// Occurs whenever an OAuth Connection is deactivated.
	EventSubscriptionNewParamsSelectedEventCategoryOAuthConnectionDeactivated EventSubscriptionNewParamsSelectedEventCategory = "oauth_connection.deactivated"
	// Occurs whenever a Pending Transaction is created.
	EventSubscriptionNewParamsSelectedEventCategoryPendingTransactionCreated EventSubscriptionNewParamsSelectedEventCategory = "pending_transaction.created"
	// Occurs whenever a Pending Transaction is updated.
	EventSubscriptionNewParamsSelectedEventCategoryPendingTransactionUpdated EventSubscriptionNewParamsSelectedEventCategory = "pending_transaction.updated"
	// Occurs whenever a Physical Card is created.
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardCreated EventSubscriptionNewParamsSelectedEventCategory = "physical_card.created"
	// Occurs whenever a Physical Card is updated.
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardUpdated EventSubscriptionNewParamsSelectedEventCategory = "physical_card.updated"
	// Occurs whenever a Physical Card Profile is created.
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardProfileCreated EventSubscriptionNewParamsSelectedEventCategory = "physical_card_profile.created"
	// Occurs whenever a Physical Card Profile is updated.
	EventSubscriptionNewParamsSelectedEventCategoryPhysicalCardProfileUpdated EventSubscriptionNewParamsSelectedEventCategory = "physical_card_profile.updated"
	// Occurs whenever a Proof of Authorization Request is created.
	EventSubscriptionNewParamsSelectedEventCategoryProofOfAuthorizationRequestCreated EventSubscriptionNewParamsSelectedEventCategory = "proof_of_authorization_request.created"
	// Occurs whenever a Proof of Authorization Request is updated.
	EventSubscriptionNewParamsSelectedEventCategoryProofOfAuthorizationRequestUpdated EventSubscriptionNewParamsSelectedEventCategory = "proof_of_authorization_request.updated"
	// Occurs whenever a Proof of Authorization Request Submission is created.
	EventSubscriptionNewParamsSelectedEventCategoryProofOfAuthorizationRequestSubmissionCreated EventSubscriptionNewParamsSelectedEventCategory = "proof_of_authorization_request_submission.created"
	// Occurs whenever a Proof of Authorization Request Submission is updated.
	EventSubscriptionNewParamsSelectedEventCategoryProofOfAuthorizationRequestSubmissionUpdated EventSubscriptionNewParamsSelectedEventCategory = "proof_of_authorization_request_submission.updated"
	// Occurs whenever a Real-Time Decision is created in response to a card
	// authorization.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionCardAuthorizationRequested EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.card_authorization_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// provisioning attempt.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionDigitalWalletTokenRequested EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.digital_wallet_token_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// requiring two-factor authentication.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionDigitalWalletAuthenticationRequested EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.digital_wallet_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionCardAuthenticationRequested EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.card_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication challenges.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimeDecisionCardAuthenticationChallengeRequested EventSubscriptionNewParamsSelectedEventCategory = "real_time_decision.card_authentication_challenge_requested"
	// Occurs whenever a Real-Time Payments Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_transfer.created"
	// Occurs whenever a Real-Time Payments Transfer is updated.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsTransferUpdated EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_transfer.updated"
	// Occurs whenever a Real-Time Payments Request for Payment is created.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsRequestForPaymentCreated EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_request_for_payment.created"
	// Occurs whenever a Real-Time Payments Request for Payment is updated.
	EventSubscriptionNewParamsSelectedEventCategoryRealTimePaymentsRequestForPaymentUpdated EventSubscriptionNewParamsSelectedEventCategory = "real_time_payments_request_for_payment.updated"
	// Occurs whenever a Transaction is created.
	EventSubscriptionNewParamsSelectedEventCategoryTransactionCreated EventSubscriptionNewParamsSelectedEventCategory = "transaction.created"
	// Occurs whenever a Wire Drawdown Request is created.
	EventSubscriptionNewParamsSelectedEventCategoryWireDrawdownRequestCreated EventSubscriptionNewParamsSelectedEventCategory = "wire_drawdown_request.created"
	// Occurs whenever a Wire Drawdown Request is updated.
	EventSubscriptionNewParamsSelectedEventCategoryWireDrawdownRequestUpdated EventSubscriptionNewParamsSelectedEventCategory = "wire_drawdown_request.updated"
	// Occurs whenever a Wire Transfer is created.
	EventSubscriptionNewParamsSelectedEventCategoryWireTransferCreated EventSubscriptionNewParamsSelectedEventCategory = "wire_transfer.created"
	// Occurs whenever a Wire Transfer is updated.
	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 (
	// Occurs whenever an Account is created.
	EventSubscriptionSelectedEventCategoryAccountCreated EventSubscriptionSelectedEventCategory = "account.created"
	// Occurs whenever an Account is updated.
	EventSubscriptionSelectedEventCategoryAccountUpdated EventSubscriptionSelectedEventCategory = "account.updated"
	// Occurs whenever an Account Number is created.
	EventSubscriptionSelectedEventCategoryAccountNumberCreated EventSubscriptionSelectedEventCategory = "account_number.created"
	// Occurs whenever an Account Number is updated.
	EventSubscriptionSelectedEventCategoryAccountNumberUpdated EventSubscriptionSelectedEventCategory = "account_number.updated"
	// Occurs whenever an Account Statement is created.
	EventSubscriptionSelectedEventCategoryAccountStatementCreated EventSubscriptionSelectedEventCategory = "account_statement.created"
	// Occurs whenever an Account Transfer is created.
	EventSubscriptionSelectedEventCategoryAccountTransferCreated EventSubscriptionSelectedEventCategory = "account_transfer.created"
	// Occurs whenever an Account Transfer is updated.
	EventSubscriptionSelectedEventCategoryAccountTransferUpdated EventSubscriptionSelectedEventCategory = "account_transfer.updated"
	// Occurs whenever an ACH Prenotification is created.
	EventSubscriptionSelectedEventCategoryACHPrenotificationCreated EventSubscriptionSelectedEventCategory = "ach_prenotification.created"
	// Occurs whenever an ACH Prenotification is updated.
	EventSubscriptionSelectedEventCategoryACHPrenotificationUpdated EventSubscriptionSelectedEventCategory = "ach_prenotification.updated"
	// Occurs whenever an ACH Transfer is created.
	EventSubscriptionSelectedEventCategoryACHTransferCreated EventSubscriptionSelectedEventCategory = "ach_transfer.created"
	// Occurs whenever an ACH Transfer is updated.
	EventSubscriptionSelectedEventCategoryACHTransferUpdated EventSubscriptionSelectedEventCategory = "ach_transfer.updated"
	// Occurs whenever a Bookkeeping Account is created.
	EventSubscriptionSelectedEventCategoryBookkeepingAccountCreated EventSubscriptionSelectedEventCategory = "bookkeeping_account.created"
	// Occurs whenever a Bookkeeping Account is updated.
	EventSubscriptionSelectedEventCategoryBookkeepingAccountUpdated EventSubscriptionSelectedEventCategory = "bookkeeping_account.updated"
	// Occurs whenever a Bookkeeping Entry Set is created.
	EventSubscriptionSelectedEventCategoryBookkeepingEntrySetUpdated EventSubscriptionSelectedEventCategory = "bookkeeping_entry_set.updated"
	// Occurs whenever a Card is created.
	EventSubscriptionSelectedEventCategoryCardCreated EventSubscriptionSelectedEventCategory = "card.created"
	// Occurs whenever a Card is updated.
	EventSubscriptionSelectedEventCategoryCardUpdated EventSubscriptionSelectedEventCategory = "card.updated"
	// Occurs whenever a Card Payment is created.
	EventSubscriptionSelectedEventCategoryCardPaymentCreated EventSubscriptionSelectedEventCategory = "card_payment.created"
	// Occurs whenever a Card Payment is updated.
	EventSubscriptionSelectedEventCategoryCardPaymentUpdated EventSubscriptionSelectedEventCategory = "card_payment.updated"
	// Occurs whenever a Card Profile is created.
	EventSubscriptionSelectedEventCategoryCardProfileCreated EventSubscriptionSelectedEventCategory = "card_profile.created"
	// Occurs whenever a Card Profile is updated.
	EventSubscriptionSelectedEventCategoryCardProfileUpdated EventSubscriptionSelectedEventCategory = "card_profile.updated"
	// Occurs whenever a Card Dispute is created.
	EventSubscriptionSelectedEventCategoryCardDisputeCreated EventSubscriptionSelectedEventCategory = "card_dispute.created"
	// Occurs whenever a Card Dispute is updated.
	EventSubscriptionSelectedEventCategoryCardDisputeUpdated EventSubscriptionSelectedEventCategory = "card_dispute.updated"
	// Occurs whenever a Check Deposit is created.
	EventSubscriptionSelectedEventCategoryCheckDepositCreated EventSubscriptionSelectedEventCategory = "check_deposit.created"
	// Occurs whenever a Check Deposit is updated.
	EventSubscriptionSelectedEventCategoryCheckDepositUpdated EventSubscriptionSelectedEventCategory = "check_deposit.updated"
	// Occurs whenever a Check Transfer is created.
	EventSubscriptionSelectedEventCategoryCheckTransferCreated EventSubscriptionSelectedEventCategory = "check_transfer.created"
	// Occurs whenever a Check Transfer is updated.
	EventSubscriptionSelectedEventCategoryCheckTransferUpdated EventSubscriptionSelectedEventCategory = "check_transfer.updated"
	// Occurs whenever a Declined Transaction is created.
	EventSubscriptionSelectedEventCategoryDeclinedTransactionCreated EventSubscriptionSelectedEventCategory = "declined_transaction.created"
	// Occurs whenever a Digital Card Profile is created.
	EventSubscriptionSelectedEventCategoryDigitalCardProfileCreated EventSubscriptionSelectedEventCategory = "digital_card_profile.created"
	// Occurs whenever a Digital Card Profile is updated.
	EventSubscriptionSelectedEventCategoryDigitalCardProfileUpdated EventSubscriptionSelectedEventCategory = "digital_card_profile.updated"
	// Occurs whenever a Digital Wallet Token is created.
	EventSubscriptionSelectedEventCategoryDigitalWalletTokenCreated EventSubscriptionSelectedEventCategory = "digital_wallet_token.created"
	// Occurs whenever a Digital Wallet Token is updated.
	EventSubscriptionSelectedEventCategoryDigitalWalletTokenUpdated EventSubscriptionSelectedEventCategory = "digital_wallet_token.updated"
	// Occurs whenever a Document is created.
	EventSubscriptionSelectedEventCategoryDocumentCreated EventSubscriptionSelectedEventCategory = "document.created"
	// Occurs whenever an Entity is created.
	EventSubscriptionSelectedEventCategoryEntityCreated EventSubscriptionSelectedEventCategory = "entity.created"
	// Occurs whenever an Entity is updated.
	EventSubscriptionSelectedEventCategoryEntityUpdated EventSubscriptionSelectedEventCategory = "entity.updated"
	// Occurs whenever an Event Subscription is created.
	EventSubscriptionSelectedEventCategoryEventSubscriptionCreated EventSubscriptionSelectedEventCategory = "event_subscription.created"
	// Occurs whenever an Event Subscription is updated.
	EventSubscriptionSelectedEventCategoryEventSubscriptionUpdated EventSubscriptionSelectedEventCategory = "event_subscription.updated"
	// Occurs whenever an Export is created.
	EventSubscriptionSelectedEventCategoryExportCreated EventSubscriptionSelectedEventCategory = "export.created"
	// Occurs whenever an Export is updated.
	EventSubscriptionSelectedEventCategoryExportUpdated EventSubscriptionSelectedEventCategory = "export.updated"
	// Occurs whenever an External Account is created.
	EventSubscriptionSelectedEventCategoryExternalAccountCreated EventSubscriptionSelectedEventCategory = "external_account.created"
	// Occurs whenever an External Account is updated.
	EventSubscriptionSelectedEventCategoryExternalAccountUpdated EventSubscriptionSelectedEventCategory = "external_account.updated"
	// Occurs whenever a File is created.
	EventSubscriptionSelectedEventCategoryFileCreated EventSubscriptionSelectedEventCategory = "file.created"
	// Occurs whenever a Group is updated.
	EventSubscriptionSelectedEventCategoryGroupUpdated EventSubscriptionSelectedEventCategory = "group.updated"
	// Increase may send webhooks with this category to see if a webhook endpoint is
	// working properly.
	EventSubscriptionSelectedEventCategoryGroupHeartbeat EventSubscriptionSelectedEventCategory = "group.heartbeat"
	// Occurs whenever an Inbound ACH Transfer is created.
	EventSubscriptionSelectedEventCategoryInboundACHTransferCreated EventSubscriptionSelectedEventCategory = "inbound_ach_transfer.created"
	// Occurs whenever an Inbound ACH Transfer is updated.
	EventSubscriptionSelectedEventCategoryInboundACHTransferUpdated EventSubscriptionSelectedEventCategory = "inbound_ach_transfer.updated"
	// Occurs whenever an Inbound ACH Transfer Return is created.
	EventSubscriptionSelectedEventCategoryInboundACHTransferReturnCreated EventSubscriptionSelectedEventCategory = "inbound_ach_transfer_return.created"
	// Occurs whenever an Inbound ACH Transfer Return is updated.
	EventSubscriptionSelectedEventCategoryInboundACHTransferReturnUpdated EventSubscriptionSelectedEventCategory = "inbound_ach_transfer_return.updated"
	// Occurs whenever an Inbound Check Deposit is created.
	EventSubscriptionSelectedEventCategoryInboundCheckDepositCreated EventSubscriptionSelectedEventCategory = "inbound_check_deposit.created"
	// Occurs whenever an Inbound Check Deposit is updated.
	EventSubscriptionSelectedEventCategoryInboundCheckDepositUpdated EventSubscriptionSelectedEventCategory = "inbound_check_deposit.updated"
	// Occurs whenever an Inbound Mail Item is created.
	EventSubscriptionSelectedEventCategoryInboundMailItemCreated EventSubscriptionSelectedEventCategory = "inbound_mail_item.created"
	// Occurs whenever an Inbound Mail Item is updated.
	EventSubscriptionSelectedEventCategoryInboundMailItemUpdated EventSubscriptionSelectedEventCategory = "inbound_mail_item.updated"
	// Occurs whenever an Inbound Real-Time Payments Transfer is created.
	EventSubscriptionSelectedEventCategoryInboundRealTimePaymentsTransferCreated EventSubscriptionSelectedEventCategory = "inbound_real_time_payments_transfer.created"
	// Occurs whenever an Inbound Real-Time Payments Transfer is updated.
	EventSubscriptionSelectedEventCategoryInboundRealTimePaymentsTransferUpdated EventSubscriptionSelectedEventCategory = "inbound_real_time_payments_transfer.updated"
	// Occurs whenever an Inbound Wire Drawdown Request is created.
	EventSubscriptionSelectedEventCategoryInboundWireDrawdownRequestCreated EventSubscriptionSelectedEventCategory = "inbound_wire_drawdown_request.created"
	// Occurs whenever an Inbound Wire Transfer is created.
	EventSubscriptionSelectedEventCategoryInboundWireTransferCreated EventSubscriptionSelectedEventCategory = "inbound_wire_transfer.created"
	// Occurs whenever an Inbound Wire Transfer is updated.
	EventSubscriptionSelectedEventCategoryInboundWireTransferUpdated EventSubscriptionSelectedEventCategory = "inbound_wire_transfer.updated"
	// Occurs whenever an IntraFi Account Enrollment is created.
	EventSubscriptionSelectedEventCategoryIntrafiAccountEnrollmentCreated EventSubscriptionSelectedEventCategory = "intrafi_account_enrollment.created"
	// Occurs whenever an IntraFi Account Enrollment is updated.
	EventSubscriptionSelectedEventCategoryIntrafiAccountEnrollmentUpdated EventSubscriptionSelectedEventCategory = "intrafi_account_enrollment.updated"
	// Occurs whenever an IntraFi Exclusion is created.
	EventSubscriptionSelectedEventCategoryIntrafiExclusionCreated EventSubscriptionSelectedEventCategory = "intrafi_exclusion.created"
	// Occurs whenever an IntraFi Exclusion is updated.
	EventSubscriptionSelectedEventCategoryIntrafiExclusionUpdated EventSubscriptionSelectedEventCategory = "intrafi_exclusion.updated"
	// Occurs whenever a Lockbox is created.
	EventSubscriptionSelectedEventCategoryLockboxCreated EventSubscriptionSelectedEventCategory = "lockbox.created"
	// Occurs whenever a Lockbox is updated.
	EventSubscriptionSelectedEventCategoryLockboxUpdated EventSubscriptionSelectedEventCategory = "lockbox.updated"
	// Occurs whenever an OAuth Connection is created.
	EventSubscriptionSelectedEventCategoryOAuthConnectionCreated EventSubscriptionSelectedEventCategory = "oauth_connection.created"
	// Occurs whenever an OAuth Connection is deactivated.
	EventSubscriptionSelectedEventCategoryOAuthConnectionDeactivated EventSubscriptionSelectedEventCategory = "oauth_connection.deactivated"
	// Occurs whenever a Pending Transaction is created.
	EventSubscriptionSelectedEventCategoryPendingTransactionCreated EventSubscriptionSelectedEventCategory = "pending_transaction.created"
	// Occurs whenever a Pending Transaction is updated.
	EventSubscriptionSelectedEventCategoryPendingTransactionUpdated EventSubscriptionSelectedEventCategory = "pending_transaction.updated"
	// Occurs whenever a Physical Card is created.
	EventSubscriptionSelectedEventCategoryPhysicalCardCreated EventSubscriptionSelectedEventCategory = "physical_card.created"
	// Occurs whenever a Physical Card is updated.
	EventSubscriptionSelectedEventCategoryPhysicalCardUpdated EventSubscriptionSelectedEventCategory = "physical_card.updated"
	// Occurs whenever a Physical Card Profile is created.
	EventSubscriptionSelectedEventCategoryPhysicalCardProfileCreated EventSubscriptionSelectedEventCategory = "physical_card_profile.created"
	// Occurs whenever a Physical Card Profile is updated.
	EventSubscriptionSelectedEventCategoryPhysicalCardProfileUpdated EventSubscriptionSelectedEventCategory = "physical_card_profile.updated"
	// Occurs whenever a Proof of Authorization Request is created.
	EventSubscriptionSelectedEventCategoryProofOfAuthorizationRequestCreated EventSubscriptionSelectedEventCategory = "proof_of_authorization_request.created"
	// Occurs whenever a Proof of Authorization Request is updated.
	EventSubscriptionSelectedEventCategoryProofOfAuthorizationRequestUpdated EventSubscriptionSelectedEventCategory = "proof_of_authorization_request.updated"
	// Occurs whenever a Proof of Authorization Request Submission is created.
	EventSubscriptionSelectedEventCategoryProofOfAuthorizationRequestSubmissionCreated EventSubscriptionSelectedEventCategory = "proof_of_authorization_request_submission.created"
	// Occurs whenever a Proof of Authorization Request Submission is updated.
	EventSubscriptionSelectedEventCategoryProofOfAuthorizationRequestSubmissionUpdated EventSubscriptionSelectedEventCategory = "proof_of_authorization_request_submission.updated"
	// Occurs whenever a Real-Time Decision is created in response to a card
	// authorization.
	EventSubscriptionSelectedEventCategoryRealTimeDecisionCardAuthorizationRequested EventSubscriptionSelectedEventCategory = "real_time_decision.card_authorization_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// provisioning attempt.
	EventSubscriptionSelectedEventCategoryRealTimeDecisionDigitalWalletTokenRequested EventSubscriptionSelectedEventCategory = "real_time_decision.digital_wallet_token_requested"
	// Occurs whenever a Real-Time Decision is created in response to a digital wallet
	// requiring two-factor authentication.
	EventSubscriptionSelectedEventCategoryRealTimeDecisionDigitalWalletAuthenticationRequested EventSubscriptionSelectedEventCategory = "real_time_decision.digital_wallet_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication.
	EventSubscriptionSelectedEventCategoryRealTimeDecisionCardAuthenticationRequested EventSubscriptionSelectedEventCategory = "real_time_decision.card_authentication_requested"
	// Occurs whenever a Real-Time Decision is created in response to 3DS
	// authentication challenges.
	EventSubscriptionSelectedEventCategoryRealTimeDecisionCardAuthenticationChallengeRequested EventSubscriptionSelectedEventCategory = "real_time_decision.card_authentication_challenge_requested"
	// Occurs whenever a Real-Time Payments Transfer is created.
	EventSubscriptionSelectedEventCategoryRealTimePaymentsTransferCreated EventSubscriptionSelectedEventCategory = "real_time_payments_transfer.created"
	// Occurs whenever a Real-Time Payments Transfer is updated.
	EventSubscriptionSelectedEventCategoryRealTimePaymentsTransferUpdated EventSubscriptionSelectedEventCategory = "real_time_payments_transfer.updated"
	// Occurs whenever a Real-Time Payments Request for Payment is created.
	EventSubscriptionSelectedEventCategoryRealTimePaymentsRequestForPaymentCreated EventSubscriptionSelectedEventCategory = "real_time_payments_request_for_payment.created"
	// Occurs whenever a Real-Time Payments Request for Payment is updated.
	EventSubscriptionSelectedEventCategoryRealTimePaymentsRequestForPaymentUpdated EventSubscriptionSelectedEventCategory = "real_time_payments_request_for_payment.updated"
	// Occurs whenever a Transaction is created.
	EventSubscriptionSelectedEventCategoryTransactionCreated EventSubscriptionSelectedEventCategory = "transaction.created"
	// Occurs whenever a Wire Drawdown Request is created.
	EventSubscriptionSelectedEventCategoryWireDrawdownRequestCreated EventSubscriptionSelectedEventCategory = "wire_drawdown_request.created"
	// Occurs whenever a Wire Drawdown Request is updated.
	EventSubscriptionSelectedEventCategoryWireDrawdownRequestUpdated EventSubscriptionSelectedEventCategory = "wire_drawdown_request.updated"
	// Occurs whenever a Wire Transfer is created.
	EventSubscriptionSelectedEventCategoryWireTransferCreated EventSubscriptionSelectedEventCategory = "wire_transfer.created"
	// Occurs whenever a Wire Transfer is updated.
	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 (
	// The subscription is active and Events will be delivered normally.
	EventSubscriptionStatusActive EventSubscriptionStatus = "active"
	// The subscription is temporarily disabled and Events will not be delivered.
	EventSubscriptionStatusDisabled EventSubscriptionStatus = "disabled"
	// The subscription is permanently disabled and Events will not be delivered.
	EventSubscriptionStatusDeleted EventSubscriptionStatus = "deleted"
	// The subscription is temporarily disabled due to delivery errors and Events will
	// not be delivered.
	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 (
	// The subscription is active and Events will be delivered normally.
	EventSubscriptionUpdateParamsStatusActive EventSubscriptionUpdateParamsStatus = "active"
	// The subscription is temporarily disabled and Events will not be delivered.
	EventSubscriptionUpdateParamsStatusDisabled EventSubscriptionUpdateParamsStatus = "disabled"
	// The subscription is permanently disabled and Events will not be delivered.
	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 (
	// Export an Open Financial Exchange (OFX) file of transactions and balances for a
	// given time range and Account.
	ExportCategoryAccountStatementOfx ExportCategory = "account_statement_ofx"
	// Export a CSV of all transactions for a given time range.
	ExportCategoryTransactionCsv ExportCategory = "transaction_csv"
	// Export a CSV of account balances for the dates in a given range.
	ExportCategoryBalanceCsv ExportCategory = "balance_csv"
	// Export a CSV of bookkeeping account balances for the dates in a given range.
	ExportCategoryBookkeepingAccountBalanceCsv ExportCategory = "bookkeeping_account_balance_csv"
	// Export a CSV of entities with a given status.
	ExportCategoryEntityCsv ExportCategory = "entity_csv"
	// Export a CSV of vendors added to the third-party risk management dashboard.
	ExportCategoryVendorCsv ExportCategory = "vendor_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 (
	// Export an Open Financial Exchange (OFX) file of transactions and balances for a
	// given time range and Account.
	ExportListParamsCategoryInAccountStatementOfx ExportListParamsCategoryIn = "account_statement_ofx"
	// Export a CSV of all transactions for a given time range.
	ExportListParamsCategoryInTransactionCsv ExportListParamsCategoryIn = "transaction_csv"
	// Export a CSV of account balances for the dates in a given range.
	ExportListParamsCategoryInBalanceCsv ExportListParamsCategoryIn = "balance_csv"
	// Export a CSV of bookkeeping account balances for the dates in a given range.
	ExportListParamsCategoryInBookkeepingAccountBalanceCsv ExportListParamsCategoryIn = "bookkeeping_account_balance_csv"
	// Export a CSV of entities with a given status.
	ExportListParamsCategoryInEntityCsv ExportListParamsCategoryIn = "entity_csv"
	// Export a CSV of vendors added to the third-party risk management dashboard.
	ExportListParamsCategoryInVendorCsv ExportListParamsCategoryIn = "vendor_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 (
	// Increase is generating the export.
	ExportListParamsStatusInPending ExportListParamsStatusIn = "pending"
	// The export has been successfully generated.
	ExportListParamsStatusInComplete ExportListParamsStatusIn = "complete"
	// The export failed to generate. Increase will reach out to you to resolve the
	// issue.
	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 (
	// Export an Open Financial Exchange (OFX) file of transactions and balances for a
	// given time range and Account.
	ExportNewParamsCategoryAccountStatementOfx ExportNewParamsCategory = "account_statement_ofx"
	// Export a CSV of all transactions for a given time range.
	ExportNewParamsCategoryTransactionCsv ExportNewParamsCategory = "transaction_csv"
	// Export a CSV of account balances for the dates in a given range.
	ExportNewParamsCategoryBalanceCsv ExportNewParamsCategory = "balance_csv"
	// Export a CSV of bookkeeping account balances for the dates in a given range.
	ExportNewParamsCategoryBookkeepingAccountBalanceCsv ExportNewParamsCategory = "bookkeeping_account_balance_csv"
	// Export a CSV of entities with a given status.
	ExportNewParamsCategoryEntityCsv ExportNewParamsCategory = "entity_csv"
	// Export a CSV of vendors added to the third-party risk management dashboard.
	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 (
	// The entity is active.
	ExportNewParamsEntityCsvStatusInActive ExportNewParamsEntityCsvStatusIn = "active"
	// The entity is archived, and can no longer be used to create accounts.
	ExportNewParamsEntityCsvStatusInArchived ExportNewParamsEntityCsvStatusIn = "archived"
	// The entity is temporarily disabled and cannot be used for financial activity.
	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 (
	// Increase is generating the export.
	ExportStatusPending ExportStatus = "pending"
	// The export has been successfully generated.
	ExportStatusComplete ExportStatus = "complete"
	// The export failed to generate. Increase will reach out to you to resolve the
	// issue.
	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"`
	// If you have verified ownership of the External Account.
	VerificationStatus ExternalAccountVerificationStatus `json:"verification_status,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 (
	// The External Account is owned by a business.
	ExternalAccountAccountHolderBusiness ExternalAccountAccountHolder = "business"
	// The External Account is owned by an individual.
	ExternalAccountAccountHolderIndividual ExternalAccountAccountHolder = "individual"
	// It's unknown what kind of entity owns the External Account.
	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 (
	// A checking account.
	ExternalAccountFundingChecking ExternalAccountFunding = "checking"
	// A savings account.
	ExternalAccountFundingSavings ExternalAccountFunding = "savings"
	// A different type of account.
	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 (
	// The External Account is active.
	ExternalAccountListParamsStatusInActive ExternalAccountListParamsStatusIn = "active"
	// The External Account is archived and won't appear in the dashboard.
	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 (
	// The External Account is owned by a business.
	ExternalAccountNewParamsAccountHolderBusiness ExternalAccountNewParamsAccountHolder = "business"
	// The External Account is owned by an individual.
	ExternalAccountNewParamsAccountHolderIndividual ExternalAccountNewParamsAccountHolder = "individual"
	// It's unknown what kind of entity owns the External Account.
	ExternalAccountNewParamsAccountHolderUnknown ExternalAccountNewParamsAccountHolder = "unknown"
)

func (ExternalAccountNewParamsAccountHolder) IsKnown

type ExternalAccountNewParamsFunding

type ExternalAccountNewParamsFunding string

The type of the destination account. Defaults to `checking`.

const (
	// A checking account.
	ExternalAccountNewParamsFundingChecking ExternalAccountNewParamsFunding = "checking"
	// A savings account.
	ExternalAccountNewParamsFundingSavings ExternalAccountNewParamsFunding = "savings"
	// A different type of account.
	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 (
	// The External Account is active.
	ExternalAccountStatusActive ExternalAccountStatus = "active"
	// The External Account is archived and won't appear in the dashboard.
	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 (
	// The External Account is owned by a business.
	ExternalAccountUpdateParamsAccountHolderBusiness ExternalAccountUpdateParamsAccountHolder = "business"
	// The External Account is owned by an individual.
	ExternalAccountUpdateParamsAccountHolderIndividual ExternalAccountUpdateParamsAccountHolder = "individual"
)

func (ExternalAccountUpdateParamsAccountHolder) IsKnown

type ExternalAccountUpdateParamsFunding

type ExternalAccountUpdateParamsFunding string

The funding type of the External Account.

const (
	// A checking account.
	ExternalAccountUpdateParamsFundingChecking ExternalAccountUpdateParamsFunding = "checking"
	// A savings account.
	ExternalAccountUpdateParamsFundingSavings ExternalAccountUpdateParamsFunding = "savings"
	// A different type of account.
	ExternalAccountUpdateParamsFundingOther ExternalAccountUpdateParamsFunding = "other"
)

func (ExternalAccountUpdateParamsFunding) IsKnown

type ExternalAccountUpdateParamsStatus

type ExternalAccountUpdateParamsStatus string

The status of the External Account.

const (
	// The External Account is active.
	ExternalAccountUpdateParamsStatusActive ExternalAccountUpdateParamsStatus = "active"
	// The External Account is archived and won't appear in the dashboard.
	ExternalAccountUpdateParamsStatusArchived ExternalAccountUpdateParamsStatus = "archived"
)

func (ExternalAccountUpdateParamsStatus) IsKnown

type ExternalAccountVerificationStatus

type ExternalAccountVerificationStatus string

If you have verified ownership of the External Account.

const (
	// The External Account has not been verified.
	ExternalAccountVerificationStatusUnverified ExternalAccountVerificationStatus = "unverified"
	// The External Account is in the process of being verified.
	ExternalAccountVerificationStatusPending ExternalAccountVerificationStatus = "pending"
	// The External Account is verified.
	ExternalAccountVerificationStatusVerified ExternalAccountVerificationStatus = "verified"
)

func (ExternalAccountVerificationStatus) 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"`
	// A URL from where the File can be downloaded at this point in time. The location
	// of this URL may change over time.
	DownloadURL string `json:"download_url,required,nullable"`
	// 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).

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 (
	// This File was sent by you to Increase.
	FileDirectionToIncrease FileDirection = "to_increase"
	// This File was generated by Increase.
	FileDirectionFromIncrease FileDirection = "from_increase"
)

func (FileDirection) IsKnown

func (r FileDirection) 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 (
	// An image of the front of a check, used for check deposits.
	FileListParamsPurposeInCheckImageFront FileListParamsPurposeIn = "check_image_front"
	// An image of the back of a check, used for check deposits.
	FileListParamsPurposeInCheckImageBack FileListParamsPurposeIn = "check_image_back"
	// An image of the front of a deposited check after processing by Increase and
	// submission to the Federal Reserve.
	FileListParamsPurposeInProcessedCheckImageFront FileListParamsPurposeIn = "processed_check_image_front"
	// An image of the back of a deposited check after processing by Increase and
	// submission to the Federal Reserve.
	FileListParamsPurposeInProcessedCheckImageBack FileListParamsPurposeIn = "processed_check_image_back"
	// An image of a check that was mailed to a recipient.
	FileListParamsPurposeInMailedCheckImage FileListParamsPurposeIn = "mailed_check_image"
	// A scanned mail item sent to Increase.
	FileListParamsPurposeInInboundMailItem FileListParamsPurposeIn = "inbound_mail_item"
	// IRS Form 1099-INT.
	FileListParamsPurposeInForm1099Int FileListParamsPurposeIn = "form_1099_int"
	// IRS Form SS-4.
	FileListParamsPurposeInFormSS4 FileListParamsPurposeIn = "form_ss_4"
	// An image of a government-issued ID.
	FileListParamsPurposeInIdentityDocument FileListParamsPurposeIn = "identity_document"
	// A statement generated by Increase.
	FileListParamsPurposeInIncreaseStatement FileListParamsPurposeIn = "increase_statement"
	// A file purpose not covered by any of the other cases.
	FileListParamsPurposeInOther FileListParamsPurposeIn = "other"
	// A legal document forming a trust.
	FileListParamsPurposeInTrustFormationDocument FileListParamsPurposeIn = "trust_formation_document"
	// A card image to be rendered inside digital wallet apps. This must be a 1536x969
	// pixel PNG.
	FileListParamsPurposeInDigitalWalletArtwork FileListParamsPurposeIn = "digital_wallet_artwork"
	// An icon for you app to be rendered inside digital wallet apps. This must be a
	// 100x100 pixel PNG.
	FileListParamsPurposeInDigitalWalletAppIcon FileListParamsPurposeIn = "digital_wallet_app_icon"
	// A card image to be printed on the front of a physical card. This must be a
	// 2100x1340 pixel PNG with no other color but black.
	FileListParamsPurposeInPhysicalCardFront FileListParamsPurposeIn = "physical_card_front"
	// The image to be printed on the back of a physical card.
	FileListParamsPurposeInPhysicalCardBack FileListParamsPurposeIn = "physical_card_back"
	// An image representing the entirety of the carrier used for a physical card. This
	// must be a 2550x3300 pixel PNG with no other color but black.
	FileListParamsPurposeInPhysicalCardCarrier FileListParamsPurposeIn = "physical_card_carrier"
	// A document requested by Increase.
	FileListParamsPurposeInDocumentRequest FileListParamsPurposeIn = "document_request"
	// A supplemental document associated an an Entity.
	FileListParamsPurposeInEntitySupplementalDocument FileListParamsPurposeIn = "entity_supplemental_document"
	// The results of an Export you requested via the dashboard or API.
	FileListParamsPurposeInExport FileListParamsPurposeIn = "export"
	// An attachment to an Unusual Activity Report.
	FileListParamsPurposeInUnusualActivityReportAttachment FileListParamsPurposeIn = "unusual_activity_report_attachment"
	// A document granting another entity access to the funds into your account.
	FileListParamsPurposeInDepositAccountControlAgreement FileListParamsPurposeIn = "deposit_account_control_agreement"
)

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 (
	// An image of the front of a check, used for check deposits.
	FileNewParamsPurposeCheckImageFront FileNewParamsPurpose = "check_image_front"
	// An image of the back of a check, used for check deposits.
	FileNewParamsPurposeCheckImageBack FileNewParamsPurpose = "check_image_back"
	// An image of a check that was mailed to a recipient.
	FileNewParamsPurposeMailedCheckImage FileNewParamsPurpose = "mailed_check_image"
	// IRS Form SS-4.
	FileNewParamsPurposeFormSS4 FileNewParamsPurpose = "form_ss_4"
	// An image of a government-issued ID.
	FileNewParamsPurposeIdentityDocument FileNewParamsPurpose = "identity_document"
	// A file purpose not covered by any of the other cases.
	FileNewParamsPurposeOther FileNewParamsPurpose = "other"
	// A legal document forming a trust.
	FileNewParamsPurposeTrustFormationDocument FileNewParamsPurpose = "trust_formation_document"
	// A card image to be rendered inside digital wallet apps. This must be a 1536x969
	// pixel PNG.
	FileNewParamsPurposeDigitalWalletArtwork FileNewParamsPurpose = "digital_wallet_artwork"
	// An icon for you app to be rendered inside digital wallet apps. This must be a
	// 100x100 pixel PNG.
	FileNewParamsPurposeDigitalWalletAppIcon FileNewParamsPurpose = "digital_wallet_app_icon"
	// A card image to be printed on the front of a physical card. This must be a
	// 2100x1340 pixel PNG with no other color but black.
	FileNewParamsPurposePhysicalCardFront FileNewParamsPurpose = "physical_card_front"
	// An image representing the entirety of the carrier used for a physical card. This
	// must be a 2550x3300 pixel PNG with no other color but black.
	FileNewParamsPurposePhysicalCardCarrier FileNewParamsPurpose = "physical_card_carrier"
	// A document requested by Increase.
	FileNewParamsPurposeDocumentRequest FileNewParamsPurpose = "document_request"
	// A supplemental document associated an an Entity.
	FileNewParamsPurposeEntitySupplementalDocument FileNewParamsPurpose = "entity_supplemental_document"
	// An attachment to an Unusual Activity Report.
	FileNewParamsPurposeUnusualActivityReportAttachment FileNewParamsPurpose = "unusual_activity_report_attachment"
)

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 (
	// An image of the front of a check, used for check deposits.
	FilePurposeCheckImageFront FilePurpose = "check_image_front"
	// An image of the back of a check, used for check deposits.
	FilePurposeCheckImageBack FilePurpose = "check_image_back"
	// An image of the front of a deposited check after processing by Increase and
	// submission to the Federal Reserve.
	FilePurposeProcessedCheckImageFront FilePurpose = "processed_check_image_front"
	// An image of the back of a deposited check after processing by Increase and
	// submission to the Federal Reserve.
	FilePurposeProcessedCheckImageBack FilePurpose = "processed_check_image_back"
	// An image of a check that was mailed to a recipient.
	FilePurposeMailedCheckImage FilePurpose = "mailed_check_image"
	// A scanned mail item sent to Increase.
	FilePurposeInboundMailItem FilePurpose = "inbound_mail_item"
	// IRS Form 1099-INT.
	FilePurposeForm1099Int FilePurpose = "form_1099_int"
	// IRS Form SS-4.
	FilePurposeFormSS4 FilePurpose = "form_ss_4"
	// An image of a government-issued ID.
	FilePurposeIdentityDocument FilePurpose = "identity_document"
	// A statement generated by Increase.
	FilePurposeIncreaseStatement FilePurpose = "increase_statement"
	// A file purpose not covered by any of the other cases.
	FilePurposeOther FilePurpose = "other"
	// A legal document forming a trust.
	FilePurposeTrustFormationDocument FilePurpose = "trust_formation_document"
	// A card image to be rendered inside digital wallet apps. This must be a 1536x969
	// pixel PNG.
	FilePurposeDigitalWalletArtwork FilePurpose = "digital_wallet_artwork"
	// An icon for you app to be rendered inside digital wallet apps. This must be a
	// 100x100 pixel PNG.
	FilePurposeDigitalWalletAppIcon FilePurpose = "digital_wallet_app_icon"
	// A card image to be printed on the front of a physical card. This must be a
	// 2100x1340 pixel PNG with no other color but black.
	FilePurposePhysicalCardFront FilePurpose = "physical_card_front"
	// The image to be printed on the back of a physical card.
	FilePurposePhysicalCardBack FilePurpose = "physical_card_back"
	// An image representing the entirety of the carrier used for a physical card. This
	// must be a 2550x3300 pixel PNG with no other color but black.
	FilePurposePhysicalCardCarrier FilePurpose = "physical_card_carrier"
	// A document requested by Increase.
	FilePurposeDocumentRequest FilePurpose = "document_request"
	// A supplemental document associated an an Entity.
	FilePurposeEntitySupplementalDocument FilePurpose = "entity_supplemental_document"
	// The results of an Export you requested via the dashboard or API.
	FilePurposeExport FilePurpose = "export"
	// An attachment to an Unusual Activity Report.
	FilePurposeUnusualActivityReportAttachment FilePurpose = "unusual_activity_report_attachment"
	// A document granting another entity access to the funds into your account.
	FilePurposeDepositAccountControlAgreement FilePurpose = "deposit_account_control_agreement"
)

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, or (more commonly) OAuth platforms can retrieve information about the organizations that have granted them access.

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 (
	// The Group cannot make ACH debits.
	GroupACHDebitStatusDisabled GroupACHDebitStatus = "disabled"
	// The Group can make ACH debits.
	GroupACHDebitStatusEnabled GroupACHDebitStatus = "enabled"
)

func (GroupACHDebitStatus) IsKnown

func (r GroupACHDebitStatus) IsKnown() bool

type GroupActivationStatus

type GroupActivationStatus string

If the Group is activated or not.

const (
	// The Group is not activated.
	GroupActivationStatusUnactivated GroupActivationStatus = "unactivated"
	// The Group is activated.
	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"`
	// 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 settlement schedule the transfer is expected to follow.
	ExpectedSettlementSchedule InboundACHTransferExpectedSettlementSchedule `json:"expected_settlement_schedule,required"`
	// 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"`
	// 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"`
	// The trace number of the transfer.
	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 (
	// Unstructured addendum.
	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 (
	// The customer's account has insufficient funds. This reason is only allowed for
	// debits. The Nacha return code is R01.
	InboundACHTransferDeclineParamsReasonInsufficientFunds InboundACHTransferDeclineParamsReason = "insufficient_funds"
	// The originating financial institution asked for this transfer to be returned.
	// The receiving bank is complying with the request. The Nacha return code is R06.
	InboundACHTransferDeclineParamsReasonReturnedPerOdfiRequest InboundACHTransferDeclineParamsReason = "returned_per_odfi_request"
	// The customer no longer authorizes this transaction. The Nacha return code is
	// R07.
	InboundACHTransferDeclineParamsReasonAuthorizationRevokedByCustomer InboundACHTransferDeclineParamsReason = "authorization_revoked_by_customer"
	// The customer asked for the payment to be stopped. This reason is only allowed
	// for debits. The Nacha return code is R08.
	InboundACHTransferDeclineParamsReasonPaymentStopped InboundACHTransferDeclineParamsReason = "payment_stopped"
	// The customer advises that the debit was unauthorized. The Nacha return code is
	// R10.
	InboundACHTransferDeclineParamsReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete InboundACHTransferDeclineParamsReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// The payee is deceased. The Nacha return code is R14.
	InboundACHTransferDeclineParamsReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferDeclineParamsReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// The account holder is deceased. The Nacha return code is R15.
	InboundACHTransferDeclineParamsReasonBeneficiaryOrAccountHolderDeceased InboundACHTransferDeclineParamsReason = "beneficiary_or_account_holder_deceased"
	// The customer refused a credit entry. This reason is only allowed for credits.
	// The Nacha return code is R23.
	InboundACHTransferDeclineParamsReasonCreditEntryRefusedByReceiver InboundACHTransferDeclineParamsReason = "credit_entry_refused_by_receiver"
	// The account holder identified this transaction as a duplicate. The Nacha return
	// code is R24.
	InboundACHTransferDeclineParamsReasonDuplicateEntry InboundACHTransferDeclineParamsReason = "duplicate_entry"
	// The corporate customer no longer authorizes this transaction. The Nacha return
	// code is R29.
	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 (
	// The account number is canceled.
	InboundACHTransferDeclineReasonACHRouteCanceled InboundACHTransferDeclineReason = "ach_route_canceled"
	// The account number is disabled.
	InboundACHTransferDeclineReasonACHRouteDisabled InboundACHTransferDeclineReason = "ach_route_disabled"
	// The transaction would cause an Increase limit to be exceeded.
	InboundACHTransferDeclineReasonBreachesLimit InboundACHTransferDeclineReason = "breaches_limit"
	// The account's entity is not active.
	InboundACHTransferDeclineReasonEntityNotActive InboundACHTransferDeclineReason = "entity_not_active"
	// Your account is inactive.
	InboundACHTransferDeclineReasonGroupLocked InboundACHTransferDeclineReason = "group_locked"
	// The transaction is not allowed per Increase's terms.
	InboundACHTransferDeclineReasonTransactionNotAllowed InboundACHTransferDeclineReason = "transaction_not_allowed"
	// Your integration declined this transfer via the API.
	InboundACHTransferDeclineReasonUserInitiated InboundACHTransferDeclineReason = "user_initiated"
	// Your account contains insufficient funds.
	InboundACHTransferDeclineReasonInsufficientFunds InboundACHTransferDeclineReason = "insufficient_funds"
	// The originating financial institution asked for this transfer to be returned.
	// The receiving bank is complying with the request.
	InboundACHTransferDeclineReasonReturnedPerOdfiRequest InboundACHTransferDeclineReason = "returned_per_odfi_request"
	// The customer no longer authorizes this transaction.
	InboundACHTransferDeclineReasonAuthorizationRevokedByCustomer InboundACHTransferDeclineReason = "authorization_revoked_by_customer"
	// The customer asked for the payment to be stopped.
	InboundACHTransferDeclineReasonPaymentStopped InboundACHTransferDeclineReason = "payment_stopped"
	// The customer advises that the debit was unauthorized.
	InboundACHTransferDeclineReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete InboundACHTransferDeclineReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// The payee is deceased.
	InboundACHTransferDeclineReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferDeclineReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// The account holder is deceased.
	InboundACHTransferDeclineReasonBeneficiaryOrAccountHolderDeceased InboundACHTransferDeclineReason = "beneficiary_or_account_holder_deceased"
	// The customer refused a credit entry.
	InboundACHTransferDeclineReasonCreditEntryRefusedByReceiver InboundACHTransferDeclineReason = "credit_entry_refused_by_receiver"
	// The account holder identified this transaction as a duplicate.
	InboundACHTransferDeclineReasonDuplicateEntry InboundACHTransferDeclineReason = "duplicate_entry"
	// The corporate customer no longer authorizes this transaction.
	InboundACHTransferDeclineReasonCorporateCustomerAdvisedNotAuthorized InboundACHTransferDeclineReason = "corporate_customer_advised_not_authorized"
)

func (InboundACHTransferDeclineReason) IsKnown

type InboundACHTransferDirection

type InboundACHTransferDirection string

The direction of the transfer.

const (
	// Credit
	InboundACHTransferDirectionCredit InboundACHTransferDirection = "credit"
	// Debit
	InboundACHTransferDirectionDebit InboundACHTransferDirection = "debit"
)

func (InboundACHTransferDirection) IsKnown

func (r InboundACHTransferDirection) IsKnown() bool

type InboundACHTransferExpectedSettlementSchedule

type InboundACHTransferExpectedSettlementSchedule string

The settlement schedule the transfer is expected to follow.

const (
	// The transfer is expected to settle same-day.
	InboundACHTransferExpectedSettlementScheduleSameDay InboundACHTransferExpectedSettlementSchedule = "same_day"
	// The transfer is expected to settle on a future date.
	InboundACHTransferExpectedSettlementScheduleFutureDated InboundACHTransferExpectedSettlementSchedule = "future_dated"
)

func (InboundACHTransferExpectedSettlementSchedule) IsKnown

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 (
	// The originator chose an amount in their own currency. The settled amount in USD
	// was converted using the exchange rate.
	InboundACHTransferInternationalAddendaForeignExchangeIndicatorFixedToVariable InboundACHTransferInternationalAddendaForeignExchangeIndicator = "fixed_to_variable"
	// The originator chose an amount to settle in USD. The originator's amount was
	// variable; known only after the foreign exchange conversion.
	InboundACHTransferInternationalAddendaForeignExchangeIndicatorVariableToFixed InboundACHTransferInternationalAddendaForeignExchangeIndicator = "variable_to_fixed"
	// The amount was originated and settled as a fixed amount in USD. There is no
	// foreign exchange conversion.
	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 (
	// The ACH file contains a foreign exchange rate.
	InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicatorForeignExchangeRate InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator = "foreign_exchange_rate"
	// The ACH file contains a reference to a well-known foreign exchange rate.
	InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicatorForeignExchangeReferenceNumber InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator = "foreign_exchange_reference_number"
	// There is no foreign exchange for this transfer, so the
	// `foreign_exchange_reference` field is blank.
	InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicatorBlank InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator = "blank"
)

func (InboundACHTransferInternationalAddendaForeignExchangeReferenceIndicator) IsKnown

type InboundACHTransferInternationalAddendaInternationalTransactionTypeCode

type InboundACHTransferInternationalAddendaInternationalTransactionTypeCode string

The type of transfer. Set by the originator.

const (
	// Sent as `ANN` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeAnnuity InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "annuity"
	// Sent as `BUS` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeBusinessOrCommercial InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "business_or_commercial"
	// Sent as `DEP` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeDeposit InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "deposit"
	// Sent as `LOA` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeLoan InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "loan"
	// Sent as `MIS` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeMiscellaneous InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "miscellaneous"
	// Sent as `MOR` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeMortgage InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "mortgage"
	// Sent as `PEN` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodePension InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "pension"
	// Sent as `REM` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeRemittance InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "remittance"
	// Sent as `RLS` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeRentOrLease InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "rent_or_lease"
	// Sent as `SAL` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeSalaryOrPayroll InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "salary_or_payroll"
	// Sent as `TAX` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeTax InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "tax"
	// Sent as `ARC` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeAccountsReceivable InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "accounts_receivable"
	// Sent as `BOC` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeBackOfficeConversion InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "back_office_conversion"
	// Sent as `MTE` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeMachineTransfer InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "machine_transfer"
	// Sent as `POP` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodePointOfPurchase InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "point_of_purchase"
	// Sent as `POS` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodePointOfSale InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "point_of_sale"
	// Sent as `RCK` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeRepresentedCheck InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "represented_check"
	// Sent as `SHR` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeSharedNetworkTransaction InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "shared_network_transaction"
	// Sent as `TEL` in the Nacha file.
	InboundACHTransferInternationalAddendaInternationalTransactionTypeCodeTelphoneInitiated InboundACHTransferInternationalAddendaInternationalTransactionTypeCode = "telphone_initiated"
	// Sent as `WEB` in the Nacha file.
	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 (
	// A domestic clearing system number. In the US, for example, this is the American
	// Banking Association (ABA) routing number.
	InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifierBicCode InboundACHTransferInternationalAddendaOriginatingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	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 (
	// A domestic clearing system number. In the US, for example, this is the American
	// Banking Association (ABA) routing number.
	InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifierBicCode InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifierIban InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (InboundACHTransferInternationalAddendaReceivingDepositoryFinancialInstitutionIDQualifier) IsKnown

type InboundACHTransferListParams

type InboundACHTransferListParams struct {
	// Filter Inbound ACH Tranfers to ones belonging to the specified Account.
	AccountID param.Field[string] `query:"account_id"`
	// Filter Inbound ACH Tranfers 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"`
	// Filter Inbound ACH Transfers to those with the specified status.
	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 string

Filter Inbound ACH Transfers to those with the specified status.

const (
	// The Inbound ACH Transfer is awaiting action, will transition automatically if no
	// action is taken.
	InboundACHTransferListParamsStatusPending InboundACHTransferListParamsStatus = "pending"
	// The Inbound ACH Transfer has been declined.
	InboundACHTransferListParamsStatusDeclined InboundACHTransferListParamsStatus = "declined"
	// The Inbound ACH Transfer is accepted.
	InboundACHTransferListParamsStatusAccepted InboundACHTransferListParamsStatus = "accepted"
	// The Inbound ACH Transfer has been returned.
	InboundACHTransferListParamsStatusReturned InboundACHTransferListParamsStatus = "returned"
)

func (InboundACHTransferListParamsStatus) IsKnown

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 InboundACHTransferStandardEntryClassCode

type InboundACHTransferStandardEntryClassCode string

The Standard Entry Class (SEC) code of the transfer.

const (
	// Corporate Credit and Debit (CCD).
	InboundACHTransferStandardEntryClassCodeCorporateCreditOrDebit InboundACHTransferStandardEntryClassCode = "corporate_credit_or_debit"
	// Corporate Trade Exchange (CTX).
	InboundACHTransferStandardEntryClassCodeCorporateTradeExchange InboundACHTransferStandardEntryClassCode = "corporate_trade_exchange"
	// Prearranged Payments and Deposits (PPD).
	InboundACHTransferStandardEntryClassCodePrearrangedPaymentsAndDeposit InboundACHTransferStandardEntryClassCode = "prearranged_payments_and_deposit"
	// Internet Initiated (WEB).
	InboundACHTransferStandardEntryClassCodeInternetInitiated InboundACHTransferStandardEntryClassCode = "internet_initiated"
	// Point of Sale (POS).
	InboundACHTransferStandardEntryClassCodePointOfSale InboundACHTransferStandardEntryClassCode = "point_of_sale"
	// Telephone Initiated (TEL).
	InboundACHTransferStandardEntryClassCodeTelephoneInitiated InboundACHTransferStandardEntryClassCode = "telephone_initiated"
	// Customer Initiated (CIE).
	InboundACHTransferStandardEntryClassCodeCustomerInitiated InboundACHTransferStandardEntryClassCode = "customer_initiated"
	// Accounts Receivable (ARC).
	InboundACHTransferStandardEntryClassCodeAccountsReceivable InboundACHTransferStandardEntryClassCode = "accounts_receivable"
	// Machine Transfer (MTE).
	InboundACHTransferStandardEntryClassCodeMachineTransfer InboundACHTransferStandardEntryClassCode = "machine_transfer"
	// Shared Network Transaction (SHR).
	InboundACHTransferStandardEntryClassCodeSharedNetworkTransaction InboundACHTransferStandardEntryClassCode = "shared_network_transaction"
	// Represented Check (RCK).
	InboundACHTransferStandardEntryClassCodeRepresentedCheck InboundACHTransferStandardEntryClassCode = "represented_check"
	// Back Office Conversion (BOC).
	InboundACHTransferStandardEntryClassCodeBackOfficeConversion InboundACHTransferStandardEntryClassCode = "back_office_conversion"
	// Point of Purchase (POP).
	InboundACHTransferStandardEntryClassCodePointOfPurchase InboundACHTransferStandardEntryClassCode = "point_of_purchase"
	// Check Truncation (TRC).
	InboundACHTransferStandardEntryClassCodeCheckTruncation InboundACHTransferStandardEntryClassCode = "check_truncation"
	// Destroyed Check (XCK).
	InboundACHTransferStandardEntryClassCodeDestroyedCheck InboundACHTransferStandardEntryClassCode = "destroyed_check"
	// International ACH Transaction (IAT).
	InboundACHTransferStandardEntryClassCodeInternationalACHTransaction InboundACHTransferStandardEntryClassCode = "international_ach_transaction"
)

func (InboundACHTransferStandardEntryClassCode) IsKnown

type InboundACHTransferStatus

type InboundACHTransferStatus string

The status of the transfer.

const (
	// The Inbound ACH Transfer is awaiting action, will transition automatically if no
	// action is taken.
	InboundACHTransferStatusPending InboundACHTransferStatus = "pending"
	// The Inbound ACH Transfer has been declined.
	InboundACHTransferStatusDeclined InboundACHTransferStatus = "declined"
	// The Inbound ACH Transfer is accepted.
	InboundACHTransferStatusAccepted InboundACHTransferStatus = "accepted"
	// The Inbound ACH Transfer has been returned.
	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 (
	// The customer's account has insufficient funds. This reason is only allowed for
	// debits. The Nacha return code is R01.
	InboundACHTransferTransferReturnParamsReasonInsufficientFunds InboundACHTransferTransferReturnParamsReason = "insufficient_funds"
	// The originating financial institution asked for this transfer to be returned.
	// The receiving bank is complying with the request. The Nacha return code is R06.
	InboundACHTransferTransferReturnParamsReasonReturnedPerOdfiRequest InboundACHTransferTransferReturnParamsReason = "returned_per_odfi_request"
	// The customer no longer authorizes this transaction. The Nacha return code is
	// R07.
	InboundACHTransferTransferReturnParamsReasonAuthorizationRevokedByCustomer InboundACHTransferTransferReturnParamsReason = "authorization_revoked_by_customer"
	// The customer asked for the payment to be stopped. This reason is only allowed
	// for debits. The Nacha return code is R08.
	InboundACHTransferTransferReturnParamsReasonPaymentStopped InboundACHTransferTransferReturnParamsReason = "payment_stopped"
	// The customer advises that the debit was unauthorized. The Nacha return code is
	// R10.
	InboundACHTransferTransferReturnParamsReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete InboundACHTransferTransferReturnParamsReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// The payee is deceased. The Nacha return code is R14.
	InboundACHTransferTransferReturnParamsReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferTransferReturnParamsReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// The account holder is deceased. The Nacha return code is R15.
	InboundACHTransferTransferReturnParamsReasonBeneficiaryOrAccountHolderDeceased InboundACHTransferTransferReturnParamsReason = "beneficiary_or_account_holder_deceased"
	// The customer refused a credit entry. This reason is only allowed for credits.
	// The Nacha return code is R23.
	InboundACHTransferTransferReturnParamsReasonCreditEntryRefusedByReceiver InboundACHTransferTransferReturnParamsReason = "credit_entry_refused_by_receiver"
	// The account holder identified this transaction as a duplicate. The Nacha return
	// code is R24.
	InboundACHTransferTransferReturnParamsReasonDuplicateEntry InboundACHTransferTransferReturnParamsReason = "duplicate_entry"
	// The corporate customer no longer authorizes this transaction. The Nacha return
	// code is R29.
	InboundACHTransferTransferReturnParamsReasonCorporateCustomerAdvisedNotAuthorized InboundACHTransferTransferReturnParamsReason = "corporate_customer_advised_not_authorized"
)

func (InboundACHTransferTransferReturnParamsReason) IsKnown

type InboundACHTransferTransferReturnReason

type InboundACHTransferTransferReturnReason string

The reason for the transfer return.

const (
	// The customer's account has insufficient funds. This reason is only allowed for
	// debits. The Nacha return code is R01.
	InboundACHTransferTransferReturnReasonInsufficientFunds InboundACHTransferTransferReturnReason = "insufficient_funds"
	// The originating financial institution asked for this transfer to be returned.
	// The receiving bank is complying with the request. The Nacha return code is R06.
	InboundACHTransferTransferReturnReasonReturnedPerOdfiRequest InboundACHTransferTransferReturnReason = "returned_per_odfi_request"
	// The customer no longer authorizes this transaction. The Nacha return code is
	// R07.
	InboundACHTransferTransferReturnReasonAuthorizationRevokedByCustomer InboundACHTransferTransferReturnReason = "authorization_revoked_by_customer"
	// The customer asked for the payment to be stopped. This reason is only allowed
	// for debits. The Nacha return code is R08.
	InboundACHTransferTransferReturnReasonPaymentStopped InboundACHTransferTransferReturnReason = "payment_stopped"
	// The customer advises that the debit was unauthorized. The Nacha return code is
	// R10.
	InboundACHTransferTransferReturnReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete InboundACHTransferTransferReturnReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// The payee is deceased. The Nacha return code is R14.
	InboundACHTransferTransferReturnReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundACHTransferTransferReturnReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// The account holder is deceased. The Nacha return code is R15.
	InboundACHTransferTransferReturnReasonBeneficiaryOrAccountHolderDeceased InboundACHTransferTransferReturnReason = "beneficiary_or_account_holder_deceased"
	// The customer refused a credit entry. This reason is only allowed for credits.
	// The Nacha return code is R23.
	InboundACHTransferTransferReturnReasonCreditEntryRefusedByReceiver InboundACHTransferTransferReturnReason = "credit_entry_refused_by_receiver"
	// The account holder identified this transaction as a duplicate. The Nacha return
	// code is R24.
	InboundACHTransferTransferReturnReasonDuplicateEntry InboundACHTransferTransferReturnReason = "duplicate_entry"
	// The corporate customer no longer authorizes this transaction. The Nacha return
	// code is R29.
	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"`
	// 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 (
	// The return was initiated too late and the receiving institution has responded
	// with a Late Return Claim.
	InboundCheckDepositAdjustmentsReasonLateReturn InboundCheckDepositAdjustmentsReason = "late_return"
	// The check was deposited to the wrong payee and the depositing institution has
	// reimbursed the funds with a Wrong Payee Credit.
	InboundCheckDepositAdjustmentsReasonWrongPayeeCredit InboundCheckDepositAdjustmentsReason = "wrong_payee_credit"
	// The check was deposited with a different amount than what was written on the
	// check.
	InboundCheckDepositAdjustmentsReasonAdjustedAmount InboundCheckDepositAdjustmentsReason = "adjusted_amount"
)

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 (
	// Canadian Dollar (CAD)
	InboundCheckDepositCurrencyCad InboundCheckDepositCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundCheckDepositCurrencyChf InboundCheckDepositCurrency = "CHF"
	// Euro (EUR)
	InboundCheckDepositCurrencyEur InboundCheckDepositCurrency = "EUR"
	// British Pound (GBP)
	InboundCheckDepositCurrencyGbp InboundCheckDepositCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundCheckDepositCurrencyJpy InboundCheckDepositCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// The check was altered or fictitious.
	InboundCheckDepositDepositReturnReasonAlteredOrFictitious InboundCheckDepositDepositReturnReason = "altered_or_fictitious"
	// The check was not authorized.
	InboundCheckDepositDepositReturnReasonNotAuthorized InboundCheckDepositDepositReturnReason = "not_authorized"
	// The check was a duplicate presentment.
	InboundCheckDepositDepositReturnReasonDuplicatePresentment InboundCheckDepositDepositReturnReason = "duplicate_presentment"
	// The check was not endorsed.
	InboundCheckDepositDepositReturnReasonEndorsementMissing InboundCheckDepositDepositReturnReason = "endorsement_missing"
	// The check was not endorsed by the payee.
	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 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 (
	// The check was altered or fictitious.
	InboundCheckDepositReturnParamsReasonAlteredOrFictitious InboundCheckDepositReturnParamsReason = "altered_or_fictitious"
	// The check was not authorized.
	InboundCheckDepositReturnParamsReasonNotAuthorized InboundCheckDepositReturnParamsReason = "not_authorized"
	// The check was a duplicate presentment.
	InboundCheckDepositReturnParamsReasonDuplicatePresentment InboundCheckDepositReturnParamsReason = "duplicate_presentment"
	// The check was not endorsed.
	InboundCheckDepositReturnParamsReasonEndorsementMissing InboundCheckDepositReturnParamsReason = "endorsement_missing"
	// The check was not endorsed by the payee.
	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 (
	// The Inbound Check Deposit is pending.
	InboundCheckDepositStatusPending InboundCheckDepositStatus = "pending"
	// The Inbound Check Deposit was accepted.
	InboundCheckDepositStatusAccepted InboundCheckDepositStatus = "accepted"
	// The Inbound Check Deposit was rejected.
	InboundCheckDepositStatusDeclined InboundCheckDepositStatus = "declined"
	// The Inbound Check Deposit was returned.
	InboundCheckDepositStatusReturned InboundCheckDepositStatus = "returned"
	// The Inbound Check Deposit requires attention from an Increase operator.
	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 [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 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 (
	// The mail item does not match any lockbox.
	InboundMailItemRejectionReasonNoMatchingLockbox InboundMailItemRejectionReason = "no_matching_lockbox"
	// The mail item does not contain a check.
	InboundMailItemRejectionReasonNoCheck InboundMailItemRejectionReason = "no_check"
	// The Lockbox or its associataed Account is not active.
	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 (
	// The mail item is pending processing.
	InboundMailItemStatusPending InboundMailItemStatus = "pending"
	// The mail item has been processed.
	InboundMailItemStatusProcessed InboundMailItemStatus = "processed"
	// The mail item has been rejected.
	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 (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferCurrencyCad InboundRealTimePaymentsTransferCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferCurrencyChf InboundRealTimePaymentsTransferCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferCurrencyEur InboundRealTimePaymentsTransferCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferCurrencyGbp InboundRealTimePaymentsTransferCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferCurrencyJpy InboundRealTimePaymentsTransferCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// The account number is canceled.
	InboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled InboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	// The account number is disabled.
	InboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled InboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	// Your account is restricted.
	InboundRealTimePaymentsTransferDeclineReasonAccountRestricted InboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	// Your account is inactive.
	InboundRealTimePaymentsTransferDeclineReasonGroupLocked InboundRealTimePaymentsTransferDeclineReason = "group_locked"
	// The account's entity is not active.
	InboundRealTimePaymentsTransferDeclineReasonEntityNotActive InboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	// Your account is not enabled to receive Real-Time Payments transfers.
	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 (
	// The transfer is pending confirmation.
	InboundRealTimePaymentsTransferStatusPendingConfirming InboundRealTimePaymentsTransferStatus = "pending_confirming"
	// The transfer was not responded to in time.
	InboundRealTimePaymentsTransferStatusTimedOut InboundRealTimePaymentsTransferStatus = "timed_out"
	// The transfer has been received successfully and is confirmed.
	InboundRealTimePaymentsTransferStatusConfirmed InboundRealTimePaymentsTransferStatus = "confirmed"
	// The transfer has been declined.
	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"`
	// 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. This feature is in beta; reach out to [support@increase.com](mailto:support@increase.com) to learn more.

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"`
	// 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 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 Tranfers to ones belonging to the specified Account.
	AccountID param.Field[string] `query:"account_id"`
	// Filter Inbound Wire Tranfers 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"`
	// Filter Inbound Wire Transfers to those with the specified status.
	Status param.Field[InboundWireTransferListParamsStatus] `query:"status"`
}

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 string

Filter Inbound Wire Transfers to those with the specified status.

const (
	// The Inbound Wire Transfer is awaiting action, will transition automatically if
	// no action is taken.
	InboundWireTransferListParamsStatusPending InboundWireTransferListParamsStatus = "pending"
	// The Inbound Wire Transfer is accepted.
	InboundWireTransferListParamsStatusAccepted InboundWireTransferListParamsStatus = "accepted"
	// The Inbound Wire Transfer was declined.
	InboundWireTransferListParamsStatusDeclined InboundWireTransferListParamsStatus = "declined"
	// The Inbound Wire Transfer was reversed.
	InboundWireTransferListParamsStatusReversed InboundWireTransferListParamsStatus = "reversed"
)

func (InboundWireTransferListParamsStatus) IsKnown

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

type InboundWireTransferStatus

type InboundWireTransferStatus string

The status of the transfer.

const (
	// The Inbound Wire Transfer is awaiting action, will transition automatically if
	// no action is taken.
	InboundWireTransferStatusPending InboundWireTransferStatus = "pending"
	// The Inbound Wire Transfer is accepted.
	InboundWireTransferStatusAccepted InboundWireTransferStatus = "accepted"
	// The Inbound Wire Transfer was declined.
	InboundWireTransferStatusDeclined InboundWireTransferStatus = "declined"
	// The Inbound Wire Transfer was reversed.
	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 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, in addition to Increase's main bank partners. 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 (
	// The account is being added to the IntraFi network.
	IntrafiAccountEnrollmentListParamsStatusInPendingEnrolling IntrafiAccountEnrollmentListParamsStatusIn = "pending_enrolling"
	// The account has been enrolled with IntraFi.
	IntrafiAccountEnrollmentListParamsStatusInEnrolled IntrafiAccountEnrollmentListParamsStatusIn = "enrolled"
	// The account is being unenrolled from IntraFi's deposit sweep.
	IntrafiAccountEnrollmentListParamsStatusInPendingUnenrolling IntrafiAccountEnrollmentListParamsStatusIn = "pending_unenrolling"
	// The account was once enrolled, but is no longer enrolled at IntraFi.
	IntrafiAccountEnrollmentListParamsStatusInUnenrolled IntrafiAccountEnrollmentListParamsStatusIn = "unenrolled"
	// Something unexpected happened with this account. Contact Increase support.
	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 (
	// The account is being added to the IntraFi network.
	IntrafiAccountEnrollmentStatusPendingEnrolling IntrafiAccountEnrollmentStatus = "pending_enrolling"
	// The account has been enrolled with IntraFi.
	IntrafiAccountEnrollmentStatusEnrolled IntrafiAccountEnrollmentStatus = "enrolled"
	// The account is being unenrolled from IntraFi's deposit sweep.
	IntrafiAccountEnrollmentStatusPendingUnenrolling IntrafiAccountEnrollmentStatus = "pending_unenrolling"
	// The account was once enrolled, but is no longer enrolled at IntraFi.
	IntrafiAccountEnrollmentStatusUnenrolled IntrafiAccountEnrollmentStatus = "unenrolled"
	// Something unexpected happened with this account. Contact Increase support.
	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 are 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 (
	// Canadian Dollar (CAD)
	IntrafiBalanceCurrencyCad IntrafiBalanceCurrency = "CAD"
	// Swiss Franc (CHF)
	IntrafiBalanceCurrencyChf IntrafiBalanceCurrency = "CHF"
	// Euro (EUR)
	IntrafiBalanceCurrencyEur IntrafiBalanceCurrency = "EUR"
	// British Pound (GBP)
	IntrafiBalanceCurrencyGbp IntrafiBalanceCurrency = "GBP"
	// Japanese Yen (JPY)
	IntrafiBalanceCurrencyJpy IntrafiBalanceCurrency = "JPY"
	// US Dollar (USD)
	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) Get

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

Get IntraFi balances by bank

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 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 (
	// The exclusion is being added to the IntraFi network.
	IntrafiExclusionStatusPending IntrafiExclusionStatus = "pending"
	// The exclusion has been added to the IntraFi network.
	IntrafiExclusionStatusCompleted IntrafiExclusionStatus = "completed"
	// The exclusion has been removed from the IntraFi network.
	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 (
	// This Lockbox is active. Checks mailed to it will be deposited automatically.
	LockboxStatusActive LockboxStatus = "active"
	// This Lockbox is inactive. Checks mailed to it will not be deposited.
	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 (
	// This Lockbox is active. Checks mailed to it will be deposited automatically.
	LockboxUpdateParamsStatusActive LockboxUpdateParamsStatus = "active"
	// This Lockbox is inactive. Checks mailed to it will not be deposited.
	LockboxUpdateParamsStatusInactive LockboxUpdateParamsStatus = "inactive"
)

func (LockboxUpdateParamsStatus) IsKnown

func (r LockboxUpdateParamsStatus) 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"`
	// 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"`
	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 (
	// The OAuth connection is active.
	OAuthConnectionListParamsStatusInActive OAuthConnectionListParamsStatusIn = "active"
	// The OAuth connection is permanently deactivated.
	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 (
	// The OAuth connection is active.
	OAuthConnectionStatusActive OAuthConnectionStatus = "active"
	// The OAuth connection is permanently deactivated.
	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 (
	// An OAuth authorization code.
	OAuthTokenNewParamsGrantTypeAuthorizationCode OAuthTokenNewParamsGrantType = "authorization_code"
	// An OAuth production token.
	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"`
	// 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.

func (*PendingTransaction) UnmarshalJSON

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

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 (
	// Canadian Dollar (CAD)
	PendingTransactionCurrencyCad PendingTransactionCurrency = "CAD"
	// Swiss Franc (CHF)
	PendingTransactionCurrencyChf PendingTransactionCurrency = "CHF"
	// Euro (EUR)
	PendingTransactionCurrencyEur PendingTransactionCurrency = "EUR"
	// British Pound (GBP)
	PendingTransactionCurrencyGbp PendingTransactionCurrency = "GBP"
	// Japanese Yen (JPY)
	PendingTransactionCurrencyJpy PendingTransactionCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Account Transfer Instruction: details will be under the
	// `account_transfer_instruction` object.
	PendingTransactionListParamsCategoryInAccountTransferInstruction PendingTransactionListParamsCategoryIn = "account_transfer_instruction"
	// ACH Transfer Instruction: details will be under the `ach_transfer_instruction`
	// object.
	PendingTransactionListParamsCategoryInACHTransferInstruction PendingTransactionListParamsCategoryIn = "ach_transfer_instruction"
	// Card Authorization: details will be under the `card_authorization` object.
	PendingTransactionListParamsCategoryInCardAuthorization PendingTransactionListParamsCategoryIn = "card_authorization"
	// Check Deposit Instruction: details will be under the `check_deposit_instruction`
	// object.
	PendingTransactionListParamsCategoryInCheckDepositInstruction PendingTransactionListParamsCategoryIn = "check_deposit_instruction"
	// Check Transfer Instruction: details will be under the
	// `check_transfer_instruction` object.
	PendingTransactionListParamsCategoryInCheckTransferInstruction PendingTransactionListParamsCategoryIn = "check_transfer_instruction"
	// Inbound Funds Hold: details will be under the `inbound_funds_hold` object.
	PendingTransactionListParamsCategoryInInboundFundsHold PendingTransactionListParamsCategoryIn = "inbound_funds_hold"
	// Real-Time Payments Transfer Instruction: details will be under the
	// `real_time_payments_transfer_instruction` object.
	PendingTransactionListParamsCategoryInRealTimePaymentsTransferInstruction PendingTransactionListParamsCategoryIn = "real_time_payments_transfer_instruction"
	// Wire Transfer Instruction: details will be under the `wire_transfer_instruction`
	// object.
	PendingTransactionListParamsCategoryInWireTransferInstruction PendingTransactionListParamsCategoryIn = "wire_transfer_instruction"
	// Inbound Wire Transfer Reversal: details will be under the
	// `inbound_wire_transfer_reversal` object.
	PendingTransactionListParamsCategoryInInboundWireTransferReversal PendingTransactionListParamsCategoryIn = "inbound_wire_transfer_reversal"
	// The Pending Transaction was made for an undocumented or deprecated reason.
	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 (
	// The Pending Transaction is still awaiting confirmation.
	PendingTransactionListParamsStatusInPending PendingTransactionListParamsStatusIn = "pending"
	// The Pending Transaction is confirmed. An associated Transaction exists for this
	// object. The Pending Transaction will no longer count against your balance and
	// can generally be hidden from UIs, etc.
	PendingTransactionListParamsStatusInComplete PendingTransactionListParamsStatusIn = "complete"
)

func (PendingTransactionListParamsStatusIn) IsKnown

type PendingTransactionRouteType

type PendingTransactionRouteType string

The type of the route this Pending Transaction came through.

const (
	// An Account Number.
	PendingTransactionRouteTypeAccountNumber PendingTransactionRouteType = "account_number"
	// A Card.
	PendingTransactionRouteTypeCard PendingTransactionRouteType = "card"
	// A Lockbox.
	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

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`.
	CardAuthorization PendingTransactionSourceCardAuthorization `json:"card_authorization,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`.
	InboundFundsHold PendingTransactionSourceInboundFundsHold `json:"inbound_funds_hold,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 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 (
	// Canadian Dollar (CAD)
	PendingTransactionSourceAccountTransferInstructionCurrencyCad PendingTransactionSourceAccountTransferInstructionCurrency = "CAD"
	// Swiss Franc (CHF)
	PendingTransactionSourceAccountTransferInstructionCurrencyChf PendingTransactionSourceAccountTransferInstructionCurrency = "CHF"
	// Euro (EUR)
	PendingTransactionSourceAccountTransferInstructionCurrencyEur PendingTransactionSourceAccountTransferInstructionCurrency = "EUR"
	// British Pound (GBP)
	PendingTransactionSourceAccountTransferInstructionCurrencyGbp PendingTransactionSourceAccountTransferInstructionCurrency = "GBP"
	// Japanese Yen (JPY)
	PendingTransactionSourceAccountTransferInstructionCurrencyJpy PendingTransactionSourceAccountTransferInstructionCurrency = "JPY"
	// US Dollar (USD)
	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,nullable"`
	// 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"`
	// 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"`
	// 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`.

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 (
	// This object was actioned by the user through a real-time decision.
	PendingTransactionSourceCardAuthorizationActionerUser PendingTransactionSourceCardAuthorizationActioner = "user"
	// This object was actioned by Increase without user intervention.
	PendingTransactionSourceCardAuthorizationActionerIncrease PendingTransactionSourceCardAuthorizationActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	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 (
	// Canadian Dollar (CAD)
	PendingTransactionSourceCardAuthorizationCurrencyCad PendingTransactionSourceCardAuthorizationCurrency = "CAD"
	// Swiss Franc (CHF)
	PendingTransactionSourceCardAuthorizationCurrencyChf PendingTransactionSourceCardAuthorizationCurrency = "CHF"
	// Euro (EUR)
	PendingTransactionSourceCardAuthorizationCurrencyEur PendingTransactionSourceCardAuthorizationCurrency = "EUR"
	// British Pound (GBP)
	PendingTransactionSourceCardAuthorizationCurrencyGbp PendingTransactionSourceCardAuthorizationCurrency = "GBP"
	// Japanese Yen (JPY)
	PendingTransactionSourceCardAuthorizationCurrencyJpy PendingTransactionSourceCardAuthorizationCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// A regular card authorization where funds are debited from the cardholder.
	PendingTransactionSourceCardAuthorizationDirectionSettlement PendingTransactionSourceCardAuthorizationDirection = "settlement"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	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 (
	// Visa
	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 (
	// Single transaction of a mail/phone order: Use to indicate that the transaction
	// is a mail/phone order purchase, not a recurring transaction or installment
	// payment. For domestic transactions in the US region, this value may also
	// indicate one bill payment transaction in the card-present or card-absent
	// environments.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorRecurring PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	// Installment payment: Payment indicator used to indicate one purchase of goods or
	// services that is billed to the account in multiple charges over a period of time
	// agreed upon by the cardholder and merchant from transactions that originate from
	// an acquirer in the US region.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorInstallment PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	// Secure electronic commerce transaction: Use to indicate that the electronic
	// commerce transaction has been authenticated using e.g., 3-D Secure
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	// Non-authenticated security transaction at a 3-D Secure-capable merchant, and
	// merchant attempted to authenticate the cardholder using 3-D Secure: Use to
	// identify an electronic commerce transaction where the merchant attempted to
	// authenticate the cardholder using 3-D Secure, but was unable to complete the
	// authentication because the issuer or cardholder does not participate in the 3-D
	// Secure program.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	// Non-authenticated security transaction: Use to identify an electronic commerce
	// transaction that uses data encryption for security however , cardholder
	// authentication is not performed using 3-D Secure.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction PendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	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 (
	// Unknown
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeUnknown PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeManual PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactless PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	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 (
	// Increase failed to process the authorization in a timely manner.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonIssuerError PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	// The physical card read had an invalid CVV, dCVV, or authorization request
	// cryptogram.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	// The 3DS cardholder authentication verification value was invalid.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	// An internal Visa error occurred. Visa uses this reason code for certain expected
	// occurrences as well, such as Application Transaction Counter (ATC) replays.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInternalVisaError PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	// The merchant has enabled Visa's Transaction Advisory Service and requires
	// further authentication to perform the transaction. In practice this is often
	// utilized at fuel pumps to tell the cardholder to see the cashier.
	PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired PendingTransactionSourceCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	// An unspecific reason for stand-in processing.
	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 (
	// Account funding transactions are transactions used to e.g., fund an account or
	// transfer funds between accounts.
	PendingTransactionSourceCardAuthorizationProcessingCategoryAccountFunding PendingTransactionSourceCardAuthorizationProcessingCategory = "account_funding"
	// Automatic fuel dispenser authorizations occur when a card is used at a gas pump,
	// prior to the actual transaction amount being known. They are followed by an
	// advice message that updates the amount of the pending transaction.
	PendingTransactionSourceCardAuthorizationProcessingCategoryAutomaticFuelDispenser PendingTransactionSourceCardAuthorizationProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	PendingTransactionSourceCardAuthorizationProcessingCategoryBillPayment PendingTransactionSourceCardAuthorizationProcessingCategory = "bill_payment"
	// A regular purchase.
	PendingTransactionSourceCardAuthorizationProcessingCategoryPurchase PendingTransactionSourceCardAuthorizationProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	PendingTransactionSourceCardAuthorizationProcessingCategoryQuasiCash PendingTransactionSourceCardAuthorizationProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	PendingTransactionSourceCardAuthorizationProcessingCategoryRefund PendingTransactionSourceCardAuthorizationProcessingCategory = "refund"
)

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 (
	// No card verification code was provided in the authorization request.
	PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultNotChecked PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultMatch PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	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 (
	// No adress was provided in the authorization request.
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultNotChecked PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultMatch PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "match"
	// Postal code and street address do not match.
	PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultNoMatch PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "no_match"
)

func (PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult) IsKnown

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 (
	// Account Transfer Instruction: details will be under the
	// `account_transfer_instruction` object.
	PendingTransactionSourceCategoryAccountTransferInstruction PendingTransactionSourceCategory = "account_transfer_instruction"
	// ACH Transfer Instruction: details will be under the `ach_transfer_instruction`
	// object.
	PendingTransactionSourceCategoryACHTransferInstruction PendingTransactionSourceCategory = "ach_transfer_instruction"
	// Card Authorization: details will be under the `card_authorization` object.
	PendingTransactionSourceCategoryCardAuthorization PendingTransactionSourceCategory = "card_authorization"
	// Check Deposit Instruction: details will be under the `check_deposit_instruction`
	// object.
	PendingTransactionSourceCategoryCheckDepositInstruction PendingTransactionSourceCategory = "check_deposit_instruction"
	// Check Transfer Instruction: details will be under the
	// `check_transfer_instruction` object.
	PendingTransactionSourceCategoryCheckTransferInstruction PendingTransactionSourceCategory = "check_transfer_instruction"
	// Inbound Funds Hold: details will be under the `inbound_funds_hold` object.
	PendingTransactionSourceCategoryInboundFundsHold PendingTransactionSourceCategory = "inbound_funds_hold"
	// Real-Time Payments Transfer Instruction: details will be under the
	// `real_time_payments_transfer_instruction` object.
	PendingTransactionSourceCategoryRealTimePaymentsTransferInstruction PendingTransactionSourceCategory = "real_time_payments_transfer_instruction"
	// Wire Transfer Instruction: details will be under the `wire_transfer_instruction`
	// object.
	PendingTransactionSourceCategoryWireTransferInstruction PendingTransactionSourceCategory = "wire_transfer_instruction"
	// Inbound Wire Transfer Reversal: details will be under the
	// `inbound_wire_transfer_reversal` object.
	PendingTransactionSourceCategoryInboundWireTransferReversal PendingTransactionSourceCategory = "inbound_wire_transfer_reversal"
	// The Pending Transaction was made for an undocumented or deprecated reason.
	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 (
	// Canadian Dollar (CAD)
	PendingTransactionSourceCheckDepositInstructionCurrencyCad PendingTransactionSourceCheckDepositInstructionCurrency = "CAD"
	// Swiss Franc (CHF)
	PendingTransactionSourceCheckDepositInstructionCurrencyChf PendingTransactionSourceCheckDepositInstructionCurrency = "CHF"
	// Euro (EUR)
	PendingTransactionSourceCheckDepositInstructionCurrencyEur PendingTransactionSourceCheckDepositInstructionCurrency = "EUR"
	// British Pound (GBP)
	PendingTransactionSourceCheckDepositInstructionCurrencyGbp PendingTransactionSourceCheckDepositInstructionCurrency = "GBP"
	// Japanese Yen (JPY)
	PendingTransactionSourceCheckDepositInstructionCurrencyJpy PendingTransactionSourceCheckDepositInstructionCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Canadian Dollar (CAD)
	PendingTransactionSourceCheckTransferInstructionCurrencyCad PendingTransactionSourceCheckTransferInstructionCurrency = "CAD"
	// Swiss Franc (CHF)
	PendingTransactionSourceCheckTransferInstructionCurrencyChf PendingTransactionSourceCheckTransferInstructionCurrency = "CHF"
	// Euro (EUR)
	PendingTransactionSourceCheckTransferInstructionCurrencyEur PendingTransactionSourceCheckTransferInstructionCurrency = "EUR"
	// British Pound (GBP)
	PendingTransactionSourceCheckTransferInstructionCurrencyGbp PendingTransactionSourceCheckTransferInstructionCurrency = "GBP"
	// Japanese Yen (JPY)
	PendingTransactionSourceCheckTransferInstructionCurrencyJpy PendingTransactionSourceCheckTransferInstructionCurrency = "JPY"
	// US Dollar (USD)
	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`.

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 (
	// Canadian Dollar (CAD)
	PendingTransactionSourceInboundFundsHoldCurrencyCad PendingTransactionSourceInboundFundsHoldCurrency = "CAD"
	// Swiss Franc (CHF)
	PendingTransactionSourceInboundFundsHoldCurrencyChf PendingTransactionSourceInboundFundsHoldCurrency = "CHF"
	// Euro (EUR)
	PendingTransactionSourceInboundFundsHoldCurrencyEur PendingTransactionSourceInboundFundsHoldCurrency = "EUR"
	// British Pound (GBP)
	PendingTransactionSourceInboundFundsHoldCurrencyGbp PendingTransactionSourceInboundFundsHoldCurrency = "GBP"
	// Japanese Yen (JPY)
	PendingTransactionSourceInboundFundsHoldCurrencyJpy PendingTransactionSourceInboundFundsHoldCurrency = "JPY"
	// US Dollar (USD)
	PendingTransactionSourceInboundFundsHoldCurrencyUsd PendingTransactionSourceInboundFundsHoldCurrency = "USD"
)

func (PendingTransactionSourceInboundFundsHoldCurrency) IsKnown

type PendingTransactionSourceInboundFundsHoldStatus

type PendingTransactionSourceInboundFundsHoldStatus string

The status of the hold.

const (
	// Funds are still being held.
	PendingTransactionSourceInboundFundsHoldStatusHeld PendingTransactionSourceInboundFundsHoldStatus = "held"
	// Funds have been released.
	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 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 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 (
	// The Pending Transaction is still awaiting confirmation.
	PendingTransactionStatusPending PendingTransactionStatus = "pending"
	// The Pending Transaction is confirmed. An associated Transaction exists for this
	// object. The Pending Transaction will no longer count against your balance and
	// can generally be hidden from UIs, etc.
	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"`
}

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 US state of the shipping address.
	State param.Field[string] `json:"state,required"`
	// 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 (
	// USPS Post with tracking.
	PhysicalCardNewParamsShipmentMethodUsps PhysicalCardNewParamsShipmentMethod = "usps"
	// FedEx Priority Overnight, no signature.
	PhysicalCardNewParamsShipmentMethodFedexPriorityOvernight PhysicalCardNewParamsShipmentMethod = "fedex_priority_overnight"
	// FedEx 2-day.
	PhysicalCardNewParamsShipmentMethodFedex2Day PhysicalCardNewParamsShipmentMethod = "fedex_2_day"
)

func (PhysicalCardNewParamsShipmentMethod) IsKnown

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 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 (
	// This Physical Card Profile was created by Increase.
	PhysicalCardProfileCreatorIncrease PhysicalCardProfileCreator = "increase"
	// This Physical Card Profile was created by you.
	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 (
	// The Card Profile has not yet been processed by Increase.
	PhysicalCardProfileListParamsStatusInPendingCreating PhysicalCardProfileListParamsStatusIn = "pending_creating"
	// The card profile is awaiting review by Increase.
	PhysicalCardProfileListParamsStatusInPendingReviewing PhysicalCardProfileListParamsStatusIn = "pending_reviewing"
	// There is an issue with the Physical Card Profile preventing it from use.
	PhysicalCardProfileListParamsStatusInRejected PhysicalCardProfileListParamsStatusIn = "rejected"
	// The card profile is awaiting submission to the fulfillment provider.
	PhysicalCardProfileListParamsStatusInPendingSubmitting PhysicalCardProfileListParamsStatusIn = "pending_submitting"
	// The Physical Card Profile has been submitted to the fulfillment provider and is
	// ready to use.
	PhysicalCardProfileListParamsStatusInActive PhysicalCardProfileListParamsStatusIn = "active"
	// The Physical Card Profile has been archived.
	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"`
}

func (PhysicalCardProfileNewParams) MarshalJSON

func (r PhysicalCardProfileNewParams) 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 (
	// The Card Profile has not yet been processed by Increase.
	PhysicalCardProfileStatusPendingCreating PhysicalCardProfileStatus = "pending_creating"
	// The card profile is awaiting review by Increase.
	PhysicalCardProfileStatusPendingReviewing PhysicalCardProfileStatus = "pending_reviewing"
	// There is an issue with the Physical Card Profile preventing it from use.
	PhysicalCardProfileStatusRejected PhysicalCardProfileStatus = "rejected"
	// The card profile is awaiting submission to the fulfillment provider.
	PhysicalCardProfileStatusPendingSubmitting PhysicalCardProfileStatus = "pending_submitting"
	// The Physical Card Profile has been submitted to the fulfillment provider and is
	// ready to use.
	PhysicalCardProfileStatusActive PhysicalCardProfileStatus = "active"
	// The Physical Card Profile has been archived.
	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"`
	// 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 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 US 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 (
	// USPS Post with tracking.
	PhysicalCardShipmentMethodUsps PhysicalCardShipmentMethod = "usps"
	// FedEx Priority Overnight, no signature.
	PhysicalCardShipmentMethodFedexPriorityOvernight PhysicalCardShipmentMethod = "fedex_priority_overnight"
	// FedEx 2-day.
	PhysicalCardShipmentMethodFedex2Day PhysicalCardShipmentMethod = "fedex_2_day"
)

func (PhysicalCardShipmentMethod) IsKnown

func (r PhysicalCardShipmentMethod) IsKnown() bool

type PhysicalCardShipmentStatus

type PhysicalCardShipmentStatus string

The status of this shipment.

const (
	// The physical card has not yet been shipped.
	PhysicalCardShipmentStatusPending PhysicalCardShipmentStatus = "pending"
	// The physical card shipment was canceled prior to submission.
	PhysicalCardShipmentStatusCanceled PhysicalCardShipmentStatus = "canceled"
	// The physical card shipment has been submitted to the card fulfillment provider.
	PhysicalCardShipmentStatusSubmitted PhysicalCardShipmentStatus = "submitted"
	// The physical card shipment has been acknowledged by the card fulfillment
	// provider and will be processed in their next batch.
	PhysicalCardShipmentStatusAcknowledged PhysicalCardShipmentStatus = "acknowledged"
	// The physical card shipment was rejected by the card printer due to an error.
	PhysicalCardShipmentStatusRejected PhysicalCardShipmentStatus = "rejected"
	// The physical card has been shipped.
	PhysicalCardShipmentStatusShipped PhysicalCardShipmentStatus = "shipped"
	// The physical card shipment was returned to the sender and destroyed by the
	// production facility.
	PhysicalCardShipmentStatusReturned PhysicalCardShipmentStatus = "returned"
)

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"`
	JSON      physicalCardShipmentTrackingJSON `json:"-"`
}

Tracking details for the shipment.

func (*PhysicalCardShipmentTracking) UnmarshalJSON

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

type PhysicalCardStatus

type PhysicalCardStatus string

The status of the Physical Card.

const (
	// The physical card is active.
	PhysicalCardStatusActive PhysicalCardStatus = "active"
	// The physical card is temporarily disabled.
	PhysicalCardStatusDisabled PhysicalCardStatus = "disabled"
	// The physical card is permanently canceled.
	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 (
	// The physical card is active.
	PhysicalCardUpdateParamsStatusActive PhysicalCardUpdateParamsStatus = "active"
	// The physical card is temporarily disabled.
	PhysicalCardUpdateParamsStatusDisabled PhysicalCardUpdateParamsStatus = "disabled"
	// The physical card is permanently canceled.
	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 (
	// Blue Ridge Bank, N.A.
	ProgramBankBlueRidgeBank ProgramBank = "blue_ridge_bank"
	// First Internet Bank of Indiana
	ProgramBankFirstInternetBank ProgramBank = "first_internet_bank"
	// Grasshopper 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 ProofOfAuthorizationRequest

type ProofOfAuthorizationRequest struct {
	// The Proof of Authorization Request identifier.
	ID string `json:"id,required"`
	// The ACH Transfers associated with the request.
	ACHTransfers []ProofOfAuthorizationRequestACHTransfer `json:"ach_transfers,required"`
	// The time the Proof of Authorization Request was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The time the Proof of Authorization Request is due.
	DueOn time.Time `json:"due_on,required" format:"date-time"`
	// A constant representing the object's type. For this resource it will always be
	// `proof_of_authorization_request`.
	Type ProofOfAuthorizationRequestType `json:"type,required"`
	// The time the Proof of Authorization Request was last updated.
	UpdatedAt time.Time                       `json:"updated_at,required" format:"date-time"`
	JSON      proofOfAuthorizationRequestJSON `json:"-"`
}

A request for proof of authorization for one or more ACH debit transfers.

func (*ProofOfAuthorizationRequest) UnmarshalJSON

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

type ProofOfAuthorizationRequestACHTransfer

type ProofOfAuthorizationRequestACHTransfer struct {
	// The ACH Transfer identifier.
	ID   string                                     `json:"id,required"`
	JSON proofOfAuthorizationRequestACHTransferJSON `json:"-"`
}

func (*ProofOfAuthorizationRequestACHTransfer) UnmarshalJSON

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

type ProofOfAuthorizationRequestListParams

type ProofOfAuthorizationRequestListParams struct {
	CreatedAt param.Field[ProofOfAuthorizationRequestListParamsCreatedAt] `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 (ProofOfAuthorizationRequestListParams) URLQuery

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

type ProofOfAuthorizationRequestListParamsCreatedAt

type ProofOfAuthorizationRequestListParamsCreatedAt 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 (ProofOfAuthorizationRequestListParamsCreatedAt) URLQuery

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

type ProofOfAuthorizationRequestService

type ProofOfAuthorizationRequestService struct {
	Options []option.RequestOption
}

ProofOfAuthorizationRequestService 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 NewProofOfAuthorizationRequestService method instead.

func NewProofOfAuthorizationRequestService

func NewProofOfAuthorizationRequestService(opts ...option.RequestOption) (r *ProofOfAuthorizationRequestService)

NewProofOfAuthorizationRequestService 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 (*ProofOfAuthorizationRequestService) Get

func (r *ProofOfAuthorizationRequestService) Get(ctx context.Context, proofOfAuthorizationRequestID string, opts ...option.RequestOption) (res *ProofOfAuthorizationRequest, err error)

Retrieve a Proof of Authorization Request

func (*ProofOfAuthorizationRequestService) List

List Proof of Authorization Requests

func (*ProofOfAuthorizationRequestService) ListAutoPaging

List Proof of Authorization Requests

type ProofOfAuthorizationRequestSubmission

type ProofOfAuthorizationRequestSubmission struct {
	// The Proof of Authorization Request Submission identifier.
	ID string `json:"id,required"`
	// Terms of authorization.
	AuthorizationTerms string `json:"authorization_terms,required"`
	// Time of authorization.
	AuthorizedAt time.Time `json:"authorized_at,required" format:"date-time"`
	// Company of the authorizer.
	AuthorizerCompany string `json:"authorizer_company,required,nullable"`
	// Email of the authorizer.
	AuthorizerEmail string `json:"authorizer_email,required,nullable"`
	// IP address of the authorizer.
	AuthorizerIPAddress string `json:"authorizer_ip_address,required,nullable"`
	// Name of the authorizer.
	AuthorizerName string `json:"authorizer_name,required,nullable"`
	// The time the Proof of Authorization Request Submission was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// Whether the customer has been offboarded.
	CustomerHasBeenOffboarded bool `json:"customer_has_been_offboarded,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"`
	// ID of the proof of authorization request.
	ProofOfAuthorizationRequestID string `json:"proof_of_authorization_request_id,required"`
	// Status of the proof of authorization request submission.
	Status ProofOfAuthorizationRequestSubmissionStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `proof_of_authorization_request_submission`.
	Type ProofOfAuthorizationRequestSubmissionType `json:"type,required"`
	// The time the Proof of Authorization Request Submission was last updated.
	UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
	// Whether account ownership was validated via credential (for instance, Plaid).
	ValidatedAccountOwnershipViaCredential bool `json:"validated_account_ownership_via_credential,required,nullable"`
	// Whether account ownership was validated with an account statement.
	ValidatedAccountOwnershipWithAccountStatement bool `json:"validated_account_ownership_with_account_statement,required,nullable"`
	// Whether account ownership was validated with microdeposit.
	ValidatedAccountOwnershipWithMicrodeposit bool                                      `json:"validated_account_ownership_with_microdeposit,required,nullable"`
	JSON                                      proofOfAuthorizationRequestSubmissionJSON `json:"-"`
}

Information submitted in response to a proof of authorization request. Per Nacha's guidance on proof of authorization, the originator must ensure that the authorization complies with applicable legal requirements, is readily identifiable as an authorization, and has clear and readily understandable terms.

func (*ProofOfAuthorizationRequestSubmission) UnmarshalJSON

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

type ProofOfAuthorizationRequestSubmissionListParams

type ProofOfAuthorizationRequestSubmissionListParams 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"`
	// ID of the proof of authorization request.
	ProofOfAuthorizationRequestID param.Field[string] `query:"proof_of_authorization_request_id"`
}

func (ProofOfAuthorizationRequestSubmissionListParams) URLQuery

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

type ProofOfAuthorizationRequestSubmissionNewParams

type ProofOfAuthorizationRequestSubmissionNewParams struct {
	// Terms of authorization.
	AuthorizationTerms param.Field[string] `json:"authorization_terms,required"`
	// Time of authorization.
	AuthorizedAt param.Field[time.Time] `json:"authorized_at,required" format:"date-time"`
	// Email of the authorizer.
	AuthorizerEmail param.Field[string] `json:"authorizer_email,required"`
	// Name of the authorizer.
	AuthorizerName param.Field[string] `json:"authorizer_name,required"`
	// Whether the customer has been offboarded or suspended.
	CustomerHasBeenOffboarded param.Field[bool] `json:"customer_has_been_offboarded,required"`
	// ID of the proof of authorization request.
	ProofOfAuthorizationRequestID param.Field[string] `json:"proof_of_authorization_request_id,required"`
	// Whether the account ownership was validated via credential (e.g. Plaid).
	ValidatedAccountOwnershipViaCredential param.Field[bool] `json:"validated_account_ownership_via_credential,required"`
	// Whether the account ownership was validated with an account statement.
	ValidatedAccountOwnershipWithAccountStatement param.Field[bool] `json:"validated_account_ownership_with_account_statement,required"`
	// Whether the account ownership was validated with a microdeposit.
	ValidatedAccountOwnershipWithMicrodeposit param.Field[bool] `json:"validated_account_ownership_with_microdeposit,required"`
	// Company of the authorizer.
	AuthorizerCompany param.Field[string] `json:"authorizer_company"`
	// IP address of the authorizer.
	AuthorizerIPAddress param.Field[string] `json:"authorizer_ip_address"`
}

func (ProofOfAuthorizationRequestSubmissionNewParams) MarshalJSON

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

type ProofOfAuthorizationRequestSubmissionService

type ProofOfAuthorizationRequestSubmissionService struct {
	Options []option.RequestOption
}

ProofOfAuthorizationRequestSubmissionService 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 NewProofOfAuthorizationRequestSubmissionService method instead.

func NewProofOfAuthorizationRequestSubmissionService

func NewProofOfAuthorizationRequestSubmissionService(opts ...option.RequestOption) (r *ProofOfAuthorizationRequestSubmissionService)

NewProofOfAuthorizationRequestSubmissionService 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 (*ProofOfAuthorizationRequestSubmissionService) Get

func (r *ProofOfAuthorizationRequestSubmissionService) Get(ctx context.Context, proofOfAuthorizationRequestSubmissionID string, opts ...option.RequestOption) (res *ProofOfAuthorizationRequestSubmission, err error)

Retrieve a Proof of Authorization Request Submission

func (*ProofOfAuthorizationRequestSubmissionService) List

List Proof of Authorization Request Submissions

func (*ProofOfAuthorizationRequestSubmissionService) ListAutoPaging

List Proof of Authorization Request Submissions

func (*ProofOfAuthorizationRequestSubmissionService) New

Submit Proof of Authorization

type ProofOfAuthorizationRequestSubmissionStatus

type ProofOfAuthorizationRequestSubmissionStatus string

Status of the proof of authorization request submission.

const (
	// The proof of authorization request submission is pending review.
	ProofOfAuthorizationRequestSubmissionStatusPendingReview ProofOfAuthorizationRequestSubmissionStatus = "pending_review"
	// The proof of authorization request submission was rejected.
	ProofOfAuthorizationRequestSubmissionStatusRejected ProofOfAuthorizationRequestSubmissionStatus = "rejected"
	// The proof of authorization request submission was canceled and replaced with
	// another.
	ProofOfAuthorizationRequestSubmissionStatusCanceled ProofOfAuthorizationRequestSubmissionStatus = "canceled"
	// The proof of authorization request submission is pending sending.
	ProofOfAuthorizationRequestSubmissionStatusPendingSending ProofOfAuthorizationRequestSubmissionStatus = "pending_sending"
	// The proof of authorization request submission was sent.
	ProofOfAuthorizationRequestSubmissionStatusSent ProofOfAuthorizationRequestSubmissionStatus = "sent"
)

func (ProofOfAuthorizationRequestSubmissionStatus) IsKnown

type ProofOfAuthorizationRequestSubmissionType

type ProofOfAuthorizationRequestSubmissionType string

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

const (
	ProofOfAuthorizationRequestSubmissionTypeProofOfAuthorizationRequestSubmission ProofOfAuthorizationRequestSubmissionType = "proof_of_authorization_request_submission"
)

func (ProofOfAuthorizationRequestSubmissionType) IsKnown

type ProofOfAuthorizationRequestType

type ProofOfAuthorizationRequestType string

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

const (
	ProofOfAuthorizationRequestTypeProofOfAuthorizationRequest ProofOfAuthorizationRequestType = "proof_of_authorization_request"
)

func (ProofOfAuthorizationRequestType) IsKnown

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 (
	// Your application successfully delivered the one-time code to the cardholder.
	RealTimeDecisionActionParamsCardAuthenticationChallengeResultSuccess RealTimeDecisionActionParamsCardAuthenticationChallengeResult = "success"
	// Your application was unable to deliver the one-time code to the cardholder.
	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 (
	// Approve the authentication attempt without triggering a challenge.
	RealTimeDecisionActionParamsCardAuthenticationDecisionApprove RealTimeDecisionActionParamsCardAuthenticationDecision = "approve"
	// Request further validation before approving the authentication attempt.
	RealTimeDecisionActionParamsCardAuthenticationDecisionChallenge RealTimeDecisionActionParamsCardAuthenticationDecision = "challenge"
	// Deny the authentication attempt.
	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"`
}

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 (
	// Approve the authorization.
	RealTimeDecisionActionParamsCardAuthorizationDecisionApprove RealTimeDecisionActionParamsCardAuthorizationDecision = "approve"
	// Decline the authorization.
	RealTimeDecisionActionParamsCardAuthorizationDecisionDecline RealTimeDecisionActionParamsCardAuthorizationDecision = "decline"
)

func (RealTimeDecisionActionParamsCardAuthorizationDecision) IsKnown

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 (
	// Your application successfully delivered the one-time passcode to the cardholder.
	RealTimeDecisionActionParamsDigitalWalletAuthenticationResultSuccess RealTimeDecisionActionParamsDigitalWalletAuthenticationResult = "success"
	// Your application failed to deliver the one-time passcode to the cardholder.
	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 (
	// Your application successfully delivered the one-time code to the cardholder.
	RealTimeDecisionCardAuthenticationChallengeResultSuccess RealTimeDecisionCardAuthenticationChallengeResult = "success"
	// Your application was unable to deliver the one-time code to the cardholder.
	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 (
	// Approve the authentication attempt without triggering a challenge.
	RealTimeDecisionCardAuthenticationDecisionApprove RealTimeDecisionCardAuthenticationDecision = "approve"
	// Request further validation before approving the authentication attempt.
	RealTimeDecisionCardAuthenticationDecisionChallenge RealTimeDecisionCardAuthenticationDecision = "challenge"
	// Deny the authentication attempt.
	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,nullable"`
	// 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"`
	// 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 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 (
	// Approve the authorization.
	RealTimeDecisionCardAuthorizationDecisionApprove RealTimeDecisionCardAuthorizationDecision = "approve"
	// Decline the authorization.
	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 (
	// A regular card authorization where funds are debited from the cardholder.
	RealTimeDecisionCardAuthorizationDirectionSettlement RealTimeDecisionCardAuthorizationDirection = "settlement"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	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 (
	// Visa
	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 (
	// Single transaction of a mail/phone order: Use to indicate that the transaction
	// is a mail/phone order purchase, not a recurring transaction or installment
	// payment. For domestic transactions in the US region, this value may also
	// indicate one bill payment transaction in the card-present or card-absent
	// environments.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorRecurring RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "recurring"
	// Installment payment: Payment indicator used to indicate one purchase of goods or
	// services that is billed to the account in multiple charges over a period of time
	// agreed upon by the cardholder and merchant from transactions that originate from
	// an acquirer in the US region.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorInstallment RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "unknown_mail_phone_order"
	// Secure electronic commerce transaction: Use to indicate that the electronic
	// commerce transaction has been authenticated using e.g., 3-D Secure
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "secure_electronic_commerce"
	// Non-authenticated security transaction at a 3-D Secure-capable merchant, and
	// merchant attempted to authenticate the cardholder using 3-D Secure: Use to
	// identify an electronic commerce transaction where the merchant attempted to
	// authenticate the cardholder using 3-D Secure, but was unable to complete the
	// authentication because the issuer or cardholder does not participate in the 3-D
	// Secure program.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction_at_3ds_capable_merchant"
	// Non-authenticated security transaction: Use to identify an electronic commerce
	// transaction that uses data encryption for security however , cardholder
	// authentication is not performed using 3-D Secure.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction RealTimeDecisionCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	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 (
	// Unknown
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeUnknown RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeManual RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactless RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	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 (
	// Increase failed to process the authorization in a timely manner.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonIssuerError RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "issuer_error"
	// The physical card read had an invalid CVV, dCVV, or authorization request
	// cryptogram.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidPhysicalCard RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_physical_card"
	// The 3DS cardholder authentication verification value was invalid.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInvalidCardholderAuthenticationVerificationValue RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "invalid_cardholder_authentication_verification_value"
	// An internal Visa error occurred. Visa uses this reason code for certain expected
	// occurrences as well, such as Application Transaction Counter (ATC) replays.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonInternalVisaError RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "internal_visa_error"
	// The merchant has enabled Visa's Transaction Advisory Service and requires
	// further authentication to perform the transaction. In practice this is often
	// utilized at fuel pumps to tell the cardholder to see the cashier.
	RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReasonMerchantTransactionAdvisoryServiceAuthenticationRequired RealTimeDecisionCardAuthorizationNetworkDetailsVisaStandInProcessingReason = "merchant_transaction_advisory_service_authentication_required"
	// An unspecific reason for stand-in processing.
	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 (
	// Account funding transactions are transactions used to e.g., fund an account or
	// transfer funds between accounts.
	RealTimeDecisionCardAuthorizationProcessingCategoryAccountFunding RealTimeDecisionCardAuthorizationProcessingCategory = "account_funding"
	// Automatic fuel dispenser authorizations occur when a card is used at a gas pump,
	// prior to the actual transaction amount being known. They are followed by an
	// advice message that updates the amount of the pending transaction.
	RealTimeDecisionCardAuthorizationProcessingCategoryAutomaticFuelDispenser RealTimeDecisionCardAuthorizationProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	RealTimeDecisionCardAuthorizationProcessingCategoryBillPayment RealTimeDecisionCardAuthorizationProcessingCategory = "bill_payment"
	// A regular purchase.
	RealTimeDecisionCardAuthorizationProcessingCategoryPurchase RealTimeDecisionCardAuthorizationProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	RealTimeDecisionCardAuthorizationProcessingCategoryQuasiCash RealTimeDecisionCardAuthorizationProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	RealTimeDecisionCardAuthorizationProcessingCategoryRefund RealTimeDecisionCardAuthorizationProcessingCategory = "refund"
)

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 (
	// A regular, standalone authorization.
	RealTimeDecisionCardAuthorizationRequestDetailsCategoryInitialAuthorization RealTimeDecisionCardAuthorizationRequestDetailsCategory = "initial_authorization"
	// An incremental request to increase the amount of an existing 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 (
	// No card verification code was provided in the authorization request.
	RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResultNotChecked RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResultMatch RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	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 (
	// No adress was provided in the authorization request.
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultNotChecked RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultMatch RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "match"
	// Postal code and street address do not match.
	RealTimeDecisionCardAuthorizationVerificationCardholderAddressResultNoMatch RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult = "no_match"
)

func (RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult) IsKnown

type RealTimeDecisionCategory

type RealTimeDecisionCategory string

The category of the Real-Time Decision.

const (
	// A card is being authorized.
	RealTimeDecisionCategoryCardAuthorizationRequested RealTimeDecisionCategory = "card_authorization_requested"
	// 3DS authentication is requested.
	RealTimeDecisionCategoryCardAuthenticationRequested RealTimeDecisionCategory = "card_authentication_requested"
	// 3DS authentication challenge requires cardholder involvement.
	RealTimeDecisionCategoryCardAuthenticationChallengeRequested RealTimeDecisionCategory = "card_authentication_challenge_requested"
	// A card is being loaded into a digital wallet.
	RealTimeDecisionCategoryDigitalWalletTokenRequested RealTimeDecisionCategory = "digital_wallet_token_requested"
	// A card is being loaded into a digital wallet and requires cardholder
	// authentication.
	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 (
	// Send one-time passcodes over SMS.
	RealTimeDecisionDigitalWalletAuthenticationChannelSMS RealTimeDecisionDigitalWalletAuthenticationChannel = "sms"
	// Send one-time passcodes over email.
	RealTimeDecisionDigitalWalletAuthenticationChannelEmail RealTimeDecisionDigitalWalletAuthenticationChannel = "email"
)

func (RealTimeDecisionDigitalWalletAuthenticationChannel) IsKnown

type RealTimeDecisionDigitalWalletAuthenticationDigitalWallet

type RealTimeDecisionDigitalWalletAuthenticationDigitalWallet string

The digital wallet app being used.

const (
	// Apple Pay
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletApplePay RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "apple_pay"
	// Google Pay
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletGooglePay RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "google_pay"
	// Samsung Pay
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletSamsungPay RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "samsung_pay"
	// Unknown
	RealTimeDecisionDigitalWalletAuthenticationDigitalWalletUnknown RealTimeDecisionDigitalWalletAuthenticationDigitalWallet = "unknown"
)

func (RealTimeDecisionDigitalWalletAuthenticationDigitalWallet) IsKnown

type RealTimeDecisionDigitalWalletAuthenticationResult

type RealTimeDecisionDigitalWalletAuthenticationResult string

Whether your application successfully delivered the one-time passcode.

const (
	// Your application successfully delivered the one-time passcode to the cardholder.
	RealTimeDecisionDigitalWalletAuthenticationResultSuccess RealTimeDecisionDigitalWalletAuthenticationResult = "success"
	// Your application failed to deliver the one-time passcode to the cardholder.
	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"`
	// 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 (
	// Approve the provisioning request.
	RealTimeDecisionDigitalWalletTokenDecisionApprove RealTimeDecisionDigitalWalletTokenDecision = "approve"
	// Decline the provisioning request.
	RealTimeDecisionDigitalWalletTokenDecisionDecline RealTimeDecisionDigitalWalletTokenDecision = "decline"
)

func (RealTimeDecisionDigitalWalletTokenDecision) IsKnown

type RealTimeDecisionDigitalWalletTokenDigitalWallet

type RealTimeDecisionDigitalWalletTokenDigitalWallet string

The digital wallet app being used.

const (
	// Apple Pay
	RealTimeDecisionDigitalWalletTokenDigitalWalletApplePay RealTimeDecisionDigitalWalletTokenDigitalWallet = "apple_pay"
	// Google Pay
	RealTimeDecisionDigitalWalletTokenDigitalWalletGooglePay RealTimeDecisionDigitalWalletTokenDigitalWallet = "google_pay"
	// Samsung Pay
	RealTimeDecisionDigitalWalletTokenDigitalWalletSamsungPay RealTimeDecisionDigitalWalletTokenDigitalWallet = "samsung_pay"
	// Unknown
	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 (
	// The decision is pending action via real-time webhook.
	RealTimeDecisionStatusPending RealTimeDecisionStatus = "pending"
	// Your webhook actioned the real-time decision.
	RealTimeDecisionStatusResponded RealTimeDecisionStatus = "responded"
	// Your webhook failed to respond to the authorization in time.
	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 RealTimePaymentsRequestForPayment

type RealTimePaymentsRequestForPayment struct {
	// The Real-Time Payments Request for Payment's identifier.
	ID string `json:"id,required"`
	// The transfer amount in USD cents.
	Amount int64 `json:"amount,required"`
	// The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
	// the request for payment 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 transfer's
	// currency. For real-time payments transfers this is always equal to `USD`.
	Currency RealTimePaymentsRequestForPaymentCurrency `json:"currency,required"`
	// The name of the recipient the sender is requesting a transfer from.
	DebtorName string `json:"debtor_name,required"`
	// The Account Number in which a successful transfer will arrive.
	DestinationAccountNumberID string `json:"destination_account_number_id,required"`
	// The expiration time for this request, in UTC. The requestee will not be able to
	// pay after this date.
	ExpiresAt time.Time `json:"expires_at,required" format:"date"`
	// The transaction that fulfilled this request.
	FulfillmentTransactionID string `json:"fulfillment_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"`
	// If the request for payment is refused by the destination financial institution
	// or the receiving customer, this will contain supplemental details.
	Refusal RealTimePaymentsRequestForPaymentRefusal `json:"refusal,required,nullable"`
	// If the request for payment is rejected by Real-Time Payments or the destination
	// financial institution, this will contain supplemental details.
	Rejection RealTimePaymentsRequestForPaymentRejection `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 request is sent to.
	SourceAccountNumber string `json:"source_account_number,required"`
	// The receiver's American Bankers' Association (ABA) Routing Transit Number (RTN).
	SourceRoutingNumber string `json:"source_routing_number,required"`
	// The lifecycle status of the request for payment.
	Status RealTimePaymentsRequestForPaymentStatus `json:"status,required"`
	// After the request for payment is submitted to Real-Time Payments, this will
	// contain supplemental details.
	Submission RealTimePaymentsRequestForPaymentSubmission `json:"submission,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `real_time_payments_request_for_payment`.
	Type RealTimePaymentsRequestForPaymentType `json:"type,required"`
	JSON realTimePaymentsRequestForPaymentJSON `json:"-"`
}

Real-Time Payments transfers move funds, within seconds, between your Increase account and any other account on the Real-Time Payments network. A request for payment is a request to the receiver to send funds to your account. The permitted uses of Requests For Payment are limited by the Real-Time Payments network to business-to-business payments and transfers between two accounts at different banks owned by the same individual. Please contact [support@increase.com](mailto:support@increase.com) to enable this API for your team.

func (*RealTimePaymentsRequestForPayment) UnmarshalJSON

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

type RealTimePaymentsRequestForPaymentCurrency

type RealTimePaymentsRequestForPaymentCurrency 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 (
	// Canadian Dollar (CAD)
	RealTimePaymentsRequestForPaymentCurrencyCad RealTimePaymentsRequestForPaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	RealTimePaymentsRequestForPaymentCurrencyChf RealTimePaymentsRequestForPaymentCurrency = "CHF"
	// Euro (EUR)
	RealTimePaymentsRequestForPaymentCurrencyEur RealTimePaymentsRequestForPaymentCurrency = "EUR"
	// British Pound (GBP)
	RealTimePaymentsRequestForPaymentCurrencyGbp RealTimePaymentsRequestForPaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	RealTimePaymentsRequestForPaymentCurrencyJpy RealTimePaymentsRequestForPaymentCurrency = "JPY"
	// US Dollar (USD)
	RealTimePaymentsRequestForPaymentCurrencyUsd RealTimePaymentsRequestForPaymentCurrency = "USD"
)

func (RealTimePaymentsRequestForPaymentCurrency) IsKnown

type RealTimePaymentsRequestForPaymentListParams

type RealTimePaymentsRequestForPaymentListParams struct {
	// Filter Real-Time Payments Request for Payments to those destined to the
	// specified Account.
	AccountID param.Field[string]                                               `query:"account_id"`
	CreatedAt param.Field[RealTimePaymentsRequestForPaymentListParamsCreatedAt] `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 (RealTimePaymentsRequestForPaymentListParams) URLQuery

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

type RealTimePaymentsRequestForPaymentListParamsCreatedAt

type RealTimePaymentsRequestForPaymentListParamsCreatedAt 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 (RealTimePaymentsRequestForPaymentListParamsCreatedAt) URLQuery

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

type RealTimePaymentsRequestForPaymentNewParams

type RealTimePaymentsRequestForPaymentNewParams struct {
	// The requested amount in USD cents. Must be positive.
	Amount param.Field[int64] `json:"amount,required"`
	// Details of the person being requested to pay.
	Debtor param.Field[RealTimePaymentsRequestForPaymentNewParamsDebtor] `json:"debtor,required"`
	// The identifier of the Account Number where the funds will land.
	DestinationAccountNumberID param.Field[string] `json:"destination_account_number_id,required"`
	// The expiration time for this request, in UTC. The requestee will not be able to
	// pay after this date.
	ExpiresAt param.Field[time.Time] `json:"expires_at,required" format:"date"`
	// Unstructured information that will show on the requestee's bank statement.
	RemittanceInformation param.Field[string] `json:"remittance_information,required"`
	// The account number the funds will be requested from.
	SourceAccountNumber param.Field[string] `json:"source_account_number,required"`
	// The requestee's American Bankers' Association (ABA) Routing Transit Number
	// (RTN).
	SourceRoutingNumber param.Field[string] `json:"source_routing_number,required"`
}

func (RealTimePaymentsRequestForPaymentNewParams) MarshalJSON

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

type RealTimePaymentsRequestForPaymentNewParamsDebtor

type RealTimePaymentsRequestForPaymentNewParamsDebtor struct {
	// Address of the debtor.
	Address param.Field[RealTimePaymentsRequestForPaymentNewParamsDebtorAddress] `json:"address,required"`
	// The name of the debtor.
	Name param.Field[string] `json:"name,required"`
}

Details of the person being requested to pay.

func (RealTimePaymentsRequestForPaymentNewParamsDebtor) MarshalJSON

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

type RealTimePaymentsRequestForPaymentNewParamsDebtorAddress

type RealTimePaymentsRequestForPaymentNewParamsDebtorAddress struct {
	// The ISO 3166, Alpha-2 country code.
	Country param.Field[string] `json:"country,required"`
	// The town or city.
	City param.Field[string] `json:"city"`
	// The postal code or zip.
	PostCode param.Field[string] `json:"post_code"`
	// The street name without the street number.
	StreetName param.Field[string] `json:"street_name"`
}

Address of the debtor.

func (RealTimePaymentsRequestForPaymentNewParamsDebtorAddress) MarshalJSON

type RealTimePaymentsRequestForPaymentRefusal

type RealTimePaymentsRequestForPaymentRefusal struct {
	// The reason the request for payment was refused as provided by the recipient bank
	// or the customer.
	RefusalReasonCode RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode `json:"refusal_reason_code,required"`
	JSON              realTimePaymentsRequestForPaymentRefusalJSON              `json:"-"`
}

If the request for payment is refused by the destination financial institution or the receiving customer, this will contain supplemental details.

func (*RealTimePaymentsRequestForPaymentRefusal) UnmarshalJSON

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

type RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode

type RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode string

The reason the request for payment was refused as provided by the recipient bank or the customer.

const (
	// The destination account is currently blocked from receiving transactions.
	// Corresponds to the Real-Time Payments reason code `AC06`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeAccountBlocked RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "account_blocked"
	// Real-Time Payments transfers are not allowed to the destination account.
	// Corresponds to the Real-Time Payments reason code `AG01`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeTransactionForbidden RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "transaction_forbidden"
	// Real-Time Payments transfers are not enabled for the destination account.
	// Corresponds to the Real-Time Payments reason code `AG03`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeTransactionTypeNotSupported RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "transaction_type_not_supported"
	// The amount of the transfer is different than expected by the recipient.
	// Corresponds to the Real-Time Payments reason code `AM09`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeUnexpectedAmount RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "unexpected_amount"
	// The amount is higher than the recipient is authorized to send or receive.
	// Corresponds to the Real-Time Payments reason code `AM14`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeAmountExceedsBankLimits RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "amount_exceeds_bank_limits"
	// The debtor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE07`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeInvalidDebtorAddress RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "invalid_debtor_address"
	// The creditor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE04`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeInvalidCreditorAddress RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "invalid_creditor_address"
	// Creditor identifier incorrect. Corresponds to the Real-Time Payments reason code
	// `CH11`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeCreditorIdentifierIncorrect RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "creditor_identifier_incorrect"
	// The customer refused the request. Corresponds to the Real-Time Payments reason
	// code `CUST`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeRequestedByCustomer RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "requested_by_customer"
	// The order was rejected. Corresponds to the Real-Time Payments reason code
	// `DS04`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeOrderRejected RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "order_rejected"
	// The destination account holder is deceased. Corresponds to the Real-Time
	// Payments reason code `MD07`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeEndCustomerDeceased RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "end_customer_deceased"
	// The customer has opted out of receiving requests for payments from this
	// creditor. Corresponds to the Real-Time Payments reason code `SL12`.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeCustomerHasOptedOut RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "customer_has_opted_out"
	// Some other error or issue has occurred.
	RealTimePaymentsRequestForPaymentRefusalRefusalReasonCodeOther RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode = "other"
)

func (RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode) IsKnown

type RealTimePaymentsRequestForPaymentRejection

type RealTimePaymentsRequestForPaymentRejection struct {
	// The reason the request for payment was rejected as provided by the recipient
	// bank or the Real-Time Payments network.
	RejectReasonCode RealTimePaymentsRequestForPaymentRejectionRejectReasonCode `json:"reject_reason_code,required"`
	JSON             realTimePaymentsRequestForPaymentRejectionJSON             `json:"-"`
}

If the request for payment is rejected by Real-Time Payments or the destination financial institution, this will contain supplemental details.

func (*RealTimePaymentsRequestForPaymentRejection) UnmarshalJSON

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

type RealTimePaymentsRequestForPaymentRejectionRejectReasonCode

type RealTimePaymentsRequestForPaymentRejectionRejectReasonCode string

The reason the request for payment was rejected as provided by the recipient bank or the Real-Time Payments network.

const (
	// The destination account is closed. Corresponds to the Real-Time Payments reason
	// code `AC04`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeAccountClosed RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "account_closed"
	// The destination account is currently blocked from receiving transactions.
	// Corresponds to the Real-Time Payments reason code `AC06`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeAccountBlocked RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "account_blocked"
	// The destination account is ineligible to receive Real-Time Payments transfers.
	// Corresponds to the Real-Time Payments reason code `AC14`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeInvalidCreditorAccountType RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "invalid_creditor_account_type"
	// The destination account does not exist. Corresponds to the Real-Time Payments
	// reason code `AC03`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeInvalidCreditorAccountNumber RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "invalid_creditor_account_number"
	// The destination routing number is invalid. Corresponds to the Real-Time Payments
	// reason code `RC04`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeInvalidCreditorFinancialInstitutionIdentifier RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "invalid_creditor_financial_institution_identifier"
	// The destination account holder is deceased. Corresponds to the Real-Time
	// Payments reason code `MD07`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeEndCustomerDeceased RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "end_customer_deceased"
	// The reason is provided as narrative information in the additional information
	// field.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeNarrative RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "narrative"
	// Real-Time Payments transfers are not allowed to the destination account.
	// Corresponds to the Real-Time Payments reason code `AG01`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeTransactionForbidden RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "transaction_forbidden"
	// Real-Time Payments transfers are not enabled for the destination account.
	// Corresponds to the Real-Time Payments reason code `AG03`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeTransactionTypeNotSupported RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "transaction_type_not_supported"
	// The amount of the transfer is different than expected by the recipient.
	// Corresponds to the Real-Time Payments reason code `AM09`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeUnexpectedAmount RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "unexpected_amount"
	// The amount is higher than the recipient is authorized to send or receive.
	// Corresponds to the Real-Time Payments reason code `AM14`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeAmountExceedsBankLimits RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "amount_exceeds_bank_limits"
	// The creditor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE04`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeInvalidCreditorAddress RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "invalid_creditor_address"
	// The specified creditor is unknown. Corresponds to the Real-Time Payments reason
	// code `BE06`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeUnknownEndCustomer RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "unknown_end_customer"
	// The debtor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE07`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeInvalidDebtorAddress RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "invalid_debtor_address"
	// There was a timeout processing the transfer. Corresponds to the Real-Time
	// Payments reason code `DS24`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeTimeout RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "timeout"
	// Real-Time Payments transfers are not enabled for the destination account.
	// Corresponds to the Real-Time Payments reason code `NOAT`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeUnsupportedMessageForRecipient RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "unsupported_message_for_recipient"
	// The destination financial institution is currently not connected to Real-Time
	// Payments. Corresponds to the Real-Time Payments reason code `9912`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeRecipientConnectionNotAvailable RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "recipient_connection_not_available"
	// Real-Time Payments is currently unavailable. Corresponds to the Real-Time
	// Payments reason code `9948`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeRealTimePaymentsSuspended RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "real_time_payments_suspended"
	// The destination financial institution is currently signed off of Real-Time
	// Payments. Corresponds to the Real-Time Payments reason code `9910`.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeInstructedAgentSignedOff RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "instructed_agent_signed_off"
	// The transfer was rejected due to an internal Increase issue. We have been
	// notified.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeProcessingError RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "processing_error"
	// Some other error or issue has occurred.
	RealTimePaymentsRequestForPaymentRejectionRejectReasonCodeOther RealTimePaymentsRequestForPaymentRejectionRejectReasonCode = "other"
)

func (RealTimePaymentsRequestForPaymentRejectionRejectReasonCode) IsKnown

type RealTimePaymentsRequestForPaymentService

type RealTimePaymentsRequestForPaymentService struct {
	Options []option.RequestOption
}

RealTimePaymentsRequestForPaymentService 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 NewRealTimePaymentsRequestForPaymentService method instead.

func NewRealTimePaymentsRequestForPaymentService

func NewRealTimePaymentsRequestForPaymentService(opts ...option.RequestOption) (r *RealTimePaymentsRequestForPaymentService)

NewRealTimePaymentsRequestForPaymentService 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 (*RealTimePaymentsRequestForPaymentService) Get

Retrieve a Real-Time Payments Request for Payment

func (*RealTimePaymentsRequestForPaymentService) List

List Real-Time Payments Request for Payments

func (*RealTimePaymentsRequestForPaymentService) ListAutoPaging

List Real-Time Payments Request for Payments

func (*RealTimePaymentsRequestForPaymentService) New

Create a Real-Time Payments Request for Payment

type RealTimePaymentsRequestForPaymentStatus

type RealTimePaymentsRequestForPaymentStatus string

The lifecycle status of the request for payment.

const (
	// The request for payment is queued to be submitted to Real-Time Payments.
	RealTimePaymentsRequestForPaymentStatusPendingSubmission RealTimePaymentsRequestForPaymentStatus = "pending_submission"
	// The request for payment has been submitted and is pending a response from
	// Real-Time Payments.
	RealTimePaymentsRequestForPaymentStatusPendingResponse RealTimePaymentsRequestForPaymentStatus = "pending_response"
	// The request for payment was rejected by the network or the recipient.
	RealTimePaymentsRequestForPaymentStatusRejected RealTimePaymentsRequestForPaymentStatus = "rejected"
	// The request for payment was accepted by the recipient but has not yet been paid.
	RealTimePaymentsRequestForPaymentStatusAccepted RealTimePaymentsRequestForPaymentStatus = "accepted"
	// The request for payment was refused by the recipient.
	RealTimePaymentsRequestForPaymentStatusRefused RealTimePaymentsRequestForPaymentStatus = "refused"
	// The request for payment was fulfilled by the receiver.
	RealTimePaymentsRequestForPaymentStatusFulfilled RealTimePaymentsRequestForPaymentStatus = "fulfilled"
)

func (RealTimePaymentsRequestForPaymentStatus) IsKnown

type RealTimePaymentsRequestForPaymentSubmission

type RealTimePaymentsRequestForPaymentSubmission struct {
	// The Real-Time Payments payment information identification of the request.
	PaymentInformationIdentification string                                          `json:"payment_information_identification,required"`
	JSON                             realTimePaymentsRequestForPaymentSubmissionJSON `json:"-"`
}

After the request for payment is submitted to Real-Time Payments, this will contain supplemental details.

func (*RealTimePaymentsRequestForPaymentSubmission) UnmarshalJSON

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

type RealTimePaymentsRequestForPaymentType

type RealTimePaymentsRequestForPaymentType string

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

const (
	RealTimePaymentsRequestForPaymentTypeRealTimePaymentsRequestForPayment RealTimePaymentsRequestForPaymentType = "real_time_payments_request_for_payment"
)

func (RealTimePaymentsRequestForPaymentType) IsKnown

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"`
	// 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 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 (
	// An API key. Details will be under the `api_key` object.
	RealTimePaymentsTransferCreatedByCategoryAPIKey RealTimePaymentsTransferCreatedByCategory = "api_key"
	// An OAuth application you connected to Increase. Details will be under the
	// `oauth_application` object.
	RealTimePaymentsTransferCreatedByCategoryOAuthApplication RealTimePaymentsTransferCreatedByCategory = "oauth_application"
	// A User in the Increase dashboard. Details will be under the `user` object.
	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 (
	// Canadian Dollar (CAD)
	RealTimePaymentsTransferCurrencyCad RealTimePaymentsTransferCurrency = "CAD"
	// Swiss Franc (CHF)
	RealTimePaymentsTransferCurrencyChf RealTimePaymentsTransferCurrency = "CHF"
	// Euro (EUR)
	RealTimePaymentsTransferCurrencyEur RealTimePaymentsTransferCurrency = "EUR"
	// British Pound (GBP)
	RealTimePaymentsTransferCurrencyGbp RealTimePaymentsTransferCurrency = "GBP"
	// Japanese Yen (JPY)
	RealTimePaymentsTransferCurrencyJpy RealTimePaymentsTransferCurrency = "JPY"
	// US Dollar (USD)
	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"`
}

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 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 (
	// The destination account is closed. Corresponds to the Real-Time Payments reason
	// code `AC04`.
	RealTimePaymentsTransferRejectionRejectReasonCodeAccountClosed RealTimePaymentsTransferRejectionRejectReasonCode = "account_closed"
	// The destination account is currently blocked from receiving transactions.
	// Corresponds to the Real-Time Payments reason code `AC06`.
	RealTimePaymentsTransferRejectionRejectReasonCodeAccountBlocked RealTimePaymentsTransferRejectionRejectReasonCode = "account_blocked"
	// The destination account is ineligible to receive Real-Time Payments transfers.
	// Corresponds to the Real-Time Payments reason code `AC14`.
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorAccountType RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_account_type"
	// The destination account does not exist. Corresponds to the Real-Time Payments
	// reason code `AC03`.
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorAccountNumber RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_account_number"
	// The destination routing number is invalid. Corresponds to the Real-Time Payments
	// reason code `RC04`.
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorFinancialInstitutionIdentifier RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_financial_institution_identifier"
	// The destination account holder is deceased. Corresponds to the Real-Time
	// Payments reason code `MD07`.
	RealTimePaymentsTransferRejectionRejectReasonCodeEndCustomerDeceased RealTimePaymentsTransferRejectionRejectReasonCode = "end_customer_deceased"
	// The reason is provided as narrative information in the additional information
	// field.
	RealTimePaymentsTransferRejectionRejectReasonCodeNarrative RealTimePaymentsTransferRejectionRejectReasonCode = "narrative"
	// Real-Time Payments transfers are not allowed to the destination account.
	// Corresponds to the Real-Time Payments reason code `AG01`.
	RealTimePaymentsTransferRejectionRejectReasonCodeTransactionForbidden RealTimePaymentsTransferRejectionRejectReasonCode = "transaction_forbidden"
	// Real-Time Payments transfers are not enabled for the destination account.
	// Corresponds to the Real-Time Payments reason code `AG03`.
	RealTimePaymentsTransferRejectionRejectReasonCodeTransactionTypeNotSupported RealTimePaymentsTransferRejectionRejectReasonCode = "transaction_type_not_supported"
	// The amount of the transfer is different than expected by the recipient.
	// Corresponds to the Real-Time Payments reason code `AM09`.
	RealTimePaymentsTransferRejectionRejectReasonCodeUnexpectedAmount RealTimePaymentsTransferRejectionRejectReasonCode = "unexpected_amount"
	// The amount is higher than the recipient is authorized to send or receive.
	// Corresponds to the Real-Time Payments reason code `AM14`.
	RealTimePaymentsTransferRejectionRejectReasonCodeAmountExceedsBankLimits RealTimePaymentsTransferRejectionRejectReasonCode = "amount_exceeds_bank_limits"
	// The creditor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE04`.
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidCreditorAddress RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_creditor_address"
	// The specified creditor is unknown. Corresponds to the Real-Time Payments reason
	// code `BE06`.
	RealTimePaymentsTransferRejectionRejectReasonCodeUnknownEndCustomer RealTimePaymentsTransferRejectionRejectReasonCode = "unknown_end_customer"
	// The debtor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE07`.
	RealTimePaymentsTransferRejectionRejectReasonCodeInvalidDebtorAddress RealTimePaymentsTransferRejectionRejectReasonCode = "invalid_debtor_address"
	// There was a timeout processing the transfer. Corresponds to the Real-Time
	// Payments reason code `DS24`.
	RealTimePaymentsTransferRejectionRejectReasonCodeTimeout RealTimePaymentsTransferRejectionRejectReasonCode = "timeout"
	// Real-Time Payments transfers are not enabled for the destination account.
	// Corresponds to the Real-Time Payments reason code `NOAT`.
	RealTimePaymentsTransferRejectionRejectReasonCodeUnsupportedMessageForRecipient RealTimePaymentsTransferRejectionRejectReasonCode = "unsupported_message_for_recipient"
	// The destination financial institution is currently not connected to Real-Time
	// Payments. Corresponds to the Real-Time Payments reason code `9912`.
	RealTimePaymentsTransferRejectionRejectReasonCodeRecipientConnectionNotAvailable RealTimePaymentsTransferRejectionRejectReasonCode = "recipient_connection_not_available"
	// Real-Time Payments is currently unavailable. Corresponds to the Real-Time
	// Payments reason code `9948`.
	RealTimePaymentsTransferRejectionRejectReasonCodeRealTimePaymentsSuspended RealTimePaymentsTransferRejectionRejectReasonCode = "real_time_payments_suspended"
	// The destination financial institution is currently signed off of Real-Time
	// Payments. Corresponds to the Real-Time Payments reason code `9910`.
	RealTimePaymentsTransferRejectionRejectReasonCodeInstructedAgentSignedOff RealTimePaymentsTransferRejectionRejectReasonCode = "instructed_agent_signed_off"
	// The transfer was rejected due to an internal Increase issue. We have been
	// notified.
	RealTimePaymentsTransferRejectionRejectReasonCodeProcessingError RealTimePaymentsTransferRejectionRejectReasonCode = "processing_error"
	// Some other error or issue has occurred.
	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) 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 (
	// The transfer is pending approval.
	RealTimePaymentsTransferStatusPendingApproval RealTimePaymentsTransferStatus = "pending_approval"
	// The transfer has been canceled.
	RealTimePaymentsTransferStatusCanceled RealTimePaymentsTransferStatus = "canceled"
	// The transfer is pending review by Increase.
	RealTimePaymentsTransferStatusPendingReviewing RealTimePaymentsTransferStatus = "pending_reviewing"
	// The transfer requires attention from an Increase operator.
	RealTimePaymentsTransferStatusRequiresAttention RealTimePaymentsTransferStatus = "requires_attention"
	// The transfer was rejected by the network or the recipient's bank.
	RealTimePaymentsTransferStatusRejected RealTimePaymentsTransferStatus = "rejected"
	// The transfer is queued to be submitted to Real-Time Payments.
	RealTimePaymentsTransferStatusPendingSubmission RealTimePaymentsTransferStatus = "pending_submission"
	// The transfer has been submitted and is pending a response from Real-Time
	// Payments.
	RealTimePaymentsTransferStatusSubmitted RealTimePaymentsTransferStatus = "submitted"
	// The transfer has been sent successfully and is complete.
	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 (
	// The routing number can receive this transfer type.
	RoutingNumberListResponseACHTransfersSupported RoutingNumberListResponseACHTransfers = "supported"
	// The routing number cannot receive this transfer type.
	RoutingNumberListResponseACHTransfersNotSupported RoutingNumberListResponseACHTransfers = "not_supported"
)

func (RoutingNumberListResponseACHTransfers) IsKnown

type RoutingNumberListResponseRealTimePaymentsTransfers

type RoutingNumberListResponseRealTimePaymentsTransfers string

This routing number's support for Real-Time Payments Transfers.

const (
	// The routing number can receive this transfer type.
	RoutingNumberListResponseRealTimePaymentsTransfersSupported RoutingNumberListResponseRealTimePaymentsTransfers = "supported"
	// The routing number cannot receive this transfer type.
	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 (
	// The routing number can receive this transfer type.
	RoutingNumberListResponseWireTransfersSupported RoutingNumberListResponseWireTransfers = "supported"
	// The routing number cannot receive this transfer type.
	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 (
	// The account number was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectAccountNumber SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_account_number"
	// The routing number was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectRoutingNumber SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_routing_number"
	// Both the routing number and the account number were incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectRoutingNumberAndAccountNumber SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_routing_number_and_account_number"
	// The transaction code was incorrect. Try changing the `funding` parameter from
	// checking to savings or vice-versa.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectTransactionCode SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_transaction_code"
	// The account number and the transaction code were incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectAccountNumberAndTransactionCode SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_account_number_and_transaction_code"
	// The routing number, account number, and transaction code were incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectRoutingNumberAccountNumberAndTransactionCode SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_routing_number_account_number_and_transaction_code"
	// The receiving depository financial institution identification was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectReceivingDepositoryFinancialInstitutionIdentification SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_receiving_depository_financial_institution_identification"
	// The individual identification number was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectIndividualIdentificationNumber SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_individual_identification_number"
	// The addenda had an incorrect format.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeAddendaFormatError SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "addenda_format_error"
	// The standard entry class code was incorrect for an outbound international
	// payment.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectStandardEntryClassCodeForOutboundInternationalPayment SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_standard_entry_class_code_for_outbound_international_payment"
	// The notification of change was misrouted.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeMisroutedNotificationOfChange SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "misrouted_notification_of_change"
	// The trace number was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectTraceNumber SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_trace_number"
	// The company identification number was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectCompanyIdentificationNumber SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_company_identification_number"
	// The individual identification number or identification number was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectIdentificationNumber SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_identification_number"
	// The corrected data was incorrectly formatted.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectlyFormattedCorrectedData SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrectly_formatted_corrected_data"
	// The discretionary data was incorrect.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeIncorrectDiscretionaryData SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "incorrect_discretionary_data"
	// The routing number was not from the original entry detail record.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeRoutingNumberNotFromOriginalEntryDetailRecord SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "routing_number_not_from_original_entry_detail_record"
	// The depository financial institution account number was not from the original
	// entry detail record.
	SimulationACHTransferNewNotificationOfChangeParamsChangeCodeDepositoryFinancialInstitutionAccountNumberNotFromOriginalEntryDetailRecord SimulationACHTransferNewNotificationOfChangeParamsChangeCode = "depository_financial_institution_account_number_not_from_original_entry_detail_record"
	// The transaction code was incorrect, initiated by the originating depository
	// financial institution.
	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 (
	// Code R01. Insufficient funds in the receiving account. Sometimes abbreviated to
	// NSF.
	SimulationACHTransferReturnParamsReasonInsufficientFund SimulationACHTransferReturnParamsReason = "insufficient_fund"
	// Code R03. The account does not exist or the receiving bank was unable to locate
	// it.
	SimulationACHTransferReturnParamsReasonNoAccount SimulationACHTransferReturnParamsReason = "no_account"
	// Code R02. The account is closed at the receiving bank.
	SimulationACHTransferReturnParamsReasonAccountClosed SimulationACHTransferReturnParamsReason = "account_closed"
	// Code R04. The account number is invalid at the receiving bank.
	SimulationACHTransferReturnParamsReasonInvalidAccountNumberStructure SimulationACHTransferReturnParamsReason = "invalid_account_number_structure"
	// Code R16. The account at the receiving bank was frozen per the Office of Foreign
	// Assets Control.
	SimulationACHTransferReturnParamsReasonAccountFrozenEntryReturnedPerOfacInstruction SimulationACHTransferReturnParamsReason = "account_frozen_entry_returned_per_ofac_instruction"
	// Code R23. The receiving bank account refused a credit transfer.
	SimulationACHTransferReturnParamsReasonCreditEntryRefusedByReceiver SimulationACHTransferReturnParamsReason = "credit_entry_refused_by_receiver"
	// Code R05. The receiving bank rejected because of an incorrect Standard Entry
	// Class code.
	SimulationACHTransferReturnParamsReasonUnauthorizedDebitToConsumerAccountUsingCorporateSecCode SimulationACHTransferReturnParamsReason = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	// Code R29. The corporate customer at the receiving bank reversed the transfer.
	SimulationACHTransferReturnParamsReasonCorporateCustomerAdvisedNotAuthorized SimulationACHTransferReturnParamsReason = "corporate_customer_advised_not_authorized"
	// Code R08. The receiving bank stopped payment on this transfer.
	SimulationACHTransferReturnParamsReasonPaymentStopped SimulationACHTransferReturnParamsReason = "payment_stopped"
	// Code R20. The receiving bank account does not perform transfers.
	SimulationACHTransferReturnParamsReasonNonTransactionAccount SimulationACHTransferReturnParamsReason = "non_transaction_account"
	// Code R09. The receiving bank account does not have enough available balance for
	// the transfer.
	SimulationACHTransferReturnParamsReasonUncollectedFunds SimulationACHTransferReturnParamsReason = "uncollected_funds"
	// Code R28. The routing number is incorrect.
	SimulationACHTransferReturnParamsReasonRoutingNumberCheckDigitError SimulationACHTransferReturnParamsReason = "routing_number_check_digit_error"
	// Code R10. The customer at the receiving bank reversed the transfer.
	SimulationACHTransferReturnParamsReasonCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete SimulationACHTransferReturnParamsReason = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// Code R19. The amount field is incorrect or too large.
	SimulationACHTransferReturnParamsReasonAmountFieldError SimulationACHTransferReturnParamsReason = "amount_field_error"
	// Code R07. The customer at the receiving institution informed their bank that
	// they have revoked authorization for a previously authorized transfer.
	SimulationACHTransferReturnParamsReasonAuthorizationRevokedByCustomer SimulationACHTransferReturnParamsReason = "authorization_revoked_by_customer"
	// Code R13. The routing number is invalid.
	SimulationACHTransferReturnParamsReasonInvalidACHRoutingNumber SimulationACHTransferReturnParamsReason = "invalid_ach_routing_number"
	// Code R17. The receiving bank is unable to process a field in the transfer.
	SimulationACHTransferReturnParamsReasonFileRecordEditCriteria SimulationACHTransferReturnParamsReason = "file_record_edit_criteria"
	// Code R45. The individual name field was invalid.
	SimulationACHTransferReturnParamsReasonEnrInvalidIndividualName SimulationACHTransferReturnParamsReason = "enr_invalid_individual_name"
	// Code R06. The originating financial institution asked for this transfer to be
	// returned. The receiving bank is complying with the request.
	SimulationACHTransferReturnParamsReasonReturnedPerOdfiRequest SimulationACHTransferReturnParamsReason = "returned_per_odfi_request"
	// Code R34. The receiving bank's regulatory supervisor has limited their
	// participation in the ACH network.
	SimulationACHTransferReturnParamsReasonLimitedParticipationDfi SimulationACHTransferReturnParamsReason = "limited_participation_dfi"
	// Code R85. The outbound international ACH transfer was incorrect.
	SimulationACHTransferReturnParamsReasonIncorrectlyCodedOutboundInternationalPayment SimulationACHTransferReturnParamsReason = "incorrectly_coded_outbound_international_payment"
	// Code R12. A rare return reason. The account was sold to another bank.
	SimulationACHTransferReturnParamsReasonAccountSoldToAnotherDfi SimulationACHTransferReturnParamsReason = "account_sold_to_another_dfi"
	// Code R25. The addenda record is incorrect or missing.
	SimulationACHTransferReturnParamsReasonAddendaError SimulationACHTransferReturnParamsReason = "addenda_error"
	// Code R15. A rare return reason. The account holder is deceased.
	SimulationACHTransferReturnParamsReasonBeneficiaryOrAccountHolderDeceased SimulationACHTransferReturnParamsReason = "beneficiary_or_account_holder_deceased"
	// Code R11. A rare return reason. The customer authorized some payment to the
	// sender, but this payment was not in error.
	SimulationACHTransferReturnParamsReasonCustomerAdvisedNotWithinAuthorizationTerms SimulationACHTransferReturnParamsReason = "customer_advised_not_within_authorization_terms"
	// Code R74. A rare return reason. Sent in response to a return that was returned
	// with code `field_error`. The latest return should include the corrected
	// field(s).
	SimulationACHTransferReturnParamsReasonCorrectedReturn SimulationACHTransferReturnParamsReason = "corrected_return"
	// Code R24. A rare return reason. The receiving bank received an exact duplicate
	// entry with the same trace number and amount.
	SimulationACHTransferReturnParamsReasonDuplicateEntry SimulationACHTransferReturnParamsReason = "duplicate_entry"
	// Code R67. A rare return reason. The return this message refers to was a
	// duplicate.
	SimulationACHTransferReturnParamsReasonDuplicateReturn SimulationACHTransferReturnParamsReason = "duplicate_return"
	// Code R47. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	SimulationACHTransferReturnParamsReasonEnrDuplicateEnrollment SimulationACHTransferReturnParamsReason = "enr_duplicate_enrollment"
	// Code R43. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	SimulationACHTransferReturnParamsReasonEnrInvalidDfiAccountNumber SimulationACHTransferReturnParamsReason = "enr_invalid_dfi_account_number"
	// Code R44. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	SimulationACHTransferReturnParamsReasonEnrInvalidIndividualIDNumber SimulationACHTransferReturnParamsReason = "enr_invalid_individual_id_number"
	// Code R46. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	SimulationACHTransferReturnParamsReasonEnrInvalidRepresentativePayeeIndicator SimulationACHTransferReturnParamsReason = "enr_invalid_representative_payee_indicator"
	// Code R41. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	SimulationACHTransferReturnParamsReasonEnrInvalidTransactionCode SimulationACHTransferReturnParamsReason = "enr_invalid_transaction_code"
	// Code R40. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	SimulationACHTransferReturnParamsReasonEnrReturnOfEnrEntry SimulationACHTransferReturnParamsReason = "enr_return_of_enr_entry"
	// Code R42. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	SimulationACHTransferReturnParamsReasonEnrRoutingNumberCheckDigitError SimulationACHTransferReturnParamsReason = "enr_routing_number_check_digit_error"
	// Code R84. A rare return reason. The International ACH Transfer cannot be
	// processed by the gateway.
	SimulationACHTransferReturnParamsReasonEntryNotProcessedByGateway SimulationACHTransferReturnParamsReason = "entry_not_processed_by_gateway"
	// Code R69. A rare return reason. One or more of the fields in the ACH were
	// malformed.
	SimulationACHTransferReturnParamsReasonFieldError SimulationACHTransferReturnParamsReason = "field_error"
	// Code R83. A rare return reason. The Foreign receiving bank was unable to settle
	// this ACH transfer.
	SimulationACHTransferReturnParamsReasonForeignReceivingDfiUnableToSettle SimulationACHTransferReturnParamsReason = "foreign_receiving_dfi_unable_to_settle"
	// Code R80. A rare return reason. The International ACH Transfer is malformed.
	SimulationACHTransferReturnParamsReasonIatEntryCodingError SimulationACHTransferReturnParamsReason = "iat_entry_coding_error"
	// Code R18. A rare return reason. The ACH has an improper effective entry date
	// field.
	SimulationACHTransferReturnParamsReasonImproperEffectiveEntryDate SimulationACHTransferReturnParamsReason = "improper_effective_entry_date"
	// Code R39. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	SimulationACHTransferReturnParamsReasonImproperSourceDocumentSourceDocumentPresented SimulationACHTransferReturnParamsReason = "improper_source_document_source_document_presented"
	// Code R21. A rare return reason. The Company ID field of the ACH was invalid.
	SimulationACHTransferReturnParamsReasonInvalidCompanyID SimulationACHTransferReturnParamsReason = "invalid_company_id"
	// Code R82. A rare return reason. The foreign receiving bank identifier for an
	// International ACH Transfer was invalid.
	SimulationACHTransferReturnParamsReasonInvalidForeignReceivingDfiIdentification SimulationACHTransferReturnParamsReason = "invalid_foreign_receiving_dfi_identification"
	// Code R22. A rare return reason. The Individual ID number field of the ACH was
	// invalid.
	SimulationACHTransferReturnParamsReasonInvalidIndividualIDNumber SimulationACHTransferReturnParamsReason = "invalid_individual_id_number"
	// Code R53. A rare return reason. Both the Represented Check ("RCK") entry and the
	// original check were presented to the bank.
	SimulationACHTransferReturnParamsReasonItemAndRckEntryPresentedForPayment SimulationACHTransferReturnParamsReason = "item_and_rck_entry_presented_for_payment"
	// Code R51. A rare return reason. The Represented Check ("RCK") entry is
	// ineligible.
	SimulationACHTransferReturnParamsReasonItemRelatedToRckEntryIsIneligible SimulationACHTransferReturnParamsReason = "item_related_to_rck_entry_is_ineligible"
	// Code R26. A rare return reason. The ACH is missing a required field.
	SimulationACHTransferReturnParamsReasonMandatoryFieldError SimulationACHTransferReturnParamsReason = "mandatory_field_error"
	// Code R71. A rare return reason. The receiving bank does not recognize the
	// routing number in a dishonored return entry.
	SimulationACHTransferReturnParamsReasonMisroutedDishonoredReturn SimulationACHTransferReturnParamsReason = "misrouted_dishonored_return"
	// Code R61. A rare return reason. The receiving bank does not recognize the
	// routing number in a return entry.
	SimulationACHTransferReturnParamsReasonMisroutedReturn SimulationACHTransferReturnParamsReason = "misrouted_return"
	// Code R76. A rare return reason. Sent in response to a return, the bank does not
	// find the errors alleged by the returning bank.
	SimulationACHTransferReturnParamsReasonNoErrorsFound SimulationACHTransferReturnParamsReason = "no_errors_found"
	// Code R77. A rare return reason. The receiving bank does not accept the return of
	// the erroneous debit. The funds are not available at the receiving bank.
	SimulationACHTransferReturnParamsReasonNonAcceptanceOfR62DishonoredReturn SimulationACHTransferReturnParamsReason = "non_acceptance_of_r62_dishonored_return"
	// Code R81. A rare return reason. The receiving bank does not accept International
	// ACH Transfers.
	SimulationACHTransferReturnParamsReasonNonParticipantInIatProgram SimulationACHTransferReturnParamsReason = "non_participant_in_iat_program"
	// Code R31. A rare return reason. A return that has been agreed to be accepted by
	// the receiving bank, despite falling outside of the usual return timeframe.
	SimulationACHTransferReturnParamsReasonPermissibleReturnEntry SimulationACHTransferReturnParamsReason = "permissible_return_entry"
	// Code R70. A rare return reason. The receiving bank had not approved this return.
	SimulationACHTransferReturnParamsReasonPermissibleReturnEntryNotAccepted SimulationACHTransferReturnParamsReason = "permissible_return_entry_not_accepted"
	// Code R32. A rare return reason. The receiving bank could not settle this
	// transaction.
	SimulationACHTransferReturnParamsReasonRdfiNonSettlement SimulationACHTransferReturnParamsReason = "rdfi_non_settlement"
	// Code R30. A rare return reason. The receiving bank does not accept Check
	// Truncation ACH transfers.
	SimulationACHTransferReturnParamsReasonRdfiParticipantInCheckTruncationProgram SimulationACHTransferReturnParamsReason = "rdfi_participant_in_check_truncation_program"
	// Code R14. A rare return reason. The payee is deceased.
	SimulationACHTransferReturnParamsReasonRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity SimulationACHTransferReturnParamsReason = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// Code R75. A rare return reason. The originating bank disputes that an earlier
	// `duplicate_entry` return was actually a duplicate.
	SimulationACHTransferReturnParamsReasonReturnNotADuplicate SimulationACHTransferReturnParamsReason = "return_not_a_duplicate"
	// Code R62. A rare return reason. The originating financial institution made a
	// mistake and this return corrects it.
	SimulationACHTransferReturnParamsReasonReturnOfErroneousOrReversingDebit SimulationACHTransferReturnParamsReason = "return_of_erroneous_or_reversing_debit"
	// Code R36. A rare return reason. Return of a malformed credit entry.
	SimulationACHTransferReturnParamsReasonReturnOfImproperCreditEntry SimulationACHTransferReturnParamsReason = "return_of_improper_credit_entry"
	// Code R35. A rare return reason. Return of a malformed debit entry.
	SimulationACHTransferReturnParamsReasonReturnOfImproperDebitEntry SimulationACHTransferReturnParamsReason = "return_of_improper_debit_entry"
	// Code R33. A rare return reason. Return of a Destroyed Check ("XKC") entry.
	SimulationACHTransferReturnParamsReasonReturnOfXckEntry SimulationACHTransferReturnParamsReason = "return_of_xck_entry"
	// Code R37. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	SimulationACHTransferReturnParamsReasonSourceDocumentPresentedForPayment SimulationACHTransferReturnParamsReason = "source_document_presented_for_payment"
	// Code R50. A rare return reason. State law prevents the bank from accepting the
	// Represented Check ("RCK") entry.
	SimulationACHTransferReturnParamsReasonStateLawAffectingRckAcceptance SimulationACHTransferReturnParamsReason = "state_law_affecting_rck_acceptance"
	// Code R52. A rare return reason. A stop payment was issued on a Represented Check
	// ("RCK") entry.
	SimulationACHTransferReturnParamsReasonStopPaymentOnItemRelatedToRckEntry SimulationACHTransferReturnParamsReason = "stop_payment_on_item_related_to_rck_entry"
	// Code R38. A rare return reason. The source attached to the ACH, usually an ACH
	// check conversion, includes a stop payment.
	SimulationACHTransferReturnParamsReasonStopPaymentOnSourceDocument SimulationACHTransferReturnParamsReason = "stop_payment_on_source_document"
	// Code R73. A rare return reason. The bank receiving an `untimely_return` believes
	// it was on time.
	SimulationACHTransferReturnParamsReasonTimelyOriginalReturn SimulationACHTransferReturnParamsReason = "timely_original_return"
	// Code R27. A rare return reason. An ACH return's trace number does not match an
	// originated ACH.
	SimulationACHTransferReturnParamsReasonTraceNumberError SimulationACHTransferReturnParamsReason = "trace_number_error"
	// Code R72. A rare return reason. The dishonored return was sent too late.
	SimulationACHTransferReturnParamsReasonUntimelyDishonoredReturn SimulationACHTransferReturnParamsReason = "untimely_dishonored_return"
	// Code R68. A rare return reason. The return was sent too late.
	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 `submitted`. 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 direction describes the direction the funds will move, either from the
	// cardholder to the merchant or from the merchant to the cardholder.
	Direction param.Field[SimulationCardAuthorizationNewParamsDirection] `json:"direction"`
	// 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 identifier of the Physical Card to be authorized.
	PhysicalCardID param.Field[string] `json:"physical_card_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 (
	// The Card was not active.
	SimulationCardAuthorizationNewParamsDeclineReasonCardNotActive SimulationCardAuthorizationNewParamsDeclineReason = "card_not_active"
	// The Physical Card was not active.
	SimulationCardAuthorizationNewParamsDeclineReasonPhysicalCardNotActive SimulationCardAuthorizationNewParamsDeclineReason = "physical_card_not_active"
	// The account's entity was not active.
	SimulationCardAuthorizationNewParamsDeclineReasonEntityNotActive SimulationCardAuthorizationNewParamsDeclineReason = "entity_not_active"
	// The account was inactive.
	SimulationCardAuthorizationNewParamsDeclineReasonGroupLocked SimulationCardAuthorizationNewParamsDeclineReason = "group_locked"
	// The Card's Account did not have a sufficient available balance.
	SimulationCardAuthorizationNewParamsDeclineReasonInsufficientFunds SimulationCardAuthorizationNewParamsDeclineReason = "insufficient_funds"
	// The given CVV2 did not match the card's value.
	SimulationCardAuthorizationNewParamsDeclineReasonCvv2Mismatch SimulationCardAuthorizationNewParamsDeclineReason = "cvv2_mismatch"
	// The given expiration date did not match the card's value. Only applies when a
	// CVV2 is present.
	SimulationCardAuthorizationNewParamsDeclineReasonCardExpirationMismatch SimulationCardAuthorizationNewParamsDeclineReason = "card_expiration_mismatch"
	// The attempted card transaction is not allowed per Increase's terms.
	SimulationCardAuthorizationNewParamsDeclineReasonTransactionNotAllowed SimulationCardAuthorizationNewParamsDeclineReason = "transaction_not_allowed"
	// The transaction was blocked by a Limit.
	SimulationCardAuthorizationNewParamsDeclineReasonBreachesLimit SimulationCardAuthorizationNewParamsDeclineReason = "breaches_limit"
	// Your application declined the transaction via webhook.
	SimulationCardAuthorizationNewParamsDeclineReasonWebhookDeclined SimulationCardAuthorizationNewParamsDeclineReason = "webhook_declined"
	// Your application webhook did not respond without the required timeout.
	SimulationCardAuthorizationNewParamsDeclineReasonWebhookTimedOut SimulationCardAuthorizationNewParamsDeclineReason = "webhook_timed_out"
	// Declined by stand-in processing.
	SimulationCardAuthorizationNewParamsDeclineReasonDeclinedByStandInProcessing SimulationCardAuthorizationNewParamsDeclineReason = "declined_by_stand_in_processing"
	// The card read had an invalid CVV, dCVV, or authorization request cryptogram.
	SimulationCardAuthorizationNewParamsDeclineReasonInvalidPhysicalCard SimulationCardAuthorizationNewParamsDeclineReason = "invalid_physical_card"
	// The original card authorization for this incremental authorization does not
	// exist.
	SimulationCardAuthorizationNewParamsDeclineReasonMissingOriginalAuthorization SimulationCardAuthorizationNewParamsDeclineReason = "missing_original_authorization"
	// The transaction was suspected to be fraudulent. Please reach out to
	// support@increase.com for more information.
	SimulationCardAuthorizationNewParamsDeclineReasonSuspectedFraud SimulationCardAuthorizationNewParamsDeclineReason = "suspected_fraud"
)

func (SimulationCardAuthorizationNewParamsDeclineReason) IsKnown added in v0.116.0

type SimulationCardAuthorizationNewParamsDirection added in v0.115.0

type SimulationCardAuthorizationNewParamsDirection 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 (
	// A regular card authorization where funds are debited from the cardholder.
	SimulationCardAuthorizationNewParamsDirectionSettlement SimulationCardAuthorizationNewParamsDirection = "settlement"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	SimulationCardAuthorizationNewParamsDirectionRefund SimulationCardAuthorizationNewParamsDirection = "refund"
)

func (SimulationCardAuthorizationNewParamsDirection) IsKnown added in v0.115.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 (
	// Increase has requested more information related to the Card Dispute from you.
	SimulationCardDisputeActionParamsStatusPendingUserInformation SimulationCardDisputeActionParamsStatus = "pending_user_information"
	// The Card Dispute has been accepted and your funds have been returned. The card
	// dispute will eventually transition into `won` or `lost` depending on the
	// outcome.
	SimulationCardDisputeActionParamsStatusAccepted SimulationCardDisputeActionParamsStatus = "accepted"
	// The Card Dispute has been rejected.
	SimulationCardDisputeActionParamsStatusRejected SimulationCardDisputeActionParamsStatus = "rejected"
	// The Card Dispute has been lost and funds previously credited from the acceptance
	// have been debited.
	SimulationCardDisputeActionParamsStatusLost SimulationCardDisputeActionParamsStatus = "lost"
	// The Card Dispute has been won and no further action can be taken.
	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 (
	// The card is not active.
	SimulationDigitalWalletTokenRequestNewResponseDeclineReasonCardNotActive SimulationDigitalWalletTokenRequestNewResponseDeclineReason = "card_not_active"
	// The card does not have a two-factor authentication method.
	SimulationDigitalWalletTokenRequestNewResponseDeclineReasonNoVerificationMethod SimulationDigitalWalletTokenRequestNewResponseDeclineReason = "no_verification_method"
	// Your webhook timed out when evaluating the token provisioning attempt.
	SimulationDigitalWalletTokenRequestNewResponseDeclineReasonWebhookTimedOut SimulationDigitalWalletTokenRequestNewResponseDeclineReason = "webhook_timed_out"
	// Your webhook declined the token provisioning attempt.
	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"`
	// 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 SimulationInboundACHTransferNewParamsStandardEntryClassCode

type SimulationInboundACHTransferNewParamsStandardEntryClassCode string

The standard entry class code for the transfer.

const (
	// Corporate Credit and Debit (CCD).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCorporateCreditOrDebit SimulationInboundACHTransferNewParamsStandardEntryClassCode = "corporate_credit_or_debit"
	// Corporate Trade Exchange (CTX).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCorporateTradeExchange SimulationInboundACHTransferNewParamsStandardEntryClassCode = "corporate_trade_exchange"
	// Prearranged Payments and Deposits (PPD).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodePrearrangedPaymentsAndDeposit SimulationInboundACHTransferNewParamsStandardEntryClassCode = "prearranged_payments_and_deposit"
	// Internet Initiated (WEB).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeInternetInitiated SimulationInboundACHTransferNewParamsStandardEntryClassCode = "internet_initiated"
	// Point of Sale (POS).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodePointOfSale SimulationInboundACHTransferNewParamsStandardEntryClassCode = "point_of_sale"
	// Telephone Initiated (TEL).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeTelephoneInitiated SimulationInboundACHTransferNewParamsStandardEntryClassCode = "telephone_initiated"
	// Customer Initiated (CIE).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCustomerInitiated SimulationInboundACHTransferNewParamsStandardEntryClassCode = "customer_initiated"
	// Accounts Receivable (ARC).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeAccountsReceivable SimulationInboundACHTransferNewParamsStandardEntryClassCode = "accounts_receivable"
	// Machine Transfer (MTE).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeMachineTransfer SimulationInboundACHTransferNewParamsStandardEntryClassCode = "machine_transfer"
	// Shared Network Transaction (SHR).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeSharedNetworkTransaction SimulationInboundACHTransferNewParamsStandardEntryClassCode = "shared_network_transaction"
	// Represented Check (RCK).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeRepresentedCheck SimulationInboundACHTransferNewParamsStandardEntryClassCode = "represented_check"
	// Back Office Conversion (BOC).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeBackOfficeConversion SimulationInboundACHTransferNewParamsStandardEntryClassCode = "back_office_conversion"
	// Point of Purchase (POP).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodePointOfPurchase SimulationInboundACHTransferNewParamsStandardEntryClassCode = "point_of_purchase"
	// Check Truncation (TRC).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeCheckTruncation SimulationInboundACHTransferNewParamsStandardEntryClassCode = "check_truncation"
	// Destroyed Check (XCK).
	SimulationInboundACHTransferNewParamsStandardEntryClassCodeDestroyedCheck SimulationInboundACHTransferNewParamsStandardEntryClassCode = "destroyed_check"
	// International ACH Transaction (IAT).
	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 (
	// Canadian Dollar (CAD)
	SimulationInboundFundsHoldReleaseResponseCurrencyCad SimulationInboundFundsHoldReleaseResponseCurrency = "CAD"
	// Swiss Franc (CHF)
	SimulationInboundFundsHoldReleaseResponseCurrencyChf SimulationInboundFundsHoldReleaseResponseCurrency = "CHF"
	// Euro (EUR)
	SimulationInboundFundsHoldReleaseResponseCurrencyEur SimulationInboundFundsHoldReleaseResponseCurrency = "EUR"
	// British Pound (GBP)
	SimulationInboundFundsHoldReleaseResponseCurrencyGbp SimulationInboundFundsHoldReleaseResponseCurrency = "GBP"
	// Japanese Yen (JPY)
	SimulationInboundFundsHoldReleaseResponseCurrencyJpy SimulationInboundFundsHoldReleaseResponseCurrency = "JPY"
	// US Dollar (USD)
	SimulationInboundFundsHoldReleaseResponseCurrencyUsd SimulationInboundFundsHoldReleaseResponseCurrency = "USD"
)

func (SimulationInboundFundsHoldReleaseResponseCurrency) IsKnown

type SimulationInboundFundsHoldReleaseResponseStatus

type SimulationInboundFundsHoldReleaseResponseStatus string

The status of the hold.

const (
	// Funds are still being held.
	SimulationInboundFundsHoldReleaseResponseStatusHeld SimulationInboundFundsHoldReleaseResponseStatus = "held"
	// Funds have been released.
	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"`
}

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 Number the Interest Payment 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 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 (
	// The physical card has not yet been shipped.
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusPending SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "pending"
	// The physical card shipment was canceled prior to submission.
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusCanceled SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "canceled"
	// The physical card shipment has been submitted to the card fulfillment provider.
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusSubmitted SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "submitted"
	// The physical card shipment has been acknowledged by the card fulfillment
	// provider and will be processed in their next batch.
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusAcknowledged SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "acknowledged"
	// The physical card shipment was rejected by the card printer due to an error.
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusRejected SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "rejected"
	// The physical card has been shipped.
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusShipped SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "shipped"
	// The physical card shipment was returned to the sender and destroyed by the
	// production facility.
	SimulationPhysicalCardAdvanceShipmentParamsShipmentStatusReturned SimulationPhysicalCardAdvanceShipmentParamsShipmentStatus = "returned"
)

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.

type SimulationProgramNewParams

type SimulationProgramNewParams struct {
	// The name of the program being added.
	Name param.Field[string] `json:"name,required"`
}

func (SimulationProgramNewParams) MarshalJSON

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

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 (
	// The destination account is closed. Corresponds to the Real-Time Payments reason
	// code `AC04`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeAccountClosed SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "account_closed"
	// The destination account is currently blocked from receiving transactions.
	// Corresponds to the Real-Time Payments reason code `AC06`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeAccountBlocked SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "account_blocked"
	// The destination account is ineligible to receive Real-Time Payments transfers.
	// Corresponds to the Real-Time Payments reason code `AC14`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorAccountType SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_account_type"
	// The destination account does not exist. Corresponds to the Real-Time Payments
	// reason code `AC03`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorAccountNumber SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_account_number"
	// The destination routing number is invalid. Corresponds to the Real-Time Payments
	// reason code `RC04`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorFinancialInstitutionIdentifier SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_financial_institution_identifier"
	// The destination account holder is deceased. Corresponds to the Real-Time
	// Payments reason code `MD07`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeEndCustomerDeceased SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "end_customer_deceased"
	// The reason is provided as narrative information in the additional information
	// field.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeNarrative SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "narrative"
	// Real-Time Payments transfers are not allowed to the destination account.
	// Corresponds to the Real-Time Payments reason code `AG01`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeTransactionForbidden SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "transaction_forbidden"
	// Real-Time Payments transfers are not enabled for the destination account.
	// Corresponds to the Real-Time Payments reason code `AG03`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeTransactionTypeNotSupported SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "transaction_type_not_supported"
	// The amount of the transfer is different than expected by the recipient.
	// Corresponds to the Real-Time Payments reason code `AM09`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeUnexpectedAmount SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "unexpected_amount"
	// The amount is higher than the recipient is authorized to send or receive.
	// Corresponds to the Real-Time Payments reason code `AM14`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeAmountExceedsBankLimits SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "amount_exceeds_bank_limits"
	// The creditor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE04`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidCreditorAddress SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_creditor_address"
	// The specified creditor is unknown. Corresponds to the Real-Time Payments reason
	// code `BE06`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeUnknownEndCustomer SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "unknown_end_customer"
	// The debtor's address is required, but missing or invalid. Corresponds to the
	// Real-Time Payments reason code `BE07`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInvalidDebtorAddress SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "invalid_debtor_address"
	// There was a timeout processing the transfer. Corresponds to the Real-Time
	// Payments reason code `DS24`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeTimeout SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "timeout"
	// Real-Time Payments transfers are not enabled for the destination account.
	// Corresponds to the Real-Time Payments reason code `NOAT`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeUnsupportedMessageForRecipient SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "unsupported_message_for_recipient"
	// The destination financial institution is currently not connected to Real-Time
	// Payments. Corresponds to the Real-Time Payments reason code `9912`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeRecipientConnectionNotAvailable SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "recipient_connection_not_available"
	// Real-Time Payments is currently unavailable. Corresponds to the Real-Time
	// Payments reason code `9948`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeRealTimePaymentsSuspended SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "real_time_payments_suspended"
	// The destination financial institution is currently signed off of Real-Time
	// Payments. Corresponds to the Real-Time Payments reason code `9910`.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeInstructedAgentSignedOff SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "instructed_agent_signed_off"
	// The transfer was rejected due to an internal Increase issue. We have been
	// notified.
	SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCodeProcessingError SimulationRealTimePaymentsTransferCompleteParamsRejectionRejectReasonCode = "processing_error"
	// Some other error or issue has occurred.
	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
	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 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.

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 (
	// Canadian Dollar (CAD)
	TransactionCurrencyCad TransactionCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionCurrencyChf TransactionCurrency = "CHF"
	// Euro (EUR)
	TransactionCurrencyEur TransactionCurrency = "EUR"
	// British Pound (GBP)
	TransactionCurrencyGbp TransactionCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionCurrencyJpy TransactionCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Account Transfer Intention: details will be under the
	// `account_transfer_intention` object.
	TransactionListParamsCategoryInAccountTransferIntention TransactionListParamsCategoryIn = "account_transfer_intention"
	// ACH Transfer Intention: details will be under the `ach_transfer_intention`
	// object.
	TransactionListParamsCategoryInACHTransferIntention TransactionListParamsCategoryIn = "ach_transfer_intention"
	// ACH Transfer Rejection: details will be under the `ach_transfer_rejection`
	// object.
	TransactionListParamsCategoryInACHTransferRejection TransactionListParamsCategoryIn = "ach_transfer_rejection"
	// ACH Transfer Return: details will be under the `ach_transfer_return` object.
	TransactionListParamsCategoryInACHTransferReturn TransactionListParamsCategoryIn = "ach_transfer_return"
	// Cashback Payment: details will be under the `cashback_payment` object.
	TransactionListParamsCategoryInCashbackPayment TransactionListParamsCategoryIn = "cashback_payment"
	// Card Dispute Acceptance: details will be under the `card_dispute_acceptance`
	// object.
	TransactionListParamsCategoryInCardDisputeAcceptance TransactionListParamsCategoryIn = "card_dispute_acceptance"
	// Card Dispute Loss: details will be under the `card_dispute_loss` object.
	TransactionListParamsCategoryInCardDisputeLoss TransactionListParamsCategoryIn = "card_dispute_loss"
	// Card Refund: details will be under the `card_refund` object.
	TransactionListParamsCategoryInCardRefund TransactionListParamsCategoryIn = "card_refund"
	// Card Settlement: details will be under the `card_settlement` object.
	TransactionListParamsCategoryInCardSettlement TransactionListParamsCategoryIn = "card_settlement"
	// Card Revenue Payment: details will be under the `card_revenue_payment` object.
	TransactionListParamsCategoryInCardRevenuePayment TransactionListParamsCategoryIn = "card_revenue_payment"
	// Check Deposit Acceptance: details will be under the `check_deposit_acceptance`
	// object.
	TransactionListParamsCategoryInCheckDepositAcceptance TransactionListParamsCategoryIn = "check_deposit_acceptance"
	// Check Deposit Return: details will be under the `check_deposit_return` object.
	TransactionListParamsCategoryInCheckDepositReturn TransactionListParamsCategoryIn = "check_deposit_return"
	// Check Transfer Deposit: details will be under the `check_transfer_deposit`
	// object.
	TransactionListParamsCategoryInCheckTransferDeposit TransactionListParamsCategoryIn = "check_transfer_deposit"
	// Fee Payment: details will be under the `fee_payment` object.
	TransactionListParamsCategoryInFeePayment TransactionListParamsCategoryIn = "fee_payment"
	// Inbound ACH Transfer Intention: details will be under the `inbound_ach_transfer`
	// object.
	TransactionListParamsCategoryInInboundACHTransfer TransactionListParamsCategoryIn = "inbound_ach_transfer"
	// Inbound ACH Transfer Return Intention: details will be under the
	// `inbound_ach_transfer_return_intention` object.
	TransactionListParamsCategoryInInboundACHTransferReturnIntention TransactionListParamsCategoryIn = "inbound_ach_transfer_return_intention"
	// Inbound Check Deposit Return Intention: details will be under the
	// `inbound_check_deposit_return_intention` object.
	TransactionListParamsCategoryInInboundCheckDepositReturnIntention TransactionListParamsCategoryIn = "inbound_check_deposit_return_intention"
	// Inbound Check Adjustment: details will be under the `inbound_check_adjustment`
	// object.
	TransactionListParamsCategoryInInboundCheckAdjustment TransactionListParamsCategoryIn = "inbound_check_adjustment"
	// Inbound Real-Time Payments Transfer Confirmation: details will be under the
	// `inbound_real_time_payments_transfer_confirmation` object.
	TransactionListParamsCategoryInInboundRealTimePaymentsTransferConfirmation TransactionListParamsCategoryIn = "inbound_real_time_payments_transfer_confirmation"
	// Inbound Real-Time Payments Transfer Decline: details will be under the
	// `inbound_real_time_payments_transfer_decline` object.
	TransactionListParamsCategoryInInboundRealTimePaymentsTransferDecline TransactionListParamsCategoryIn = "inbound_real_time_payments_transfer_decline"
	// Inbound Wire Reversal: details will be under the `inbound_wire_reversal` object.
	TransactionListParamsCategoryInInboundWireReversal TransactionListParamsCategoryIn = "inbound_wire_reversal"
	// Inbound Wire Transfer Intention: details will be under the
	// `inbound_wire_transfer` object.
	TransactionListParamsCategoryInInboundWireTransfer TransactionListParamsCategoryIn = "inbound_wire_transfer"
	// Inbound Wire Transfer Reversal Intention: details will be under the
	// `inbound_wire_transfer_reversal` object.
	TransactionListParamsCategoryInInboundWireTransferReversal TransactionListParamsCategoryIn = "inbound_wire_transfer_reversal"
	// Interest Payment: details will be under the `interest_payment` object.
	TransactionListParamsCategoryInInterestPayment TransactionListParamsCategoryIn = "interest_payment"
	// Internal Source: details will be under the `internal_source` object.
	TransactionListParamsCategoryInInternalSource TransactionListParamsCategoryIn = "internal_source"
	// Real-Time Payments Transfer Acknowledgement: details will be under the
	// `real_time_payments_transfer_acknowledgement` object.
	TransactionListParamsCategoryInRealTimePaymentsTransferAcknowledgement TransactionListParamsCategoryIn = "real_time_payments_transfer_acknowledgement"
	// Sample Funds: details will be under the `sample_funds` object.
	TransactionListParamsCategoryInSampleFunds TransactionListParamsCategoryIn = "sample_funds"
	// Wire Transfer Intention: details will be under the `wire_transfer_intention`
	// object.
	TransactionListParamsCategoryInWireTransferIntention TransactionListParamsCategoryIn = "wire_transfer_intention"
	// The Transaction was made for an undocumented or deprecated reason.
	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 (
	// An Account Number.
	TransactionRouteTypeAccountNumber TransactionRouteType = "account_number"
	// A Card.
	TransactionRouteTypeCard TransactionRouteType = "card"
	// A Lockbox.
	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`.
	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`.
	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`.
	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`.
	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`.
	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`.
	CardDisputeLoss TransactionSourceCardDisputeLoss `json:"card_dispute_loss,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`.
	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`.
	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`.
	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`.
	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`.
	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`.
	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`.
	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`.
	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`.
	InboundACHTransfer TransactionSourceInboundACHTransfer `json:"inbound_ach_transfer,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`.
	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`.
	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`.
	InboundWireTransfer TransactionSourceInboundWireTransfer `json:"inbound_wire_transfer,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`.
	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`.
	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`.
	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`.
	SampleFunds TransactionSourceSampleFunds `json:"sample_funds,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`.
	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`.

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

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

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 (
	// Code R01. Insufficient funds in the receiving account. Sometimes abbreviated to
	// NSF.
	TransactionSourceACHTransferReturnReturnReasonCodeInsufficientFund TransactionSourceACHTransferReturnReturnReasonCode = "insufficient_fund"
	// Code R03. The account does not exist or the receiving bank was unable to locate
	// it.
	TransactionSourceACHTransferReturnReturnReasonCodeNoAccount TransactionSourceACHTransferReturnReturnReasonCode = "no_account"
	// Code R02. The account is closed at the receiving bank.
	TransactionSourceACHTransferReturnReturnReasonCodeAccountClosed TransactionSourceACHTransferReturnReturnReasonCode = "account_closed"
	// Code R04. The account number is invalid at the receiving bank.
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidAccountNumberStructure TransactionSourceACHTransferReturnReturnReasonCode = "invalid_account_number_structure"
	// Code R16. The account at the receiving bank was frozen per the Office of Foreign
	// Assets Control.
	TransactionSourceACHTransferReturnReturnReasonCodeAccountFrozenEntryReturnedPerOfacInstruction TransactionSourceACHTransferReturnReturnReasonCode = "account_frozen_entry_returned_per_ofac_instruction"
	// Code R23. The receiving bank account refused a credit transfer.
	TransactionSourceACHTransferReturnReturnReasonCodeCreditEntryRefusedByReceiver TransactionSourceACHTransferReturnReturnReasonCode = "credit_entry_refused_by_receiver"
	// Code R05. The receiving bank rejected because of an incorrect Standard Entry
	// Class code.
	TransactionSourceACHTransferReturnReturnReasonCodeUnauthorizedDebitToConsumerAccountUsingCorporateSecCode TransactionSourceACHTransferReturnReturnReasonCode = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	// Code R29. The corporate customer at the receiving bank reversed the transfer.
	TransactionSourceACHTransferReturnReturnReasonCodeCorporateCustomerAdvisedNotAuthorized TransactionSourceACHTransferReturnReturnReasonCode = "corporate_customer_advised_not_authorized"
	// Code R08. The receiving bank stopped payment on this transfer.
	TransactionSourceACHTransferReturnReturnReasonCodePaymentStopped TransactionSourceACHTransferReturnReturnReasonCode = "payment_stopped"
	// Code R20. The receiving bank account does not perform transfers.
	TransactionSourceACHTransferReturnReturnReasonCodeNonTransactionAccount TransactionSourceACHTransferReturnReturnReasonCode = "non_transaction_account"
	// Code R09. The receiving bank account does not have enough available balance for
	// the transfer.
	TransactionSourceACHTransferReturnReturnReasonCodeUncollectedFunds TransactionSourceACHTransferReturnReturnReasonCode = "uncollected_funds"
	// Code R28. The routing number is incorrect.
	TransactionSourceACHTransferReturnReturnReasonCodeRoutingNumberCheckDigitError TransactionSourceACHTransferReturnReturnReasonCode = "routing_number_check_digit_error"
	// Code R10. The customer at the receiving bank reversed the transfer.
	TransactionSourceACHTransferReturnReturnReasonCodeCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete TransactionSourceACHTransferReturnReturnReasonCode = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// Code R19. The amount field is incorrect or too large.
	TransactionSourceACHTransferReturnReturnReasonCodeAmountFieldError TransactionSourceACHTransferReturnReturnReasonCode = "amount_field_error"
	// Code R07. The customer at the receiving institution informed their bank that
	// they have revoked authorization for a previously authorized transfer.
	TransactionSourceACHTransferReturnReturnReasonCodeAuthorizationRevokedByCustomer TransactionSourceACHTransferReturnReturnReasonCode = "authorization_revoked_by_customer"
	// Code R13. The routing number is invalid.
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidACHRoutingNumber TransactionSourceACHTransferReturnReturnReasonCode = "invalid_ach_routing_number"
	// Code R17. The receiving bank is unable to process a field in the transfer.
	TransactionSourceACHTransferReturnReturnReasonCodeFileRecordEditCriteria TransactionSourceACHTransferReturnReturnReasonCode = "file_record_edit_criteria"
	// Code R45. The individual name field was invalid.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidIndividualName TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_individual_name"
	// Code R06. The originating financial institution asked for this transfer to be
	// returned. The receiving bank is complying with the request.
	TransactionSourceACHTransferReturnReturnReasonCodeReturnedPerOdfiRequest TransactionSourceACHTransferReturnReturnReasonCode = "returned_per_odfi_request"
	// Code R34. The receiving bank's regulatory supervisor has limited their
	// participation in the ACH network.
	TransactionSourceACHTransferReturnReturnReasonCodeLimitedParticipationDfi TransactionSourceACHTransferReturnReturnReasonCode = "limited_participation_dfi"
	// Code R85. The outbound international ACH transfer was incorrect.
	TransactionSourceACHTransferReturnReturnReasonCodeIncorrectlyCodedOutboundInternationalPayment TransactionSourceACHTransferReturnReturnReasonCode = "incorrectly_coded_outbound_international_payment"
	// Code R12. A rare return reason. The account was sold to another bank.
	TransactionSourceACHTransferReturnReturnReasonCodeAccountSoldToAnotherDfi TransactionSourceACHTransferReturnReturnReasonCode = "account_sold_to_another_dfi"
	// Code R25. The addenda record is incorrect or missing.
	TransactionSourceACHTransferReturnReturnReasonCodeAddendaError TransactionSourceACHTransferReturnReturnReasonCode = "addenda_error"
	// Code R15. A rare return reason. The account holder is deceased.
	TransactionSourceACHTransferReturnReturnReasonCodeBeneficiaryOrAccountHolderDeceased TransactionSourceACHTransferReturnReturnReasonCode = "beneficiary_or_account_holder_deceased"
	// Code R11. A rare return reason. The customer authorized some payment to the
	// sender, but this payment was not in error.
	TransactionSourceACHTransferReturnReturnReasonCodeCustomerAdvisedNotWithinAuthorizationTerms TransactionSourceACHTransferReturnReturnReasonCode = "customer_advised_not_within_authorization_terms"
	// Code R74. A rare return reason. Sent in response to a return that was returned
	// with code `field_error`. The latest return should include the corrected
	// field(s).
	TransactionSourceACHTransferReturnReturnReasonCodeCorrectedReturn TransactionSourceACHTransferReturnReturnReasonCode = "corrected_return"
	// Code R24. A rare return reason. The receiving bank received an exact duplicate
	// entry with the same trace number and amount.
	TransactionSourceACHTransferReturnReturnReasonCodeDuplicateEntry TransactionSourceACHTransferReturnReturnReasonCode = "duplicate_entry"
	// Code R67. A rare return reason. The return this message refers to was a
	// duplicate.
	TransactionSourceACHTransferReturnReturnReasonCodeDuplicateReturn TransactionSourceACHTransferReturnReturnReasonCode = "duplicate_return"
	// Code R47. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrDuplicateEnrollment TransactionSourceACHTransferReturnReturnReasonCode = "enr_duplicate_enrollment"
	// Code R43. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidDfiAccountNumber TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_dfi_account_number"
	// Code R44. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidIndividualIDNumber TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_individual_id_number"
	// Code R46. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidRepresentativePayeeIndicator TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_representative_payee_indicator"
	// Code R41. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidTransactionCode TransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_transaction_code"
	// Code R40. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrReturnOfEnrEntry TransactionSourceACHTransferReturnReturnReasonCode = "enr_return_of_enr_entry"
	// Code R42. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	TransactionSourceACHTransferReturnReturnReasonCodeEnrRoutingNumberCheckDigitError TransactionSourceACHTransferReturnReturnReasonCode = "enr_routing_number_check_digit_error"
	// Code R84. A rare return reason. The International ACH Transfer cannot be
	// processed by the gateway.
	TransactionSourceACHTransferReturnReturnReasonCodeEntryNotProcessedByGateway TransactionSourceACHTransferReturnReturnReasonCode = "entry_not_processed_by_gateway"
	// Code R69. A rare return reason. One or more of the fields in the ACH were
	// malformed.
	TransactionSourceACHTransferReturnReturnReasonCodeFieldError TransactionSourceACHTransferReturnReturnReasonCode = "field_error"
	// Code R83. A rare return reason. The Foreign receiving bank was unable to settle
	// this ACH transfer.
	TransactionSourceACHTransferReturnReturnReasonCodeForeignReceivingDfiUnableToSettle TransactionSourceACHTransferReturnReturnReasonCode = "foreign_receiving_dfi_unable_to_settle"
	// Code R80. A rare return reason. The International ACH Transfer is malformed.
	TransactionSourceACHTransferReturnReturnReasonCodeIatEntryCodingError TransactionSourceACHTransferReturnReturnReasonCode = "iat_entry_coding_error"
	// Code R18. A rare return reason. The ACH has an improper effective entry date
	// field.
	TransactionSourceACHTransferReturnReturnReasonCodeImproperEffectiveEntryDate TransactionSourceACHTransferReturnReturnReasonCode = "improper_effective_entry_date"
	// Code R39. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	TransactionSourceACHTransferReturnReturnReasonCodeImproperSourceDocumentSourceDocumentPresented TransactionSourceACHTransferReturnReturnReasonCode = "improper_source_document_source_document_presented"
	// Code R21. A rare return reason. The Company ID field of the ACH was invalid.
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidCompanyID TransactionSourceACHTransferReturnReturnReasonCode = "invalid_company_id"
	// Code R82. A rare return reason. The foreign receiving bank identifier for an
	// International ACH Transfer was invalid.
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidForeignReceivingDfiIdentification TransactionSourceACHTransferReturnReturnReasonCode = "invalid_foreign_receiving_dfi_identification"
	// Code R22. A rare return reason. The Individual ID number field of the ACH was
	// invalid.
	TransactionSourceACHTransferReturnReturnReasonCodeInvalidIndividualIDNumber TransactionSourceACHTransferReturnReturnReasonCode = "invalid_individual_id_number"
	// Code R53. A rare return reason. Both the Represented Check ("RCK") entry and the
	// original check were presented to the bank.
	TransactionSourceACHTransferReturnReturnReasonCodeItemAndRckEntryPresentedForPayment TransactionSourceACHTransferReturnReturnReasonCode = "item_and_rck_entry_presented_for_payment"
	// Code R51. A rare return reason. The Represented Check ("RCK") entry is
	// ineligible.
	TransactionSourceACHTransferReturnReturnReasonCodeItemRelatedToRckEntryIsIneligible TransactionSourceACHTransferReturnReturnReasonCode = "item_related_to_rck_entry_is_ineligible"
	// Code R26. A rare return reason. The ACH is missing a required field.
	TransactionSourceACHTransferReturnReturnReasonCodeMandatoryFieldError TransactionSourceACHTransferReturnReturnReasonCode = "mandatory_field_error"
	// Code R71. A rare return reason. The receiving bank does not recognize the
	// routing number in a dishonored return entry.
	TransactionSourceACHTransferReturnReturnReasonCodeMisroutedDishonoredReturn TransactionSourceACHTransferReturnReturnReasonCode = "misrouted_dishonored_return"
	// Code R61. A rare return reason. The receiving bank does not recognize the
	// routing number in a return entry.
	TransactionSourceACHTransferReturnReturnReasonCodeMisroutedReturn TransactionSourceACHTransferReturnReturnReasonCode = "misrouted_return"
	// Code R76. A rare return reason. Sent in response to a return, the bank does not
	// find the errors alleged by the returning bank.
	TransactionSourceACHTransferReturnReturnReasonCodeNoErrorsFound TransactionSourceACHTransferReturnReturnReasonCode = "no_errors_found"
	// Code R77. A rare return reason. The receiving bank does not accept the return of
	// the erroneous debit. The funds are not available at the receiving bank.
	TransactionSourceACHTransferReturnReturnReasonCodeNonAcceptanceOfR62DishonoredReturn TransactionSourceACHTransferReturnReturnReasonCode = "non_acceptance_of_r62_dishonored_return"
	// Code R81. A rare return reason. The receiving bank does not accept International
	// ACH Transfers.
	TransactionSourceACHTransferReturnReturnReasonCodeNonParticipantInIatProgram TransactionSourceACHTransferReturnReturnReasonCode = "non_participant_in_iat_program"
	// Code R31. A rare return reason. A return that has been agreed to be accepted by
	// the receiving bank, despite falling outside of the usual return timeframe.
	TransactionSourceACHTransferReturnReturnReasonCodePermissibleReturnEntry TransactionSourceACHTransferReturnReturnReasonCode = "permissible_return_entry"
	// Code R70. A rare return reason. The receiving bank had not approved this return.
	TransactionSourceACHTransferReturnReturnReasonCodePermissibleReturnEntryNotAccepted TransactionSourceACHTransferReturnReturnReasonCode = "permissible_return_entry_not_accepted"
	// Code R32. A rare return reason. The receiving bank could not settle this
	// transaction.
	TransactionSourceACHTransferReturnReturnReasonCodeRdfiNonSettlement TransactionSourceACHTransferReturnReturnReasonCode = "rdfi_non_settlement"
	// Code R30. A rare return reason. The receiving bank does not accept Check
	// Truncation ACH transfers.
	TransactionSourceACHTransferReturnReturnReasonCodeRdfiParticipantInCheckTruncationProgram TransactionSourceACHTransferReturnReturnReasonCode = "rdfi_participant_in_check_truncation_program"
	// Code R14. A rare return reason. The payee is deceased.
	TransactionSourceACHTransferReturnReturnReasonCodeRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity TransactionSourceACHTransferReturnReturnReasonCode = "representative_payee_deceased_or_unable_to_continue_in_that_capacity"
	// Code R75. A rare return reason. The originating bank disputes that an earlier
	// `duplicate_entry` return was actually a duplicate.
	TransactionSourceACHTransferReturnReturnReasonCodeReturnNotADuplicate TransactionSourceACHTransferReturnReturnReasonCode = "return_not_a_duplicate"
	// Code R62. A rare return reason. The originating financial institution made a
	// mistake and this return corrects it.
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfErroneousOrReversingDebit TransactionSourceACHTransferReturnReturnReasonCode = "return_of_erroneous_or_reversing_debit"
	// Code R36. A rare return reason. Return of a malformed credit entry.
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfImproperCreditEntry TransactionSourceACHTransferReturnReturnReasonCode = "return_of_improper_credit_entry"
	// Code R35. A rare return reason. Return of a malformed debit entry.
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfImproperDebitEntry TransactionSourceACHTransferReturnReturnReasonCode = "return_of_improper_debit_entry"
	// Code R33. A rare return reason. Return of a Destroyed Check ("XKC") entry.
	TransactionSourceACHTransferReturnReturnReasonCodeReturnOfXckEntry TransactionSourceACHTransferReturnReturnReasonCode = "return_of_xck_entry"
	// Code R37. A rare return reason. The source document related to this ACH, usually
	// an ACH check conversion, was presented to the bank.
	TransactionSourceACHTransferReturnReturnReasonCodeSourceDocumentPresentedForPayment TransactionSourceACHTransferReturnReturnReasonCode = "source_document_presented_for_payment"
	// Code R50. A rare return reason. State law prevents the bank from accepting the
	// Represented Check ("RCK") entry.
	TransactionSourceACHTransferReturnReturnReasonCodeStateLawAffectingRckAcceptance TransactionSourceACHTransferReturnReturnReasonCode = "state_law_affecting_rck_acceptance"
	// Code R52. A rare return reason. A stop payment was issued on a Represented Check
	// ("RCK") entry.
	TransactionSourceACHTransferReturnReturnReasonCodeStopPaymentOnItemRelatedToRckEntry TransactionSourceACHTransferReturnReturnReasonCode = "stop_payment_on_item_related_to_rck_entry"
	// Code R38. A rare return reason. The source attached to the ACH, usually an ACH
	// check conversion, includes a stop payment.
	TransactionSourceACHTransferReturnReturnReasonCodeStopPaymentOnSourceDocument TransactionSourceACHTransferReturnReturnReasonCode = "stop_payment_on_source_document"
	// Code R73. A rare return reason. The bank receiving an `untimely_return` believes
	// it was on time.
	TransactionSourceACHTransferReturnReturnReasonCodeTimelyOriginalReturn TransactionSourceACHTransferReturnReturnReasonCode = "timely_original_return"
	// Code R27. A rare return reason. An ACH return's trace number does not match an
	// originated ACH.
	TransactionSourceACHTransferReturnReturnReasonCodeTraceNumberError TransactionSourceACHTransferReturnReturnReasonCode = "trace_number_error"
	// Code R72. A rare return reason. The dishonored return was sent too late.
	TransactionSourceACHTransferReturnReturnReasonCodeUntimelyDishonoredReturn TransactionSourceACHTransferReturnReturnReasonCode = "untimely_dishonored_return"
	// Code R68. A rare return reason. The return was sent too late.
	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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceAccountTransferIntentionCurrencyCad TransactionSourceAccountTransferIntentionCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceAccountTransferIntentionCurrencyChf TransactionSourceAccountTransferIntentionCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceAccountTransferIntentionCurrencyEur TransactionSourceAccountTransferIntentionCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceAccountTransferIntentionCurrencyGbp TransactionSourceAccountTransferIntentionCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceAccountTransferIntentionCurrencyJpy TransactionSourceAccountTransferIntentionCurrency = "JPY"
	// US Dollar (USD)
	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`.

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

func (*TransactionSourceCardDisputeLoss) UnmarshalJSON

func (r *TransactionSourceCardDisputeLoss) 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"`
	// 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,nullable"`
	// 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,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,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`.

func (*TransactionSourceCardRefund) UnmarshalJSON

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

type TransactionSourceCardRefundCurrency

type TransactionSourceCardRefundCurrency string

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

const (
	// Canadian Dollar (CAD)
	TransactionSourceCardRefundCurrencyCad TransactionSourceCardRefundCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCardRefundCurrencyChf TransactionSourceCardRefundCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCardRefundCurrencyEur TransactionSourceCardRefundCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCardRefundCurrencyGbp TransactionSourceCardRefundCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCardRefundCurrencyJpy TransactionSourceCardRefundCurrency = "JPY"
	// US Dollar (USD)
	TransactionSourceCardRefundCurrencyUsd TransactionSourceCardRefundCurrency = "USD"
)

func (TransactionSourceCardRefundCurrency) IsKnown

type TransactionSourceCardRefundInterchange

type TransactionSourceCardRefundInterchange struct {
	// The interchange amount given as a string containing a decimal number. 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 (
	// Canadian Dollar (CAD)
	TransactionSourceCardRefundInterchangeCurrencyCad TransactionSourceCardRefundInterchangeCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCardRefundInterchangeCurrencyChf TransactionSourceCardRefundInterchangeCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCardRefundInterchangeCurrencyEur TransactionSourceCardRefundInterchangeCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCardRefundInterchangeCurrencyGbp TransactionSourceCardRefundInterchangeCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCardRefundInterchangeCurrencyJpy TransactionSourceCardRefundInterchangeCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// No extra charge
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesNoExtraCharge TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	// Gas
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesGas TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "gas"
	// Extra mileage
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesExtraMileage TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	// Late return
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesLateReturn TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "late_return"
	// One way service fee
	TransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesOneWayServiceFee TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	// Parking violation
	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 (
	// Not applicable
	TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicatorNotApplicable TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	// No show for specialized vehicle
	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 (
	// No extra charge
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesNoExtraCharge TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	// Restaurant
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesRestaurant TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "restaurant"
	// Gift shop
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesGiftShop TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "gift_shop"
	// Mini bar
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesMiniBar TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "mini_bar"
	// Telephone
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesTelephone TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "telephone"
	// Other
	TransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesOther TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "other"
	// Laundry
	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 (
	// Not applicable
	TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicatorNotApplicable TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	// No show
	TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicatorNoShow TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat

type TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	// Free text
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatFreeText TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	// Order number
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatOrderNumber TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	// Rental agreement number
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	// Hotel folio number
	TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	// Invoice 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 (
	// No credit
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Other
	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 (
	// None
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryNone TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "none"
	// Bundled service
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBundledService TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	// Baggage fee
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	// Change fee
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryChangeFee TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	// Cargo
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCargo TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	// Carbon offset
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	// Frequent flyer
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	// Gift card
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGiftCard TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	// Ground transport
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	// In-flight entertainment
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	// Lounge
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryLounge TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	// Medical
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMedical TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	// Meal beverage
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	// Other
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryOther TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "other"
	// Passenger assist fee
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	// Pets
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPets TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	// Seat fees
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategorySeatFees TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	// Standby
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStandby TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	// Service fee
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryServiceFee TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	// Store
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStore TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "store"
	// Travel service
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryTravelService TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	// Unaccompanied travel
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	// Upgrades
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUpgrades TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	// Wi-fi
	TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryWifi TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator

type TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorNoCredit TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket cancellation
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	// Other
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorOther TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "other"
	// Partial refund of airline ticket
	TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator

type TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	// No restrictions
	TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	// Restricted non-refundable ticket
	TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator

type TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	// None
	TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorNone TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "none"
	// Change to existing ticket
	TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	// New 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 (
	// None
	TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeNone TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "none"
	// Stop over allowed
	TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	// Stop over not 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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceCardRevenuePaymentCurrencyCad TransactionSourceCardRevenuePaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCardRevenuePaymentCurrencyChf TransactionSourceCardRevenuePaymentCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCardRevenuePaymentCurrencyEur TransactionSourceCardRevenuePaymentCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCardRevenuePaymentCurrencyGbp TransactionSourceCardRevenuePaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCardRevenuePaymentCurrencyJpy TransactionSourceCardRevenuePaymentCurrency = "JPY"
	// US Dollar (USD)
	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"`
	// 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 transaciton.
	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,nullable"`
	// 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,nullable"`
	// The country the merchant resides in.
	MerchantCountry string `json:"merchant_country,required"`
	// The name of the merchant.
	MerchantName string `json:"merchant_name,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`.

func (*TransactionSourceCardSettlement) UnmarshalJSON

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

type TransactionSourceCardSettlementCurrency

type TransactionSourceCardSettlementCurrency string

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

const (
	// Canadian Dollar (CAD)
	TransactionSourceCardSettlementCurrencyCad TransactionSourceCardSettlementCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCardSettlementCurrencyChf TransactionSourceCardSettlementCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCardSettlementCurrencyEur TransactionSourceCardSettlementCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCardSettlementCurrencyGbp TransactionSourceCardSettlementCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCardSettlementCurrencyJpy TransactionSourceCardSettlementCurrency = "JPY"
	// US Dollar (USD)
	TransactionSourceCardSettlementCurrencyUsd TransactionSourceCardSettlementCurrency = "USD"
)

func (TransactionSourceCardSettlementCurrency) IsKnown

type TransactionSourceCardSettlementInterchange

type TransactionSourceCardSettlementInterchange struct {
	// The interchange amount given as a string containing a decimal number. 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 transaciton.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceCardSettlementInterchangeCurrencyCad TransactionSourceCardSettlementInterchangeCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCardSettlementInterchangeCurrencyChf TransactionSourceCardSettlementInterchangeCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCardSettlementInterchangeCurrencyEur TransactionSourceCardSettlementInterchangeCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCardSettlementInterchangeCurrencyGbp TransactionSourceCardSettlementInterchangeCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCardSettlementInterchangeCurrencyJpy TransactionSourceCardSettlementInterchangeCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// No extra charge
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesNoExtraCharge TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	// Gas
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesGas TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "gas"
	// Extra mileage
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesExtraMileage TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	// Late return
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesLateReturn TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "late_return"
	// One way service fee
	TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesOneWayServiceFee TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	// Parking violation
	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 (
	// Not applicable
	TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNotApplicable TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	// No show for specialized vehicle
	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 (
	// No extra charge
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesNoExtraCharge TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	// Restaurant
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesRestaurant TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "restaurant"
	// Gift shop
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesGiftShop TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "gift_shop"
	// Mini bar
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesMiniBar TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "mini_bar"
	// Telephone
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesTelephone TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "telephone"
	// Other
	TransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesOther TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "other"
	// Laundry
	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 (
	// Not applicable
	TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicatorNotApplicable TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	// No show
	TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicatorNoShow TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat

type TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	// Free text
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatFreeText TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	// Order number
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatOrderNumber TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	// Rental agreement number
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	// Hotel folio number
	TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	// Invoice 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 (
	// No credit
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Other
	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 (
	// None
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryNone TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "none"
	// Bundled service
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBundledService TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	// Baggage fee
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	// Change fee
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryChangeFee TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	// Cargo
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCargo TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	// Carbon offset
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	// Frequent flyer
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	// Gift card
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGiftCard TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	// Ground transport
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	// In-flight entertainment
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	// Lounge
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryLounge TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	// Medical
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMedical TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	// Meal beverage
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	// Other
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryOther TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "other"
	// Passenger assist fee
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	// Pets
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPets TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	// Seat fees
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategorySeatFees TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	// Standby
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStandby TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	// Service fee
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryServiceFee TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	// Store
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStore TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "store"
	// Travel service
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryTravelService TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	// Unaccompanied travel
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	// Upgrades
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUpgrades TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	// Wi-fi
	TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryWifi TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator

type TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorNoCredit TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket cancellation
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	// Other
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorOther TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "other"
	// Partial refund of airline ticket
	TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator

type TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	// No restrictions
	TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	// Restricted non-refundable ticket
	TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown

type TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator

type TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	// None
	TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNone TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "none"
	// Change to existing ticket
	TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	// New 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 (
	// None
	TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeNone TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "none"
	// Stop over allowed
	TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	// Stop over not 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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceCashbackPaymentCurrencyCad TransactionSourceCashbackPaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCashbackPaymentCurrencyChf TransactionSourceCashbackPaymentCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCashbackPaymentCurrencyEur TransactionSourceCashbackPaymentCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCashbackPaymentCurrencyGbp TransactionSourceCashbackPaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCashbackPaymentCurrencyJpy TransactionSourceCashbackPaymentCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Account Transfer Intention: details will be under the
	// `account_transfer_intention` object.
	TransactionSourceCategoryAccountTransferIntention TransactionSourceCategory = "account_transfer_intention"
	// ACH Transfer Intention: details will be under the `ach_transfer_intention`
	// object.
	TransactionSourceCategoryACHTransferIntention TransactionSourceCategory = "ach_transfer_intention"
	// ACH Transfer Rejection: details will be under the `ach_transfer_rejection`
	// object.
	TransactionSourceCategoryACHTransferRejection TransactionSourceCategory = "ach_transfer_rejection"
	// ACH Transfer Return: details will be under the `ach_transfer_return` object.
	TransactionSourceCategoryACHTransferReturn TransactionSourceCategory = "ach_transfer_return"
	// Cashback Payment: details will be under the `cashback_payment` object.
	TransactionSourceCategoryCashbackPayment TransactionSourceCategory = "cashback_payment"
	// Card Dispute Acceptance: details will be under the `card_dispute_acceptance`
	// object.
	TransactionSourceCategoryCardDisputeAcceptance TransactionSourceCategory = "card_dispute_acceptance"
	// Card Dispute Loss: details will be under the `card_dispute_loss` object.
	TransactionSourceCategoryCardDisputeLoss TransactionSourceCategory = "card_dispute_loss"
	// Card Refund: details will be under the `card_refund` object.
	TransactionSourceCategoryCardRefund TransactionSourceCategory = "card_refund"
	// Card Settlement: details will be under the `card_settlement` object.
	TransactionSourceCategoryCardSettlement TransactionSourceCategory = "card_settlement"
	// Card Revenue Payment: details will be under the `card_revenue_payment` object.
	TransactionSourceCategoryCardRevenuePayment TransactionSourceCategory = "card_revenue_payment"
	// Check Deposit Acceptance: details will be under the `check_deposit_acceptance`
	// object.
	TransactionSourceCategoryCheckDepositAcceptance TransactionSourceCategory = "check_deposit_acceptance"
	// Check Deposit Return: details will be under the `check_deposit_return` object.
	TransactionSourceCategoryCheckDepositReturn TransactionSourceCategory = "check_deposit_return"
	// Check Transfer Deposit: details will be under the `check_transfer_deposit`
	// object.
	TransactionSourceCategoryCheckTransferDeposit TransactionSourceCategory = "check_transfer_deposit"
	// Fee Payment: details will be under the `fee_payment` object.
	TransactionSourceCategoryFeePayment TransactionSourceCategory = "fee_payment"
	// Inbound ACH Transfer Intention: details will be under the `inbound_ach_transfer`
	// object.
	TransactionSourceCategoryInboundACHTransfer TransactionSourceCategory = "inbound_ach_transfer"
	// Inbound ACH Transfer Return Intention: details will be under the
	// `inbound_ach_transfer_return_intention` object.
	TransactionSourceCategoryInboundACHTransferReturnIntention TransactionSourceCategory = "inbound_ach_transfer_return_intention"
	// Inbound Check Deposit Return Intention: details will be under the
	// `inbound_check_deposit_return_intention` object.
	TransactionSourceCategoryInboundCheckDepositReturnIntention TransactionSourceCategory = "inbound_check_deposit_return_intention"
	// Inbound Check Adjustment: details will be under the `inbound_check_adjustment`
	// object.
	TransactionSourceCategoryInboundCheckAdjustment TransactionSourceCategory = "inbound_check_adjustment"
	// Inbound Real-Time Payments Transfer Confirmation: details will be under the
	// `inbound_real_time_payments_transfer_confirmation` object.
	TransactionSourceCategoryInboundRealTimePaymentsTransferConfirmation TransactionSourceCategory = "inbound_real_time_payments_transfer_confirmation"
	// Inbound Real-Time Payments Transfer Decline: details will be under the
	// `inbound_real_time_payments_transfer_decline` object.
	TransactionSourceCategoryInboundRealTimePaymentsTransferDecline TransactionSourceCategory = "inbound_real_time_payments_transfer_decline"
	// Inbound Wire Reversal: details will be under the `inbound_wire_reversal` object.
	TransactionSourceCategoryInboundWireReversal TransactionSourceCategory = "inbound_wire_reversal"
	// Inbound Wire Transfer Intention: details will be under the
	// `inbound_wire_transfer` object.
	TransactionSourceCategoryInboundWireTransfer TransactionSourceCategory = "inbound_wire_transfer"
	// Inbound Wire Transfer Reversal Intention: details will be under the
	// `inbound_wire_transfer_reversal` object.
	TransactionSourceCategoryInboundWireTransferReversal TransactionSourceCategory = "inbound_wire_transfer_reversal"
	// Interest Payment: details will be under the `interest_payment` object.
	TransactionSourceCategoryInterestPayment TransactionSourceCategory = "interest_payment"
	// Internal Source: details will be under the `internal_source` object.
	TransactionSourceCategoryInternalSource TransactionSourceCategory = "internal_source"
	// Real-Time Payments Transfer Acknowledgement: details will be under the
	// `real_time_payments_transfer_acknowledgement` object.
	TransactionSourceCategoryRealTimePaymentsTransferAcknowledgement TransactionSourceCategory = "real_time_payments_transfer_acknowledgement"
	// Sample Funds: details will be under the `sample_funds` object.
	TransactionSourceCategorySampleFunds TransactionSourceCategory = "sample_funds"
	// Wire Transfer Intention: details will be under the `wire_transfer_intention`
	// object.
	TransactionSourceCategoryWireTransferIntention TransactionSourceCategory = "wire_transfer_intention"
	// The Transaction was made for an undocumented or deprecated reason.
	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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceCheckDepositAcceptanceCurrencyCad TransactionSourceCheckDepositAcceptanceCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCheckDepositAcceptanceCurrencyChf TransactionSourceCheckDepositAcceptanceCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCheckDepositAcceptanceCurrencyEur TransactionSourceCheckDepositAcceptanceCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCheckDepositAcceptanceCurrencyGbp TransactionSourceCheckDepositAcceptanceCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCheckDepositAcceptanceCurrencyJpy TransactionSourceCheckDepositAcceptanceCurrency = "JPY"
	// US Dollar (USD)
	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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceCheckDepositReturnCurrencyCad TransactionSourceCheckDepositReturnCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceCheckDepositReturnCurrencyChf TransactionSourceCheckDepositReturnCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceCheckDepositReturnCurrencyEur TransactionSourceCheckDepositReturnCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceCheckDepositReturnCurrencyGbp TransactionSourceCheckDepositReturnCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceCheckDepositReturnCurrencyJpy TransactionSourceCheckDepositReturnCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// The check doesn't allow ACH conversion.
	TransactionSourceCheckDepositReturnReturnReasonACHConversionNotSupported TransactionSourceCheckDepositReturnReturnReason = "ach_conversion_not_supported"
	// The account is closed.
	TransactionSourceCheckDepositReturnReturnReasonClosedAccount TransactionSourceCheckDepositReturnReturnReason = "closed_account"
	// The check has already been deposited.
	TransactionSourceCheckDepositReturnReturnReasonDuplicateSubmission TransactionSourceCheckDepositReturnReturnReason = "duplicate_submission"
	// Insufficient funds
	TransactionSourceCheckDepositReturnReturnReasonInsufficientFunds TransactionSourceCheckDepositReturnReturnReason = "insufficient_funds"
	// No account was found matching the check details.
	TransactionSourceCheckDepositReturnReturnReasonNoAccount TransactionSourceCheckDepositReturnReturnReason = "no_account"
	// The check was not authorized.
	TransactionSourceCheckDepositReturnReturnReasonNotAuthorized TransactionSourceCheckDepositReturnReturnReason = "not_authorized"
	// The check is too old.
	TransactionSourceCheckDepositReturnReturnReasonStaleDated TransactionSourceCheckDepositReturnReturnReason = "stale_dated"
	// The payment has been stopped by the account holder.
	TransactionSourceCheckDepositReturnReturnReasonStopPayment TransactionSourceCheckDepositReturnReturnReason = "stop_payment"
	// The reason for the return is unknown.
	TransactionSourceCheckDepositReturnReturnReasonUnknownReason TransactionSourceCheckDepositReturnReturnReason = "unknown_reason"
	// The image doesn't match the details submitted.
	TransactionSourceCheckDepositReturnReturnReasonUnmatchedDetails TransactionSourceCheckDepositReturnReturnReason = "unmatched_details"
	// The image could not be read.
	TransactionSourceCheckDepositReturnReturnReasonUnreadableImage TransactionSourceCheckDepositReturnReturnReason = "unreadable_image"
	// The check endorsement was irregular.
	TransactionSourceCheckDepositReturnReturnReasonEndorsementIrregular TransactionSourceCheckDepositReturnReturnReason = "endorsement_irregular"
	// The check present was either altered or fake.
	TransactionSourceCheckDepositReturnReturnReasonAlteredOrFictitiousItem TransactionSourceCheckDepositReturnReturnReason = "altered_or_fictitious_item"
	// The account this check is drawn on is frozen.
	TransactionSourceCheckDepositReturnReturnReasonFrozenOrBlockedAccount TransactionSourceCheckDepositReturnReturnReason = "frozen_or_blocked_account"
	// The check is post dated.
	TransactionSourceCheckDepositReturnReturnReasonPostDated TransactionSourceCheckDepositReturnReturnReason = "post_dated"
	// The endorsement was missing.
	TransactionSourceCheckDepositReturnReturnReasonEndorsementMissing TransactionSourceCheckDepositReturnReturnReason = "endorsement_missing"
	// The check signature was missing.
	TransactionSourceCheckDepositReturnReturnReasonSignatureMissing TransactionSourceCheckDepositReturnReturnReason = "signature_missing"
	// The bank suspects a stop payment will be placed.
	TransactionSourceCheckDepositReturnReturnReasonStopPaymentSuspect TransactionSourceCheckDepositReturnReturnReason = "stop_payment_suspect"
	// The bank cannot read the image.
	TransactionSourceCheckDepositReturnReturnReasonUnusableImage TransactionSourceCheckDepositReturnReturnReason = "unusable_image"
	// The check image fails the bank's security check.
	TransactionSourceCheckDepositReturnReturnReasonImageFailsSecurityCheck TransactionSourceCheckDepositReturnReturnReason = "image_fails_security_check"
	// The bank cannot determine the amount.
	TransactionSourceCheckDepositReturnReturnReasonCannotDetermineAmount TransactionSourceCheckDepositReturnReturnReason = "cannot_determine_amount"
	// The signature is inconsistent with prior signatures.
	TransactionSourceCheckDepositReturnReturnReasonSignatureIrregular TransactionSourceCheckDepositReturnReturnReason = "signature_irregular"
	// The check is a non-cash item and cannot be drawn against the account.
	TransactionSourceCheckDepositReturnReturnReasonNonCashItem TransactionSourceCheckDepositReturnReturnReason = "non_cash_item"
	// The bank is unable to process this check.
	TransactionSourceCheckDepositReturnReturnReasonUnableToProcess TransactionSourceCheckDepositReturnReturnReason = "unable_to_process"
	// The check exceeds the bank or customer's limit.
	TransactionSourceCheckDepositReturnReturnReasonItemExceedsDollarLimit TransactionSourceCheckDepositReturnReturnReason = "item_exceeds_dollar_limit"
	// The bank sold this account and no longer services this customer.
	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`.

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

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 (
	// Canadian Dollar (CAD)
	TransactionSourceFeePaymentCurrencyCad TransactionSourceFeePaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceFeePaymentCurrencyChf TransactionSourceFeePaymentCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceFeePaymentCurrencyEur TransactionSourceFeePaymentCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceFeePaymentCurrencyGbp TransactionSourceFeePaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceFeePaymentCurrencyJpy TransactionSourceFeePaymentCurrency = "JPY"
	// US Dollar (USD)
	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`.

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 (
	// Unstructured addendum.
	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 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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyCad TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyChf TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyEur TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyGbp TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyJpy TransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Canadian Dollar (CAD)
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyCad TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyChf TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyEur TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyGbp TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyJpy TransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// The account number is canceled.
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	// The account number is disabled.
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	// Your account is restricted.
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountRestricted TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	// Your account is inactive.
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonGroupLocked TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "group_locked"
	// The account's entity is not active.
	TransactionSourceInboundRealTimePaymentsTransferDeclineReasonEntityNotActive TransactionSourceInboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	// Your account is not enabled to receive Real-Time Payments transfers.
	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`.

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

func (*TransactionSourceInboundWireTransfer) UnmarshalJSON

func (r *TransactionSourceInboundWireTransfer) 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,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 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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceInterestPaymentCurrencyCad TransactionSourceInterestPaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceInterestPaymentCurrencyChf TransactionSourceInterestPaymentCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceInterestPaymentCurrencyEur TransactionSourceInterestPaymentCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceInterestPaymentCurrencyGbp TransactionSourceInterestPaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceInterestPaymentCurrencyJpy TransactionSourceInterestPaymentCurrency = "JPY"
	// US Dollar (USD)
	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`.

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 (
	// Canadian Dollar (CAD)
	TransactionSourceInternalSourceCurrencyCad TransactionSourceInternalSourceCurrency = "CAD"
	// Swiss Franc (CHF)
	TransactionSourceInternalSourceCurrencyChf TransactionSourceInternalSourceCurrency = "CHF"
	// Euro (EUR)
	TransactionSourceInternalSourceCurrencyEur TransactionSourceInternalSourceCurrency = "EUR"
	// British Pound (GBP)
	TransactionSourceInternalSourceCurrencyGbp TransactionSourceInternalSourceCurrency = "GBP"
	// Japanese Yen (JPY)
	TransactionSourceInternalSourceCurrencyJpy TransactionSourceInternalSourceCurrency = "JPY"
	// US Dollar (USD)
	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 (
	// Account closure
	TransactionSourceInternalSourceReasonAccountClosure TransactionSourceInternalSourceReason = "account_closure"
	// Bank-drawn check
	TransactionSourceInternalSourceReasonBankDrawnCheck TransactionSourceInternalSourceReason = "bank_drawn_check"
	// Bank-drawn check credit
	TransactionSourceInternalSourceReasonBankDrawnCheckCredit TransactionSourceInternalSourceReason = "bank_drawn_check_credit"
	// Bank migration
	TransactionSourceInternalSourceReasonBankMigration TransactionSourceInternalSourceReason = "bank_migration"
	// Check adjustment
	TransactionSourceInternalSourceReasonCheckAdjustment TransactionSourceInternalSourceReason = "check_adjustment"
	// Collection payment
	TransactionSourceInternalSourceReasonCollectionPayment TransactionSourceInternalSourceReason = "collection_payment"
	// Collection receivable
	TransactionSourceInternalSourceReasonCollectionReceivable TransactionSourceInternalSourceReason = "collection_receivable"
	// Empyreal adjustment
	TransactionSourceInternalSourceReasonEmpyrealAdjustment TransactionSourceInternalSourceReason = "empyreal_adjustment"
	// Error
	TransactionSourceInternalSourceReasonError TransactionSourceInternalSourceReason = "error"
	// Error correction
	TransactionSourceInternalSourceReasonErrorCorrection TransactionSourceInternalSourceReason = "error_correction"
	// Fees
	TransactionSourceInternalSourceReasonFees TransactionSourceInternalSourceReason = "fees"
	// Interest
	TransactionSourceInternalSourceReasonInterest TransactionSourceInternalSourceReason = "interest"
	// Negative balance forgiveness
	TransactionSourceInternalSourceReasonNegativeBalanceForgiveness TransactionSourceInternalSourceReason = "negative_balance_forgiveness"
	// Sample funds
	TransactionSourceInternalSourceReasonSampleFunds TransactionSourceInternalSourceReason = "sample_funds"
	// Sample funds return
	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`.

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

func (*TransactionSourceSampleFunds) UnmarshalJSON

func (r *TransactionSourceSampleFunds) 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`.

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 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 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the amount being
	// requested. Will always be "USD".
	Currency string `json:"currency,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 message the recipient will see as part of the drawdown request.
	MessageToRecipient string `json:"message_to_recipient,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 drawdown request's recipient's account number.
	RecipientAccountNumber string `json:"recipient_account_number,required"`
	// Line 1 of the drawdown request's recipient's address.
	RecipientAddressLine1 string `json:"recipient_address_line1,required,nullable"`
	// Line 2 of the drawdown request's recipient's address.
	RecipientAddressLine2 string `json:"recipient_address_line2,required,nullable"`
	// Line 3 of the drawdown request's recipient's address.
	RecipientAddressLine3 string `json:"recipient_address_line3,required,nullable"`
	// The drawdown request's recipient's name.
	RecipientName string `json:"recipient_name,required,nullable"`
	// The drawdown request's recipient's routing number.
	RecipientRoutingNumber string `json:"recipient_routing_number,required"`
	// 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"`
	JSON wireDrawdownRequestJSON `json:"-"`
}

Wire drawdown requests enable you to request that someone else send you a wire. This feature is in beta; reach out to [support@increase.com](mailto:support@increase.com) to learn more.

func (*WireDrawdownRequest) UnmarshalJSON

func (r *WireDrawdownRequest) 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"`
	// Filter Wire Drawdown Requests for those with the specified status.
	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 string

Filter Wire Drawdown Requests for those with the specified status.

const (
	// The drawdown request is queued to be submitted to Fedwire.
	WireDrawdownRequestListParamsStatusPendingSubmission WireDrawdownRequestListParamsStatus = "pending_submission"
	// The drawdown request has been sent and the recipient should respond in some way.
	WireDrawdownRequestListParamsStatusPendingResponse WireDrawdownRequestListParamsStatus = "pending_response"
	// The drawdown request has been fulfilled by the recipient.
	WireDrawdownRequestListParamsStatusFulfilled WireDrawdownRequestListParamsStatus = "fulfilled"
	// The drawdown request has been refused by the recipient.
	WireDrawdownRequestListParamsStatusRefused WireDrawdownRequestListParamsStatus = "refused"
)

func (WireDrawdownRequestListParamsStatus) IsKnown

type WireDrawdownRequestNewParams

type WireDrawdownRequestNewParams struct {
	// The Account Number to which the recipient should send funds.
	AccountNumberID param.Field[string] `json:"account_number_id,required"`
	// The amount requested from the recipient, in USD cents.
	Amount param.Field[int64] `json:"amount,required"`
	// A message the recipient will see as part of the request.
	MessageToRecipient param.Field[string] `json:"message_to_recipient,required"`
	// The drawdown request's recipient's account number.
	RecipientAccountNumber param.Field[string] `json:"recipient_account_number,required"`
	// The drawdown request's recipient's name.
	RecipientName param.Field[string] `json:"recipient_name,required"`
	// The drawdown request's recipient's routing number.
	RecipientRoutingNumber param.Field[string] `json:"recipient_routing_number,required"`
	// The drawdown request originator's address line 1. This is only necessary if
	// you're requesting a payment to a commingled account. Otherwise, we'll use the
	// associated entity's details.
	OriginatorAddressLine1 param.Field[string] `json:"originator_address_line1"`
	// The drawdown request originator's address line 2. This is only necessary if
	// you're requesting a payment to a commingled account. Otherwise, we'll use the
	// associated entity's details.
	OriginatorAddressLine2 param.Field[string] `json:"originator_address_line2"`
	// The drawdown request originator's address line 3. This is only necessary if
	// you're requesting a payment to a commingled account. Otherwise, we'll use the
	// associated entity's details.
	OriginatorAddressLine3 param.Field[string] `json:"originator_address_line3"`
	// The drawdown request originator's name. This is only necessary if you're
	// requesting a payment to a commingled account. Otherwise, we'll use the
	// associated entity's details.
	OriginatorName param.Field[string] `json:"originator_name"`
	// Line 1 of the drawdown request's recipient's address.
	RecipientAddressLine1 param.Field[string] `json:"recipient_address_line1"`
	// Line 2 of the drawdown request's recipient's address.
	RecipientAddressLine2 param.Field[string] `json:"recipient_address_line2"`
	// Line 3 of the drawdown request's recipient's address.
	RecipientAddressLine3 param.Field[string] `json:"recipient_address_line3"`
}

func (WireDrawdownRequestNewParams) MarshalJSON

func (r WireDrawdownRequestNewParams) 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 (
	// The drawdown request is queued to be submitted to Fedwire.
	WireDrawdownRequestStatusPendingSubmission WireDrawdownRequestStatus = "pending_submission"
	// The drawdown request has been sent and the recipient should respond in some way.
	WireDrawdownRequestStatusPendingResponse WireDrawdownRequestStatus = "pending_response"
	// The drawdown request has been fulfilled by the recipient.
	WireDrawdownRequestStatusFulfilled WireDrawdownRequestStatus = "fulfilled"
	// The drawdown request has been refused by the recipient.
	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 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 (
	// An API key. Details will be under the `api_key` object.
	WireTransferCreatedByCategoryAPIKey WireTransferCreatedByCategory = "api_key"
	// An OAuth application you connected to Increase. Details will be under the
	// `oauth_application` object.
	WireTransferCreatedByCategoryOAuthApplication WireTransferCreatedByCategory = "oauth_application"
	// A User in the Increase dashboard. Details will be under the `user` object.
	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 (
	// Canadian Dollar (CAD)
	WireTransferCurrencyCad WireTransferCurrency = "CAD"
	// Swiss Franc (CHF)
	WireTransferCurrencyChf WireTransferCurrency = "CHF"
	// Euro (EUR)
	WireTransferCurrencyEur WireTransferCurrency = "EUR"
	// British Pound (GBP)
	WireTransferCurrencyGbp WireTransferCurrency = "GBP"
	// Japanese Yen (JPY)
	WireTransferCurrencyJpy WireTransferCurrency = "JPY"
	// US Dollar (USD)
	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 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 (
	// The transfer is pending approval.
	WireTransferStatusPendingApproval WireTransferStatus = "pending_approval"
	// The transfer has been canceled.
	WireTransferStatusCanceled WireTransferStatus = "canceled"
	// The transfer is pending review by Increase.
	WireTransferStatusPendingReviewing WireTransferStatus = "pending_reviewing"
	// The transfer has been rejected by Increase.
	WireTransferStatusRejected WireTransferStatus = "rejected"
	// The transfer requires attention from an Increase operator.
	WireTransferStatusRequiresAttention WireTransferStatus = "requires_attention"
	// The transfer is pending creation.
	WireTransferStatusPendingCreating WireTransferStatus = "pending_creating"
	// The transfer has been reversed.
	WireTransferStatusReversed WireTransferStatus = "reversed"
	// The transfer has been submitted to Fedwire.
	WireTransferStatusSubmitted WireTransferStatus = "submitted"
	// The transfer has been acknowledged by Fedwire and can be considered complete.
	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
basic command
errors command
packages

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL