SuiteCommerce
NetSuite 2021.2
2021-09-08

SuiteCommerce 2021.2: ACH Payments, Cacheable Item Search Endpoints, and Extensibility API Additions

The 2021.2 SuiteCommerce release adds ACH payment support on web stores, introduces cacheable and personalized Item Search API endpoints, expands the Extensibility API with new methods on Cart, Environment, UserProfile, and PDP components, and bumps bignumber.js to 9.0.1.

Affects:SuiteCommerceSuiteCommerce AdvancedSuiteCommerce MyAccountItem Search APIExtensibility APISCA Developer Tools (Node.js 12.21.0)

ACH Payments on Commerce Web Stores

Website shoppers can now pay invoices via Automated Clearing House (ACH) transactions. They can add, edit, and remove ACH payment instruments from their account. The feature is gated behind the configuration property paymentInstrumentACHEnabled (SuiteCommerce Configuration Record > My Account > Payment Instrument ACH).

New templates and SASS files

  • Advanced/PaymentWizard/Templates/payment_wizard_paymentmethod_ach_module.tpl
  • Advanced/PaymentInstrumentACH/Templates/paymentinstrument_ach.tpl
  • Advanced/PaymentInstrumentACH/Templates/paymentinstrument_ach_edit.tpl
  • Advanced/PaymentInstrumentACH/Templates/paymentinstrument_ach_edit_form.tpl
  • Advanced/PaymentInstrumentACH/Templates/paymentinstrument_ach_list.tpl
  • Advanced/PaymentWizard/Sass/_payment-wizard-paymentmethod-ach-module.scss
  • Advanced/PaymentInstrumentACH/Sass/_paymentinstrument-ach-edit.scss
  • Advanced/PaymentInstrumentACH/Sass/_paymentinstrument-ach-edit-form.scss
  • Advanced/PaymentInstrumentACH/Sass/_paymentinstrument_ach.scss
  • Advanced/PaymentInstrumentACH/Sass/_paymentinstrument_ach_list.scss

If you have customized the PaymentWizard module or built extensions that override payment method templates, verify your customizations still render correctly after activation.

Cacheable and Personalized Item Search API Endpoints

Two new endpoints are available for the Item Search API:

  • /cacheable/items
  • /personalized/items

The framework automatically selects which endpoint to call based on two conditions: whether the visitor is logged in and whether the personalized endpoint configuration option (isNewSearchApiEnabled, located under Shopping > Catalog) is enabled. The cacheable endpoint allows CDN/edge caching of anonymous item queries, which can significantly reduce server-side load and improve page-load times for product listing and search pages.

Extensibility API Updates

Cart component

triggerAddToCartConfirmation() — programmatically fires the configured add-to-cart confirmation behavior from within an extension, giving the shopper the same visual feedback as a native add-to-cart action.

Environment component

defineSearchMasterOptions() — lets an extension modify the searchApiMasterOptions configuration at runtime. This is useful when an extension on the PDP requires item fields outside the default field set; you can inject additional fields into the search API request without editing the core configuration record.

UserProfile component

  • getCustomerSegments() — returns the customer segments (used for Personalized Catalog Views) assigned to the current visitor. Requires the Personalized Catalog Views feature to be enabled in the account.
  • setCookieOptions() — persists cookie-consent preferences to the customer record.
  • getCookieOptions() — retrieves stored cookie-consent preferences. These two methods support building custom cookie-consent banners; the SuiteCommerce Analytics Data feature reads these preferences to decide whether to process behavioral data.

PDP component

getPrice() — returns both the base price and the effective price of the item currently displayed on the product detail page, accounting for selected quantity and item options.

Configuration Properties Added

  • paymentInstrumentACHEnabled — enables ACH payment instruments (My Account > Payment Instrument ACH).
  • isNewSearchApiEnabled — enables the personalized item search endpoint (Shopping > Catalog).
  • storeLocator.zoomInDetails — controls the map zoom level for store detail views (Store Locator > Store Locator). Previously labeled "Zoom Level in PDP."

Third-Party Library Update

bignumber.js updated from 9.0.0 to 9.0.1. Check distro.json for the authoritative version list. If your themes or extensions import or depend on bignumber.js, verify compatibility—particularly if you pinned the old version.

Node.js Requirement

The SCA developer tools (Theme, Extension, and core tooling) still require Node.js 12.21.0. No change from the prior release, but this version is well past its EOL. Plan ahead for future bumps.

What to Do

  1. ACH enablement: If you want ACH payments on your web store, enable paymentInstrumentACHEnabled in the SuiteCommerce Configuration record. Review the new templates and SASS files for any conflicts with existing PaymentWizard customizations or theme overrides.
  2. Cacheable endpoints: Evaluate enabling isNewSearchApiEnabled in a sandbox first. If you have custom middleware or SSP logic that intercepts item search requests at the old endpoint paths, update your routing.
  3. Extensibility API: If you maintain extensions that modify search field sets via workarounds, consider refactoring to use defineSearchMasterOptions(). If you need customer-segment awareness for personalized experiences, integrate getCustomerSegments() (requires Personalized Catalog Views feature).
  4. Cookie consent: If you have a custom cookie-consent implementation, you can now tie it to the customer record via setCookieOptions()/getCookieOptions() instead of relying solely on browser-side storage.
  5. bignumber.js: Search your extension code for direct imports of bignumber. Confirm no deprecated methods from 9.0.0 are used. The bump is a patch release, so breaking changes are unlikely but worth a quick scan.
  6. SCA migration: If migrating from a prior release, audit your codebase for deprecated method calls before upgrading. The release notes warn explicitly that deprecated methods must be removed before migration.