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  }