increase

package module
v0.46.0 Latest Latest
Warning

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

Go to latest
Published: May 1, 2024 License: Apache-2.0 Imports: 17 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.46.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("My First Increase Account"),
	})
	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
		println(apierr.Type)                       // missing_param
		println(apierr.Title)                      // Missing param "name"
		println(apierr.Detail)                     // Looks like "naem" may have been a typo?
		println(apierr.Status)                     // 400
	}
	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.List(
	ctx,
	increase.AccountListParams{
		Status: increase.F(increase.AccountListParamsStatusOpen),
	},
	// 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.FileNewParamsPurposeOther),
}

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

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

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("Jack"),
	},
	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.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bool added in v0.6.1

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 added in v0.32.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

type ACHPrenotificationNotificationsOfChange added in v0.6.3

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 added in v0.6.3

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

type ACHPrenotificationNotificationsOfChangeChangeCode added in v0.6.3

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 added in v0.30.0

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 added in v0.7.3

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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"`
	// 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 transfer effective date in
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	EffectiveDate time.Time `json:"effective_date,required,nullable" format:"date"`
	// 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"`
	// 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"`
	// 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"`
	// 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 added in v0.7.0

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 added in v0.7.0

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

type ACHTransferAddenda added in v0.24.0

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 added in v0.24.0

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

type ACHTransferAddendaCategory added in v0.24.0

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 added in v0.30.0

func (r ACHTransferAddendaCategory) IsKnown() bool

type ACHTransferAddendaFreeform added in v0.24.0

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 added in v0.24.0

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

type ACHTransferAddendaFreeformEntry added in v0.24.0

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

func (*ACHTransferAddendaFreeformEntry) UnmarshalJSON added in v0.24.0

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

type ACHTransferAddendaPaymentOrderRemittanceAdvice added in v0.24.0

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 added in v0.24.0

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

type ACHTransferAddendaPaymentOrderRemittanceAdviceInvoice added in v0.24.0

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 added in v0.24.0

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 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 added in v0.30.0

func (r ACHTransferCurrency) IsKnown() bool

type ACHTransferDestinationAccountHolder added in v0.24.0

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 added in v0.30.0

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 added in v0.30.0

func (r ACHTransferFunding) IsKnown() bool

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 added in v0.30.0

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 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 transfer effective date in
	// [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date"`
	// 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"`
	// 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"`
}

func (ACHTransferNewParams) MarshalJSON

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

type ACHTransferNewParamsAddenda added in v0.24.0

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 added in v0.24.0

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

type ACHTransferNewParamsAddendaCategory added in v0.24.0

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 added in v0.30.0

type ACHTransferNewParamsAddendaFreeform added in v0.24.0

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 added in v0.24.0

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

type ACHTransferNewParamsAddendaFreeformEntry added in v0.24.0

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

func (ACHTransferNewParamsAddendaFreeformEntry) MarshalJSON added in v0.24.0

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

type ACHTransferNewParamsAddendaPaymentOrderRemittanceAdvice added in v0.24.0

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 added in v0.24.0

type ACHTransferNewParamsAddendaPaymentOrderRemittanceAdviceInvoice added in v0.24.0

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 added in v0.24.0

type ACHTransferNewParamsDestinationAccountHolder added in v0.24.0

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 added in v0.30.0

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 added in v0.30.0

func (r ACHTransferNewParamsFunding) IsKnown() bool

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 added in v0.30.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 added in v0.5.0

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 added in v0.30.0

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"`
	// 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 added in v0.30.0

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 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 added in v0.30.0

type ACHTransferStatus

type ACHTransferStatus string

The lifecycle status of the transfer.

const (
	// The transfer is pending approval.
	ACHTransferStatusPendingApproval ACHTransferStatus = "pending_approval"
	// The transfer has been canceled.
	ACHTransferStatusCanceled ACHTransferStatus = "canceled"
	// The transfer is pending review by Increase.
	ACHTransferStatusPendingReviewing ACHTransferStatus = "pending_reviewing"
	// The transfer is pending submission to the Federal Reserve.
	ACHTransferStatusPendingSubmission ACHTransferStatus = "pending_submission"
	// The transfer is complete.
	ACHTransferStatusSubmitted ACHTransferStatus = "submitted"
	// The transfer has been returned.
	ACHTransferStatusReturned ACHTransferStatus = "returned"
	// The transfer requires attention from an Increase operator.
	ACHTransferStatusRequiresAttention ACHTransferStatus = "requires_attention"
	// The transfer has been rejected.
	ACHTransferStatusRejected ACHTransferStatus = "rejected"
)

func (ACHTransferStatus) IsKnown added in v0.30.0

func (r ACHTransferStatus) IsKnown() bool

type ACHTransferSubmission

type ACHTransferSubmission struct {
	// The ACH's effective date sent to the receiving bank. If `effective_date` is
	// configured in the ACH transfer, this will match the value there. Otherwise, it
	// will the date that the ACH transfer was processed, which is usually the current
	// or subsequent business day.
	EffectiveDate time.Time `json:"effective_date,required" format:"date"`
	// When the funds 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"`
	// 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 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 added in v0.30.0

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 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 added in v0.13.0

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 added in v0.13.0

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

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

type AccountBank added in v0.13.0

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

func (AccountBank) IsKnown added in v0.30.0

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 added in v0.30.0

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 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 added in v0.30.0

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 added in v0.8.0

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 added in v0.8.0

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

type AccountNumberInboundACHDebitStatus added in v0.8.0

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 added in v0.30.0

type AccountNumberInboundChecks added in v0.8.3

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 added in v0.8.3

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

type AccountNumberInboundChecksStatus added in v0.8.3

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 added in v0.30.0

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 added in v0.18.0

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 added in v0.30.0

type AccountNumberListParamsCreatedAt

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

func (AccountNumberListParamsCreatedAt) URLQuery

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

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

type AccountNumberListParamsStatus

type AccountNumberListParamsStatus 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 added in v0.30.0

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 added in v0.8.0

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.
	DebitStatus param.Field[AccountNumberNewParamsInboundACHDebitStatus] `json:"debit_status,required"`
}

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

func (AccountNumberNewParamsInboundACH) MarshalJSON added in v0.8.0

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

type AccountNumberNewParamsInboundACHDebitStatus added in v0.8.0

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.

const (
	// ACH Debits are allowed.
	AccountNumberNewParamsInboundACHDebitStatusAllowed AccountNumberNewParamsInboundACHDebitStatus = "allowed"
	// ACH Debits are blocked.
	AccountNumberNewParamsInboundACHDebitStatusBlocked AccountNumberNewParamsInboundACHDebitStatus = "blocked"
)

func (AccountNumberNewParamsInboundACHDebitStatus) IsKnown added in v0.30.0

type AccountNumberNewParamsInboundChecks added in v0.8.3

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

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

func (AccountNumberNewParamsInboundChecks) MarshalJSON added in v0.8.3

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

type AccountNumberNewParamsInboundChecksStatus added in v0.8.3

type AccountNumberNewParamsInboundChecksStatus 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.
	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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.8.0

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 added in v0.8.0

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

type AccountNumberUpdateParamsInboundACHDebitStatus added in v0.8.0

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 added in v0.30.0

type AccountNumberUpdateParamsInboundChecks added in v0.25.0

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 added in v0.25.0

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

type AccountNumberUpdateParamsInboundChecksStatus added in v0.25.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.13.0

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 added in v0.30.0

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 added in v0.30.0

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"`
	// 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 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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.13.0

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 added in v0.13.0

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

type BalanceLookupType added in v0.13.0

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 added in v0.30.0

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 added in v0.13.0

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 added in v0.13.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.13.0

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 added in v0.9.0

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 added in v0.30.0

func (r BookkeepingAccountType) IsKnown() bool

type BookkeepingAccountUpdateParams added in v0.9.0

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

func (BookkeepingAccountUpdateParams) MarshalJSON added in v0.9.0

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

type BookkeepingBalanceLookup added in v0.13.0

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 added in v0.13.0

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

type BookkeepingBalanceLookupType added in v0.13.0

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 added in v0.30.0

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 added in v0.13.0

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 added in v0.3.0

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 added in v0.3.0

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

type BookkeepingEntrySetListParams added in v0.13.0

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 added in v0.13.0

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 added in v0.3.0

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 added in v0.3.0

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 added in v0.13.0

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

Retrieve a Bookkeeping Entry Set

func (*BookkeepingEntrySetService) List added in v0.13.0

List Bookkeeping Entry Sets

func (*BookkeepingEntrySetService) ListAutoPaging added in v0.13.0

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 added in v0.30.0

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 added in v0.30.0

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 CardAuthorizationSimulation

type CardAuthorizationSimulation 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 CardAuthorizationSimulationDeclinedTransaction `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 CardAuthorizationSimulationPendingTransaction `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 CardAuthorizationSimulationType `json:"type,required"`
	JSON cardAuthorizationSimulationJSON `json:"-"`
}

The results of a Card Authorization simulation.

func (*CardAuthorizationSimulation) UnmarshalJSON

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

type CardAuthorizationSimulationDeclinedTransaction

type CardAuthorizationSimulationDeclinedTransaction 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 CardAuthorizationSimulationDeclinedTransactionCurrency `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 CardAuthorizationSimulationDeclinedTransactionRouteType `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 CardAuthorizationSimulationDeclinedTransactionSource `json:"source,required"`
	// A constant representing the object's type. For this resource it will always be
	// `declined_transaction`.
	Type CardAuthorizationSimulationDeclinedTransactionType `json:"type,required"`
	JSON cardAuthorizationSimulationDeclinedTransactionJSON `json:"-"`
}

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

func (*CardAuthorizationSimulationDeclinedTransaction) UnmarshalJSON

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

type CardAuthorizationSimulationDeclinedTransactionCurrency

type CardAuthorizationSimulationDeclinedTransactionCurrency 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)
	CardAuthorizationSimulationDeclinedTransactionCurrencyCad CardAuthorizationSimulationDeclinedTransactionCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationDeclinedTransactionCurrencyChf CardAuthorizationSimulationDeclinedTransactionCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationDeclinedTransactionCurrencyEur CardAuthorizationSimulationDeclinedTransactionCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationDeclinedTransactionCurrencyGbp CardAuthorizationSimulationDeclinedTransactionCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationDeclinedTransactionCurrencyJpy CardAuthorizationSimulationDeclinedTransactionCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationDeclinedTransactionCurrencyUsd CardAuthorizationSimulationDeclinedTransactionCurrency = "USD"
)

func (CardAuthorizationSimulationDeclinedTransactionCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionRouteType

type CardAuthorizationSimulationDeclinedTransactionRouteType string

The type of the route this Declined Transaction came through.

const (
	// An Account Number.
	CardAuthorizationSimulationDeclinedTransactionRouteTypeAccountNumber CardAuthorizationSimulationDeclinedTransactionRouteType = "account_number"
	// A Card.
	CardAuthorizationSimulationDeclinedTransactionRouteTypeCard CardAuthorizationSimulationDeclinedTransactionRouteType = "card"
)

func (CardAuthorizationSimulationDeclinedTransactionRouteType) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSource

type CardAuthorizationSimulationDeclinedTransactionSource 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 CardAuthorizationSimulationDeclinedTransactionSourceACHDecline `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 CardAuthorizationSimulationDeclinedTransactionSourceCardDecline `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 CardAuthorizationSimulationDeclinedTransactionSourceCategory `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 CardAuthorizationSimulationDeclinedTransactionSourceCheckDecline `json:"check_decline,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 CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline `json:"inbound_real_time_payments_transfer_decline,required,nullable"`
	// An International ACH Decline object. This field will be present in the JSON
	// response if and only if `category` is equal to `international_ach_decline`.
	InternationalACHDecline CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDecline `json:"international_ach_decline,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 CardAuthorizationSimulationDeclinedTransactionSourceWireDecline `json:"wire_decline,required,nullable"`
	JSON        cardAuthorizationSimulationDeclinedTransactionSourceJSON        `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 (*CardAuthorizationSimulationDeclinedTransactionSource) UnmarshalJSON

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

type CardAuthorizationSimulationDeclinedTransactionSourceACHDecline

type CardAuthorizationSimulationDeclinedTransactionSourceACHDecline struct {
	// The ACH Decline's identifier.
	ID string `json:"id,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 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 CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason `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 CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineType `json:"type,required"`
	JSON cardAuthorizationSimulationDeclinedTransactionSourceACHDeclineJSON `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 (*CardAuthorizationSimulationDeclinedTransactionSourceACHDecline) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason

type CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason string

Why the ACH transfer was declined.

const (
	// The account number is canceled.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonACHRouteCanceled CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "ach_route_canceled"
	// The account number is disabled.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonACHRouteDisabled CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "ach_route_disabled"
	// The transaction would cause an Increase limit to be exceeded.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonBreachesLimit CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "breaches_limit"
	// A credit was refused. This is a reasonable default reason for decline of
	// credits.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonCreditEntryRefusedByReceiver CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "credit_entry_refused_by_receiver"
	// A rare return reason. The return this message refers to was a duplicate.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonDuplicateReturn CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "duplicate_return"
	// The account's entity is not active.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonEntityNotActive CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "entity_not_active"
	// Your account is inactive.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonGroupLocked CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "group_locked"
	// Your account contains insufficient funds.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonInsufficientFunds CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "insufficient_funds"
	// A rare return reason. The return this message refers to was misrouted.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonMisroutedReturn CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "misrouted_return"
	// The originating financial institution made a mistake and this return corrects
	// it.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonReturnOfErroneousOrReversingDebit CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "return_of_erroneous_or_reversing_debit"
	// The account number that was debited does not exist.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonNoACHRoute CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "no_ach_route"
	// The originating financial institution asked for this transfer to be returned.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonOriginatorRequest CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "originator_request"
	// The transaction is not allowed per Increase's terms.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonTransactionNotAllowed CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "transaction_not_allowed"
	// Your integration declined this transfer via the API.
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReasonUserInitiated CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason = "user_initiated"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineReason) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineType added in v0.7.1

type CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineType string

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

const (
	CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineTypeACHDecline CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineType = "ach_decline"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceACHDeclineType) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDecline

type CardAuthorizationSimulationDeclinedTransactionSourceCardDecline 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 CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActioner `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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency `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 state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkIdentifiers `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 processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory `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 CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason `json:"reason,required"`
	// Fields related to verification of cardholder-provided values.
	Verification CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerification `json:"verification,required"`
	JSON         cardAuthorizationSimulationDeclinedTransactionSourceCardDeclineJSON         `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 (*CardAuthorizationSimulationDeclinedTransactionSourceCardDecline) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActioner added in v0.27.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActioner 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.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActionerUser CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActioner = "user"
	// This object was actioned by Increase without user intervention.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActionerIncrease CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActionerNetwork CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActioner = "network"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineActioner) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrencyCad CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrencyChf CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrencyEur CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrencyGbp CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrencyJpy CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrencyUsd CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency = "USD"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetails

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON cardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetails) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsCategory added in v0.6.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsCategoryVisa CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsCategory = "visa"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsCategory) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisa

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisa 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 CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	JSON                    cardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisa) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator 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.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorRecurring CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorInstallment CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode added in v0.7.1

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode string

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

const (
	// Unknown
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeUnknown CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeManual CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeOpticalCode CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactless CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkIdentifiers added in v0.13.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkIdentifiers 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          cardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineNetworkIdentifiers) UnmarshalJSON added in v0.13.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory added in v0.13.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory 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.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategoryAccountFunding CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory = "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.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategoryAutomaticFuelDispenser CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategoryBillPayment CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory = "bill_payment"
	// A regular purchase.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategoryPurchase CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategoryQuasiCash CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategoryRefund CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory = "refund"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineProcessingCategory) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason string

Why the transaction was declined.

const (
	// The Card was not active.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonCardNotActive CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "card_not_active"
	// The Physical Card was not active.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonPhysicalCardNotActive CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "physical_card_not_active"
	// The account's entity was not active.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonEntityNotActive CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "entity_not_active"
	// The account was inactive.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonGroupLocked CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "group_locked"
	// The Card's Account did not have a sufficient available balance.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonInsufficientFunds CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "insufficient_funds"
	// The given CVV2 did not match the card's value.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonCvv2Mismatch CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "cvv2_mismatch"
	// The attempted card transaction is not allowed per Increase's terms.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonTransactionNotAllowed CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "transaction_not_allowed"
	// The transaction was blocked by a Limit.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonBreachesLimit CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "breaches_limit"
	// Your application declined the transaction via webhook.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonWebhookDeclined CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "webhook_declined"
	// Your application webhook did not respond without the required timeout.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonWebhookTimedOut CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "webhook_timed_out"
	// Declined by stand-in processing.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonDeclinedByStandInProcessing CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "declined_by_stand_in_processing"
	// The card read had an invalid CVV, dCVV, or authorization request cryptogram.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonInvalidPhysicalCard CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "invalid_physical_card"
	// The original card authorization for this incremental authorization does not
	// exist.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonMissingOriginalAuthorization CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "missing_original_authorization"
	// The transaction was suspected to be fraudulent. Please reach out to
	// support@increase.com for more information.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReasonSuspectedFraud CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason = "suspected_fraud"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineReason) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerification added in v0.11.0

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

Fields related to verification of cardholder-provided values.

func (*CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerification) UnmarshalJSON added in v0.11.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCode added in v0.11.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   cardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeJSON   `json:"-"`
}

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

func (*CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCode) UnmarshalJSON added in v0.11.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult added in v0.11.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	// No card verification code was provided in the authorization request.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultNotChecked CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultMatch CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultNoMatch CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "no_match"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddress added in v0.11.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddress 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 CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult `json:"result,required"`
	JSON   cardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressJSON   `json:"-"`
}

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

func (*CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddress) UnmarshalJSON added in v0.11.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult added in v0.11.0

type CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	// No adress was provided in the authorization request.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultNotChecked CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultMatch CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "match"
	// Postal code and street address do not match.
	CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultNoMatch CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "no_match"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCategory

type CardAuthorizationSimulationDeclinedTransactionSourceCategory 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.
	CardAuthorizationSimulationDeclinedTransactionSourceCategoryACHDecline CardAuthorizationSimulationDeclinedTransactionSourceCategory = "ach_decline"
	// Card Decline: details will be under the `card_decline` object.
	CardAuthorizationSimulationDeclinedTransactionSourceCategoryCardDecline CardAuthorizationSimulationDeclinedTransactionSourceCategory = "card_decline"
	// Check Decline: details will be under the `check_decline` object.
	CardAuthorizationSimulationDeclinedTransactionSourceCategoryCheckDecline CardAuthorizationSimulationDeclinedTransactionSourceCategory = "check_decline"
	// Inbound Real-Time Payments Transfer Decline: details will be under the
	// `inbound_real_time_payments_transfer_decline` object.
	CardAuthorizationSimulationDeclinedTransactionSourceCategoryInboundRealTimePaymentsTransferDecline CardAuthorizationSimulationDeclinedTransactionSourceCategory = "inbound_real_time_payments_transfer_decline"
	// International ACH Decline: details will be under the `international_ach_decline`
	// object.
	CardAuthorizationSimulationDeclinedTransactionSourceCategoryInternationalACHDecline CardAuthorizationSimulationDeclinedTransactionSourceCategory = "international_ach_decline"
	// Wire Decline: details will be under the `wire_decline` object.
	CardAuthorizationSimulationDeclinedTransactionSourceCategoryWireDecline CardAuthorizationSimulationDeclinedTransactionSourceCategory = "wire_decline"
	// The Declined Transaction was made for an undocumented or deprecated reason.
	CardAuthorizationSimulationDeclinedTransactionSourceCategoryOther CardAuthorizationSimulationDeclinedTransactionSourceCategory = "other"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCategory) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceCheckDecline

type CardAuthorizationSimulationDeclinedTransactionSourceCheckDecline 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"`
	// 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 CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason `json:"reason,required"`
	JSON   cardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineJSON   `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 (*CardAuthorizationSimulationDeclinedTransactionSourceCheckDecline) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason

type CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason string

Why the check was declined.

const (
	// The account number is disabled.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonACHRouteDisabled CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "ach_route_disabled"
	// The account number is canceled.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonACHRouteCanceled CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "ach_route_canceled"
	// The deposited check was altered or fictitious.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonAlteredOrFictitious CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "altered_or_fictitious"
	// The transaction would cause a limit to be exceeded.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonBreachesLimit CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "breaches_limit"
	// The account's entity is not active.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonEntityNotActive CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "entity_not_active"
	// Your account is inactive.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonGroupLocked CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "group_locked"
	// Your account contains insufficient funds.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonInsufficientFunds CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "insufficient_funds"
	// Stop payment requested for this check.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonStopPaymentRequested CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "stop_payment_requested"
	// The check was a duplicate deposit.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonDuplicatePresentment CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "duplicate_presentment"
	// The check was not authorized.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonNotAuthorized CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "not_authorized"
	// The amount the receiving bank is attempting to deposit does not match the amount
	// on the check.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonAmountMismatch CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "amount_mismatch"
	// The check attempting to be deposited does not belong to Increase.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonNotOurItem CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "not_our_item"
	// The account number on the check does not exist at Increase.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonNoAccountNumberFound CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "no_account_number_found"
	// The check is not readable. Please refer to the image.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonReferToImage CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "refer_to_image"
	// The check cannot be processed. This is rare: please contact support.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonUnableToProcess CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "unable_to_process"
	// Your integration declined this check via the API.
	CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReasonUserInitiated CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason = "user_initiated"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceCheckDeclineReason) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline

type CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline 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 CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency `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 CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason `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"`
	JSON                      cardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineJSON `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 (*CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency

type CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency 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)
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyCad CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyChf CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyEur CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyGbp CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyJpy CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyUsd CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "USD"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason

type CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason string

Why the transfer was declined.

const (
	// The account number is canceled.
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	// The account number is disabled.
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	// Your account is restricted.
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountRestricted CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	// Your account is inactive.
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonGroupLocked CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "group_locked"
	// The account's entity is not active.
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonEntityNotActive CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	// Your account is not enabled to receive Real-Time Payments transfers.
	CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonRealTimePaymentsNotEnabled CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "real_time_payments_not_enabled"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDecline

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDecline 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 [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 CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator `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 CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator `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 CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode `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 CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier `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 description field set by the originator.
	OriginatorCompanyEntryDescription string `json:"originator_company_entry_description,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 CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier `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"`
	// 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"`
	JSON        cardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineJSON `json:"-"`
}

An International ACH Decline object. This field will be present in the JSON response if and only if `category` is equal to `international_ach_decline`.

func (*CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDecline) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator added in v0.7.3

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator 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.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorFixedToVariable CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "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.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorVariableToFixed CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "variable_to_fixed"
	// The amount was originated and settled as a fixed amount in USD. There is no
	// foreign exchange conversion.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorFixedToFixed CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "fixed_to_fixed"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator added in v0.7.3

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator string

An instruction of how to interpret the `foreign_exchange_reference` field for this Transaction.

