I have an application (www.arbol.app) where certain individuals who are new to crypto (and not necessarily technology experts) need to call various payable functions in my smart contract.
The way people would use my application is 1. they would create a coinbase.com account 2. deposit fiat 3. purchase Ether, 4. transfer said Ether to an address saved in their Metamask, and 5. call my smart contract's payable functions while sending ether.
I would like to cut Metamask out of this process as it is prohibitively complicated for the demographic we are targeting (regular people). Is it possible to do this by using the Coinbase API's "send ether" function on behalf of the user targeting our smart contract, and simultaneously executing some web3 code that specifies which specific payable function we want? I know next to nothing about how Metamask works under the hood, so anything is appreciated.