Digital wallet

A digital wallet, a starter store enhancement available in the Madisons and Madisons mobile stores, is a container for coupons. Customers use the digital wallet to store, access, manage, and organize coupon assets. Typically, customers redeem or remove digital coupons from their digital wallet in the storefront before checking out. Digital wallets contain references to coupon definitions stored for promotions.

You can change and extend the digital wallet implementation to suit your business needs. The digital wallet contains wallet items such as digital coupons by default. You can, however, customize digital wallets to contain and process custom data types.

The following system context diagram illustrates the relationship between the digital wallet, the storefront and related components:

Digital wallet component diagram

Where:
  • The Madisons starter store and Madisons mobile starter store interact with the Digital wallet component to find and create digital wallets, and list, create, retrieve, update, and delete digital wallet items. They also interact with the Promotion component to apply digital coupons to the shopping cart.
  • The Digital wallet component interacts with the Promotion component to get digital coupon details.
  • The Marketing component interacts with the Digital wallet component to find digital wallets and add digital coupons to digital wallets. It also interacts with the Promotion component to create digital coupons.
The digital wallet Business Object Document (BOD) service component contains the following definitions:
Component ID
com.ibm.commerce.wallet
Facade client
com.ibm.commerce.wallet.facade.client.AbstractWalletFacadeClient
Struts configuration file
struts-config-wallet-services.xml
The storefront can call digital wallet services similar to calling URL commands. Every defined service maps to the client method implemented in the WalletFacadeClient:
Struts action names and mappings to facade client method
Struts action name Mapping to facade client method
AjaxWalletItemProcessServiceDelete WalletFacadeClient.deleteWalletItem
WalletItemProcessServiceDelete WalletFacadeClient.deleteWalletItem
Component configuration and query template directory
WC_eardir/xml/config/com.ibm.commerce.wallet
The digital wallet implementation includes the following nouns:
Wallet
  • Represents a digital wallet.
  • Uniquely identified by its store and the customer.
  • Maps to an entry in the WALLET table.
WalletItem
  • Represents an item in a digital wallet, such as a digital coupon.
  • Can represent items of any type.
  • Contains a Type property that identifies the wallet item type.
  • Contains a Data noun part that contains the type-specific data.
  • Uniquely identified by its wallet and name.
  • Maps to an entry in the WALLETITEM table.

Storefront implementation

WebSphere Commerce starter stores can take advantage of the advanced digital wallet functionality. For example, the Madisons starter store displays a customer's coupon details in the storefront by default using the My Account: My coupons page.

  • In the Madisons starter store, DigitalWalletDisplay displays digital coupons, while DiscountDetailsDisplay displays additional coupon details. When removing a coupon from the digital wallet, WalletItemProcessServiceDelete is called in the page to remove selected coupons.
  • In the Madisons mobile starter store, the digital wallet is used to implement the coupon wallet in the checkout and My Account site flows.
Note: If your starter store has been issuing coupons to shoppers, you can migrate existing coupon data to digital wallets, so that customers can retain their coupon assets when implementing digital wallets. That is, when enabling digital wallets, the storefront coupon wallet begins using digital wallet services to manage digital coupon assets in the storefront, while coupons previously issued to customers can be migrated to digital wallets.