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 }