React-native-iap: getProducts() always returns emtpy array on ios

Created on 13 May 2020  Â·  16Comments  Â·  Source: dooboolab/react-native-iap

Version of react-native-iap

3.3.7

Version of react-native

0.60.4

Platforms you faced the error (IOS or Android or both?)

only on ios

Expected behavior

getProducts returns array of products

Actual behavior

returns empty array
it is working well on android

Tested environment (Emulator? Real Device?)

Emulator and Real Device

Addition

All in app purchase products were already approved in app store.
I also tried to use version 4.4.8, but no difference. :(
Please help me.

Most helpful comment

I had the same issue. I filled the agreement for in app purchase, complete your contract, tax, and banking Information. You need a VALID contract. Also I added screenshots to the sections (App Store Promotion (Optional) and Review Information even though its says optional) in App Store Connect (in app purchases). Make sure your products in In-App Purchases have status Ready to Submit. Finally after that I got products from calling getProducts(). Hope this help.

All 16 comments

I had the same issue. I filled the agreement for in app purchase, complete your contract, tax, and banking Information. You need a VALID contract. Also I added screenshots to the sections (App Store Promotion (Optional) and Review Information even though its says optional) in App Store Connect (in app purchases). Make sure your products in In-App Purchases have status Ready to Submit. Finally after that I got products from calling getProducts(). Hope this help.

@magic990619 did you able to get products in android ?

Yes, I can get products on android.
It is really working well on android.

@magic990619 can you please tell me the steps you followed. For me android did not work it always return empty array

Did you create in app purchase products on google developer console?

Yes. Did you release your app for production in order to test ?

yes, I did

For test, I added sandbox test user. I had a test with that account.

I think thats why i am not able to fetch products. Thanx @magic990619

I'm facing the same problem with getSubscriptions()... last week as OK, since Thursday it fails :/
I tried v4.4.1, v4.4.8, and v4.3.3 (actually a typo)...

The code is simple:

const loadSubscriptions = React.useCallback(async () => {
    console.log('>>> loadSubscriptions 1');
    await IAP.initConnection();
    console.log('>>> loadSubscriptions 2');
    const skus = [
        // REDACT
    ];
    console.log('>>> loadSubscriptions 3', skus);
    let options: Subscription[] | Product[] = await IAP.getSubscriptions(skus);
    console.log('>>> loadSubscriptions 4', options);
    if (options.length === 0) {
        options = await IAP.getProducts(skus);
        console.log('>>> loadSubscriptions 5', options);
    }
}, []);

I went all the way to the native code and

productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];

is called properly, with the expected SKUs...

but

-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response

is called with 0 items...

Any suggestion about what may be the problem?
The items on App Store Connect are ready to submit

I am also getting an empty array.
Please let me know what is wrong.

I got it back working after a while. Still not sure what's going on

I got it working.
The reason was I didn't sign Paid Applications Agreement in App Store Connect.
My products were already approved, but I didn't sign Paid Applications agreement because my app is free.
I have signed the Paid Applications agreement in App Store Connect. Then my products were fetched. It is working on both of emulator and physical device.
Thanks, heron2014, Your answer is much help for me.

Thanks

On Sun, May 31, 2020 at 1:17 PM magic990619 notifications@github.com
wrote:

I got it working.
The reason was I didn't sign Paid Applications Agreement in App Store
Connect.
My products were already approved, but I didn't sign Paid Applications
agreement because my app is free.
I have signed the Paid Applications agreement in App Store Connect. Then
my products were fetched. It is working on both of emulator and physical
device.
Thanks, heron2014, Your answer is much help for me.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dooboolab/react-native-iap/issues/1004#issuecomment-636507881,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMHCZ7ZGLYFGBCANJZMSZNLRUKNMVANCNFSM4NAAURQA
.

When I connect Tax/Banking, I will see that. :) I think it will work for
me. I will feel free to delete this issue on git

On Sun, May 31, 2020 at 1:51 PM Senior Dev tom202221@gmail.com wrote:

Thanks

On Sun, May 31, 2020 at 1:17 PM magic990619 notifications@github.com
wrote:

I got it working.
The reason was I didn't sign Paid Applications Agreement in App Store
Connect.
My products were already approved, but I didn't sign Paid Applications
agreement because my app is free.
I have signed the Paid Applications agreement in App Store Connect. Then
my products were fetched. It is working on both of emulator and physical
device.
Thanks, heron2014, Your answer is much help for me.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dooboolab/react-native-iap/issues/1004#issuecomment-636507881,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMHCZ7ZGLYFGBCANJZMSZNLRUKNMVANCNFSM4NAAURQA
.

I had a similar issue on iOS. My in-app products were in "Missing metadata" stage. Dev worked, but release did not.
Once completed and approved by Apple, everything came out properly.

Was this page helpful?
0 / 5 - 0 ratings