github.com/stripe/stripe-go/v76@v76.25.0/treasury/financialaccount/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package financialaccount provides the /treasury/financial_accounts APIs 8 package financialaccount 9 10 import ( 11 "net/http" 12 13 stripe "github.com/stripe/stripe-go/v76" 14 "github.com/stripe/stripe-go/v76/form" 15 ) 16 17 // Client is used to invoke /treasury/financial_accounts APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // New creates a new treasury financial account. 24 func New(params *stripe.TreasuryFinancialAccountParams) (*stripe.TreasuryFinancialAccount, error) { 25 return getC().New(params) 26 } 27 28 // New creates a new treasury financial account. 29 func (c Client) New(params *stripe.TreasuryFinancialAccountParams) (*stripe.TreasuryFinancialAccount, error) { 30 financialaccount := &stripe.TreasuryFinancialAccount{} 31 err := c.B.Call( 32 http.MethodPost, 33 "/v1/treasury/financial_accounts", 34 c.Key, 35 params, 36 financialaccount, 37 ) 38 return financialaccount, err 39 } 40 41 // Get returns the details of a treasury financial account. 42 func Get(id string, params *stripe.TreasuryFinancialAccountParams) (*stripe.TreasuryFinancialAccount, error) { 43 return getC().Get(id, params) 44 } 45 46 // Get returns the details of a treasury financial account. 47 func (c Client) Get(id string, params *stripe.TreasuryFinancialAccountParams) (*stripe.TreasuryFinancialAccount, error) { 48 path := stripe.FormatURLPath("/v1/treasury/financial_accounts/%s", id) 49 financialaccount := &stripe.TreasuryFinancialAccount{} 50 err := c.B.Call(http.MethodGet, path, c.Key, params, financialaccount) 51 return financialaccount, err 52 } 53 54 // Update updates a treasury financial account's properties. 55 func Update(id string, params *stripe.TreasuryFinancialAccountParams) (*stripe.TreasuryFinancialAccount, error) { 56 return getC().Update(id, params) 57 } 58 59 // Update updates a treasury financial account's properties. 60 func (c Client) Update(id string, params *stripe.TreasuryFinancialAccountParams) (*stripe.TreasuryFinancialAccount, error) { 61 path := stripe.FormatURLPath("/v1/treasury/financial_accounts/%s", id) 62 financialaccount := &stripe.TreasuryFinancialAccount{} 63 err := c.B.Call(http.MethodPost, path, c.Key, params, financialaccount) 64 return financialaccount, err 65 } 66 67 // RetrieveFeatures is the method for the `GET /v1/treasury/financial_accounts/{financial_account}/features` API. 68 func RetrieveFeatures(id string, params *stripe.TreasuryFinancialAccountRetrieveFeaturesParams) (*stripe.TreasuryFinancialAccountFeatures, error) { 69 return getC().RetrieveFeatures(id, params) 70 } 71 72 // RetrieveFeatures is the method for the `GET /v1/treasury/financial_accounts/{financial_account}/features` API. 73 func (c Client) RetrieveFeatures(id string, params *stripe.TreasuryFinancialAccountRetrieveFeaturesParams) (*stripe.TreasuryFinancialAccountFeatures, error) { 74 path := stripe.FormatURLPath( 75 "/v1/treasury/financial_accounts/%s/features", 76 id, 77 ) 78 financialaccountfeatures := &stripe.TreasuryFinancialAccountFeatures{} 79 err := c.B.Call(http.MethodGet, path, c.Key, params, financialaccountfeatures) 80 return financialaccountfeatures, err 81 } 82 83 // UpdateFeatures is the method for the `POST /v1/treasury/financial_accounts/{financial_account}/features` API. 84 func UpdateFeatures(id string, params *stripe.TreasuryFinancialAccountUpdateFeaturesParams) (*stripe.TreasuryFinancialAccountFeatures, error) { 85 return getC().UpdateFeatures(id, params) 86 } 87 88 // UpdateFeatures is the method for the `POST /v1/treasury/financial_accounts/{financial_account}/features` API. 89 func (c Client) UpdateFeatures(id string, params *stripe.TreasuryFinancialAccountUpdateFeaturesParams) (*stripe.TreasuryFinancialAccountFeatures, error) { 90 path := stripe.FormatURLPath( 91 "/v1/treasury/financial_accounts/%s/features", 92 id, 93 ) 94 financialaccountfeatures := &stripe.TreasuryFinancialAccountFeatures{} 95 err := c.B.Call( 96 http.MethodPost, 97 path, 98 c.Key, 99 params, 100 financialaccountfeatures, 101 ) 102 return financialaccountfeatures, err 103 } 104 105 // List returns a list of treasury financial accounts. 106 func List(params *stripe.TreasuryFinancialAccountListParams) *Iter { 107 return getC().List(params) 108 } 109 110 // List returns a list of treasury financial accounts. 111 func (c Client) List(listParams *stripe.TreasuryFinancialAccountListParams) *Iter { 112 return &Iter{ 113 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 114 list := &stripe.TreasuryFinancialAccountList{} 115 err := c.B.CallRaw(http.MethodGet, "/v1/treasury/financial_accounts", c.Key, b, p, list) 116 117 ret := make([]interface{}, len(list.Data)) 118 for i, v := range list.Data { 119 ret[i] = v 120 } 121 122 return ret, list, err 123 }), 124 } 125 } 126 127 // Iter is an iterator for treasury financial accounts. 128 type Iter struct { 129 *stripe.Iter 130 } 131 132 // TreasuryFinancialAccount returns the treasury financial account which the iterator is currently pointing to. 133 func (i *Iter) TreasuryFinancialAccount() *stripe.TreasuryFinancialAccount { 134 return i.Current().(*stripe.TreasuryFinancialAccount) 135 } 136 137 // TreasuryFinancialAccountList returns the current list object which the iterator is 138 // currently using. List objects will change as new API calls are made to 139 // continue pagination. 140 func (i *Iter) TreasuryFinancialAccountList() *stripe.TreasuryFinancialAccountList { 141 return i.List().(*stripe.TreasuryFinancialAccountList) 142 } 143 144 func getC() Client { 145 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 146 }