I want to create a digital goods exchange. The user pays for the goods, after which the seller sends the goods by mail. The smart contract sends money to the seller, and the exchange receives a percentage for the service. Payouts are made in usdt of the tron network.
That scenario can't solely depend and rely on smart contracts, a need for an intermediary is required.
How could the smart contract know the goods have been sent and received smoothly, there is no way to achieve that. Even if you connect a smart contract to a shipping service API, it wouldn't solve the issue since there is a risk that the sender is fraudulent.
About that issue, the only thing I can suggest is try to comprehend how Bisq manage a dispute:
https://bisq.wiki/Dispute_resolution