I recently tried to deploy a VM using an ARM template executed via PowerShell and I encountered the purchase eligibility failed error as seen below.
As I have encountered this before I ensured I accepted marketplace terms for the VM image in question using the PowerShell commands:
Get-AzureRmMarketplaceTerms -Publisher PublisherName -Product ProductName -Name Name | Set-AzureRmMarketplaceTerms -Accept
I then reattempted to deploy my VM using my ARM template and still got the same error, I even waited 24 hours and tried again with no luck.
I then discovered that from the Azure portal you can create a new resource using the “Template deployment” option and deploy your ARM template via the Azure portal.
After I uploaded and executed my ARM template using this method it deployed my VM successfully with no purchase eligibility errors.
Any subsequent VM deployments via PowerShell using the exact same ARM template now worked as expected with no purchase eligibility errors.