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