Send and Received BITCOIN I have been working on Ethereum for years. Now assigned to work on Bitcoin. The way that BTC handle transaction is vastly different and utterly complicated.
After reading for quite sometime. Can I assume that for a simple website to receive and send bitcoin, I only need to handle the scenarios below:

Coin only. No colors, no assets.

Receive coin using P2PK and / or P2PKH only?

For sending I can always stay with P2PK or P2PKH is that correct?


Are the above sufficient for me to handle coins sent to my website and subsequently transfer to another account?
Coin only. No colors, no assets.


Yes, the bitcoin baselayer facilitates payments. You will find however, that Bitcoin on-chain payments are not cost efficient for micropayments as fees would eat large portions of the received funds.


Receive coin using P2PK and / or P2PKH only?


There is no address standard for P2PK, so receiving to P2PK is not trivial at all. You could use P2PKH, but it is more than twice as expensive as more modern address formats. I would suggest to go with P2WPKH instead.


For sending I can always stay with P2PK or P2PKH is that correct?


Yes, inputs must satisfy the locking script the output used which is defined by the address the receiver chose. If you receive funds to a P2PKH address, you have to spend them as a P2PKH input. I'd say receiving is easier, since it only requires deriving a new private key and the corresponding address, then polling whether the address got paid. Sending on the other hand requires you to estimate an appropriate feerate, select inputs to fund the transaction,  support a number of different output formats for compatibility, produce the correct signatures, build the transaction, and submit the transaction to the network.
You don't have to reinvent the wheel. There are libraries that will solve most of these issues out of the box, or you can set yourself up with a BTCPayServer which solves all of the above and enables you to send and receive Lightning Network payments.