const (
	// The ACH file contains a foreign exchange rate.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorForeignExchangeRate CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "foreign_exchange_rate"
	// The ACH file contains a reference to a well-known foreign exchange rate.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorForeignExchangeReferenceNumber CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "foreign_exchange_reference_number"
	// There is no foreign exchange for this transfer, so the
	// `foreign_exchange_reference` field is blank.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorBlank CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "blank"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode added in v0.7.3

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode string

The type of transfer. Set by the originator.

const (
	// Sent as `ANN` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeAnnuity CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "annuity"
	// Sent as `BUS` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeBusinessOrCommercial CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "business_or_commercial"
	// Sent as `DEP` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeDeposit CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "deposit"
	// Sent as `LOA` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeLoan CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "loan"
	// Sent as `MIS` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMiscellaneous CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "miscellaneous"
	// Sent as `MOR` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMortgage CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "mortgage"
	// Sent as `PEN` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePension CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "pension"
	// Sent as `REM` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRemittance CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "remittance"
	// Sent as `RLS` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRentOrLease CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "rent_or_lease"
	// Sent as `SAL` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeSalaryOrPayroll CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "salary_or_payroll"
	// Sent as `TAX` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeTax CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "tax"
	// Sent as `ARC` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeAccountsReceivable CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "accounts_receivable"
	// Sent as `BOC` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeBackOfficeConversion CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "back_office_conversion"
	// Sent as `MTE` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMachineTransfer CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "machine_transfer"
	// Sent as `POP` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePointOfPurchase CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "point_of_purchase"
	// Sent as `POS` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePointOfSale CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "point_of_sale"
	// Sent as `RCK` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRepresentedCheck CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "represented_check"
	// Sent as `SHR` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeSharedNetworkTransaction CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "shared_network_transaction"
	// Sent as `TEL` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeTelphoneInitiated CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "telphone_initiated"
	// Sent as `WEB` in the Nacha file.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeInternetInitiated CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "internet_initiated"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier 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.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierBicCode CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierIban CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier 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.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierBicCode CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierIban CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionSourceWireDecline

type CardAuthorizationSimulationDeclinedTransactionSourceWireDecline 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 CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason `json:"reason,required"`
	JSON   cardAuthorizationSimulationDeclinedTransactionSourceWireDeclineJSON   `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 (*CardAuthorizationSimulationDeclinedTransactionSourceWireDecline) UnmarshalJSON

type CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason

type CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason string

Why the wire transfer was declined.

const (
	// The account number is canceled.
	CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReasonAccountNumberCanceled CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason = "account_number_canceled"
	// The account number is disabled.
	CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReasonAccountNumberDisabled CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason = "account_number_disabled"
	// The account's entity is not active.
	CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReasonEntityNotActive CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason = "entity_not_active"
	// Your account is inactive.
	CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReasonGroupLocked CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason = "group_locked"
	// The beneficiary account number does not exist.
	CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReasonNoAccountNumber CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason = "no_account_number"
	// The transaction is not allowed per Increase's terms.
	CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReasonTransactionNotAllowed CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason = "transaction_not_allowed"
)

func (CardAuthorizationSimulationDeclinedTransactionSourceWireDeclineReason) IsKnown added in v0.30.0

type CardAuthorizationSimulationDeclinedTransactionType

type CardAuthorizationSimulationDeclinedTransactionType string

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

const (
	CardAuthorizationSimulationDeclinedTransactionTypeDeclinedTransaction CardAuthorizationSimulationDeclinedTransactionType = "declined_transaction"
)

func (CardAuthorizationSimulationDeclinedTransactionType) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransaction

type CardAuthorizationSimulationPendingTransaction 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 CardAuthorizationSimulationPendingTransactionCurrency `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 CardAuthorizationSimulationPendingTransactionRouteType `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 CardAuthorizationSimulationPendingTransactionSource `json:"source,required"`
	// Whether the Pending Transaction has been confirmed and has an associated
	// Transaction.
	Status CardAuthorizationSimulationPendingTransactionStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `pending_transaction`.
	Type CardAuthorizationSimulationPendingTransactionType `json:"type,required"`
	JSON cardAuthorizationSimulationPendingTransactionJSON `json:"-"`
}

If the authorization attempt succeeds, this will contain the resulting Pending Transaction object. The Pending Transaction's `source` will be of `category: card_authorization`.

func (*CardAuthorizationSimulationPendingTransaction) UnmarshalJSON

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

type CardAuthorizationSimulationPendingTransactionCurrency

type CardAuthorizationSimulationPendingTransactionCurrency 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)
	CardAuthorizationSimulationPendingTransactionCurrencyCad CardAuthorizationSimulationPendingTransactionCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationPendingTransactionCurrencyChf CardAuthorizationSimulationPendingTransactionCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationPendingTransactionCurrencyEur CardAuthorizationSimulationPendingTransactionCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationPendingTransactionCurrencyGbp CardAuthorizationSimulationPendingTransactionCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationPendingTransactionCurrencyJpy CardAuthorizationSimulationPendingTransactionCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationPendingTransactionCurrencyUsd CardAuthorizationSimulationPendingTransactionCurrency = "USD"
)

func (CardAuthorizationSimulationPendingTransactionCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionRouteType

type CardAuthorizationSimulationPendingTransactionRouteType string

The type of the route this Pending Transaction came through.

const (
	// An Account Number.
	CardAuthorizationSimulationPendingTransactionRouteTypeAccountNumber CardAuthorizationSimulationPendingTransactionRouteType = "account_number"
	// A Card.
	CardAuthorizationSimulationPendingTransactionRouteTypeCard CardAuthorizationSimulationPendingTransactionRouteType = "card"
)

func (CardAuthorizationSimulationPendingTransactionRouteType) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSource

type CardAuthorizationSimulationPendingTransactionSource 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 CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstruction `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 CardAuthorizationSimulationPendingTransactionSourceACHTransferInstruction `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 CardAuthorizationSimulationPendingTransactionSourceCardAuthorization `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 CardAuthorizationSimulationPendingTransactionSourceCategory `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 CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstruction `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 CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstruction `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 CardAuthorizationSimulationPendingTransactionSourceInboundFundsHold `json:"inbound_funds_hold,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 CardAuthorizationSimulationPendingTransactionSourceRealTimePaymentsTransferInstruction `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 CardAuthorizationSimulationPendingTransactionSourceWireTransferInstruction `json:"wire_transfer_instruction,required,nullable"`
	JSON                    cardAuthorizationSimulationPendingTransactionSourceJSON                    `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 (*CardAuthorizationSimulationPendingTransactionSource) UnmarshalJSON

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

type CardAuthorizationSimulationPendingTransactionSourceACHTransferInstruction

type CardAuthorizationSimulationPendingTransactionSourceACHTransferInstruction 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 identifier of the ACH Transfer that led to this Pending Transaction.
	TransferID string                                                                        `json:"transfer_id,required"`
	JSON       cardAuthorizationSimulationPendingTransactionSourceACHTransferInstructionJSON `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 (*CardAuthorizationSimulationPendingTransactionSourceACHTransferInstruction) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstruction

type CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstruction 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 CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency `json:"currency,required"`
	// The identifier of the Account Transfer that led to this Pending Transaction.
	TransferID string                                                                            `json:"transfer_id,required"`
	JSON       cardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionJSON `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 (*CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstruction) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency

type CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrencyCad CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrencyChf CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrencyEur CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrencyGbp CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrencyJpy CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrencyUsd CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency = "USD"
)

func (CardAuthorizationSimulationPendingTransactionSourceAccountTransferInstructionCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorization

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorization 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 CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActioner `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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency `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 descibes the direction the funds will move, either from the
	// cardholder to the merchant or from the merchant to the cardholder.
	Direction CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirection `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"`
	// Fields specific to the `network`.
	NetworkDetails CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkIdentifiers `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 processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory `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 CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationType `json:"type,required"`
	// Fields related to verification of cardholder-provided values.
	Verification CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerification `json:"verification,required"`
	JSON         cardAuthorizationSimulationPendingTransactionSourceCardAuthorizationJSON         `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 (*CardAuthorizationSimulationPendingTransactionSourceCardAuthorization) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActioner added in v0.27.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActioner 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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActionerUser CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActioner = "user"
	// This object was actioned by Increase without user intervention.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActionerIncrease CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActionerNetwork CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActioner = "network"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationActioner) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrencyCad CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrencyChf CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrencyEur CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrencyGbp CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrencyJpy CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrencyUsd CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency = "USD"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirection added in v0.8.5

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirection string

The direction descibes 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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirectionSettlement CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirection = "settlement"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirectionRefund CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirection = "refund"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationDirection) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetails

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON cardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetails) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsCategory added in v0.6.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsCategoryVisa CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsCategory = "visa"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsCategory) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisa

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisa 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 CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	JSON                    cardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisa) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator 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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorRecurring CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorInstallment CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "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
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode added in v0.7.1

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode string

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

const (
	// Unknown
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeUnknown CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeManual CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeOpticalCode CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactless CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkIdentifiers added in v0.13.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkIdentifiers 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          cardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationNetworkIdentifiers) UnmarshalJSON added in v0.13.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory added in v0.13.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory 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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategoryAccountFunding CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory = "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.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategoryAutomaticFuelDispenser CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategoryBillPayment CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory = "bill_payment"
	// A regular purchase.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategoryPurchase CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategoryQuasiCash CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategoryRefund CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory = "refund"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationProcessingCategory) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationType

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationType string

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

const (
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationTypeCardAuthorization CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationType = "card_authorization"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationType) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerification added in v0.11.0

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

Fields related to verification of cardholder-provided values.

func (*CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerification) UnmarshalJSON added in v0.11.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCode added in v0.11.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   cardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeJSON   `json:"-"`
}

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

func (*CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCode) UnmarshalJSON added in v0.11.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult added in v0.11.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	// No card verification code was provided in the authorization request.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultNotChecked CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultMatch CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResultNoMatch CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult = "no_match"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddress added in v0.11.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddress 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 CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult `json:"result,required"`
	JSON   cardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressJSON   `json:"-"`
}

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

func (*CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddress) UnmarshalJSON added in v0.11.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult added in v0.11.0

type CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	// No adress was provided in the authorization request.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultNotChecked CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultMatch CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "match"
	// Postal code and street address do not match.
	CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResultNoMatch CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult = "no_match"
)

func (CardAuthorizationSimulationPendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCategory

type CardAuthorizationSimulationPendingTransactionSourceCategory 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.
	CardAuthorizationSimulationPendingTransactionSourceCategoryAccountTransferInstruction CardAuthorizationSimulationPendingTransactionSourceCategory = "account_transfer_instruction"
	// ACH Transfer Instruction: details will be under the `ach_transfer_instruction`
	// object.
	CardAuthorizationSimulationPendingTransactionSourceCategoryACHTransferInstruction CardAuthorizationSimulationPendingTransactionSourceCategory = "ach_transfer_instruction"
	// Card Authorization: details will be under the `card_authorization` object.
	CardAuthorizationSimulationPendingTransactionSourceCategoryCardAuthorization CardAuthorizationSimulationPendingTransactionSourceCategory = "card_authorization"
	// Check Deposit Instruction: details will be under the `check_deposit_instruction`
	// object.
	CardAuthorizationSimulationPendingTransactionSourceCategoryCheckDepositInstruction CardAuthorizationSimulationPendingTransactionSourceCategory = "check_deposit_instruction"
	// Check Transfer Instruction: details will be under the
	// `check_transfer_instruction` object.
	CardAuthorizationSimulationPendingTransactionSourceCategoryCheckTransferInstruction CardAuthorizationSimulationPendingTransactionSourceCategory = "check_transfer_instruction"
	// Inbound Funds Hold: details will be under the `inbound_funds_hold` object.
	CardAuthorizationSimulationPendingTransactionSourceCategoryInboundFundsHold CardAuthorizationSimulationPendingTransactionSourceCategory = "inbound_funds_hold"
	// Real-Time Payments Transfer Instruction: details will be under the
	// `real_time_payments_transfer_instruction` object.
	CardAuthorizationSimulationPendingTransactionSourceCategoryRealTimePaymentsTransferInstruction CardAuthorizationSimulationPendingTransactionSourceCategory = "real_time_payments_transfer_instruction"
	// Wire Transfer Instruction: details will be under the `wire_transfer_instruction`
	// object.
	CardAuthorizationSimulationPendingTransactionSourceCategoryWireTransferInstruction CardAuthorizationSimulationPendingTransactionSourceCategory = "wire_transfer_instruction"
	// The Pending Transaction was made for an undocumented or deprecated reason.
	CardAuthorizationSimulationPendingTransactionSourceCategoryOther CardAuthorizationSimulationPendingTransactionSourceCategory = "other"
)

func (CardAuthorizationSimulationPendingTransactionSourceCategory) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstruction

type CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstruction 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 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 CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency `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             cardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionJSON `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 (*CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstruction) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency

type CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrencyCad CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrencyChf CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrencyEur CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrencyGbp CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrencyJpy CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrencyUsd CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency = "USD"
)

func (CardAuthorizationSimulationPendingTransactionSourceCheckDepositInstructionCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstruction

type CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstruction 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 check's
	// currency.
	Currency CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency `json:"currency,required"`
	// The identifier of the Check Transfer that led to this Pending Transaction.
	TransferID string                                                                          `json:"transfer_id,required"`
	JSON       cardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionJSON `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 (*CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstruction) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency

type CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrencyCad CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrencyChf CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrencyEur CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrencyGbp CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrencyJpy CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrencyUsd CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency = "USD"
)

func (CardAuthorizationSimulationPendingTransactionSourceCheckTransferInstructionCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHold

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHold 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 CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency `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 CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatus `json:"status,required"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_funds_hold`.
	Type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldType `json:"type,required"`
	JSON cardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldJSON `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 (*CardAuthorizationSimulationPendingTransactionSourceInboundFundsHold) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency string

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

const (
	// Canadian Dollar (CAD)
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrencyCad CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency = "CAD"
	// Swiss Franc (CHF)
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrencyChf CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency = "CHF"
	// Euro (EUR)
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrencyEur CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency = "EUR"
	// British Pound (GBP)
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrencyGbp CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency = "GBP"
	// Japanese Yen (JPY)
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrencyJpy CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency = "JPY"
	// US Dollar (USD)
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrencyUsd CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency = "USD"
)

func (CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldCurrency) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatus

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatus string

The status of the hold.

const (
	// Funds are still being held.
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatusHeld CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatus = "held"
	// Funds have been released.
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatusComplete CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatus = "complete"
)

func (CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldStatus) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldType added in v0.5.0

type CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldType string

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

const (
	CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldTypeInboundFundsHold CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldType = "inbound_funds_hold"
)

func (CardAuthorizationSimulationPendingTransactionSourceInboundFundsHoldType) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionSourceRealTimePaymentsTransferInstruction

type CardAuthorizationSimulationPendingTransactionSourceRealTimePaymentsTransferInstruction 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 identifier of the Real-Time Payments Transfer that led to this Pending
	// Transaction.
	TransferID string                                                                                     `json:"transfer_id,required"`
	JSON       cardAuthorizationSimulationPendingTransactionSourceRealTimePaymentsTransferInstructionJSON `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 (*CardAuthorizationSimulationPendingTransactionSourceRealTimePaymentsTransferInstruction) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionSourceWireTransferInstruction

type CardAuthorizationSimulationPendingTransactionSourceWireTransferInstruction struct {
	// The account number for the destination account.
	AccountNumber string `json:"account_number,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 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       cardAuthorizationSimulationPendingTransactionSourceWireTransferInstructionJSON `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 (*CardAuthorizationSimulationPendingTransactionSourceWireTransferInstruction) UnmarshalJSON

type CardAuthorizationSimulationPendingTransactionStatus

type CardAuthorizationSimulationPendingTransactionStatus string

Whether the Pending Transaction has been confirmed and has an associated Transaction.

const (
	// The Pending Transaction is still awaiting confirmation.
	CardAuthorizationSimulationPendingTransactionStatusPending CardAuthorizationSimulationPendingTransactionStatus = "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.
	CardAuthorizationSimulationPendingTransactionStatusComplete CardAuthorizationSimulationPendingTransactionStatus = "complete"
)

func (CardAuthorizationSimulationPendingTransactionStatus) IsKnown added in v0.30.0

type CardAuthorizationSimulationPendingTransactionType

type CardAuthorizationSimulationPendingTransactionType string

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

const (
	CardAuthorizationSimulationPendingTransactionTypePendingTransaction CardAuthorizationSimulationPendingTransactionType = "pending_transaction"
)

func (CardAuthorizationSimulationPendingTransactionType) IsKnown added in v0.30.0

type CardAuthorizationSimulationType

type CardAuthorizationSimulationType string

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

const (
	CardAuthorizationSimulationTypeInboundCardAuthorizationSimulationResult CardAuthorizationSimulationType = "inbound_card_authorization_simulation_result"
)

func (CardAuthorizationSimulationType) IsKnown added in v0.30.0

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 added in v0.30.0

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 [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 `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"`
	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"
	// The Card Dispute has been accepted and your funds have been returned.
	CardDisputeListParamsStatusInAccepted CardDisputeListParamsStatusIn = "accepted"
	// The Card Dispute has been rejected.
	CardDisputeListParamsStatusInRejected CardDisputeListParamsStatusIn = "rejected"
)

func (CardDisputeListParamsStatusIn) IsKnown added in v0.30.0

func (r CardDisputeListParamsStatusIn) IsKnown() bool

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"`
}

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"
	// The Card Dispute has been accepted and your funds have been returned.
	CardDisputeStatusAccepted CardDisputeStatus = "accepted"
	// The Card Dispute has been rejected.
	CardDisputeStatusRejected CardDisputeStatus = "rejected"
)

func (CardDisputeStatus) IsKnown added in v0.30.0

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 added in v0.30.0

func (r CardDisputeType) IsKnown() bool

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 added in v0.1.1

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 added in v0.1.1

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

type CardPayment added in v0.8.4

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 interactions related to this card payment.
	Elements []CardPaymentElement `json:"elements,required"`
	// 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 added in v0.8.4

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

type CardPaymentElement added in v0.8.4

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

func (*CardPaymentElement) UnmarshalJSON added in v0.8.4

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

type CardPaymentElementsCardAuthorization added in v0.8.4

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,nullable"`
	// 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 descibes 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"`
	// 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 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 added in v0.8.4

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

type CardPaymentElementsCardAuthorizationActioner added in v0.27.0

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationCurrency added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationDirection added in v0.8.5

type CardPaymentElementsCardAuthorizationDirection string

The direction descibes 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 added in v0.30.0

type CardPaymentElementsCardAuthorizationExpiration added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardAuthorizationExpirationCurrency added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationExpirationNetwork added in v0.8.4

type CardPaymentElementsCardAuthorizationExpirationNetwork string

The card network used to process this card authorization.

const (
	// Visa
	CardPaymentElementsCardAuthorizationExpirationNetworkVisa CardPaymentElementsCardAuthorizationExpirationNetwork = "visa"
)

func (CardPaymentElementsCardAuthorizationExpirationNetwork) IsKnown added in v0.30.0

type CardPaymentElementsCardAuthorizationExpirationType added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationNetworkDetails added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardAuthorizationNetworkDetailsCategory added in v0.8.4

type CardPaymentElementsCardAuthorizationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	CardPaymentElementsCardAuthorizationNetworkDetailsCategoryVisa CardPaymentElementsCardAuthorizationNetworkDetailsCategory = "visa"
)

func (CardPaymentElementsCardAuthorizationNetworkDetailsCategory) IsKnown added in v0.30.0

type CardPaymentElementsCardAuthorizationNetworkDetailsVisa added in v0.8.4

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

Fields specific to the `visa` network.

func (*CardPaymentElementsCardAuthorizationNetworkDetailsVisa) UnmarshalJSON added in v0.8.4

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

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaElectronicCommerceIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardAuthorizationProcessingCategory added in v0.13.0

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationType added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationVerification added in v0.11.0

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 added in v0.11.0

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

type CardPaymentElementsCardAuthorizationVerificationCardVerificationCode added in v0.11.0

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 added in v0.11.0

type CardPaymentElementsCardAuthorizationVerificationCardVerificationCodeResult added in v0.11.0

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 added in v0.30.0

type CardPaymentElementsCardAuthorizationVerificationCardholderAddress added in v0.11.0

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 added in v0.11.0

type CardPaymentElementsCardAuthorizationVerificationCardholderAddressResult added in v0.11.0

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 added in v0.30.0

type CardPaymentElementsCardDecline added in v0.8.4

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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency CardPaymentElementsCardDeclineCurrency `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 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 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 added in v0.8.4

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

type CardPaymentElementsCardDeclineActioner added in v0.27.0

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 added in v0.30.0

type CardPaymentElementsCardDeclineCurrency added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardDeclineNetworkDetails added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardDeclineNetworkDetailsCategory added in v0.8.4

type CardPaymentElementsCardDeclineNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	CardPaymentElementsCardDeclineNetworkDetailsCategoryVisa CardPaymentElementsCardDeclineNetworkDetailsCategory = "visa"
)

func (CardPaymentElementsCardDeclineNetworkDetailsCategory) IsKnown added in v0.30.0

type CardPaymentElementsCardDeclineNetworkDetailsVisa added in v0.8.4

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

Fields specific to the `visa` network.

func (*CardPaymentElementsCardDeclineNetworkDetailsVisa) UnmarshalJSON added in v0.8.4

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

type CardPaymentElementsCardDeclineNetworkDetailsVisaElectronicCommerceIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardDeclineNetworkDetailsVisaPointOfServiceEntryMode added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardDeclineNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardDeclineProcessingCategory added in v0.13.0

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 added in v0.30.0

type CardPaymentElementsCardDeclineReason added in v0.8.4

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 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 added in v0.30.0

type CardPaymentElementsCardDeclineVerification added in v0.11.0

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 added in v0.11.0

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

type CardPaymentElementsCardDeclineVerificationCardVerificationCode added in v0.11.0

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 added in v0.11.0

type CardPaymentElementsCardDeclineVerificationCardVerificationCodeResult added in v0.11.0

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 added in v0.30.0

type CardPaymentElementsCardDeclineVerificationCardholderAddress added in v0.11.0

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 added in v0.11.0

type CardPaymentElementsCardDeclineVerificationCardholderAddressResult added in v0.11.0

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 added in v0.30.0

type CardPaymentElementsCardFuelConfirmation added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardFuelConfirmationCurrency added in v0.13.0

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 added in v0.30.0

type CardPaymentElementsCardFuelConfirmationNetwork added in v0.13.0

type CardPaymentElementsCardFuelConfirmationNetwork string

The card network used to process this card authorization.

const (
	// Visa
	CardPaymentElementsCardFuelConfirmationNetworkVisa CardPaymentElementsCardFuelConfirmationNetwork = "visa"
)

func (CardPaymentElementsCardFuelConfirmationNetwork) IsKnown added in v0.30.0

type CardPaymentElementsCardFuelConfirmationNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

type CardPaymentElementsCardFuelConfirmationType added in v0.13.0

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 added in v0.30.0

type CardPaymentElementsCardIncrement added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardIncrementActioner added in v0.27.0

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 added in v0.30.0

type CardPaymentElementsCardIncrementCurrency added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardIncrementNetwork added in v0.8.4

type CardPaymentElementsCardIncrementNetwork string

The card network used to process this card authorization.

const (
	// Visa
	CardPaymentElementsCardIncrementNetworkVisa CardPaymentElementsCardIncrementNetwork = "visa"
)

func (CardPaymentElementsCardIncrementNetwork) IsKnown added in v0.30.0

type CardPaymentElementsCardIncrementNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardIncrementType added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefund added in v0.8.4

type CardPaymentElementsCardRefund struct {
	// The Card Refund identifier.
	ID string `json:"id,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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency CardPaymentElementsCardRefundCurrency `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,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"`
	// 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 added in v0.8.4

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

type CardPaymentElementsCardRefundCurrency added in v0.8.4

type CardPaymentElementsCardRefundCurrency string

The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's 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 added in v0.30.0

type CardPaymentElementsCardRefundNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardRefundPurchaseDetails added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardRefundPurchaseDetailsCarRental added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardRefundPurchaseDetailsCarRentalExtraCharges added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsCarRentalNoShowIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsLodging added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardRefundPurchaseDetailsLodgingExtraCharges added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsLodgingNoShowIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsPurchaseIdentifierFormat added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsTravel added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillary added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryService added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardRefundPurchaseDetailsTravelAncillaryServicesCategory added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsTravelCreditReasonIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsTravelRestrictedTicketIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsTravelTicketChangeIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundPurchaseDetailsTravelTripLeg added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardRefundPurchaseDetailsTravelTripLegsStopOverCode added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardRefundType added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardReversal added in v0.8.4

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 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"`
	// 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 added in v0.8.4

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

type CardPaymentElementsCardReversalCurrency added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardReversalNetwork added in v0.8.4

type CardPaymentElementsCardReversalNetwork string

The card network used to process this card authorization.

const (
	// Visa
	CardPaymentElementsCardReversalNetworkVisa CardPaymentElementsCardReversalNetwork = "visa"
)

func (CardPaymentElementsCardReversalNetwork) IsKnown added in v0.30.0

type CardPaymentElementsCardReversalNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardReversalType added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlement added in v0.8.4

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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's settlement currency.
	Currency CardPaymentElementsCardSettlementCurrency `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,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 added in v0.8.4

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

type CardPaymentElementsCardSettlementCurrency added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardSettlementPurchaseDetails added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardSettlementPurchaseDetailsCarRental added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardSettlementPurchaseDetailsCarRentalExtraCharges added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsCarRentalNoShowIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsLodging added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardSettlementPurchaseDetailsLodgingExtraCharges added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsLodgingNoShowIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsPurchaseIdentifierFormat added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsTravel added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillary added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryService added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardSettlementPurchaseDetailsTravelAncillaryServicesCategory added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsTravelCreditReasonIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTicketChangeIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLeg added in v0.8.4

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 added in v0.8.4

type CardPaymentElementsCardSettlementPurchaseDetailsTravelTripLegsStopOverCode added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardSettlementType added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardValidation added in v0.8.4

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,nullable"`
	// 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"`
	// 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 added in v0.8.4

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

type CardPaymentElementsCardValidationActioner added in v0.27.0

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 added in v0.30.0

type CardPaymentElementsCardValidationCurrency added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardValidationNetworkDetails added in v0.8.4

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 added in v0.8.4

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

type CardPaymentElementsCardValidationNetworkDetailsCategory added in v0.8.4

type CardPaymentElementsCardValidationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	CardPaymentElementsCardValidationNetworkDetailsCategoryVisa CardPaymentElementsCardValidationNetworkDetailsCategory = "visa"
)

func (CardPaymentElementsCardValidationNetworkDetailsCategory) IsKnown added in v0.30.0

type CardPaymentElementsCardValidationNetworkDetailsVisa added in v0.8.4

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

Fields specific to the `visa` network.

func (*CardPaymentElementsCardValidationNetworkDetailsVisa) UnmarshalJSON added in v0.8.4

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

type CardPaymentElementsCardValidationNetworkDetailsVisaElectronicCommerceIndicator added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardValidationNetworkDetailsVisaPointOfServiceEntryMode added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardValidationNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type CardPaymentElementsCardValidationType added in v0.8.4

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 added in v0.30.0

type CardPaymentElementsCardValidationVerification added in v0.11.0

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 added in v0.11.0

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

type CardPaymentElementsCardValidationVerificationCardVerificationCode added in v0.11.0

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 added in v0.11.0

type CardPaymentElementsCardValidationVerificationCardVerificationCodeResult added in v0.11.0

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 added in v0.30.0

type CardPaymentElementsCardValidationVerificationCardholderAddress added in v0.11.0

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 added in v0.11.0

type CardPaymentElementsCardValidationVerificationCardholderAddressResult added in v0.11.0

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 added in v0.30.0

type CardPaymentElementsCategory added in v0.8.4

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 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 added in v0.30.0

func (r CardPaymentElementsCategory) IsKnown() bool

type CardPaymentListParams added in v0.8.4

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 added in v0.8.4

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

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

type CardPaymentListParamsCreatedAt added in v0.8.4

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 added in v0.8.4

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

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

type CardPaymentService added in v0.8.4

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 added in v0.8.4

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 added in v0.8.4

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

Retrieve a Card Payment

func (*CardPaymentService) List added in v0.8.4

List Card Payments

func (*CardPaymentService) ListAutoPaging added in v0.8.4

List Card Payments

type CardPaymentState added in v0.8.4

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 added in v0.8.4

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

type CardPaymentType added in v0.8.4

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 added in v0.30.0

func (r CardPaymentType) IsKnown() bool

type CardPurchaseSupplement added in v0.6.2

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 added in v0.6.2

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

