Commerce without billing address We our developing a Drupal 8 Commerce website that does not need anything to do with addresses


The products are all virtual: membership and event tickets.
The billing is using PayPal express which takes care of billing address.


Therefore we don't want to prompt the customer to fill in an address, or store an address, or give them an "addresses" tab on their profile.  Please can anyone advise how to configure this scenario?

So far we have considered:


Edit the commerce flow.  The BillingInformation pane gets included via PaymentInformation.  If we remove PaymentInformation it does suppress the prompt for address and suppress the creation of a profile, but unfortunately it seems to stop the payment step from working properly.
Edit the customer profile form display to disable the address field.  This does suppress the prompt for an address, but we find that an empty profile is created for every order.
Delete the customer profile type.  We didn't try it yet because it seems likely to break the site as the Commerce core code has various hard-coded references to that profile type.


As an secondary question, we'd also prefer not to enter an address for the store as it does not have a physical address.  However the address seems to be mandatory and does not allow country=none.  We have entered a dummy value which seems to work as so far we haven't seen it used.  Can we trust the dummy address will never be used, and if so, would it be reasonable to say that the address ought to be an optional field?
The store address is used for calculating taxes. It doesn't have to be a physical store address, enter the address the business entity is registered to.

On the store edit form select a single "Allowed billing country".
That will hide the country selector on all of your address fields.

Then go to admin/config/people/profiles/manage/customer/fields/profile.customer.address and under "Field overrides" select "Hidden" for each field.
That will hide the other address subfields.

You need to be on the latest Commerce release for this to work.

(And yes, an empty profile with just the country code will be created for each order. There is no way around that currently)