code: func (client *Client) Payload(command Command) (url.Values, error) {
  	params, err := prepareValues("", command)
  	if err != nil {
  		return nil, err
  	}
  	if hookReq, ok := command.(onBeforeHook); ok {
  		if err := hookReq.onBeforeSend(params); err != nil {
  			return params, err
  		}
  	}
  	params.Set("apikey", client.APIKey)
  	params.Set("command", client.APIName(command))
  	params.Set("response", "json")
  
  	if params.Get("expires") == "" && client.Expiration >= 0 {
  		params.Set("signatureversion", "3")
  		params.Set("expires", time.Now().Add(client.Expiration).Local().Format("2006-01-02T15:04:05-0700"))
  	}
  
  	return params, nil
  }
docs: // Payload builds the HTTP request params from the given command