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  }