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  }