The main reason Amazon as a corporate entity does not pay much in taxes is because the company so vigorously reinvests its profit. The resulting expensing provisions lower their tax liabilities, in some cases down to zero or near-zero. That is in fact the kind of incentive our tax system is supposed to create, and does so only imperfectly, noting that many economists have suggested moving to full expensing.
(NB: You can’t hate both share buybacks and profit reinvestment!)
Amazon pays plenty in terms of payroll taxes and also state and local taxes. Nor should you forget the taxes paid by Amazon’s employees on their wages. Not only is that direct revenue to various levels of government, but the incidence of those taxes falls somewhat on Amazon, which now must pay higher wages to offset the tax burden faced by their employees. Not everyone wants to live in NYC or Queens! (Do you agree with Paul Krugman’s charge that the Trump tax cuts are mainly a giveaway to capital? If so, you probably also should believe that the wage taxes paid by Amazon employees fall largely on capital.)
There is no $3 billion that NYC gets to keep if Amazon does not show up. That “money” was a pledged reduction in Amazon’s future tax burden at the state and local level.