Archbishop of Munich, Cardinal Reinhard Marx, said Germany can't "accept all the world's needy".
He urged a "reduction in the numbers of refugees" but called for more support for those forced to flee war.
Germany has opened its doors to refugees but is struggling to cope with the 1.1 million asylum seekers who arrived in 2015.
Berlin said it had no official estimate of how many people would arrive this year.
Cardinal Marx said his country should show "charity but also reason".
Meanwhile David Cameron has come under fresh pressure to allow 3,000 orphaned Syrian refugees in Europe to come to the UK.
The Prime Minister has a "moral duty" to accept the unaccompanied children, with families and councils waiting with "open arms" to welcome them, Liberal Democrat peers said.
Mr Cameron has insisted that Britain should concentrate on re-settling orphans from the camps in the region rather than those who had made the crossing to Europe.
In their letter the peers, including former Lib Dem leaders Lord Ashdown and Lord Campbell, told the Prime Minister: "We welcome the Government's latest announcement that it will give £10 million additional funding to help European efforts to handle the refugee crisis and strengthening family reunion; however, we strongly believe that the British Government must do more and take its fair share of the most vulnerable refugees.
"Many will have made the treacherous journey alone whilst others will have lost family and loved ones on the way."