func (c Client) Update(id string, params *stripe.CardParams) (*stripe.Card, error) { body := &url.Values{} params.AppendDetails(body, false) params.AppendTo(body) card := &stripe.Card{} var err error if len(params.Customer) > 0 { err = c.B.Call("POST", fmt.Sprintf("/customers/%v/cards/%v", params.Customer, id), c.Key, body, ¶ms.Params, card) } else if len(params.Recipient) > 0 { err = c.B.Call("POST", fmt.Sprintf("/recipients/%v/cards/%v", params.Recipient, id), c.Key, body, ¶ms.Params, card) } else { err = errors.New("Invalid card params: either customer or recipient need to be set") } return card, err }