Developer Console

Types of Purchases

As you plan your In-App Purchasing (IAP) implementation, you will need to define what types of items your app will make available to its users. You will also need to determine how you want to deliver those purchased items. This page gives a brief introduction to the types of purchases supported by IAP.

For information on what can and can't be a purchasable item, see Distribution Agreement.

Types of purchasable items

Amazon IAP includes three different categories of purchasable items:

  • Consumables: Purchase that is made, then consumed within the app, such as extra lives, extra moves, or in-game currency. May be purchased multiple times.
  • Entitlements: One-time purchase to unlock access to features or content within an app or game.
  • Subscriptions: Offers access to a premium set of content or features for a limited period of time.

Content type and delivery flows

Amazon IAP supports three basic delivery flows:

  • Instantly available content
  • Deliverable content
  • Pending purchase

Instantly available content

Instantly available content is unlocked or otherwise made available to the customer upon purchase. Under this model, your app already has everything it needs for the customer to use the purchasable item immediately upon purchase. You can use all three types of purchasable items with this model.

Your app should contain the unique identifiers for each purchasable item (SKUs), the ability to present a catalog to the customer, and logic within the app to unlock the purchasable item upon successful transaction.

Step Component Task
Step 1 App App launches the in-app purchase flow. App invokes IAP API to manage the purchase.
Step 2 IAP API IAP API interacts with the user to complete the purchase. IAP API returns a purchase receipt to the App.
Step 3 App App uses the receipt to unlock the purchased local content.

Deliverable content

Deliverable content allows you to make new content available to the customer. Under this model, your app will download the new content from your servers and make it available to the customer. Deliverable items typically are subscription items.

Your app should contain the unique identifiers for each purchasable item (SKUs), the ability to present a catalog to the customer, and logic within the app to download, persist, and make available the downloaded content upon successful transaction.

Step Component Task
Step 1 App App launches the in-app purchase flow. App invokes IAP API to manage the purchase.
Step 2 IAP API IAP API interacts with the user to complete the purchase. IAP API returns a purchase receipt to the App.
Step 3 App App sends receipt to the App server, to initiate the content delivery.
Step 4 App server App server makes the content available to the user.

Pending purchase

A pending purchase is not immediately made available to the customer. Under this model, an additional step is required after the customer initiates the purchase and before your app can grant the purchase. Your app should not grant the purchase to the customer while it is still in the pending state. You can use consumables and entitlements with this model.

The difference between the pending purchase flow and the deliverable content flow is that your app calls enablePendingPurchases() on app create, and doesn't grant entitlements to the customer when it receives PurchaseResponse.RequestStatus.PENDING in onPurchaseResponse().

Step Component Task
Step 1 App App launches the in-app purchase flow. App invokes the enablePendingPurchases() and purchase() APIs to initiate the transaction.
Step 2 IAP API IAP API interacts with the user to request the purchase. IAP API returns a PENDING status to the app.
Step 3 IAP API If the customer approves the transaction, IAP API returns a purchase receipt to the app through Real-Time Notifications (RTN) or getPurchaseUpdates().
Step 4 App or App server App or App server makes the content available to the user.

For details on how to implement pending purchases, see Implement Pending Purchases.

Refunds

For consumables and entitlements, if a customer has a valid reason for requesting a refund, they should contact Amazon customer service on the Amazon website through Contact Us.

For subscriptions, a customer can cancel a subscription by opting out of auto-renew. However, this doesn't immediately cancel a subscription and the customer continues to have access for the remainder of the subscription term for which they paid. If a customer has a valid reason, they can request a pro-rated refund by contacting Amazon customer service on the Amazon website through Contact Us.


Last updated: May 22, 2024