it's normal to pay a high fee like 31$ when you send 50$? I know its my mistake that I didn't check before I sent but this never happened before.
The sender decides the fee rate which is how many sats per vbyte you are willing to pay to get added to the blockchain. During times of high demand, you need to increase the fee to outbid other people sending bitcoin.
You can use a wallet that enables you to set precise fee rate so you don't overpay like you did. I personally recommend using Sparrow Wallet (
https://sparrowwallet.com/)
And is there a way to return it or fix these fees?
You can manually set them in Sparrow Wallet but if you're looking for a simple tool to know what fee rate you should pay, you can use the Mempool Space tool on the home page (
https://mempool.space/).
If you want to learn more about the fee rate, this page might help you:
https://www.whatisbitcoin.com/learn/what-is-the-fee-rateLet me know if you need any further help.