github.com/stripe/stripe-go/v76@v76.25.0/usagerecord/client.go (about)

     1  //
     2  //
     3  // File generated from our OpenAPI spec
     4  //
     5  //
     6  
     7  // Package usagerecord provides the /subscription_items/{subscription_item}/usage_records APIs
     8  package usagerecord
     9  
    10  import (
    11  	"net/http"
    12  
    13  	stripe "github.com/stripe/stripe-go/v76"
    14  )
    15  
    16  // Client is used to invoke /subscription_items/{subscription_item}/usage_records APIs.
    17  type Client struct {
    18  	B   stripe.Backend
    19  	Key string
    20  }
    21  
    22  // New creates a new usage record.
    23  func New(params *stripe.UsageRecordParams) (*stripe.UsageRecord, error) {
    24  	return getC().New(params)
    25  }
    26  
    27  // New creates a new usage record.
    28  func (c Client) New(params *stripe.UsageRecordParams) (*stripe.UsageRecord, error) {
    29  	path := stripe.FormatURLPath(
    30  		"/v1/subscription_items/%s/usage_records",
    31  		stripe.StringValue(params.SubscriptionItem),
    32  	)
    33  	usagerecord := &stripe.UsageRecord{}
    34  	err := c.B.Call(http.MethodPost, path, c.Key, params, usagerecord)
    35  	return usagerecord, err
    36  }
    37  
    38  func getC() Client {
    39  	return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key}
    40  }