type CardPurchaseSupplementInvoice added in v0.6.2

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 added in v0.6.2

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

type CardPurchaseSupplementInvoiceDiscountTreatmentCode added in v0.6.2

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 added in v0.30.0

type CardPurchaseSupplementInvoiceTaxTreatments added in v0.6.2

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 added in v0.30.0

type CardPurchaseSupplementLineItem added in v0.6.2

type CardPurchaseSupplementLineItem struct {
	// 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 added in v0.6.2

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

type CardPurchaseSupplementLineItemsDetailIndicator added in v0.6.2

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 added in v0.30.0

type CardPurchaseSupplementLineItemsDiscountTreatmentCode added in v0.6.2

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 added in v0.30.0

type CardPurchaseSupplementListParams added in v0.6.2

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 added in v0.6.2

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

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

type CardPurchaseSupplementListParamsCreatedAt added in v0.6.2

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 added in v0.6.2

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

type CardPurchaseSupplementService added in v0.6.2

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 added in v0.6.2

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 added in v0.6.2

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

Retrieve a Card Purchase Supplement

func (*CardPurchaseSupplementService) List added in v0.6.2

List Card Purchase Supplements

func (*CardPurchaseSupplementService) ListAutoPaging added in v0.6.2

List Card Purchase Supplements

type CardPurchaseSupplementType added in v0.6.2

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 added in v0.30.0

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

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

Retrieve a Card

func (*CardService) GetSensitiveDetails

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

Retrieve sensitive details for 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 added in v0.30.0

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 added in v0.30.0

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 the minor unit of the destination account currency. For
	// dollars, for example, this is 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"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the deposit.
	Currency CheckDepositCurrency `json:"currency,required"`
	// 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 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"`
	// 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 CheckDepositCurrency

type CheckDepositCurrency string

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

const (
	// Canadian Dollar (CAD)
	CheckDepositCurrencyCad CheckDepositCurrency = "CAD"
	// Swiss Franc (CHF)
	CheckDepositCurrencyChf CheckDepositCurrency = "CHF"
	// Euro (EUR)
	CheckDepositCurrencyEur CheckDepositCurrency = "EUR"
	// British Pound (GBP)
	CheckDepositCurrencyGbp CheckDepositCurrency = "GBP"
	// Japanese Yen (JPY)
	CheckDepositCurrencyJpy CheckDepositCurrency = "JPY"
	// US Dollar (USD)
	CheckDepositCurrencyUsd CheckDepositCurrency = "USD"
)

func (CheckDepositCurrency) IsKnown added in v0.30.0

func (r CheckDepositCurrency) IsKnown() bool

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 added in v0.30.0

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 [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's
	// currency.
	Currency CheckDepositDepositRejectionCurrency `json:"currency,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 added in v0.30.0

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 for an unknown reason.
	CheckDepositDepositRejectionReasonUnknown CheckDepositDepositRejectionReason = "unknown"
)

func (CheckDepositDepositRejectionReason) IsKnown added in v0.30.0

type CheckDepositDepositReturn

type CheckDepositDepositReturn 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 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 added in v0.30.0

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 added in v0.30.0

type CheckDepositDepositSubmission added in v0.16.0

type CheckDepositDepositSubmission struct {
	// 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 added in v0.16.0

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

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 the minor unit of the account currency. For dollars, for
	// example, this is 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 currency to use for the deposit.
	Currency param.Field[string] `json:"currency,required"`
	// The File containing the check's front image.
	FrontImageFileID param.Field[string] `json:"front_image_file_id,required"`
}

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 added in v0.30.0

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 added in v0.30.0

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"`
	// 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 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 added in v0.30.0

func (r CheckTransferCurrency) IsKnown() bool

type CheckTransferFulfillmentMethod added in v0.6.0

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 added in v0.30.0

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 added in v0.6.0

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 added in v0.6.0

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 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 added in v0.6.0

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 added in v0.30.0

type CheckTransferNewParamsPhysicalCheck added in v0.6.0

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
	// the address of the Entity of the Account used to make the Check Transfer.
	ReturnAddress param.Field[CheckTransferNewParamsPhysicalCheckReturnAddress] `json:"return_address"`
}

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 added in v0.6.0

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

type CheckTransferNewParamsPhysicalCheckMailingAddress added in v0.6.0

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 added in v0.6.0

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

type CheckTransferNewParamsPhysicalCheckReturnAddress added in v0.6.0

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 the address of the Entity of the Account used to make the Check Transfer.

func (CheckTransferNewParamsPhysicalCheckReturnAddress) MarshalJSON added in v0.6.0

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

type CheckTransferNewParamsThirdParty added in v0.43.0

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 added in v0.43.0

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

type CheckTransferPhysicalCheck added in v0.6.0

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"`
	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 added in v0.6.0

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

type CheckTransferPhysicalCheckMailingAddress added in v0.6.0

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 added in v0.6.0

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

type CheckTransferPhysicalCheckReturnAddress added in v0.6.0

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 added in v0.6.0

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

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 is pending submission.
	CheckTransferStatusPendingSubmission CheckTransferStatus = "pending_submission"
	// The check is queued for mailing.
	CheckTransferStatusPendingMailing CheckTransferStatus = "pending_mailing"
	// The check has been mailed.
	CheckTransferStatusMailed CheckTransferStatus = "mailed"
	// The transfer has been canceled.
	CheckTransferStatusCanceled CheckTransferStatus = "canceled"
	// The check has been deposited.
	CheckTransferStatusDeposited CheckTransferStatus = "deposited"
	// A stop-payment was requested for this check.
	CheckTransferStatusStopped CheckTransferStatus = "stopped"
	// The transfer has been rejected.
	CheckTransferStatusRejected CheckTransferStatus = "rejected"
	// The transfer requires attention from an Increase operator.
	CheckTransferStatusRequiresAttention CheckTransferStatus = "requires_attention"
	// The transfer has been returned.
	CheckTransferStatusReturned CheckTransferStatus = "returned"
)

func (CheckTransferStatus) IsKnown added in v0.30.0

func (r CheckTransferStatus) IsKnown() bool

type CheckTransferStopPaymentParams added in v0.4.0

type CheckTransferStopPaymentParams struct {
	// The reason why this transfer should be stopped.
	Reason param.Field[CheckTransferStopPaymentParamsReason] `json:"reason"`
}

func (CheckTransferStopPaymentParams) MarshalJSON added in v0.4.0

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

type CheckTransferStopPaymentParamsReason added in v0.4.0

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 added in v0.30.0

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 added in v0.4.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.43.0

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 added in v0.43.0

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 added in v0.30.0

func (r CheckTransferType) IsKnown() bool

type Client

type Client struct {
	Options                                []option.RequestOption
	Accounts                               *AccountService
	AccountNumbers                         *AccountNumberService
	BookkeepingAccounts                    *BookkeepingAccountService
	BookkeepingEntrySets                   *BookkeepingEntrySetService
	BookkeepingEntries                     *BookkeepingEntryService
	RealTimeDecisions                      *RealTimeDecisionService
	RealTimePaymentsTransfers              *RealTimePaymentsTransferService
	Cards                                  *CardService
	CardDisputes                           *CardDisputeService
	CardPurchaseSupplements                *CardPurchaseSupplementService
	ExternalAccounts                       *ExternalAccountService
	Exports                                *ExportService
	DigitalWalletTokens                    *DigitalWalletTokenService
	Transactions                           *TransactionService
	PendingTransactions                    *PendingTransactionService
	Programs                               *ProgramService
	DeclinedTransactions                   *DeclinedTransactionService
	AccountTransfers                       *AccountTransferService
	ACHTransfers                           *ACHTransferService
	ACHPrenotifications                    *ACHPrenotificationService
	Documents                              *DocumentService
	WireTransfers                          *WireTransferService
	CheckTransfers                         *CheckTransferService
	Entities                               *EntityService
	InboundACHTransfers                    *InboundACHTransferService
	InboundWireDrawdownRequests            *InboundWireDrawdownRequestService
	WireDrawdownRequests                   *WireDrawdownRequestService
	Events                                 *EventService
	EventSubscriptions                     *EventSubscriptionService
	Files                                  *FileService
	Groups                                 *GroupService
	OAuthConnections                       *OAuthConnectionService
	CheckDeposits                          *CheckDepositService
	RoutingNumbers                         *RoutingNumberService
	AccountStatements                      *AccountStatementService
	Simulations                            *SimulationService
	PhysicalCards                          *PhysicalCardService
	CardPayments                           *CardPaymentService
	ProofOfAuthorizationRequests           *ProofOfAuthorizationRequestService
	ProofOfAuthorizationRequestSubmissions *ProofOfAuthorizationRequestSubmissionService
	Intrafi                                *IntrafiService
	RealTimePaymentsRequestForPayments     *RealTimePaymentsRequestForPaymentService
	Webhooks                               *WebhookService
	OAuthTokens                            *OAuthTokenService
	InboundWireTransfers                   *InboundWireTransferService
	DigitalCardProfiles                    *DigitalCardProfileService
	PhysicalCardProfiles                   *PhysicalCardProfileService
	InboundCheckDeposits                   *InboundCheckDepositService
}

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 added in v0.33.0

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 added in v0.33.0

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 added in v0.33.0

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 added in v0.33.0

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 added in v0.33.0

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 added in v0.33.0

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 added in v0.30.0

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 added in v0.7.1

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 added in v0.7.1

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

type DeclinedTransactionListParamsCategoryIn added in v0.7.1

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"
	// International ACH Decline: details will be under the `international_ach_decline`
	// object.
	DeclinedTransactionListParamsCategoryInInternationalACHDecline DeclinedTransactionListParamsCategoryIn = "international_ach_decline"
	// Wire Decline: details will be under the `wire_decline` object.
	DeclinedTransactionListParamsCategoryInWireDecline DeclinedTransactionListParamsCategoryIn = "wire_decline"
	// The Declined Transaction was made for an undocumented or deprecated reason.
	DeclinedTransactionListParamsCategoryInOther DeclinedTransactionListParamsCategoryIn = "other"
)

func (DeclinedTransactionListParamsCategoryIn) IsKnown added in v0.30.0

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

func (DeclinedTransactionRouteType) IsKnown added in v0.30.0

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"`
	// 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"`
	// An International ACH Decline object. This field will be present in the JSON
	// response if and only if `category` is equal to `international_ach_decline`.
	InternationalACHDecline DeclinedTransactionSourceInternationalACHDecline `json:"international_ach_decline,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 the minor unit of the destination account currency. For
	// dollars, for example, this is 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"
	// A credit was refused. This is a reasonable default reason for decline of
	// credits.
	DeclinedTransactionSourceACHDeclineReasonCreditEntryRefusedByReceiver DeclinedTransactionSourceACHDeclineReason = "credit_entry_refused_by_receiver"
	// A rare return reason. The return this message refers to was a duplicate.
	DeclinedTransactionSourceACHDeclineReasonDuplicateReturn DeclinedTransactionSourceACHDeclineReason = "duplicate_return"
	// The account's entity is not active.
	DeclinedTransactionSourceACHDeclineReasonEntityNotActive DeclinedTransactionSourceACHDeclineReason = "entity_not_active"
	// Your account is inactive.
	DeclinedTransactionSourceACHDeclineReasonGroupLocked DeclinedTransactionSourceACHDeclineReason = "group_locked"
	// Your account contains insufficient funds.
	DeclinedTransactionSourceACHDeclineReasonInsufficientFunds DeclinedTransactionSourceACHDeclineReason = "insufficient_funds"
	// A rare return reason. The return this message refers to was misrouted.
	DeclinedTransactionSourceACHDeclineReasonMisroutedReturn DeclinedTransactionSourceACHDeclineReason = "misrouted_return"
	// The originating financial institution made a mistake and this return corrects
	// it.
	DeclinedTransactionSourceACHDeclineReasonReturnOfErroneousOrReversingDebit DeclinedTransactionSourceACHDeclineReason = "return_of_erroneous_or_reversing_debit"
	// The account number that was debited does not exist.
	DeclinedTransactionSourceACHDeclineReasonNoACHRoute DeclinedTransactionSourceACHDeclineReason = "no_ach_route"
	// The originating financial institution asked for this transfer to be returned.
	DeclinedTransactionSourceACHDeclineReasonOriginatorRequest DeclinedTransactionSourceACHDeclineReason = "originator_request"
	// 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"
)

func (DeclinedTransactionSourceACHDeclineReason) IsKnown added in v0.30.0

type DeclinedTransactionSourceACHDeclineType added in v0.7.1

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 added in v0.30.0

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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency DeclinedTransactionSourceCardDeclineCurrency `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 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 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 added in v0.27.0

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 added in v0.30.0

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 added in v0.30.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 added in v0.6.0

type DeclinedTransactionSourceCardDeclineNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	DeclinedTransactionSourceCardDeclineNetworkDetailsCategoryVisa DeclinedTransactionSourceCardDeclineNetworkDetailsCategory = "visa"
)

func (DeclinedTransactionSourceCardDeclineNetworkDetailsCategory) IsKnown added in v0.30.0

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"`
	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 added in v0.30.0

type DeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode added in v0.7.1

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 added in v0.30.0

type DeclinedTransactionSourceCardDeclineNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type DeclinedTransactionSourceCardDeclineProcessingCategory added in v0.13.0

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 added in v0.30.0

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 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 added in v0.30.0

type DeclinedTransactionSourceCardDeclineVerification added in v0.11.0

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 added in v0.11.0

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

type DeclinedTransactionSourceCardDeclineVerificationCardVerificationCode added in v0.11.0

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 added in v0.11.0

type DeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult added in v0.11.0

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 added in v0.30.0

type DeclinedTransactionSourceCardDeclineVerificationCardholderAddress added in v0.11.0

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 added in v0.11.0

type DeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult added in v0.11.0

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 added in v0.30.0

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"
	// International ACH Decline: details will be under the `international_ach_decline`
	// object.
	DeclinedTransactionSourceCategoryInternationalACHDecline DeclinedTransactionSourceCategory = "international_ach_decline"
	// Wire Decline: details will be under the `wire_decline` object.
	DeclinedTransactionSourceCategoryWireDecline DeclinedTransactionSourceCategory = "wire_decline"
	// The Declined Transaction was made for an undocumented or deprecated reason.
	DeclinedTransactionSourceCategoryOther DeclinedTransactionSourceCategory = "other"
)

func (DeclinedTransactionSourceCategory) IsKnown added in v0.30.0

type DeclinedTransactionSourceCheckDecline

type DeclinedTransactionSourceCheckDecline 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"`
	// 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 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 added in v0.30.0

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"`
	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 added in v0.30.0

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 added in v0.30.0

type DeclinedTransactionSourceInternationalACHDecline

type DeclinedTransactionSourceInternationalACHDecline 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 [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 DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator `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 DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator `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 DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode `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 DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier `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 description field set by the originator.
	OriginatorCompanyEntryDescription string `json:"originator_company_entry_description,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 DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier `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"`
	// 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"`
	JSON        declinedTransactionSourceInternationalACHDeclineJSON `json:"-"`
}

An International ACH Decline object. This field will be present in the JSON response if and only if `category` is equal to `international_ach_decline`.

func (*DeclinedTransactionSourceInternationalACHDecline) UnmarshalJSON

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

type DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator added in v0.7.3

type DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator 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.
	DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorFixedToVariable DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "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.
	DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorVariableToFixed DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "variable_to_fixed"
	// The amount was originated and settled as a fixed amount in USD. There is no
	// foreign exchange conversion.
	DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorFixedToFixed DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "fixed_to_fixed"
)

func (DeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator) IsKnown added in v0.30.0

type DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator added in v0.7.3

type DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator string

An instruction of how to interpret the `foreign_exchange_reference` field for this Transaction.

const (
	// The ACH file contains a foreign exchange rate.
	DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorForeignExchangeRate DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "foreign_exchange_rate"
	// The ACH file contains a reference to a well-known foreign exchange rate.
	DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorForeignExchangeReferenceNumber DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "foreign_exchange_reference_number"
	// There is no foreign exchange for this transfer, so the
	// `foreign_exchange_reference` field is blank.
	DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorBlank DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "blank"
)

func (DeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator) IsKnown added in v0.30.0

type DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode added in v0.7.3

type DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode string

The type of transfer. Set by the originator.

const (
	// Sent as `ANN` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeAnnuity DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "annuity"
	// Sent as `BUS` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeBusinessOrCommercial DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "business_or_commercial"
	// Sent as `DEP` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeDeposit DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "deposit"
	// Sent as `LOA` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeLoan DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "loan"
	// Sent as `MIS` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMiscellaneous DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "miscellaneous"
	// Sent as `MOR` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMortgage DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "mortgage"
	// Sent as `PEN` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePension DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "pension"
	// Sent as `REM` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRemittance DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "remittance"
	// Sent as `RLS` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRentOrLease DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "rent_or_lease"
	// Sent as `SAL` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeSalaryOrPayroll DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "salary_or_payroll"
	// Sent as `TAX` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeTax DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "tax"
	// Sent as `ARC` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeAccountsReceivable DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "accounts_receivable"
	// Sent as `BOC` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeBackOfficeConversion DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "back_office_conversion"
	// Sent as `MTE` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMachineTransfer DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "machine_transfer"
	// Sent as `POP` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePointOfPurchase DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "point_of_purchase"
	// Sent as `POS` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePointOfSale DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "point_of_sale"
	// Sent as `RCK` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRepresentedCheck DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "represented_check"
	// Sent as `SHR` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeSharedNetworkTransaction DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "shared_network_transaction"
	// Sent as `TEL` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeTelphoneInitiated DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "telphone_initiated"
	// Sent as `WEB` in the Nacha file.
	DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeInternetInitiated DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "internet_initiated"
)

func (DeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode) IsKnown added in v0.30.0

type DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier 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.
	DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierBicCode DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierIban DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (DeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier 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.
	DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierBicCode DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierIban DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (DeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

func (r DeclinedTransactionType) IsKnown() bool

type DigitalCardProfile added in v0.24.0

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"`
	// Whether this Digital Card Profile is the default for all cards in its Increase
	// group.
	IsDefault bool `json:"is_default,required"`
	// 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 added in v0.24.0

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

type DigitalCardProfileCloneParams added in v0.24.0

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 added in v0.24.0

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

type DigitalCardProfileCloneParamsTextColor added in v0.24.0

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 added in v0.24.0

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

type DigitalCardProfileListParams added in v0.24.0

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 added in v0.24.0

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

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

type DigitalCardProfileListParamsStatus added in v0.24.0

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 added in v0.24.0

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

type DigitalCardProfileListParamsStatusIn added in v0.24.0

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 added in v0.30.0

type DigitalCardProfileNewParams added in v0.24.0

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 added in v0.24.0

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

type DigitalCardProfileNewParamsTextColor added in v0.24.0

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 added in v0.24.0

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

type DigitalCardProfileService added in v0.24.0

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 added in v0.24.0

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 added in v0.24.0

func (r *DigitalCardProfileService) Archive(ctx context.Context, digitalCardProfileID string, opts ...option.RequestOption) (res *DigitalCardProfile, err error)

Archive a Digital Card Profile

func (*DigitalCardProfileService) Clone added in v0.24.0

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 added in v0.24.0

func (r *DigitalCardProfileService) Get(ctx context.Context, digitalCardProfileID string, opts ...option.RequestOption) (res *DigitalCardProfile, err error)

Retrieve a Digital Card Profile

func (*DigitalCardProfileService) List added in v0.24.0

List Card Profiles

func (*DigitalCardProfileService) ListAutoPaging added in v0.24.0

List Card Profiles

func (*DigitalCardProfileService) New added in v0.24.0

Create a Digital Card Profile

type DigitalCardProfileStatus added in v0.24.0

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 added in v0.30.0

func (r DigitalCardProfileStatus) IsKnown() bool

type DigitalCardProfileTextColor added in v0.24.0

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 added in v0.24.0

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

type DigitalCardProfileType added in v0.24.0

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 added in v0.30.0

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 added in v0.30.0

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"
	// Unknown
	DigitalWalletTokenTokenRequestorUnknown DigitalWalletTokenTokenRequestor = "unknown"
)

func (DigitalWalletTokenTokenRequestor) IsKnown added in v0.30.0

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 added in v0.30.0

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. Currently the only supported document type is IRS Form 1099-INT.

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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"`
	// 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"`
	// 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, or trusts.

func (*Entity) UnmarshalJSON

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

type EntityBeneficialOwnerArchiveParams added in v0.7.1

type EntityBeneficialOwnerArchiveParams struct {
	// The identifying details of anyone controlling or owning 25% or more of the
	// corporation.
	BeneficialOwnerID param.Field[string] `json:"beneficial_owner_id,required"`
	// The identifier of the Entity to retrieve.
	EntityID param.Field[string] `json:"entity_id,required"`
}

func (EntityBeneficialOwnerArchiveParams) MarshalJSON added in v0.7.1

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

type EntityBeneficialOwnerNewParams added in v0.6.2

type EntityBeneficialOwnerNewParams struct {
	// The identifying details of anyone controlling or owning 25% or more of the
	// corporation.
	BeneficialOwner param.Field[EntityBeneficialOwnerNewParamsBeneficialOwner] `json:"beneficial_owner,required"`
	// The identifier of the Entity to associate with the new Beneficial Owner.
	EntityID param.Field[string] `json:"entity_id,required"`
}

func (EntityBeneficialOwnerNewParams) MarshalJSON added in v0.6.2

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

type EntityBeneficialOwnerNewParamsBeneficialOwner added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwner struct {
	// Personal details for the beneficial owner.
	Individual param.Field[EntityBeneficialOwnerNewParamsBeneficialOwnerIndividual] `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[[]EntityBeneficialOwnerNewParamsBeneficialOwnerProng] `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 (EntityBeneficialOwnerNewParamsBeneficialOwner) MarshalJSON added in v0.6.2

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

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividual added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividual struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualAddress] `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[EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentification] `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 (EntityBeneficialOwnerNewParamsBeneficialOwnerIndividual) MarshalJSON added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualAddress added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualAddress 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 (EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualAddress) MarshalJSON added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentification added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentification struct {
	// A method that can be used to verify the individual's identity.
	Method param.Field[EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod] `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[EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationDriversLicense] `json:"drivers_license"`
	// Information about the identification document provided. Required if `method` is
	// equal to `other`.
	Other param.Field[EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationOther] `json:"other"`
	// Information about the passport used for identification. Required if `method` is
	// equal to `passport`.
	Passport param.Field[EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationPassport] `json:"passport"`
}

A means of verifying the person's identity.

func (EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentification) MarshalJSON added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationDriversLicense added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationDriversLicense 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 (EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationDriversLicense) MarshalJSON added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod string

A method that can be used to verify the individual's identity.

const (
	// A social security number.
	EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethodSocialSecurityNumber EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod = "social_security_number"
	// An individual taxpayer identification number (ITIN).
	EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethodIndividualTaxpayerIdentificationNumber EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod = "individual_taxpayer_identification_number"
	// A passport number.
	EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethodPassport EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod = "passport"
	// A driver's license number.
	EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethodDriversLicense EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod = "drivers_license"
	// Another identifying document.
	EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethodOther EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod = "other"
)

func (EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationMethod) IsKnown added in v0.30.0

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationOther added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationOther 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 (EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationOther) MarshalJSON added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationPassport added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationPassport 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 (EntityBeneficialOwnerNewParamsBeneficialOwnerIndividualIdentificationPassport) MarshalJSON added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerProng added in v0.6.2

type EntityBeneficialOwnerNewParamsBeneficialOwnerProng string
const (
	// A person with 25% or greater direct or indirect ownership of the entity.
	EntityBeneficialOwnerNewParamsBeneficialOwnerProngOwnership EntityBeneficialOwnerNewParamsBeneficialOwnerProng = "ownership"
	// A person who manages, directs, or has significant control of the entity.
	EntityBeneficialOwnerNewParamsBeneficialOwnerProngControl EntityBeneficialOwnerNewParamsBeneficialOwnerProng = "control"
)

func (EntityBeneficialOwnerNewParamsBeneficialOwnerProng) IsKnown added in v0.30.0

type EntityBeneficialOwnerService added in v0.6.2

type EntityBeneficialOwnerService struct {
	Options []option.RequestOption
}

EntityBeneficialOwnerService 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 NewEntityBeneficialOwnerService method instead.

func NewEntityBeneficialOwnerService added in v0.6.2

func NewEntityBeneficialOwnerService(opts ...option.RequestOption) (r *EntityBeneficialOwnerService)

NewEntityBeneficialOwnerService 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 (*EntityBeneficialOwnerService) Archive added in v0.7.1

Archive a beneficial owner for a corporate Entity

func (*EntityBeneficialOwnerService) New added in v0.6.2

Create a beneficial owner for a corporate Entity

func (*EntityBeneficialOwnerService) UpdateAddress added in v0.7.3

Update the address for a beneficial owner belonging to a corporate Entity

type EntityBeneficialOwnerUpdateAddressParams added in v0.7.3

type EntityBeneficialOwnerUpdateAddressParams struct {
	// The individual's physical address. Mail receiving locations like PO Boxes and
	// PMB's are disallowed.
	Address param.Field[EntityBeneficialOwnerUpdateAddressParamsAddress] `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"`
	// The identifier of the Entity to retrieve.
	EntityID param.Field[string] `json:"entity_id,required"`
}

func (EntityBeneficialOwnerUpdateAddressParams) MarshalJSON added in v0.7.3

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

type EntityBeneficialOwnerUpdateAddressParamsAddress added in v0.7.3

type EntityBeneficialOwnerUpdateAddressParamsAddress 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 (EntityBeneficialOwnerUpdateAddressParamsAddress) MarshalJSON added in v0.7.3

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

type EntityConfirmParams added in v0.29.0

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 added in v0.29.0

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 added in v0.3.0

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 added in v0.3.0

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 added in v0.30.0

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 added in v0.30.0

type EntityIndustryCodeNewParams added in v0.26.0

type EntityIndustryCodeNewParams 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 (EntityIndustryCodeNewParams) MarshalJSON added in v0.26.0

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

type EntityIndustryCodeService added in v0.26.0

type EntityIndustryCodeService struct {
	Options []option.RequestOption
}

EntityIndustryCodeService 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 NewEntityIndustryCodeService method instead.

func NewEntityIndustryCodeService added in v0.26.0

func NewEntityIndustryCodeService(opts ...option.RequestOption) (r *EntityIndustryCodeService)

NewEntityIndustryCodeService 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 (*EntityIndustryCodeService) New added in v0.26.0

Update the industry code for a corporate Entity

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 added in v0.3.0

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 added in v0.3.0

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 added in v0.30.0

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 added in v0.8.4

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 added in v0.8.4

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

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

type EntityListParamsStatusIn added in v0.8.4

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 added in v0.30.0

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 added in v0.30.0

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 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"`
	// 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 added in v0.1.1

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 added in v0.1.1

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

type EntityNewParamsCorporationBeneficialOwner added in v0.3.0

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 added in v0.3.0

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.1.1

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

type EntityNewParamsJointIndividual added in v0.3.0

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 added in v0.3.0

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.1.1

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 added in v0.1.1

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

func (EntityNewParamsStructure) IsKnown added in v0.30.0

func (r EntityNewParamsStructure) IsKnown() bool

type EntityNewParamsSupplementalDocument added in v0.3.0

type EntityNewParamsSupplementalDocument struct {
	// The identifier of the File containing the document.
	FileID param.Field[string] `json:"file_id,required"`
}

func (EntityNewParamsSupplementalDocument) MarshalJSON added in v0.3.0

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

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.1.1

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 added in v0.1.1

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

type EntityNewParamsTrustTrustee added in v0.3.0

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 added in v0.3.0

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.1.1

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 added in v0.1.1

type EntityNewParamsTrustTrusteesStructure

type EntityNewParamsTrustTrusteesStructure string

The structure of the trustee.

const (
	// The trustee is an individual.
	EntityNewParamsTrustTrusteesStructureIndividual EntityNewParamsTrustTrusteesStructure = "individual"
)

func (EntityNewParamsTrustTrusteesStructure) IsKnown added in v0.30.0

type EntityService

type EntityService struct {
	Options               []option.RequestOption
	BeneficialOwners      *EntityBeneficialOwnerService
	SupplementalDocuments *EntitySupplementalDocumentService
	IndustryCode          *EntityIndustryCodeService
}

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 added in v0.6.3

func (r *EntityService) Archive(ctx context.Context, entityID string, opts ...option.RequestOption) (res *Entity, err error)

Archive an Entity

func (*EntityService) Confirm added in v0.29.0

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) UpdateAddress added in v0.7.3

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

