Samples > Starter stores > Starter store enhancements
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 the 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:
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
- 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 Map to facade client method AjaxWalletItemProcessServiceDelete WalletFacadeClient.deleteWalletItem WalletItemProcessServiceDelete WalletFacadeClient.deleteWalletItem
- Component configuration and query template directory
- WC_EAR/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.
If the 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.
- Enable digital wallet
You can enable digital wallet, which serves as a container for shopper assets, for example digital coupons, and can be used in WebSphere Commerce starter stores, including the Madisons mobile starter store.
- Customize digital wallet service modules
You can customize the digital wallet implementation using existing Business Object Document (BOD) service module customization best practices and using its additional extension points to add new wallet item types.
Related concepts
Related tasks
Publish the Madisons enhancements store archive
Migrate coupon data to digital wallets
Related reference
Simple system-generated unique promotion codes
Advanced system-generated unique promotion codes