If you want to have a third party mediate the exchange, you can use a multi-signature transaction (https://monerodocs.org/multisignature/). For example you send the cryptocurrency to a 2-of-3 address where the mediator, the vendor, and the customer each hold a key and two of them are needed to move the funds (the mediator sides with either vendor or customer, or the vendor and customer both side against the mediator). Or you can send the cryptocurrency to a 2-of-2 address, which allows the customer to permanently withhold the funds from the vendor at the cost of withholding some funds from themself that they put down ahead of time, like an escrow that is locked in case of dispute.
If you wanted something more like that, you could pay via a smart contract that holds the funds in escrow for a while, with the arbitrator key able to refund the money to you.