Home > Services & APIs > Earn > In-App Purchasing

Purchasable Items (IAP v1.0)

IAP v1.0 Deprecation Notice

In July 2014, Amazon released the In-App Purchasing (IAP) v2.0 API, which includes several important updates. As of April 30, 2016, Amazon will deprecate IAP v1.0 for new and updated app submissions. While this deprecation will not affect apps that are currently live in the Amazon Appstore, any apps submitted as either a new or updated app after May 11, 2016 will need to use IAP v2.0.

Overview

A purchasable item is anything that a customer can purchase from within your app. Purchasable items require you to implement how your app uses these items; your code needs to manage this process.

Refer to the Distribution Agreement for information on what can and cannot be a purchasable item.

There are three kinds of purchasable items:

  • Consumables - content that does not require an entitlement or access rights to use, can be purchased multiple times by a customer, is available only on the device it is purchased from, and does not require any type of entitlement check to use
  • Entitlements - content that requires an entitlement or access rights to use, can be purchased only once by a customer, and is available on all compatible devices registered to the customer's account
  • Subscriptions - content that requires an entitlement or access rights to use, is bound by a period of time, that auto-renews, and is available on all eligible devices registered to the customer's Amazon account

The following table shows a summary comparison for the features of each purchasable item:


Consumable Entitlement Subscription
Number of Purchases Allowed Multiple One One
Access Rights Check Required? No Yes Yes
Availability Only on the device it is purchased from All compatible devices registered to the user All compatible devices registered to the user
Expiry Date Unbounded Unbounded Bound by an auto-renewable time period

SKUs

A SKU (technically a stock-keeping unit) is a unique identifier for each distinct purchasable item. It is unique to you (specifically your account registered on the Amazon Apps & Games Developer Portal), and is a (up to) 150-character length string of arbitrary structure that can contain the characters a-z, A-Z, 0-9, underscores, periods, and dashes, and is case sensitive. Purchasable items and SKUs have a 1:1 mapping. Your app will pass the SKU value via the In-App Purchasing API class to the client. The SKU is how the client knows what the customer is trying to purchase, and will manage the purchase flow accordingly.

You need to ensure that every purchasable item you define has a unique SKU. The SKUs are unique across your developer account. When you submit SKUs for multiple apps you need to ensure that there is no overlap.

Before a SKU can be used, it must be configured via the Amazon Apps & Games Developer Portal. Refer to the Submitting Your App and In-App Items section for information on how to configure SKUs in the portal.

As long as you define the appropriate SKUs within the Amazon Apps & Games Developer Portal for your app, you can distribute your app through any other marketplace or catalog.

Consumables

Consumable content includes any type of content that you sell within your app that is consumed within the app itself. This type of content is not available anywhere other than the device it is purchased from. There is no entitlement for this type of item and the purchase history of consumables are not reflected in purchaseUpdateRequest responses. A customer can purchase consumable items repeatedly. Optionally, a Consumable can indicate if it requires developer fulfilled content.

Consumable content typically includes things like:

  • Perishable items such as extra lives in a game
  • Usable items such as in-game currency

The In-App Purchasing API will facilitate the transaction and provide you confirmation via a receipt that the purchase took place. Your app must contain logic to manage consumable content.

SKUs for consumable content are configured as follows:


Description
Title A 128 character string denoting the title of your purchasable item
SKU A 150 character string of arbitrary structure which cannot be null, that can contain the characters a-z, A-Z, 0-9, underscores, periods, and dashes
Price The price point in USD for the purchasable item can either be $0.00 or else range from $0.99 to $99.99
Description A description for the purchasable item limited to 1024 characters
Availability Date - Available An optional parameter that specifies when this item is available for purchase, specified in GMT
Availability Date - Disable An optional parameter that specifics when this item is no longer available for purchase, specified in GMT
Icon - 114x114 A 32-bit 114x114 pixel icon for this purchasable item with a transparent background. This icon must match the "Icon - 512x512" parameter
Icon - 512x512 A 32-bit 512x512 pixel icon for this purchasable item with a transparent background. This icon must match the "Icon - 114x114" parameter
Screenshots A minimum of 1 and a maximum of 10 PNG or JPG images sized at either 480x800 or 800x480 of the purchasable item
Purchase Screenshot A 480x800 or 800x480 PNG or JPG showing where to find your in-app item
Content Delivery Selection A selection indicating if your app requires developer content fulfillment



Entitlements

Entitled content includes any type of content that you sell within your app that requires an entitlement (access rights). This type of content is available anywhere the customer is logged into the Amazon Client. The entitled content does not expire. If Amazon needs to rescind the entitled content, your app will be notified via an observable event.

Customers can purchase entitled content one time. Once purchased, the entitled content is granted to the customer's Amazon account. That entitled content is used to access the content from any eligible device the customer has linked to their account.

Entitled content typically includes things like:

  • Additional levels for a game
  • Access to a previously purchased item like a magazine issue
  • Unlocking functionality already in your app

The In-App Purchasing API will facilitate the transaction and provide you confirmation via a receipt that the purchase took place and if a entitlement is ever revoked. Your app must to grant or revoke access to the relevant entitlement.

