InApp purchase and testing

Hi,


I want add InApp purchase in my App but I can't figure out what is wrong in my workflow :


1. On ITune Connect, I created a product for my app (let say product ID is com.mycompany.products.***) and the product is "ready to submit",

2. I created a sandbox test user for this app,

3. I used the Sandbox AppleID to connect to iTune on a real device,

4. Back XCode, I added InApp purchase capability to the app,

4. I built and run tha app to the real device (not simulator)

6. I try to get the product information (com.mycompany.products.***) and I receive nothing...


This is a cordova project, so problem is not comming from the code as I already used the plugin (https://github.com/AlexDisler/cordova-plugin-inapppurchase) on an other project and it's working justre fine.


The code I use to get product information is :

inAppPurchase.getProducts(["com.mycompany.products.***"]).then(console.log).catch(console.error);


And I receive nothing than an empty array.


So What Am I doing wrong ?


Thank you in advance for your help.

Replies

Hello,

is the issue resolved ?

I also have same issue but in my case already products are available (approved) in store.

how u solved this issue?

Here's the things I would check
  1. Make sure that the "paid app" agreement is in effect in your App Store connect account

  2. If you are passing "com.mycompany.products.*" in the SKProductsRequest, make sure that the identifier in AppStoreConnect is also "com.mycompany.products.*". If you registered "***", then the SKProductRequest will fail to validate the identifier.

rich kubota - rkubota@apple.com
developer technical support CoreOS/Hardware/MFI
Post not yet marked as solved Up vote reply of rich Down vote reply of rich
  • The first point 1) was the problem for me. Thank you!

Add a Comment
Hello, I've made all the steps as the author did and I do not get any products.

I'm using react-native with expo-in-app-purchases package. Product IDs from App Store Connect are "1000credits", "2200credits" and "6000credits".

Code Block Javascript
...
const { responseCode, results } = await InAppPurchases.getProductsAsync(['1000credits', '2200credits', '6000credits'])
console.log("responseCode", responseCode);
console.log("results", results);
...

responseCode: 0
results: [ ]

I tried to enter products using bundle identifier com.***.1000credits or com.***.***.1000credits as well and I have the same problem.

I am facing a similar issue with my Flutter App. I used in_app_purchase v0.3.5 plugin for flutter. I am also not getting the products when I call getProducts although my paid agreement is signed and my product is approved in app store connect. I keep getting a prompt to login with my credentials when I open the screen in the app which shows the in app purchases. Here is my code:

Code Block
Future<void> _getProducts() async {
    Set<String> ids = Set.from(['5_hints']);
    ProductDetailsResponse response = await _iap.queryProductDetails(ids);
    setState(() {
      _products = response.productDetails;
    });
  }

This code works fine on Android and I am able to display and purchase IAP there.
Any suggestions on what I might be missing?

Thanks,
Radha