A shopping cart is a mechanism for allowing people to buy specific goods and services, often with invoicing and shipping.
Standalone shopping pages
These silos provide a full website with product categorization and often a larger marketplace for product discovery. They usually charge a per-item commission and/or listing fee, with different monthly fees allowing for additional services (e.g. more control over variations, using your own domain name, etc.).
These providers allow you to embed a cart interface onto a page under your control.
This mechanism gives more control over the layout and allows providing your own markup, including
- Snipcart: allows you to place purchase buttons on your site, said buttons generating inventory items on-the-fly and allowing your own layout
- Paypal web payments API: provides a cart API as part of it
- Stripe Checkout
This mechanism embeds the shop itself onto your page, which generally limits the customization and the markup that you can generate. It's also generally bad for SEO as search engines are unable to parse your product information.
- Ecwid: embeds a full store interface into a DOM element on your site
These allow you to host your own cart service on your own server; payments are still naturally outsourced to a third-party payments provider. Generally these are for building entire web presences for a large enterprise and are the IndieWeb equivalent of using an erupting volcano to roast a turkey.
- OpenCart: open source
- PrestaShop: open source, but the payments modules are mostly proprietary and expensive
Rolling your own
Many of the payments providers provide APIs that simplify the order management/tracking/payments aspect; for example:
- fluffy currently (2019-11-22) uses Storenvy for https://biz.beesbuzz.biz, but will likely switch to the PayPal web payments API for the primary self-hosted presence.