user131622: 
I am building a platform (in node js) that users are going to pay for items using bitcoin. Some of the items has low prices (perhaps, even lower than the BTC fee).

The problem is: if I make an address for every user, the user buy low priced items and, once I want to retrieve the money, the UTXO be close to fee price, it won't be worth for me.

So, I'd like to know if it is possible to make a transaction from multiple addresses to a main address, paying just one transaction fee. If it is possible, how? 

user100690: 
So, I'd like to know if it is possible to make a transaction from multiple addresses to a main address, paying just one transaction fee. If it is possible, how?

Yes, it's totally possible to make transactions from multiple addresses even if these addresses aren't owned by the same person (entity). There is nothing in bitcoin that discourages this practice and from the standpoint of raising the privacy of the whole ecosystem, it's even highly appreciated.
The biggest issue for you would be the coordination of this transaction, it can make or break the feature. As all members of this transaction need to sign under it. You can check existing protocols (coinjoin) implementations like:

samourai wallet
wasabi wallet
joinmarket
btcpay server (P2E)

to get some inspiration for your case.
And I double the suggestion, for micropayments, it's better to use a lightning network. Adding inputs/outputs to the transaction raises the transaction weight, resulting in higher fees anyway.

131622: <br>
I am building a platform (in node js) that users are going to pay for items using bitcoin. Some of the items has low prices (perhaps, even lower than the BTC fee).
<br><br>
The problem is: if I make an address for every user, the user buy low priced items and, once I want to retrieve the money, the UTXO be close to fee price, it won't be worth for me.
<br><br>
So, I'd like to know if it is possible to make a transaction from multiple addresses to a main address, paying just one transaction fee. If it is possible, how? 
 100690: <blockquote>
<p>So, I'd like to know if it is possible to make a transaction from multiple addresses to a main address, paying just one transaction fee. If it is possible, how?</p>
</blockquote>
<p>Yes, it's totally possible to make transactions from multiple addresses even if these addresses aren't owned by the same person (entity). There is nothing in bitcoin that discourages this practice and from the standpoint of raising the privacy of the whole ecosystem, it's even highly appreciated.</p>
<p>The biggest issue for you would be the coordination of this transaction, it can make or break the feature. As all members of this transaction need to sign under it. You can check existing protocols (coinjoin) implementations like:</p>
<ul>
<li><a href="https://github.com/Samourai-Wallet/Whirlpool" rel="nofollow noreferrer">samourai wallet</a></li>
<li><a href="https://github.com/zkSNACKs/WalletWasabi" rel="nofollow noreferrer">wasabi wallet</a></li>
<li><a href="https://github.com/JoinMarket-Org/joinmarket-clientserver" rel="nofollow noreferrer">joinmarket</a></li>
<li><a href="https://docs.btcpayserver.org/Payjoin/" rel="nofollow noreferrer">btcpay server (P2E)</a></li>
</ul>
<p>to get some inspiration for your case.</p>
<p>And I double the suggestion, for micropayments, it's better to use a lightning network. Adding inputs/outputs to the transaction raises the transaction weight, resulting in higher fees anyway.</p>
