Ibn Al-Jawzi reports that some people stated that
was abrogated by
And others, such as Umar ibn Abd-il-Azeez and Irak ibn Maalik opined that it was abrogated by
Here is what he wrote about that,
ذكر الآية الرابعة: قوله تعالى "والذين يكنزون الذهب والفضة ولا ينفقونها في سبيل الله". اختلف في هذه الآية على ثلاثة أقوال:
الأول أنها عامة في أهل الكتاب والمسلمين قاله أبو ذر والضحاك.
والثاني أنها خاصة في أهل الكتاب قاله معاوية بن أبي سفيان.
والثالث أنها في المسلمين قاله ابن عباس والسدي.
وفي المراد بالإنفاق ها هنا قولان:
الأول إخراج الزكاة وهذا مذهب الجمهور والآية على هذا محكمة. أخبرنا عبد الأول بن عيسى قال أبنا محمد بن عبد العزيز الفارسي قال أبنا عبد الرحمن بن أبي جريج قال أبنا عبد الله بن محمد البغوي قال بنا العلاء بن موسى الباهلي قال أبنا الليث بن سعد عن نافع أن عبد الله بن عمر قال ما كان من مال تؤدي زكاته فإنه الكنز الذي ذكره الله عز وجل في كتابه.
والثاني أن المراد بالإنفاق إخراج ما فضل عن الحاجة وقد زعم بعض نقلة التفسير أنه كان يجب عليهم إخراج ذلك في أول الإسلام ثم نسخ بالزكاة وفي هذا القول بعد. وقد أخبرنا المبارك بن علي قال أبنا أحمد بن الحسين بن قريش قال أبنا إبراهيم بن عمر البرمكي قال أبنا محمد بن إسماعيل بن العباس قال أبنا أبو بكر بن أبي داود قال بنا عبد الله بن سعيد قال أبنا أبو أسامة عن عمر بن راشد أو غيره أن عمر بن عبد العزيز وعراك بن مالك قالا في هذه الآية "والذين يكنزون الذهب والفضة" نسختها الآية الأخرى "خذ من أموالهم صدقة".
اهـ
Ibn Al-Jawzi says that the majority opinion is that the spending referred to in 9:34 is the required alms (Zakah) and hence no abrogation.
IMHO, 9:34 talks about different things than 9:60 and 9:103. Verse 9:34 warns hoarders of money, while 9:60 states to whom charity is to be given and 9:103 authorizes the Prophet, peace be upon him, to collect the Zakah. There is no conflict to resolve between the three verses; they talk about different issues.