IAP iOS some user fail to trigger onSuccess listener but get charged

my apple id do have same issue, cannot repurchase and restore, no success callback.

i believe it is not about scam as i search, there are many people having same issue which not using sdkbox iap but other. its still a bug even i cant reproduce it.

so i try to find a solution to prevent and solve the issue but sdkbox is not open source.

@Zinitter your apple id still have the same issue, your transaction is “Pending”? how about let Apple canceled the transaction, and you try to repoduce this issue. and share the steps.

i have contacted apple support regarding my id issue, but the IAP is redeemed with promo code, they cannot canceled the transaction like you pay with money.

my id get stucked when i initialize Google Analytics / Firebase first over IAP, the purchased process is success just the success callback listener not trigger to complete the required code in app. the app didnt crash or switch to background / another app.

i fixed the initialize sequence and try restore / repurchase IAP, it get stuck after the message “Your purchase will be restore for free”.

so, you change invoke sequence like follow will fix this issue?

sdkbox.IAP.setListener({
    onSuccess : function (product) {
    },
    ...
});

sdkbox.IAP.init();
sdkbox.OtherPlugin.init();
....
sdkbox.IAP.init();

sdkbox.firebase.Analytics.init();
or
sdkbox.PluginGoogleAnalytics.init();

it doesn’t complete fix the issue, the issue still will occur for some users.

i believe there are race conditions on the listener for getting IAP events between IAP and Analytics even init IAP plugin first, not sure about the device internet connection or Apple IAP server issue.

my temporarily solutions are as below although i havent test them yet, hope it can give you some idea.

  1. turn off analytics until user success purchased IAP

  2. init analytics after IAP listener initialized

    onInitialized : function ( success )
    {
    sdkbox.firebase.Analytics.init();
    },

thank you.

We don’t have the source code for Google Analytics/Firebase. However, we’ll do some research on this to see if the analytics plugin stops the IAP event.

yes, googleanyalytics/firebase will register ios iap TransactionObserver, so, iap must register first of all.

hello,
I find error message when I compile in cocos creator.
Like as:
Simulator: AL lib: (EE) ALCmmdevPlayback_open: Device init failed: 0x80070490
I don’t know what it is mean?
Please help me in a short time.
Thank you for your reply.