- Fully integrated Shop logic via the central
shop.Shop
class: cart handling, order management, API routing, bootstrapping with customarticle_skel
, and payment/shipping modules. - Extensible Modules: Address, Api, Cart, Discount, Shipping, VatRate, Order, etc. — all provided as abstract base implementations.
- Payment Providers: Amazon Pay, PayPal Plus, Prepayment, Invoice, and Unzer integrations (Credit Card, PayPal, SOFORT, Bancontact, iDEAL). Can be extended with custom implementations.
- Event & Hook System: Customize checkout and order flow with hooks for events like
ORDER_PAID
,CART_CHANGED
, andCHECKOUT_STARTED
. - Pricing & Discounts: Automated calculation of unit and bulk prices, gross/net handling, VAT rates, savings, and discount combinations via the
Price
class.
- ViUR Framework (viur-core) installed and configured
- Python 3.11+
pipenv install viur-shop
Integrate into your ViUR application:
# deploy/modules/shop.py
from viur.shop import Shop
from skeletons.article import ArticleSkel # your custom article skeleton
shop = Shop(
name="myshop",
article_skel=ArticleSkel,
payment_providers=[
# e.g. PayPalPlus(), Invoice(), ... ,
],
suppliers=[
# optional Shop.types.Supplier(...),
],
)
- Full API Reference: viur-shop.readthedocs.io
- Frontend Components for Vue.js