code: function(args) {
      var opts = {
        auth: null,
        headers: {},
      };
      if (args.length > 0) {
        var arg = args[args.length - 1];
        if (utils.isAuthKey(arg)) {
          opts.auth = args.pop();
        } else if (utils.isOptionsHash(arg)) {
          var params = args.pop();
  
          var extraKeys = Object.keys(params).filter(function(key) {
            return OPTIONS_KEYS.indexOf(key) == -1;
          });
  
          if (extraKeys.length) {
            emitWarning('Invalid options found (' + extraKeys.join(', ') + '); ignoring.');
          }
  
          if (params.api_key) {
            opts.auth = params.api_key;
          }
          if (params.idempotency_key) {
            opts.headers['Idempotency-Key'] = params.idempotency_key;
          }
          if (params.stripe_account) {
            opts.headers['Stripe-Account'] = params.stripe_account;
          }
          if (params.stripe_version) {
            opts.headers['Stripe-Version'] = params.stripe_version;
          }
        }
      }
      return opts;
    }
docs: Return the options hash from a list of arguments