Absolutely. Essentially all you need to add is the
payment_method parameter in the checkout tag, enter in your details for the payment gateway via the Control Panel and you're ready to start accepting payments.
In practice, the exact customer journey is completely up to you however. You may wish to design a one-page checkout or you may have various options and steps along the way you wish to add to collect extra information pertaining to the order. Single or multi-step checkouts can both be accommodated. Products (and their variations) will always be listed and chosen on your domain.
With regards to the payment process, again it depends on which payment gateway you select. There are a large number that ship as standard with Store. Some of these are "on-site" and some are "off-site" payment processors. "Off-site" is the easiest (and probably the recommended way) of handling payment processing as you then shift the burden of PCI-DSS compliance on to the payment gateway who will provide end-to-end security of the transaction and pass the user back to the site once the payment has been made for order confirmation.
"On-site" essentially means that you're taking a users' payment details on your actual website so it's completely down to you to ensure that security is provided by way of an encrypted transaction. It's highly recommended that you never store any payment information on your own site or servers but if you do then you need to ensure that you're fully PCI-DSS compliant (and that's no small feat).
So the easiest way to get up and running is to choose an off-site payment gateway, sign up for an account, enter in your account details via the Control Panel, and then set the
payment_method to the corresponding gateway on the Checkout tag. Your products are listed as regular Channel entries with whatever custom fields you wish to add in the usual way to working with ExpressionEngine.