After meetings with Turkish President Recep Tayyip Erdogan and Prime Minister Ahmet Davutoglu, Merkel announced in Istanbul on Sunday that Europe would offer financial support to help deal with the roughly 2.5 million refugees in the country.
Turkey – which is asking for €3 billion, three times Europe's highest offer so far - had had little support so far from the rest of the world despite the large burden the country is carrying, the Chancellor said.
Left-wing opponents of the deal said that Merkel was irresponsibly helping religious conservative Erdogan improve his image at home with just two weeks to go before elections to the parliament in Ankara.
"[Erdogan's] bloodhounds beat up journalists and set the offices of opposition parties on fire," Green party leader Cem Özdemir told ARD public television.
The Chancellor ought to have insisted to Erdogan that "Turkey needs democracy, freedom of opinion, it must finally accept and guarantee its religious diversity, for Christians in Turkey too," he added.
And voices to Merkel's right worried that the Chancellor was offering too much to Turkey.
"We can't make too many concessions to Turkey,” Gerda Hasselfeldt, leader of the Bavarian Christian Social Union (CSU) group in the Bundestag (German parliament), told Die Welt on Sunday.
"EU accession is not on the agenda. There are serious shortcomings in fundamental human rights, especially freedom of opinion and of the press."
But Interior Minister Thomas de Maizière – who has been one of the main advocates for a tougher line on the refugee crisis within Merkel's ranks – said that she had been right to strike the deal.
"Even if the conditions in foreign policy and in Turkish internal policy are extremely difficult, there is no way to do this without working together with Turkey," de Maizière told Bild on Monday.
He added that working with Erdogan was the only way to slow the flow of people arriving in Europe and improve conditions for refugees fleeing conflict in Syria and elsewhere in the Middle East.