He doesn't have the authority to do so under Article II of the United States Constitution. This would fall under the Judicial Branch of the Federal Government, and not the Executive or Legislative branches. Though the Legislative Branch would have a better case than would the Executive Branch. This is quite frankly a Judicial issue, and the President doesn't have the authority to demand money from a private corporation.
He can demand anything he wants. The constitution does not take that power away from him.
But it WOULD be unconstitutional to demand this money under threat of law.
BP had the right to refuse, they didn't...
So there was nothing unconstitutional about this.