awesto / django-shop

A Django based shop system
http://www.django-shop.org
BSD 3-Clause "New" or "Revised" License
3.17k stars 1.04k forks source link

Is there a way to checkout without billing or shipping addresses? #857

Open greyhare opened 3 years ago

greyhare commented 3 years ago

I'm trying to set up product classes for digital-delivered goods, which don't need shipping or billing addresses. Further, I'd like to minimize the amount of PII exists on the site to simplify PCI-DSS auditing requirements. Yet I keep hitting:

django.core.exceptions.ImproperlyConfigured: No class implements abstract base model: `BaseShippingAddress`.

What things do I need to override to get rid of any need for addresses? Alternatively, is there a way to indicate that a product is not physical, so if the cart contains only digital items, no address is required?

greyhare commented 2 years ago

... Best I can tell is that, contrary to the documentation, both billing and shipping addresses are mandatory. From what I've dug through, not only does the system require materialized subclasses of BaseShippingAddress and BaseBillingAddress, they're also hardwired in several places in the cart code.