amazon.iap.*

Type Library
Revision Release 2024.3703
Keywords Amazon, IAP, in-app purchases
Platforms Android

Overview

The Amazon IAP plugin lets you sell digital content and subscriptions from within your apps, including in-game currency, expansion packs, upgrades, magazine issues, and more.

Notes
  • This is the legacy version of the plugin Amazon IAP, please see the new Amazon IAP V3

  • If you are using the older v1 Solar2d plugin from Amazon see the migration page for a summary of changes.

  • If you’re new to Amazon In-App Purchasing, read Amazon’s Understanding In-App Purchasing guide.

  • You must install the Amazon App Tester or publish your app in the Amazon Appstore to use this plugin. Details on testing can be found here.

For in-app purchasing on other platforms, see the documentation for Google IAP, Apple IAP, Samsung IAP, or Store API.

Registration

To use Amazon in-app purchasing, you must first register for an Amazon Developer account.

Syntax

local store = require( "plugin.amazon.iap" )

Properties

store.target

store.isActive

Functions

store.init()

store.loadProducts()

store.purchase()

store.finishTransaction()

store.restore()

store.getUserId()

store.getUserData()

store.isSandboxMode()

Events

storeTransaction

productList

userData

Project Settings

To use this plugin, add an entry into the plugins table of build.settings. When added, the build server will integrate the plugin during the build phase.

settings =
{
    plugins =
    {
        ["plugin.amazon.iap"] =
        {
            publisherId = "com.coronalabs"
        },
    },
}

Solar2D Native

To use this plugin with Solar2D Native:

  1. Copy plugin.amazon.iap.jar and plugin.amazon.iap.jar into the libs/ directory of your project.

  2. Add the following section into your AndroidManifest.xml file, inside the application tag:

<receiver android:name = "com.amazon.device.iap.ResponseReceiver">
    <intent-filter>
        <action android:name = "com.amazon.inapp.purchasing.NOTIFY"
            android:permission = "com.amazon.inapp.purchasing.Permission.NOTIFY"/>
    </intent-filter>
</receiver>
  1. Also, set targetedAppStore to "amazon" in your AndroidManifest.xml file:
<meta-data android:name="targetedAppStore" android:value="amazon"/>