StoreKit

RSS for tag

Support in-app purchases and interactions with the App Store using StoreKit.

StoreKit Documentation

Posts under StoreKit tag

345 Posts
Sort by:
Post not yet marked as solved
1 Replies
168 Views
Apple automatically refunds the prorated amount on the original subscription after it is upgraded. Since upgrades happen immediately and start a new billing cycle beginning from the day of upgrade, the previous original subscription is refunded for the prorated amount. Is there any way to retrieve the amount that was refunded by Apple? The transaction that was upgraded is marked with isUpgraded flag to true but the price field on it still shows the full amount and there is no App Store Server Notification that tells us how much was the refund. How do I get the refunded amount?
Posted
by kalehv.
Last updated
.
Post not yet marked as solved
3 Replies
81 Views
As an indy developer, it's prohibitive to start developing backend receipt validation services. Is there anything else in Apple's technologies that we can use to verify whether the person who is using my app, has paid for it? The first thing I thought of when Apple rolled out Sign in with Apple ID, was hopefully, it would include some API that would allow me to ask a simply question: did this Apple ID pay for my app? As an indy developer, this is the one feature that would keep my paid app on the Mac App Store. Anyone have any good suggestions for solving this as an indy developer?
Posted Last updated
.
Post not yet marked as solved
0 Replies
24 Views
In StoreKit 1 and Objective-C, how do I obtain currently active subscriptions? I'm trying to obtain this information: The currently active (i.e. valid and not refunded) subscription in a subscription group A "pending" subscription, if any (when changing subscription types mid-period), and its starting date Sadly, all StoreKit 1 documents are buried deep under StoreKit 2 docs. Using StoreKit 2 is not an option.
Posted
by LIJI32.
Last updated
.
Post not yet marked as solved
2 Replies
71 Views
Hi, I am processing both REFUNDED and REVOKED transactions on the client-side and on the server using Apple's App Store Server Notifications (V2). For transactions with an inAppOwnershipType of FAMILY_SHARED, I receive REVOKE notifications that (sometimes) do not include a revocationDate. What does this imply, and what actions should I take? Additionally, when I query their transaction IDs using the App Store API, they also lack a revocationDate and do not appear in the results when I filter for revoked transactions. Is it appropriate to block these users? Why are server-to-server REVOKE notifications sent in the first place if the transaction does not appear as revoked in the API? Thanks
Posted
by nktbcc.
Last updated
.
Post not yet marked as solved
0 Replies
74 Views
I have been trying to enable in app purchase in sandbox environment but instead it keeps performing transactions in Xcode. Also Apple says in its docs to set up sandbox tester account in Settings > App store without signing out from the non sandbox account, and says the sign in will appear as soon as we perform a transaction on device, but it does not worked for me I have ensured and tried following things: Created sand box tester id Storekit configured , all the plans fetched Has development team Tried signing in Sandbox account Checked whether I am testing in production or development build by if else (It was in development) Tested on real device Please help me get through this
Posted Last updated
.
Post not yet marked as solved
0 Replies
45 Views
After the 'present' method is called in SKOverlay, the system will first load the SKOverlay and do the present animation after loading is complete. However, the user may leave the page during the loading process. At this time, we will call the 'dismiss' method (at this time, SKO may not have appeared, or SKO may be doing the appearance animation). According to my online statistics, there are some situations. a. SKO did not display (this is as expected) b. SKO suddenly appeared quickly and then disappeared after leaving the page for a while c. SKO displayed after leaving the page and did not disappear automatically. Do we have a way to completely solve problems b and c? Why can't dismissOverlayInScene completely stop the previous SKO's present task now? I would greatly appreciate it if I could get more information here to deal with this problem.
Posted Last updated
.
Post marked as solved
5 Replies
3.3k Views
Dear all, This is my first post in this forum - and, in fact, my first app, too! I'm glad to be here, and thanks in advance for your help. I'm looking to offer an app for a one-time payment. I'd also like people to be able to try the app for a week. It seems that the "Pricing and Availability" section in App Store Connect is not the right place to configure this kind of offer. It does allow me to set a one-time price, but I cannot find a trial-period there (or am I missing something?) Two different strategies seem possible here: Using in-app-purchases: make the actual app free, but ask users after a week to buy a non-consumable IAP. The problem with that: I need to verify that the app has been installed for seven days ... even if it has been uninstalled at some point. Using subscriptions: There is a "free trial" option for subscriptions. But after that free trial, subscriptions are being payed periodically. I'd rather have the user only pay once for lifetime-access. Some apps seem to use strategy 1 - I believe the "Lap swim" app does. But still it seems like a bit of a hack - is there a more elegant way to achieve this?
Posted Last updated
.
Post not yet marked as solved
0 Replies
125 Views
Hi all, first post ever here so apologies if information are not enough and thanks in advance for your help. PRODUCT & TECH INFO Ionic + Angular app with subscription plans to be activated via IAP with newly enabled third party subscriptions management platform (Recurly). CONTEXT After activating and migrating our clients to the new platform, the users with IAP subscriptions could not be linked with the platform but their Apple subscription remained active. QUESTIONS What will happen if we ask users to retry the purchase of their exact active subscription through our mobile app checkout when coming to the Apple subscription panel? If the plan is the same, is Apple gonna be smart enough to reconnect the active subscription to the purchase without processing a new payment? The issue is that - at the moment - some users are paying their subscription with Apple but are not active in our Recurly platform so they look like not-subscribed users. Hope I could explain our issue properly! Thanks again in advance for the help!
Posted Last updated
.
Post not yet marked as solved
0 Replies
133 Views
I'm an Apple developer but I'm currently trying to test someone else's app that uses StoreKit for in-app purchases. The app is being tested using TestFlight. When I run the app, I always get a StoreKit error. On the screen, I see: "App Store communication failure, please try later" (with a close button to dismiss it) In the app's console I see: "StoreKit: Unable to Complete Request" This happens with 3 different apps that the company is currently testing. No one else that is testing is getting this issue. StoreKit is working fine for them. I suspect the problem has to do with the fact that I'm an Apple Developer as well. There must be something about my account that is tripping up StoreKit. I don't currently have any Sandbox test accounts. None of my apps are currently in testing. Anyone have any thoughts? I did capture a log from the Console App, filtering on StoreKit: StoreKitFailure.txt If you search the log for my email address "bill at otherwise dot com" you will see some errors that may mean something to someone.
Posted Last updated
.
Post not yet marked as solved
1 Replies
178 Views
Struggling for weeks to publish a new update of my app, which includes the first-time submission of a subscription with auto-renewal. It's constantly being rejected due to the following issue: We have started the review of your app, but we are still not able to continue because we cannot locate the in-app purchases within your app at this time. Next Steps To help us proceed with the review of your app, please reply to this message providing the steps for locating the in-app purchases in your app. If you are restricting access to in-app purchases based on factors such as storefront or device configurations, please include this information in your reply along with steps to enable the in-app purchases for our review. No further information is provided, no communication on the steps being taken by Apple. Additionally, I have already provided a comprehensive description during submission on how to access the In-App Purchase (IAP) as text and video. What's kind of interesting: the app got rejected, but the related subscription is still in state "waiting for review". Has anyone else experienced a similar issue?
Posted Last updated
.
Post not yet marked as solved
0 Replies
144 Views
When I make a purchase with the Simulated StoreKit Failures, it indicates that the purchase was successful. When I click OK on the alert, only then does the storekit error appear in the console. It seems like it is waiting to verify the transaction until I click 'Okay' in the alert. Why doesn't he do the transaction verification immediately and wait to show the success alert? See video I take these steps: I make the purchase in the app. This is successful according to StoreKit and you will receive an alert that the purchase was successful. I press 'Okay' in the success alert. When I press "Okay" in the alert I see that the transaction failed because it could not be verified. So it seems that he only carries out the verification of the transaction as soon as I click away the success alert. ^Failed transaction message func purchase(_ product: Product) async throws -> Transaction? { print("Transactie gestart.") let result = try await product.purchase() switch result { case .success(let verification): print("Transactie doorgezet naar verificatie.") let transaction = try checkVerified(verification) //The transaction is verified. Deliver content to the user. await updateCustomerProductStatus() //Always finish a transaction. await transaction.finish() return transaction case .userCancelled: print("Transactie geannuleerd door de gebruiker.") throw StoreError.failedVerification case .pending: print("Transactie in afwachting van actie door de eindgebruiker.") return nil default: print("Er heeft zich een onbekende fout voorgedaan.") throw StoreError.failedVerification } } func checkVerified<T>(_ result: VerificationResult<T>) throws -> T { //Check whether the JWS passes StoreKit verification. switch result { case .unverified: print("Transactie mislukt doordat hij niet geverifieerd kon worden.") throw StoreError.failedVerification case .verified(let safe): let _ = print("Transactie is geverifieerd.") return safe } }
Posted
by Wouter_D.
Last updated
.
Post not yet marked as solved
0 Replies
314 Views
Hi, I have a 12 months subscription which I generated some offer codes for. I generated 25000 of them manually in App Store Connect (One-Time Use Codes). I want to send those codes to users by push notifications and I need to show the final price when the code will be applied. The problem is that I use the native sheet, which only shows the price after the user entered the code. Is there an API that I can hook into to retrieve that price? Otherwise, the best I could do would be to calculate ActualPrice * Discount (because I know the discount since I created the codes), but I am afraid it will not be accurate enough, because it is not possible to select price for offer codes with that precision.
Posted Last updated
.
Post not yet marked as solved
0 Replies
177 Views
Hello, we are using StoreKit's requestReview API to request App Reviews. From my understanding the app review alert will reliably appear in development builds, but only 3 times out of 365 days in production builds. We are building an app for a customer and they want to test the app to see that the app review functionality is implemented. One option is to provide them with a development build, and add their device ID to the developer portal. They can then tap a button (for example) and see the app review alert. However, this is not a scalable solution. Are there alternative ways, or other types of builds that we can provide the customer where the app review alert would reliably appear like it does for a development build?
Posted Last updated
.
Post not yet marked as solved
0 Replies
176 Views
I created a Bible app, and I am wondering if I am able to use In App Purchases to give users the opportunity to pay to sponsor a verse, within the app and their name would be be displayed in the app next to the verse they sponsored. I am willing to pay fee to Apple so do not insist register this one as donation. I think I am going to users buy sponsor points and let users to see table with user name and sponsor points they bought who has purchased sponsor item once at least. Is this possible under Apple's Guidance with In App Purchase?
Posted Last updated
.
Post not yet marked as solved
0 Replies
135 Views
Does StoreKit offer an option for a product that combines auto-renewable and consumable features? Specifically, I'm referring to a scenario where a user subscribes to a product and receives 100 tokens each month. If the user exhausts these tokens within the month, they must wait until the next month to receive another 100 tokens. Essentially, the user cannot access the product if they deplete the monthly allocation of tokens provided by the auto-renewable subscription. In this setup, the 100-token package per month constitutes the auto-renewable aspect, while the tokens themselves represent the consumable part. Is there a straightforward solution available within StoreKit for implementing this functionality? If not, what would be the recommendation?
Posted Last updated
.
Post not yet marked as solved
0 Replies
217 Views
I created a Bible app, and I am wondering if I am able to use In App Purchases to give users the opportunity to pay to sponsor a verse, within the app and their name would be be displayed in the app next to the verse they sponsored. Is that going against Apples Guidelines?
Posted
by sf2310.
Last updated
.
Post not yet marked as solved
0 Replies
178 Views
What I mean by "fake" here is some sort of button which will state "Buy a pass for 4.99$" and then, once you click it, it will tell you that the app is still in early phase and so the pass is actually free. Reason for wanting this: We'd like to test the willingness to pay without going through the hassle of setting up everything related to having real in-app purchases.
Posted
by GabMaz.
Last updated
.
Post not yet marked as solved
1 Replies
214 Views
I have an app in store which has in app subscription, while checking for renewal it is not providing me exact end date of subscription based on which I have to lock / unlock certain features. It never fetch right date to verify, this is seriously a little thing which seems to be too complicated.
Posted Last updated
.
Post not yet marked as solved
1 Replies
176 Views
Hi, For a user who subscribed a product via In-App Purchase, how does the application backend know that the user is still subscribed? The initial purchase happens on the mobile app. Via receiving and validating the receipt of initial purchase, the backend of mobile app would be informed. However, what is the appropriate option for the subsequent subscription payments? How do I know whether the user is still paying? Thanks.
Posted
by selbe.
Last updated
.