github.com/stripe/stripe-go/v76@v76.25.0/financialconnections/account/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package account provides the /financial_connections/accounts APIs 8 package account 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 /financial_connections/accounts APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // GetByID returns the details of a financial connections account. 24 func GetByID(id string, params *stripe.FinancialConnectionsAccountParams) (*stripe.FinancialConnectionsAccount, error) { 25 return getC().GetByID(id, params) 26 } 27 28 // GetByID returns the details of a financial connections account. 29 func (c Client) GetByID(id string, params *stripe.FinancialConnectionsAccountParams) (*stripe.FinancialConnectionsAccount, error) { 30 path := stripe.FormatURLPath("/v1/financial_connections/accounts/%s", id) 31 account := &stripe.FinancialConnectionsAccount{} 32 err := c.B.Call(http.MethodGet, path, c.Key, params, account) 33 return account, err 34 } 35 36 // Disconnect is the method for the `POST /v1/financial_connections/accounts/{account}/disconnect` API. 37 func Disconnect(id string, params *stripe.FinancialConnectionsAccountDisconnectParams) (*stripe.FinancialConnectionsAccount, error) { 38 return getC().Disconnect(id, params) 39 } 40 41 // Disconnect is the method for the `POST /v1/financial_connections/accounts/{account}/disconnect` API. 42 func (c Client) Disconnect(id string, params *stripe.FinancialConnectionsAccountDisconnectParams) (*stripe.FinancialConnectionsAccount, error) { 43 path := stripe.FormatURLPath( 44 "/v1/financial_connections/accounts/%s/disconnect", 45 id, 46 ) 47 account := &stripe.FinancialConnectionsAccount{} 48 err := c.B.Call(http.MethodPost, path, c.Key, params, account) 49 return account, err 50 } 51 52 // Refresh is the method for the `POST /v1/financial_connections/accounts/{account}/refresh` API. 53 func Refresh(id string, params *stripe.FinancialConnectionsAccountRefreshParams) (*stripe.FinancialConnectionsAccount, error) { 54 return getC().Refresh(id, params) 55 } 56 57 // Refresh is the method for the `POST /v1/financial_connections/accounts/{account}/refresh` API. 58 func (c Client) Refresh(id string, params *stripe.FinancialConnectionsAccountRefreshParams) (*stripe.FinancialConnectionsAccount, error) { 59 path := stripe.FormatURLPath( 60 "/v1/financial_connections/accounts/%s/refresh", 61 id, 62 ) 63 account := &stripe.FinancialConnectionsAccount{} 64 err := c.B.Call(http.MethodPost, path, c.Key, params, account) 65 return account, err 66 } 67 68 // Subscribe is the method for the `POST /v1/financial_connections/accounts/{account}/subscribe` API. 69 func Subscribe(id string, params *stripe.FinancialConnectionsAccountSubscribeParams) (*stripe.FinancialConnectionsAccount, error) { 70 return getC().Subscribe(id, params) 71 } 72 73 // Subscribe is the method for the `POST /v1/financial_connections/accounts/{account}/subscribe` API. 74 func (c Client) Subscribe(id string, params *stripe.FinancialConnectionsAccountSubscribeParams) (*stripe.FinancialConnectionsAccount, error) { 75 path := stripe.FormatURLPath( 76 "/v1/financial_connections/accounts/%s/subscribe", 77 id, 78 ) 79 account := &stripe.FinancialConnectionsAccount{} 80 err := c.B.Call(http.MethodPost, path, c.Key, params, account) 81 return account, err 82 } 83 84 // Unsubscribe is the method for the `POST /v1/financial_connections/accounts/{account}/unsubscribe` API. 85 func Unsubscribe(id string, params *stripe.FinancialConnectionsAccountUnsubscribeParams) (*stripe.FinancialConnectionsAccount, error) { 86 return getC().Unsubscribe(id, params) 87 } 88 89 // Unsubscribe is the method for the `POST /v1/financial_connections/accounts/{account}/unsubscribe` API. 90 func (c Client) Unsubscribe(id string, params *stripe.FinancialConnectionsAccountUnsubscribeParams) (*stripe.FinancialConnectionsAccount, error) { 91 path := stripe.FormatURLPath( 92 "/v1/financial_connections/accounts/%s/unsubscribe", 93 id, 94 ) 95 account := &stripe.FinancialConnectionsAccount{} 96 err := c.B.Call(http.MethodPost, path, c.Key, params, account) 97 return account, err 98 } 99 100 // List returns a list of financial connections accounts. 101 func List(params *stripe.FinancialConnectionsAccountListParams) *Iter { 102 return getC().List(params) 103 } 104 105 // List returns a list of financial connections accounts. 106 func (c Client) List(listParams *stripe.FinancialConnectionsAccountListParams) *Iter { 107 return &Iter{ 108 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 109 list := &stripe.FinancialConnectionsAccountList{} 110 err := c.B.CallRaw(http.MethodGet, "/v1/financial_connections/accounts", c.Key, b, p, list) 111 112 ret := make([]interface{}, len(list.Data)) 113 for i, v := range list.Data { 114 ret[i] = v 115 } 116 117 return ret, list, err 118 }), 119 } 120 } 121 122 // Iter is an iterator for financial connections accounts. 123 type Iter struct { 124 *stripe.Iter 125 } 126 127 // FinancialConnectionsAccount returns the financial connections account which the iterator is currently pointing to. 128 func (i *Iter) FinancialConnectionsAccount() *stripe.FinancialConnectionsAccount { 129 return i.Current().(*stripe.FinancialConnectionsAccount) 130 } 131 132 // FinancialConnectionsAccountList returns the current list object which the iterator is 133 // currently using. List objects will change as new API calls are made to 134 // continue pagination. 135 func (i *Iter) FinancialConnectionsAccountList() *stripe.FinancialConnectionsAccountList { 136 return i.List().(*stripe.FinancialConnectionsAccountList) 137 } 138 139 // ListOwners is the method for the `GET /v1/financial_connections/accounts/{account}/owners` API. 140 func ListOwners(params *stripe.FinancialConnectionsAccountListOwnersParams) *OwnerIter { 141 return getC().ListOwners(params) 142 } 143 144 // ListOwners is the method for the `GET /v1/financial_connections/accounts/{account}/owners` API. 145 func (c Client) ListOwners(listParams *stripe.FinancialConnectionsAccountListOwnersParams) *OwnerIter { 146 path := stripe.FormatURLPath( 147 "/v1/financial_connections/accounts/%s/owners", 148 stripe.StringValue(listParams.Account), 149 ) 150 return &OwnerIter{ 151 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 152 list := &stripe.FinancialConnectionsAccountOwnerList{} 153 err := c.B.CallRaw(http.MethodGet, path, c.Key, b, p, list) 154 155 ret := make([]interface{}, len(list.Data)) 156 for i, v := range list.Data { 157 ret[i] = v 158 } 159 160 return ret, list, err 161 }), 162 } 163 } 164 165 // OwnerIter is an iterator for financial connections account owners. 166 type OwnerIter struct { 167 *stripe.Iter 168 } 169 170 // FinancialConnectionsAccountOwner returns the financial connections account owner which the iterator is currently pointing to. 171 func (i *OwnerIter) FinancialConnectionsAccountOwner() *stripe.FinancialConnectionsAccountOwner { 172 return i.Current().(*stripe.FinancialConnectionsAccountOwner) 173 } 174 175 // FinancialConnectionsAccountOwnerList returns the current list object which the iterator is 176 // currently using. List objects will change as new API calls are made to 177 // continue pagination. 178 func (i *OwnerIter) FinancialConnectionsAccountOwnerList() *stripe.FinancialConnectionsAccountOwnerList { 179 return i.List().(*stripe.FinancialConnectionsAccountOwnerList) 180 } 181 182 func getC() Client { 183 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 184 }