type EntityStatus added in v0.8.4

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 added in v0.30.0

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

func (EntityStructure) IsKnown added in v0.30.0

func (r EntityStructure) IsKnown() bool

type EntitySupplementalDocument added in v0.3.0

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 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 EntitySupplementalDocumentsType `json:"type,required"`
	JSON entitySupplementalDocumentJSON  `json:"-"`
}

Supplemental Documents are uploaded files connected to an Entity during onboarding.

func (*EntitySupplementalDocument) UnmarshalJSON added in v0.3.0

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

type EntitySupplementalDocumentListParams added in v0.1.1

type EntitySupplementalDocumentListParams 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 (EntitySupplementalDocumentListParams) URLQuery added in v0.1.1

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

type EntitySupplementalDocumentNewParams

type EntitySupplementalDocumentNewParams struct {
	// The identifier of the File containing the document.
	FileID param.Field[string] `json:"file_id,required"`
}

func (EntitySupplementalDocumentNewParams) MarshalJSON

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

type EntitySupplementalDocumentService

type EntitySupplementalDocumentService struct {
	Options []option.RequestOption
}

EntitySupplementalDocumentService 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 NewEntitySupplementalDocumentService method instead.

func NewEntitySupplementalDocumentService

func NewEntitySupplementalDocumentService(opts ...option.RequestOption) (r *EntitySupplementalDocumentService)

NewEntitySupplementalDocumentService 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 (*EntitySupplementalDocumentService) List added in v0.1.1

List Entity Supplemental Document Submissions

func (*EntitySupplementalDocumentService) ListAutoPaging added in v0.1.1

List Entity Supplemental Document Submissions

func (*EntitySupplementalDocumentService) New

Create a supplemental document for an Entity

type EntitySupplementalDocumentsType added in v0.1.1

type EntitySupplementalDocumentsType string

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

const (
	EntitySupplementalDocumentsTypeEntitySupplementalDocument EntitySupplementalDocumentsType = "entity_supplemental_document"
)

func (EntitySupplementalDocumentsType) IsKnown added in v0.30.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 added in v0.30.0

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 added in v0.30.0

type EntityTrustTrustee added in v0.3.0

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 added in v0.3.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

func (r EntityType) IsKnown() bool

type EntityUpdateAddressParams added in v0.7.3

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 added in v0.7.3

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

type EntityUpdateAddressParamsAddress added in v0.7.3

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 added in v0.7.3

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

type Error

type Error = apierror.Error

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 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 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 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 added in v0.30.0

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 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 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 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 added in v0.30.0

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 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 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 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 added in v0.30.0

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 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 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 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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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

func (ExportCategory) IsKnown added in v0.30.0

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 added in v0.39.0

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 added in v0.39.0

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

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

type ExportListParamsCategoryIn added in v0.39.0

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

func (ExportListParamsCategoryIn) IsKnown added in v0.39.0

func (r ExportListParamsCategoryIn) IsKnown() bool

type ExportListParamsCreatedAt added in v0.39.0

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 added in v0.39.0

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

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

type ExportListParamsStatus added in v0.39.0

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 added in v0.39.0

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

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

type ExportListParamsStatusIn added in v0.39.0

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 added in v0.39.0

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"`
}

func (ExportNewParams) MarshalJSON

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

type ExportNewParamsAccountStatementOfx added in v0.8.2

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 added in v0.8.2

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

type ExportNewParamsAccountStatementOfxCreatedAt added in v0.8.2

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 added in v0.8.2

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"`
}

Options for the created export. Required if `category` is equal to `balance_csv`.

func (ExportNewParamsBalanceCsv) MarshalJSON added in v0.1.1

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 added in v0.1.1

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

type ExportNewParamsBookkeepingAccountBalanceCsv added in v0.13.0

type ExportNewParamsBookkeepingAccountBalanceCsv struct {
	// Filter exported Transactions to the specified BookkeepingAccount.
	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 added in v0.13.0

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

type ExportNewParamsBookkeepingAccountBalanceCsvCreatedAt added in v0.13.0

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 added in v0.13.0

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

func (ExportNewParamsCategory) IsKnown added in v0.30.0

func (r ExportNewParamsCategory) IsKnown() bool

type ExportNewParamsEntityCsv added in v0.13.0

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 added in v0.13.0

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

type ExportNewParamsEntityCsvStatus added in v0.13.0

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 added in v0.13.0

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

type ExportNewParamsEntityCsvStatusIn added in v0.13.0

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 added in v0.30.0

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"`
}

Options for the created export. Required if `category` is equal to `transaction_csv`.

func (ExportNewParamsTransactionCsv) MarshalJSON added in v0.1.1

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 added in v0.1.1

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.24.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.24.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.24.0

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 added in v0.30.0

type ExternalAccountUpdateParamsFunding added in v0.32.0

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 added in v0.32.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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

func (FileListParamsPurposeIn) IsKnown added in v0.30.0

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 added in v0.30.0

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

func (FilePurpose) IsKnown added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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

func (r *GroupService) GetDetails(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 added in v0.30.0

func (r GroupType) IsKnown() bool

type InboundACHTransfer added in v0.7.1

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"`
	// 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 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 added in v0.7.1

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

type InboundACHTransferAcceptance added in v0.7.1

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 added in v0.7.1

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

type InboundACHTransferAddenda added in v0.9.0

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 added in v0.9.0

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

type InboundACHTransferAddendaCategory added in v0.9.0

type InboundACHTransferAddendaCategory string

The type of addendum.

const (
	// Unstructured addendum.
	InboundACHTransferAddendaCategoryFreeform InboundACHTransferAddendaCategory = "freeform"
)

func (InboundACHTransferAddendaCategory) IsKnown added in v0.30.0

type InboundACHTransferAddendaFreeform added in v0.9.0

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 added in v0.9.0

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

type InboundACHTransferAddendaFreeformEntry added in v0.9.0

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

func (*InboundACHTransferAddendaFreeformEntry) UnmarshalJSON added in v0.9.0

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

type InboundACHTransferDecline added in v0.7.1

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 added in v0.7.1

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

type InboundACHTransferDeclineReason added in v0.7.1

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"
	// A credit was refused. This is a reasonable default reason for decline of
	// credits.
	InboundACHTransferDeclineReasonCreditEntryRefusedByReceiver InboundACHTransferDeclineReason = "credit_entry_refused_by_receiver"
	// A rare return reason. The return this message refers to was a duplicate.
	InboundACHTransferDeclineReasonDuplicateReturn InboundACHTransferDeclineReason = "duplicate_return"
	// The account's entity is not active.
	InboundACHTransferDeclineReasonEntityNotActive InboundACHTransferDeclineReason = "entity_not_active"
	// Your account is inactive.
	InboundACHTransferDeclineReasonGroupLocked InboundACHTransferDeclineReason = "group_locked"
	// Your account contains insufficient funds.
	InboundACHTransferDeclineReasonInsufficientFunds InboundACHTransferDeclineReason = "insufficient_funds"
	// A rare return reason. The return this message refers to was misrouted.
	InboundACHTransferDeclineReasonMisroutedReturn InboundACHTransferDeclineReason = "misrouted_return"
	// The originating financial institution made a mistake and this return corrects
	// it.
	InboundACHTransferDeclineReasonReturnOfErroneousOrReversingDebit InboundACHTransferDeclineReason = "return_of_erroneous_or_reversing_debit"
	// The account number that was debited does not exist.
	InboundACHTransferDeclineReasonNoACHRoute InboundACHTransferDeclineReason = "no_ach_route"
	// The originating financial institution asked for this transfer to be returned.
	InboundACHTransferDeclineReasonOriginatorRequest InboundACHTransferDeclineReason = "originator_request"
	// 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"
)

func (InboundACHTransferDeclineReason) IsKnown added in v0.30.0

type InboundACHTransferDirection added in v0.7.1

type InboundACHTransferDirection string

The direction of the transfer.

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

func (InboundACHTransferDirection) IsKnown added in v0.30.0

func (r InboundACHTransferDirection) IsKnown() bool

type InboundACHTransferListParams added in v0.7.1

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 added in v0.7.1

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

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

type InboundACHTransferListParamsCreatedAt added in v0.7.1

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 added in v0.7.1

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

type InboundACHTransferListParamsStatus added in v0.7.1

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 added in v0.30.0

type InboundACHTransferNotificationOfChange added in v0.7.3

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 added in v0.7.3

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

type InboundACHTransferNotificationOfChangeParams added in v0.7.3

type InboundACHTransferNotificationOfChangeParams 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 (InboundACHTransferNotificationOfChangeParams) MarshalJSON added in v0.7.3

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

type InboundACHTransferService added in v0.7.1

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 added in v0.7.1

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 added in v0.7.1

func (r *InboundACHTransferService) Decline(ctx context.Context, inboundACHTransferID string, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Decline an Inbound ACH Transfer

func (*InboundACHTransferService) Get added in v0.7.1

func (r *InboundACHTransferService) Get(ctx context.Context, inboundACHTransferID string, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Retrieve an Inbound ACH Transfer

func (*InboundACHTransferService) List added in v0.7.1

List Inbound ACH Transfers

func (*InboundACHTransferService) ListAutoPaging added in v0.7.1

List Inbound ACH Transfers

func (*InboundACHTransferService) NotificationOfChange added in v0.7.3

func (r *InboundACHTransferService) NotificationOfChange(ctx context.Context, inboundACHTransferID string, body InboundACHTransferNotificationOfChangeParams, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Create a notification of change for an Inbound ACH Transfer

func (*InboundACHTransferService) TransferReturn added in v0.7.1

func (r *InboundACHTransferService) TransferReturn(ctx context.Context, inboundACHTransferID string, body InboundACHTransferTransferReturnParams, opts ...option.RequestOption) (res *InboundACHTransfer, err error)

Return an Inbound ACH Transfer

type InboundACHTransferStatus added in v0.7.1

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 added in v0.30.0

func (r InboundACHTransferStatus) IsKnown() bool

type InboundACHTransferTransferReturn added in v0.7.1

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 added in v0.7.1

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

type InboundACHTransferTransferReturnParams added in v0.7.1

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 added in v0.7.1

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

type InboundACHTransferTransferReturnParamsReason added in v0.7.1

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 added in v0.30.0

type InboundACHTransferTransferReturnReason added in v0.7.1

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 added in v0.30.0

type InboundACHTransferType added in v0.7.1

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 added in v0.30.0

func (r InboundACHTransferType) IsKnown() bool

type InboundCheckDeposit added in v0.39.0

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"`
	// The deposited amount in the minor unit of the destination account currency. For
	// dollars, for example, this is 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"`
	// 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 added in v0.39.0

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

type InboundCheckDepositCurrency added in v0.39.0

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 added in v0.39.0

func (r InboundCheckDepositCurrency) IsKnown() bool

type InboundCheckDepositListParams added in v0.39.0

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 added in v0.39.0

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

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

type InboundCheckDepositListParamsCreatedAt added in v0.39.0

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 added in v0.39.0

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

type InboundCheckDepositService added in v0.39.0

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 added in v0.39.0

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 added in v0.42.0

func (r *InboundCheckDepositService) Decline(ctx context.Context, inboundCheckDepositID string, opts ...option.RequestOption) (res *InboundCheckDeposit, err error)

Decline an Inbound Check Deposit

func (*InboundCheckDepositService) Get added in v0.39.0

func (r *InboundCheckDepositService) Get(ctx context.Context, inboundCheckDepositID string, opts ...option.RequestOption) (res *InboundCheckDeposit, err error)

Retrieve an Inbound Check Deposit

func (*InboundCheckDepositService) List added in v0.39.0

List Inbound Check Deposits

func (*InboundCheckDepositService) ListAutoPaging added in v0.39.0

List Inbound Check Deposits

type InboundCheckDepositStatus added in v0.39.0

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

func (InboundCheckDepositStatus) IsKnown added in v0.39.0

func (r InboundCheckDepositStatus) IsKnown() bool

type InboundCheckDepositType added in v0.39.0

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 added in v0.39.0

func (r InboundCheckDepositType) IsKnown() bool

type InboundRealTimePaymentsTransferSimulationResult

type InboundRealTimePaymentsTransferSimulationResult struct {
	// If the Real-Time Payments Transfer attempt fails, this will contain the
	// resulting [Declined Transaction](#declined-transactions) object. The Declined
	// Transaction's `source` will be of
	// `category: inbound_real_time_payments_transfer_decline`.
	DeclinedTransaction InboundRealTimePaymentsTransferSimulationResultDeclinedTransaction `json:"declined_transaction,required,nullable"`
	// If the Real-Time Payments Transfer attempt succeeds, this will contain the
	// resulting [Transaction](#transactions) object. The Transaction's `source` will
	// be of `category: inbound_real_time_payments_transfer_confirmation`.
	Transaction InboundRealTimePaymentsTransferSimulationResultTransaction `json:"transaction,required,nullable"`
	// A constant representing the object's type. For this resource it will always be
	// `inbound_real_time_payments_transfer_simulation_result`.
	Type InboundRealTimePaymentsTransferSimulationResultType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultJSON `json:"-"`
}

The results of an inbound Real-Time Payments Transfer simulation.

func (*InboundRealTimePaymentsTransferSimulationResult) UnmarshalJSON

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

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransaction

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransaction 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteType `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSource `json:"source,required"`
	// A constant representing the object's type. For this resource it will always be
	// `declined_transaction`.
	Type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionJSON `json:"-"`
}

If the Real-Time Payments Transfer attempt fails, this will contain the resulting [Declined Transaction](#declined-transactions) object. The Declined Transaction's `source` will be of `category: inbound_real_time_payments_transfer_decline`.

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransaction) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency 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)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrencyCad InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrencyChf InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrencyEur InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrencyGbp InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrencyJpy InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrencyUsd InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteType

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteType string

The type of the route this Declined Transaction came through.

const (
	// An Account Number.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteTypeAccountNumber InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteType = "account_number"
	// A Card.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteTypeCard InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteType = "card"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionRouteType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSource

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSource 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDecline `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDecline `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDecline `json:"check_decline,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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline `json:"inbound_real_time_payments_transfer_decline,required,nullable"`
	// An International ACH Decline object. This field will be present in the JSON
	// response if and only if `category` is equal to `international_ach_decline`.
	InternationalACHDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDecline `json:"international_ach_decline,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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDecline `json:"wire_decline,required,nullable"`
	JSON        inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceJSON        `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 (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSource) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDecline

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDecline struct {
	// The ACH Decline's identifier.
	ID string `json:"id,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 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineJSON `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 (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDecline) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason string

Why the ACH transfer was declined.

const (
	// The account number is canceled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonACHRouteCanceled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "ach_route_canceled"
	// The account number is disabled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonACHRouteDisabled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "ach_route_disabled"
	// The transaction would cause an Increase limit to be exceeded.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonBreachesLimit InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "breaches_limit"
	// A credit was refused. This is a reasonable default reason for decline of
	// credits.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonCreditEntryRefusedByReceiver InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "credit_entry_refused_by_receiver"
	// A rare return reason. The return this message refers to was a duplicate.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonDuplicateReturn InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "duplicate_return"
	// The account's entity is not active.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonEntityNotActive InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "entity_not_active"
	// Your account is inactive.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonGroupLocked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "group_locked"
	// Your account contains insufficient funds.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonInsufficientFunds InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "insufficient_funds"
	// A rare return reason. The return this message refers to was misrouted.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonMisroutedReturn InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "misrouted_return"
	// The originating financial institution made a mistake and this return corrects
	// it.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonReturnOfErroneousOrReversingDebit InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "return_of_erroneous_or_reversing_debit"
	// The account number that was debited does not exist.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonNoACHRoute InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "no_ach_route"
	// The originating financial institution asked for this transfer to be returned.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonOriginatorRequest InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "originator_request"
	// The transaction is not allowed per Increase's terms.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonTransactionNotAllowed InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "transaction_not_allowed"
	// Your integration declined this transfer via the API.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReasonUserInitiated InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason = "user_initiated"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineType added in v0.7.1

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineTypeACHDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineType = "ach_decline"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceACHDeclineType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDecline

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDecline 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActioner `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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination
	// account currency.
	Currency InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency `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 state the merchant resides in.
	MerchantState string `json:"merchant_state,required,nullable"`
	// Fields specific to the `network`.
	NetworkDetails InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetails `json:"network_details,required"`
	// Network-specific identifiers for a specific request or transaction.
	NetworkIdentifiers InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkIdentifiers `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 processing category describes the intent behind the authorization, such as
	// whether it was used for bill payments or an automatic fuel dispenser.
	ProcessingCategory InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason `json:"reason,required"`
	// Fields related to verification of cardholder-provided values.
	Verification InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerification `json:"verification,required"`
	JSON         inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineJSON         `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 (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDecline) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActioner added in v0.27.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActioner 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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActionerUser InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActioner = "user"
	// This object was actioned by Increase without user intervention.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActionerIncrease InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActioner = "increase"
	// This object was actioned by the network, through stand-in processing.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActionerNetwork InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActioner = "network"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineActioner) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrencyCad InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrencyChf InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrencyEur InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrencyGbp InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrencyJpy InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrencyUsd InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetails

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetails struct {
	// The payment network used to process this card authorization.
	Category InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsCategory `json:"category,required"`
	// Fields specific to the `visa` network.
	Visa InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisa `json:"visa,required,nullable"`
	JSON inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsJSON `json:"-"`
}

Fields specific to the `network`.

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetails) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsCategory added in v0.6.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsCategoryVisa InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsCategory = "visa"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsCategory) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisa

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisa 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator `json:"electronic_commerce_indicator,required,nullable"`
	// The method used to enter the cardholder's primary account number and card
	// expiration date.
	PointOfServiceEntryMode InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode `json:"point_of_service_entry_mode,required,nullable"`
	JSON                    inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaJSON                    `json:"-"`
}

Fields specific to the `visa` network.

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisa) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator 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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorMailPhoneOrder InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "mail_phone_order"
	// Recurring transaction: Payment indicator used to indicate a recurring
	// transaction that originates from an acquirer in the US region.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorRecurring InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorInstallment InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "installment"
	// Unknown classification: other mail order: Use to indicate that the type of
	// mail/telephone order is unknown.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorUnknownMailPhoneOrder InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorSecureElectronicCommerce InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransactionAt3DSCapableMerchant InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonAuthenticatedSecurityTransaction InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_authenticated_security_transaction"
	// Non-secure transaction: Use to identify an electronic commerce transaction that
	// has no data protection.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicatorNonSecureTransaction InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator = "non_secure_transaction"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaElectronicCommerceIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode added in v0.7.1

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode string

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

const (
	// Unknown
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeUnknown InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "unknown"
	// Manual key entry
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeManual InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "manual"
	// Magnetic stripe read, without card verification value
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripeNoCvv InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe_no_cvv"
	// Optical code
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeOpticalCode InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "optical_code"
	// Contact chip card
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCard InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card"
	// Contactless read of chip card
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactless InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless"
	// Transaction initiated using a credential that has previously been stored on file
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeCredentialOnFile InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "credential_on_file"
	// Magnetic stripe read
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeMagneticStripe InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "magnetic_stripe"
	// Contactless read of magnetic stripe data
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeContactlessMagneticStripe InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "contactless_magnetic_stripe"
	// Contact chip card, without card verification value
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryModeIntegratedCircuitCardNoCvv InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode = "integrated_circuit_card_no_cvv"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkDetailsVisaPointOfServiceEntryMode) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkIdentifiers added in v0.13.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkIdentifiers 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          inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for a specific request or transaction.

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineNetworkIdentifiers) UnmarshalJSON added in v0.13.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory added in v0.13.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory 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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategoryAccountFunding InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory = "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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategoryAutomaticFuelDispenser InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory = "automatic_fuel_dispenser"
	// A transaction used to pay a bill.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategoryBillPayment InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory = "bill_payment"
	// A regular purchase.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategoryPurchase InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory = "purchase"
	// Quasi-cash transactions represent purchases of items which may be convertible to
	// cash.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategoryQuasiCash InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory = "quasi_cash"
	// A refund card authorization, sometimes referred to as a credit voucher
	// authorization, where funds are credited to the cardholder.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategoryRefund InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory = "refund"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineProcessingCategory) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason string

Why the transaction was declined.

const (
	// The Card was not active.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonCardNotActive InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "card_not_active"
	// The Physical Card was not active.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonPhysicalCardNotActive InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "physical_card_not_active"
	// The account's entity was not active.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonEntityNotActive InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "entity_not_active"
	// The account was inactive.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonGroupLocked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "group_locked"
	// The Card's Account did not have a sufficient available balance.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonInsufficientFunds InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "insufficient_funds"
	// The given CVV2 did not match the card's value.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonCvv2Mismatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "cvv2_mismatch"
	// The attempted card transaction is not allowed per Increase's terms.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonTransactionNotAllowed InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "transaction_not_allowed"
	// The transaction was blocked by a Limit.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonBreachesLimit InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "breaches_limit"
	// Your application declined the transaction via webhook.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonWebhookDeclined InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "webhook_declined"
	// Your application webhook did not respond without the required timeout.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonWebhookTimedOut InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "webhook_timed_out"
	// Declined by stand-in processing.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonDeclinedByStandInProcessing InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "declined_by_stand_in_processing"
	// The card read had an invalid CVV, dCVV, or authorization request cryptogram.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonInvalidPhysicalCard InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "invalid_physical_card"
	// The original card authorization for this incremental authorization does not
	// exist.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonMissingOriginalAuthorization InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "missing_original_authorization"
	// The transaction was suspected to be fraudulent. Please reach out to
	// support@increase.com for more information.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReasonSuspectedFraud InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason = "suspected_fraud"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerification added in v0.11.0

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

Fields related to verification of cardholder-provided values.

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerification) UnmarshalJSON added in v0.11.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCode added in v0.11.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCode struct {
	// The result of verifying the Card Verification Code.
	Result InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult `json:"result,required"`
	JSON   inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeJSON   `json:"-"`
}

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

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCode) UnmarshalJSON added in v0.11.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult added in v0.11.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult string

The result of verifying the Card Verification Code.

const (
	// No card verification code was provided in the authorization request.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultNotChecked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "not_checked"
	// The card verification code matched the one on file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultMatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "match"
	// The card verification code did not match the one on file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResultNoMatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult = "no_match"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardVerificationCodeResult) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddress added in v0.11.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddress 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult `json:"result,required"`
	JSON   inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressJSON   `json:"-"`
}

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

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddress) UnmarshalJSON added in v0.11.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult added in v0.11.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult string

The address verification result returned to the card network.

const (
	// No adress was provided in the authorization request.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultNotChecked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "not_checked"
	// Postal code matches, but the street address was not verified.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNotChecked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_not_checked"
	// Postal code matches, but the street address does not match.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeMatchAddressNoMatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_match_address_no_match"
	// Postal code does not match, but the street address matches.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultPostalCodeNoMatchAddressMatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "postal_code_no_match_address_match"
	// Postal code and street address match.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultMatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "match"
	// Postal code and street address do not match.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResultNoMatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult = "no_match"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCardDeclineVerificationCardholderAddressResult) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory 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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategoryACHDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory = "ach_decline"
	// Card Decline: details will be under the `card_decline` object.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategoryCardDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory = "card_decline"
	// Check Decline: details will be under the `check_decline` object.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategoryCheckDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory = "check_decline"
	// Inbound Real-Time Payments Transfer Decline: details will be under the
	// `inbound_real_time_payments_transfer_decline` object.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategoryInboundRealTimePaymentsTransferDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory = "inbound_real_time_payments_transfer_decline"
	// International ACH Decline: details will be under the `international_ach_decline`
	// object.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategoryInternationalACHDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory = "international_ach_decline"
	// Wire Decline: details will be under the `wire_decline` object.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategoryWireDecline InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory = "wire_decline"
	// The Declined Transaction was made for an undocumented or deprecated reason.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategoryOther InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory = "other"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCategory) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDecline

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDecline 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"`
	// 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason `json:"reason,required"`
	JSON   inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineJSON   `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 (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDecline) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason string

Why the check was declined.

const (
	// The account number is disabled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonACHRouteDisabled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "ach_route_disabled"
	// The account number is canceled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonACHRouteCanceled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "ach_route_canceled"
	// The deposited check was altered or fictitious.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonAlteredOrFictitious InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "altered_or_fictitious"
	// The transaction would cause a limit to be exceeded.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonBreachesLimit InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "breaches_limit"
	// The account's entity is not active.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonEntityNotActive InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "entity_not_active"
	// Your account is inactive.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonGroupLocked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "group_locked"
	// Your account contains insufficient funds.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonInsufficientFunds InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "insufficient_funds"
	// Stop payment requested for this check.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonStopPaymentRequested InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "stop_payment_requested"
	// The check was a duplicate deposit.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonDuplicatePresentment InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "duplicate_presentment"
	// The check was not authorized.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonNotAuthorized InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "not_authorized"
	// The amount the receiving bank is attempting to deposit does not match the amount
	// on the check.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonAmountMismatch InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "amount_mismatch"
	// The check attempting to be deposited does not belong to Increase.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonNotOurItem InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "not_our_item"
	// The account number on the check does not exist at Increase.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonNoAccountNumberFound InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "no_account_number_found"
	// The check is not readable. Please refer to the image.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonReferToImage InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "refer_to_image"
	// The check cannot be processed. This is rare: please contact support.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonUnableToProcess InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "unable_to_process"
	// Your integration declined this check via the API.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReasonUserInitiated InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason = "user_initiated"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceCheckDeclineReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason `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"`
	JSON                      inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineJSON `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 (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDecline) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency 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)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyCad InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyChf InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyEur InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyGbp InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyJpy InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrencyUsd InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason string

Why the transfer was declined.

const (
	// The account number is canceled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberCanceled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_canceled"
	// The account number is disabled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountNumberDisabled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_number_disabled"
	// Your account is restricted.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonAccountRestricted InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "account_restricted"
	// Your account is inactive.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonGroupLocked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "group_locked"
	// The account's entity is not active.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonEntityNotActive InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "entity_not_active"
	// Your account is not enabled to receive Real-Time Payments transfers.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReasonRealTimePaymentsNotEnabled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason = "real_time_payments_not_enabled"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInboundRealTimePaymentsTransferDeclineReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDecline

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDecline 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 [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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode `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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier `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 description field set by the originator.
	OriginatorCompanyEntryDescription string `json:"originator_company_entry_description,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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier `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"`
	// 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"`
	JSON        inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineJSON `json:"-"`
}

An International ACH Decline object. This field will be present in the JSON response if and only if `category` is equal to `international_ach_decline`.

func (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDecline) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator 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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorFixedToVariable InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorVariableToFixed InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "variable_to_fixed"
	// The amount was originated and settled as a fixed amount in USD. There is no
	// foreign exchange conversion.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicatorFixedToFixed InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator = "fixed_to_fixed"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator string

An instruction of how to interpret the `foreign_exchange_reference` field for this Transaction.

const (
	// The ACH file contains a foreign exchange rate.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorForeignExchangeRate InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "foreign_exchange_rate"
	// The ACH file contains a reference to a well-known foreign exchange rate.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorForeignExchangeReferenceNumber InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "foreign_exchange_reference_number"
	// There is no foreign exchange for this transfer, so the
	// `foreign_exchange_reference` field is blank.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicatorBlank InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator = "blank"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineForeignExchangeReferenceIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode string

The type of transfer. Set by the originator.

const (
	// Sent as `ANN` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeAnnuity InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "annuity"
	// Sent as `BUS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeBusinessOrCommercial InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "business_or_commercial"
	// Sent as `DEP` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeDeposit InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "deposit"
	// Sent as `LOA` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeLoan InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "loan"
	// Sent as `MIS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMiscellaneous InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "miscellaneous"
	// Sent as `MOR` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMortgage InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "mortgage"
	// Sent as `PEN` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePension InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "pension"
	// Sent as `REM` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRemittance InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "remittance"
	// Sent as `RLS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRentOrLease InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "rent_or_lease"
	// Sent as `SAL` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeSalaryOrPayroll InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "salary_or_payroll"
	// Sent as `TAX` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeTax InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "tax"
	// Sent as `ARC` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeAccountsReceivable InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "accounts_receivable"
	// Sent as `BOC` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeBackOfficeConversion InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "back_office_conversion"
	// Sent as `MTE` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeMachineTransfer InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "machine_transfer"
	// Sent as `POP` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePointOfPurchase InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "point_of_purchase"
	// Sent as `POS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodePointOfSale InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "point_of_sale"
	// Sent as `RCK` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeRepresentedCheck InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "represented_check"
	// Sent as `SHR` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeSharedNetworkTransaction InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "shared_network_transaction"
	// Sent as `TEL` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeTelphoneInitiated InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "telphone_initiated"
	// Sent as `WEB` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCodeInternetInitiated InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode = "internet_initiated"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineInternationalTransactionTypeCode) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier 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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierBicCode InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifierIban InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineOriginatingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier 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.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierBicCode InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifierIban InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceInternationalACHDeclineReceivingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDecline

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDecline 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 InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason `json:"reason,required"`
	JSON   inboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineJSON   `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 (*InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDecline) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason string

Why the wire transfer was declined.

const (
	// The account number is canceled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReasonAccountNumberCanceled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason = "account_number_canceled"
	// The account number is disabled.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReasonAccountNumberDisabled InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason = "account_number_disabled"
	// The account's entity is not active.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReasonEntityNotActive InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason = "entity_not_active"
	// Your account is inactive.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReasonGroupLocked InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason = "group_locked"
	// The beneficiary account number does not exist.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReasonNoAccountNumber InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason = "no_account_number"
	// The transaction is not allowed per Increase's terms.
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReasonTransactionNotAllowed InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason = "transaction_not_allowed"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionSourceWireDeclineReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionType

type InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionTypeDeclinedTransaction InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionType = "declined_transaction"
)

func (InboundRealTimePaymentsTransferSimulationResultDeclinedTransactionType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransaction

type InboundRealTimePaymentsTransferSimulationResultTransaction 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 InboundRealTimePaymentsTransferSimulationResultTransactionCurrency `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 InboundRealTimePaymentsTransferSimulationResultTransactionRouteType `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 InboundRealTimePaymentsTransferSimulationResultTransactionSource `json:"source,required"`
	// A constant representing the object's type. For this resource it will always be
	// `transaction`.
	Type InboundRealTimePaymentsTransferSimulationResultTransactionType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultTransactionJSON `json:"-"`
}

If the Real-Time Payments Transfer attempt succeeds, this will contain the resulting Transaction(#transactions) object. The Transaction's `source` will be of `category: inbound_real_time_payments_transfer_confirmation`.

func (*InboundRealTimePaymentsTransferSimulationResultTransaction) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionCurrency 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)
	InboundRealTimePaymentsTransferSimulationResultTransactionCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionRouteType

type InboundRealTimePaymentsTransferSimulationResultTransactionRouteType string

The type of the route this Transaction came through.

const (
	// An Account Number.
	InboundRealTimePaymentsTransferSimulationResultTransactionRouteTypeAccountNumber InboundRealTimePaymentsTransferSimulationResultTransactionRouteType = "account_number"
	// A Card.
	InboundRealTimePaymentsTransferSimulationResultTransactionRouteTypeCard InboundRealTimePaymentsTransferSimulationResultTransactionRouteType = "card"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionRouteType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSource

type InboundRealTimePaymentsTransferSimulationResultTransactionSource 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntention `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferIntention `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferRejection `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturn `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardDisputeAcceptance `json:"card_dispute_acceptance,required,nullable"`
	// A Card Refund object. This field will be present in the JSON response if and
	// only if `category` is equal to `card_refund`.
	CardRefund InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefund `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePayment `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlement `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPayment `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptance `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturn `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDeposit `json:"check_transfer_deposit,required,nullable"`
	// A Check Transfer Stop Payment Request object. This field will be present in the
	// JSON response if and only if `category` is equal to
	// `check_transfer_stop_payment_request`.
	CheckTransferStopPaymentRequest InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequest `json:"check_transfer_stop_payment_request,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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePayment `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransfer `json:"inbound_ach_transfer,required,nullable"`
	// An Inbound International ACH Transfer object. This field will be present in the
	// JSON response if and only if `category` is equal to
	// `inbound_international_ach_transfer`.
	InboundInternationalACHTransfer InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransfer `json:"inbound_international_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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmation `json:"inbound_real_time_payments_transfer_confirmation,required,nullable"`
	// An Inbound Wire Drawdown Payment object. This field will be present in the JSON
	// response if and only if `category` is equal to `inbound_wire_drawdown_payment`.
	InboundWireDrawdownPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireDrawdownPayment `json:"inbound_wire_drawdown_payment,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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireReversal `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireTransfer `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPayment `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSource `json:"internal_source,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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceRealTimePaymentsTransferAcknowledgement `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceSampleFunds `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferIntention `json:"wire_transfer_intention,required,nullable"`
	// A Wire Transfer Rejection object. This field will be present in the JSON
	// response if and only if `category` is equal to `wire_transfer_rejection`.
	WireTransferRejection InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferRejection `json:"wire_transfer_rejection,required,nullable"`
	JSON                  inboundRealTimePaymentsTransferSimulationResultTransactionSourceJSON                  `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSource) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferIntention

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferIntention 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       inboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferIntentionJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferIntention) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferRejection

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferRejection struct {
	// The identifier of the ACH Transfer that led to this Transaction.
	TransferID string                                                                                   `json:"transfer_id,required"`
	JSON       inboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferRejectionJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferRejection) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturn

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturn 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode `json:"return_reason_code,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       inboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturn) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode 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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeInsufficientFund InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "insufficient_fund"
	// Code R03. The account does not exist or the receiving bank was unable to locate
	// it.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeNoAccount InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "no_account"
	// Code R02. The account is closed at the receiving bank.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeAccountClosed InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "account_closed"
	// Code R04. The account number is invalid at the receiving bank.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeInvalidAccountNumberStructure InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "invalid_account_number_structure"
	// Code R16. The account at the receiving bank was frozen per the Office of Foreign
	// Assets Control.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeAccountFrozenEntryReturnedPerOfacInstruction InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "account_frozen_entry_returned_per_ofac_instruction"
	// Code R23. The receiving bank account refused a credit transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeCreditEntryRefusedByReceiver InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "credit_entry_refused_by_receiver"
	// Code R05. The receiving bank rejected because of an incorrect Standard Entry
	// Class code.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeUnauthorizedDebitToConsumerAccountUsingCorporateSecCode InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "unauthorized_debit_to_consumer_account_using_corporate_sec_code"
	// Code R29. The corporate customer at the receiving bank reversed the transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeCorporateCustomerAdvisedNotAuthorized InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "corporate_customer_advised_not_authorized"
	// Code R08. The receiving bank stopped payment on this transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodePaymentStopped InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "payment_stopped"
	// Code R20. The receiving bank account does not perform transfers.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeNonTransactionAccount InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "non_transaction_account"
	// Code R09. The receiving bank account does not have enough available balance for
	// the transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeUncollectedFunds InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "uncollected_funds"
	// Code R28. The routing number is incorrect.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeRoutingNumberCheckDigitError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "routing_number_check_digit_error"
	// Code R10. The customer at the receiving bank reversed the transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeCustomerAdvisedUnauthorizedImproperIneligibleOrIncomplete InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "customer_advised_unauthorized_improper_ineligible_or_incomplete"
	// Code R19. The amount field is incorrect or too large.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeAmountFieldError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "amount_field_error"
	// Code R07. The customer at the receiving institution informed their bank that
	// they have revoked authorization for a previously authorized transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeAuthorizationRevokedByCustomer InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "authorization_revoked_by_customer"
	// Code R13. The routing number is invalid.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeInvalidACHRoutingNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "invalid_ach_routing_number"
	// Code R17. The receiving bank is unable to process a field in the transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeFileRecordEditCriteria InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "file_record_edit_criteria"
	// Code R45. The individual name field was invalid.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidIndividualName InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeReturnedPerOdfiRequest InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "returned_per_odfi_request"
	// Code R34. The receiving bank's regulatory supervisor has limited their
	// participation in the ACH network.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeLimitedParticipationDfi InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "limited_participation_dfi"
	// Code R85. The outbound international ACH transfer was incorrect.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeIncorrectlyCodedOutboundInternationalPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "incorrectly_coded_outbound_international_payment"
	// Code R12. A rare return reason. The account was sold to another bank.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeAccountSoldToAnotherDfi InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "account_sold_to_another_dfi"
	// Code R25. The addenda record is incorrect or missing.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeAddendaError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "addenda_error"
	// Code R15. A rare return reason. The account holder is deceased.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeBeneficiaryOrAccountHolderDeceased InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeCustomerAdvisedNotWithinAuthorizationTerms InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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).
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeCorrectedReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "corrected_return"
	// Code R24. A rare return reason. The receiving bank received an exact duplicate
	// entry with the same trace number and amount.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeDuplicateEntry InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "duplicate_entry"
	// Code R67. A rare return reason. The return this message refers to was a
	// duplicate.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeDuplicateReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "duplicate_return"
	// Code R47. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrDuplicateEnrollment InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "enr_duplicate_enrollment"
	// Code R43. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidDfiAccountNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_dfi_account_number"
	// Code R44. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidIndividualIDNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_individual_id_number"
	// Code R46. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidRepresentativePayeeIndicator InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_representative_payee_indicator"
	// Code R41. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrInvalidTransactionCode InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "enr_invalid_transaction_code"
	// Code R40. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrReturnOfEnrEntry InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "enr_return_of_enr_entry"
	// Code R42. A rare return reason. Only used for US Government agency non-monetary
	// automatic enrollment messages.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEnrRoutingNumberCheckDigitError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "enr_routing_number_check_digit_error"
	// Code R84. A rare return reason. The International ACH Transfer cannot be
	// processed by the gateway.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeEntryNotProcessedByGateway InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "entry_not_processed_by_gateway"
	// Code R69. A rare return reason. One or more of the fields in the ACH were
	// malformed.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeFieldError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "field_error"
	// Code R83. A rare return reason. The Foreign receiving bank was unable to settle
	// this ACH transfer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeForeignReceivingDfiUnableToSettle InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "foreign_receiving_dfi_unable_to_settle"
	// Code R80. A rare return reason. The International ACH Transfer is malformed.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeIatEntryCodingError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "iat_entry_coding_error"
	// Code R18. A rare return reason. The ACH has an improper effective entry date
	// field.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeImproperEffectiveEntryDate InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeImproperSourceDocumentSourceDocumentPresented InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "improper_source_document_source_document_presented"
	// Code R21. A rare return reason. The Company ID field of the ACH was invalid.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeInvalidCompanyID InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "invalid_company_id"
	// Code R82. A rare return reason. The foreign receiving bank identifier for an
	// International ACH Transfer was invalid.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeInvalidForeignReceivingDfiIdentification InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "invalid_foreign_receiving_dfi_identification"
	// Code R22. A rare return reason. The Individual ID number field of the ACH was
	// invalid.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeInvalidIndividualIDNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeItemAndRckEntryPresentedForPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "item_and_rck_entry_presented_for_payment"
	// Code R51. A rare return reason. The Represented Check ("RCK") entry is
	// ineligible.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeItemRelatedToRckEntryIsIneligible InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "item_related_to_rck_entry_is_ineligible"
	// Code R26. A rare return reason. The ACH is missing a required field.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeMandatoryFieldError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "mandatory_field_error"
	// Code R71. A rare return reason. The receiving bank does not recognize the
	// routing number in a dishonored return entry.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeMisroutedDishonoredReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "misrouted_dishonored_return"
	// Code R61. A rare return reason. The receiving bank does not recognize the
	// routing number in a return entry.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeMisroutedReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeNoErrorsFound InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeNonAcceptanceOfR62DishonoredReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "non_acceptance_of_r62_dishonored_return"
	// Code R81. A rare return reason. The receiving bank does not accept International
	// ACH Transfers.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeNonParticipantInIatProgram InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodePermissibleReturnEntry InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "permissible_return_entry"
	// Code R70. A rare return reason. The receiving bank had not approved this return.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodePermissibleReturnEntryNotAccepted InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "permissible_return_entry_not_accepted"
	// Code R32. A rare return reason. The receiving bank could not settle this
	// transaction.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeRdfiNonSettlement InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "rdfi_non_settlement"
	// Code R30. A rare return reason. The receiving bank does not accept Check
	// Truncation ACH transfers.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeRdfiParticipantInCheckTruncationProgram InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "rdfi_participant_in_check_truncation_program"
	// Code R14. A rare return reason. The payee is deceased.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeRepresentativePayeeDeceasedOrUnableToContinueInThatCapacity InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeReturnNotADuplicate InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "return_not_a_duplicate"
	// Code R62. A rare return reason. The originating financial institution made a
	// mistake and this return corrects it.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeReturnOfErroneousOrReversingDebit InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "return_of_erroneous_or_reversing_debit"
	// Code R36. A rare return reason. Return of a malformed credit entry.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeReturnOfImproperCreditEntry InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "return_of_improper_credit_entry"
	// Code R35. A rare return reason. Return of a malformed debit entry.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeReturnOfImproperDebitEntry InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "return_of_improper_debit_entry"
	// Code R33. A rare return reason. Return of a Destroyed Check ("XKC") entry.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeReturnOfXckEntry InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeSourceDocumentPresentedForPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "source_document_presented_for_payment"
	// Code R50. A rare return reason. State law prevents the bank from accepting the
	// Represented Check ("RCK") entry.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeStateLawAffectingRckAcceptance InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "state_law_affecting_rck_acceptance"
	// Code R52. A rare return reason. A stop payment was issued on a Represented Check
	// ("RCK") entry.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeStopPaymentOnItemRelatedToRckEntry InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeStopPaymentOnSourceDocument InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "stop_payment_on_source_document"
	// Code R73. A rare return reason. The bank receiving an `untimely_return` believes
	// it was on time.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeTimelyOriginalReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "timely_original_return"
	// Code R27. A rare return reason. An ACH return's trace number does not match an
	// originated ACH.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeTraceNumberError InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "trace_number_error"
	// Code R72. A rare return reason. The dishonored return was sent too late.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeUntimelyDishonoredReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "untimely_dishonored_return"
	// Code R68. A rare return reason. The return was sent too late.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCodeUntimelyReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode = "untimely_return"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceACHTransferReturnReturnReasonCode) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntention

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntention 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency `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       inboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntention) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceAccountTransferIntentionCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardDisputeAcceptance

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardDisputeAcceptance 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          inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardDisputeAcceptanceJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardDisputeAcceptance) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefund

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefund struct {
	// The Card Refund identifier.
	ID string `json:"id,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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency `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,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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundNetworkIdentifiers `json:"network_identifiers,required"`
	// Additional details about the card purchase, such as tax and industry-specific
	// fields.
	PurchaseDetails InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetails `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefund) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundNetworkIdentifiers added in v0.13.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundNetworkIdentifiers 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          inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for this refund.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundNetworkIdentifiers) UnmarshalJSON added in v0.13.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetails added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetails struct {
	// Fields specific to car rentals.
	CarRental InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRental `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodging `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat `json:"purchase_identifier_format,required,nullable"`
	// Fields specific to travel.
	Travel InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravel `json:"travel,required,nullable"`
	JSON   inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsJSON   `json:"-"`
}

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

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetails) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRental added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRental 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator `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                     inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalJSON `json:"-"`
}

Fields specific to car rentals.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRental) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges string

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

const (
	// No extra charge
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesNoExtraCharge InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	// Gas
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesGas InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "gas"
	// Extra mileage
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesExtraMileage InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	// Late return
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesLateReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "late_return"
	// One way service fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesOneWayServiceFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	// Parking violation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraChargesParkingViolation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges = "parking_violation"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator 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
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicatorNotApplicable InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	// No show for specialized vehicle
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicatorNoShowForSpecializedVehicle InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator = "no_show_for_specialized_vehicle"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodging added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodging 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator `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             inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingJSON `json:"-"`
}

Fields specific to lodging.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodging) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges string

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

const (
	// No extra charge
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesNoExtraCharge InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	// Restaurant
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesRestaurant InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "restaurant"
	// Gift shop
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesGiftShop InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "gift_shop"
	// Mini bar
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesMiniBar InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "mini_bar"
	// Telephone
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesTelephone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "telephone"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "other"
	// Laundry
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraChargesLaundry InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges = "laundry"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator string

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

const (
	// Not applicable
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicatorNotApplicable InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	// No show
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicatorNoShow InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	// Free text
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatFreeText InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	// Order number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatOrderNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	// Rental agreement number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	// Hotel folio number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	// Invoice number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormatInvoiceNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat = "invoice_number"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravel added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravel struct {
	// Ancillary purchases in addition to the airfare.
	Ancillary InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillary `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator `json:"restricted_ticket_indicator,required,nullable"`
	// Indicates why a ticket was changed.
	TicketChangeIndicator InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator `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 []InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLeg `json:"trip_legs,required,nullable"`
	JSON     inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelJSON      `json:"-"`
}

Fields specific to travel.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravel) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillary added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillary 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator `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 []InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryService `json:"services,required"`
	// Ticket document number.
	TicketDocumentNumber string                                                                                                       `json:"ticket_document_number,required,nullable"`
	JSON                 inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryJSON `json:"-"`
}

Ancillary purchases in addition to the airfare.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillary) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicatorOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator = "other"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryService added in v0.6.2

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

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryService) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory string

Category of the ancillary service.

const (
	// None
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryNone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "none"
	// Bundled service
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBundledService InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	// Baggage fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	// Change fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryChangeFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	// Cargo
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCargo InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	// Carbon offset
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	// Frequent flyer
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	// Gift card
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGiftCard InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	// Ground transport
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	// In-flight entertainment
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	// Lounge
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryLounge InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	// Medical
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMedical InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	// Meal beverage
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "other"
	// Passenger assist fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	// Pets
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryPets InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	// Seat fees
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategorySeatFees InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	// Standby
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStandby InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	// Service fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryServiceFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	// Store
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryStore InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "store"
	// Travel service
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryTravelService InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	// Unaccompanied travel
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	// Upgrades
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryUpgrades InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	// Wi-fi
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategoryWifi InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorNoCredit InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "other"
	// Partial refund of airline ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	// No restrictions
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	// Restricted non-refundable ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	// None
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorNone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "none"
	// Change to existing ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	// New ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicatorNewTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator = "new_ticket"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLeg added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLeg 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode `json:"stop_over_code,required,nullable"`
	JSON         inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegJSON          `json:"-"`
}

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLeg) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode string

Indicates whether a stopover is allowed on this ticket.

const (
	// None
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeNone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "none"
	// Stop over allowed
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	// Stop over not allowed
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCodeStopOverNotAllowed InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_not_allowed"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundType

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundTypeCardRefund InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundType = "card_refund"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRefundType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePayment

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePayment 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency `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                  inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePayment) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardRevenuePaymentCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlement

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlement 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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's settlement currency.
	Currency InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency `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,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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementNetworkIdentifiers `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetails `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlement) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementNetworkIdentifiers added in v0.13.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementNetworkIdentifiers 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          inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementNetworkIdentifiersJSON `json:"-"`
}

Network-specific identifiers for this refund.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementNetworkIdentifiers) UnmarshalJSON added in v0.13.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetails added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetails struct {
	// Fields specific to car rentals.
	CarRental InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRental `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodging `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat `json:"purchase_identifier_format,required,nullable"`
	// Fields specific to travel.
	Travel InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravel `json:"travel,required,nullable"`
	JSON   inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsJSON   `json:"-"`
}

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

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetails) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRental added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRental 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator `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                     inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalJSON `json:"-"`
}

Fields specific to car rentals.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRental) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges string

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

const (
	// No extra charge
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesNoExtraCharge InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "no_extra_charge"
	// Gas
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesGas InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "gas"
	// Extra mileage
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesExtraMileage InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "extra_mileage"
	// Late return
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesLateReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "late_return"
	// One way service fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesOneWayServiceFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "one_way_service_fee"
	// Parking violation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraChargesParkingViolation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges = "parking_violation"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator 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
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNotApplicable InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "not_applicable"
	// No show for specialized vehicle
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicatorNoShowForSpecializedVehicle InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator = "no_show_for_specialized_vehicle"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodging added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodging 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator `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             inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingJSON `json:"-"`
}

Fields specific to lodging.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodging) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges string

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

