Smart contracts can only enforce things which happen on the chain.
No smart contract can prove you were not actually delivered your goods without trusting someone else.
Yes, it's called an oracle on the blockchain.
Yes, it's called an oracle on the blockchain.