How can I correct IAP error - "Must query store before purchase"?

Here’s a question from me to anyone with successful IAP’s on the iOS app store. or that knows in general what’s going on here

I have a consumable purchase that is approved by the iOS app store. i am calling the purchase as shown in the image below but keep getting an error "Must query item from store before purchase"

I can successfully retrieve Product Info, but the subsequent call fails when using the product id. I’ve tried the following and keep getting the same error mentioned above.

  • hard coding the productID,
  • using the itemID list block as shown in the image above,
  • using the response from the ‘get product info’ call.

does anyone have any suggestions?

@muneer @tatiang @exploriverse.com @martint I hope you dont mind i’m tapping you guys here, I think you 4 have experience on this topic (could be wrong)

I invite anyone with helpful input to respond here! Thanks in advance.

1 Like

I never mind! :slight_smile:

But I haven’t used IAPs before, sorry.

2 Likes

First thing to know that for AppStore you need to so the following steps:

Step 1 is to add a “blank” IAP component to your app and upload it to TestFlight/Play Store Beta. This update will then contain the IAP intent and will allow you to create your items and subscriptions

Step 2 Create the items and/or subscriptions you want your app to have, and then copy/paste them back into your Thunkable app.

Step 3 Rebuild your app and republish, the newest update will contain both the IAP intent and the IAP items available to purchase.

1 Like

Thank you! As far as I can tell I did all this.

I’ve sent several builds to TestFlight since the iap was approved.

I had actually created the iap on the AppStore before I sent the app version with iap blocks. Then Apple reviewed and approved the iap and app.

1 Like

Can you show the green block List of item info from the Get Products Info and see that have a matching product in the Thunkable component list.

1 Like

[{"type":0,"priceAmountMicros":4990000,"title":"POB - Remove Ads","productId":"pob_remove_ads_1","description":"Purchase this once, remove ads forever","priceCurrencyCode":"USD","price":"$4.99","subscriptionPeriod":"P0D"}]

This is returned, then I try to make the purchase and receive the above mentioned error.

1 Like

Do you have this product in the iOS: item list in the In-App component?

The item is in the list of items for sale.

1 Like

Can you pass it to the purchase component as text instead of selecting an item from the list?

I’ve been trying this but will try by using an actual text block for the input.

sending a copy to test flight now like this

Also, thanks for your time @muneer and @tatiang

[update]

Testing for a Hard coded productId with text block produced the same error

1 Like

Hi Jared,

Have you tried it without the first ‘Get products info’ block?

1 Like

Yes and thank you!

1 Like

Something has changed, just tested and I am getting the same issue on IOS, was ok before updating the app 4 days ago?

2 Likes

Can you have a word with the devs Jared, see whats changed.

2 Likes

I’ve already filed a bug report. I’ll keep monitoring the bug report and this channel.

2 Likes

Do we know if anyone is looking at this yet?

2 Likes

Give it until this afternoon. Then I’ll update again. :slight_smile:

2 Likes

Having the same problem. Hopefully an update soon!

If you were experiencing this before, please try pushing a new version to TestFlight to test it out again!

my current platform version is v304-6-prod, I already tried pushing an update on this platform version a couple of days ago and still same.