Skip to content

[in_app_purchase] Use StoreKit 2 APIs #116383

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
bahadirarslan opened this issue Dec 1, 2022 · 30 comments
Open

[in_app_purchase] Use StoreKit 2 APIs #116383

bahadirarslan opened this issue Dec 1, 2022 · 30 comments
Assignees
Labels
c: proposal A detailed proposal for a change to Flutter customer: crowd Affects or could affect many people, though not necessarily a specific customer. Bot is counting down the days until it unassigns the issue p: in_app_purchase Plugin for in-app purchase P3 Issues that are less important to the Flutter project package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team

Comments

@bahadirarslan
Copy link

As you are aware Apple updated StoreKit and released StoreKit 2 last year which includes bunches of new features and some changes especially it uses JWT tokens so there is no need to make another call to Apple to verify receipts.

I searched issues, PR's about Store Kit 2 but couldn't see anything so I wanted to ask is there are any plans about using StoreKit 2?

@darshankawar darshankawar added the in triage Presently being triaged by the triage team label Dec 2, 2022
@darshankawar
Copy link
Member

Treating this as a potential proposal and for team's tracking.

@darshankawar darshankawar added p: first party p: in_app_purchase Plugin for in-app purchase platform-ios iOS applications specifically c: proposal A detailed proposal for a change to Flutter and removed in triage Presently being triaged by the triage team labels Dec 2, 2022
@jmagman
Copy link
Member

jmagman commented Dec 2, 2022

We have a design doc for this that, currently blocked on in_app_purchase plugin migrating to Swift.

See also https://flutter.dev/go/ios-plugins-swift-migration and comment in that doc.

@cyanglaz I don't see an open GitHub issue tracking this work, are you aware of one?

@cyanglaz
Copy link
Contributor

cyanglaz commented Dec 2, 2022

@cyanglaz I don't see an open GitHub issue tracking this work, are you aware of one?

No, I think we can use this one.

@cyanglaz cyanglaz added the P3 Issues that are less important to the Flutter project label Dec 2, 2022
@jmagman jmagman changed the title [in_app_purchase] Supporting StoreKit 2? [in_app_purchase] Use StoreKit 2 APIs Dec 2, 2022
@flutter-triage-bot flutter-triage-bot bot added the package flutter/packages repository. See also p: labels. label Jul 5, 2023
@Hixie Hixie removed the plugin label Jul 6, 2023
@flutter-triage-bot flutter-triage-bot bot added multiteam-retriage-candidate team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team labels Jul 8, 2023
@bahadirarslan

This comment was marked as duplicate.

@saviourdog

This comment was marked as duplicate.

2 similar comments
@dodatw

This comment was marked as duplicate.

@caibou

This comment was marked as duplicate.

@LegendAF
Copy link

Where exactly is the starting point to get the ball rolling on supporting StoreKit 2? How can the community help? It has been 2 years and supporting subscriptions with in_app_purchase is more painful than it should be.

@jmagman
Copy link
Member

jmagman commented Jan 24, 2024

We definitely hear you that this is still really painful to use and that it has been for a few years.

There are three pieces to this:

The community can help us by testing these incremental changes and filing issues so we can fix them asap.

@dodatw
Copy link

dodatw commented Jan 25, 2024

@jmagman Thank your update.
Is there any schedule, roadmap for these task?
We are waiting long time. StoreKit2 can help us improve some payment issue. It is good for app developer.

@jmagman
Copy link
Member

jmagman commented Jan 25, 2024

I can't give you a schedule, but you can track our progress in #119106, #117910, and this issue. For example flutter/packages#5910 had updates 15 minutes ago.

We certainly know it is a good thing to do for app developers. 🙂 Further commenters please review Do not add "me too" or "same" or "is there an update" comments to bugs and When will my bug be fixed? in our wiki, let's keep comments focused on meaningful content. Thanks!

