Oil company BP to pay for Gulf of Mexico spill