Usually, the reasons are the lack of funds on your card or the lack of funds in case you're trying to pay in a different currency (and the currency exchange fee of your bank is making the total payment on your end just a bit too high). Contacting your bank to clear off the international transfer attempt may also be needed (especially a frequent issue for USA-based people).

Technical errors may be fixed by using incognito/private mode on your browser; disabling Adblock might also help :)

Sometimes just try to re-apply the payment attempt later.