I am trying to find out if there is any way I can apply a flat shipping (eg. $2 ) per quantity if a specific promocode is applied.

  • What add-on are you using? Please specify in your question title and tags. Feb 22, 2016 at 13:34
  • I am using expresso store 2.0 and ee2
    – m yadav
    Feb 22, 2016 at 13:50
  • Store 2.0 exactly? Or the current version (2.5.1)? Feb 22, 2016 at 16:17
  • I am using the exact store 2.0.3.
    – m yadav
    Feb 22, 2016 at 16:30

1 Answer 1


First things you are using a very old version of Store, you would probably be best to upgrade to the latest versions of Store and EE.

There is nothing built into Store that would allow you to set a shipping method based upon a promo code being applied to the order. Having said that and without seeing your current shipping setup and which shipping gateways you are using you could force Store to use the default shipping gateway with a per item shipping rule when the promo code is applied. You would need to have your shipping calculated after the user has entered their shipping details and had the opportunity to apply the promo code. You would then need to use the promo_code tag in a conditional to set the shipping method to the default gateway if your specific code was used and a different gateway if a different code or no code was used.

This would only work if you are using a gateway that gets live rates such as UPS, USPS, FedEx, or Australian Post.

Your best option would be to create a new shipping extension that uses the shipping hook that would allow you to assign promo codes to either shipping rules or better yet that would allow you to assign shipping rules based upon the promo code. This way you would be able to add new promo codes and rules without having to rework your templates.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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