The Wallet Hub is the home for all purchases on the device. It allows for contactless payments, deals, loyalty cards, in-app purchases, and credit and debit cards. Rather than having a list of individual apps that offer payment capabilities, the Wallet Hub provides an integrated and consistent account management experience that replaces your physical wallet in your pocket and also offers live updates on your accounts and access to nearby deals.

As a developer, you can create apps that integrate with the Wallet Hub. You can store, retrieve, and manipulate Wallet items from your app or use a background agent to keep your app’s Wallet items up-to-date. You can interact with the user via status messages, and you can provide deep-links back to your app from the Wallet Hub to provide a more purposeful in-app experience.

Windows Phone 8 Unleashed, chapter 25

Three Capabilities is associated with the Wallet.

  • ID_CAP_WALLET – enable the basic Wallet functionality. It’s enough for membership cards.
  • ID_CAP_WALLET_PAYMENTINSTRUMENTS – enable the possibility to store and use credit cards.
  • ID_CAP_WALLET_SECUREELEMENT – to use NFC with Wallet.
  • NOTE
    If you want to use ID_CAP_WALLET_PAYMENTINSTRUMENTS or ID_CAP_WALLET_SECUREELEMENT you need to get a special permission from the Windows Phone store team. For more info and for assistance, contact Dev Center support.

    Store and retrieve Card information

    You use the class PaymentInstrument (for credit cards) or WalletTransactionItem (other kind of card, such as membership, stores and clubs).

    You then use the Launcher AddWalletItemTask to the card to the Wallet. You retrieve a card that are stored in the Wallet with the the static method FindItem on the class Wallet. And you use the static method Remove on the same class to delete a card from the Wallet.

    Integration with your App and Wallet

    You can add deep linking to your card when you add it to the Wallet. When the user taps on that link, your app will start and go to that link.

    You can use a special background agent called WalletAgent to update both the card information, its transaction history and deals.

    Deals

    Deals are redeemable offers that the user can save to the Wallet and later present to a vendor for redemption.

    You create a deal with the class Deal, including a BarCodeImage, that can be used to identify the deal later. Save it to Wallet by calling its SaveAsync method.

    Register your App as a Wallet Extension

    To increase the discoverability of your app that integrates with the Wallet, you can define your app as a Wallet extension. This makes your app appear in the other list of apps in the Wallet when the user taps add.

    Links

    MSDN – Wallet for Windows Phone 8

    MSDN – How to use the add Wallet item task for Windows Phone