This one seems slightly odd - if I have a downloadable product, then I still have to enter shipping/billing details? Surely there is no need for a shipping address for a downloadable product and, if I'm paying via paypal (or some other external payment source) the billing details will be captured outside of my site??

Sorry for all of these reports I keep generating - I guess I must be using this in a slightly odd way or something? Maybe I need to adjust my way of thinking about this??

Comments

matt westgate’s picture

Title: Shipping information required for file-download??! » Optimize checkout procedure based on product types and payment type

I agree it doesn't make sense to collect shipping information for a file download if that's the only product type a site is selling. Also, as you pointed out, when using paypal the billing information is redundant.

I'm open to ideas on how to optimize the checkout procedure based on the relationship between 1) the product types being purchased and 2) the payment gateway used for checkout.

Take for example a customer buying a file download using authorize.net as the gateway. In this case you need to collect the billing information. So it's not as easy as saying 'For all file downloads, bypass address collection'. A possible solution is to delegate the responsibility of shipping address collection to the product type modules and billing address collection to the payment type modules.

minimism’s picture

Hi, me again :)

Just trying things as an anonymous user of my site, and when I try and buy a downloadable product, I enter my billing information, hit 'continue to payment details' and then get the message "Please fill out all shipping information fields.". I have traced this to store_transaction_validate_addresses in store.inc, and notice that there is no check for 'shippable' in there... I suppose that this is all related to 'asking for the appropriate details', regarding payment options etc.

I'm kind of tempted to hack in a 'shippable' test (like in cart_checkout_form in cart.module) but rather think that there is a better solution :)

john..

matt westgate’s picture

Category: bug » feature

This is not a bug.

judah’s picture

I like the suggestion to delegate the responsibility of shipping address collection to the product type modules and billing address collection to the payment type modules but I do not know if this avenue will cause issues down the line.

I would like to suggest when creating or updating a product to include a "requires shipping information from customer" option (checkbox).

Then when the dude is going to checkout figure out if they are using paypal or authorize.net. If they are using paypal you check if any products "require shipping information". If not then do not require it. If it is authorize.net then set this flag to true and require the information.

matt westgate’s picture

I like the suggestion to delegate the responsibility of shipping address collection to the product type modules

This part of the feature request has already been implemented. If the product module is shippable then the shipping address is required.

coupet’s picture

I agree it doesn't make sense to collect shipping information for a file download if that's the only product type a site is selling. Also, as you pointed out, when using paypal the billing information is redundant.

I agree with above statement by Matt.

Is this feature request for non-shippable product for paypal where address in not required implemented?

Thanks, Darly

gordon’s picture

Also in other situations you may need to billing address. If you are running the tax module, you need to collect the billing address so that you can apply tax.

What could be done is that if you put the payment type before the address module we could have a flag that will allow you not to collect the billing address if they are using payment type x.

There is a number of situations where the billing address may or may not be required, but also I have a client where they collect the shipping address even if there is no shippable product.

coupet’s picture

See
Anonymous purchase
http://drupal.org/node/37220

Thanks, Darly

jeff veit’s picture

Also, as you pointed out, when using paypal the billing information is redundant.

Not quite. Definitely when using the xclick interface for paypal which is the default for the paypal module, paypal now provides the option to pay by credit card. They hide it a bit: if you click the button that says something like 'I don't have a paypal account' you are able to pay this way. In that case they accept billing details too as a parameter that can be passed in via the api.

sime’s picture

Component: file.module » cart
Status: Active » Closed (won't fix)

you know, too old. and this is much more feasible as fapi improves.