Trump's tweet was misleading because no nation actually “owes” money to NATO; its direct funding is calculated through a formula and paid by each of the 28 nations that are members.

Trump was likely suggesting that Germany, like most NATO countries, falls short of the guideline that each member should allocate 2 percent of its gross domestic product to military spending, but that money is not intended to be paid to NATO or to the United States.

The US decides for itself how much it contributes to NATO.  It's not a financial transaction, where NATO countries pay the US to defend them.  It's part of a treaty commitment.