func (c Client) List(params *pingpp.ChargeListParams) *Iter { type chargeList struct { pingpp.ListMeta Values []*pingpp.Charge `json:"data"` } var body *url.Values var lp *pingpp.ListParams if params != nil { body = &url.Values{} if params.Created > 0 { body.Add("created", strconv.FormatInt(params.Created, 10)) } params.AppendTo(body) lp = ¶ms.ListParams } return &Iter{pingpp.GetIter(lp, body, func(b url.Values) ([]interface{}, pingpp.ListMeta, error) { list := &chargeList{} err := c.B.Call("GET", "/charges", c.Key, &b, nil, list) ret := make([]interface{}, len(list.Values)) for i, v := range list.Values { ret[i] = v } return ret, list.ListMeta, err })} }
func (c Client) List(chid string, params *pingpp.RefundListParams) *Iter { body := &url.Values{} var lp *pingpp.ListParams params.AppendTo(body) lp = ¶ms.ListParams return &Iter{pingpp.GetIter(lp, body, func(b url.Values) ([]interface{}, pingpp.ListMeta, error) { list := &pingpp.RefundList{} err := c.B.Call("GET", fmt.Sprintf("/charges/%v/refunds", chid), c.Key, &b, nil, list) ret := make([]interface{}, len(list.Values)) for i, v := range list.Values { ret[i] = v } return ret, list.ListMeta, err })} }