Well I know for certain that store.loadProducts() does call it’s listener. I just tested it in the game I’m working on. The call back for the loadProducts call is a different function.
local function loadProductsListener( event ) print("In loadProductsListener") local products = event.products for i=1, #event.products do print(event.products[i].title) print(event.products[i].description) print(event.products[i].localizedPrice) print(event.products[i].productIdentifier) end for i=1, #event.invalidProducts do print("invalid", event.invalidProducts[i]) end end store.init( "google", transactionCallBack ) if store.canLoadProducts then print("Loading products!") store.loadProducts( productList, loadProductsListener ) timer.performWithDelay(2000, function() store.restore(); end) else print("Can't load products") end
When you try to buy something you already own you should get the message: In-app billing error: Unable to buy item, Error response: 7:Item Already Owned in your console log. Your transaction call back I don’t know why you’re crashing. Is there more to the error?
Also keep in mind you cannot test with your developer account. You have to use a test account.
Rob