There is a feature in bitcoin called replace-by-fee (https://en.bitcoin.it/wiki/Replace_by_fee). But that is not completely analogous to a refund because vendors will wait many blocks before accepting a transaction (to prevent finney attack).
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 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.