github.com/stripe/stripe-go/v76@v76.25.0/issuing/transaction/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package transaction provides the /issuing/transactions APIs 8 package transaction 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 /issuing/transactions APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // Get returns the details of an issuing transaction. 24 func Get(id string, params *stripe.IssuingTransactionParams) (*stripe.IssuingTransaction, error) { 25 return getC().Get(id, params) 26 } 27 28 // Get returns the details of an issuing transaction. 29 func (c Client) Get(id string, params *stripe.IssuingTransactionParams) (*stripe.IssuingTransaction, error) { 30 path := stripe.FormatURLPath("/v1/issuing/transactions/%s", id) 31 transaction := &stripe.IssuingTransaction{} 32 err := c.B.Call(http.MethodGet, path, c.Key, params, transaction) 33 return transaction, err 34 } 35 36 // Update updates an issuing transaction's properties. 37 func Update(id string, params *stripe.IssuingTransactionParams) (*stripe.IssuingTransaction, error) { 38 return getC().Update(id, params) 39 } 40 41 // Update updates an issuing transaction's properties. 42 func (c Client) Update(id string, params *stripe.IssuingTransactionParams) (*stripe.IssuingTransaction, error) { 43 path := stripe.FormatURLPath("/v1/issuing/transactions/%s", id) 44 transaction := &stripe.IssuingTransaction{} 45 err := c.B.Call(http.MethodPost, path, c.Key, params, transaction) 46 return transaction, err 47 } 48 49 // List returns a list of issuing transactions. 50 func List(params *stripe.IssuingTransactionListParams) *Iter { 51 return getC().List(params) 52 } 53 54 // List returns a list of issuing transactions. 55 func (c Client) List(listParams *stripe.IssuingTransactionListParams) *Iter { 56 return &Iter{ 57 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 58 list := &stripe.IssuingTransactionList{} 59 err := c.B.CallRaw(http.MethodGet, "/v1/issuing/transactions", c.Key, b, p, list) 60 61 ret := make([]interface{}, len(list.Data)) 62 for i, v := range list.Data { 63 ret[i] = v 64 } 65 66 return ret, list, err 67 }), 68 } 69 } 70 71 // Iter is an iterator for issuing transactions. 72 type Iter struct { 73 *stripe.Iter 74 } 75 76 // IssuingTransaction returns the issuing transaction which the iterator is currently pointing to. 77 func (i *Iter) IssuingTransaction() *stripe.IssuingTransaction { 78 return i.Current().(*stripe.IssuingTransaction) 79 } 80 81 // IssuingTransactionList returns the current list object which the iterator is 82 // currently using. List objects will change as new API calls are made to 83 // continue pagination. 84 func (i *Iter) IssuingTransactionList() *stripe.IssuingTransactionList { 85 return i.List().(*stripe.IssuingTransactionList) 86 } 87 88 func getC() Client { 89 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 90 }