github.com/stripe/stripe-go/v76@v76.25.0/cashbalance/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package cashbalance provides the /customers/{customer}/cash_balance APIs 8 package cashbalance 9 10 import ( 11 "fmt" 12 "net/http" 13 14 stripe "github.com/stripe/stripe-go/v76" 15 ) 16 17 // Client is used to invoke /customers/{customer}/cash_balance APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // Get returns the details of a cash balance. 24 func Get(params *stripe.CashBalanceParams) (*stripe.CashBalance, error) { 25 return getC().Get(params) 26 } 27 28 // Get returns the details of a cash balance. 29 func (c Client) Get(params *stripe.CashBalanceParams) (*stripe.CashBalance, error) { 30 if params == nil || params.Customer == nil { 31 return nil, fmt.Errorf( 32 "params cannot be nil, and params.Customer must be set", 33 ) 34 } 35 path := stripe.FormatURLPath( 36 "/v1/customers/%s/cash_balance", 37 stripe.StringValue(params.Customer), 38 ) 39 cashbalance := &stripe.CashBalance{} 40 err := c.B.Call(http.MethodGet, path, c.Key, params, cashbalance) 41 return cashbalance, err 42 } 43 44 // Update updates a cash balance's properties. 45 func Update(params *stripe.CashBalanceParams) (*stripe.CashBalance, error) { 46 return getC().Update(params) 47 } 48 49 // Update updates a cash balance's properties. 50 func (c Client) Update(params *stripe.CashBalanceParams) (*stripe.CashBalance, error) { 51 if params == nil || params.Customer == nil { 52 return nil, fmt.Errorf( 53 "params cannot be nil, and params.Customer must be set", 54 ) 55 } 56 path := stripe.FormatURLPath( 57 "/v1/customers/%s/cash_balance", 58 stripe.StringValue(params.Customer), 59 ) 60 cashbalance := &stripe.CashBalance{} 61 err := c.B.Call(http.MethodPost, path, c.Key, params, cashbalance) 62 return cashbalance, err 63 } 64 65 func getC() Client { 66 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 67 }