Purchase and restoration with built-in DRM protected content

These processes describe how purchasing and restoration are done when the content is protected with built-in DRM.

Note: The in-app purchase API functions provide options that you can use to alter the details of how purchasing or restoration is handled with Nokia Store. The following are examples of possible scenarios, but for detailed information about all the possibilities, study the API reference.

Purchasing process with DRM protected content

The following diagram illustrates the purchasing process from the point of view of the application and Nokia Store. The green color indicates the secure payment process that is executed by the in-app purchase API rather than the application. The diagram does not include a publisher's server, as it is not needed with DRM protected content. However, it is still possible to use a back end server if needed, for example, to gather statistics, verify the purchase, or provide other services.

Figure: Purchasing process with DRM protected content

The purchasing process with DRM protected content is the following:

  1. To be able to display the purchasable items to the end user, the application must know the IDs of the products that are available for purchase. You use Nokia Publish to identify in-app purchase items and get IDs for them.

  2. Nokia Store returns the product metadata (name, price, and description) that matches the given product IDs.

  3. The application displays the items to the end user, using the metadata received.

  4. The end user selects which item they want to purchase, and presses a Buy button.

  5. The application triggers a payment process using the in-app purchase API.

  6. Nokia Store processes the payment, and completes the transaction. The process includes prompting the user for their Nokia account password, if the user is not yet signed in, and prompting for the confirmations needed.

    Note: If Nokia Store notices after the sign-in that the end user actually has a right to restore this item without any cost, it switches from a purchase process to a restoration process.

  7. Nokia Store delivers the DRM key to unlock the protected content on the device.

Restoration process with DRM protected content

The following diagram illustrates the restoration process from the point of view of the application and Nokia Store. The green color indicates the secure payment process that is executed by the in-app purchase API rather than the application. The diagram does not include a publisher's server, as it is not needed with built-in DRM protected content. However, it is still possible to use a back end server if needed, for example, to gather statistics, verify the purchase, or provide other services.

Note: You can design the restoration process for your application in a number of different ways. For example, in addition to displaying the purchasable new items (steps 1–2), you can provide a menu option to the user to check for any restorable items in Nokia Store. Or, on the catalog page where you list the purchasable items, you can display a Restore option: the user can attempt a restoration first, which may then fail if the user is not entitled to restoring it.

Nokia Store makes sure that the end user does not pay for a DRM protected item if they are entitled to restore it free of charge. This is verified based on the user’s account and device. If the end user attempts to purchase an item and Nokia Store notices that they are eligible for restoration, Nokia Store switches from a purchase process to a restoration process, starting from step 8 below.

The following steps describe one possible restoration process with DRM protected content:

  1. To be able to display the purchasable items to the end user, the application must know the IDs of the products that are available for purchase. You use Nokia Publish to identify in-app purchase items and get IDs for them.

  2. Nokia Store returns the product metadata (name, price, and description) that matches the given product IDs.

  3. The application displays the items to the end user, using the metadata received. In this scenario, the application also displays a UI option (or options) to the user for checking if there is any previously purchased content to restore.

  4. The user selects this option, and the application sends a request to Nokia Store to find out which items the end user is entitled to restoring. This step includes prompting the user for their Nokia account password, if the user is not yet signed in.

  5. Nokia Store returns the list of restorable items.

  6. In this scenario, the application displays the available items to the user.

  7. The end user selects which item to restore, or selects to restore all items in one go.

  8. The application triggers a restoration process using the in-app purchase API, repeating the process for each item that is being restored.

  9. Nokia Store delivers the DRM key for each restored item to unlock them on the device.