Donald Trump said Saudi Arabia was covering the entire cost of the United States to move additional military forces to the kingdom after the Aramco attack.
Trump said the United States was obliged to pay large amounts of money to protect "many other countries, including very rich," which he considered "unfair."
Trump said he had held talks with six countries on the subject, including Saudi Arabia.
"We have transferred additional military forces to Saudi Arabia, and they are paying us billions of dollars," he said.
"You have never heard anything similar. You have never heard that we are moving military forces to another country and we are not paying anything," Trump told reporters.
"People have benefited from us, the world has benefited us, but we have good relations with Saudi Arabia. They needed help, because they were attacked. As you saw, we were sent to the country by a group of troops.
"It was that no one asked them to do it until I came to power. Neither Obama, Bush or Clinton did. But I came and asked, and now they are paying. They have given us billions of dollars and are now in banks.
"It's really happy. But it's not true that we never had a president asking for it."
On November 19, the US president confirmed in an official letter to Congress that the United States will increase the number of its troops in Saudi Arabia to 3,000 in the coming weeks, in order to "deter provocative actions of Iran."