Apple is deliberately blocking purchase requests coming from macOS on older versions of iTunes.
I confirmed this by spoofing the User-Agent of iTunes 12.6.5 on macOS to that of the same version running on Windows 7. Result: Music, apps, etc. can be downloaded once again.
When iTunes wants to download content from Apple's servers it makes a request to
"
https://p14-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct"
If authorized, the server will reply with a list of files for iTunes to download (named "songList").
However, for macOS, the server says the download is authorized but providing an empty "songList".
This results in the download finishing immediately, as there is nothing to download. However, no error is displayed as it technically succeeded (in downloading nothing).
Empty "songList" on macOS (left), regular "songList" on Windows (right)
Here's what happens if we spoof our User-Agent to
"iTunes/12.6.5 (Windows; Microsoft Windows 7 x64 Ultimate Edition Service Pack 1 (Build 7601); x64) AppleWebKit/7605.1033.1002.2":
View attachment 1694411
If you wanna try this yourself, get Charles Proxy and enable SSL decryption.
You need to add the SSL certificate to the System keychain and set it as Trusted.
iTunes does SSL pinning on certain domains, so you'll need to disable decryption on those.
Proxy -> SSL Proxying Settings
Make sure it looks like this:
Now save this as an XML file:
https://pastebin.com/GgkMPfGr
Then go to Tools -> Rewrite and click on Import.
That's it.