The most commonly understood way to accept ETH is the standard one in crypto-currency: Publish an address, which can by copy-pasted, plus a QR code which can be scanned with a mobile device. See this question for how to generate a QR code: How do I make a QR code for an ethereum address?
If you want to track payments per order, you have a few options, but unfortunately it's not as easy as it could be. First, you can use the data field of the transaction as a data parameter:
If the user has MetaMask installed in their browser, you can write a little bit of JavaScript to prompt MetaMask to throw up a window asking them to confirm a transaction, which will include the appropriate amount and the data you request. However, many users won't have this installed.
You can ask users to supply the data manually in the data section of their transaction. But this is inconvenient for them, and they may not know how to do it. There's an Ethereum Improvement Proposal to make a URL that can encode some data, but it's still under discussion and hasn't yet been adopted.
For wider support, you may want to fall back on creating a lot of addresses:
Generate the addresses in advance with whatever software you normally use and keep a database of which have been assigned to which orders.
Generate the addresses using a Hierarchical Deterministic wallet, where there is one root private key but it is combined with your order ID to create many addresses. See this answer for information on tools to do this in Ethereum: Is there any API for sending and receiving Ethers? Alternatively, if you already have a working system using deterministic addresses for Bitcoin or another crypto-currency, you could use one of those tools to generate private keys then derive Ethereum addresses from them.
Finally, if you're comfortable using a third-party service with an API, you should be able to generate Ethereum addresses for payment with them in the same way that you would with Bitcoin etc.