Ankara and Brussels signed a controversial deal in March, in which Turkey agreed to take Syrian migrants landing on Greek islands in exchange for political and financial incentives.
The deal included billions of euros in aid and visa-free travel for Turks in Europe, but ties have been strained by Erdogan's massive crackdown after a failed coup this month.
The president said the EU had promised $3 billion, but so far only paid a nominal $1 million to $2 million.
“The [European] governments are not honest,” Erdogan told German public television station ARD.
“Three million Syrians, or people from Iraq, are now in Turkey,” he said.
“The EU has not kept its promises on the matter.”
Erdogan estimated the refugees, many of whom have fled the devastating five-year civil war in neighbouring Syria, have cost Turkey $12 billion.
The EU made the deal with Turkey to temper a huge influx of more than a million migrants which overwhelmed the bloc last year.
Late last month, Brussels said it had opened a new negotiating chapter with Turkey on its long-stalled bid for membership of the bloc.
But that bid has been hit by Erdogan's sweeping crackdown in the wake of the failed July 15 military takeover, which has seen more than 13,000 people detained.
The president repeated his call for capital punishment for the plotters, an issue that has perturbed the EU, saying: “The people want the death penalty reinstated.”
“We as a government need to hear what the people say,” he added.
Turkey abolished the death penalty in 2004 as part of its bid to join the EU.