StoreKit

RSS for tag

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

Posts under StoreKit tag

200 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Does StoreKit2 not reliably report available purchases shortly after login?
My app is a login item that gets registered as a background agent using SMAppService. On launch it checks to see that the user has an active subscription, and when I run it from Xcode, this works fine. But it seems that if I restart my machine and it is run from launchd right at login, StoreKit doesn't return any purchases. This results in my app throwing up a window to tell the user to subscribe. It’s hard to be sure this is the behavior, because I can't really use a debugger, and for whatever reason, OSLog is not persisting messages (despite being configured to do so). Does anyone know if it takes a while after restart or login for Store Kit to reliably return purchases?
1
0
403
Feb ’24
Transaction.updates and purchases made on this device
The docs for Transaction.updates say: Use updates to receive new transactions while the app is running. This sequence receives transactions that occur outside of the app, such as Ask to Buy transactions, subscription offer code redemptions, and purchases that customers make in the App Store. It also emits transactions that customers complete in your app on another device. Note that after a successful in-app purchase on the same device, StoreKit returns the transaction through Product.PurchaseResult.success(_:). So Transaction.updates isn't supposed to include transactions for purchases that are made in this instance of the app, right? I have this code to get those transactions: SubscriptionStoreView(groupID: group_id) { } .onInAppPurchaseCompletion() { product, result in ..... } But when I make a purchase using this SubscriptionStoreView, I see that both this .onInAppPurchaseCompletion code and my code observing Transaction.updates is called. Is this expected? Will it work reliably without the .onInAppPurchaseCompletion ? Thanks.
0
0
423
Feb ’24
Get all Products for in a subscription group
If I use SubscriptionStoreView.init(groupID), it seems to be able to look up all the Products that have that subscription group ID. But I don't see any public method for doing that myself. Am I missing something, or is SubscriptionStoreView using a private method to do this lookup? I know that historically it has always been necessary to know the product IDs of all the products you want to sell; you have never been able to ask Store Kit to give you a list. SubscriptionStoreView doesn't seem to have this limitation, which is a bit surprising.
0
2
375
Feb ’24
The store kit review pop up appears hidden behind UI
The store review alert is shown hidden behind UI, I'm 100% sure it shows up, and I can see it when the current view is empty/transparent. I tried using various ways to find the current window, launching on different threads but nothing works. I have no idea what else to try the library doesn't really provide any documentation or anything. If it matters we are using the unity framework in the app, and it is a multi-window app. if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene { serviceProvider.reviewService.requestReview(in: scene) } this is the invocation, the service then calls func requestReview(in scene: UIWindowScene) { SKStoreReviewController.requestReview(in: scene) } the result is that the prompt is shown, but it is hidden behind ui elements, if the view is empty, the prompt is visible and interactable.
0
0
233
Feb ’24
Publishing an app with in-app purchase with webview (PWA)
Hello, I'm trying to publish a PWA application. I got a refusal to publish the app because of the in-app purchase. I asked for more information I need some clarification regarding in-app purchases. The application is a PWA that displays the content of the url https://revisions-crpe.app . The purchase is made on the following site: https://maitresse-jero.com Do you mean that if I make the in-app purchase available by staying on the url https://revisions-crpe.app the application will be approved? I can't use services like StoreKit or Swift development because the application is a PWA. How do other PWA applications with paid services work? Apple's response Hello, We are not able to provide feedback on app concepts or features, but we recommend evaluating your suggestions against the App Store Review Guidelines, as well as the Apple Developer Program License Agreement, and the Human Interface Guidelines. Additionally, if you are considering implementing any of the following functionality, we recommend reviewing all associated reference material and other resources available on Apple Developer for any additional requirements. Apple Developer Apple Copyright and Trademark Guidelines Game Center iCloud In-App Purchase You may also choose to post a question in the Apple Developer Forums. Best regards, My questions So I wonder if offering direct purchase from https://revisions-crpe.app would be enough to get my pwa app published? If not, I don't see how I can do it any other way, as I don't develop in Swift. I use PWABuilder. Thanks for your help! :)
0
0
381
Feb ’24
Calendar Month Pricing / Periodic Month Pricing
Hello, After processing the data I received from another source in my new application, I will offer it for sale as a monthly subscription. However, pricing for my data source is based on calendar month, but subscription flows start from the purchase date and I could not find such a subscription flow in the store kit. How can I draw this flow in a way that doesn't violate app store rules regarding pricing?
0
0
256
Feb ’24
Reward Distribution to users
Hello, I am looking forward to a really quick help. Thank you for taking time. I have an app where I give my users monetary rewards based on the game of skills. I have integrated in-app purchases for users when they want to add an amount to my app to play this game of skill. Now after the results, I would like to send them their monetary rewards to their Apple wallet based on the performance and rules. Is there any way to pass these rewards to users' Apple wallets through in-app purchases?
0
0
187
Feb ’24
[Sandbox] Auto-renewable subscription available to purchase for regions that restricted in availability setting
I'm working on an application that will include auto-renewable subscription functionality. I'm trying to restrict a few products within a group by using the availability option, for example, only for the US. However, for a sandbox account with the Germany region, these restricted products are also available to fetch and purchase using StoreKit after providing their IDs through SKProductsRequest. I tried another scenario where I fetched only products from this group that are available for the sandbox account region in my app. However, after purchasing one of them, in iOS settings on the sandbox account management page, I see a subscription group with all subscriptions, including restricted ones. This means the user is able to purchase them from this page. Could you please advise on an efficient way to restrict my subscriptions per region? Or maybe this is only a sandbox issue because, according to the documentation, these subscriptions should not be available for restricted regions. Thanks in advance!
0
1
496
Feb ’24
App transfer with auto-renewing subscription and on-device verification
Hey everyone! I'm planning to perform an app transfer of my iOS app. The app offers auto-renewing subscriptions and already has quite some subscribers - so I definitely don't want to loose them. I'm using StoreKit2 to perform the IAP and to verify the transactions on device. The code looks something like this for await result in Transaction.currentEntitlements { switch result { case let.verified(transaction): // Locally store which item has been purchased // ... await transaction.finish() default: return } } I'm trying to understand if subscriptions that have been activated on the current Apple Developer Account would still be verified as active after the App Transfer to the new Developer Account. If this is not the case, is there any way to allow already active subscriptions to continue auto-renewing on the new account without verifying the transactions on my own server? I would appreciate any kind of feedback. Thanks in advance!
0
0
264
Feb ’24
In App Purchases button crashing for reviewer, but not for me
Hi, I am trying to add In App Purchases into my app. When I run my code in Xcode on a simulator and my own iPhone, it works perfectly fine. But when I submitted my app for App Review, they said that my app had crashed for them when they tried purchasing something. Why is this? Something that might be the problem is that the In App Purchase in the App Store Connect is still in review, but it's been in review for a very long time(~3-5 days) so I am just going to assume that it will be approved when my app is. Again, the app works completely fine on my device. Here are the three crash logs they gave to me(pastebin is down right now, so using an alternative): https://pastes.io/g7pjx5fp0m https://pastes.io/ftjpcoasam https://pastes.io/5wh0ro6zl2 Here is my code: https://pastes.io/nivmrvwax9 Please help!
1
0
376
Feb ’24
In-App Purchase:No Token Available When Expected.What is this token?
ERROR: 💰 Product purchase for '***' failed with error: Error Domain=RevenueCat.ErrorCode Code=2 "There was a problem with the App Store." UserInfo={source_file=RevenueCat/SKError+Extensions.swift:64, NSUnderlyingError=0x600000c91890 {Error Domain=SKErrorDomain Code=0 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred, NSUnderlyingError=0x600000c68570 {Error Domain=ASDServerErrorDomain Code=1003 "No Token Available When Expected." UserInfo={NSLocalizedFailureReason=No Token Available When Expected.}}}}, readable_error_code=STORE_PROBLEM, NSLocalizedDescription=There was a problem with the App Store., source_function=asPurchasesError} And, I have also tested with SwiftyStoreKit and encountered the same issue.
5
0
610
Mar ’24
Sandbox test user web payment
I have apple web payment integrated on website, and it work fine when i test it using real cards. I wanted to test it using apple TEST cards, so i invited SANDBOX test user from here https://appstoreconnect.apple.com/access/users/sandbox and logged in to test device using this test id. but it fails to start a merchant session. System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) at System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context) at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar) --- End of inner exception stack trace --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Net.Http.HttpClient.d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() at Gateway.MobileWallet.Domain.ApplePay.Clients.RequestPaymentSession.ApplePayPaymentSessionClient.d__3.MoveNext() in
1
0
659
Jan ’24
SKAdNetwork developer profile does not show up for our account
For over a year we have been unable to access the SKAN developer profile and testing customer integrations without one is at best frustratingly slow, at worst impossible due to censorship thresholds. When I visit this page with our developer account, it says there are no results. We have an enterprise account and drive hundreds of thousands of SKAN installs a day so I don't understand how there could be a permissions or licensing issue. Has anyone had a similar issue they were able to resolve? I have contacted support, opened and bumped the issue via Feedback Assistant and, and have even tried contacting people at Apple, but no one seems interested helping us fix the issue.
2
0
343
Jan ’24
IAP usage based billing
I want to charge my customer through my app depending on usage for example - I create an app like Uber and I charge the taxi 1$ on each order created from the app and I collect it at the end of the month, can it be done in Google Play and the app store with IAP and what the rules about it, and if not can I use stripe to do it inside the App or external website that will charge the customer and he will get access to the app as well?
0
0
276
Jan ’24
AppTransaction issues for previous purchases under VPP
Dear StoreKit Engineers, I recently migrated my app to freemium model from paid and am using AppTransaction to get original purchase version and original purchase date to determine if user already paid for the app before or not. It seems to be working for normal AppStore users but I am now flooded with complains from VPP users who previously purchased the app. It seems AppTransaction history is absent for these users and these users are asked to sign-in using Apple ID. What is the solution here?
1
0
430
Feb ’24