I'm doing an eCommerce site with Prestashop and I have to set the classes of shipping details.

I have try tip of shipping:

  1. Free for France
  2. 50 € for all'Europe (but not France) (This points are ok)
  3. Send an email to request information for order from all Word (but not Europe or France).

I need a setting that defines the areas of shipping. If I place an order from Asia or America can not complete the purchase but just send an email request information.

When the customer is on the checkout and select the area of spediizone, if the area belongs to Asia, America, Oceania, then the order will be sent by mail with the request for information on shipping.


Prestashop has no obvious out-of-the-box support for this behavior, however with some careful configuration I think you can accomplish this without too much difficulty. One way you could implement this functionality might be to:

  1. Setup a new Carrier for zones Africa, Asia, Central America/Antilla, North America, Oceania, South America, you might call this "Shipping details to be clarified later" and ensure these zones are excluded from the scope of your real carriers.

  2. In the Prestashop ALL languages folder, create an email template (you might copy and edit an existing template) consisting of two files awaiting_shipping_info.html and a awaiting_shipping_info.txt, for example). In these files specify the text you would wish to send the worldwide customers asking them for information about shipping.

  3. In the back-office, from the Orders | Statuses menu, add a new order status which you might call "Awaiting Shipping Info" or something like that. Be a little bit careful how you name this as the customer will see this status message in their order history when they log-in to your website. If you tick the check-box for "Send e-mail to customer when order status is changed" then you can specify in the drop-down list the email template you created in step 2.

  4. If you're a proficient PHP programmer then create a simple custom Payment Module which creates the order in the back-office (this is known as order validation) but without capturing any payment information and setting the order status to your new order status setup in step 3 (I would suggest using the Bank Wire payment module as a starting template). If you're not so proficient in PHP, then perhaps use an existing module which does this in essence but is less customisable for you, for example the Bank Wire or Check Payment modules might be suitable with a bit of customisation (wording can often be customized using the back-office translation tools).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.