Motivated by applications from the gig economy and online marketplaces, we study a bipartite matching network under joint pricing and matching controls. The objective is to maximize the long-run average profit and minimize the delay for the system. In the first part of the talk, we propose a two-price policy and max-weight matching policy and show that it exhibits a η1/3 optimality rate when all the arrival rates are scaled by η. We also demonstrate the advantage of max-weight matching with respect to the number of server and customer types by proving and exploiting state space collapse. In the second part of the talk, we consider the special case of single customer and server type. The focus is on obtaining the entire distribution of the queue length in heavy traffic. A key observation is that, unlike a classical queue, the limiting distribution of a matching queue exhibits a phase transition. These results are established by generalizing the characteristic function method.