An ISP might link with another ISP so they save money because they transmit between datagrams instead of sending them first to the upper ISPs. As a result they don't have to pay to the upper ISPs for these data transferences.
IXP earn money from the lower level ISPs such as Regional ISPs and access ISPs,cause they pay for the IXP services.