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.
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.tplAdvanced/PaymentInstrumentACH/Templates/paymentinstrument_ach.tplAdvanced/PaymentInstrumentACH/Templates/paymentinstrument_ach_edit.tplAdvanced/PaymentInstrumentACH/Templates/paymentinstrument_ach_edit_form.tplAdvanced/PaymentInstrumentACH/Templates/paymentinstrument_ach_list.tplAdvanced/PaymentWizard/Sass/_payment-wizard-paymentmethod-ach-module.scssAdvanced/PaymentInstrumentACH/Sass/_paymentinstrument-ach-edit.scssAdvanced/PaymentInstrumentACH/Sass/_paymentinstrument-ach-edit-form.scssAdvanced/PaymentInstrumentACH/Sass/_paymentinstrument_ach.scssAdvanced/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
- ACH enablement: If you want ACH payments on your web store, enable
paymentInstrumentACHEnabledin the SuiteCommerce Configuration record. Review the new templates and SASS files for any conflicts with existing PaymentWizard customizations or theme overrides. - Cacheable endpoints: Evaluate enabling
isNewSearchApiEnabledin a sandbox first. If you have custom middleware or SSP logic that intercepts item search requests at the old endpoint paths, update your routing. - 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, integrategetCustomerSegments()(requires Personalized Catalog Views feature). - 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. - 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.
- 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.
Source: Oracle NetSuite Release Notes