How do transfer TRC20 and TRC721 from the sender to receiver

I need to make the transfer from the user token to the receiver token.

#1
// Transfer the token to the contract owner
msg.sender.transfer(VIP_TICKET_PRICE * quantity); // Do I have to make the msg.sender payable?

#2
// Transfer the token to the new owner
safeTransferFrom(msg.sender, _to, _tokenId, 1, “”); // safeTransferFrom does not exist

It depends on what you are transfering.

If you are sending trx then go with first
Check the syntax though

If you are sending TRC20 or TRC721 it should be

TRC20 coin= TRC20(coin_address);//creating instance of coin contract
coin.safeTransferFrom(…