Post not yet marked as solved
The App Store receipt data has transaction id but I don't see a transaction id available in any of the tables we get from App Store Connect data. The App Store receipt data has our internal user id tied to the transaction id which I want to join with App Store Connect data that has the price, currency, promo etc.
Post not yet marked as solved
We have a question related to in app purchases and subscriptions. We would like to know if it is possible to explain the following error:
https://developer.apple.com/documentation/storekit/skerror/code/unknown
This error happened 223 times in May alone, and the only message we are getting is "An unknown error occurred", but what are the causes for this issue and how can we fix it?
Is there a list of all possible reasons?
Thanks,
Tawazon Team
Post not yet marked as solved
No one answered, so I'm posting the question again
my previous question link is this https://developer.apple.com/forums/thread/706736
Hello, I am currently using version 2 notification.
Nevertheless, I think I have to do check back with the App Store to get status is as follows.
It does not pass the current status to notification itself. I can guess the status through eventType & subType, but I thought it should be updated through the API because the exact status is given through API.
The server failed to receive Notification, so it was determined that the order of notification may not be guaranteed through retry, etc.
So, I tried to call the get subscription status API when I receive a server notification version 2 because I thought that getting the latest status from the server and updating it would keep it in the right state.
I wonder if this is the right way to do it. Please give me your advice on this. Thank you.
Post not yet marked as solved
Is it possible to set up that one user of my app pays an auto-renewable subscription that will enable premium features for him/her but also for several other users of his/her choice?
The price for the subscription should depend on the number of these users of choice.
Post not yet marked as solved
I am developing an app for iphone only, including a monthly subscription.
Receipt validation is done on the server side and using the framework's swiftystorekit.
In the actual machine test, the receipt verification succeeds on the iphone,
but it not succeed when on the iPad.
The error code is as follows.
—-
21002(The data in the receipt-data property was malformed or missing)
—-
In the review, it was rejected because it must be possible to display even apps that are not compatible with iPad.
In the early stages of development, we planed to support iPad as well, and set xcode.
While preparing to submit to the review, I deselected the app for iPad in the xcode settings.
Is this affecting?
It's as if the build is in store kit test mode only on the iPad.
I can't find a reason why iphone can successfully perform receipt verification in a sandbox environment but iPad can't.
I tried the following:
· Clean the build and restart xcode
· Try switching between the store kit test and the sandbox test alternately.
· Check iPad support on xcode setting
· Try installing the app on your iPad from a test flight
But none of them changed the result.
Can you give me an idea of what fixes and changes I can try?
I would appreciate it if you could teach me.
Post not yet marked as solved
Hello Dev team,
Yesterday (05/26) and today (05/27), when I uploaded an app to Testflight, I could not get a Receipt. When I call request(_:didFailWithError:) response is An unknown error occurred. Before, It worked well. What's happened?
Note: Current App on Apple Store works well. I think, Has the subscription on the Testflight environment some problems?
Post not yet marked as solved
Hi,
Is there any Server side API to fetch the price of a In-App Purchase product?
Tried Appstore Connect API and Apple Server API. None of them gives the price value. Appstore connect API returns the list of in-app-purchases but price information is not returned.
Is there any other server side API to get the price value of renewable products?
Post not yet marked as solved
While creating signature for Introductory Subscription Offer
Can any one guide how to get "offerIdentifier"
in developer guide line it is give that offerIdentifire will be available at -" The subscription discount identifier, identifier. The app can provide this value." but I'm not able to find it.
I am follow this link:
https://developer.apple.com/documentation/storekit/original_api_for_in-app_purchase/subscriptions_and_offers/generating_a_signature_for_promotional_offers
Post not yet marked as solved
I have added 2 Subscription for my app. I have "Promotional Offer" discount too for the subscription. But While testing SKProductDiscount shows Discount count 0 and an alert is showing which say "You are not eligible for offer". I have attached
the screenshoot too. Can any one help to resolve this issue.
Thanks
Post not yet marked as solved
Hi,
We have auto renewable in app purchases in our application. As per the documentation we have configured Production & Sandbox URLs to receive V2 notifications. Also, created multiple sandbox test accounts to see if notifications can be received?
Unfortunately not receiving any of the notifications as mentioned in the documentation to the configured URLs.
If any one resolved this issue already, please comment.
Thanks.
Post not yet marked as solved
I'm currently using a StoreKit configuration file to test auto renewable subscriptions. On my device I am subscribed to subscription with a duration set to weekly. The subscription renewal rate is set to "Monthly Renewal Every 15 Minutes."
This all works fine for awhile. The subscription auto renews. But after a few hours suddenly my app detects that the subscription has expired and the app UI behaves accordingly.
My app does the following:
Looks at the in app purchase receipts and finds the one with the latest expiration date.
If the current date is later than the expiration date of this receipt my app acts like the subscription has expired. I even add a bit of extra time on the expiration date in case an auto renewable transaction gets held up (in the debug environment I add a couple hours).
I don't take any interaction to cancel the subscription in the "Manage StoreKit Transactions" area of Xcode, nor do I do anything programmatically to cancel the subscription. Autorenew just stops working.
I noticed this happens when the in app purchase receipt count is high (currently it is at 1776 in app purchase receipts). So I'm wondering if this is a bug in the StoreKit configuration environment that happens when auto renewing subscriptions causes the in app purchase receipts to grow large and it just quits auto renewing the subscription?
If I navigate to the area in my user interface and resubscribe to the weekly plan it works again for awhile. The issue then will reoccur after a few hours again, forcing me to "resubscribe" to the plan I've never unsubscribed for.
Is StoreKit testing discarding in app purchase receipts when the receipt gets large but instead of discarding the oldest receipt it removes the in app purchase receipt that is not yet expired, thus forcing me to resubscribe?
Anyone else experience this issue with StoreKit testing? Seems like it's an issue with the testing environment but naturally can't be sure.
Post not yet marked as solved
I set up new introductory offers of subscriptions on Monday, it works on my test devices, but not on any production device.
I'm sure the dates are set correctly (at least based on app store connect's web site). I have filed a report to Apple Developer support and no reply yet.
It's been 4 days since the introductory prices are set and supposed to take effect. I've done this many many times in the past, this is the first time that this happens.
Has Apple changed how introductory offers work?
Post not yet marked as solved
Hello, I am currently using version 2 notification.
Nevertheless, I think I have to do check back with the App Store to get status is as follows.
It does not pass the current status to notification itself. I can guess the status through eventType & subType, but I thought it should be updated through the API because the exact status is given through API.
The server failed to receive Notification, so it was determined that the order of notification may not be guaranteed through retry, etc.
So, I tried to call the get subscription status API when I receive a server notification version 2 because I thought that getting the latest status from the server and updating it would keep it in the right state.
I wonder if this is the right way to do it.
Please give me your advice on this. Thank you.
Post not yet marked as solved
Hello,
We have a subscription-based app that we'd like to add an in-app trial registration process to, after which payment would be taken through a sales process outside of the app.
Right now we have in-app links to our website's homepage and then another link to register from our website's homepage if they want an account. Once they go through the trial period, we connect with them to go through a payment process that is entirely outside of our app. We've understood this to be acceptable to the Apple Purchase Policy. We have no in-app purchases at all.
With regard to moving the free trial registration to our app, we've read the Apple Purchase Policy so many times and it's unclear if a free trial registration inside the app (and eventually where payment is solicited and directed entirely outside of the app) might violate this policy.
If they chose not to pay after the trial period ends, they would simply lose access to the app (their registration would be restricted). If they did choose to continue with their subscription, they would communicate with us / be communicated with by us entirely outside of the app and would go through a totally separate sales process involving human sales people.
Any examples in the wild, or experiences that anyone has to help us understand how to be compliant, but also flexible to allow free trial registration in our app?
Thanks!
Post not yet marked as solved
Hello, I am implementing StoreKit2.
My app uses Transaction.currentEntitlements to load the user's purchased subscriptions after the app is launched, how the transactions are loaded? (from the AppStore/Internet or from the local receipt)
currentEntitlements doesn't throw any exception, and I'm not sure how to handle the offline case.
Post not yet marked as solved
We are currently offering a standard subscription tier in all of our supported countries. We want to offer a premium subscription only in the US & Canada. Is it possible to enable this plan/tier only for certain countries?
Post not yet marked as solved
Hi, we want to make a app where we are giving discounts codes for affiliate stores what are selling wines.
Right we have website and in order to get acces for a user to those discounts codes he needs to buy from as membership. And we want the same thing for the app aswel.
We manage to build a app compatible with our membership plugin what we are using on website and we can sync everything.
What we want to know if its possible to publish the app without implmenting In app purchase?
Or is mandatory to get this implemented aswell?
Thanks!
Post not yet marked as solved
Hello, I am a backend developer who is developing a payment server.
When the app store server notification is received, I would like to update the current regular payment status using the
https://developer.apple.com/documentation/appstoreserverapi/get_all_subscription_statuses API.
However, whenever you call the API, only one LastTransactionsItem comes. It is currently being tested in a sandbox environment.
Why is there always one LastTransactionsItem?
If so, should I find the group that matches the originalTransactionId and update it to the status of the LastTransactionsItem[0]?
Below is my response. If anyone knows a little about this, please help me.
SubscriptionStatusResponse(environment=Sandbox, appAppleId=null, bundleId=co.hihihihi.example, data=[
SubscriptionGroupIdentifierItem(subscriptionGroupIdentifier=20879849, lastTransactions=[LastTransactionsItem(originalTransactionId=1000000955193630, status=EXPIRED, signedTransactionInfo=, signedRenewalInfo=)]),
SubscriptionGroupIdentifierItem(subscriptionGroupIdentifier=20952548, lastTransactions=[LastTransactionsItem(originalTransactionId=2000000050601533, status=EXPIRED, signedTransactionInfo=, signedRenewalInfo=)])
])
SubscriptionStatusResponse(environment=Sandbox, appAppleId=null, bundleId=co.riiid.StoreKitCatalog, data=[
SubscriptionGroupIdentifierItem(subscriptionGroupIdentifier=20879849, lastTransactions=[LastTransactionsItem(originalTransactionId=1000000955193630, status=ACTIVE, signedTransactionInfo=, signedRenewalInfo=)]),
SubscriptionGroupIdentifierItem(subscriptionGroupIdentifier=20952548, lastTransactions=[LastTransactionsItem(originalTransactionId=2000000050601533, status=EXPIRED, signedTransactionInfo=, signedRenewalInfo=)])
])
Post not yet marked as solved
I'm trying to update my app. I'm submitting a build together with a subscription product. The update is rejected.
So I want to resubmit an update that remove the subscription. But I can't find any option to remove the subscription from the update.
I see this text at the top of the page when I go to edit Subscription:
"At least one of your in-app purchases or subscriptions is associated with a version of an app that's not yet approved. Until this version is approved, you can't submit any changes for review."
I go to the edit version page but there's no place to edit the included IAP / Subscription either.
How do I remove the subscription from the update?
Post not yet marked as solved
Yesterday I could not modify or delete any (multiple same) localizations.
Today, not even the PLUS and the links on the localizations to edit are shown.
My subscriptions have been rejected but I can't change the requirements as the page is not working.
On the left side is a current tab and on the right side is a tab from yesterday that I still had open.