github.com/stripe/stripe-go/v76@v76.25.0/loginlink/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package loginlink provides the /accounts/{account}/login_links APIs 8 package loginlink 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 /accounts/{account}/login_links APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // New creates a new login link. 24 func New(params *stripe.LoginLinkParams) (*stripe.LoginLink, error) { 25 return getC().New(params) 26 } 27 28 // New creates a new login link. 29 func (c Client) New(params *stripe.LoginLinkParams) (*stripe.LoginLink, error) { 30 if params.Account == nil { 31 return nil, fmt.Errorf("Invalid login link params: Account must be set") 32 } 33 path := stripe.FormatURLPath( 34 "/v1/accounts/%s/login_links", 35 stripe.StringValue(params.Account), 36 ) 37 loginlink := &stripe.LoginLink{} 38 err := c.B.Call(http.MethodPost, path, c.Key, params, loginlink) 39 return loginlink, err 40 } 41 42 func getC() Client { 43 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 44 }