You can transfer tez to an account, or to a function of another smart contract. For this, use :
Tezos.transaction (<parameter>, <mutez>, <contract>);
- parameter is the entrypoint of another contract, or use unit if you are transferring to a wallet address,
- mutez is the amount to transfer,
- contract is the contract interface of the targeted contract. It can be retrieved from address of the other contract or the wallet.
1- Transfer the purchase_price to the vendor_contract