Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.

IAP Environment Use Cases

Deqing Huang edited this page May 8, 2014 · 3 revisions

Problem to solve

In App Purchase(IAP) is becoming significant important to current mobile OS, it is one of the key reasons that attracts developers to contribute to current web stores. It would be good to define an API for web applications so that they can access IAP service by a unified way.

High Level Use Case

An IAP process typically contains following steps:

  1. The user navigates to an app's interested content, and the app displays its products.
  2. The user selects a product to buy and the app requests payment from the vendor's web store.
  3. The web store processes the payment and the app delivers the purchased product.

Detailed Use Cases

A webapp wants to query details of product(s).

Product information is managed by vendor's web store, which typically contains:

  • product ID
  • product type (consumable / non-consumable / subscription)
  • product name/title
  • product description
  • price (might including currency)

The webapp need to show these details to user in the available product list.

A webapp wants to purchase a product.

Only product name is enough for purchasing, as security will be handled by vendor's payment framework.

There are two choices for a user to pay for the product:

  1. Pay by his/her account on vendor's web store
  2. Pay by direct billing via mobile carrier (for example some users don't want to enter a credit card number).

A webapp wants to restore previous products.

Normally an app is supposed to restore products during its initialization, so that if a user change to another device, e.g. a new phone, he/she will be able to get all completed transactions back.

Vendor's web store will return a transaction list containing details of product and transaction related information.