auto-submit bot pushed a commit to flutter/packages that referenced this issue Aug 29, 2024
Bump Xcode analyze minimum check version iOS 13 -> iOS 14 and macOS 12.3 -> macOS 13.

- Hit StoreKit2 deprecations. Exclude `in_app_purchase_storekit` to work around StoreKit 1 deprecation warnings.  Added a TODO to remove the exclusion when StoreKit2 is adopted (this should happen in the next few weeks) flutter/flutter#116383.
- Hit flutter/flutter#153587, fixed in #7513
- Hit flutter/flutter#125901 which was `#pragma`'d out in #6221

See related flutter/plugins#5778 and flutter/flutter#102835
auto-submit bot pushed a commit to flutter/packages that referenced this issue Aug 29, 2024
… and products (#7473)

This PR contains support for StoreKit2's [canMakePayments](https://developer.apple.com/documentation/storekit/appstore/3822277-canmakepayments) and [products](https://developer.apple.com/documentation/storekit/product/3851116-products).

This also contains basic scaffolding for SK2 support, such as pigeon translators.

Part of flutter/flutter#116383
@zhuscat
Copy link

zhuscat commented Sep 4, 2024

Really need the isEligibleForIntroOffer in StoreKit 2.

I really hope this feature can be implemented soon.

https://developer.apple.com/documentation/storekit/product/subscriptioninfo/3791958-iseligibleforintrooffer

@LouiseHsu
Copy link
Contributor

flutter/packages#7473
Support for basic function product fetching and app store checking has been merged.
The next pr will be for purchasing and transactions.

@Kaelten

This comment was marked as duplicate.

@likw99

This comment was marked as duplicate.

@darshankawar darshankawar added the customer: crowd Affects or could affect many people, though not necessarily a specific customer. label Oct 24, 2024
@jmagman
Copy link
Member

jmagman commented Oct 24, 2024

It's actively being worked on, there's no need to comment that it's important.

This big one landed just last week:
flutter/packages#7887

@LouiseHsu
Copy link
Contributor

LouiseHsu commented Nov 11, 2024

As of these three PRs, the base in_app_purchase_storekit plugin has been updated to be able to use Storekit 2 APIs! Right now this is experimental and you can enable it by calling it enableStoreKit2(). You can try this out in the example project. With this base laid down, it should be much easier to add StoreKit2 functionality in the future, such as subscription management. Please be noted that Storekit2 is only available for devices running iOS 15 and above.

We encourage you to try it out and report any issues you encounter, or any important StoreKit 2 functionality that is important to you. I’ll add these to this umbrella issue as they come in. You guys are also welcome to tag me directly! We also love contributions, like this great PR to add the expiration date!

Once any major bugs have been ironed out, StoreKit 2 will be on by default for devices above iOS 15, while devices below will fall back to the original StoreKit API.

Thank you for your patience everyone! :)

@flutter-triage-bot
Copy link

This issue is assigned to @LouiseHsu but has had no recent status updates. Please consider unassigning this issue if it is not going to be addressed in the near future. This allows people to have a clearer picture of what work is actually planned. Thanks!

@huycozy huycozy marked this as a duplicate of #165654 Mar 24, 2025
@flutter-triage-bot flutter-triage-bot bot added Bot is counting down the days until it unassigns the issue and removed Bot is counting down the days until it unassigns the issue labels May 13, 2025
@flutter-triage-bot
Copy link

This issue is assigned to @LouiseHsu but has had no recent status updates. Please consider unassigning this issue if it is not going to be addressed in the near future. This allows people to have a clearer picture of what work is actually planned. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: proposal A detailed proposal for a change to Flutter customer: crowd Affects or could affect many people, though not necessarily a specific customer. Bot is counting down the days until it unassigns the issue p: in_app_purchase Plugin for in-app purchase P3 Issues that are less important to the Flutter project package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team
Development

No branches or pull requests

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy