plaid

package
v0.0.0-...-ff4f16d Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const APIVersion = "2020-09-14"

APIVersion holds the latest version of the Plaid API

Variables

View Source
var PaymentChannels paymentChannels = paymentChannels{
	Digital:    paymentChannelDigital,
	Place:      paymentChannelPlace,
	Special:    paymentChannelSpecial,
	Unresolved: paymentChannelUnresolved,
	Online:     paymentChannelOnline,
	InStore:    paymentChannelInStore,
	Other:      paymentChannelOther,
}
View Source
var UnofficialCurrencyCodes unofficialCurrencyCodes = unofficialCurrencyCodes{
	ADA:  unofficialCurrencyCodeADA,
	BAT:  unofficialCurrencyCodeBAT,
	BCH:  unofficialCurrencyCodeBCH,
	BNB:  unofficialCurrencyCodeBNB,
	BTC:  unofficialCurrencyCodeBTC,
	BTG:  unofficialCurrencyCodeBTG,
	CNH:  unofficialCurrencyCodeCNH,
	DASH: unofficialCurrencyCodeDASH,
	DOGE: unofficialCurrencyCodeDOGE,
	ETC:  unofficialCurrencyCodeETC,
	ETH:  unofficialCurrencyCodeETH,
	GBX:  unofficialCurrencyCodeGBX,
	LSK:  unofficialCurrencyCodeLSK,
	NEO:  unofficialCurrencyCodeNEO,
	OMG:  unofficialCurrencyCodeOMG,
	QTUM: unofficialCurrencyCodeQTUM,
	USDT: unofficialCurrencyCodeUSDT,
	XLM:  unofficialCurrencyCodeXLM,
	XMR:  unofficialCurrencyCodeXMR,
	XRP:  unofficialCurrencyCodeXRP,
	ZEC:  unofficialCurrencyCodeZEC,
	ZRX:  unofficialCurrencyCodeZRX,
}

Functions

func IsValidCode

func IsValidCode(s string) bool

func MarshalUnofficialCurrencyCode

func MarshalUnofficialCurrencyCode(s UnofficialCurrencyCode) graphql.Marshaler

MarshalUUID converts a uuid.UUID to a graphql string

Types

type ACHNumber

type ACHNumber struct {
	Account     string `json:"account"`
	AccountID   string `json:"account_id"`
	Routing     string `json:"routing"`
	WireRouting string `json:"wire_routing"`
}

type APIResponse

type APIResponse struct {
	RequestID string `json:"request_id"`
}

APIResponse is the base struct for all responses from the Plaid API.

type APR

type APR struct {
	APRPercentage        float64 `json:"apr_percentage"`
	APRType              string  `json:"apr_type"`
	BalanceSubjectToAPR  float64 `json:"balance_subject_to_apr"`
	InterestChargeAmount float64 `json:"interest_charge_amount"`
}

APR contains details about the annual percentage rate of a credit card.

type Account

type Account struct {
	AccountID          string          `json:"account_id"`
	Balances           AccountBalances `json:"balances"`
	Mask               string          `json:"mask"`
	Name               string          `json:"name"`
	OfficialName       string          `json:"official_name"`
	Subtype            string          `json:"subtype"`
	Type               string          `json:"type"`
	VerificationStatus string          `json:"verification_status"`
}

type AccountBalances

type AccountBalances struct {
	Available              float64                `json:"available"`
	Current                float64                `json:"current"`
	Limit                  float64                `json:"limit"`
	ISOCurrencyCode        currency.CurrencyCode  `json:"iso_currency_code"`
	UnofficialCurrencyCode UnofficialCurrencyCode `json:"unofficial_currency_code"`
}

type AccountNumberCollection

type AccountNumberCollection struct {
	ACH           []ACHNumber  `json:"ach"`
	EFT           []EFTNumber  `json:"eft"`
	International []IBANNumber `json:"international"`
	BACS          []BACSNumber `json:"bacs"`
}

type AccountWithOwners

type AccountWithOwners struct {
	Owners []Identity `json:"owners"`
	Account
}

type Address

type Address struct {
	Data    AddressData `json:"data"`
	Primary bool        `json:"primary"`
}

type AddressData

type AddressData struct {
	City       string `json:"city"`
	Region     string `json:"region"`
	Street     string `json:"street"`
	PostalCode string `json:"postal_code"`
	Country    string `json:"country"`
}

type AssetReport

type AssetReport struct {
	AssetReportID  string            `json:"asset_report_id"`
	ClientReportID string            `json:"client_report_id"`
	DateGenerated  string            `json:"date_generated"`
	DaysRequested  int               `json:"days_requested"`
	Items          []AssetReportItem `json:"items"`
	User           AssetReportUser   `json:"user"`
}

type AssetReportAccount

type AssetReportAccount struct {
	Balances           AccountBalances           `json:"balances"`
	HistoricalBalances []AccountBalances         `json:"historical_balances"`
	AccountID          string                    `json:"account_id"`
	DaysAvailable      int                       `json:"days_available"`
	Mask               string                    `json:"mask"`
	Name               string                    `json:"name"`
	OfficialName       string                    `json:"official_name"`
	Owners             []AssetReportAccountOwner `json:"owners"`
	Subtype            string                    `json:"subtype"`
	Type               string                    `json:"type"`
}

type AssetReportAccountOwner

type AssetReportAccountOwner struct {
	Addresses    []AssetReportAccountOwnerAddress     `json:"addresses"`
	Emails       []AssetReportAccountOwnerEmail       `json:"emails"`
	Names        []string                             `json:"names"`
	PhoneNumbers []AssetReportAccountOwnerPhoneNumber `json:"phone_numbers"`
}

type AssetReportAccountOwnerAddress

type AssetReportAccountOwnerAddress struct {
	Data    AssetReportAccountOwnerAddressData `json:"data"`
	Primary bool                               `json:"primary"`
}

type AssetReportAccountOwnerAddressData

type AssetReportAccountOwnerAddressData struct {
	City       string `json:"city"`
	Country    string `json:"country"`
	PostalCode string `json:"postal_code"`
	Region     string `json:"region"`
	Street     string `json:"street"`
}

type AssetReportAccountOwnerEmail

type AssetReportAccountOwnerEmail struct {
	Data    string `json:"data"`
	Primary bool   `json:"primary"`
	Type    string `json:"type"`
}

type AssetReportAccountOwnerPhoneNumber

type AssetReportAccountOwnerPhoneNumber struct {
	Data    string `json:"data"`
	Primary bool   `json:"primary"`
	Type    string `json:"type"`
}

type AssetReportItem

type AssetReportItem struct {
	Accounts        []AssetReportAccount `json:"accounts"`
	DateLastUpdated string               `json:"date_last_updated"`
	InstitutionID   string               `json:"institution_id"`
	InstitutionName string               `json:"institution_name"`
	ItemID          string               `json:"item_id"`
}

type AssetReportUser

type AssetReportUser struct {
	ClientID    string `json:"client_user_id"`
	Email       string `json:"email"`
	FirstName   string `json:"first_name"`
	LastName    string `json:"last_name"`
	MiddleName  string `json:"middle_name"`
	PhoneNumber string `json:"phone_number"`
	SSN         string `json:"ssn"`
}

type BACSNumber

type BACSNumber struct {
	AccountID string `json:"account_id"`
	Account   string `json:"account"`
	SortCode  string `json:"sort_code"`
}

type Category

type Category struct {
	CategoryID string   `json:"category_id"`
	Group      string   `json:"group"`
	Hierarchy  []string `json:"hierarchy"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client holds information required to interact with the Plaid API. Note: Client is only exported for method documentation purposes. Instances should only be created through the 'NewClient' function.

See https://github.com/golang/go/issues/7823.

func NewClient

func NewClient(options ClientOptions) (client *Client, err error)

NewClient instantiates a Client associated with a client id, secret and environment.

func (*Client) Call

func (c *Client) Call(endpoint string, body []byte, v interface{}) error

func (*Client) CreateApexToken

func (c *Client) CreateApexToken(accessToken, accountID string) (resp CreateApexTokenResponse, err error)

CreateApexToken is used to create a new Apex processor token.

func (*Client) CreateAssetReport

func (c *Client) CreateAssetReport(itemAccessTokens []string, daysRequested int) (resp CreateAssetReportResponse, err error)

func (*Client) CreateAssetReportWithOptions

func (c *Client) CreateAssetReportWithOptions(itemAccessTokens []string, daysRequested int, options CreateAssetReportOptions) (resp CreateAssetReportResponse, err error)

func (*Client) CreateAuditCopy

func (c *Client) CreateAuditCopy(assetReportToken, auditorID string) (resp CreateAuditCopyTokenResponse, err error)

func (*Client) CreateDepositSwitch

func (c *Client) CreateDepositSwitch(targetAccountID string, targetAccessToken string) (resp createDepositSwitchResponse, err error)

func (*Client) CreateDepositSwitchToken

func (c *Client) CreateDepositSwitchToken(
	depositSwitchID string,
) (resp createDepositSwitchTokenResponse, err error)

func (*Client) CreateDwollaToken

func (c *Client) CreateDwollaToken(accessToken, accountID string) (resp CreateDwollaTokenResponse, err error)

CreateDwollaToken is used to create a new Dwolla processor token.

func (*Client) CreateLinkToken

func (c *Client) CreateLinkToken(configs LinkTokenConfigs) (resp CreateLinkTokenResponse, err error)

func (*Client) CreateOcrolusToken

func (c *Client) CreateOcrolusToken(accessToken, accountID string) (resp CreateOcrolusTokenResponse, err error)

CreateOcrolusToken is used to create a new Ocrolus processor token.

func (*Client) CreatePayment

func (c *Client) CreatePayment(
	recipientID string,
	reference string,
	amount PaymentAmount,
	schedule *PaymentSchedule,
) (resp CreatePaymentResponse, err error)

func (*Client) CreatePaymentRecipient

func (c *Client) CreatePaymentRecipient(
	name string,
	params OptionalRecipientCreateParams,
) (resp CreatePaymentRecipientResponse, err error)

func (*Client) CreatePaymentToken

func (c *Client) CreatePaymentToken(
	paymentID string,
) (resp CreatePaymentTokenResponse, err error)

func (*Client) CreateProcessorToken

func (c *Client) CreateProcessorToken(accessToken, accountID string, processor string) (resp ProcessorTokenResponse, err error)

CreateProcessorToken is used to create a new generic processor token.

func (*Client) CreatePublicToken

func (c *Client) CreatePublicToken(accessToken string) (resp CreatePublicTokenResponse, err error)

CreatePublicToken generates a one-time use public token which expires in 30 minutes to update an Item. See https://plaid.com/docs/api/#creating-public-tokens.

func (*Client) CreateSandboxPublicToken

func (c *Client) CreateSandboxPublicToken(institutionID string, initialProducts []string) (resp CreateSandboxPublicTokenResponse, err error)

func (*Client) CreateStripeToken

func (c *Client) CreateStripeToken(accessToken, accountID string) (resp CreateStripeTokenResponse, err error)

CreateStripeToken is used to create a new Stripe bank account token.

func (*Client) ExchangePublicToken

func (c *Client) ExchangePublicToken(publicToken string) (resp ExchangePublicTokenResponse, err error)

ExchangePublicToken exchanges a public token for an access token. See https://plaid.com/docs/api/tokens/#itempublic_tokenexchange.

func (*Client) GetAccounts

func (c *Client) GetAccounts(accessToken string) (resp GetAccountsResponse, err error)

GetAccounts retrieves accounts associated with an Item. See https://plaid.com/docs/api/accounts/.

func (*Client) GetAccountsWithOptions

func (c *Client) GetAccountsWithOptions(accessToken string, options GetAccountsOptions) (resp GetAccountsResponse, err error)

GetAccountsWithOptions retrieves accounts associated with an Item. See https://plaid.com/docs/api/accounts/.

func (*Client) GetAssetReport

func (c *Client) GetAssetReport(assetReportToken string) (resp GetAssetReportResponse, err error)

func (*Client) GetAuth

func (c *Client) GetAuth(accessToken string) (resp GetAuthResponse, err error)

GetAuth retrieves bank account and routing numbers associated with an Item's checking and savings accounts, along with other information. See https://plaid.com/docs/auth/.

func (*Client) GetAuthWithOptions

func (c *Client) GetAuthWithOptions(accessToken string, options GetAuthOptions) (resp GetAuthResponse, err error)

GetAuthWithOptions retrieves bank account and routing numbers associated with an Item's checking and savings accounts, along with other information. See https://plaid.com/docs/auth/.

func (*Client) GetBalances

func (c *Client) GetBalances(accessToken string) (resp GetBalancesResponse, err error)

GetBalances returns the real-time balance for each of an Item's accounts. See https://plaid.com/docs/balance/.

func (*Client) GetBalancesWithOptions

func (c *Client) GetBalancesWithOptions(accessToken string, options GetBalancesOptions) (resp GetBalancesResponse, err error)

GetBalancesWithOptions returns the real-time balance for each of an Item's accounts. See https://plaid.com/docs/balance/.

func (*Client) GetCategories

func (c *Client) GetCategories() (resp GetCategoriesResponse, err error)

GetCategories returns information for all categories. See https://plaid.com/docs/api/products/#categoriesget.

func (*Client) GetDepositSwitch

func (c *Client) GetDepositSwitch(
	depositSwitchID string,
) (resp GetDepositSwitchResponse, err error)

GetDepositSwitch retrieves deposit switch data.

func (*Client) GetHoldings

func (c *Client) GetHoldings(accessToken string) (resp GetHoldingsResponse, err error)

GetHoldings retrieves various account holdings for investment accounts. See https://plaid.com/docs/#holdings.

func (*Client) GetHoldingsWithOptions

func (c *Client) GetHoldingsWithOptions(accessToken string, options GetHoldingsOptions) (resp GetHoldingsResponse, err error)

GetHoldingsWithOptions retrieves various account holdings for investment accounts. See https://plaid.com/docs/#holdings.

func (*Client) GetIdentity

func (c *Client) GetIdentity(accessToken string) (resp GetIdentityResponse, err error)

GetIdentity retrieves various account holder information on file with an associated financial institution. See https://plaid.com/docs/identity/.

func (*Client) GetIncome

func (c *Client) GetIncome(accessToken string) (resp GetIncomeResponse, err error)

GetIncome retrieves information pertaining to an Item's income. See https://plaid.com/docs/#income.

func (*Client) GetInstitutionByID

func (c *Client) GetInstitutionByID(
	id string,
	countryCodes []string,
) (resp GetInstitutionByIDResponse, err error)

GetInstitutionByID returns information for a single institution given an ID. See https://plaid.com/docs/api/institutions/#institutionsget_by_id.

func (*Client) GetInstitutionByIDWithOptions

func (c *Client) GetInstitutionByIDWithOptions(
	id string,
	countryCodes []string,
	options GetInstitutionByIDOptions,
) (resp GetInstitutionByIDResponse, err error)

GetInstitutionByIDWithOptions returns information for a single institution given an ID. See https://plaid.com/docs/api/institutions/#institutionsget_by_id.

func (*Client) GetInstitutions

func (c *Client) GetInstitutions(count, offset int, countryCodes []string) (resp GetInstitutionsResponse, err error)

GetInstitutions returns information for all institutions supported by Plaid. See https://plaid.com/docs/api/institutions/#institutionsget.

func (*Client) GetInstitutionsWithOptions

func (c *Client) GetInstitutionsWithOptions(
	count int,
	offset int,
	countryCodes []string,
	options GetInstitutionsOptions,
) (resp GetInstitutionsResponse, err error)

GetInstitutionsWithOptions returns information for all institutions supported by Plaid. See https://plaid.com/docs/api/institutions/#institutionsget.

func (*Client) GetInvestmentTransactions

func (c *Client) GetInvestmentTransactions(accessToken, startDate, endDate string) (resp GetInvestmentTransactionsResponse, err error)

GetInvestmentTransactions retrieves user-authorized transaction data for investment-type accounts. See https://plaid.com/docs/#investment-transactions.

func (*Client) GetInvestmentTransactionsWithOptions

func (c *Client) GetInvestmentTransactionsWithOptions(accessToken string, options GetInvestmentTransactionsOptions) (resp GetInvestmentTransactionsResponse, err error)

GetInvestmentTransactionsWithOptions retrieves user-authorized investment transaction data for investment-type accounts. See https://plaid.com/docs/#investment-transactions.

func (*Client) GetItem

func (c *Client) GetItem(accessToken string) (resp GetItemResponse, err error)

GetItem retrieves an item associated with an access token. See https://plaid.com/docs/api/items/#itemget.

func (*Client) GetLiabilities

func (c *Client) GetLiabilities(accessToken string) (resp GetLiabilitiesResponse, err error)

GetLiabilities retrieves liability data. See https://plaid.com/docs/liabilities/.

func (*Client) GetLiabilitiesWithOptions

func (c *Client) GetLiabilitiesWithOptions(
	accessToken string,
	options GetLiabilitiesOptions,
) (resp GetLiabilitiesResponse, err error)

GetLiabilitiesWithOptions retrieves liability data. See https://plaid.com/docs/liabilities/.

func (*Client) GetLinkToken

func (c *Client) GetLinkToken(linkToken string) (resp GetLinkTokenResponse, err error)

func (*Client) GetPayment

func (c *Client) GetPayment(paymentID string) (resp GetPaymentResponse, err error)

func (*Client) GetPaymentRecipient

func (c *Client) GetPaymentRecipient(recipientID string) (resp GetPaymentRecipientResponse, err error)

func (*Client) GetTransactions

func (c *Client) GetTransactions(accessToken, startDate, endDate string) (resp GetTransactionsResponse, err error)

GetTransactions retrieves user-authorized transaction data for credit and depository-type accounts. See https://plaid.com/docs/transactions/.

func (*Client) GetTransactionsWithOptions

func (c *Client) GetTransactionsWithOptions(accessToken string, options GetTransactionsOptions) (resp GetTransactionsResponse, err error)

GetTransactionsWithOptions retrieves user-authorized transaction data for credit and depository-type accounts. See https://plaid.com/docs/transactions/.

func (*Client) GetWebhookVerificationKey

func (c *Client) GetWebhookVerificationKey(
	keyID string,
) (resp GetWebhookVerificationKeyResponse, err error)

GetWebhookVerificationKey retrieves the verification key for a given webhook verification key ID See https://plaid.com/docs/api/webhook-verification/.

func (*Client) ImportItem

func (c *Client) ImportItem(products []string, userAuth map[string]interface{}, options importItemRequestOptions) (resp ImportItemResponse, err error)

ImportItem generates a Plaid item given user authentication fields.

func (*Client) InvalidateAccessToken

func (c *Client) InvalidateAccessToken(accessToken string) (resp InvalidateAccessTokenResponse, err error)

InvalidateAccessToken invalidates and rotates an access token. See https://plaid.com/docs/api/tokens/#itemaccess_tokeninvalidate.

func (*Client) ListPaymentRecipients

func (c *Client) ListPaymentRecipients() (resp ListPaymentRecipientsResponse, err error)

func (*Client) ListPayments

func (c *Client) ListPayments(options ListPaymentsOptions) (resp ListPaymentsResponse, err error)

func (*Client) RefreshTransactions

func (c *Client) RefreshTransactions(accessToken string) (resp RefreshTransactionsResponse, err error)

RefreshTransactions triggers a manual transaction extraction for accounts associated with the AccessToken

func (*Client) RemoveAssetReport

func (c *Client) RemoveAssetReport(assetReportToken string) (resp RemoveAssetReportResponse, err error)

func (*Client) RemoveItem

func (c *Client) RemoveItem(accessToken string) (resp RemoveItemResponse, err error)

RemoveItem removes an item associated with an access token. See https://plaid.com/docs/api/items/#itemremove.

func (*Client) ResetSandboxItem

func (c *Client) ResetSandboxItem(accessToken string) (resp ResetSandboxItemResponse, err error)

func (*Client) SearchInstitutions

func (c *Client) SearchInstitutions(
	query string,
	products []string,
	countryCodes []string,
) (resp SearchInstitutionsResponse, err error)

SearchInstitutions returns institutions corresponding to a query string and supported products. See https://plaid.com/docs/api/institutions/#institutionssearch.

func (*Client) SearchInstitutionsWithOptions

func (c *Client) SearchInstitutionsWithOptions(
	query string,
	products []string,
	countryCodes []string,
	options SearchInstitutionsOptions,
) (resp SearchInstitutionsResponse, err error)

SearchInstitutionsWithOptions returns institutions corresponding to a query string and supported products. See https://plaid.com/docs/api/institutions/#institutionssearch.

func (*Client) SetSandboxItemVerificationStatus

func (c *Client) SetSandboxItemVerificationStatus(accessToken string, accountID string, verificationStatus string) (resp SetSandboxItemVerificationStatusResponse, err error)

func (*Client) UpdateItemWebhook

func (c *Client) UpdateItemWebhook(accessToken, webhook string) (resp UpdateItemWebhookResponse, err error)

UpdateItemWebhook updates the webhook associated with an Item. See https://plaid.com/docs/api/items/#itemwebhookupdate.

type ClientOptions

type ClientOptions struct {
	ClientID    string
	Secret      string
	Environment Environment
	HTTPClient  *http.Client
}

type CreateApexTokenResponse

type CreateApexTokenResponse ProcessorTokenResponse

CreateApexTokenResponse defines the return format for Apex processor token requests

type CreateAssetReportOptions

type CreateAssetReportOptions struct {
	ClientReportID string `json:"client_report_id,omitempty"`
	Webhook        string `json:"webhook,omitempty"`
	User           struct {
		ClientUserID string `json:"client_user_id,omitempty"`
		FirstName    string `json:"first_name,omitempty"`
		LastName     string `json:"last_name,omitempty"`
		MiddleName   string `json:"middle_name,omitempty"`
		Ssn          string `json:"ssn,omitempty"`
		PhoneNumber  string `json:"phone_number,omitempty"`
		Email        string `json:"email,omitempty"`
	} `json:"user,omitempty"`
}

type CreateAssetReportResponse

type CreateAssetReportResponse struct {
	AssetReportToken string `json:"asset_report_token"`
	AssetReportID    string `json:"asset_report_id"`
	RequestID        string `json:"request_id"`
}

type CreateAuditCopyTokenResponse

type CreateAuditCopyTokenResponse struct {
	APIResponse
	AuditCopyToken string `json:"audit_copy_token"`
}

type CreateDwollaTokenResponse

type CreateDwollaTokenResponse ProcessorTokenResponse

CreateDwollaTokenResponse defines the return format for Dwolla processor token requests

type CreateLinkTokenResponse

type CreateLinkTokenResponse struct {
	APIResponse
	LinkToken  string    `json:"link_token"`
	Expiration time.Time `json:"expiration"`
}

type CreateOcrolusTokenResponse

type CreateOcrolusTokenResponse ProcessorTokenResponse

CreateOcrolusTokenResponse defines the return format for Ocrolus processor token requests

type CreatePaymentRecipientResponse

type CreatePaymentRecipientResponse struct {
	APIResponse
	RecipientID string `json:"recipient_id"`
}

type CreatePaymentResponse

type CreatePaymentResponse struct {
	APIResponse
	PaymentID string `json:"payment_id"`
	Status    string `json:"status"`
}

type CreatePaymentTokenResponse

type CreatePaymentTokenResponse struct {
	APIResponse
	PaymentToken               string    `json:"payment_token"`
	PaymentTokenExpirationTime time.Time `json:"payment_token_expiration_time"`
}

type CreatePublicTokenResponse

type CreatePublicTokenResponse struct {
	APIResponse
	PublicToken string `json:"public_token"`
}

type CreateSandboxPublicTokenResponse

type CreateSandboxPublicTokenResponse struct {
	APIResponse
	PublicToken string `json:"public_token"`
}

type CreateStripeTokenResponse

type CreateStripeTokenResponse struct {
	APIResponse
	StripeBankAccountToken string `json:"stripe_bank_account_token"`
}

CreateStripeTokenResponse defines the unique return format for stripe processor token requests

type Credential

type Credential struct {
	Label string `json:"label"`
	Name  string `json:"name"`
	Type  string `json:"type"`
}

type CreditLiability

type CreditLiability struct {
	AccountID              string  `json:"account_id"`
	APRs                   []APR   `json:"aprs"`
	IsOverdue              bool    `json:"is_overdue"`
	LastPaymentAmount      float64 `json:"last_payment_amount"`
	LastPaymentDate        string  `json:"last_payment_date"`
	LastStatementBalance   float64 `json:"last_statement_balance"`
	LastStatementIssueDate string  `json:"last_statement_issue_date"`
	MinimumPaymentAmount   float64 `json:"minimum_payment_amount"`
	NextPaymentDueDate     string  `json:"next_payment_due_date"`
}

CreditLiability contains credit card liability data.

type CrossAppItemAdd

type CrossAppItemAdd struct {
	TargetApplicationToken string `json:"target_application_token"`
	ForeignID              string `json:"foreign_id,omitempty"`
}

type EFTNumber

type EFTNumber struct {
	Account     string `json:"account"`
	AccountID   string `json:"account_id"`
	Institution string `json:"institution"`
	Branch      string `json:"branch"`
}

type Email

type Email struct {
	Data    string `json:"data"`
	Primary bool   `json:"primary"`
	Type    string `json:"type"`
}

type Environment

type Environment string
const (
	Sandbox     Environment = "https://sandbox.plaid.com"
	Development Environment = "https://development.plaid.com"
	Production  Environment = "https://production.plaid.com"
)

func (Environment) Valid

func (c Environment) Valid() bool

type Error

type Error struct {
	APIResponse

	// List of all errors: https://github.com/plaid/support/blob/master/errors.md
	ErrorType      string `json:"error_type"`
	ErrorCode      string `json:"error_code"`
	ErrorMessage   string `json:"error_message"`
	DisplayMessage string `json:"display_message"`

	// StatusCode needs to be manually set from the response
	StatusCode int
}

func (Error) Error

func (e Error) Error() string

type ExchangePublicTokenResponse

type ExchangePublicTokenResponse struct {
	APIResponse
	AccessToken string `json:"access_token"`
	ItemID      string `json:"item_id"`
}

type GetAccountsOptions

type GetAccountsOptions struct {
	AccountIDs []string
}

type GetAccountsResponse

type GetAccountsResponse struct {
	APIResponse
	Accounts []Account `json:"accounts"`
	Item     Item      `json:"item"`
}

type GetAssetReportResponse

type GetAssetReportResponse struct {
	APIResponse
	Report   AssetReport `json:"report"`
	Warnings []string    `json:"warnings"`
}

type GetAuthOptions

type GetAuthOptions struct {
	AccountIDs []string
}

type GetAuthResponse

type GetAuthResponse struct {
	APIResponse
	Accounts []Account               `json:"accounts"`
	Numbers  AccountNumberCollection `json:"numbers"`
	Item     Item                    `json:"item"`
}

type GetBalancesOptions

type GetBalancesOptions struct {
	AccountIDs []string
}

type GetBalancesResponse

type GetBalancesResponse struct {
	APIResponse
	Accounts []Account `json:"accounts"`
}

type GetCategoriesResponse

type GetCategoriesResponse struct {
	APIResponse
	Categories []Category `json:"categories"`
}

type GetDepositSwitchResponse

type GetDepositSwitchResponse struct {
	DepositSwitchID string `json:"deposit_switch_id"`
	TargetItemID    string `json:"target_item_id"`
	TargetAccountID string `json:"target_account_id"`
	State           string `json:"state"`
	RequestID       string `json:"request_id"`
	DateCreated     string `json:"date_created,omitempty"`
	DateCompleted   string `json:"date_completed,omitempty"`
}

GetDepositSwitchResponse details the response from /deposit_switch/get.

type GetHoldingsOptions

type GetHoldingsOptions struct {
	AccountIDs []string `json:"account_ids"`
}

type GetHoldingsResponse

type GetHoldingsResponse struct {
	APIResponse
	Accounts   []Account  `json:"accounts"`
	Item       Item       `json:"item"`
	Securities []Security `json:"securities"`
	Holdings   []Holding  `json:"holdings"`
}

type GetIdentityResponse

type GetIdentityResponse struct {
	APIResponse
	Accounts []AccountWithOwners `json:"accounts"`
	Item     Item                `json:"item"`
}

type GetIncomeResponse

type GetIncomeResponse struct {
	APIResponse
	Income Income `json:"income"`
}

type GetInstitutionByIDOptions

type GetInstitutionByIDOptions struct {
	IncludeOptionalMetadata bool `json:"include_optional_metadata"`
	IncludeStatus           bool `json:"include_status"`
}

type GetInstitutionByIDResponse

type GetInstitutionByIDResponse struct {
	APIResponse
	Institution Institution `json:"institution"`
}

type GetInstitutionsOptions

type GetInstitutionsOptions struct {
	Products                []string `json:"products"`
	IncludeOptionalMetadata bool     `json:"include_optional_metadata"`
	OAuth                   *bool    `json:"oauth"`
	RoutingNumbers          []string `json:"routing_numbers"`
}

type GetInstitutionsResponse

type GetInstitutionsResponse struct {
	APIResponse
	Institutions []Institution `json:"institutions"`
	Total        int           `json:"total"`
}

type GetInvestmentTransactionsOptions

type GetInvestmentTransactionsOptions struct {
	StartDate  string
	EndDate    string
	AccountIDs []string
	Count      int
	Offset     int
}

type GetInvestmentTransactionsResponse

type GetInvestmentTransactionsResponse struct {
	APIResponse
	Item                        Item                    `json:"item"`
	Accounts                    []Account               `json:"accounts"`
	InvestmentTransactions      []InvestmentTransaction `json:"investment_transactions"`
	Securities                  []Security              `json:"securities"`
	TotalInvestmentTransactions int                     `json:"total_investment_transactions"`
}

type GetItemResponse

type GetItemResponse struct {
	APIResponse
	Item   Item       `json:"item"`
	Status ItemStatus `json:"status"`
}

type GetLiabilitiesOptions

type GetLiabilitiesOptions struct {
	// AccountIDs is used to filter accounts included in the response. A nil or
	// zero-length slice does not result in any filter being applied.
	AccountIDs []string
}

GetLiabilitiesOptions contains options for /liabilities/get.

type GetLiabilitiesResponse

type GetLiabilitiesResponse struct {
	APIResponse
	Accounts    []Account `json:"accounts"`
	Item        Item      `json:"item"`
	Liabilities struct {
		Student  []StudentLoanLiability `json:"student"`
		Credit   []CreditLiability      `json:"credit"`
		Mortgage []MortgageLiability    `json:"mortgage"`
	} `json:"liabilities"`
}

GetLiabilitiesResponse is the response from /liabilities/get.

type GetLinkTokenMetadataResponse

type GetLinkTokenMetadataResponse struct {
	InitialProducts []string                        `json:"initial_products"`
	Webhook         string                          `json:"webhook"`
	CountryCodes    []string                        `json:"country_codes"`
	Language        string                          `json:"language"`
	AccountFilters  *map[string]map[string][]string `json:"account_filters"`
	RedirectURI     string                          `json:"redirect_uri"`
	ClientName      string                          `json:"client_name"`
}

type GetLinkTokenResponse

type GetLinkTokenResponse struct {
	APIResponse
	LinkToken  string                       `json:"link_token"`
	CreatedAt  time.Time                    `json:"created_at"`
	Expiration time.Time                    `json:"expiration"`
	Metadata   GetLinkTokenMetadataResponse `json:"metadata"`
}

type GetPaymentRecipientResponse

type GetPaymentRecipientResponse struct {
	APIResponse
	Recipient
}

type GetPaymentResponse

type GetPaymentResponse struct {
	APIResponse
	Payment
}

type GetTransactionsOptions

type GetTransactionsOptions struct {
	StartDate  string
	EndDate    string
	AccountIDs []string
	Count      int
	Offset     int
}

type GetTransactionsResponse

type GetTransactionsResponse struct {
	APIResponse
	Accounts          []Account     `json:"accounts"`
	Item              Item          `json:"item"`
	Transactions      []Transaction `json:"transactions"`
	TotalTransactions int           `json:"total_transactions"`
}

type GetWebhookVerificationKeyResponse

type GetWebhookVerificationKeyResponse struct {
	APIResponse
	Key WebhookVerificationKey `json:"key"`
}

type Holding

type Holding struct {
	AccountID  string `json:"account_id"`
	SecurityID string `json:"security_id"`

	InstitutionValue     float64 `json:"institution_value"`
	InstitutionPrice     float64 `json:"institution_price"`
	Quantity             float64 `json:"quantity"`
	InstitutionPriceAsOf string  `json:"institution_price_as_of"`
	CostBasis            float64 `json:"cost_basis"`

	ISOCurrencyCode        string `json:"iso_currency_code"`
	UnofficialCurrencyCode string `json:"unofficial_currency_code"`
}

type IBANNumber

type IBANNumber struct {
	AccountID string `json:"account_id"`
	IBAN      string `json:"iban"`
	BIC       string `json:"bic"`
}

type Identity

type Identity struct {
	Addresses    []Address     `json:"addresses"`
	Emails       []Email       `json:"emails"`
	Names        []string      `json:"names"`
	PhoneNumbers []PhoneNumber `json:"phone_numbers"`
}

type ImportItemResponse

type ImportItemResponse struct {
	AccessToken string `json:"access_token"`
}

ImportItemResponse is the type of the response returned by item/import.

type Income

type Income struct {
	IncomeStreams                       []IncomeStream `json:"income_streams"`
	LastYearIncome                      int            `json:"last_year_income"`
	LastYearIncomeBeforeTax             int            `json:"last_year_income_before_tax"`
	ProjectedYearlyIncome               int            `json:"projected_yearly_income"`
	ProjectedYearlyIncomeBeforeTax      int            `json:"projected_yearly_income_before_tax"`
	MaxNumberOfOverlappingIncomeStreams int            `json:"max_number_of_overlapping_income_streams"`
	NumberOfIncomeStreams               int            `json:"number_of_income_streams"`
}

type IncomeStream

type IncomeStream struct {
	Confidence    float64 `json:"confidence"`
	Days          int     `json:"days"`
	MonthlyIncome int     `json:"monthly_income"`
	Name          string  `json:"name"`
}

type Institution

type Institution struct {
	Credentials    []Credential `json:"credentials"`
	HasMFA         bool         `json:"has_mfa"`
	ID             string       `json:"institution_id"`
	MFA            []string     `json:"mfa"`
	Name           string       `json:"name"`
	Products       []string     `json:"products"`
	CountryCodes   []string     `json:"country_codes"`
	OAuth          bool         `json:"oauth"`
	RoutingNumbers []string     `json:"routing_numbers"`

	// Included when `options.include_status` is true.
	InstitutionStatus *InstitutionStatus `json:"status,omitempty"`

	// Included when `options.include_optional_metadata` is true.
	PrimaryColor string `json:"primary_color,omitempty"`
	// Included when `options.include_optional_metadata` is true.
	URL string `json:"url,omitempty"`
	Logo string `json:"logo,omitempty"`
}

type InstitutionStatus

type InstitutionStatus struct {
	ItemLogins          ItemLogins              `json:"item_logins"`
	TransactionsUpdates InstitutionStatusFields `json:"transactions_updates"`
	Auth                InstitutionStatusFields `json:"auth"`
	Balance             InstitutionStatusFields `json:"balance"`
	Identity            InstitutionStatusFields `json:"identity"`
}

type InstitutionStatusBreakdown

type InstitutionStatusBreakdown struct {
	Success          float64 `json:"success"`
	ErrorPlaid       float64 `json:"error_plaid"`
	ErrorInstitution float64 `json:"error_institution"`
	RefreshInterval  string  `json:"refresh_interval"` // only applicable to TransactionsUpdates status
}

type InstitutionStatusFields

type InstitutionStatusFields struct {
	Status           string                     `json:"status"`
	LastStatusChange time.Time                  `json:"last_status_change"`
	Breakdown        InstitutionStatusBreakdown `json:"breakdown"`
}

type InvalidateAccessTokenResponse

type InvalidateAccessTokenResponse struct {
	APIResponse
	NewAccessToken string `json:"new_access_token"`
}

type InvestmentTransaction

type InvestmentTransaction struct {
	InvestmentTransactionID string `json:"investment_transaction_id"`
	AccountID               string `json:"account_id"`
	SecurityID              string `json:"security_id"`
	CancelTransactionID     string `json:"cancel_transaction_id"`

	Date                   string  `json:"date"`
	Name                   string  `json:"name"`
	Quantity               float64 `json:"quantity"`
	Amount                 float64 `json:"amount"`
	Price                  float64 `json:"price"`
	Fees                   float64 `json:"fees"`
	Type                   string  `json:"type"`
	Subtype                string  `json:"subtype"`
	ISOCurrencyCode        string  `json:"iso_currency_code"`
	UnofficialCurrencyCode string  `json:"unofficial_currency_code"`
}

type Item

type Item struct {
	AvailableProducts     []string  `json:"available_products"`
	BilledProducts        []string  `json:"billed_products"`
	Error                 Error     `json:"error"`
	InstitutionID         string    `json:"institution_id"`
	ItemID                string    `json:"item_id"`
	Webhook               string    `json:"webhook"`
	ConsentExpirationTime time.Time `json:"consent_expiration_time"`
}

type ItemLogins

type ItemLogins struct {
	Status           string                     `json:"status"`
	LastStatusChange time.Time                  `json:"last_status_change"`
	Breakdown        InstitutionStatusBreakdown `json:"breakdown"`
}

type ItemStatus

type ItemStatus struct {
	Transactions ProductStatus `json:"transactions,omitempty"`
	Investments  ProductStatus `json:"investments,omitempty"`
	LastWebhook  WebhookStatus `json:"last_webhook,omitempty"`
}

type LinkTokenConfigs

type LinkTokenConfigs struct {
	User                  *LinkTokenUser                  `json:"user"`
	ClientName            string                          `json:"client_name"`
	Products              []string                        `json:"products,omitempty"`
	AccessToken           string                          `json:"access_token,omitempty"`
	CountryCodes          []string                        `json:"country_codes,omitempty"`
	Webhook               string                          `json:"webhook,omitempty"`
	AccountFilters        *map[string]map[string][]string `json:"account_filters,omitempty"`
	CrossAppItemAdd       *CrossAppItemAdd                `json:"cross_app_item_add,omitempty"`
	PaymentInitiation     *PaymentInitiation              `json:"payment_initiation,omitempty"`
	Language              string                          `json:"language,omitempty"`
	LinkCustomizationName string                          `json:"link_customization_name,omitempty"`
	RedirectUri           string                          `json:"redirect_uri,omitempty"`
	AndroidPackageName    string                          `json:"android_package_name,omitempty"`
}

type LinkTokenUser

type LinkTokenUser struct {
	ClientUserID             string    `json:"client_user_id"`
	LegalName                string    `json:"legal_name,omitempty"`
	PhoneNumber              string    `json:"phone_number,omitempty"`
	EmailAddress             string    `json:"email_address,omitempty"`
	PhoneNumberVerifiedTime  time.Time `json:"phone_number_verified_time,omitempty"`
	EmailAddressVerifiedTime time.Time `json:"email_address_verified_time,omitempty"`
}

type ListPaymentRecipientsResponse

type ListPaymentRecipientsResponse struct {
	APIResponse
	Recipients []Recipient `json:"recipients"`
}

type ListPaymentsOptions

type ListPaymentsOptions struct {
	Count  *int
	Cursor *string
}

type ListPaymentsResponse

type ListPaymentsResponse struct {
	APIResponse
	Payments   []Payment `json:"payments"`
	NextCursor string    `json:"next_cursor"`
}

type Location

type Location struct {
	Address     string  `json:"address"`
	City        string  `json:"city"`
	Lat         float64 `json:"lat"`
	Lon         float64 `json:"lon"`
	Region      string  `json:"region"`
	StoreNumber string  `json:"store_number"`
	PostalCode  string  `json:"postal_code"`
	Country     string  `json:"country"`
}

type MortgageInterestRate

type MortgageInterestRate struct {
	Percentage float64 `json:"percentage"`
	Type       string  `json:"type"`
}

MortgageInterestRate is the interest rate for the mortgage

type MortgageLiability

type MortgageLiability struct {
	AccountID                  string                  `json:"account_id"`
	AccountNumber              string                  `json:"account_number"`
	CurrentLateFee             float64                 `json:"current_late_fee"`
	EscrowBalance              float64                 `json:"escrow_balance"`
	HasPmi                     bool                    `json:"has_pmi"`
	HasPrepaymentPenalty       bool                    `json:"has_prepayment_penalty"`
	InterestRate               MortgageInterestRate    `json:"interest_rate"`
	LastPaymentAmount          float64                 `json:"last_payment_amount"`
	LastPaymentDate            string                  `json:"last_payment_date"`
	LoanTerm                   string                  `json:"loan_term"`
	LoanTypeDescription        string                  `json:"loan_type_description"`
	MaturityDate               string                  `json:"maturity_date"`
	NextMonthlyPayment         float64                 `json:"next_monthly_payment"`
	NextPaymentDueDate         string                  `json:"next_payment_due_date"`
	OriginationDate            string                  `json:"origination_date"`
	OriginationPrincipalAmount float64                 `json:"origination_principal_amount"`
	PastDueAmount              float64                 `json:"past_due_amount"`
	PropertyAddress            MortgagePropertyAddress `json:"property_address"`
	YtdInterestPaid            float64                 `json:"ytd_interest_paid"`
	YtdPrincipalPaid           float64                 `json:"ytd_principal_paid"`
}

MortgageLiability contains mortgage liability data.

type MortgagePropertyAddress

type MortgagePropertyAddress struct {
	City       string `json:"city"`
	Country    string `json:"country"`
	PostalCode string `json:"postal_code"`
	Region     string `json:"region"`
	Street     string `json:"street"`
}

MortgagePropertyAddress is the address of the property.

type OptionalRecipientCreateParams

type OptionalRecipientCreateParams struct {
	Address *PaymentRecipientAddress
	BACS    *PaymentRecipientBacs
	IBAN    *string
}

type PSLFStatus

type PSLFStatus struct {
	EstimatedEligibilityDate string `json:"estimated_eligibility_date"`
	PaymentsMade             int64  `json:"payments_made"`
	PaymentsRemaining        int64  `json:"payments_remaining"`
}

PSLFStatus contains information about the student's eligibility in the Public Service Loan Forgiveness program.

type Payment

type Payment struct {
	PaymentID        string           `json:"payment_id"`
	Reference        string           `json:"reference"`
	Amount           PaymentAmount    `json:"amount"`
	Schedule         *PaymentSchedule `json:"schedule"`
	Status           string           `json:"status"`
	LastStatusUpdate time.Time        `json:"last_status_update"`
	RecipientID      string           `json:"recipient_id"`
}

type PaymentAmount

type PaymentAmount struct {
	Currency string  `json:"currency"`
	Value    float64 `json:"value"`
}

type PaymentChannel

type PaymentChannel string

type PaymentInitiation

type PaymentInitiation struct {
	PaymentID string `json:"payment_id"`
}

type PaymentMeta

type PaymentMeta struct {
	ByOrderOf        string `json:"by_order_of"`
	Payee            string `json:"payee"`
	Payer            string `json:"payer"`
	PaymentMethod    string `json:"payment_method"`
	PaymentProcessor string `json:"payment_processor"`
	PPDID            string `json:"ppd_id"`
	Reason           string `json:"reason"`
	ReferenceNumber  string `json:"reference_number"`
}

type PaymentRecipientAddress

type PaymentRecipientAddress struct {
	// Street is an array with length in range [1, 4].
	Street     []string `json:"street"`
	City       string   `json:"city"`
	PostalCode string   `json:"postal_code"`
	// Country is an uppercase ISO 3166-1 alpha-2 country code.
	Country string `json:"country"`
}

type PaymentRecipientBacs

type PaymentRecipientBacs struct {
	Account  string `json:"account"`
	SortCode string `json:"sort_code"`
}

type PaymentSchedule

type PaymentSchedule struct {
	Interval             string `json:"interval"`
	IntervalExecutionDay int    `json:"interval_execution_day"`
	StartDate            string `json:"start_date"`
}

type PhoneNumber

type PhoneNumber struct {
	Primary bool   `json:"primary"`
	Type    string `json:"type"`
	Data    string `json:"data"`
}

type ProcessorTokenResponse

type ProcessorTokenResponse struct {
	APIResponse
	ProcessorToken string `json:"processor_token"`
}

ProcessorTokenResponse defines the generic return format for most processor token requests

type ProductStatus

type ProductStatus struct {
	LastFailedUpdate     time.Time `json:"last_failed_update,omitempty"`
	LastSuccessfulUpdate time.Time `json:"last_successful_update,omitempty"`
}

type Recipient

type Recipient struct {
	RecipientID string                   `json:"recipient_id"`
	Name        string                   `json:"name"`
	IBAN        *string                  `json:"iban",omitempty`
	Address     *PaymentRecipientAddress `json:"address"`
	BACS        *PaymentRecipientBacs    `json:"bacs",omitempty`
}

type RefreshTransactionsResponse

type RefreshTransactionsResponse struct {
	APIResponse
}

type RemoveAssetReportResponse

type RemoveAssetReportResponse struct {
	APIResponse
	Removed bool `json:"removed"`
}

type RemoveItemResponse

type RemoveItemResponse struct {
	APIResponse
}

type ResetSandboxItemResponse

type ResetSandboxItemResponse struct {
	APIResponse
	ResetLogin bool `json:"reset_login"`
}

type SearchInstitutionsOptions

type SearchInstitutionsOptions struct {
	IncludeOptionalMetadata bool                   `json:"include_optional_metadata"`
	AccountFilter           map[string]interface{} `json:"account_filter"`
	OAuth                   *bool                  `json:"oauth"`
}

type SearchInstitutionsResponse

type SearchInstitutionsResponse struct {
	APIResponse
	Institutions []Institution `json:"institutions"`
}

type Security

type Security struct {
	SecurityID             string  `json:"security_id"`
	CUSIP                  string  `json:"cusip"`
	SEDOL                  string  `json:"sedol"`
	ISIN                   string  `json:"isin"`
	InstitutionSecurityID  string  `json:"institution_security_id"`
	InstitutionID          string  `json:"institution_id"`
	ProxySecurityID        string  `json:"proxy_security_id"`
	Name                   string  `json:"name"`
	TickerSymbol           string  `json:"ticker_symbol"`
	IsCashEquivalent       bool    `json:"is_cash_equivalent"`
	Type                   string  `json:"type"`
	ClosePrice             float64 `json:"close_price"`
	ClosePriceAsOf         string  `json:"close_price_as_of"`
	ISOCurrencyCode        string  `json:"iso_currency_code"`
	UnofficialCurrencyCode string  `json:"unofficial_currency_code"`
}

type SetSandboxItemVerificationStatusResponse

type SetSandboxItemVerificationStatusResponse struct {
	APIResponse
}

type StudentLoanLiability

type StudentLoanLiability struct {
	AccountID                  string                     `json:"account_id"`
	AccountNumber              string                     `json:"account_number"`
	DisbursementDates          []string                   `json:"disbursement_dates"`
	ExpectedPayoffDate         string                     `json:"expected_payoff_date"`
	Guarantor                  string                     `json:"guarantor"`
	InterestRatePercentage     float64                    `json:"interest_rate_percentage"`
	IsOverdue                  bool                       `json:"is_overdue"`
	LastPaymentAmount          float64                    `json:"last_payment_amount"`
	LastPaymentDate            string                     `json:"last_payment_date"`
	LastStatementBalance       float64                    `json:"last_statement_balance"`
	LastStatementIssueDate     string                     `json:"last_statement_issue_date"`
	LoanName                   string                     `json:"loan_name"`
	LoanStatus                 StudentLoanStatus          `json:"loan_status"`
	MinimumPaymentAmount       float64                    `json:"minimum_payment_amount"`
	NextPaymentDueDate         string                     `json:"next_payment_due_date"`
	OriginationDate            string                     `json:"origination_date"`
	OriginationPrincipalAmount float64                    `json:"origination_principal_amount"`
	OutstandingInterestAmount  float64                    `json:"outstanding_interest_amount"`
	PaymentReferenceNumber     string                     `json:"payment_reference_number"`
	PSLFStatus                 PSLFStatus                 `json:"pslf_status"`
	RepaymentPlan              StudentLoanRepaymentPlan   `json:"repayment_plan"`
	SequenceNumber             string                     `json:"sequence_number"`
	ServicerAddress            StudentLoanServicerAddress `json:"servicer_address"`
	YTDInterestPaid            float64                    `json:"ytd_interest_paid"`
	YTDPrincipalPaid           float64                    `json:"ytd_principal_paid"`
}

StudentLoanLiability contains student loan liability data.

type StudentLoanRepaymentPlan

type StudentLoanRepaymentPlan struct {
	Type        string `json:"type"`
	Description string `json:"description"`
}

StudentLoanRepaymentPlan contains details about the repayment plan of the loan.

type StudentLoanServicerAddress

type StudentLoanServicerAddress struct {
	City       string `json:"city"`
	Country    string `json:"country"`
	PostalCode string `json:"postal_code"`
	Region     string `json:"region"`
	Street     string `json:"street"`
}

StudentLoanServicerAddress is the address of the servicer.

type StudentLoanStatus

type StudentLoanStatus struct {
	Type    string `json:"type"`
	EndDate string `json:"end_date"`
}

StudentLoanStatus contains details about the status of the student loan.

type Transaction

type Transaction struct {
	AccountID              string   `json:"account_id"`
	Amount                 float64  `json:"amount"`
	ISOCurrencyCode        string   `json:"iso_currency_code"`
	UnofficialCurrencyCode string   `json:"unofficial_currency_code"`
	Category               []string `json:"category"`
	CategoryID             string   `json:"category_id"`
	Date                   string   `json:"date"`
	AuthorizedDate         string   `json:"authorized_date"`

	Location Location `json:"location"`

	MerchantName string `json:"merchant_name"`
	Name         string `json:"name"`

	PaymentMeta    PaymentMeta    `json:"payment_meta"`
	PaymentChannel PaymentChannel `json:"payment_channel"`

	Pending              bool   `json:"pending"`
	PendingTransactionID string `json:"pending_transaction_id"`
	AccountOwner         string `json:"account_owner"`
	ID                   string `json:"transaction_id"`
	Type                 string `json:"transaction_type"`
	Code                 string `json:"transaction_code"`
}

type UnofficialCurrencyCode

type UnofficialCurrencyCode string

func UnmarshalUnofficialCurrencyCode

func UnmarshalUnofficialCurrencyCode(v interface{}) (UnofficialCurrencyCode, error)

UnmarshalUUID converts a graphql uuid string type into a uuid.UUID

type UpdateItemWebhookResponse

type UpdateItemWebhookResponse struct {
	APIResponse
	Item Item `json:"item"`
}

type WebhookStatus

type WebhookStatus struct {
	SentAt   time.Time `json:"sent_at,omitempty"`
	CodeSent string    `json:"code_sent,omitempty"`
}

type WebhookVerificationKey

type WebhookVerificationKey struct {
	Alg       string `json:"alg"`
	CreatedAt int64  `json:"created_at"`
	Crv       string `json:"crv"`
	ExpiredAt int64  `json:"expired_at"`
	Kid       string `json:"kid"`
	Kty       string `json:"kty"`
	Use       string `json:"use"`
	X         string `json:"x"`
	Y         string `json:"y"`
}

Jump to

Keyboard shortcuts

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