In order to alleviate network congestion effectively and find a proper balance point between QoS guarantee and fairness among different types of traffic, a price-based hop-by-hop congestion control scheme was proposed. In this scheme, the constraints in MAC (medium access control) time and binary interference model are considered, and the transmission failure ratio, as one of the criteria of network congestion control, is introduced into a congestion price function. To each node along a flow path, the transmission rate of each flow is adjusted dynamically in light of the received congestion price. The optimization goal is to obtain proportional fairness for the utility sum of each flow. Additionally, in order to guarantee the QoS requirement and fairness of each flow, the intra-node flow scheduling scheme is taken into account, and the priority of each flow within a node is adjusted dynamically based on the waiting time function. The simulation results show that the proposed scheme can alleviate congestion effectively. Compared with the scheme without congestion control, the proposed scheme can increase the system total throughput by 41% and the fairness by 29%. Furthermore, the performances such as average delay, average packet loss ratio and average throughput are improved significantly.