Skip to content Skip to sidebar Skip to footer

Purchase Failed Please Try Again: Skerror Domain Code: 0

In our series of manufactures, my team and I are talking most in-app purchases implementation for iOS. And this is the fifth commodity in a serial. Follow the links to read previous articles:

  1. ‍iOS in-app purchases, office 1: configuration and adding to the projection.
  2. iOS in-app purchases, office 2: initialization and purchases processing.
  3. iOS in-app purchases, role 3: testing purchases in XCode.
  4. iOS in-app purchases, office 4: server-side receipt validation.
  5. iOS in-app purchases: the list of SKError codes and how to handle them.

In this mail service, I will address the SKErrors: what issues they imply and what to do nearly them. For each error, we will work out three aspects: why it occurs, how to handle them, and what message to display in the mistake notification.

⭐️ Download our guide on in-app techniques which will make in-app purchases in your app perfect

SKError.Code.unknown, lawmaking 0

What information technology ways. An fault occurred for an unknown reason.

How to set up it. No action is needed from the developers' side. This fault as well comes on a asking when trying to get products when using the iOS 14 and above simulator. In this example, to get a product, employ the StoreKit local testing or a existent device/emulator with the iOS version below iOS 14.

What bulletin to display. Sorry, the purchase is unavailable for an unknown reason. Please try over again afterward.

SKError.Code.clientInvalid, code 1

What it means. The user cannot make a purchase. For example, a kid tries to buy something when the parental control function on the device is on.

How to prepare it. No action is needed from the developers' side.

What message to display. The buy cannot be completed. Delight, alter your business relationship or device.

SKError.Lawmaking.paymentCancelled, code 2

What it means. The user got to the payment screen, but inverse his listen about making a purchase and clicked "cancel".

How to prepare it. From a technical indicate of view, no error occurred and, in this instance, aught needs to be washed. From a marketing point of view, you can continue working with such a user, for instance, offer him a discount.

What message to brandish. Yous have two options here. The easiest ane is not to show anything. However, you tin as well try winning a user back with a message similar this: "Y'all have canceled your buy. Are y'all interested in trying a subscription at a discounted price?"

SKError.Lawmaking.paymentInvalid, lawmaking three

What it ways. For some reason, the payment failed: the carte du jour had expired or in that location were not plenty funds for this buy.

How to fix it. No activity is needed from the developers' side.

What message to brandish. Your buy was declined. Please, check the payment details and brand certain there are enough funds in your account.

SKError.Code.paymentNotAllowed, code 4

What it ways. Probably, this card has some purchase restrictions available: limits are set or the online shopping role is unavailable.

How to fix information technology. No action is needed from the developers' side.

What message to brandish. The purchase is not available for the selected payment method. Please, brand sure your payment method allows you to make online purchases.

SKError.Lawmaking.storeProductNotAvailable, code 5

What it means. The user is trying to buy a production that is not available for the region in which this shop is used.

How to gear up it. The developer needs to check products for their availability in the user'south shop and region. For this, you lot tin use SKStorefront.

What message to brandish. This production is not available in your region. Please, change the store and try once more.

SKError.Code.cloudServicePermissionDenied, code 6

What it means. The user didn't give admission to the information of his Cloud service.

How to set up it. No action is needed from the developers' side.

What message to display. To be honest, I accept never met such an fault. Actually, you can just write that the purchase was declined.

SKError.Code.cloudServiceNetworkConnectionFailed, code 7

What it ways. The device was non connected to the Net when making a purchase.

How to prepare it. No action is needed from the developers' side.

What message to display. The purchase cannot exist completed because your device is not continued to the Internet. Please, effort once more later with a stable internet connectedness.

SKError.Code.cloudServiceRevoked, code viii

What it means. This device doesn't have access to the StoreKit payment service. Unremarkably, this error occurs in Sandbox.

How to fix information technology. Create a new Sandbox user or merely effort repeating the performance.

What bulletin to display. Deplorable, an error has occurred.

SKError.Lawmaking.privacyAcknowledgementRequired, code ix

What information technology means. The user didn't accept the terms of apply in the AppStore. Equally it's said in the documentation, "the user has not yet acknowledged Apple's privacy policy for Apple Music". Simply it looks like an error, considering there is no reason to mention Apple Music here.

How to fix it. No activeness is needed from the developers' side.

What message to display. The purchase cannot be completed because you have non accepted the terms of use of the AppStore. Delight, ostend your consent in the settings and and then return to the purchase.

SKError.Lawmaking.unauthorizedRequestData, code 10

What it means. Your app ID doesn't contain the required entitlement for using StoreKit.

How to fix it. You need to cease the setup process of in-app purchases for your app.

What message to display. An error has occurred. Please, try over again later.

SKError.Lawmaking.invalidOfferIdentifier, code eleven

What it ways. The user is trying to buy a product with an wrong promotional offer.

How to fix it. No action is needed from the developers' side.

What message to display. The promotional offering is invalid or expired.

SKError.Code.invalidSignature, lawmaking 12

What information technology means. The signature for the promotional offer for the StoreKit request was generated incorrectly.

How to set up it. Check how the signature is generated and fix the errors. If you lot use Adapty, download the Subscription Key.

What message to display. Sorry, an error has occurred when applying the promo code. Please, try again later on.

SKError.Code.missingOfferParams, lawmaking thirteen

What it ways. Parameters of the promotional offer are formed incorrectly.

How to fix it. Cheque and correct the parameters of your promotional offer.

What message to display. Sorry, an error has occurred when applying the promo offering. Please, try over again afterwards.

SKError.Code.invalidOfferPrice, code 14

What information technology ways. The user is trying to buy a product with an irrelevant toll. Probably, the price displayed in the AppStore is no longer valid.

How to set information technology. Set the updated price for this offer in the AppStore.

What message to display. Sorry, your purchase cannot be completed. Please, try once again after.

Decision

Correct fault handling improves user experience and can render at least some of those users who could not pay for the subscription immediately for some reason. These are the almost mutual mistakes when implementing purchases in an iOS app:

  • SKError.Code.unknown, an unknown error;
  • SKError.Code.paymentCancelled, when the user cancels the buy;
  • SKError.Code.paymentInvalid, when the payment tin can't be processed.

Really, error handling and purchase implementation are cumbersome processes. So I would recommend trying Adapty SDK for iOS, which makes implementing in-app purchases easier and provides other benefits, such as subscription analytics, accomplice analysis, a/b tests for paywalls, and server-side receipt validation.

meltonaguire.blogspot.com

Source: https://adapty.io/blog/ios-in-app-purchases-part-5-list-of-skerror-codes-and-how-to-handle-them

Post a Comment for "Purchase Failed Please Try Again: Skerror Domain Code: 0"