Installing Stripe for Salesforce Commerce Cloud Shopfront Reference Architecture
Functional Overview
Stripe Elements and Sources
Stripe Elements modifies the default Commerce Cloud Credit Card collection and processing by using Stripe.js, a JavaScript library, to securely tokenize credit card data. Payments are then processed using the tokenized data, not the raw credit card information.
During checkout, the cartridge creates a source for any new cards or alternate payment methods that a customer enters. This tokenized data becomes a Stripe Source and generatew a Stripe Charge at the point of purchase. Registered Customers can manage (add or delete) reusable payment methods in their storefront-connected Stripe Account for re-use in subsequent storefront purchases.
Use Cases
Stripe.js Sources
When customers enter credit card or other payment information on the storefront, Stripe.js tokenizes it in interactions between Stripe and the client (browser). Unmasked credit card data is therefore never sent to the Commerce Cloud servers.
Stripe Charges
The system creates a Stripe Charge (authorize or capture, based on Business Manager configuration) from a successfully created and submitted Basket. All Stripe Charges are created against a Stripe payment Source.
AVS Auto-Fail Transactions
Site administrators can select a variety of AVS statuses to auto fail an Order for. If the Stripe Charge returns any of the selected statuses for either address_line1_check or address_zip_check the Order will be auto-failed and the Stripe Charge reversed. You can also manage these settings on the Stripe Dashboard. Supported payment methods:
- Cards (Visa, Mastercard, American Express, Discover, Diners Club, JCB) Alipay
- The Payment Request Button Element gives you a single integration for Apple Pay, Google Pay, Microsoft Pay, and the browser standard Payment Request API.
Limitations, Constraints
Stripe offers a number of standard services that aren’t supported by the cartridge. These include support for Subscriptions, Plans, and Coupons. There aren’t any known locale specific restrictions in the cartridge.
The included RELAY OCAPI configurations are included as examples only. A RELAY implementation requires additional configuration and testing along with the Stripe team. For any locale specific restrictions, see the Stripe.js documentation.
Compatibility
Available since Commerce Cloud Platform Release 16.8, SFRA version 4.4
The cartridge is available for installations on storefronts that support both Controller and SFRA SiteGenesis implementations.
Privacy
Commerce Cloud doesn’t store any unmasked credit card data. The cartridge tokenizes all payment data within direct client-to-Stripe communications and obscures any sensitive credit card data before it arrives on the Commerce Cloud servers. Similarly, all credit card data that Commerce Cloud retrieves from the Stripe servers is either masked, tokenized, or both.