I am running into this exact same issue.
My code is probably as simple as it gets.
I am wondering if this issue stems off of the basics when using static responses.
Here are 2 scenarios (One using android’s static responses, one using in-app purchase legit)
Scenario A: Static Calls using “android.test.purchased”.
- When calling it I get the purchase screen with the fake visa number. And when it finishes, in the console it outputs
Transaction failed: -1003 Signature verification failed for sku android.test.purchased (response: -1003:Purchase signature verification failed)
- Then if I try again I get
Transaction failed: 7 Unable to buy item (response: 7: Item Already Owned)
Which is extremely odd to me considering it just said it failed after the UI said it didn’t fail. Oy
Scenario B:
-
Uploaded and published Release Signed Beta build to the android dev account
-
Added license key into config.lua (Quadruple checked to see if it was the right one)
-
Testing on non-dev gmail account (even removed all other accounts from my device)
-
Added google+ group with non-dev account added
-
Added in-app purchase to dev account
-
Set in-app purchase to active
-
Install app thru beta link and try to purchase with non-dev account.
Then when I run the app and try it says “Authentication is required. You need to sign into your Google Account.”
Is it maybe a release signing issue? I am unsure.
any help is appreciated.
Part of my config
usesPermissions = { "android.permission.INTERNET", "com.android.vending.BILLING", "com.android.vending.CHECK\_LICENSE", },
Codez
local store = require( "plugin.google.iap.v3" ) local net = {} -------------------------------------------------------------------------------- local function transactionCallback( event ) -------------------------------------------------------------------------------- -- Processes all events that happen with the store. local transaction = event.transaction if ( transaction.state == "purchased" ) then print( "Transaction succuessful!" ) elseif ( transaction.state == "cancelled" ) then print( "User cancelled transaction." ) elseif ( transaction.state == "failed" ) then print( "Transaction failed:", transaction.errorType, transaction.errorString ) else print( "(unknown event)" ) end end store.init("google", transactionCallback ) -------------------------------------------------------------------------------- local function purchaseItem() -------------------------------------------------------------------------------- if store.isActive then store.purchase( "android.test.purchased" ) end end net.purchaseItem = purchaseItem return net