const (
	// No extra charge
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesNoExtraCharge InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "no_extra_charge"
	// Restaurant
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesRestaurant InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "restaurant"
	// Gift shop
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesGiftShop InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "gift_shop"
	// Mini bar
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesMiniBar InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "mini_bar"
	// Telephone
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesTelephone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "telephone"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "other"
	// Laundry
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraChargesLaundry InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges = "laundry"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator string

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

const (
	// Not applicable
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicatorNotApplicable InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator = "not_applicable"
	// No show
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicatorNoShow InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator = "no_show"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat string

The format of the purchase identifier.

const (
	// Free text
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatFreeText InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "free_text"
	// Order number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatOrderNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "order_number"
	// Rental agreement number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatRentalAgreementNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "rental_agreement_number"
	// Hotel folio number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatHotelFolioNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "hotel_folio_number"
	// Invoice number
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormatInvoiceNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat = "invoice_number"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravel added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravel struct {
	// Ancillary purchases in addition to the airfare.
	Ancillary InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillary `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator `json:"restricted_ticket_indicator,required,nullable"`
	// Indicates why a ticket was changed.
	TicketChangeIndicator InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator `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 []InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLeg `json:"trip_legs,required,nullable"`
	JSON     inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelJSON      `json:"-"`
}

Fields specific to travel.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravel) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillary added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillary 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator `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 []InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService `json:"services,required"`
	// Ticket document number.
	TicketDocumentNumber string                                                                                                           `json:"ticket_document_number,required,nullable"`
	JSON                 inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryJSON `json:"-"`
}

Ancillary purchases in addition to the airfare.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillary) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorNoCredit InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicatorOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator = "other"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService added in v0.6.2

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

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory string

Category of the ancillary service.

const (
	// None
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryNone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "none"
	// Bundled service
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBundledService InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "bundled_service"
	// Baggage fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryBaggageFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "baggage_fee"
	// Change fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryChangeFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "change_fee"
	// Cargo
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCargo InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "cargo"
	// Carbon offset
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryCarbonOffset InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "carbon_offset"
	// Frequent flyer
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryFrequentFlyer InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "frequent_flyer"
	// Gift card
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGiftCard InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "gift_card"
	// Ground transport
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryGroundTransport InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "ground_transport"
	// In-flight entertainment
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryInFlightEntertainment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "in_flight_entertainment"
	// Lounge
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryLounge InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "lounge"
	// Medical
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMedical InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "medical"
	// Meal beverage
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryMealBeverage InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "meal_beverage"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "other"
	// Passenger assist fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPassengerAssistFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "passenger_assist_fee"
	// Pets
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryPets InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "pets"
	// Seat fees
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategorySeatFees InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "seat_fees"
	// Standby
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStandby InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "standby"
	// Service fee
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryServiceFee InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "service_fee"
	// Store
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryStore InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "store"
	// Travel service
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryTravelService InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "travel_service"
	// Unaccompanied travel
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUnaccompaniedTravel InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "unaccompanied_travel"
	// Upgrades
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryUpgrades InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "upgrades"
	// Wi-fi
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategoryWifi InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory = "wifi"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator string

Indicates the reason for a credit to the cardholder.

const (
	// No credit
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorNoCredit InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "no_credit"
	// Passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket and passenger transport ancillary purchase cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketAndPassengerTransportAncillaryPurchaseCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_and_passenger_transport_ancillary_purchase_cancellation"
	// Airline ticket cancellation
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorAirlineTicketCancellation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "airline_ticket_cancellation"
	// Other
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "other"
	// Partial refund of airline ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicatorPartialRefundOfAirlineTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator = "partial_refund_of_airline_ticket"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator string

Indicates whether this ticket is non-refundable.

const (
	// No restrictions
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorNoRestrictions InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "no_restrictions"
	// Restricted non-refundable ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicatorRestrictedNonRefundableTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator = "restricted_non_refundable_ticket"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator string

Indicates why a ticket was changed.

const (
	// None
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "none"
	// Change to existing ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorChangeToExistingTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "change_to_existing_ticket"
	// New ticket
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicatorNewTicket InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator = "new_ticket"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLeg added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLeg 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode `json:"stop_over_code,required,nullable"`
	JSON         inboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegJSON          `json:"-"`
}

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLeg) UnmarshalJSON added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode added in v0.6.2

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode string

Indicates whether a stopover is allowed on this ticket.

const (
	// None
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeNone InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "none"
	// Stop over allowed
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverAllowed InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_allowed"
	// Stop over not allowed
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCodeStopOverNotAllowed InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode = "stop_over_not_allowed"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementType

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementTypeCardSettlement InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementType = "card_settlement"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCardSettlementType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPayment added in v0.38.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPayment 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency `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        inboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPayment) UnmarshalJSON added in v0.38.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency added in v0.38.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCashbackPaymentCurrency) IsKnown added in v0.38.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory 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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryAccountTransferIntention InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "account_transfer_intention"
	// ACH Transfer Intention: details will be under the `ach_transfer_intention`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryACHTransferIntention InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "ach_transfer_intention"
	// ACH Transfer Rejection: details will be under the `ach_transfer_rejection`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryACHTransferRejection InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "ach_transfer_rejection"
	// ACH Transfer Return: details will be under the `ach_transfer_return` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryACHTransferReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "ach_transfer_return"
	// Cashback Payment: details will be under the `cashback_payment` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCashbackPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "cashback_payment"
	// Card Dispute Acceptance: details will be under the `card_dispute_acceptance`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCardDisputeAcceptance InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "card_dispute_acceptance"
	// Card Refund: details will be under the `card_refund` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCardRefund InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "card_refund"
	// Card Settlement: details will be under the `card_settlement` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCardSettlement InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "card_settlement"
	// Card Revenue Payment: details will be under the `card_revenue_payment` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCardRevenuePayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "card_revenue_payment"
	// Check Deposit Acceptance: details will be under the `check_deposit_acceptance`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCheckDepositAcceptance InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "check_deposit_acceptance"
	// Check Deposit Return: details will be under the `check_deposit_return` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCheckDepositReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "check_deposit_return"
	// Check Transfer Deposit: details will be under the `check_transfer_deposit`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCheckTransferDeposit InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "check_transfer_deposit"
	// Check Transfer Stop Payment Request: details will be under the
	// `check_transfer_stop_payment_request` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryCheckTransferStopPaymentRequest InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "check_transfer_stop_payment_request"
	// Fee Payment: details will be under the `fee_payment` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryFeePayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "fee_payment"
	// Inbound ACH Transfer Intention: details will be under the `inbound_ach_transfer`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundACHTransfer InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_ach_transfer"
	// Inbound ACH Transfer Return Intention: details will be under the
	// `inbound_ach_transfer_return_intention` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundACHTransferReturnIntention InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_ach_transfer_return_intention"
	// Inbound Check Deposit Return Intention: details will be under the
	// `inbound_check_deposit_return_intention` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundCheckDepositReturnIntention InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_check_deposit_return_intention"
	// Inbound International ACH Transfer: details will be under the
	// `inbound_international_ach_transfer` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundInternationalACHTransfer InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_international_ach_transfer"
	// Inbound Real-Time Payments Transfer Confirmation: details will be under the
	// `inbound_real_time_payments_transfer_confirmation` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundRealTimePaymentsTransferConfirmation InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_real_time_payments_transfer_confirmation"
	// Inbound Wire Drawdown Payment: details will be under the
	// `inbound_wire_drawdown_payment` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundWireDrawdownPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_wire_drawdown_payment"
	// Inbound Wire Reversal: details will be under the `inbound_wire_reversal` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundWireReversal InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_wire_reversal"
	// Inbound Wire Transfer Intention: details will be under the
	// `inbound_wire_transfer` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundWireTransfer InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_wire_transfer"
	// Inbound Wire Transfer Reversal Intention: details will be under the
	// `inbound_wire_transfer_reversal` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInboundWireTransferReversal InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "inbound_wire_transfer_reversal"
	// Interest Payment: details will be under the `interest_payment` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInterestPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "interest_payment"
	// Internal Source: details will be under the `internal_source` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryInternalSource InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "internal_source"
	// Real-Time Payments Transfer Acknowledgement: details will be under the
	// `real_time_payments_transfer_acknowledgement` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryRealTimePaymentsTransferAcknowledgement InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "real_time_payments_transfer_acknowledgement"
	// Sample Funds: details will be under the `sample_funds` object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategorySampleFunds InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "sample_funds"
	// Wire Transfer Intention: details will be under the `wire_transfer_intention`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryWireTransferIntention InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "wire_transfer_intention"
	// Wire Transfer Rejection: details will be under the `wire_transfer_rejection`
	// object.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryWireTransferRejection InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "wire_transfer_rejection"
	// The Transaction was made for an undocumented or deprecated reason.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategoryOther InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory = "other"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCategory) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptance

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptance 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency `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         inboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptance) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositAcceptanceCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturn

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturn 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 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency `json:"currency,required"`
	// Why this check was returned by the bank holding the account it was drawn
	// against.
	ReturnReason InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason `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          inboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturn) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason string

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

const (
	// The check doesn't allow ACH conversion.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonACHConversionNotSupported InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "ach_conversion_not_supported"
	// The account is closed.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonClosedAccount InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "closed_account"
	// The check has already been deposited.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonDuplicateSubmission InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "duplicate_submission"
	// Insufficient funds
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonInsufficientFunds InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "insufficient_funds"
	// No account was found matching the check details.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonNoAccount InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "no_account"
	// The check was not authorized.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonNotAuthorized InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "not_authorized"
	// The check is too old.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonStaleDated InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "stale_dated"
	// The payment has been stopped by the account holder.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonStopPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "stop_payment"
	// The reason for the return is unknown.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonUnknownReason InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "unknown_reason"
	// The image doesn't match the details submitted.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonUnmatchedDetails InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "unmatched_details"
	// The image could not be read.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonUnreadableImage InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "unreadable_image"
	// The check endorsement was irregular.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonEndorsementIrregular InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "endorsement_irregular"
	// The check present was either altered or fake.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonAlteredOrFictitiousItem InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "altered_or_fictitious_item"
	// The account this check is drawn on is frozen.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonFrozenOrBlockedAccount InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "frozen_or_blocked_account"
	// The check is post dated.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonPostDated InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "post_dated"
	// The endorsement was missing.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonEndorsementMissing InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "endorsement_missing"
	// The check signature was missing.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonSignatureMissing InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "signature_missing"
	// The bank suspects a stop payment will be placed.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonStopPaymentSuspect InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "stop_payment_suspect"
	// The bank cannot read the image.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonUnusableImage InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "unusable_image"
	// The check image fails the bank's security check.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonImageFailsSecurityCheck InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "image_fails_security_check"
	// The bank cannot determine the amount.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonCannotDetermineAmount InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "cannot_determine_amount"
	// The signature is inconsistent with prior signatures.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonSignatureIrregular InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "signature_irregular"
	// The check is a non-cash item and cannot be drawn against the account.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonNonCashItem InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "non_cash_item"
	// The bank is unable to process this check.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonUnableToProcess InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "unable_to_process"
	// The check exceeds the bank or customer's limit.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonItemExceedsDollarLimit InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "item_exceeds_dollar_limit"
	// The bank sold this account and no longer services this customer.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReasonBranchOrAccountSold InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason = "branch_or_account_sold"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckDepositReturnReturnReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDeposit added in v0.3.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDeposit 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDepositType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDepositJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDeposit) UnmarshalJSON added in v0.3.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDepositType added in v0.3.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDepositType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDepositTypeCheckTransferDeposit InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDepositType = "check_transfer_deposit"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferDepositType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequest

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequest struct {
	// The reason why this transfer was stopped.
	Reason InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestType `json:"type,required"`
	JSON inboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestJSON `json:"-"`
}

A Check Transfer Stop Payment Request object. This field will be present in the JSON response if and only if `category` is equal to `check_transfer_stop_payment_request`.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequest) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason added in v0.4.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason string

The reason why this transfer was stopped.

const (
	// The check could not be delivered.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReasonMailDeliveryFailed InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason = "mail_delivery_failed"
	// The check was canceled by an Increase operator who will provide details
	// out-of-band.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReasonRejectedByIncrease InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason = "rejected_by_increase"
	// The check was not authorized.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReasonNotAuthorized InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason = "not_authorized"
	// The check was stopped for another reason.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReasonUnknown InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason = "unknown"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestType

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestTypeCheckTransferStopPaymentRequest InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestType = "check_transfer_stop_payment_request"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceCheckTransferStopPaymentRequestType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePayment

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePayment 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency `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"`
	JSON           inboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePayment) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceFeePaymentCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransfer

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransfer struct {
	// Additional information sent from the originator.
	Addenda InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddenda `json:"addenda,required,nullable"`
	// The amount in the minor unit of the destination account currency. For dollars,
	// for example, this is 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 receipient.
	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       inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransfer) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddenda added in v0.18.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddenda struct {
	// The type of addendum.
	Category InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaCategory `json:"category,required"`
	// Unstructured `payment_related_information` passed through by the originator.
	Freeform InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeform `json:"freeform,required,nullable"`
	JSON     inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaJSON     `json:"-"`
}

Additional information sent from the originator.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddenda) UnmarshalJSON added in v0.18.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaCategory added in v0.18.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaCategory string

The type of addendum.

const (
	// Unstructured addendum.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaCategoryFreeform InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaCategory = "freeform"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaCategory) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeform added in v0.18.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeform struct {
	// Each entry represents an addendum received from the originator.
	Entries []InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeformEntry `json:"entries,required"`
	JSON    inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeformJSON    `json:"-"`
}

Unstructured `payment_related_information` passed through by the originator.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeform) UnmarshalJSON added in v0.18.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeformEntry added in v0.18.0

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

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundACHTransferAddendaFreeformEntry) UnmarshalJSON added in v0.18.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransfer

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransfer struct {
	// The amount in the minor unit of the destination account currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicator `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode `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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier `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 description field set by the originator.
	OriginatorCompanyEntryDescription string `json:"originator_company_entry_description,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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier `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"`
	// 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"`
	JSON        inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferJSON `json:"-"`
}

An Inbound International ACH Transfer object. This field will be present in the JSON response if and only if `category` is equal to `inbound_international_ach_transfer`.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransfer) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicator added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicator 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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicatorFixedToVariable InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicator = "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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicatorVariableToFixed InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicator = "variable_to_fixed"
	// The amount was originated and settled as a fixed amount in USD. There is no
	// foreign exchange conversion.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicatorFixedToFixed InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicator = "fixed_to_fixed"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator string

An instruction of how to interpret the `foreign_exchange_reference` field for this Transaction.

const (
	// The ACH file contains a foreign exchange rate.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicatorForeignExchangeRate InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator = "foreign_exchange_rate"
	// The ACH file contains a reference to a well-known foreign exchange rate.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicatorForeignExchangeReferenceNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator = "foreign_exchange_reference_number"
	// There is no foreign exchange for this transfer, so the
	// `foreign_exchange_reference` field is blank.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicatorBlank InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator = "blank"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode string

The type of transfer. Set by the originator.

const (
	// Sent as `ANN` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeAnnuity InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "annuity"
	// Sent as `BUS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeBusinessOrCommercial InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "business_or_commercial"
	// Sent as `DEP` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeDeposit InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "deposit"
	// Sent as `LOA` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeLoan InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "loan"
	// Sent as `MIS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeMiscellaneous InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "miscellaneous"
	// Sent as `MOR` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeMortgage InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "mortgage"
	// Sent as `PEN` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodePension InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "pension"
	// Sent as `REM` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeRemittance InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "remittance"
	// Sent as `RLS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeRentOrLease InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "rent_or_lease"
	// Sent as `SAL` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeSalaryOrPayroll InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "salary_or_payroll"
	// Sent as `TAX` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeTax InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "tax"
	// Sent as `ARC` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeAccountsReceivable InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "accounts_receivable"
	// Sent as `BOC` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeBackOfficeConversion InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "back_office_conversion"
	// Sent as `MTE` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeMachineTransfer InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "machine_transfer"
	// Sent as `POP` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodePointOfPurchase InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "point_of_purchase"
	// Sent as `POS` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodePointOfSale InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "point_of_sale"
	// Sent as `RCK` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeRepresentedCheck InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "represented_check"
	// Sent as `SHR` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeSharedNetworkTransaction InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "shared_network_transaction"
	// Sent as `TEL` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeTelphoneInitiated InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "telphone_initiated"
	// Sent as `WEB` in the Nacha file.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeInternetInitiated InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "internet_initiated"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier 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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifierBicCode InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifierIban InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier 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.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifierBicCode InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifierIban InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmation

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmation 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency `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"`
	JSON                      inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmation) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency 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)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundRealTimePaymentsTransferConfirmationCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireDrawdownPayment

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireDrawdownPayment struct {
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is 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 receiving 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"`
	JSON                                    inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireDrawdownPaymentJSON `json:"-"`
}

An Inbound Wire Drawdown Payment object. This field will be present in the JSON response if and only if `category` is equal to `inbound_wire_drawdown_payment`.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireDrawdownPayment) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireReversal

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireReversal 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 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           inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireReversalJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireReversal) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireTransfer

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireTransfer 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       inboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireTransferJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInboundWireTransfer) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPayment

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPayment 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency `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        inboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPayment) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInterestPaymentCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSource

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSource 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 InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency `json:"currency,required"`
	// An Internal Source is a transaction between you and Increase. This describes the
	// reason for the transaction.
	Reason InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason `json:"reason,required"`
	JSON   inboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceJSON   `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSource) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency string

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

const (
	// Canadian Dollar (CAD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrencyCad InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency = "CAD"
	// Swiss Franc (CHF)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrencyChf InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency = "CHF"
	// Euro (EUR)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrencyEur InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency = "EUR"
	// British Pound (GBP)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrencyGbp InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency = "GBP"
	// Japanese Yen (JPY)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrencyJpy InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency = "JPY"
	// US Dollar (USD)
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrencyUsd InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency = "USD"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceCurrency) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason string

An Internal Source is a transaction between you and Increase. This describes the reason for the transaction.

const (
	// Account closure
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonAccountClosure InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "account_closure"
	// Bank migration
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonBankMigration InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "bank_migration"
	// Check adjustment
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonCheckAdjustment InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "check_adjustment"
	// Collection payment
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonCollectionPayment InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "collection_payment"
	// Collection receivable
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonCollectionReceivable InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "collection_receivable"
	// Empyreal adjustment
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonEmpyrealAdjustment InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "empyreal_adjustment"
	// Error
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonError InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "error"
	// Error correction
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonErrorCorrection InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "error_correction"
	// Fees
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonFees InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "fees"
	// Interest
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonInterest InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "interest"
	// Negative balance forgiveness
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonNegativeBalanceForgiveness InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "negative_balance_forgiveness"
	// Sample funds
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonSampleFunds InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "sample_funds"
	// Sample funds return
	InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReasonSampleFundsReturn InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason = "sample_funds_return"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionSourceInternalSourceReason) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceRealTimePaymentsTransferAcknowledgement

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceRealTimePaymentsTransferAcknowledgement 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       inboundRealTimePaymentsTransferSimulationResultTransactionSourceRealTimePaymentsTransferAcknowledgementJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceRealTimePaymentsTransferAcknowledgement) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceSampleFunds

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceSampleFunds struct {
	// Where the sample funds came from.
	Originator string                                                                          `json:"originator,required"`
	JSON       inboundRealTimePaymentsTransferSimulationResultTransactionSourceSampleFundsJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceSampleFunds) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferIntention

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferIntention 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       inboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferIntentionJSON `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 (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferIntention) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferRejection

type InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferRejection struct {
	// The identifier of the Wire Transfer that led to this Transaction.
	TransferID string                                                                                    `json:"transfer_id,required"`
	JSON       inboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferRejectionJSON `json:"-"`
}

A Wire Transfer Rejection object. This field will be present in the JSON response if and only if `category` is equal to `wire_transfer_rejection`.

func (*InboundRealTimePaymentsTransferSimulationResultTransactionSourceWireTransferRejection) UnmarshalJSON

type InboundRealTimePaymentsTransferSimulationResultTransactionType

type InboundRealTimePaymentsTransferSimulationResultTransactionType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultTransactionTypeTransaction InboundRealTimePaymentsTransferSimulationResultTransactionType = "transaction"
)

func (InboundRealTimePaymentsTransferSimulationResultTransactionType) IsKnown added in v0.30.0

type InboundRealTimePaymentsTransferSimulationResultType

type InboundRealTimePaymentsTransferSimulationResultType string

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

const (
	InboundRealTimePaymentsTransferSimulationResultTypeInboundRealTimePaymentsTransferSimulationResult InboundRealTimePaymentsTransferSimulationResultType = "inbound_real_time_payments_transfer_simulation_result"
)

func (InboundRealTimePaymentsTransferSimulationResultType) IsKnown added in v0.30.0

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 added in v0.30.0

type InboundWireTransfer added in v0.20.0

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 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 added in v0.20.0

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

type InboundWireTransferListParams added in v0.22.0

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 added in v0.22.0

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

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

type InboundWireTransferListParamsCreatedAt added in v0.22.0

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 added in v0.22.0

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

type InboundWireTransferListParamsStatus added in v0.22.0

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 added in v0.30.0

type InboundWireTransferService added in v0.20.0

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 added in v0.20.0

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 added in v0.20.0

func (r *InboundWireTransferService) Get(ctx context.Context, inboundWireTransferID string, opts ...option.RequestOption) (res *InboundWireTransfer, err error)

Retrieve an Inbound Wire Transfer

func (*InboundWireTransferService) List added in v0.22.0

List Inbound Wire Transfers

func (*InboundWireTransferService) ListAutoPaging added in v0.22.0

List Inbound Wire Transfers

type InboundWireTransferStatus added in v0.22.0

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 added in v0.30.0

func (r InboundWireTransferStatus) IsKnown() bool

type InboundWireTransferType added in v0.20.0

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 added in v0.30.0

func (r InboundWireTransferType) IsKnown() bool

type IntrafiAccountEnrollment added in v0.15.0

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 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 added in v0.15.0

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

type IntrafiAccountEnrollmentListParams added in v0.15.0

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 added in v0.15.0

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

type IntrafiAccountEnrollmentListParamsStatus added in v0.15.0

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 added in v0.15.0

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

type IntrafiAccountEnrollmentListParamsStatusIn added in v0.15.0

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 added in v0.30.0

type IntrafiAccountEnrollmentNewParams added in v0.15.0

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 added in v0.15.0

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

type IntrafiAccountEnrollmentService added in v0.15.0

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 added in v0.15.0

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 added in v0.15.0

func (r *IntrafiAccountEnrollmentService) Get(ctx context.Context, intrafiAccountEnrollmentID string, opts ...option.RequestOption) (res *IntrafiAccountEnrollment, err error)

Get an IntraFi Account Enrollment

func (*IntrafiAccountEnrollmentService) List added in v0.15.0

List IntraFi Account Enrollments

func (*IntrafiAccountEnrollmentService) ListAutoPaging added in v0.15.0

List IntraFi Account Enrollments

func (*IntrafiAccountEnrollmentService) New added in v0.15.0

Enroll an account in the IntraFi deposit sweep network.

func (*IntrafiAccountEnrollmentService) Unenroll added in v0.15.0

func (r *IntrafiAccountEnrollmentService) Unenroll(ctx context.Context, intrafiAccountEnrollmentID string, opts ...option.RequestOption) (res *IntrafiAccountEnrollment, err error)

Unenroll an account from IntraFi.

type IntrafiAccountEnrollmentStatus added in v0.15.0

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 added in v0.30.0

type IntrafiAccountEnrollmentType added in v0.15.0

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 added in v0.30.0

func (r IntrafiAccountEnrollmentType) IsKnown() bool

type IntrafiBalance added in v0.15.0

type IntrafiBalance struct {
	// 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 added in v0.15.0

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

type IntrafiBalanceBalance added in v0.15.0

type IntrafiBalanceBalance struct {
	// 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 added in v0.15.0

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

type IntrafiBalanceBalancesBankLocation added in v0.15.0

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 added in v0.15.0

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

type IntrafiBalanceCurrency added in v0.15.0

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 added in v0.30.0

func (r IntrafiBalanceCurrency) IsKnown() bool

type IntrafiBalanceService added in v0.15.0

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 added in v0.15.0

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 added in v0.15.0

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

Get IntraFi balances by bank

type IntrafiBalanceType added in v0.15.0

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 added in v0.30.0

func (r IntrafiBalanceType) IsKnown() bool

type IntrafiExclusion added in v0.15.0

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 added in v0.15.0

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

type IntrafiExclusionListParams added in v0.15.0

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 added in v0.15.0

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

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

type IntrafiExclusionNewParams added in v0.15.0

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 added in v0.15.0

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

type IntrafiExclusionService added in v0.15.0

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 added in v0.15.0

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 added in v0.15.0

func (r *IntrafiExclusionService) Archive(ctx context.Context, intrafiExclusionID string, opts ...option.RequestOption) (res *IntrafiExclusion, err error)

Archive an IntraFi Exclusion

func (*IntrafiExclusionService) Get added in v0.15.0

func (r *IntrafiExclusionService) Get(ctx context.Context, intrafiExclusionID string, opts ...option.RequestOption) (res *IntrafiExclusion, err error)

Get an IntraFi Exclusion

func (*IntrafiExclusionService) List added in v0.15.0

List IntraFi Exclusions.

func (*IntrafiExclusionService) ListAutoPaging added in v0.15.0

List IntraFi Exclusions.

func (*IntrafiExclusionService) New added in v0.15.0

Create an IntraFi Exclusion

type IntrafiExclusionStatus added in v0.15.0

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 added in v0.30.0

func (r IntrafiExclusionStatus) IsKnown() bool

type IntrafiExclusionType added in v0.15.0

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 added in v0.30.0

func (r IntrafiExclusionType) IsKnown() bool

type IntrafiService added in v0.15.0

type IntrafiService struct {
	Options            []option.RequestOption
	AccountEnrollments *IntrafiAccountEnrollmentService
	Balances           *IntrafiBalanceService
	Exclusions         *IntrafiExclusionService
}

IntrafiService 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 NewIntrafiService method instead.

func NewIntrafiService added in v0.15.0

func NewIntrafiService(opts ...option.RequestOption) (r *IntrafiService)

NewIntrafiService 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 OAuthConnection added in v0.20.0

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 added in v0.20.0

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

type OAuthConnectionListParams added in v0.20.0

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 added in v0.20.0

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

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

type OAuthConnectionListParamsStatus added in v0.35.0

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 added in v0.35.0

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

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

type OAuthConnectionListParamsStatusIn added in v0.35.0

type OAuthConnectionListParamsStatusIn string
const (
	// The OAuth connection is active.
	OAuthConnectionListParamsStatusInActive OAuthConnectionListParamsStatusIn = "active"
	// The OAuth connection is permanently deactivated.
	OAuthConnectionListParamsStatusInInactive OAuthConnectionListParamsStatusIn = "inactive"
)

func (OAuthConnectionListParamsStatusIn) IsKnown added in v0.35.0

type OAuthConnectionService added in v0.20.0

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 added in v0.20.0

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 added in v0.20.0

func (r *OAuthConnectionService) Get(ctx context.Context, oauthConnectionID string, opts ...option.RequestOption) (res *OAuthConnection, err error)

Retrieve an OAuth Connection

func (*OAuthConnectionService) List added in v0.20.0

List OAuth Connections

func (*OAuthConnectionService) ListAutoPaging added in v0.20.0

List OAuth Connections

type OAuthConnectionStatus added in v0.20.0

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 added in v0.30.0

func (r OAuthConnectionStatus) IsKnown() bool

type OAuthConnectionType added in v0.20.0

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 added in v0.30.0

func (r OAuthConnectionType) IsKnown() bool

type OAuthToken added in v0.20.0

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 added in v0.20.0

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

type OAuthTokenNewParams added in v0.20.0

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 added in v0.20.0

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

type OAuthTokenNewParamsGrantType added in v0.20.0

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 added in v0.30.0

func (r OAuthTokenNewParamsGrantType) IsKnown() bool

type OAuthTokenService added in v0.20.0

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 added in v0.20.0

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 added in v0.20.0

Create an OAuth Token

type OAuthTokenTokenType added in v0.20.0

type OAuthTokenTokenType string

The type of OAuth token.

const (
	OAuthTokenTokenTypeBearer OAuthTokenTokenType = "bearer"
)

func (OAuthTokenTokenType) IsKnown added in v0.30.0

func (r OAuthTokenTokenType) IsKnown() bool

type OAuthTokenType added in v0.20.0

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 added in v0.30.0

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 added in v0.30.0

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"`
	// Filter pending transactions to those caused by the specified source.
	SourceID param.Field[string]                             `query:"source_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 added in v0.7.1

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 added in v0.7.1

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

type PendingTransactionListParamsCategoryIn added in v0.7.1

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"
	// The Pending Transaction was made for an undocumented or deprecated reason.
	PendingTransactionListParamsCategoryInOther PendingTransactionListParamsCategoryIn = "other"
)

func (PendingTransactionListParamsCategoryIn) IsKnown added in v0.30.0

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 added in v0.30.0

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

func (PendingTransactionRouteType) IsKnown added in v0.30.0

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"`
	// 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 the minor unit of the transaction's currency. For dollars,
	// for example, this is 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 added in v0.30.0

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,nullable"`
	// 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 descibes 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"`
	// 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 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 added in v0.27.0

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 added in v0.30.0

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 added in v0.30.0

