github.com/stripe/stripe-go/v76@v76.25.0/paymentmethodconfiguration/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package paymentmethodconfiguration provides the /payment_method_configurations APIs 8 package paymentmethodconfiguration 9 10 import ( 11 "net/http" 12 13 stripe "github.com/stripe/stripe-go/v76" 14 "github.com/stripe/stripe-go/v76/form" 15 ) 16 17 // Client is used to invoke /payment_method_configurations APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // New creates a new payment method configuration. 24 func New(params *stripe.PaymentMethodConfigurationParams) (*stripe.PaymentMethodConfiguration, error) { 25 return getC().New(params) 26 } 27 28 // New creates a new payment method configuration. 29 func (c Client) New(params *stripe.PaymentMethodConfigurationParams) (*stripe.PaymentMethodConfiguration, error) { 30 paymentmethodconfiguration := &stripe.PaymentMethodConfiguration{} 31 err := c.B.Call( 32 http.MethodPost, 33 "/v1/payment_method_configurations", 34 c.Key, 35 params, 36 paymentmethodconfiguration, 37 ) 38 return paymentmethodconfiguration, err 39 } 40 41 // Get returns the details of a payment method configuration. 42 func Get(id string, params *stripe.PaymentMethodConfigurationParams) (*stripe.PaymentMethodConfiguration, error) { 43 return getC().Get(id, params) 44 } 45 46 // Get returns the details of a payment method configuration. 47 func (c Client) Get(id string, params *stripe.PaymentMethodConfigurationParams) (*stripe.PaymentMethodConfiguration, error) { 48 path := stripe.FormatURLPath("/v1/payment_method_configurations/%s", id) 49 paymentmethodconfiguration := &stripe.PaymentMethodConfiguration{} 50 err := c.B.Call( 51 http.MethodGet, 52 path, 53 c.Key, 54 params, 55 paymentmethodconfiguration, 56 ) 57 return paymentmethodconfiguration, err 58 } 59 60 // Update updates a payment method configuration's properties. 61 func Update(id string, params *stripe.PaymentMethodConfigurationParams) (*stripe.PaymentMethodConfiguration, error) { 62 return getC().Update(id, params) 63 } 64 65 // Update updates a payment method configuration's properties. 66 func (c Client) Update(id string, params *stripe.PaymentMethodConfigurationParams) (*stripe.PaymentMethodConfiguration, error) { 67 path := stripe.FormatURLPath("/v1/payment_method_configurations/%s", id) 68 paymentmethodconfiguration := &stripe.PaymentMethodConfiguration{} 69 err := c.B.Call( 70 http.MethodPost, 71 path, 72 c.Key, 73 params, 74 paymentmethodconfiguration, 75 ) 76 return paymentmethodconfiguration, err 77 } 78 79 // List returns a list of payment method configurations. 80 func List(params *stripe.PaymentMethodConfigurationListParams) *Iter { 81 return getC().List(params) 82 } 83 84 // List returns a list of payment method configurations. 85 func (c Client) List(listParams *stripe.PaymentMethodConfigurationListParams) *Iter { 86 return &Iter{ 87 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 88 list := &stripe.PaymentMethodConfigurationList{} 89 err := c.B.CallRaw(http.MethodGet, "/v1/payment_method_configurations", c.Key, b, p, list) 90 91 ret := make([]interface{}, len(list.Data)) 92 for i, v := range list.Data { 93 ret[i] = v 94 } 95 96 return ret, list, err 97 }), 98 } 99 } 100 101 // Iter is an iterator for payment method configurations. 102 type Iter struct { 103 *stripe.Iter 104 } 105 106 // PaymentMethodConfiguration returns the payment method configuration which the iterator is currently pointing to. 107 func (i *Iter) PaymentMethodConfiguration() *stripe.PaymentMethodConfiguration { 108 return i.Current().(*stripe.PaymentMethodConfiguration) 109 } 110 111 // PaymentMethodConfigurationList returns the current list object which the iterator is 112 // currently using. List objects will change as new API calls are made to 113 // continue pagination. 114 func (i *Iter) PaymentMethodConfigurationList() *stripe.PaymentMethodConfigurationList { 115 return i.List().(*stripe.PaymentMethodConfigurationList) 116 } 117 118 func getC() Client { 119 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 120 }