In this paper we present a new pricing scheme for IP networks, in which the payment is collected on a per-packet basis in each router on the packet path. DiffServ protocol is used to carry the users' required services level. The proposed pricing scheme is analyzed by using network simulations for four scenarios. The first illustrated that which is well known, that users pay for a certain service level and might receive a lower service level from the network or service providers, especially when the network is congested. The second is the new pricing scheme in which users pay for the actual network service level he or she gets, that is, a lower price for reduced service level during the communication session. The third enhances our scheme such that each router changes its price for each service level with relation to its own congestion for the specific output port. The last further enhances our scheme by enabling the users to limit their expenses by enforcing a money limit in the packet's header. The comparison between the different simulation results suggests that the new pricing scheme increases both service provider revenue and the user's welfare.