type PendingTransactionSourceCardAuthorizationDirection added in v0.8.5

type PendingTransactionSourceCardAuthorizationDirection string

The direction descibes 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 added in v0.30.0

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 added in v0.6.0

type PendingTransactionSourceCardAuthorizationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	PendingTransactionSourceCardAuthorizationNetworkDetailsCategoryVisa PendingTransactionSourceCardAuthorizationNetworkDetailsCategory = "visa"
)

func (PendingTransactionSourceCardAuthorizationNetworkDetailsCategory) IsKnown added in v0.30.0

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"`
	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 added in v0.30.0

type PendingTransactionSourceCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode added in v0.7.1

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 added in v0.30.0

type PendingTransactionSourceCardAuthorizationNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

type PendingTransactionSourceCardAuthorizationProcessingCategory added in v0.13.0

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 added in v0.30.0

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 added in v0.30.0

type PendingTransactionSourceCardAuthorizationVerification added in v0.11.0

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 added in v0.11.0

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

type PendingTransactionSourceCardAuthorizationVerificationCardVerificationCode added in v0.11.0

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 added in v0.11.0

type PendingTransactionSourceCardAuthorizationVerificationCardVerificationCodeResult added in v0.11.0

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 added in v0.30.0

type PendingTransactionSourceCardAuthorizationVerificationCardholderAddress added in v0.11.0

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 added in v0.11.0

type PendingTransactionSourceCardAuthorizationVerificationCardholderAddressResult added in v0.11.0

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 added in v0.30.0

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"
	// The Pending Transaction was made for an undocumented or deprecated reason.
	PendingTransactionSourceCategoryOther PendingTransactionSourceCategory = "other"
)

func (PendingTransactionSourceCategory) IsKnown added in v0.30.0

type PendingTransactionSourceCheckDepositInstruction

type PendingTransactionSourceCheckDepositInstruction 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 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 added in v0.30.0

type PendingTransactionSourceCheckTransferInstruction

type PendingTransactionSourceCheckTransferInstruction 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 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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

type PendingTransactionSourceInboundFundsHoldType added in v0.5.0

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 added in v0.30.0

type PendingTransactionSourceRealTimePaymentsTransferInstruction

type PendingTransactionSourceRealTimePaymentsTransferInstruction 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 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 pending amount in the minor unit of the transaction's currency. For dollars,
	// for example, this is 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 added in v0.30.0

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 added in v0.30.0

func (r PendingTransactionType) IsKnown() bool

type PhysicalCard added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardCardholder added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardListParams added in v0.8.4

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 added in v0.8.4

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

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

type PhysicalCardListParamsCreatedAt added in v0.8.4

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 added in v0.8.4

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

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

type PhysicalCardNewParams added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardNewParamsCardholder added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardNewParamsShipment added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardNewParamsShipmentAddress added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardNewParamsShipmentMethod added in v0.8.4

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 added in v0.30.0

type PhysicalCardProfile added in v0.24.0

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 added in v0.24.0

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

type PhysicalCardProfileCloneParams added in v0.24.0

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 added in v0.24.0

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

type PhysicalCardProfileCloneParamsFrontText added in v0.25.0

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 added in v0.25.0

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

type PhysicalCardProfileCreator added in v0.24.0

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 added in v0.30.0

func (r PhysicalCardProfileCreator) IsKnown() bool

type PhysicalCardProfileListParams added in v0.24.0

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 added in v0.24.0

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

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

type PhysicalCardProfileListParamsStatus added in v0.24.0

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 added in v0.24.0

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

type PhysicalCardProfileListParamsStatusIn added in v0.24.0

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 added in v0.30.0

type PhysicalCardProfileNewParams added in v0.24.0

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 added in v0.24.0

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

type PhysicalCardProfileService added in v0.24.0

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 added in v0.24.0

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 added in v0.24.0

func (r *PhysicalCardProfileService) Archive(ctx context.Context, physicalCardProfileID string, opts ...option.RequestOption) (res *PhysicalCardProfile, err error)

Archive a Physical Card Profile

func (*PhysicalCardProfileService) Clone added in v0.24.0

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 added in v0.24.0

func (r *PhysicalCardProfileService) Get(ctx context.Context, physicalCardProfileID string, opts ...option.RequestOption) (res *PhysicalCardProfile, err error)

Retrieve a Card Profile

func (*PhysicalCardProfileService) List added in v0.24.0

List Physical Card Profiles

func (*PhysicalCardProfileService) ListAutoPaging added in v0.24.0

List Physical Card Profiles

func (*PhysicalCardProfileService) New added in v0.24.0

Create a Physical Card Profile

type PhysicalCardProfileStatus added in v0.24.0

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 added in v0.30.0

func (r PhysicalCardProfileStatus) IsKnown() bool

type PhysicalCardProfileType added in v0.24.0

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 added in v0.30.0

func (r PhysicalCardProfileType) IsKnown() bool

type PhysicalCardService added in v0.8.4

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 added in v0.8.4

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 added in v0.8.4

func (r *PhysicalCardService) Get(ctx context.Context, physicalCardID string, opts ...option.RequestOption) (res *PhysicalCard, err error)

Retrieve a Physical Card

func (*PhysicalCardService) List added in v0.8.4

List Physical Cards

func (*PhysicalCardService) ListAutoPaging added in v0.8.4

List Physical Cards

func (*PhysicalCardService) New added in v0.8.4

Create a Physical Card

func (*PhysicalCardService) Update added in v0.8.4

func (r *PhysicalCardService) Update(ctx context.Context, physicalCardID string, body PhysicalCardUpdateParams, opts ...option.RequestOption) (res *PhysicalCard, err error)

Update a Physical Card

type PhysicalCardShipment added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardShipmentAddress added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardShipmentMethod added in v0.8.4

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 added in v0.30.0

func (r PhysicalCardShipmentMethod) IsKnown() bool

type PhysicalCardShipmentStatus added in v0.8.4

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 added in v0.30.0

func (r PhysicalCardShipmentStatus) IsKnown() bool

type PhysicalCardShipmentTracking added in v0.8.4

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 added in v0.8.4

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

type PhysicalCardStatus added in v0.8.4

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 added in v0.30.0

func (r PhysicalCardStatus) IsKnown() bool

type PhysicalCardType added in v0.8.4

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 added in v0.30.0

func (r PhysicalCardType) IsKnown() bool

type PhysicalCardUpdateParams added in v0.8.4

type PhysicalCardUpdateParams struct {
	// The status to update the Physical Card to.
	Status param.Field[PhysicalCardUpdateParamsStatus] `json:"status,required"`
}

func (PhysicalCardUpdateParams) MarshalJSON added in v0.8.4

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

type PhysicalCardUpdateParamsStatus added in v0.8.4

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 added in v0.30.0

type Program

type Program struct {
	// The Program identifier.
	ID string `json:"id,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 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 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 added in v0.30.0

func (r ProgramType) IsKnown() bool

type ProofOfAuthorizationRequest added in v0.14.0

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 added in v0.14.0

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

type ProofOfAuthorizationRequestACHTransfer added in v0.14.0

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

func (*ProofOfAuthorizationRequestACHTransfer) UnmarshalJSON added in v0.14.0

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

type ProofOfAuthorizationRequestListParams added in v0.14.0

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 added in v0.14.0

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

type ProofOfAuthorizationRequestListParamsCreatedAt added in v0.14.0

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 added in v0.14.0

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

type ProofOfAuthorizationRequestService added in v0.14.0

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 added in v0.14.0

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 added in v0.14.0

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 added in v0.14.0

List Proof of Authorization Requests

func (*ProofOfAuthorizationRequestService) ListAutoPaging added in v0.14.0

List Proof of Authorization Requests

type ProofOfAuthorizationRequestSubmission added in v0.14.0

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 added in v0.14.0

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

type ProofOfAuthorizationRequestSubmissionListParams added in v0.14.0

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 added in v0.14.0

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

type ProofOfAuthorizationRequestSubmissionNewParams added in v0.14.0

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 added in v0.14.0

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

type ProofOfAuthorizationRequestSubmissionService added in v0.14.0

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 added in v0.14.0

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 added in v0.14.0

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 added in v0.14.0

List Proof of Authorization Request Submissions

func (*ProofOfAuthorizationRequestSubmissionService) ListAutoPaging added in v0.14.0

List Proof of Authorization Request Submissions

func (*ProofOfAuthorizationRequestSubmissionService) New added in v0.14.0

Submit Proof of Authorization

type ProofOfAuthorizationRequestSubmissionStatus added in v0.14.0

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 is pending sending.
	ProofOfAuthorizationRequestSubmissionStatusPendingSending ProofOfAuthorizationRequestSubmissionStatus = "pending_sending"
	// The proof of authorization request submission was sent.
	ProofOfAuthorizationRequestSubmissionStatusSent ProofOfAuthorizationRequestSubmissionStatus = "sent"
)

func (ProofOfAuthorizationRequestSubmissionStatus) IsKnown added in v0.30.0

type ProofOfAuthorizationRequestSubmissionType added in v0.14.0

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 added in v0.30.0

type ProofOfAuthorizationRequestType added in v0.14.0

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 added in v0.30.0

type RealTimeDecision

type RealTimeDecision struct {
	// The Real-Time Decision identifier.
	ID string `json:"id,required"`
	// 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 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 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 added in v0.1.1

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 added in v0.30.0

type RealTimeDecisionActionParamsDigitalWalletAuthentication

type RealTimeDecisionActionParamsDigitalWalletAuthentication struct {
	// Whether your application was able to deliver the one-time passcode.
	Result param.Field[RealTimeDecisionActionParamsDigitalWalletAuthenticationResult] `json:"result,required"`
}

If the Real-Time Decision relates to a digital wallet authentication attempt, this object contains your response to the authentication.

func (RealTimeDecisionActionParamsDigitalWalletAuthentication) MarshalJSON added in v0.1.1

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 added in v0.30.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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 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"`
	// 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"`
	// 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 added in v0.30.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 added in v0.6.0

type RealTimeDecisionCardAuthorizationNetworkDetailsCategory string

The payment network used to process this card authorization.

const (
	// Visa
	RealTimeDecisionCardAuthorizationNetworkDetailsCategoryVisa RealTimeDecisionCardAuthorizationNetworkDetailsCategory = "visa"
)

func (RealTimeDecisionCardAuthorizationNetworkDetailsCategory) IsKnown added in v0.30.0

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"`
	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 added in v0.30.0

type RealTimeDecisionCardAuthorizationNetworkDetailsVisaPointOfServiceEntryMode added in v0.7.1

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 added in v0.30.0

type RealTimeDecisionCardAuthorizationNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type RealTimeDecisionCardAuthorizationProcessingCategory added in v0.13.0

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 added in v0.30.0

type RealTimeDecisionCardAuthorizationRequestDetails added in v0.6.0

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 added in v0.6.0

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

type RealTimeDecisionCardAuthorizationRequestDetailsCategory added in v0.6.0

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 added in v0.30.0

type RealTimeDecisionCardAuthorizationRequestDetailsIncrementalAuthorization added in v0.6.0

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 added in v0.6.0

type RealTimeDecisionCardAuthorizationVerification added in v0.11.0

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 added in v0.11.0

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

type RealTimeDecisionCardAuthorizationVerificationCardVerificationCode added in v0.11.0

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 added in v0.11.0

type RealTimeDecisionCardAuthorizationVerificationCardVerificationCodeResult added in v0.11.0

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 added in v0.30.0

type RealTimeDecisionCardAuthorizationVerificationCardholderAddress added in v0.11.0

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 added in v0.11.0

type RealTimeDecisionCardAuthorizationVerificationCardholderAddressResult added in v0.11.0

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 added in v0.30.0

type RealTimeDecisionCategory

type RealTimeDecisionCategory string

The category of the Real-Time Decision.

const (
	// A card is being authorized.
	RealTimeDecisionCategoryCardAuthorizationRequested RealTimeDecisionCategory = "card_authorization_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 added in v0.30.0

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 added in v0.30.0

type RealTimeDecisionDigitalWalletAuthenticationDigitalWallet

type RealTimeDecisionDigitalWalletAuthenticationDigitalWallet string

The digital wallet app being used.

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

func (RealTimeDecisionDigitalWalletAuthenticationDigitalWallet) IsKnown added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

type RealTimeDecisionDigitalWalletTokenDigitalWallet

type RealTimeDecisionDigitalWalletTokenDigitalWallet string

The digital wallet app being used.

const (
	// Apple Pay
	RealTimeDecisionDigitalWalletTokenDigitalWalletApplePay RealTimeDecisionDigitalWalletTokenDigitalWallet = "apple_pay"
	// Google Pay
	RealTimeDecisionDigitalWalletTokenDigitalWalletGooglePay RealTimeDecisionDigitalWalletTokenDigitalWallet = "google_pay"
	// Unknown
	RealTimeDecisionDigitalWalletTokenDigitalWalletUnknown RealTimeDecisionDigitalWalletTokenDigitalWallet = "unknown"
)

func (RealTimeDecisionDigitalWalletTokenDigitalWallet) IsKnown added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

func (r RealTimeDecisionType) IsKnown() bool

type RealTimePaymentsRequestForPayment added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentCurrency added in v0.17.0

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 added in v0.30.0

type RealTimePaymentsRequestForPaymentListParams added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentListParamsCreatedAt added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentNewParams added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentNewParamsDebtor added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentNewParamsDebtorAddress added in v0.17.0

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 added in v0.17.0

type RealTimePaymentsRequestForPaymentRefusal added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentRefusalRefusalReasonCode added in v0.17.0

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 added in v0.30.0

type RealTimePaymentsRequestForPaymentRejection added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentRejectionRejectReasonCode added in v0.17.0

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 added in v0.30.0

type RealTimePaymentsRequestForPaymentService added in v0.17.0

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 added in v0.17.0

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 added in v0.17.0

Retrieve a Real-Time Payments Request for Payment

func (*RealTimePaymentsRequestForPaymentService) List added in v0.17.0

List Real-Time Payments Request for Payments

func (*RealTimePaymentsRequestForPaymentService) ListAutoPaging added in v0.17.0

List Real-Time Payments Request for Payments

func (*RealTimePaymentsRequestForPaymentService) New added in v0.17.0

Create a Real-Time Payments Request for Payment

type RealTimePaymentsRequestForPaymentStatus added in v0.17.0

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 added in v0.30.0

type RealTimePaymentsRequestForPaymentSubmission added in v0.17.0

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 added in v0.17.0

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

type RealTimePaymentsRequestForPaymentType added in v0.17.0

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 added in v0.30.0

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"`
	// The name of the transfer's recipient as provided by the sender.
	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, the account's entity name
	// will be used.
	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 party on whose behalf the creditor is receiving the payment.
	UltimateCreditorName string `json:"ultimate_creditor_name,required,nullable"`
	// The name of the the party on whose behalf the debtor is instructing the payment.
	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 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 added in v0.30.0

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, the account's entity name
	// will be used.
	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 party on whose behalf the creditor is receiving the payment.
	UltimateCreditorName param.Field[string] `json:"ultimate_creditor_name"`
	// The name of the the party on whose behalf the debtor is instructing the payment.
	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 added in v0.30.0

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 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"
	// The transfer was rejected by the network or the recipient's bank.
	RealTimePaymentsTransferStatusRejected RealTimePaymentsTransferStatus = "rejected"
	// The transfer requires attention from an Increase operator.
	RealTimePaymentsTransferStatusRequiresAttention RealTimePaymentsTransferStatus = "requires_attention"
)

func (RealTimePaymentsTransferStatus) IsKnown added in v0.30.0

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 added in v0.30.0

func (r RealTimePaymentsTransferType) IsKnown() bool

type RoutingNumber

type RoutingNumber struct {
	// This routing number's support for ACH Transfers.
	ACHTransfers RoutingNumberACHTransfers `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 RoutingNumberRealTimePaymentsTransfers `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 RoutingNumberType `json:"type,required"`
	// This routing number's support for Wire Transfers.
	WireTransfers RoutingNumberWireTransfers `json:"wire_transfers,required"`
	JSON          routingNumberJSON          `json:"-"`
}

Routing numbers are used to identify your bank in a financial transaction.

func (*RoutingNumber) UnmarshalJSON

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

type RoutingNumberACHTransfers

type RoutingNumberACHTransfers string

This routing number's support for ACH Transfers.

const (
	// The routing number can receive this transfer type.
	RoutingNumberACHTransfersSupported RoutingNumberACHTransfers = "supported"
	// The routing number cannot receive this transfer type.
	RoutingNumberACHTransfersNotSupported RoutingNumberACHTransfers = "not_supported"
)

func (RoutingNumberACHTransfers) IsKnown added in v0.30.0

func (r RoutingNumberACHTransfers) 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 RoutingNumberRealTimePaymentsTransfers

type RoutingNumberRealTimePaymentsTransfers string

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

const (
	// The routing number can receive this transfer type.
	RoutingNumberRealTimePaymentsTransfersSupported RoutingNumberRealTimePaymentsTransfers = "supported"
	// The routing number cannot receive this transfer type.
	RoutingNumberRealTimePaymentsTransfersNotSupported RoutingNumberRealTimePaymentsTransfers = "not_supported"
)

func (RoutingNumberRealTimePaymentsTransfers) IsKnown added in v0.30.0

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 RoutingNumberType

type RoutingNumberType string

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

const (
	RoutingNumberTypeRoutingNumber RoutingNumberType = "routing_number"
)

func (RoutingNumberType) IsKnown added in v0.30.0

func (r RoutingNumberType) IsKnown() bool

type RoutingNumberWireTransfers

type RoutingNumberWireTransfers string

This routing number's support for Wire Transfers.

const (
	// The routing number can receive this transfer type.
	RoutingNumberWireTransfersSupported RoutingNumberWireTransfers = "supported"
	// The routing number cannot receive this transfer type.
	RoutingNumberWireTransfersNotSupported RoutingNumberWireTransfers = "not_supported"
)

func (RoutingNumberWireTransfers) IsKnown added in v0.30.0

func (r RoutingNumberWireTransfers) IsKnown() bool

type SimulationACHTransferNewInboundParams

type SimulationACHTransferNewInboundParams 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"`
}

func (SimulationACHTransferNewInboundParams) MarshalJSON

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

type SimulationACHTransferNotificationOfChangeParams added in v0.33.0

