Customers are getting charged though they fall under SKPaymentTransactionStateFailed.

Hi,


Our customers are regularly complaining that after making payment through Apple in app purchase, they continue to remain a free member although their account is getting charged. Upon investigating this, we found that we're getting back SKPaymentTransactionStateFailed response in such cases. Hence, we assume that the transaction failed and customer remains a free member on app.


We have set logs in each case of paymentQueue callback to track the issue. But it seems for some users, it falls under SKPaymentTransactionStateFailed case every time they try to buy membership. It results in same failed case and they get charged for this.


We would like to know the reason why would this happen. As this issue is affecting our premium users, we would like to resolve it at the earliest. Hence, we would highly appreciate a quick help.


Regards,

When a user tries to make an IAP purchase and their credit card information needs to be updated then the app store asks them to update that information before proceeding with the purchase. If they proceed with the purchase after updating their credit card information then StoreKit will make two calls to updatedTransactions - the first with SKPaymentTransactionStateFailed followed immediately by another call with SKPaymentTransactionStatePurchased. perhaps your code cannot handle these two calls. If so, then the user is sitting with a transaction in their queue waiting to call updatedTransactions as soon as your app executes an addTransactionObserver

Customers are getting charged though they fall under SKPaymentTransactionStateFailed.
 
 
Q