ERC1155 Gasless Transaction (Transfer Token)

I want to transfer an NFT that is in the Polygon blockchain in this case is an ERC1155 token, but I want to be the one to pay for the gas fee and not the user that is connecting his walled to my dapp. I can get the user’s wallet address and I also know the token contract address and ID. But how can I achieve this transfer to his wallet address without him paying gas fee and only signing the contract? Can this be done with Moralis or is this only possible by writing some function in the smart contract with Solidity? Thanks in advance