type SimulationACHTransferNotificationOfChangeParams struct {
	// The reason for the notification of change.
	ChangeCode param.Field[SimulationACHTransferNotificationOfChangeParamsChangeCode] `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 (SimulationACHTransferNotificationOfChangeParams) MarshalJSON added in v0.33.0

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

type SimulationACHTransferNotificationOfChangeParamsChangeCode added in v0.33.0

type SimulationACHTransferNotificationOfChangeParamsChangeCode string

The reason for the notification of change.

const (
	// The account number was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectAccountNumber SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_account_number"
	// The routing number was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectRoutingNumber SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_routing_number"
	// Both the routing number and the account number were incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectRoutingNumberAndAccountNumber SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_routing_number_and_account_number"
	// The transaction code was incorrect. Try changing the `funding` parameter from
	// checking to savings or vice-versa.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectTransactionCode SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_transaction_code"
	// The account number and the transaction code were incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectAccountNumberAndTransactionCode SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_account_number_and_transaction_code"
	// The routing number, account number, and transaction code were incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectRoutingNumberAccountNumberAndTransactionCode SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_routing_number_account_number_and_transaction_code"
	// The receiving depository financial institution identification was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectReceivingDepositoryFinancialInstitutionIdentification SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_receiving_depository_financial_institution_identification"
	// The individual identification number was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectIndividualIdentificationNumber SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_individual_identification_number"
	// The addenda had an incorrect format.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeAddendaFormatError SimulationACHTransferNotificationOfChangeParamsChangeCode = "addenda_format_error"
	// The standard entry class code was incorrect for an outbound international
	// payment.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectStandardEntryClassCodeForOutboundInternationalPayment SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_standard_entry_class_code_for_outbound_international_payment"
	// The notification of change was misrouted.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeMisroutedNotificationOfChange SimulationACHTransferNotificationOfChangeParamsChangeCode = "misrouted_notification_of_change"
	// The trace number was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectTraceNumber SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_trace_number"
	// The company identification number was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectCompanyIdentificationNumber SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_company_identification_number"
	// The individual identification number or identification number was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectIdentificationNumber SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_identification_number"
	// The corrected data was incorrectly formatted.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectlyFormattedCorrectedData SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrectly_formatted_corrected_data"
	// The discretionary data was incorrect.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectDiscretionaryData SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_discretionary_data"
	// The routing number was not from the original entry detail record.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeRoutingNumberNotFromOriginalEntryDetailRecord SimulationACHTransferNotificationOfChangeParamsChangeCode = "routing_number_not_from_original_entry_detail_record"
	// The depository financial institution account number was not from the original
	// entry detail record.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeDepositoryFinancialInstitutionAccountNumberNotFromOriginalEntryDetailRecord SimulationACHTransferNotificationOfChangeParamsChangeCode = "depository_financial_institution_account_number_not_from_original_entry_detail_record"
	// The transaction code was incorrect, initiated by the originating depository
	// financial institution.
	SimulationACHTransferNotificationOfChangeParamsChangeCodeIncorrectTransactionCodeByOriginatingDepositoryFinancialInstitution SimulationACHTransferNotificationOfChangeParamsChangeCode = "incorrect_transaction_code_by_originating_depository_financial_institution"
)

func (SimulationACHTransferNotificationOfChangeParamsChangeCode) IsKnown added in v0.33.0

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 added in v0.30.0

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

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.

func (*SimulationACHTransferService) NotificationOfChange added in v0.33.0

func (r *SimulationACHTransferService) NotificationOfChange(ctx context.Context, achTransferID string, body SimulationACHTransferNotificationOfChangeParams, 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) 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 SimulationCardAuthorizationExpirationsParams added in v0.24.0

type SimulationCardAuthorizationExpirationsParams struct {
	// The identifier of the Card Payment to expire.
	CardPaymentID param.Field[string] `json:"card_payment_id,required"`
}

func (SimulationCardAuthorizationExpirationsParams) MarshalJSON added in v0.24.0

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

type SimulationCardAuthorizeParams

type SimulationCardAuthorizeParams struct {
	// The authorization amount in cents.
	Amount param.Field[int64] `json:"amount,required"`
	// The identifier of the Card to be authorized.
	CardID param.Field[string] `json:"card_id"`
	// The identifier of the Digital Wallet Token to be authorized.
	DigitalWalletTokenID param.Field[string] `json:"digital_wallet_token_id"`
	// The identifier of the Event Subscription to use. If provided, will override the
	// default real time event subscription. Because you can only create one real time
	// decision event subscription, you can use this field to route events to any
	// specified event subscription for testing purposes.
	EventSubscriptionID param.Field[string] `json:"event_subscription_id"`
	// The merchant identifier (commonly abbreviated as MID) of the merchant the card
	// is transacting with.
	MerchantAcceptorID param.Field[string] `json:"merchant_acceptor_id"`
	// The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
	// card is transacting with.
	MerchantCategoryCode param.Field[string] `json:"merchant_category_code"`
	// The city the merchant resides in.
	MerchantCity param.Field[string] `json:"merchant_city"`
	// The country the merchant resides in.
	MerchantCountry param.Field[string] `json:"merchant_country"`
	// The merchant descriptor of the merchant the card is transacting with.
	MerchantDescriptor param.Field[string] `json:"merchant_descriptor"`
	// The identifier of the Physical Card to be authorized.
	PhysicalCardID param.Field[string] `json:"physical_card_id"`
}

func (SimulationCardAuthorizeParams) MarshalJSON

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

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 (
	// The Card Dispute has been accepted and your funds have been returned.
	SimulationCardDisputeActionParamsStatusAccepted SimulationCardDisputeActionParamsStatus = "accepted"
	// The Card Dispute has been rejected.
	SimulationCardDisputeActionParamsStatusRejected SimulationCardDisputeActionParamsStatus = "rejected"
)

func (SimulationCardDisputeActionParamsStatus) IsKnown added in v0.30.0

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 SimulationCardFuelConfirmationsParams added in v0.24.0

type SimulationCardFuelConfirmationsParams 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 (SimulationCardFuelConfirmationsParams) MarshalJSON added in v0.24.0

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

type SimulationCardIncrementsParams added in v0.24.0

type SimulationCardIncrementsParams 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 (SimulationCardIncrementsParams) MarshalJSON added in v0.24.0

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

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 SimulationCardReversalsParams added in v0.24.0

type SimulationCardReversalsParams 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 (SimulationCardReversalsParams) MarshalJSON added in v0.24.0

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

type SimulationCardService

type SimulationCardService struct {
	Options []option.RequestOption
}

SimulationCardService 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 NewSimulationCardService method instead.

func NewSimulationCardService

func NewSimulationCardService(opts ...option.RequestOption) (r *SimulationCardService)

NewSimulationCardService 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 (*SimulationCardService) Authorize

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.

func (*SimulationCardService) Settlement

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 SimulationCardSettlementParams

type SimulationCardSettlementParams 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 (SimulationCardSettlementParams) MarshalJSON

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

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 once per weekday 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 added in v0.3.0

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 added in v0.3.0

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

type SimulationDigitalWalletTokenRequestNewResponseDeclineReason added in v0.3.0

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 added in v0.30.0

type SimulationDigitalWalletTokenRequestNewResponseType added in v0.3.0

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 added in v0.30.0

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 SimulationInboundCheckDepositNewParams added in v0.39.0

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 added in v0.39.0

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

type SimulationInboundCheckDepositService added in v0.39.0

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 added in v0.39.0

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 added in v0.39.0

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 added in v0.5.0

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 added in v0.5.0

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

type SimulationInboundFundsHoldReleaseResponseCurrency added in v0.5.0

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 added in v0.30.0

type SimulationInboundFundsHoldReleaseResponseStatus added in v0.5.0

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 added in v0.30.0

type SimulationInboundFundsHoldReleaseResponseType added in v0.5.0

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 added in v0.30.0

type SimulationInboundFundsHoldService added in v0.5.0

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 added in v0.5.0

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 added in v0.5.0

This endpoint simulates immediately releasing an inbound funds hold, which might be created as a result of e.g., an ACH debit.

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 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 SimulationPhysicalCardService added in v0.8.4

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 added in v0.8.4

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) ShipmentAdvance added in v0.8.4

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 SimulationPhysicalCardShipmentAdvanceParams added in v0.8.4

type SimulationPhysicalCardShipmentAdvanceParams struct {
	// The shipment status to move the Physical Card to.
	ShipmentStatus param.Field[SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus] `json:"shipment_status,required"`
}

func (SimulationPhysicalCardShipmentAdvanceParams) MarshalJSON added in v0.8.4

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

type SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus added in v0.8.4

type SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus string

The shipment status to move the Physical Card to.

const (
	// The physical card has not yet been shipped.
	SimulationPhysicalCardShipmentAdvanceParamsShipmentStatusPending SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus = "pending"
	// The physical card shipment was canceled prior to submission.
	SimulationPhysicalCardShipmentAdvanceParamsShipmentStatusCanceled SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus = "canceled"
	// The physical card shipment has been submitted to the card fulfillment provider.
	SimulationPhysicalCardShipmentAdvanceParamsShipmentStatusSubmitted SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus = "submitted"
	// The physical card shipment has been acknowledged by the card fulfillment
	// provider and will be processed in their next batch.
	SimulationPhysicalCardShipmentAdvanceParamsShipmentStatusAcknowledged SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus = "acknowledged"
	// The physical card shipment was rejected by the card printer due to an error.
	SimulationPhysicalCardShipmentAdvanceParamsShipmentStatusRejected SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus = "rejected"
	// The physical card has been shipped.
	SimulationPhysicalCardShipmentAdvanceParamsShipmentStatusShipped SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus = "shipped"
	// The physical card shipment was returned to the sender and destroyed by the
	// production facility.
	SimulationPhysicalCardShipmentAdvanceParamsShipmentStatusReturned SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus = "returned"
)

func (SimulationPhysicalCardShipmentAdvanceParamsShipmentStatus) IsKnown added in v0.30.0

type SimulationProgramNewParams added in v0.1.1

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

func (SimulationProgramNewParams) MarshalJSON added in v0.1.1

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

type SimulationProgramService added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

Simulates a program 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 added in v0.1.1

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 added in v0.30.0

type SimulationRealTimePaymentsTransferNewInboundParams

type SimulationRealTimePaymentsTransferNewInboundParams 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 (SimulationRealTimePaymentsTransferNewInboundParams) MarshalJSON

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

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 and handling the response from the destination financial institution. This transfer must first have a `status` of `pending_submission`.

func (*SimulationRealTimePaymentsTransferService) NewInbound

Simulates an inbound Real-Time Payments transfer to your account. Real-Time Payments are a beta feature.

type SimulationService

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.

func (*SimulationService) CardAuthorizationExpirations added in v0.24.0

func (r *SimulationService) CardAuthorizationExpirations(ctx context.Context, body SimulationCardAuthorizationExpirationsParams, opts ...option.RequestOption) (res *CardPayment, err error)

Simulates expiring a card authorization immediately.

func (*SimulationService) CardFuelConfirmations added in v0.24.0

func (r *SimulationService) CardFuelConfirmations(ctx context.Context, body SimulationCardFuelConfirmationsParams, opts ...option.RequestOption) (res *CardPayment, err error)

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.

func (*SimulationService) CardIncrements added in v0.24.0

func (r *SimulationService) CardIncrements(ctx context.Context, body SimulationCardIncrementsParams, opts ...option.RequestOption) (res *CardPayment, err error)

Simulates the increment of an authorization by a card acquirer. An authorization can be incremented multiple times.

func (*SimulationService) CardReversals added in v0.24.0

func (r *SimulationService) CardReversals(ctx context.Context, body SimulationCardReversalsParams, opts ...option.RequestOption) (res *CardPayment, err error)

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 SimulationWireTransferNewInboundParams

type SimulationWireTransferNewInboundParams 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"`
}

func (SimulationWireTransferNewInboundParams) MarshalJSON

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

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

Simulates an inbound Wire Transfer to your account.

type SupplementalDocument added in v0.1.1

type SupplementalDocument 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 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 SupplementalDocumentType `json:"type,required"`
	JSON supplementalDocumentJSON `json:"-"`
}

Supplemental Documents are uploaded files connected to an Entity during onboarding.

func (*SupplementalDocument) UnmarshalJSON added in v0.1.1

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

type SupplementalDocumentType added in v0.1.1

type SupplementalDocumentType string

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

const (
	SupplementalDocumentTypeEntitySupplementalDocument SupplementalDocumentType = "entity_supplemental_document"
)

func (SupplementalDocumentType) IsKnown added in v0.30.0

func (r SupplementalDocumentType) IsKnown() bool

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 added in v0.30.0

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 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"
	// Check Transfer Stop Payment Request: details will be under the
	// `check_transfer_stop_payment_request` object.
	TransactionListParamsCategoryInCheckTransferStopPaymentRequest TransactionListParamsCategoryIn = "check_transfer_stop_payment_request"
	// 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 International ACH Transfer: details will be under the
	// `inbound_international_ach_transfer` object.
	TransactionListParamsCategoryInInboundInternationalACHTransfer TransactionListParamsCategoryIn = "inbound_international_ach_transfer"
	// 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 Wire Drawdown Payment: details will be under the
	// `inbound_wire_drawdown_payment` object.
	TransactionListParamsCategoryInInboundWireDrawdownPayment TransactionListParamsCategoryIn = "inbound_wire_drawdown_payment"
	// 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"
	// Wire Transfer Rejection: details will be under the `wire_transfer_rejection`
	// object.
	TransactionListParamsCategoryInWireTransferRejection TransactionListParamsCategoryIn = "wire_transfer_rejection"
	// The Transaction was made for an undocumented or deprecated reason.
	TransactionListParamsCategoryInOther TransactionListParamsCategoryIn = "other"
)

func (TransactionListParamsCategoryIn) IsKnown added in v0.30.0

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

func (TransactionRouteType) IsKnown added in v0.30.0

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 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 Check Transfer Stop Payment Request object. This field will be present in the
	// JSON response if and only if `category` is equal to
	// `check_transfer_stop_payment_request`.
	CheckTransferStopPaymentRequest TransactionSourceCheckTransferStopPaymentRequest `json:"check_transfer_stop_payment_request,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 International ACH Transfer object. This field will be present in the
	// JSON response if and only if `category` is equal to
	// `inbound_international_ach_transfer`.
	InboundInternationalACHTransfer TransactionSourceInboundInternationalACHTransfer `json:"inbound_international_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 Wire Drawdown Payment object. This field will be present in the JSON
	// response if and only if `category` is equal to `inbound_wire_drawdown_payment`.
	InboundWireDrawdownPayment TransactionSourceInboundWireDrawdownPayment `json:"inbound_wire_drawdown_payment,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"`
	// 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"`
	// A Wire Transfer Rejection object. This field will be present in the JSON
	// response if and only if `category` is equal to `wire_transfer_rejection`.
	WireTransferRejection TransactionSourceWireTransferRejection `json:"wire_transfer_rejection,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"`
	// 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 added in v0.30.0

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 added in v0.30.0

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 TransactionSourceCardRefund

type TransactionSourceCardRefund struct {
	// The Card Refund identifier.
	ID string `json:"id,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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's currency.
	Currency TransactionSourceCardRefundCurrency `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,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"`
	// 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 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 added in v0.30.0

type TransactionSourceCardRefundNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type TransactionSourceCardRefundPurchaseDetails added in v0.6.2

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 added in v0.6.2

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

type TransactionSourceCardRefundPurchaseDetailsCarRental added in v0.6.2

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 added in v0.6.2

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

type TransactionSourceCardRefundPurchaseDetailsCarRentalExtraCharges added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsCarRentalNoShowIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsLodging added in v0.6.2

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 added in v0.6.2

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

type TransactionSourceCardRefundPurchaseDetailsLodgingExtraCharges added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsLodgingNoShowIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsPurchaseIdentifierFormat added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsTravel added in v0.6.2

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 added in v0.6.2

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

type TransactionSourceCardRefundPurchaseDetailsTravelAncillary added in v0.6.2

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 added in v0.6.2

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryCreditReasonIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryService added in v0.6.2

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 added in v0.6.2

type TransactionSourceCardRefundPurchaseDetailsTravelAncillaryServicesCategory added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsTravelCreditReasonIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsTravelRestrictedTicketIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsTravelTicketChangeIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardRefundPurchaseDetailsTravelTripLeg added in v0.6.2

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 added in v0.6.2

type TransactionSourceCardRefundPurchaseDetailsTravelTripLegsStopOverCode added in v0.6.2

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 added in v0.30.0

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 added in v0.30.0

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 added in v0.30.0

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,nullable"`
	// The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the
	// transaction's settlement currency.
	Currency TransactionSourceCardSettlementCurrency `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,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 added in v0.30.0

type TransactionSourceCardSettlementNetworkIdentifiers added in v0.13.0

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 added in v0.13.0

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

type TransactionSourceCardSettlementPurchaseDetails added in v0.6.2

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 added in v0.6.2

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

type TransactionSourceCardSettlementPurchaseDetailsCarRental added in v0.6.2

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 added in v0.6.2

type TransactionSourceCardSettlementPurchaseDetailsCarRentalExtraCharges added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsCarRentalNoShowIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsLodging added in v0.6.2

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 added in v0.6.2

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

type TransactionSourceCardSettlementPurchaseDetailsLodgingExtraCharges added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsLodgingNoShowIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsPurchaseIdentifierFormat added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsTravel added in v0.6.2

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 added in v0.6.2

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

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillary added in v0.6.2

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 added in v0.6.2

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryCreditReasonIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryService added in v0.6.2

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 added in v0.6.2

type TransactionSourceCardSettlementPurchaseDetailsTravelAncillaryServicesCategory added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsTravelCreditReasonIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsTravelRestrictedTicketIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsTravelTicketChangeIndicator added in v0.6.2

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 added in v0.30.0

type TransactionSourceCardSettlementPurchaseDetailsTravelTripLeg added in v0.6.2

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 added in v0.6.2

type TransactionSourceCardSettlementPurchaseDetailsTravelTripLegsStopOverCode added in v0.6.2

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 added in v0.30.0

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 added in v0.30.0

type TransactionSourceCashbackPayment added in v0.38.0

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 added in v0.38.0

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

type TransactionSourceCashbackPaymentCurrency added in v0.38.0

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 added in v0.38.0

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 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"
	// Check Transfer Stop Payment Request: details will be under the
	// `check_transfer_stop_payment_request` object.
	TransactionSourceCategoryCheckTransferStopPaymentRequest TransactionSourceCategory = "check_transfer_stop_payment_request"
	// 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 International ACH Transfer: details will be under the
	// `inbound_international_ach_transfer` object.
	TransactionSourceCategoryInboundInternationalACHTransfer TransactionSourceCategory = "inbound_international_ach_transfer"
	// 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 Wire Drawdown Payment: details will be under the
	// `inbound_wire_drawdown_payment` object.
	TransactionSourceCategoryInboundWireDrawdownPayment TransactionSourceCategory = "inbound_wire_drawdown_payment"
	// 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"
	// Wire Transfer Rejection: details will be under the `wire_transfer_rejection`
	// object.
	TransactionSourceCategoryWireTransferRejection TransactionSourceCategory = "wire_transfer_rejection"
	// The Transaction was made for an undocumented or deprecated reason.
	TransactionSourceCategoryOther TransactionSourceCategory = "other"
)

func (TransactionSourceCategory) IsKnown added in v0.30.0

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 added in v0.30.0

type TransactionSourceCheckDepositReturn

type TransactionSourceCheckDepositReturn 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 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 added in v0.30.0

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 added in v0.30.0

type TransactionSourceCheckTransferDeposit added in v0.3.0

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 added in v0.3.0

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

type TransactionSourceCheckTransferDepositType added in v0.3.0

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 added in v0.30.0

type TransactionSourceCheckTransferStopPaymentRequest

type TransactionSourceCheckTransferStopPaymentRequest struct {
	// The reason why this transfer was stopped.
	Reason TransactionSourceCheckTransferStopPaymentRequestReason `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 TransactionSourceCheckTransferStopPaymentRequestType `json:"type,required"`
	JSON transactionSourceCheckTransferStopPaymentRequestJSON `json:"-"`
}

A Check Transfer Stop Payment Request object. This field will be present in the JSON response if and only if `category` is equal to `check_transfer_stop_payment_request`.

func (*TransactionSourceCheckTransferStopPaymentRequest) UnmarshalJSON

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

type TransactionSourceCheckTransferStopPaymentRequestReason added in v0.4.0

type TransactionSourceCheckTransferStopPaymentRequestReason string

The reason why this transfer was stopped.

const (
	// The check could not be delivered.
	TransactionSourceCheckTransferStopPaymentRequestReasonMailDeliveryFailed TransactionSourceCheckTransferStopPaymentRequestReason = "mail_delivery_failed"
	// The check was canceled by an Increase operator who will provide details
	// out-of-band.
	TransactionSourceCheckTransferStopPaymentRequestReasonRejectedByIncrease TransactionSourceCheckTransferStopPaymentRequestReason = "rejected_by_increase"
	// The check was not authorized.
	TransactionSourceCheckTransferStopPaymentRequestReasonNotAuthorized TransactionSourceCheckTransferStopPaymentRequestReason = "not_authorized"
	// The check was stopped for another reason.
	TransactionSourceCheckTransferStopPaymentRequestReasonUnknown TransactionSourceCheckTransferStopPaymentRequestReason = "unknown"
)

func (TransactionSourceCheckTransferStopPaymentRequestReason) IsKnown added in v0.30.0

type TransactionSourceCheckTransferStopPaymentRequestType

type TransactionSourceCheckTransferStopPaymentRequestType string

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

const (
	TransactionSourceCheckTransferStopPaymentRequestTypeCheckTransferStopPaymentRequest TransactionSourceCheckTransferStopPaymentRequestType = "check_transfer_stop_payment_request"
)

func (TransactionSourceCheckTransferStopPaymentRequestType) IsKnown added in v0.30.0

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"`
	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 added in v0.30.0

type TransactionSourceInboundACHTransfer

type TransactionSourceInboundACHTransfer struct {
	// Additional information sent from the originator.
	Addenda TransactionSourceInboundACHTransferAddenda `json:"addenda,required,nullable"`
	// The amount in the minor unit of the destination account currency. For dollars,
	// for example, this is 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 receipient.
	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 added in v0.18.0

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 added in v0.18.0

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

type TransactionSourceInboundACHTransferAddendaCategory added in v0.18.0

type TransactionSourceInboundACHTransferAddendaCategory string

The type of addendum.

const (
	// Unstructured addendum.
	TransactionSourceInboundACHTransferAddendaCategoryFreeform TransactionSourceInboundACHTransferAddendaCategory = "freeform"
)

func (TransactionSourceInboundACHTransferAddendaCategory) IsKnown added in v0.30.0

type TransactionSourceInboundACHTransferAddendaFreeform added in v0.18.0

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 added in v0.18.0

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

type TransactionSourceInboundACHTransferAddendaFreeformEntry added in v0.18.0

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

func (*TransactionSourceInboundACHTransferAddendaFreeformEntry) UnmarshalJSON added in v0.18.0

type TransactionSourceInboundInternationalACHTransfer

type TransactionSourceInboundInternationalACHTransfer struct {
	// The amount in the minor unit of the destination account currency. For dollars,
	// for example, this is cents.
	Amount int64 `json:"amount,required"`
	// 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 TransactionSourceInboundInternationalACHTransferForeignExchangeIndicator `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 TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator `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 TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode `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 TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier `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 description field set by the originator.
	OriginatorCompanyEntryDescription string `json:"originator_company_entry_description,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 TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier `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"`
	// 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"`
	JSON        transactionSourceInboundInternationalACHTransferJSON `json:"-"`
}

An Inbound International ACH Transfer object. This field will be present in the JSON response if and only if `category` is equal to `inbound_international_ach_transfer`.

func (*TransactionSourceInboundInternationalACHTransfer) UnmarshalJSON

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

type TransactionSourceInboundInternationalACHTransferForeignExchangeIndicator added in v0.7.3

type TransactionSourceInboundInternationalACHTransferForeignExchangeIndicator 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.
	TransactionSourceInboundInternationalACHTransferForeignExchangeIndicatorFixedToVariable TransactionSourceInboundInternationalACHTransferForeignExchangeIndicator = "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.
	TransactionSourceInboundInternationalACHTransferForeignExchangeIndicatorVariableToFixed TransactionSourceInboundInternationalACHTransferForeignExchangeIndicator = "variable_to_fixed"
	// The amount was originated and settled as a fixed amount in USD. There is no
	// foreign exchange conversion.
	TransactionSourceInboundInternationalACHTransferForeignExchangeIndicatorFixedToFixed TransactionSourceInboundInternationalACHTransferForeignExchangeIndicator = "fixed_to_fixed"
)

func (TransactionSourceInboundInternationalACHTransferForeignExchangeIndicator) IsKnown added in v0.30.0

type TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator added in v0.7.3

type TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator string

An instruction of how to interpret the `foreign_exchange_reference` field for this Transaction.

const (
	// The ACH file contains a foreign exchange rate.
	TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicatorForeignExchangeRate TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator = "foreign_exchange_rate"
	// The ACH file contains a reference to a well-known foreign exchange rate.
	TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicatorForeignExchangeReferenceNumber TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator = "foreign_exchange_reference_number"
	// There is no foreign exchange for this transfer, so the
	// `foreign_exchange_reference` field is blank.
	TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicatorBlank TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator = "blank"
)

func (TransactionSourceInboundInternationalACHTransferForeignExchangeReferenceIndicator) IsKnown added in v0.30.0

type TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode added in v0.7.3

type TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode string

The type of transfer. Set by the originator.

const (
	// Sent as `ANN` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeAnnuity TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "annuity"
	// Sent as `BUS` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeBusinessOrCommercial TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "business_or_commercial"
	// Sent as `DEP` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeDeposit TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "deposit"
	// Sent as `LOA` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeLoan TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "loan"
	// Sent as `MIS` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeMiscellaneous TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "miscellaneous"
	// Sent as `MOR` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeMortgage TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "mortgage"
	// Sent as `PEN` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodePension TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "pension"
	// Sent as `REM` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeRemittance TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "remittance"
	// Sent as `RLS` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeRentOrLease TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "rent_or_lease"
	// Sent as `SAL` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeSalaryOrPayroll TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "salary_or_payroll"
	// Sent as `TAX` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeTax TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "tax"
	// Sent as `ARC` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeAccountsReceivable TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "accounts_receivable"
	// Sent as `BOC` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeBackOfficeConversion TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "back_office_conversion"
	// Sent as `MTE` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeMachineTransfer TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "machine_transfer"
	// Sent as `POP` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodePointOfPurchase TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "point_of_purchase"
	// Sent as `POS` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodePointOfSale TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "point_of_sale"
	// Sent as `RCK` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeRepresentedCheck TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "represented_check"
	// Sent as `SHR` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeSharedNetworkTransaction TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "shared_network_transaction"
	// Sent as `TEL` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeTelphoneInitiated TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "telphone_initiated"
	// Sent as `WEB` in the Nacha file.
	TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCodeInternetInitiated TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode = "internet_initiated"
)

func (TransactionSourceInboundInternationalACHTransferInternationalTransactionTypeCode) IsKnown added in v0.30.0

type TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier 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.
	TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifierBicCode TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifierIban TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (TransactionSourceInboundInternationalACHTransferOriginatingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

type TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier added in v0.7.3

type TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier 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.
	TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifierNationalClearingSystemNumber TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier = "national_clearing_system_number"
	// The SWIFT Bank Identifier Code (BIC) of the bank.
	TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifierBicCode TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier = "bic_code"
	// An International Bank Account Number.
	TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifierIban TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier = "iban"
)

func (TransactionSourceInboundInternationalACHTransferReceivingDepositoryFinancialInstitutionIDQualifier) IsKnown added in v0.30.0

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"`
	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 added in v0.30.0

type TransactionSourceInboundWireDrawdownPayment

type TransactionSourceInboundWireDrawdownPayment struct {
	// The amount in the minor unit of the transaction's currency. For dollars, for
	// example, this is 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 receiving 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"`
	JSON                                    transactionSourceInboundWireDrawdownPaymentJSON `json:"-"`
}

An Inbound Wire Drawdown Payment object. This field will be present in the JSON response if and only if `category` is equal to `inbound_wire_drawdown_payment`.

func (*TransactionSourceInboundWireDrawdownPayment) UnmarshalJSON

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

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 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 added in v0.30.0

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 added in v0.30.0

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 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 added in v0.30.0

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 TransactionSourceWireTransferRejection

type TransactionSourceWireTransferRejection struct {
	// The identifier of the Wire Transfer that led to this Transaction.
	TransferID string                                     `json:"transfer_id,required"`
	JSON       transactionSourceWireTransferRejectionJSON `json:"-"`
}

A Wire Transfer Rejection object. This field will be present in the JSON response if and only if `category` is equal to `wire_transfer_rejection`.

func (*TransactionSourceWireTransferRejection) UnmarshalJSON

func (r *TransactionSourceWireTransferRejection) 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 added in v0.30.0

func (r TransactionType) IsKnown() bool

type WebhookService added in v0.19.0

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 added in v0.19.0

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.
	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"`
	// 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 added in v0.39.0

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 added in v0.39.0

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 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 added in v0.30.0

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 added in v0.30.0

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"`
	// 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 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 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 added in v0.30.0

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 added in v0.30.0

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 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"`
}

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

func (*WireTransferService) Reverse

func (r *WireTransferService) 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 (*WireTransferService) Submit

func (r *WireTransferService) 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 WireTransferStatus

type WireTransferStatus string

The lifecycle status of the transfer.

const (
	// The transfer has been canceled.
	WireTransferStatusCanceled WireTransferStatus = "canceled"
	// The transfer requires attention from an Increase operator.
	WireTransferStatusRequiresAttention WireTransferStatus = "requires_attention"
	// The transfer is pending review by Increase.
	WireTransferStatusPendingReviewing WireTransferStatus = "pending_reviewing"
	// The transfer is pending approval.
	WireTransferStatusPendingApproval WireTransferStatus = "pending_approval"
	// The transfer has been rejected.
	WireTransferStatusRejected WireTransferStatus = "rejected"
	// The transfer has been reversed.
	WireTransferStatusReversed WireTransferStatus = "reversed"
	// The transfer is complete.
	WireTransferStatusComplete WireTransferStatus = "complete"
	// The transfer is pending creation.
	WireTransferStatusPendingCreating WireTransferStatus = "pending_creating"
)

func (WireTransferStatus) IsKnown added in v0.30.0

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 added in v0.30.0

func (r WireTransferType) IsKnown() bool

Source Files

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

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