SKUs for entitlement content are configured as follows:


Description
Title A 128 character string denoting the title of your purchasable item
SKU A 150 character string of arbitrary structure which cannot be null, that can contain the characters a-z, A-Z, 0-9, underscores, periods, and dashes
Price The price point in USD for the purchasable item can either be $0.00 or else range from $0.99 to $99.99
Description A description for the purchasable item limited to 1024 characters
Availability Date - Available An optional parameter that specifies when this item is available for purchase, specified in GMT
Availability Date - Disable An optional parameter that specifics when this item is no longer available for purchase, specified in GMT
Icon - 114x114 A 32-bit 114x114 pixel icon for this purchasable item with a transparent background. This icon must match the "Icon - 512x512" parameter
Icon - 512x512 A 32-bit 512x512 pixel icon for this purchasable item with a transparent background. This icon must match the "Icon - 114x114" parameter
Screenshots A minimum of 1 and a maximum of 10 PNG or JPG images sized at either 480x800 or 800x480 of the purchasable item
Purchase Screenshot A 480x800 or 800x480 PNG or JPG showing where to find your in-app item
Content Delivery Selection A selection indicating if your app requires developer content fulfillment

Subscriptions

Subscription content includes any type of content that carries an entitlement, is bound by a period of time, with the ability to auto-renew at the end of the period, and is available on all eligible devices registered to the customer's Amazon account.

Your app can have multiple subscriptions defined for it, with each subscription having multiple periods. For example, the Amazon-News app can have multiple subscriptions defined for it, one for the "Business" section, one for the "Electronics" section, and one for the "Books" section. Each section can, in turn, have multiple periods defined for it. "Business" can offer a weekly and monthly period, "Electronics" can offer a monthly and bi-monthly period, and "Books" can offer a quarterly and yearly period.

Under this example each subscription has a unique SKU (the parent), and each subscription period has their own SKU (children SKUs).

The customer can only purchase one period SKU per subscription; i.e. they cannot purchase both the weekly and monthly period SKUs for the "Business" section, but can purchase the weekly "Business" period and the monthly "Electronics" period.

The only way a customer can purchase the weekly "Business" period again is if they opt out of auto-renewing their subscription, and the subscription period expires.

Once purchased, an entitlement is granted to the customer's Amazon account for a specific term. That entitlement is used to access the content from any eligible device the customer links to their account.

Subscription content typically include things like:

  • Ongoing access to your app
  • Unlocking functionality already in your app on a regular cadence

The In-App Purchasing API will facilitate the transaction and provide you confirmation via a receipt that the purchase took place and if a subscription has been cancelled. Your app must to grant or revoke access to the relevant subscription content.

Amazon will manage the periodic recurring charge for you; you do not need to do anything outside of initiating the purchase.

If a subscription fails to renew - either due to an invalid payment instrument or if the customer opts out of the renewal - the Receipt data from the initiatePurchaseUpdatesRequest method call will contain a non-null endDate value indicating the date the subscription expired.

Subscription information is returned in the Receipt object, via the getSubsriptionPeriod() method. SubsciptionPeriod.getStartDate() will always return the date the Subscription is purchased. SubscriptionPeriod.getEndDate() will return null if the Subscription is still active, or the date the Subscription ended if the period occurs in the past.

SKUs for subscription content are configured as follows:


Description
Title A 128 character string denoting the title of your purchasable item
SKU A 150 character string of arbitrary structure which cannot be null, that can contain the characters a-z, A-Z, 0-9, underscores, periods, and dashes
Price The price point in USD for the purchasable item can either be $0.00 or else range from $0.99 to $99.99
Description A description for the purchasable item limited to 1024 characters
Availability Date - Available An optional parameter that specifies when this item is available for purchase, specified in GMT
Availability Date - Disable An optional parameter that specifics when this item is no longer available for purchase, specified in GMT
Icon - 114x114 A 32-bit 114x114 pixel icon for this purchasable item with a transparent background. This icon must match the "Icon - 512x512" parameter
Icon - 512x512 A 32-bit 512x512 pixel icon for this purchasable item with a transparent background. This icon must match the "Icon - 114x114" parameter
Screenshots A minimum of 1 and a maximum of 10 PNG or JPG images sized at either 480x800 or 800x480 of the purchasable item
Purchase Screenshot A 480x800 or 800x480 PNG or JPG showing where to find your in-app item
Content Delivery Selection A selection indicating if your app requires developer content fulfillment
Period The recurring period a subscription length lasts; valid periods are:
  • Weekly: Every week on the same day from date of purchase
  • Bi-Weekly: Every two weeks on the same day from date of purchase
  • Monthly: Every month on the same day from date of purchase
  • Bi-Monthly: Every two months on the same day from date of purchase
  • Quarterly: Every three months on the same day from date of purchase
  • Semi-Annually: Every six months on the same day from date of purchase
  • Annually: Every twelve months on the same day from date of purchase
Free Trial Period Length of time for the Free Trial; valid periods are<
  • No: No free trial offered
  • 14 days: 14 day free trial
  • 1 month: 1 month free trial
  • 2 months: 2 month free trial
  • 3 months: 3 month free trial