[in_app_purchase] Rename iOS implementation to _storekit (#4518)

Renames the iOS implementation package to `in_app_purchase_storekit`, and renames it types and files accordingly, to allow for adding a symlink-based macOS implementation to this package in the future.

Temporarily marks `in_app_purchase` as unpublishable so that this can be a move, rather than a copy-and-delete-later, which makes for difficult reviews and destroys git blame.

Part of https://github.com/flutter/flutter/issues/86076
Supports https://github.com/flutter/flutter/issues/84391
diff --git a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
index 859d0bb..b8fc7f2 100644
--- a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md
@@ -1,3 +1,11 @@
+## NEXT
+
+* **BREAKING CHANGES**:
+  * Renames `in_app_purchase_ios` to `in_app_purchase_storekit`.
+  * Renames `InAppPurchaseIosPlatform` to `InAppPurchaseStoreKitPlatform`.
+  * Renames `InAppPurchaseIosPlatformAddition` to
+    `InAppPurchaseStoreKitPlatformAddition`.
+
 ## 1.0.9
 
 * Handle purchases with `PurchaseStatus.restored` correctly in the example App.
diff --git a/packages/in_app_purchase/in_app_purchase/README.md b/packages/in_app_purchase/in_app_purchase/README.md
index 61803e3..f3ed1e0 100644
--- a/packages/in_app_purchase/in_app_purchase/README.md
+++ b/packages/in_app_purchase/in_app_purchase/README.md
@@ -41,7 +41,7 @@
 1. A generic, idiomatic Flutter API: [in_app_purchase](https://pub.dev/documentation/in_app_purchase/latest/in_app_purchase/in_app_purchase-library.html).
    This API supports most use cases for loading and making purchases.
 
-2. Platform-specific Dart APIs: [store_kit_wrappers](https://pub.dev/documentation/in_app_purchase_ios/latest/store_kit_wrappers/store_kit_wrappers-library.html)
+2. Platform-specific Dart APIs: [store_kit_wrappers](https://pub.dev/documentation/in_app_purchase_storekit/latest/store_kit_wrappers/store_kit_wrappers-library.html)
    and [billing_client_wrappers](https://pub.dev/documentation/in_app_purchase_android/latest/billing_client_wrappers/billing_client_wrappers-library.html).
    These APIs expose platform-specific behavior and allow for more fine-tuned
    control when needed. However, if you use one of these APIs, your
@@ -70,7 +70,7 @@
 The following initialization code is required for Google Play:
 
 ```dart
-// Import `in_app_purchase_android.dart` to be able to access the 
+// Import `in_app_purchase_android.dart` to be able to access the
 // `InAppPurchaseAndroidPlatformAddition` class.
 import 'package:in_app_purchase_android/in_app_purchase_android.dart';
 import 'package:flutter/foundation.dart';
@@ -131,7 +131,7 @@
     } else {
       if (purchaseDetails.status == PurchaseStatus.error) {
         _handleError(purchaseDetails.error!);
-      } else if (purchaseDetails.status == PurchaseStatus.purchased || 
+      } else if (purchaseDetails.status == PurchaseStatus.purchased ||
                  purchaseDetails.status == PurchaseStatus.restored) {
         bool valid = await _verifyPurchase(purchaseDetails);
         if (valid) {
@@ -175,7 +175,7 @@
 ### Restoring previous purchases
 
 Restored purchases will be emitted on the `InAppPurchase.purchaseStream`, make
-sure to validate restored purchases following the best practices for each 
+sure to validate restored purchases following the best practices for each
 underlying store:
 
 * [Verifying App Store purchases](https://developer.apple.com/documentation/storekit/in-app_purchase/validating_receipts_with_the_app_store)
@@ -213,8 +213,8 @@
 ### Completing a purchase
 
 The `InAppPurchase.purchaseStream` will send purchase updates after
-you initiate the purchase flow using `InAppPurchase.buyConsumable` 
-or `InAppPurchase.buyNonConsumable`. After delivering the content to 
+you initiate the purchase flow using `InAppPurchase.buyConsumable`
+or `InAppPurchase.buyNonConsumable`. After delivering the content to
 the user, call `InAppPurchase.completePurchase` to tell the App Store
 and Google Play that the purchase has been finished.
 
@@ -249,18 +249,18 @@
 
 ### Confirming subscription price changes
 
-When the price of a subscription is changed the consumer will need to confirm that price change. If the consumer does not 
-confirm the price change the subscription will not be auto-renewed. By default on both iOS and Android the consumer will 
+When the price of a subscription is changed the consumer will need to confirm that price change. If the consumer does not
+confirm the price change the subscription will not be auto-renewed. By default on both iOS and Android the consumer will
 automatically get a popup to confirm the price change, but App developers can override this mechanism and show the popup on a later moment so it doesn't interrupt the critical flow of the App. This works different on the Apple App Store and on the Google Play Store.
 
 #### Google Play Store (Android)
-When the subscription price is raised, the consumer should approve the price change within 7 days. The official 
+When the subscription price is raised, the consumer should approve the price change within 7 days. The official
 documentation can be found [here](https://support.google.com/googleplay/android-developer/answer/140504?hl=en#zippy=%2Cprice-changes).
 When the price is lowered the consumer will automatically receive the lower price and does not have to approve the price change.
 
 After 7 days the consumer will be notified through email and notifications on Google Play to agree with the new price. App developers have 7 days to explain the consumer that the price is going to change and ask them to accept this change. App developers have to keep track of whether or not the price change is already accepted within the app or in the backend. The [Google Play API](https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.subscriptions) can be used to check whether or not the price change is accepted by the consumer by reading the `priceChange` property on a subscription object.
 
-The `InAppPurchaseAndroidPlatformAddition` can be used to show the price change confirmation flow. The additions contain the function `launchPriceChangeConfirmationFlow` which needs the SKU code of the subscription. 
+The `InAppPurchaseAndroidPlatformAddition` can be used to show the price change confirmation flow. The additions contain the function `launchPriceChangeConfirmationFlow` which needs the SKU code of the subscription.
 
 ```dart
 //import for InAppPurchaseAndroidPlatformAddition
@@ -272,7 +272,7 @@
   final InAppPurchaseAndroidPlatformAddition androidAddition =
     _inAppPurchase
       .getPlatformAddition<InAppPurchaseAndroidPlatformAddition>();
-  var priceChangeConfirmationResult = 
+  var priceChangeConfirmationResult =
       await androidAddition.launchPriceChangeConfirmationFlow(
     sku: 'purchaseId',
   );
@@ -286,24 +286,24 @@
 
 #### Apple App Store (iOS)
 
-When the price of a subscription is raised iOS will also show a popup in the app. 
+When the price of a subscription is raised iOS will also show a popup in the app.
 The StoreKit Payment Queue will notify the app that it wants to show a price change confirmation popup.
-By default the queue will get the response that it can continue and show the popup. 
-However, it is possible to prevent this popup via the InAppPurchaseIosPlatformAddition and show the 
+By default the queue will get the response that it can continue and show the popup.
+However, it is possible to prevent this popup via the 'InAppPurchaseStoreKitPlatformAddition' and show the
 popup at a different time, for example after clicking a button.
 
 To know when the App Store wants to show a popup and prevent this from happening a queue delegate can be registered.
-The `InAppPurchaseIosPlatformAddition` contains a `setDelegate(SKPaymentQueueDelegateWrapper? delegate)` function that
+The `InAppPurchaseStoreKitPlatformAddition` contains a `setDelegate(SKPaymentQueueDelegateWrapper? delegate)` function that
 can be used to set a delegate or remove one by setting it to `null`.
 ```dart
-//import for InAppPurchaseIosPlatformAddition
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+//import for InAppPurchaseStoreKitPlatformAddition
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 
 Future<void> initStoreInfo() async {
   if (Platform.isIOS) {
     var iosPlatformAddition = _inAppPurchase
-            .getPlatformAddition<InAppPurchaseIosPlatformAddition>();
-    await iosPlatformAddition.setDelegate(ExamplePaymentQueueDelegate()); 
+            .getPlatformAddition<InAppPurchaseStoreKitPlatformAddition>();
+    await iosPlatformAddition.setDelegate(ExamplePaymentQueueDelegate());
   }
 }
 
@@ -311,18 +311,18 @@
 Future<void> disposeStore() {
   if (Platform.isIOS) {
     var iosPlatformAddition = _inAppPurchase
-            .getPlatformAddition<InAppPurchaseIosPlatformAddition>();
+            .getPlatformAddition<InAppPurchaseStoreKitPlatformAddition>();
     await iosPlatformAddition.setDelegate(null);
   }
 }
 ```
-The delegate that is set should implement `SKPaymentQueueDelegateWrapper` and handle `shouldContinueTransaction` and 
+The delegate that is set should implement `SKPaymentQueueDelegateWrapper` and handle `shouldContinueTransaction` and
 `shouldShowPriceConsent`. When setting `shouldShowPriceConsent` to false the default popup will not be shown and the app
 needs to show this later.
 
 ```dart
 // import for SKPaymentQueueDelegateWrapper
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 class ExamplePaymentQueueDelegate implements SKPaymentQueueDelegateWrapper {
   @override
@@ -338,20 +338,20 @@
 }
 ```
 
-The dialog can be shown by calling `showPriceConsentIfNeeded` on the `InAppPurchaseIosPlatformAddition`. This future
+The dialog can be shown by calling `showPriceConsentIfNeeded` on the `InAppPurchaseStoreKitPlatformAddition`. This future
 will complete immediately when the dialog is shown. A confirmed transaction will be delivered on the `purchaseStream`.
 ```dart
 if (Platform.isIOS) {
-  var iapIosPlatformAddition = _inAppPurchase
-      .getPlatformAddition<InAppPurchaseIosPlatformAddition>();
-  await iapIosPlatformAddition.showPriceConsentIfNeeded();
+  var iapStoreKitPlatformAddition = _inAppPurchase
+      .getPlatformAddition<InAppPurchaseStoreKitPlatformAddition>();
+  await iapStoreKitPlatformAddition.showPriceConsentIfNeeded();
 }
 ```
 
 ### Accessing platform specific product or purchase properties
 
-The function `_inAppPurchase.queryProductDetails(productIds);` provides a `ProductDetailsResponse` with a 
-list of purchasable products of type `List<ProductDetails>`. This `ProductDetails` class is a platform independent class 
+The function `_inAppPurchase.queryProductDetails(productIds);` provides a `ProductDetailsResponse` with a
+list of purchasable products of type `List<ProductDetails>`. This `ProductDetails` class is a platform independent class
 containing properties only available on all endorsed platforms. However, in some cases it is necessary to access platform specific properties. The `ProductDetails` instance is of subtype `GooglePlayProductDetails`
 when the platform is Android and `AppStoreProductDetails` on iOS. Accessing the skuDetails (on Android) or the skProduct (on iOS) provides all the information that is available in the original platform objects.
 
@@ -371,9 +371,9 @@
 And this is the way to get the subscriptionGroupIdentifier of a subscription on iOS:
 ```dart
 //import for AppStoreProductDetails
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 //import for SKProductWrapper
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 if (productDetails is AppStoreProductDetails) {
   SKProductWrapper skProduct = (productDetails as AppStoreProductDetails).skProduct;
@@ -381,10 +381,10 @@
 }
 ```
 
-The `purchaseStream` provides objects of type `PurchaseDetails`. PurchaseDetails' provides all 
-information that is available on all endorsed platforms, such as purchaseID and transactionDate. In addition, it is 
-possible to access the platform specific properties. The `PurchaseDetails` object is of subtype `GooglePlayPurchaseDetails` 
-when the platform is Android and `AppStorePurchaseDetails` on iOS. Accessing the billingClientPurchase, resp. 
+The `purchaseStream` provides objects of type `PurchaseDetails`. PurchaseDetails' provides all
+information that is available on all endorsed platforms, such as purchaseID and transactionDate. In addition, it is
+possible to access the platform specific properties. The `PurchaseDetails` object is of subtype `GooglePlayPurchaseDetails`
+when the platform is Android and `AppStorePurchaseDetails` on iOS. Accessing the billingClientPurchase, resp.
 skPaymentTransaction provides all the information that is available in the original platform objects.
 
 This is an example on how to get the `originalJson` on Android:
@@ -403,9 +403,9 @@
 How to get the `transactionState` of a purchase in iOS:
 ```dart
 //import for AppStorePurchaseDetails
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 //import for SKProductWrapper
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 if (purchaseDetails is AppStorePurchaseDetails) {
   SKPaymentTransactionWrapper skProduct = (purchaseDetails as AppStorePurchaseDetails).skPaymentTransaction;
@@ -413,7 +413,7 @@
 }
 ```
 
-Please note that it is required to import `in_app_purchase_android` and/or `in_app_purchase_ios`.
+Please note that it is required to import `in_app_purchase_android` and/or `in_app_purchase_storekit`.
 
 ### Presenting a code redemption sheet (iOS 14)
 
@@ -422,15 +422,15 @@
 redeeming offer codes, see [Implementing Offer Codes in Your App](https://developer.apple.com/documentation/storekit/in-app_purchase/subscriptions_and_offers/implementing_offer_codes_in_your_app).
 
 ```dart
-InAppPurchaseIosPlatformAddition iosPlatformAddition = 
-  InAppPurchase.getPlatformAddition<InAppPurchaseIosPlatformAddition>();
+InAppPurchaseStoreKitPlatformAddition iosPlatformAddition =
+  InAppPurchase.getPlatformAddition<InAppPurchaseStoreKitPlatformAddition>();
 iosPlatformAddition.presentCodeRedemptionSheet();
 ```
 
-> **note:** The `InAppPurchaseIosPlatformAddition` is defined in the `in_app_purchase_ios.dart` 
-> file so you need to import it into the file you will be using `InAppPurchaseIosPlatformAddition`:
+> **note:** The `InAppPurchaseStoreKitPlatformAddition` is defined in the `in_app_purchase_storekit.dart`
+> file so you need to import it into the file you will be using `InAppPurchaseStoreKitPlatformAddition`:
 > ```dart
-> import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+> import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 > ```
 
 ## Contributing to this plugin
diff --git a/packages/in_app_purchase/in_app_purchase/example/lib/main.dart b/packages/in_app_purchase/in_app_purchase/example/lib/main.dart
index 3cf7229..0bdcfc3 100644
--- a/packages/in_app_purchase/in_app_purchase/example/lib/main.dart
+++ b/packages/in_app_purchase/in_app_purchase/example/lib/main.dart
@@ -9,8 +9,8 @@
 import 'package:in_app_purchase/in_app_purchase.dart';
 import 'package:in_app_purchase_android/billing_client_wrappers.dart';
 import 'package:in_app_purchase_android/in_app_purchase_android.dart';
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 import 'consumable_store.dart';
 
 void main() {
@@ -88,7 +88,7 @@
 
     if (Platform.isIOS) {
       var iosPlatformAddition = _inAppPurchase
-          .getPlatformAddition<InAppPurchaseIosPlatformAddition>();
+          .getPlatformAddition<InAppPurchaseStoreKitPlatformAddition>();
       await iosPlatformAddition.setDelegate(ExamplePaymentQueueDelegate());
     }
 
@@ -137,7 +137,7 @@
   void dispose() {
     if (Platform.isIOS) {
       var iosPlatformAddition = _inAppPurchase
-          .getPlatformAddition<InAppPurchaseIosPlatformAddition>();
+          .getPlatformAddition<InAppPurchaseStoreKitPlatformAddition>();
       iosPlatformAddition.setDelegate(null);
     }
     _subscription.cancel();
@@ -477,9 +477,9 @@
       }
     }
     if (Platform.isIOS) {
-      var iapIosPlatformAddition = _inAppPurchase
-          .getPlatformAddition<InAppPurchaseIosPlatformAddition>();
-      await iapIosPlatformAddition.showPriceConsentIfNeeded();
+      var iapStoreKitPlatformAddition = _inAppPurchase
+          .getPlatformAddition<InAppPurchaseStoreKitPlatformAddition>();
+      await iapStoreKitPlatformAddition.showPriceConsentIfNeeded();
     }
   }
 
diff --git a/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart b/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart
index 4553619..2a14f2b 100644
--- a/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart
+++ b/packages/in_app_purchase/in_app_purchase/lib/in_app_purchase.dart
@@ -6,7 +6,7 @@
 import 'package:flutter/material.dart';
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 import 'package:in_app_purchase_android/in_app_purchase_android.dart';
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 
 export 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart'
     show
@@ -36,7 +36,7 @@
     if (defaultTargetPlatform == TargetPlatform.android) {
       InAppPurchaseAndroidPlatform.registerPlatform();
     } else if (defaultTargetPlatform == TargetPlatform.iOS) {
-      InAppPurchaseIosPlatform.registerPlatform();
+      InAppPurchaseStoreKitPlatform.registerPlatform();
     }
 
     _instance = InAppPurchase._();
diff --git a/packages/in_app_purchase/in_app_purchase/pubspec.yaml b/packages/in_app_purchase/in_app_purchase/pubspec.yaml
index 96570f7..89a2c75 100644
--- a/packages/in_app_purchase/in_app_purchase/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase/pubspec.yaml
@@ -3,6 +3,8 @@
 repository: https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/in_app_purchase
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
 version: 1.0.9
+# Temporarily disable publishing until in_app_purchase_storekit is published.
+publish_to: none
 
 environment:
   sdk: ">=2.12.0 <3.0.0"
@@ -14,14 +16,16 @@
       android:
         default_package: in_app_purchase_android
       ios:
-        default_package: in_app_purchase_ios
+        default_package: in_app_purchase_storekit
 
 dependencies:
   flutter:
     sdk: flutter
   in_app_purchase_platform_interface: ^1.0.0
   in_app_purchase_android: ^0.1.5
-  in_app_purchase_ios: ^0.1.3+5
+  # Temporary path-based dependency to allow for renaming.
+  in_app_purchase_storekit:
+    path: ../in_app_purchase_storekit
 
 dev_dependencies:
   flutter_driver:
diff --git a/packages/in_app_purchase/in_app_purchase_ios/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_ios/CHANGELOG.md
deleted file mode 100644
index b70e152..0000000
--- a/packages/in_app_purchase/in_app_purchase_ios/CHANGELOG.md
+++ /dev/null
@@ -1,71 +0,0 @@
-## 0.2.0+1
-
-* Fixes CHANGELOG for 0.2.0 (added missing information regarding the implementation of promotional offers).
-
-## 0.2.0
-
-* BREAKING CHANGE : Refactor to handle new `PurchaseStatus` named `canceled`. This means developers
-  can distinguish between an error and user cancellation;
-* Adds support for promotional offers on the store_kit_wrappers Dart API.
-
-## 0.1.4
-
-* Require Dart SDK >= 2.14.
-
-## 0.1.3+5
-
-* Updated example app to handle restored purchases properly.
-* Update dev_dependency `build_runner` to ^2.0.0 and `json_serializable` to ^5.0.2.
-
-## 0.1.3+4
-
-* Update minimum Flutter SDK to 2.5 and iOS deployment target to 9.0.
-
-## 0.1.3+3
-
-* Add `implements` to pubspec.
-
-# 0.1.3+2
-
-* Removed dependency on the `test` package.
-
-# 0.1.3+1
-
-- Updated installation instructions in README.
-
-## 0.1.3
-
-* Add price symbol to platform interface object ProductDetail.
-
-## 0.1.2+2
-
-* Fix crash when retrieveReceiptWithError gives an error.
-
-## 0.1.2+1
-
-* Fix wrong data type when cancelling user credentials dialog.
-
-## 0.1.2
-
-* Added countryCode to the SKPriceLocaleWrapper.
-
-## 0.1.1+1
-
-* iOS: Fix treating missing App Store receipt as an exception.
-
-## 0.1.1
-
-* Added support to register a `SKPaymentQueueDelegateWrapper` and handle changes to active subscriptions accordingly (see also Store Kit's [SKPaymentQueueDelegate](https://developer.apple.com/documentation/storekit/skpaymentqueuedelegate?language=objc)).
-
-## 0.1.0+2
-
-* Changed the iOS payment queue handler in such a way that it only adds a listener to the `SKPaymentQueue` when there
-  is a listener to the Dart `purchaseStream`.
-
-## 0.1.0+1
-
-* Added a "Restore purchases" button to conform to Apple's StoreKit guidelines on [restoring products](https://developer.apple.com/documentation/storekit/in-app_purchase/restoring_purchased_products?language=objc);
-
-## 0.1.0
-
-* Initial open-source release.
diff --git a/packages/in_app_purchase/in_app_purchase_ios/AUTHORS b/packages/in_app_purchase/in_app_purchase_storekit/AUTHORS
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/AUTHORS
rename to packages/in_app_purchase/in_app_purchase_storekit/AUTHORS
diff --git a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md
new file mode 100644
index 0000000..ff5bffd
--- /dev/null
+++ b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md
@@ -0,0 +1,4 @@
+## 0.2.1
+
+* Renames `in_app_purchase_ios` to `in_app_purchase_storekit` to facilitate
+  future macOS support.
diff --git a/packages/in_app_purchase/in_app_purchase_ios/LICENSE b/packages/in_app_purchase/in_app_purchase_storekit/LICENSE
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/LICENSE
rename to packages/in_app_purchase/in_app_purchase_storekit/LICENSE
diff --git a/packages/in_app_purchase/in_app_purchase_ios/README.md b/packages/in_app_purchase/in_app_purchase_storekit/README.md
similarity index 84%
rename from packages/in_app_purchase/in_app_purchase_ios/README.md
rename to packages/in_app_purchase/in_app_purchase_storekit/README.md
index 7ac21c4..e9585f3 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/README.md
+++ b/packages/in_app_purchase/in_app_purchase_storekit/README.md
@@ -1,4 +1,4 @@
-# in\_app\_purchase\_ios
+# in\_app\_purchase\_storekit
 
 The iOS implementation of [`in_app_purchase`][1].
 
@@ -8,7 +8,7 @@
 as a dependency in your `pubspec.yaml`. This package will be automatically included in your app
 when you do.
 
-If you wish to use the iOS package only, you can [add  `in_app_purchase_ios` directly][3].
+If you wish to use this package only, you can [add  `in_app_purchase_storekit` directly][3].
 
 ## Contributing
 
@@ -26,4 +26,4 @@
 
 [1]: ../in_app_purchase
 [2]: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#endorsed-federated-plugin
-[3]: https://pub.dev/packages/in_app_purchase_ios/install
+[3]: https://pub.dev/packages/in_app_purchase_storekit/install
diff --git a/packages/in_app_purchase/in_app_purchase_ios/analysis_options.yaml b/packages/in_app_purchase/in_app_purchase_storekit/analysis_options.yaml
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/analysis_options.yaml
rename to packages/in_app_purchase/in_app_purchase_storekit/analysis_options.yaml
diff --git a/packages/in_app_purchase/in_app_purchase_ios/build.yaml b/packages/in_app_purchase/in_app_purchase_storekit/build.yaml
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/build.yaml
rename to packages/in_app_purchase/in_app_purchase_storekit/build.yaml
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/README.md b/packages/in_app_purchase/in_app_purchase_storekit/example/README.md
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/README.md
rename to packages/in_app_purchase/in_app_purchase_storekit/example/README.md
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/integration_test/in_app_purchase_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/example/integration_test/in_app_purchase_test.dart
similarity index 76%
rename from packages/in_app_purchase/in_app_purchase_ios/example/integration_test/in_app_purchase_test.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/example/integration_test/in_app_purchase_test.dart
index 3d68d0f..b10f1d8 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/integration_test/in_app_purchase_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/integration_test/in_app_purchase_test.dart
@@ -3,16 +3,16 @@
 // found in the LICENSE file.
 
 import 'package:flutter_test/flutter_test.dart';
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 import 'package:integration_test/integration_test.dart';
 
 void main() {
   IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
-  testWidgets('Can create InAppPurchaseAndroid instance',
+  testWidgets('Can create InAppPurchaseStoreKit instance',
       (WidgetTester tester) async {
-    InAppPurchaseIosPlatform.registerPlatform();
+    InAppPurchaseStoreKitPlatform.registerPlatform();
     final InAppPurchasePlatform androidPlatform =
         InAppPurchasePlatform.instance;
     expect(androidPlatform, isNotNull);
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Flutter/AppFrameworkInfo.plist b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Flutter/AppFrameworkInfo.plist
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Flutter/AppFrameworkInfo.plist
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Flutter/AppFrameworkInfo.plist
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Flutter/Debug.xcconfig b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Flutter/Debug.xcconfig
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Flutter/Debug.xcconfig
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Flutter/Debug.xcconfig
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Flutter/Release.xcconfig b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Flutter/Release.xcconfig
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Flutter/Release.xcconfig
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Flutter/Release.xcconfig
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Podfile b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Podfile
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Podfile
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Podfile
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcodeproj/project.pbxproj
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcodeproj/project.pbxproj
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcodeproj/project.pbxproj
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcworkspace/contents.xcworkspacedata
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcworkspace/contents.xcworkspacedata
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/AppDelegate.h b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/AppDelegate.h
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/AppDelegate.h
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/AppDelegate.h
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/AppDelegate.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/AppDelegate.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/AppDelegate.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/AppDelegate.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
Binary files differ
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Base.lproj/Main.storyboard b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Base.lproj/Main.storyboard
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Base.lproj/Main.storyboard
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Base.lproj/Main.storyboard
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Configuration.storekit b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Configuration.storekit
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Configuration.storekit
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Configuration.storekit
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Info.plist b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Info.plist
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/Info.plist
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/Info.plist
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/main.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/main.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/Runner/main.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/Runner/main.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/FIAPPaymentQueueDeleteTests.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/FIAPPaymentQueueDeleteTests.m
similarity index 98%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/FIAPPaymentQueueDeleteTests.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/FIAPPaymentQueueDeleteTests.m
index 810e1fa..ea8787f 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/FIAPPaymentQueueDeleteTests.m
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/FIAPPaymentQueueDeleteTests.m
@@ -8,7 +8,7 @@
 #import "FIAPaymentQueueHandler.h"
 #import "Stubs.h"
 
-@import in_app_purchase_ios;
+@import in_app_purchase_storekit;
 
 API_AVAILABLE(ios(13.0))
 @interface FIAPPaymentQueueDelegateTests : XCTestCase
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/InAppPurchasePluginTests.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/InAppPurchasePluginTests.m
similarity index 99%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/InAppPurchasePluginTests.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/InAppPurchasePluginTests.m
index 84e6f71..14ed06c 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/InAppPurchasePluginTests.m
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/InAppPurchasePluginTests.m
@@ -7,7 +7,7 @@
 #import "FIAPaymentQueueHandler.h"
 #import "Stubs.h"
 
-@import in_app_purchase_ios;
+@import in_app_purchase_storekit;
 
 @interface InAppPurchasePluginTest : XCTestCase
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/Info.plist b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/Info.plist
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/Info.plist
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/Info.plist
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/PaymentQueueTests.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/PaymentQueueTests.m
similarity index 99%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/PaymentQueueTests.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/PaymentQueueTests.m
index 6cfbd27..e267be1 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/PaymentQueueTests.m
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/PaymentQueueTests.m
@@ -5,7 +5,7 @@
 #import <XCTest/XCTest.h>
 #import "Stubs.h"
 
-@import in_app_purchase_ios;
+@import in_app_purchase_storekit;
 
 @interface PaymentQueueTest : XCTestCase
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/ProductRequestHandlerTests.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/ProductRequestHandlerTests.m
similarity index 98%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/ProductRequestHandlerTests.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/ProductRequestHandlerTests.m
index 16b9462..ac36aae 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/ProductRequestHandlerTests.m
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/ProductRequestHandlerTests.m
@@ -5,7 +5,7 @@
 #import <XCTest/XCTest.h>
 #import "Stubs.h"
 
-@import in_app_purchase_ios;
+@import in_app_purchase_storekit;
 
 #pragma tests start here
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/Stubs.h b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/Stubs.h
similarity index 98%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/Stubs.h
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/Stubs.h
index 085a063..d4e8df3 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/Stubs.h
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/Stubs.h
@@ -5,7 +5,7 @@
 #import <Foundation/Foundation.h>
 #import <StoreKit/StoreKit.h>
 
-@import in_app_purchase_ios;
+@import in_app_purchase_storekit;
 
 NS_ASSUME_NONNULL_BEGIN
 API_AVAILABLE(ios(11.2), macos(10.13.2))
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/Stubs.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/Stubs.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/Stubs.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/Stubs.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/TranslatorTests.m b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/TranslatorTests.m
similarity index 99%
rename from packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/TranslatorTests.m
rename to packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/TranslatorTests.m
index e014419..0f689f6 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/ios/RunnerTests/TranslatorTests.m
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/ios/RunnerTests/TranslatorTests.m
@@ -5,7 +5,7 @@
 #import <XCTest/XCTest.h>
 #import "Stubs.h"
 
-@import in_app_purchase_ios;
+@import in_app_purchase_storekit;
 
 @interface TranslatorTest : XCTestCase
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/lib/consumable_store.dart b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/consumable_store.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/lib/consumable_store.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/example/lib/consumable_store.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/lib/example_payment_queue_delegate.dart b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/example_payment_queue_delegate.dart
similarity index 91%
rename from packages/in_app_purchase/in_app_purchase_ios/example/lib/example_payment_queue_delegate.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/example/lib/example_payment_queue_delegate.dart
index dfebdf9..ba04ab1 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/lib/example_payment_queue_delegate.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/example_payment_queue_delegate.dart
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 /// Example implementation of the
 /// [`SKPaymentQueueDelegate`](https://developer.apple.com/documentation/storekit/skpaymentqueuedelegate?language=objc).
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/lib/main.dart b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart
similarity index 91%
rename from packages/in_app_purchase/in_app_purchase_ios/example/lib/main.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart
index 15ab64b..094289c 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/lib/main.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart
@@ -5,8 +5,8 @@
 import 'dart:async';
 import 'dart:io';
 import 'package:flutter/material.dart';
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
-import 'package:in_app_purchase_ios_example/example_payment_queue_delegate.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
+import 'package:in_app_purchase_storekit_example/example_payment_queue_delegate.dart';
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 import 'consumable_store.dart';
 
@@ -15,7 +15,7 @@
 
   // When using the Android plugin directly it is mandatory to register
   // the plugin as default instance as part of initializing the app.
-  InAppPurchaseIosPlatform.registerPlatform();
+  InAppPurchaseStoreKitPlatform.registerPlatform();
 
   runApp(_MyApp());
 }
@@ -39,11 +39,11 @@
 }
 
 class _MyAppState extends State<_MyApp> {
-  final InAppPurchaseIosPlatform _iapIosPlatform =
-      InAppPurchasePlatform.instance as InAppPurchaseIosPlatform;
-  final InAppPurchaseIosPlatformAddition _iapIosPlatformAddition =
+  final InAppPurchaseStoreKitPlatform _iapStoreKitPlatform =
+      InAppPurchasePlatform.instance as InAppPurchaseStoreKitPlatform;
+  final InAppPurchaseStoreKitPlatformAddition _iapStoreKitPlatformAddition =
       InAppPurchasePlatformAddition.instance
-          as InAppPurchaseIosPlatformAddition;
+          as InAppPurchaseStoreKitPlatformAddition;
   late StreamSubscription<List<PurchaseDetails>> _subscription;
   List<String> _notFoundIds = [];
   List<ProductDetails> _products = [];
@@ -57,7 +57,7 @@
   @override
   void initState() {
     final Stream<List<PurchaseDetails>> purchaseUpdated =
-        _iapIosPlatform.purchaseStream;
+        _iapStoreKitPlatform.purchaseStream;
     _subscription = purchaseUpdated.listen((purchaseDetailsList) {
       _listenToPurchaseUpdated(purchaseDetailsList);
     }, onDone: () {
@@ -67,14 +67,14 @@
     });
 
     // Register the example payment queue delegate
-    _iapIosPlatformAddition.setDelegate(ExamplePaymentQueueDelegate());
+    _iapStoreKitPlatformAddition.setDelegate(ExamplePaymentQueueDelegate());
 
     initStoreInfo();
     super.initState();
   }
 
   Future<void> initStoreInfo() async {
-    final bool isAvailable = await _iapIosPlatform.isAvailable();
+    final bool isAvailable = await _iapStoreKitPlatform.isAvailable();
     if (!isAvailable) {
       setState(() {
         _isAvailable = isAvailable;
@@ -89,7 +89,7 @@
     }
 
     ProductDetailsResponse productDetailResponse =
-        await _iapIosPlatform.queryProductDetails(_kProductIds.toSet());
+        await _iapStoreKitPlatform.queryProductDetails(_kProductIds.toSet());
     if (productDetailResponse.error != null) {
       setState(() {
         _queryProductError = productDetailResponse.error!.message;
@@ -234,7 +234,7 @@
     Map<String, PurchaseDetails> purchases =
         Map.fromEntries(_purchases.map((PurchaseDetails purchase) {
       if (purchase.pendingCompletePurchase) {
-        _iapIosPlatform.completePurchase(purchase);
+        _iapStoreKitPlatform.completePurchase(purchase);
       }
       return MapEntry<String, PurchaseDetails>(purchase.productID, purchase);
     }));
@@ -251,7 +251,7 @@
             trailing: previousPurchase != null
                 ? IconButton(
                     onPressed: () {
-                      _iapIosPlatformAddition.showPriceConsentIfNeeded();
+                      _iapStoreKitPlatformAddition.showPriceConsentIfNeeded();
                     },
                     icon: Icon(Icons.upgrade))
                 : TextButton(
@@ -266,11 +266,11 @@
                         applicationUserName: null,
                       );
                       if (productDetails.id == _kConsumableId) {
-                        _iapIosPlatform.buyConsumable(
+                        _iapStoreKitPlatform.buyConsumable(
                             purchaseParam: purchaseParam,
                             autoConsume: _kAutoConsume || Platform.isIOS);
                       } else {
-                        _iapIosPlatform.buyNonConsumable(
+                        _iapStoreKitPlatform.buyNonConsumable(
                             purchaseParam: purchaseParam);
                       }
                     },
@@ -338,7 +338,7 @@
               backgroundColor: Theme.of(context).primaryColor,
               primary: Colors.white,
             ),
-            onPressed: () => _iapIosPlatform.restorePurchases(),
+            onPressed: () => _iapStoreKitPlatform.restorePurchases(),
           ),
         ],
       ),
@@ -411,7 +411,7 @@
         }
 
         if (purchaseDetails.pendingCompletePurchase) {
-          await _iapIosPlatform.completePurchase(purchaseDetails);
+          await _iapStoreKitPlatform.completePurchase(purchaseDetails);
         }
       }
     });
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_storekit/example/pubspec.yaml
similarity index 78%
rename from packages/in_app_purchase/in_app_purchase_ios/example/pubspec.yaml
rename to packages/in_app_purchase/in_app_purchase_storekit/example/pubspec.yaml
index 0474d70..493f111 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/example/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_storekit/example/pubspec.yaml
@@ -1,5 +1,5 @@
-name: in_app_purchase_ios_example
-description: Demonstrates how to use the in_app_purchase_ios plugin.
+name: in_app_purchase_storekit_example
+description: Demonstrates how to use the in_app_purchase_storekit plugin.
 publish_to: none
 
 environment:
@@ -10,9 +10,9 @@
   flutter:
     sdk: flutter
   shared_preferences: ^2.0.0
-  in_app_purchase_ios:
+  in_app_purchase_storekit:
     # When depending on this package from a real application you should use:
-    #   in_app_purchase: ^x.y.z
+    #   in_app_purchase_storekit: ^x.y.z
     # See https://dart.dev/tools/pub/dependencies#version-constraints
     # The example app is bundled with the plugin so we use a path dependency on
     # the parent directory to use the current plugin's version.
diff --git a/packages/in_app_purchase/in_app_purchase_ios/example/test_driver/test/integration_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/example/test_driver/test/integration_test.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/example/test_driver/test/integration_test.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/example/test_driver/test/integration_test.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Assets/.gitkeep b/packages/in_app_purchase/in_app_purchase_storekit/ios/Assets/.gitkeep
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Assets/.gitkeep
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Assets/.gitkeep
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAObjectTranslator.h b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAObjectTranslator.h
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAObjectTranslator.h
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAObjectTranslator.h
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAObjectTranslator.m b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAObjectTranslator.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAObjectTranslator.m
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAObjectTranslator.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPPaymentQueueDelegate.h b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPPaymentQueueDelegate.h
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPPaymentQueueDelegate.h
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPPaymentQueueDelegate.h
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPPaymentQueueDelegate.m b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPPaymentQueueDelegate.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPPaymentQueueDelegate.m
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPPaymentQueueDelegate.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPReceiptManager.h b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPReceiptManager.h
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPReceiptManager.h
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPReceiptManager.h
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPReceiptManager.m b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPReceiptManager.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPReceiptManager.m
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPReceiptManager.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPRequestHandler.h b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPRequestHandler.h
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPRequestHandler.h
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPRequestHandler.h
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPRequestHandler.m b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPRequestHandler.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPRequestHandler.m
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPRequestHandler.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPaymentQueueHandler.h b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPaymentQueueHandler.h
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPaymentQueueHandler.h
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPaymentQueueHandler.h
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPaymentQueueHandler.m b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPaymentQueueHandler.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/FIAPaymentQueueHandler.m
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/FIAPaymentQueueHandler.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/InAppPurchasePlugin.h b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/InAppPurchasePlugin.h
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/InAppPurchasePlugin.h
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/InAppPurchasePlugin.h
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/Classes/InAppPurchasePlugin.m b/packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/InAppPurchasePlugin.m
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/Classes/InAppPurchasePlugin.m
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/Classes/InAppPurchasePlugin.m
diff --git a/packages/in_app_purchase/in_app_purchase_ios/ios/in_app_purchase_ios.podspec b/packages/in_app_purchase/in_app_purchase_storekit/ios/in_app_purchase_storekit.podspec
similarity index 79%
rename from packages/in_app_purchase/in_app_purchase_ios/ios/in_app_purchase_ios.podspec
rename to packages/in_app_purchase/in_app_purchase_storekit/ios/in_app_purchase_storekit.podspec
index 3d15b5c..45000bb 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/ios/in_app_purchase_ios.podspec
+++ b/packages/in_app_purchase/in_app_purchase_storekit/ios/in_app_purchase_storekit.podspec
@@ -2,7 +2,7 @@
 # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
 #
 Pod::Spec.new do |s|
-  s.name             = 'in_app_purchase_ios'
+  s.name             = 'in_app_purchase_storekit'
   s.version          = '0.0.1'
   s.summary          = 'Flutter In App Purchase iOS'
   s.description      = <<-DESC
@@ -12,9 +12,9 @@
   s.homepage         = 'https://github.com/flutter/plugins'
   s.license          = { :type => 'BSD', :file => '../LICENSE' }
   s.author           = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' }
-  s.source           = { :http => 'https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/in_app_purchase_ios' }
-  # TODO(mvanbeusekom): update URL when in_app_purchase_ios package is published.
-  # Updating it before the package is published will cause a lint error and block the tree.                   
+  s.source           = { :http => 'https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/in_app_purchase_storekit' }
+  # TODO(mvanbeusekom): update URL when in_app_purchase_storekit package is published.
+  # Updating it before the package is published will cause a lint error and block the tree.
   s.documentation_url = 'https://pub.dev/packages/in_app_purchase'
   s.source_files = 'Classes/**/*'
   s.public_header_files = 'Classes/**/*.h'
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/in_app_purchase_ios.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/in_app_purchase_storekit.dart
similarity index 62%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/in_app_purchase_ios.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/in_app_purchase_storekit.dart
index 21e7681..7e8bf6c 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/in_app_purchase_ios.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/in_app_purchase_storekit.dart
@@ -2,6 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-export 'src/in_app_purchase_ios_platform.dart';
-export 'src/in_app_purchase_ios_platform_addition.dart';
+export 'src/in_app_purchase_storekit_platform.dart';
+export 'src/in_app_purchase_storekit_platform_addition.dart';
 export 'src/types/types.dart';
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/channel.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/channel.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/channel.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/channel.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/in_app_purchase_ios_platform.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart
similarity index 91%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/in_app_purchase_ios_platform.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart
index 74bb898..65b1a30 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/in_app_purchase_ios_platform.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart
@@ -6,10 +6,10 @@
 
 import 'package:flutter/foundation.dart';
 import 'package:flutter/services.dart';
-import 'package:in_app_purchase_ios/src/in_app_purchase_ios_platform_addition.dart';
+import 'package:in_app_purchase_storekit/src/in_app_purchase_storekit_platform_addition.dart';
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 
-import '../in_app_purchase_ios.dart';
+import '../in_app_purchase_storekit.dart';
 import '../store_kit_wrappers.dart';
 
 /// [IAPError.code] code for failed purchases.
@@ -22,16 +22,16 @@
 ///
 /// This translates various `StoreKit` calls and responses into the
 /// generic plugin API.
-class InAppPurchaseIosPlatform extends InAppPurchasePlatform {
+class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform {
   static late SKPaymentQueueWrapper _skPaymentQueueWrapper;
   static late _TransactionObserver _observer;
 
-  /// Creates an [InAppPurchaseIosPlatform] object.
+  /// Creates an [InAppPurchaseStoreKitPlatform] object.
   ///
   /// This constructor should only be used for testing, for any other purpose
   /// get the connection from the [instance] getter.
   @visibleForTesting
-  InAppPurchaseIosPlatform();
+  InAppPurchaseStoreKitPlatform();
 
   Stream<List<PurchaseDetails>> get purchaseStream =>
       _observer.purchaseUpdatedController.stream;
@@ -42,13 +42,14 @@
 
   /// Registers this class as the default instance of [InAppPurchasePlatform].
   static void registerPlatform() {
-    // Register the [InAppPurchaseIosPlatformAddition] containing iOS
-    // platform-specific functionality.
-    InAppPurchasePlatformAddition.instance = InAppPurchaseIosPlatformAddition();
+    // Register the [InAppPurchaseStoreKitPlatformAddition] containing
+    // StoreKit-specific functionality.
+    InAppPurchasePlatformAddition.instance =
+        InAppPurchaseStoreKitPlatformAddition();
 
     // Register the platform-specific implementation of the idiomatic
     // InAppPurchase API.
-    InAppPurchasePlatform.instance = InAppPurchaseIosPlatform();
+    InAppPurchasePlatform.instance = InAppPurchaseStoreKitPlatform();
 
     _skPaymentQueueWrapper = SKPaymentQueueWrapper();
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/in_app_purchase_ios_platform_addition.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform_addition.dart
similarity index 94%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/in_app_purchase_ios_platform_addition.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform_addition.dart
index 359e517..adead56 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/in_app_purchase_ios_platform_addition.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform_addition.dart
@@ -2,13 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 
 import '../store_kit_wrappers.dart';
 
 /// Contains InApp Purchase features that are only available on iOS.
-class InAppPurchaseIosPlatformAddition extends InAppPurchasePlatformAddition {
+class InAppPurchaseStoreKitPlatformAddition
+    extends InAppPurchasePlatformAddition {
   /// Present Code Redemption Sheet.
   ///
   /// Available on devices running iOS 14 and iPadOS 14 and later.
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/README.md b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/README.md
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/README.md
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/README.md
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/enum_converters.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/enum_converters.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.g.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/enum_converters.g.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.g.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/enum_converters.g.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_delegate_wrapper.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_delegate_wrapper.dart
similarity index 96%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_delegate_wrapper.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_delegate_wrapper.dart
index 2759a29..eb88953 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_delegate_wrapper.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_delegate_wrapper.dart
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 /// A wrapper around
 /// [`SKPaymentQueueDelegate`](https://developer.apple.com/documentation/storekit/skpaymentqueuedelegate?language=objc).
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
similarity index 98%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
index 918eac0..72315a3 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
@@ -8,12 +8,12 @@
 import 'package:collection/collection.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 import 'package:json_annotation/json_annotation.dart';
 import 'package:meta/meta.dart';
 
 import '../channel.dart';
-import '../in_app_purchase_ios_platform.dart';
+import '../in_app_purchase_storekit_platform.dart';
 import 'sk_payment_queue_delegate_wrapper.dart';
 import 'sk_payment_transaction_wrappers.dart';
 import 'sk_product_wrapper.dart';
@@ -73,7 +73,7 @@
   /// start listening to it.
   ///
   /// Call this method when the first listener is subscribed to the
-  /// [InAppPurchaseIosPlatform.purchaseStream].
+  /// [InAppPurchaseStoreKitPlatform.purchaseStream].
   Future startObservingTransactionQueue() => channel
       .invokeMethod<void>('-[SKPaymentQueue startObservingTransactionQueue]');
 
@@ -81,7 +81,7 @@
   /// stop listening to it.
   ///
   /// Call this when there are no longer any listeners subscribed to the
-  /// [InAppPurchaseIosPlatform.purchaseStream].
+  /// [InAppPurchaseStoreKitPlatform.purchaseStream].
   Future stopObservingTransactionQueue() => channel
       .invokeMethod<void>('-[SKPaymentQueue stopObservingTransactionQueue]');
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.g.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.g.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.g.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.g.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_product_wrapper.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_product_wrapper.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_receipt_manager.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_receipt_manager.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_receipt_manager.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_receipt_manager.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_request_maker.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_request_maker.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_request_maker.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_request_maker.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_storefront_wrapper.g.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.g.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_storefront_wrapper.g.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/types/app_store_product_details.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_product_details.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/types/app_store_product_details.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_product_details.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/types/app_store_purchase_details.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_details.dart
similarity index 98%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/types/app_store_purchase_details.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_details.dart
index 58e965a..ac547be 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/types/app_store_purchase_details.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_details.dart
@@ -4,7 +4,7 @@
 
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 
-import '../../in_app_purchase_ios.dart';
+import '../../in_app_purchase_storekit.dart';
 import '../../store_kit_wrappers.dart';
 import '../store_kit_wrappers/enum_converters.dart';
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/types/app_store_purchase_param.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_param.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/types/app_store_purchase_param.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_param.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/types/types.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/types.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/src/types/types.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/types.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/store_kit_wrappers.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/store_kit_wrappers.dart
similarity index 100%
rename from packages/in_app_purchase/in_app_purchase_ios/lib/store_kit_wrappers.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/lib/store_kit_wrappers.dart
diff --git a/packages/in_app_purchase/in_app_purchase_ios/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml
similarity index 82%
rename from packages/in_app_purchase/in_app_purchase_ios/pubspec.yaml
rename to packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml
index 3581f39..bfc55b9 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml
@@ -1,8 +1,8 @@
-name: in_app_purchase_ios
-description: An implementation for the iOS platform of the Flutter `in_app_purchase` plugin. This uses the iOS StoreKit Framework.
-repository: https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/in_app_purchase_ios
+name: in_app_purchase_storekit
+description: An implementation for the iOS platform of the Flutter `in_app_purchase` plugin. This uses the StoreKit Framework.
+repository: https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/in_app_purchase_storekit
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
-version: 0.2.0+1
+version: 0.2.1
 
 environment:
   sdk: ">=2.14.0 <3.0.0"
diff --git a/packages/in_app_purchase/in_app_purchase_ios/test/fakes/fake_ios_platform.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/fakes/fake_storekit_platform.dart
similarity index 92%
rename from packages/in_app_purchase/in_app_purchase_ios/test/fakes/fake_ios_platform.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/test/fakes/fake_storekit_platform.dart
index 30a42b2..c4254c2 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/test/fakes/fake_ios_platform.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/test/fakes/fake_storekit_platform.dart
@@ -7,14 +7,14 @@
 
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
-import 'package:in_app_purchase_ios/src/channel.dart';
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
+import 'package:in_app_purchase_storekit/src/channel.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 import '../store_kit_wrappers/sk_test_stub_objects.dart';
 
-class FakeIOSPlatform {
-  FakeIOSPlatform() {
+class FakeStoreKitPlatform {
+  FakeStoreKitPlatform() {
     channel.setMockMethodCallHandler(onMethodCall);
   }
 
@@ -151,15 +151,15 @@
           throw restoreException!;
         }
         if (testRestoredError != null) {
-          InAppPurchaseIosPlatform.observer
+          InAppPurchaseStoreKitPlatform.observer
               .restoreCompletedTransactionsFailed(error: testRestoredError!);
           return Future<void>.sync(() {});
         }
         if (!testRestoredTransactionsNull) {
-          InAppPurchaseIosPlatform.observer
+          InAppPurchaseStoreKitPlatform.observer
               .updatedTransactions(transactions: transactions);
         }
-        InAppPurchaseIosPlatform.observer
+        InAppPurchaseStoreKitPlatform.observer
             .paymentQueueRestoreCompletedTransactionsFinished();
 
         return Future<void>.sync(() {});
@@ -175,24 +175,24 @@
       case '-[InAppPurchasePlugin addPayment:result:]':
         String id = call.arguments['productIdentifier'];
         SKPaymentTransactionWrapper transaction = createPendingTransaction(id);
-        InAppPurchaseIosPlatform.observer
+        InAppPurchaseStoreKitPlatform.observer
             .updatedTransactions(transactions: [transaction]);
         sleep(const Duration(milliseconds: 30));
         if (testTransactionFail) {
           SKPaymentTransactionWrapper transaction_failed =
               createFailedTransaction(id);
-          InAppPurchaseIosPlatform.observer
+          InAppPurchaseStoreKitPlatform.observer
               .updatedTransactions(transactions: [transaction_failed]);
         } else if (testTransactionCancel > 0) {
           SKPaymentTransactionWrapper transaction_canceled =
               createCanceledTransaction(id, testTransactionCancel);
-          InAppPurchaseIosPlatform.observer
+          InAppPurchaseStoreKitPlatform.observer
               .updatedTransactions(transactions: [transaction_canceled]);
         } else {
           SKPaymentTransactionWrapper transaction_finished =
               createPurchasedTransaction(
                   id, transaction.transactionIdentifier ?? '');
-          InAppPurchaseIosPlatform.observer
+          InAppPurchaseStoreKitPlatform.observer
               .updatedTransactions(transactions: [transaction_finished]);
         }
         break;
diff --git a/packages/in_app_purchase/in_app_purchase_ios/test/in_app_purchase_ios_platform_addtion_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_addtion_test.dart
similarity index 70%
rename from packages/in_app_purchase/in_app_purchase_ios/test/in_app_purchase_ios_platform_addtion_test.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_addtion_test.dart
index f8b7519..967eeb7 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/test/in_app_purchase_ios_platform_addtion_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_addtion_test.dart
@@ -4,25 +4,26 @@
 
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 
-import 'fakes/fake_ios_platform.dart';
+import 'fakes/fake_storekit_platform.dart';
 
 void main() {
   TestWidgetsFlutterBinding.ensureInitialized();
 
-  final FakeIOSPlatform fakeIOSPlatform = FakeIOSPlatform();
+  final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform();
 
   setUpAll(() {
     SystemChannels.platform
-        .setMockMethodCallHandler(fakeIOSPlatform.onMethodCall);
+        .setMockMethodCallHandler(fakeStoreKitPlatform.onMethodCall);
   });
 
   group('present code redemption sheet', () {
     test('null', () async {
       expect(
-          await InAppPurchaseIosPlatformAddition().presentCodeRedemptionSheet(),
+          await InAppPurchaseStoreKitPlatformAddition()
+              .presentCodeRedemptionSheet(),
           null);
     });
   });
@@ -30,7 +31,7 @@
   group('refresh receipt data', () {
     test('should refresh receipt data', () async {
       PurchaseVerificationData? receiptData =
-          await InAppPurchaseIosPlatformAddition()
+          await InAppPurchaseStoreKitPlatformAddition()
               .refreshPurchaseVerificationData();
       expect(receiptData, isNotNull);
       expect(receiptData!.source, kIAPSource);
diff --git a/packages/in_app_purchase/in_app_purchase_ios/test/in_app_purchase_ios_platform_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart
similarity index 74%
rename from packages/in_app_purchase/in_app_purchase_ios/test/in_app_purchase_ios_platform_test.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart
index 76d30af..8ac4b04 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/test/in_app_purchase_ios_platform_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart
@@ -6,42 +6,44 @@
 
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:in_app_purchase_ios/in_app_purchase_ios.dart';
-import 'package:in_app_purchase_ios/src/store_kit_wrappers/enum_converters.dart';
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
+import 'package:in_app_purchase_storekit/src/store_kit_wrappers/enum_converters.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
 
-import 'fakes/fake_ios_platform.dart';
+import 'fakes/fake_storekit_platform.dart';
 import 'store_kit_wrappers/sk_test_stub_objects.dart';
 
 void main() {
   TestWidgetsFlutterBinding.ensureInitialized();
 
-  final FakeIOSPlatform fakeIOSPlatform = FakeIOSPlatform();
-  late InAppPurchaseIosPlatform iapIosPlatform;
+  final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform();
+  late InAppPurchaseStoreKitPlatform iapStoreKitPlatform;
 
   setUpAll(() {
     SystemChannels.platform
-        .setMockMethodCallHandler(fakeIOSPlatform.onMethodCall);
+        .setMockMethodCallHandler(fakeStoreKitPlatform.onMethodCall);
   });
 
   setUp(() {
-    InAppPurchaseIosPlatform.registerPlatform();
-    iapIosPlatform = InAppPurchasePlatform.instance as InAppPurchaseIosPlatform;
-    fakeIOSPlatform.reset();
+    InAppPurchaseStoreKitPlatform.registerPlatform();
+    iapStoreKitPlatform =
+        InAppPurchasePlatform.instance as InAppPurchaseStoreKitPlatform;
+    fakeStoreKitPlatform.reset();
   });
 
-  tearDown(() => fakeIOSPlatform.reset());
+  tearDown(() => fakeStoreKitPlatform.reset());
 
   group('isAvailable', () {
     test('true', () async {
-      expect(await iapIosPlatform.isAvailable(), isTrue);
+      expect(await iapStoreKitPlatform.isAvailable(), isTrue);
     });
   });
 
   group('query product list', () {
     test('should get product list and correct invalid identifiers', () async {
-      final InAppPurchaseIosPlatform connection = InAppPurchaseIosPlatform();
+      final InAppPurchaseStoreKitPlatform connection =
+          InAppPurchaseStoreKitPlatform();
       final ProductDetailsResponse response = await connection
           .queryProductDetails(<String>['123', '456', '789'].toSet());
       List<ProductDetails> products = response.productDetails;
@@ -56,11 +58,12 @@
     test(
         'if query products throws error, should get error object in the response',
         () async {
-      fakeIOSPlatform.queryProductException = PlatformException(
+      fakeStoreKitPlatform.queryProductException = PlatformException(
           code: 'error_code',
           message: 'error_message',
           details: {'info': 'error_info'});
-      final InAppPurchaseIosPlatform connection = InAppPurchaseIosPlatform();
+      final InAppPurchaseStoreKitPlatform connection =
+          InAppPurchaseStoreKitPlatform();
       final ProductDetailsResponse response = await connection
           .queryProductDetails(<String>['123', '456', '789'].toSet());
       expect(response.productDetails, []);
@@ -76,7 +79,7 @@
   group('restore purchases', () {
     test('should emit restored transactions on purchase stream', () async {
       Completer completer = Completer();
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
 
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
@@ -86,30 +89,31 @@
         }
       });
 
-      await iapIosPlatform.restorePurchases();
+      await iapStoreKitPlatform.restorePurchases();
       List<PurchaseDetails> details = await completer.future;
 
       expect(details.length, 2);
-      for (int i = 0; i < fakeIOSPlatform.transactions.length; i++) {
-        SKPaymentTransactionWrapper expected = fakeIOSPlatform.transactions[i];
+      for (int i = 0; i < fakeStoreKitPlatform.transactions.length; i++) {
+        SKPaymentTransactionWrapper expected =
+            fakeStoreKitPlatform.transactions[i];
         PurchaseDetails actual = details[i];
 
         expect(actual.purchaseID, expected.transactionIdentifier);
         expect(actual.verificationData, isNotNull);
         expect(actual.status, PurchaseStatus.restored);
         expect(actual.verificationData.localVerificationData,
-            fakeIOSPlatform.receiptData);
+            fakeStoreKitPlatform.receiptData);
         expect(actual.verificationData.serverVerificationData,
-            fakeIOSPlatform.receiptData);
+            fakeStoreKitPlatform.receiptData);
         expect(actual.pendingCompletePurchase, true);
       }
     });
 
     test('should not block transaction updates', () async {
-      fakeIOSPlatform.transactions
-          .insert(0, fakeIOSPlatform.createPurchasedTransaction('foo', 'bar'));
+      fakeStoreKitPlatform.transactions.insert(
+          0, fakeStoreKitPlatform.createPurchasedTransaction('foo', 'bar'));
       Completer completer = Completer();
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
 
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
@@ -118,11 +122,12 @@
           subscription.cancel();
         }
       });
-      await iapIosPlatform.restorePurchases();
+      await iapStoreKitPlatform.restorePurchases();
       List<PurchaseDetails> details = await completer.future;
       expect(details.length, 3);
-      for (int i = 0; i < fakeIOSPlatform.transactions.length; i++) {
-        SKPaymentTransactionWrapper expected = fakeIOSPlatform.transactions[i];
+      for (int i = 0; i < fakeStoreKitPlatform.transactions.length; i++) {
+        SKPaymentTransactionWrapper expected =
+            fakeStoreKitPlatform.transactions[i];
         PurchaseDetails actual = details[i];
 
         expect(actual.purchaseID, expected.transactionIdentifier);
@@ -133,18 +138,18 @@
               .toPurchaseStatus(expected.transactionState, expected.error),
         );
         expect(actual.verificationData.localVerificationData,
-            fakeIOSPlatform.receiptData);
+            fakeStoreKitPlatform.receiptData);
         expect(actual.verificationData.serverVerificationData,
-            fakeIOSPlatform.receiptData);
+            fakeStoreKitPlatform.receiptData);
         expect(actual.pendingCompletePurchase, true);
       }
     });
 
     test('receipt error should populate null to verificationData.data',
         () async {
-      fakeIOSPlatform.receiptData = null;
+      fakeStoreKitPlatform.receiptData = null;
       Completer completer = Completer();
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
 
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
@@ -154,7 +159,7 @@
         }
       });
 
-      await iapIosPlatform.restorePurchases();
+      await iapStoreKitPlatform.restorePurchases();
       List<PurchaseDetails> details = await completer.future;
 
       for (PurchaseDetails purchase in details) {
@@ -164,13 +169,13 @@
     });
 
     test('test restore error', () {
-      fakeIOSPlatform.testRestoredError = SKError(
+      fakeStoreKitPlatform.testRestoredError = SKError(
           code: 123,
           domain: 'error_test',
           userInfo: {'message': 'errorMessage'});
 
       expect(
-          () => iapIosPlatform.restorePurchases(),
+          () => iapStoreKitPlatform.restorePurchases(),
           throwsA(
             isA<SKError>()
                 .having((error) => error.code, 'code', 123)
@@ -187,7 +192,7 @@
         () async {
       List<PurchaseDetails> details = [];
       Completer completer = Completer();
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
 
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
@@ -201,7 +206,7 @@
           productDetails:
               AppStoreProductDetails.fromSKProduct(dummyProductWrapper),
           applicationUserName: 'appName');
-      await iapIosPlatform.buyNonConsumable(purchaseParam: purchaseParam);
+      await iapStoreKitPlatform.buyNonConsumable(purchaseParam: purchaseParam);
 
       List<PurchaseDetails> result = await completer.future;
       expect(result.length, 2);
@@ -213,7 +218,7 @@
         () async {
       List<PurchaseDetails> details = [];
       Completer completer = Completer();
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
 
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
@@ -227,7 +232,7 @@
           productDetails:
               AppStoreProductDetails.fromSKProduct(dummyProductWrapper),
           applicationUserName: 'appName');
-      await iapIosPlatform.buyConsumable(purchaseParam: purchaseParam);
+      await iapStoreKitPlatform.buyConsumable(purchaseParam: purchaseParam);
 
       List<PurchaseDetails> result = await completer.future;
       expect(result.length, 2);
@@ -240,18 +245,18 @@
               AppStoreProductDetails.fromSKProduct(dummyProductWrapper),
           applicationUserName: 'appName');
       expect(
-          () => iapIosPlatform.buyConsumable(
+          () => iapStoreKitPlatform.buyConsumable(
               purchaseParam: purchaseParam, autoConsume: false),
           throwsA(isInstanceOf<AssertionError>()));
     });
 
     test('should get failed purchase status', () async {
-      fakeIOSPlatform.testTransactionFail = true;
+      fakeStoreKitPlatform.testTransactionFail = true;
       List<PurchaseDetails> details = [];
       Completer completer = Completer();
       late IAPError error;
 
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
         details.addAll(purchaseDetailsList);
@@ -267,7 +272,7 @@
           productDetails:
               AppStoreProductDetails.fromSKProduct(dummyProductWrapper),
           applicationUserName: 'appName');
-      await iapIosPlatform.buyNonConsumable(purchaseParam: purchaseParam);
+      await iapStoreKitPlatform.buyNonConsumable(purchaseParam: purchaseParam);
 
       IAPError completerError = await completer.future;
       expect(completerError.code, 'purchase_error');
@@ -279,11 +284,11 @@
     test(
         'should get canceled purchase status when error code is SKErrorPaymentCancelled',
         () async {
-      fakeIOSPlatform.testTransactionCancel = 2;
+      fakeStoreKitPlatform.testTransactionCancel = 2;
       List<PurchaseDetails> details = [];
       Completer completer = Completer();
 
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
         details.addAll(purchaseDetailsList);
@@ -298,7 +303,7 @@
           productDetails:
               AppStoreProductDetails.fromSKProduct(dummyProductWrapper),
           applicationUserName: 'appName');
-      await iapIosPlatform.buyNonConsumable(purchaseParam: purchaseParam);
+      await iapStoreKitPlatform.buyNonConsumable(purchaseParam: purchaseParam);
 
       PurchaseStatus purchaseStatus = await completer.future;
       expect(purchaseStatus, PurchaseStatus.canceled);
@@ -307,11 +312,11 @@
     test(
         'should get canceled purchase status when error code is SKErrorOverlayCancelled',
         () async {
-      fakeIOSPlatform.testTransactionCancel = 15;
+      fakeStoreKitPlatform.testTransactionCancel = 15;
       List<PurchaseDetails> details = [];
       Completer completer = Completer();
 
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
         details.addAll(purchaseDetailsList);
@@ -326,7 +331,7 @@
           productDetails:
               AppStoreProductDetails.fromSKProduct(dummyProductWrapper),
           applicationUserName: 'appName');
-      await iapIosPlatform.buyNonConsumable(purchaseParam: purchaseParam);
+      await iapStoreKitPlatform.buyNonConsumable(purchaseParam: purchaseParam);
 
       PurchaseStatus purchaseStatus = await completer.future;
       expect(purchaseStatus, PurchaseStatus.canceled);
@@ -337,13 +342,13 @@
     test('should complete purchase', () async {
       List<PurchaseDetails> details = [];
       Completer completer = Completer();
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
       late StreamSubscription subscription;
       subscription = stream.listen((purchaseDetailsList) {
         details.addAll(purchaseDetailsList);
         purchaseDetailsList.forEach((purchaseDetails) {
           if (purchaseDetails.pendingCompletePurchase) {
-            iapIosPlatform.completePurchase(purchaseDetails);
+            iapStoreKitPlatform.completePurchase(purchaseDetails);
             completer.complete(details);
             subscription.cancel();
           }
@@ -353,26 +358,26 @@
           productDetails:
               AppStoreProductDetails.fromSKProduct(dummyProductWrapper),
           applicationUserName: 'appName');
-      await iapIosPlatform.buyNonConsumable(purchaseParam: purchaseParam);
+      await iapStoreKitPlatform.buyNonConsumable(purchaseParam: purchaseParam);
       List<PurchaseDetails> result = await completer.future;
       expect(result.length, 2);
       expect(result.first.productID, dummyProductWrapper.productIdentifier);
-      expect(fakeIOSPlatform.finishedTransactions.length, 1);
+      expect(fakeStoreKitPlatform.finishedTransactions.length, 1);
     });
   });
 
   group('purchase stream', () {
     test('Should only have active queue when purchaseStream has listeners', () {
-      Stream<List<PurchaseDetails>> stream = iapIosPlatform.purchaseStream;
-      expect(fakeIOSPlatform.queueIsActive, false);
+      Stream<List<PurchaseDetails>> stream = iapStoreKitPlatform.purchaseStream;
+      expect(fakeStoreKitPlatform.queueIsActive, false);
       StreamSubscription subscription1 = stream.listen((event) {});
-      expect(fakeIOSPlatform.queueIsActive, true);
+      expect(fakeStoreKitPlatform.queueIsActive, true);
       StreamSubscription subscription2 = stream.listen((event) {});
-      expect(fakeIOSPlatform.queueIsActive, true);
+      expect(fakeStoreKitPlatform.queueIsActive, true);
       subscription1.cancel();
-      expect(fakeIOSPlatform.queueIsActive, true);
+      expect(fakeStoreKitPlatform.queueIsActive, true);
       subscription2.cancel();
-      expect(fakeIOSPlatform.queueIsActive, false);
+      expect(fakeStoreKitPlatform.queueIsActive, false);
     });
   });
 }
diff --git a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_methodchannel_apis_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_methodchannel_apis_test.dart
similarity index 81%
rename from packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_methodchannel_apis_test.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_methodchannel_apis_test.dart
index c7f7d80..c5cabd2 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_methodchannel_apis_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_methodchannel_apis_test.dart
@@ -4,26 +4,26 @@
 
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:in_app_purchase_ios/src/channel.dart';
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/src/channel.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 import 'sk_test_stub_objects.dart';
 
 void main() {
   TestWidgetsFlutterBinding.ensureInitialized();
 
-  final FakeIOSPlatform fakeIOSPlatform = FakeIOSPlatform();
+  final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform();
 
   setUpAll(() {
     SystemChannels.platform
-        .setMockMethodCallHandler(fakeIOSPlatform.onMethodCall);
+        .setMockMethodCallHandler(fakeStoreKitPlatform.onMethodCall);
   });
 
   setUp(() {});
 
   tearDown(() {
-    fakeIOSPlatform.testReturnNull = false;
-    fakeIOSPlatform.queueIsActive = null;
-    fakeIOSPlatform.getReceiptFailTest = false;
+    fakeStoreKitPlatform.testReturnNull = false;
+    fakeStoreKitPlatform.queueIsActive = null;
+    fakeStoreKitPlatform.getReceiptFailTest = false;
   });
 
   group('sk_request_maker', () {
@@ -57,31 +57,31 @@
       );
 
       expect(
-        fakeIOSPlatform.startProductRequestParam,
+        fakeStoreKitPlatform.startProductRequestParam,
         ['xxx'],
       );
     });
 
     test('get products method channel should throw exception', () async {
-      fakeIOSPlatform.getProductRequestFailTest = true;
+      fakeStoreKitPlatform.getProductRequestFailTest = true;
       expect(
         SKRequestMaker().startProductRequest(<String>['xxx']),
         throwsException,
       );
-      fakeIOSPlatform.getProductRequestFailTest = false;
+      fakeStoreKitPlatform.getProductRequestFailTest = false;
     });
 
     test('refreshed receipt', () async {
-      int receiptCountBefore = fakeIOSPlatform.refreshReceipt;
+      int receiptCountBefore = fakeStoreKitPlatform.refreshReceipt;
       await SKRequestMaker().startRefreshReceiptRequest(
           receiptProperties: <String, dynamic>{"isExpired": true});
-      expect(fakeIOSPlatform.refreshReceipt, receiptCountBefore + 1);
-      expect(fakeIOSPlatform.refreshReceiptParam,
+      expect(fakeStoreKitPlatform.refreshReceipt, receiptCountBefore + 1);
+      expect(fakeStoreKitPlatform.refreshReceiptParam,
           <String, dynamic>{"isExpired": true});
     });
 
     test('should get null receipt if any exceptions are raised', () async {
-      fakeIOSPlatform.getReceiptFailTest = true;
+      fakeStoreKitPlatform.getReceiptFailTest = true;
       expect(() async => SKReceiptManager.retrieveReceiptData(),
           throwsA(TypeMatcher<PlatformException>()));
     });
@@ -102,7 +102,7 @@
 
     test('canMakePayment returns false if method channel returns null',
         () async {
-      fakeIOSPlatform.testReturnNull = true;
+      fakeStoreKitPlatform.testReturnNull = true;
       expect(await SKPaymentQueueWrapper.canMakePayments(), false);
     });
 
@@ -123,7 +123,7 @@
           TestPaymentTransactionObserver();
       queue.setTransactionObserver(observer);
       await queue.addPayment(dummyPayment);
-      expect(fakeIOSPlatform.payments.first, equals(dummyPayment));
+      expect(fakeStoreKitPlatform.payments.first, equals(dummyPayment));
     });
 
     test('should finish transaction', () async {
@@ -132,7 +132,7 @@
           TestPaymentTransactionObserver();
       queue.setTransactionObserver(observer);
       await queue.finishTransaction(dummyTransaction);
-      expect(fakeIOSPlatform.transactionsFinished.first,
+      expect(fakeStoreKitPlatform.transactionsFinished.first,
           equals(dummyTransaction.toFinishMap()));
     });
 
@@ -142,48 +142,49 @@
           TestPaymentTransactionObserver();
       queue.setTransactionObserver(observer);
       await queue.restoreTransactions(applicationUserName: 'aUserID');
-      expect(fakeIOSPlatform.applicationNameHasTransactionRestored, 'aUserID');
+      expect(fakeStoreKitPlatform.applicationNameHasTransactionRestored,
+          'aUserID');
     });
 
     test('startObservingTransactionQueue should call methodChannel', () async {
-      expect(fakeIOSPlatform.queueIsActive, isNot(true));
+      expect(fakeStoreKitPlatform.queueIsActive, isNot(true));
       await SKPaymentQueueWrapper().startObservingTransactionQueue();
-      expect(fakeIOSPlatform.queueIsActive, true);
+      expect(fakeStoreKitPlatform.queueIsActive, true);
     });
 
     test('stopObservingTransactionQueue should call methodChannel', () async {
-      expect(fakeIOSPlatform.queueIsActive, isNot(false));
+      expect(fakeStoreKitPlatform.queueIsActive, isNot(false));
       await SKPaymentQueueWrapper().stopObservingTransactionQueue();
-      expect(fakeIOSPlatform.queueIsActive, false);
+      expect(fakeStoreKitPlatform.queueIsActive, false);
     });
 
     test('setDelegate should call methodChannel', () async {
-      expect(fakeIOSPlatform.isPaymentQueueDelegateRegistered, false);
+      expect(fakeStoreKitPlatform.isPaymentQueueDelegateRegistered, false);
       await SKPaymentQueueWrapper().setDelegate(TestPaymentQueueDelegate());
-      expect(fakeIOSPlatform.isPaymentQueueDelegateRegistered, true);
+      expect(fakeStoreKitPlatform.isPaymentQueueDelegateRegistered, true);
       await SKPaymentQueueWrapper().setDelegate(null);
-      expect(fakeIOSPlatform.isPaymentQueueDelegateRegistered, false);
+      expect(fakeStoreKitPlatform.isPaymentQueueDelegateRegistered, false);
     });
 
     test('showPriceConsentIfNeeded should call methodChannel', () async {
-      expect(fakeIOSPlatform.showPriceConsentIfNeeded, false);
+      expect(fakeStoreKitPlatform.showPriceConsentIfNeeded, false);
       await SKPaymentQueueWrapper().showPriceConsentIfNeeded();
-      expect(fakeIOSPlatform.showPriceConsentIfNeeded, true);
+      expect(fakeStoreKitPlatform.showPriceConsentIfNeeded, true);
     });
   });
 
   group('Code Redemption Sheet', () {
     test('presentCodeRedemptionSheet should not throw', () async {
-      expect(fakeIOSPlatform.presentCodeRedemption, false);
+      expect(fakeStoreKitPlatform.presentCodeRedemption, false);
       await SKPaymentQueueWrapper().presentCodeRedemptionSheet();
-      expect(fakeIOSPlatform.presentCodeRedemption, true);
-      fakeIOSPlatform.presentCodeRedemption = false;
+      expect(fakeStoreKitPlatform.presentCodeRedemption, true);
+      fakeStoreKitPlatform.presentCodeRedemption = false;
     });
   });
 }
 
-class FakeIOSPlatform {
-  FakeIOSPlatform() {
+class FakeStoreKitPlatform {
+  FakeStoreKitPlatform() {
     channel.setMockMethodCallHandler(onMethodCall);
   }
   // get product request
diff --git a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart
similarity index 92%
rename from packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart
index ca2b336..2e86ee4 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart
@@ -4,17 +4,17 @@
 
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:in_app_purchase_ios/src/channel.dart';
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/src/channel.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 void main() {
   TestWidgetsFlutterBinding.ensureInitialized();
 
-  final FakeIOSPlatform fakeIOSPlatform = FakeIOSPlatform();
+  final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform();
 
   setUpAll(() {
     SystemChannels.platform
-        .setMockMethodCallHandler(fakeIOSPlatform.onMethodCall);
+        .setMockMethodCallHandler(fakeStoreKitPlatform.onMethodCall);
   });
 
   test(
@@ -146,8 +146,8 @@
   }
 }
 
-class FakeIOSPlatform {
-  FakeIOSPlatform() {
+class FakeStoreKitPlatform {
+  FakeStoreKitPlatform() {
     channel.setMockMethodCallHandler(onMethodCall);
   }
 
diff --git a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_product_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_product_test.dart
similarity index 95%
rename from packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_product_test.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_product_test.dart
index 4d010aa..6f52a5f 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_product_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_product_test.dart
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:in_app_purchase_ios/src/types/app_store_product_details.dart';
-import 'package:in_app_purchase_ios/src/types/app_store_purchase_details.dart';
-import 'package:in_app_purchase_ios/src/store_kit_wrappers/sk_product_wrapper.dart';
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/src/types/app_store_product_details.dart';
+import 'package:in_app_purchase_storekit/src/types/app_store_purchase_details.dart';
+import 'package:in_app_purchase_storekit/src/store_kit_wrappers/sk_product_wrapper.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 import 'package:test/test.dart';
 
 import 'sk_test_stub_objects.dart';
diff --git a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_test_stub_objects.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_test_stub_objects.dart
similarity index 98%
rename from packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_test_stub_objects.dart
rename to packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_test_stub_objects.dart
index a2cf2a0..276c3ff 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/test/store_kit_wrappers/sk_test_stub_objects.dart
+++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_test_stub_objects.dart
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:in_app_purchase_ios/store_kit_wrappers.dart';
+import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
 
 final dummyPayment = SKPaymentWrapper(
     productIdentifier: 'prod-id',
diff --git a/script/configs/exclude_integration_ios.yaml b/script/configs/exclude_integration_ios.yaml
index e1ae6ad..a30dffb 100644
--- a/script/configs/exclude_integration_ios.yaml
+++ b/script/configs/exclude_integration_ios.yaml
@@ -1,5 +1,5 @@
 # Currently missing: https://github.com/flutter/flutter/issues/81695
-- in_app_purchase_ios
+- in_app_purchase_storekit
 # Currently missing: https://github.com/flutter/flutter/issues/82208
 - ios_platform_images
 # Hangs on CI. Deprecated, so there is no plan to fix it.