Google

Google

https://docs.coronalabs.com/guide/monetization/IAP/index.html

https://developer.android.com/google/play/billing/billing_testing.html

Google Play > Developer Console

https://play.google.com/apps/publish/Home

click CREATE APPLICATION button and fill the mandatory data fields of each section with your answer

2 screenshots are required. Minimum dimension of 320 px and a maximum dimension of 2840 px, for instance

Products

For instance, you are going to make IAP products like this

name type product id
book01 Managed com.kwiksher.bookshelf.book01
book02 Managed com.kwiksher.bookshelf.book02

Build apk

You need a keystore file for IAP and use it for building .apk with Corona simulator

keystore file

syntax

sudo keytool -genkey -v -keystore yourapp.keystore -alias yourapp -keyalg RSA -validity 10000

for example,

sudo keytool -genkey -v -keystore kwikbookshelf.keystore -alias kwikbookshelf -keyalg RSA -validity 10000

build.settings and config.lua

the IAP plugin and the permissions are added in build.settings

Your app's key must be added to the license table in config.lua. copy it from Google Play Console > Licensing & In-App Billing and paste it to config.lua

build.settings

settings = {
    plugins  =  {
        --Google in app billing v3
        ["plugin.google.iap.v3"] = {
            -- required
            publisherId = "com.coronalabs",
            supportedPlatforms = { android = true },
        },
    },
    android  = {
      usesPermissions  = {
          "android.permission.INTERNET",
          "android.permission.RECORD_AUDIO",
          "android.permission.WRITE_EXTERNAL_STORAGE",
          "com.android.vending.BILLING",
          },
    },

config.lua

application = 
{
    license =
    {
        google =
        {
            key = "YOUR_KEY",
        },
    },
}

Google Play > Developer Console

Roll out the APK release(alpha or beta) for google to approve it. The status will become published in minutes.

Make it active your In-App products.


Prepareing Test Account

Google Play Console

Browser Google

Device

http://www.techotopia.com/index.php/An_Android_Studio_Google_Play_In-app_Billing_Tutorial

Testing with Static Responses

you can build your .apk with the reserved product id of google to test IAP with the static responses before you use the commercial product IDs that you added in Google Play Console

Note

https://docs.coronalabs.com/guide/monetization/IAP/index.html#initialization

event.transaction.state within the transaction listener function will be “refunded” and, in this case, you can disable the content that was refunded and/or delete it from the app locally if it was downloaded. This features is not currently implemented with Kwik. You need to make external code for it.