Blog posts tagged with 'Multi-Store'

More per-store information- Thursday, December 19, 2013
Shipping Director and Payment Director have built-in variables that you can use to configure your scenario on a per store basis:
  • $CurrentStoreId
  • $CurrentStoreName

(UPDATE:  You no longer need to use [$CurrentStoreId] or [$CurrentStoreName].  You can just use 

  • CurrentStoreId
  • CurrentStoreName

 e.g.  CurrentStoreId = 1


The 2nd half of this example describes that:

When using Shipping Director, it must be the only Active shipping method.  You can still use/call other carriers (e.g. USPS, FedEx, etc.) from Shipping Director, and you can configure them in their configuration page, but they must not be Active.  Thus, if you use Shipping Director in a multi-store environment, then you must have a License for each URL.

Similarly for Payment Director; if you want conditional payment methods for one store, and allow all the payment methods for another store, you still need to purchase multiple licenses.

When you purchase each license, you will enter a specific url, and then download the License.txt file.  Each file will be called "License.txt", and you must rename them uniquely but starting with the text "License", and having ".txt" extension (e.g. License_store1.txt, License_store2.txt, etc.).  Put them all in the plugin folder.

Tags :  Multi-Store
Comments (0)
Exclude Letter and Postcards from USPS First Class- Friday, November 29, 2013

In a prior post, I presented an example where it was desired to Exclude Shipping Options from Carrier Plugins

Here’s a similar recent scenario I helped a client configure.  The client uses USPS and wanted to offer First Class Parcel, but not First Class Letter or First Class Postcards.   Out of the box, the USPS shipping plugin only has a checkbox for “First Class”.  USPS will return all applicable first class methods/rates that match the input dimensions (weight, height, etc.).  If you’re not using dimensions, or you have really small/light items (like physical gift cards), you could see the Letter & Postcards methods.  For example, if in the USPS plugin configuration page you check off First Class, Priority Mail Express, and Priority Mail, then you could get back all these options (if your cart is “light”):

USPS Priority Mail Express 1-Day™ ($25.25) 
USPS Priority Mail 2-Day™ ($6.00) 
USPS First-Class Mail® Parcel ($2.07) 
USPS First-Class Mail® Letter ($0.66) 
USPS First-Class Mail® Postcards ($0.33)

So, if you’re not using dimensions, or you have really small/light items and you don’t want to offer Letter & Postcards methods, then they can be excluded by Shipping Director using the [$Name] variable in the Option record’s Name Expression.

The client also wanted to exclude First Class Parcel if the cart contained certain items.   As per previous blogs, the recommendation is to create an unpublished Category for those products.  (Products can be in more than one category.)

And, to make this more interesting, let’s say that there are two stores.  The first store offers in-store pick up and the methods as described above.  The second store will only offer the “Priority Mail” methods.

First, on lines 10 & 20, it has the requisite checks for Address (because Estimate Shipping does not), and also includes on line 30 a check to reject PO Boxes.  On line 100 is the check if there are any items in the cart that should cause the Parcel method to be suppressed.  Line 110 is the in-store option, but the Expression is set to only allow it for store 1 ([$CurrentStoreId]=1).  Line 130 is the USPS option for store 1 (includes the Name filtering using the ternary if-then-else operator “ ? : “ ).  Finally, on line 150, is the USPS option for store 2 also using “ ? : “.  When an external shipping plugin (e.g. “Shipping.USPS”) is in the Rate Expression field, the Name Expression checks each method from the carrier, and if the expression evaluates to blank (“”) the method is suppressed.





Rate Expression

Name Expression

Description Expression



No State Entered

ShippingAddress.StateProvince = null



"Please enter Country, State, and Zip"



No Zip Entered

ShippingAddress.ZipPostalCode = null



"Please enter Country, State, and Zip"



No PO Boxes

ShippingAddress.Address1 != null and Regex.IsMatch(ShippingAddress.Address1, "(?i)\b(?:Post\ (?:Office\ )?|P[.\ ]?O\.?\ )?Box\b")



"Sorry, we can't ship to PO Boxes."




Items.Any(Product.HasCategory("Suppress Parcel"))






In-Store Pickup




"Customer will pick-up at our store in YourTown, NY"



US Mail Store 1



[$Name].Contains("Letter") or [$Name].Contains("Postcards") or ([$Name].Contains("Parcel") and [SuppressParcel]) ? "" : [$Name]




US Mail Store 2



 [$Name].Contains("Priority Mail") ? [$Name] : ""


You can download the configuration import file by clicking on this link ShippingDirector (Exclude Letter and Postcards from USPS First Class).txt

Tags :  ExcludeOptionMulti-Store
Comments (0)