Conditional Shipping and Payments v1.4

It’s been exactly 8 months since we announced Conditional Shipping and Payments v1.3: A feature-packed release that focused on building some highly-requested conditions into the extension.

Today we’re happy to report that v1.4 is about to go live. The new release has been in development for 3 months and includes 700+ commits, equally distributed among 3 contributors. Its development was led by Chris, who joined our team earlier in 2018.

What’s New

A Streamlined Experience for Store Managers

For a while now, the experience of creating and managing shipping and payment option restrictions has largely remained unchanged for Store Managers. Version 1.4 introduces:

  • A re-designed, responsive Restrictions and Conditions UI, which includes toggle-switch elements for enabling/disabling individual rules.
  • An “Actions” column in the global Settings > Restrictions table, for quicker “edit/delete” operations.
  • The ability to filter product-level restrictions by type.

New Actions column with buttons for editing and deleting rules.

Products are now filterable by Restriction type.

New restrictions editing experience.

Old restrictions editing experience.

Integration with Subscriptions

Version 1.4 includes a Recurring Item condition that makes it possible to prevent customers from using specific payment/shipping options when purchasing/renewing subscriptions — or making one-time purchases.

Until now, such restrictions could be created only indirectly, by using Shipping Classes to identify subscription products. The new condition includes many useful modifiers, can target specific billing periods and works at cart- and package-level. Great news for all Subscriptions and Subscribe All The Things customers out there!

New Recurring Item condition.

Integration with Memberships

The new version also includes an all-new Membership Plan condition that can be used to limit payment/shipping options to customers with (or without) an active Membership.

Just like all conditions available in CSP, the new Membership Plan condition includes a rich set of modifiers and supports multiple Memberships, making it possible to create conditional logic that targets exactly the customer segment you want.

New Membership Plan condition.

Improved Support for Stripe, PayPal Express and Klarna

In the past, Conditional Shipping and Payments was only able to exclude payment options that get added to the checkout page using the standard WooCommerce Gateways API. However, many gateways feature a “customized checkout experience” which may consist of:

  • A customized checkout UI or page.
  • Custom payment buttons in product/cart pages.

CSP v1.4 adds support for the official Stripe, PayPal Express and Klarna Checkout/Payments gateways and successfully disables all custom payment features when one of these gateways is excluded.

A Stronger Focus on Quality

Building an automated suite of acceptance tests for CSP was one of the biggest investments we made for the extension. Today, every commit that goes into its development repository triggers 300 acceptance tests that include roughly 2000 assertions. The tests, which run for almost an hour, ensure that all restriction types and conditions in CSP will keep working as expected, change after change.

Lots of Smaller Features, Improvements and Fixes

Most notable:

  • New Currency condition, available when WooCommerce Multi-Currency is installed.
  • Revised condition resolution messages.
  • Shipping Country, Shipping Postcode and Coupon Code conditions now work correctly in Payment Gateway restrictions when paying for a pending-payment order.

PS: A big Thank You to all WooCommerce Store Owners and Developers for the valuable feedback you’ve shared with us over time — keep it coming!