0
votes

We've seen some customer that goes through our IAP with auto-renewable subscription, but got a SKPaymentTransactionStateFailed when processing the payment in

  • (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

And when check the transaction error by reading transaction.error, it is SKErrorUnknown.

How do we prevent this?

1

1 Answers

0
votes

Nothing you can do to prevent it, as it's a system generated error by apple's server. Presumably you're already handling the error gracefully in your interface by informing the user / cleaning up the transaction (always call finishTransaction: on the payment queue) and interface, etc...

If you really want to figure out what's going on, you'll probably have to debug the customer. Do they have an expired credit card on file with Apple? Can they make appStore purchases for other apps, but not yours? Have you noticed other users with this problem? Can other customers successfully purchase this subscription? etc...

As long as your app handles the SKPaymentQueue response well, and other customers can successfully purchase, then the problem is upstream from your app, and somewhere between the user and the AppStore.