github.com/stripe/stripe-go/v76@v76.25.0/customercashbalancetransaction/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package customercashbalancetransaction provides the /customers/{customer}/cash_balance_transactions APIs 8 package customercashbalancetransaction 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 /customers/{customer}/cash_balance_transactions APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // Get returns the details of a customer cash balance transaction. 24 func Get(id string, params *stripe.CustomerCashBalanceTransactionParams) (*stripe.CustomerCashBalanceTransaction, error) { 25 return getC().Get(id, params) 26 } 27 28 // Get returns the details of a customer cash balance transaction. 29 func (c Client) Get(id string, params *stripe.CustomerCashBalanceTransactionParams) (*stripe.CustomerCashBalanceTransaction, error) { 30 path := stripe.FormatURLPath( 31 "/v1/customers/%s/cash_balance_transactions/%s", 32 stripe.StringValue(params.Customer), 33 id, 34 ) 35 customercashbalancetransaction := &stripe.CustomerCashBalanceTransaction{} 36 err := c.B.Call( 37 http.MethodGet, 38 path, 39 c.Key, 40 params, 41 customercashbalancetransaction, 42 ) 43 return customercashbalancetransaction, err 44 } 45 46 // List returns a list of customer cash balance transactions. 47 func List(params *stripe.CustomerCashBalanceTransactionListParams) *Iter { 48 return getC().List(params) 49 } 50 51 // List returns a list of customer cash balance transactions. 52 func (c Client) List(listParams *stripe.CustomerCashBalanceTransactionListParams) *Iter { 53 path := stripe.FormatURLPath( 54 "/v1/customers/%s/cash_balance_transactions", 55 stripe.StringValue(listParams.Customer), 56 ) 57 return &Iter{ 58 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 59 list := &stripe.CustomerCashBalanceTransactionList{} 60 err := c.B.CallRaw(http.MethodGet, path, c.Key, b, p, list) 61 62 ret := make([]interface{}, len(list.Data)) 63 for i, v := range list.Data { 64 ret[i] = v 65 } 66 67 return ret, list, err 68 }), 69 } 70 } 71 72 // Iter is an iterator for customer cash balance transactions. 73 type Iter struct { 74 *stripe.Iter 75 } 76 77 // CustomerCashBalanceTransaction returns the customer cash balance transaction which the iterator is currently pointing to. 78 func (i *Iter) CustomerCashBalanceTransaction() *stripe.CustomerCashBalanceTransaction { 79 return i.Current().(*stripe.CustomerCashBalanceTransaction) 80 } 81 82 // CustomerCashBalanceTransactionList returns the current list object which the iterator is 83 // currently using. List objects will change as new API calls are made to 84 // continue pagination. 85 func (i *Iter) CustomerCashBalanceTransactionList() *stripe.CustomerCashBalanceTransactionList { 86 return i.List().(*stripe.CustomerCashBalanceTransactionList) 87 } 88 89 func getC() Client { 90 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 91 }