react-native-iap 13.0.4 → 14.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NitroIap.podspec +33 -0
- package/README.md +163 -51
- package/android/CMakeLists.txt +32 -0
- package/android/build.gradle +107 -138
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -13
- package/android/src/main/AndroidManifest.xml +1 -4
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +843 -0
- package/android/src/main/java/com/margelo/nitro/iap/NitroIapPackage.java +33 -0
- package/android/src/main/java/com/margelo/nitro/iap/Types.kt +173 -0
- package/ios/Bridge.h +8 -0
- package/ios/ErrorUtils.swift +153 -0
- package/ios/HybridRnIap.swift +1326 -0
- package/ios/ProductStore.swift +33 -0
- package/ios/reactnativeiap.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/reactnativeiap.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/lib/module/helpers/subscription.js +56 -0
- package/lib/module/helpers/subscription.js.map +1 -0
- package/lib/module/hooks/useIAP.js +175 -123
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +1015 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/specs/RnIap.nitro.js +4 -0
- package/lib/{commonjs/modules/common.js.map → module/specs/RnIap.nitro.js.map} +1 -1
- package/lib/module/types.js +187 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils/error.js +80 -0
- package/lib/module/utils/error.js.map +1 -0
- package/lib/module/utils/type-bridge.js +202 -0
- package/lib/module/utils/type-bridge.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/plugin/src/withIAP.d.ts +2 -7
- package/lib/typescript/plugin/src/withIAP.d.ts.map +1 -1
- package/lib/typescript/scripts/check-nitro-versions.d.ts +3 -0
- package/lib/typescript/scripts/check-nitro-versions.d.ts.map +1 -0
- package/lib/typescript/src/helpers/subscription.d.ts +14 -0
- package/lib/typescript/src/helpers/subscription.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useIAP.d.ts +42 -26
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +356 -8
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +404 -0
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +544 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/error.d.ts +30 -0
- package/lib/typescript/src/utils/error.d.ts.map +1 -0
- package/lib/typescript/src/utils/type-bridge.d.ts +40 -0
- package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -0
- package/nitro.json +17 -0
- package/nitrogen/generated/android/NitroIap+autolinking.cmake +80 -0
- package/nitrogen/generated/android/NitroIap+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroIapOnLoad.cpp +50 -0
- package/nitrogen/generated/android/NitroIapOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_NitroPurchase.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_NitroPurchaseResult.hpp +78 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +577 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +93 -0
- package/nitrogen/generated/android/c++/JNitroAndroidReceiptValidationOptions.hpp +66 -0
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +54 -0
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +65 -0
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +62 -0
- package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +58 -0
- package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +53 -0
- package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +62 -0
- package/nitrogen/generated/android/c++/JNitroProduct.hpp +154 -0
- package/nitrogen/generated/android/c++/JNitroPurchase.hpp +122 -0
- package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +66 -0
- package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +70 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +60 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +122 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +68 -0
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +115 -0
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +84 -0
- package/nitrogen/generated/android/c++/JNitroSubscriptionOffer.hpp +57 -0
- package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +74 -0
- package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +64 -0
- package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp +75 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +198 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAndroidReceiptValidationOptions.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroIapOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +104 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionOffer.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +42 -0
- package/nitrogen/generated/ios/NitroIap+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +152 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +1061 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +107 -0
- package/nitrogen/generated/ios/NitroIapAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroIapAutolinking.swift +25 -0
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +355 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroProduct.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroPurchase.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroPurchaseResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__vector_NitroSubscriptionStatus__.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_bool__NitroPurchaseResult_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroProduct_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroPurchase_.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +78 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +750 -0
- package/nitrogen/generated/ios/swift/NitroAndroidReceiptValidationOptions.swift +80 -0
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesAndroidOptions.swift +54 -0
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +116 -0
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +84 -0
- package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +58 -0
- package/nitrogen/generated/ios/swift/NitroFinishTransactionIosParams.swift +35 -0
- package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +84 -0
- package/nitrogen/generated/ios/swift/NitroProduct.swift +653 -0
- package/nitrogen/generated/ios/swift/NitroPurchase.swift +453 -0
- package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +84 -0
- package/nitrogen/generated/ios/swift/NitroPurchaseResult.swift +117 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +65 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationResultAndroid.swift +258 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +87 -0
- package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +225 -0
- package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +161 -0
- package/nitrogen/generated/ios/swift/NitroSubscriptionOffer.swift +46 -0
- package/nitrogen/generated/ios/swift/NitroSubscriptionRenewalInfo.swift +152 -0
- package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +76 -0
- package/nitrogen/generated/ios/swift/Variant_Bool_NitroPurchaseResult.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift +18 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +50 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +125 -0
- package/nitrogen/generated/shared/c++/NitroAndroidReceiptValidationOptions.hpp +80 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +68 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +79 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +76 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +72 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +67 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +76 -0
- package/nitrogen/generated/shared/c++/NitroProduct.hpp +168 -0
- package/nitrogen/generated/shared/c++/NitroPurchase.hpp +136 -0
- package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +76 -0
- package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +84 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +74 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +136 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +82 -0
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +95 -0
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +85 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionOffer.hpp +71 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +88 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +78 -0
- package/package.json +144 -104
- package/plugin/build/src/withIAP.d.ts +3 -0
- package/plugin/build/src/withIAP.js +81 -0
- package/plugin/build/tsconfig.tsbuildinfo +1 -0
- package/plugin/build/withIAP.d.ts +2 -7
- package/plugin/build/withIAP.js +62 -51
- package/plugin/src/withIAP.ts +119 -0
- package/plugin/tsconfig.json +18 -0
- package/plugin/tsconfig.tsbuildinfo +1 -0
- package/src/helpers/subscription.ts +65 -0
- package/src/hooks/useIAP.ts +361 -222
- package/src/index.ts +1194 -9
- package/src/specs/RnIap.nitro.ts +501 -0
- package/src/types.ts +680 -0
- package/src/utils/error.ts +97 -0
- package/src/utils/type-bridge.ts +209 -0
- package/LICENSE +0 -21
- package/RNIap.podspec +0 -36
- package/android/src/amazon/AndroidManifest.xml +0 -14
- package/android/src/amazon/java/com/dooboolab/rniap/EventSender.kt +0 -10
- package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxy.kt +0 -29
- package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxyAmazonImpl.kt +0 -31
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -55
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonListener.kt +0 -325
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonModule.kt +0 -244
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
- package/android/src/amazon/java/com/dooboolab/rniap/modifysubscription/RNIapAmazonModifySubscriptionListener.kt +0 -88
- package/android/src/amazon/java/com/dooboolab/rniap/utils/Extensions.kt +0 -22
- package/android/src/main/java/com/dooboolab/rniap/PromiseUtils.kt +0 -62
- package/android/src/main/java/com/dooboolab/rniap/PromiseUtlis.kt +0 -43
- package/android/src/play/java/com/dooboolab/rniap/PlayUtils.kt +0 -114
- package/android/src/play/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -15
- package/android/src/play/java/com/dooboolab/rniap/RNIapModule.kt +0 -911
- package/android/src/play/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
- package/android/src/testAmazon/java/com/dooboolab/rniap/RNIapAmazonModuleTest.kt +0 -170
- package/app.plugin.js +0 -1
- package/ios/IapSerializationUtils.swift +0 -290
- package/ios/IapTypes.swift +0 -56
- package/ios/IapUtils.swift +0 -40
- package/ios/LatestPromiseKeeper.swift +0 -52
- package/ios/RNIapIos-Bridging-Header.h +0 -2
- package/ios/RNIapIos.m +0 -69
- package/ios/RNIapIos.swift +0 -868
- package/ios/RNIapIos.xcodeproj/project.pbxproj +0 -289
- package/ios/RNIapIosSk2.m +0 -126
- package/ios/RNIapIosSk2.swift +0 -1413
- package/ios/ThreadSafe.swift +0 -18
- package/lib/commonjs/eventEmitter.js +0 -195
- package/lib/commonjs/eventEmitter.js.map +0 -1
- package/lib/commonjs/hooks/index.js +0 -17
- package/lib/commonjs/hooks/index.js.map +0 -1
- package/lib/commonjs/hooks/useIAP.js +0 -203
- package/lib/commonjs/hooks/useIAP.js.map +0 -1
- package/lib/commonjs/hooks/withIAPContext.js +0 -95
- package/lib/commonjs/hooks/withIAPContext.js.map +0 -1
- package/lib/commonjs/iap.js +0 -836
- package/lib/commonjs/iap.js.map +0 -1
- package/lib/commonjs/index.js +0 -105
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/internal/enhancedFetch.js +0 -26
- package/lib/commonjs/internal/enhancedFetch.js.map +0 -1
- package/lib/commonjs/internal/fillProductsWithAdditionalData.js +0 -50
- package/lib/commonjs/internal/fillProductsWithAdditionalData.js.map +0 -1
- package/lib/commonjs/internal/index.js +0 -39
- package/lib/commonjs/internal/index.js.map +0 -1
- package/lib/commonjs/internal/platform.js +0 -119
- package/lib/commonjs/internal/platform.js.map +0 -1
- package/lib/commonjs/modules/amazon.js +0 -50
- package/lib/commonjs/modules/amazon.js.map +0 -1
- package/lib/commonjs/modules/android.js +0 -92
- package/lib/commonjs/modules/android.js.map +0 -1
- package/lib/commonjs/modules/common.js +0 -2
- package/lib/commonjs/modules/index.js +0 -50
- package/lib/commonjs/modules/index.js.map +0 -1
- package/lib/commonjs/modules/ios.js +0 -160
- package/lib/commonjs/modules/ios.js.map +0 -1
- package/lib/commonjs/modules/iosSk2.js +0 -113
- package/lib/commonjs/modules/iosSk2.js.map +0 -1
- package/lib/commonjs/purchaseError.js +0 -170
- package/lib/commonjs/purchaseError.js.map +0 -1
- package/lib/commonjs/types/amazon.js +0 -2
- package/lib/commonjs/types/amazon.js.map +0 -1
- package/lib/commonjs/types/android.js +0 -67
- package/lib/commonjs/types/android.js.map +0 -1
- package/lib/commonjs/types/apple.js +0 -24
- package/lib/commonjs/types/apple.js.map +0 -1
- package/lib/commonjs/types/appleSk2.js +0 -137
- package/lib/commonjs/types/appleSk2.js.map +0 -1
- package/lib/commonjs/types/index.js +0 -67
- package/lib/commonjs/types/index.js.map +0 -1
- package/lib/commonjs/utils/errorMapping.js +0 -83
- package/lib/commonjs/utils/errorMapping.js.map +0 -1
- package/lib/commonjs/utils/typeGuards.js +0 -74
- package/lib/commonjs/utils/typeGuards.js.map +0 -1
- package/lib/module/eventEmitter.js +0 -185
- package/lib/module/eventEmitter.js.map +0 -1
- package/lib/module/hooks/index.js +0 -2
- package/lib/module/hooks/index.js.map +0 -1
- package/lib/module/hooks/withIAPContext.js +0 -86
- package/lib/module/hooks/withIAPContext.js.map +0 -1
- package/lib/module/iap.js +0 -805
- package/lib/module/iap.js.map +0 -1
- package/lib/module/internal/enhancedFetch.js +0 -19
- package/lib/module/internal/enhancedFetch.js.map +0 -1
- package/lib/module/internal/fillProductsWithAdditionalData.js +0 -43
- package/lib/module/internal/fillProductsWithAdditionalData.js.map +0 -1
- package/lib/module/internal/index.js +0 -4
- package/lib/module/internal/index.js.map +0 -1
- package/lib/module/internal/platform.js +0 -102
- package/lib/module/internal/platform.js.map +0 -1
- package/lib/module/modules/amazon.js +0 -42
- package/lib/module/modules/amazon.js.map +0 -1
- package/lib/module/modules/android.js +0 -81
- package/lib/module/modules/android.js.map +0 -1
- package/lib/module/modules/common.js +0 -2
- package/lib/module/modules/common.js.map +0 -1
- package/lib/module/modules/index.js +0 -5
- package/lib/module/modules/index.js.map +0 -1
- package/lib/module/modules/ios.js +0 -145
- package/lib/module/modules/ios.js.map +0 -1
- package/lib/module/modules/iosSk2.js +0 -96
- package/lib/module/modules/iosSk2.js.map +0 -1
- package/lib/module/purchaseError.js +0 -164
- package/lib/module/purchaseError.js.map +0 -1
- package/lib/module/types/amazon.js +0 -2
- package/lib/module/types/amazon.js.map +0 -1
- package/lib/module/types/android.js +0 -63
- package/lib/module/types/android.js.map +0 -1
- package/lib/module/types/apple.js +0 -17
- package/lib/module/types/apple.js.map +0 -1
- package/lib/module/types/appleSk2.js +0 -129
- package/lib/module/types/appleSk2.js.map +0 -1
- package/lib/module/types/index.js +0 -75
- package/lib/module/types/index.js.map +0 -1
- package/lib/module/utils/errorMapping.js +0 -75
- package/lib/module/utils/errorMapping.js.map +0 -1
- package/lib/module/utils/typeGuards.js +0 -61
- package/lib/module/utils/typeGuards.js.map +0 -1
- package/lib/typescript/src/eventEmitter.d.ts +0 -151
- package/lib/typescript/src/eventEmitter.d.ts.map +0 -1
- package/lib/typescript/src/hooks/index.d.ts +0 -2
- package/lib/typescript/src/hooks/index.d.ts.map +0 -1
- package/lib/typescript/src/hooks/withIAPContext.d.ts +0 -27
- package/lib/typescript/src/hooks/withIAPContext.d.ts.map +0 -1
- package/lib/typescript/src/iap.d.ts +0 -503
- package/lib/typescript/src/iap.d.ts.map +0 -1
- package/lib/typescript/src/internal/enhancedFetch.d.ts +0 -6
- package/lib/typescript/src/internal/enhancedFetch.d.ts.map +0 -1
- package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts +0 -7
- package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts.map +0 -1
- package/lib/typescript/src/internal/index.d.ts +0 -4
- package/lib/typescript/src/internal/index.d.ts.map +0 -1
- package/lib/typescript/src/internal/platform.d.ts +0 -27
- package/lib/typescript/src/internal/platform.d.ts.map +0 -1
- package/lib/typescript/src/modules/amazon.d.ts +0 -55
- package/lib/typescript/src/modules/amazon.d.ts.map +0 -1
- package/lib/typescript/src/modules/android.d.ts +0 -74
- package/lib/typescript/src/modules/android.d.ts.map +0 -1
- package/lib/typescript/src/modules/common.d.ts +0 -14
- package/lib/typescript/src/modules/common.d.ts.map +0 -1
- package/lib/typescript/src/modules/index.d.ts +0 -5
- package/lib/typescript/src/modules/index.d.ts.map +0 -1
- package/lib/typescript/src/modules/ios.d.ts +0 -117
- package/lib/typescript/src/modules/ios.d.ts.map +0 -1
- package/lib/typescript/src/modules/iosSk2.d.ts +0 -140
- package/lib/typescript/src/modules/iosSk2.d.ts.map +0 -1
- package/lib/typescript/src/purchaseError.d.ts +0 -133
- package/lib/typescript/src/purchaseError.d.ts.map +0 -1
- package/lib/typescript/src/types/amazon.d.ts +0 -33
- package/lib/typescript/src/types/amazon.d.ts.map +0 -1
- package/lib/typescript/src/types/android.d.ts +0 -66
- package/lib/typescript/src/types/android.d.ts.map +0 -1
- package/lib/typescript/src/types/apple.d.ts +0 -27
- package/lib/typescript/src/types/apple.d.ts.map +0 -1
- package/lib/typescript/src/types/appleSk2.d.ts +0 -129
- package/lib/typescript/src/types/appleSk2.d.ts.map +0 -1
- package/lib/typescript/src/types/index.d.ts +0 -302
- package/lib/typescript/src/types/index.d.ts.map +0 -1
- package/lib/typescript/src/utils/errorMapping.d.ts +0 -29
- package/lib/typescript/src/utils/errorMapping.d.ts.map +0 -1
- package/lib/typescript/src/utils/typeGuards.d.ts +0 -53
- package/lib/typescript/src/utils/typeGuards.d.ts.map +0 -1
- package/src/eventEmitter.ts +0 -212
- package/src/hooks/index.ts +0 -1
- package/src/hooks/withIAPContext.tsx +0 -179
- package/src/iap.ts +0 -1046
- package/src/internal/enhancedFetch.ts +0 -25
- package/src/internal/fillProductsWithAdditionalData.ts +0 -47
- package/src/internal/index.ts +0 -3
- package/src/internal/platform.ts +0 -135
- package/src/modules/amazon.ts +0 -94
- package/src/modules/android.ts +0 -179
- package/src/modules/common.ts +0 -16
- package/src/modules/index.ts +0 -4
- package/src/modules/ios.ts +0 -229
- package/src/modules/iosSk2.ts +0 -194
- package/src/purchaseError.ts +0 -196
- package/src/types/amazon.ts +0 -40
- package/src/types/android.ts +0 -89
- package/src/types/apple.ts +0 -44
- package/src/types/appleSk2.ts +0 -275
- package/src/types/index.ts +0 -379
- package/src/utils/errorMapping.ts +0 -88
- package/src/utils/typeGuards.ts +0 -90
package/lib/module/iap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","IapAmazon","IapAndroid","IapIos","IapIosSk2","singleProductAndroidMap","offerToRecord","offerSk2Map","productSk2Map","subscriptionSk2Map","transactionSk2ToPurchaseMap","fillProductsWithAdditionalData","getAndroidModule","getAndroidModuleType","getIosModule","getNativeModule","isAmazon","isIosStorekit2","storekit1Mode","storekit2Mode","storekitHybridMode","ProductType","PurchaseStateAndroid","SubscriptionPlatform","RNIapIos","RNIapIosSk2","RNIapModule","RNIapAmazonModule","ANDROID_ITEM_TYPE_SUBSCRIPTION","subs","ANDROID_ITEM_TYPE_IAP","inapp","setup","storekitMode","initConnection","endConnection","flushFailedPurchasesCachedAsPendingAndroid","flushFailedPurchasesCachedAsPending","getProducts","skus","length","Promise","reject","select","ios","items","getItems","map","filter","item","includes","productId","android","products","getItemsByType","Error","getSubscriptions","addSubscriptionPlatform","androidPlatform","subscriptions","castSubscriptions","amazon","platform","subscription","getPurchaseHistory","alsoPublishToEventListener","automaticallyFinishRestoredTransactions","onlyIncludeActiveItems","resolve","getAvailableItems","console","warn","getAvailablePurchases","error","timeout","timeoutPromise","_","setTimeout","race","all","getAvailableItemsByType","catch","concat","requestPurchase","request","sku","andDangerouslyFinishTransactionAutomaticallyIOS","appAccountToken","quantity","withOffer","offer","purchase","buyProduct","buyItemByType","obfuscatedAccountIdAndroid","obfuscatedProfileIdAndroid","isOfferPersonalized","undefined","requestSubscription","prorationModeAmazon","subscriptionOffers","purchaseTokenAndroid","replacementModeAndroid","so","offerToken","finishTransaction","isConsumable","developerPayloadAndroid","transactionId","purchaseToken","consumeProduct","userIdAmazon","isAcknowledgedAndroid","purchaseStateAndroid","PURCHASED","acknowledgePurchase","deepLinkToSubscriptions","isAmazonDevice","deepLinkToSubscriptionsIos","deepLinkToSubscriptionsAmazon","deepLinkToSubscriptionsAndroid","getStorefront","getAppTransaction"],"sourceRoot":"../../src","sources":["iap.ts"],"mappings":"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C,iBAAiB,CAAC,CAAC;IACpD;;IAEA;IACA;IACAC,OAAO,CAACC,IAAI,CACV,gJACF,CAAC;IACD,OAAO,EAAE;EACX;AACF,CAAC,CAAC,KAAK,MAAM9B,OAAO,CAAC2B,OAAO,CAAC,EAAE,CAAC,CAAC,EACjC,CAAC;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,qBAAqB,GAAGA,CAAC;EACpCP,0BAA0B,GAAG,KAAK;EAClCC,uCAAuC,GAAG,KAAK;EAC/CC,sBAAsB,GAAG;AAK3B,CAAC,GAAG,CAAC,CAAC,KACJ,CACEnE,QAAQ,CAAC2C,MAAM,CAAC;EACdC,GAAG,EAAE,MAAAA,CAAA,KAAY;IACf,IAAI3B,cAAc,CAAC,CAAC,EAAE;MACpB,OAAOwB,OAAO,CAAC2B,OAAO,CACpB,CACE,MAAM3C,WAAW,CAAC4C,iBAAiB,CACjCJ,0BAA0B,EAC1BE,sBACF,CAAC,EACDpB,GAAG,CAACrC,2BAA2B,CACnC,CAAC;IACH,CAAC,MAAM;MACL,OAAOc,QAAQ,CAAC6C,iBAAiB,CAC/BH,uCACF,CAAC;IACH;EACF,CAAC;EACDd,OAAO,EAAE,MAAAA,CAAA,KAAY;IACnB,IAAIzB,iBAAiB,EAAE;MACrB,OAAO,MAAMA,iBAAiB,CAAC0C,iBAAiB,CAAC,CAAC;IACpD;;IAEA;IACA,IAAI3C,WAAW,CAAC2C,iBAAiB,EAAE;MACjC,IAAI;QACF,OAAO,MAAM3C,WAAW,CAAC2C,iBAAiB,CAAC,CAAC;MAC9C,CAAC,CAAC,OAAOI,KAAK,EAAE;QACdH,OAAO,CAACC,IAAI,CACV,mEAAmE,EACnEE,KACF,CAAC;QACD;MACF;IACF;;IAEA;IACA;IACA,MAAMC,OAAO,GAAG,KAAK,CAAC,CAAC;IACvB,MAAMC,cAAc,GAAG,IAAIlC,OAAO,CAAQ,CAACmC,CAAC,EAAElC,MAAM,KAClDmC,UAAU,CACR,MAAMnC,MAAM,CAAC,IAAIa,KAAK,CAAC,+BAA+B,CAAC,CAAC,EACxDmB,OACF,CACF,CAAC;IAED,IAAI;MACF,MAAM,CAACrB,QAAQ,EAAEM,aAAa,CAAC,GAAG,MAAMlB,OAAO,CAACqC,IAAI,CAAC,CACnDrC,OAAO,CAACsC,GAAG,CAAC,CACVrD,WAAW,CAACsD,uBAAuB,CAAClD,qBAAqB,CAAC,CAACmD,KAAK,CAC9D,MAAM,EACR,CAAC,EACDvD,WAAW,CAACsD,uBAAuB,CACjCpD,8BACF,CAAC,CAACqD,KAAK,CAAC,MAAM,EAAgB,CAAC,CAChC,CAAC,EACFN,cAAc,CACf,CAAC;MAEF,OAAOtB,QAAQ,CAAC6B,MAAM,CAACvB,aAAa,CAAC;IACvC,CAAC,CAAC,OAAOc,KAAK,EAAE;MACdH,OAAO,CAACG,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpD,OAAO,EAAE;IACX;EACF;AACF,CAAC,CAAC,KAAK,MAAMhC,OAAO,CAAC2B,OAAO,CAAC,EAAE,CAAC,CAAC,EACjC,CAAC;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export const enhancedFetch = async (url, init) => {
|
|
2
|
-
const response = await fetch(url, {
|
|
3
|
-
method: (init === null || init === void 0 ? void 0 : init.method) ?? 'GET',
|
|
4
|
-
headers: {
|
|
5
|
-
Accept: 'application/json',
|
|
6
|
-
'Content-Type': 'application/json'
|
|
7
|
-
},
|
|
8
|
-
...(init !== null && init !== void 0 && init.body ? {
|
|
9
|
-
body: JSON.stringify(init.body)
|
|
10
|
-
} : {})
|
|
11
|
-
});
|
|
12
|
-
if (!response.ok) {
|
|
13
|
-
throw Object.assign(new Error(response.statusText), {
|
|
14
|
-
statusCode: response.status
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return response.json();
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=enhancedFetch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["enhancedFetch","url","init","response","fetch","method","headers","Accept","body","JSON","stringify","ok","Object","assign","Error","statusText","statusCode","status","json"],"sourceRoot":"../../../src","sources":["internal/enhancedFetch.ts"],"mappings":"AAIA,OAAO,MAAMA,aAAa,GAAG,MAAAA,CAC3BC,GAAW,EACXC,IAA6B,KAC1B;EACH,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAE;IAChCI,MAAM,EAAE,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,MAAM,KAAI,KAAK;IAC7BC,OAAO,EAAE;MACPC,MAAM,EAAE,kBAAkB;MAC1B,cAAc,EAAE;IAClB,CAAC;IACD,IAAIL,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEM,IAAI,GAAG;MAACA,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACR,IAAI,CAACM,IAAI;IAAC,CAAC,GAAG,CAAC,CAAC;EACzD,CAAC,CAAC;EAEF,IAAI,CAACL,QAAQ,CAACQ,EAAE,EAAE;IAChB,MAAMC,MAAM,CAACC,MAAM,CAAC,IAAIC,KAAK,CAACX,QAAQ,CAACY,UAAU,CAAC,EAAE;MAClDC,UAAU,EAAEb,QAAQ,CAACc;IACvB,CAAC,CAAC;EACJ;EAEA,OAAOd,QAAQ,CAACe,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { NativeModules } from 'react-native';
|
|
2
|
-
const {
|
|
3
|
-
RNIapAmazonModule
|
|
4
|
-
} = NativeModules;
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* For Amazon products, we add the currency code from the user's information
|
|
8
|
-
* since it isn't included in the product information.
|
|
9
|
-
*/
|
|
10
|
-
export const fillProductsWithAdditionalData = async items => {
|
|
11
|
-
if (RNIapAmazonModule) {
|
|
12
|
-
// On amazon we must get the user marketplace to detect the currency
|
|
13
|
-
const user = await RNIapAmazonModule.getUser();
|
|
14
|
-
const currencies = {
|
|
15
|
-
CA: 'CAD',
|
|
16
|
-
ES: 'EUR',
|
|
17
|
-
AU: 'AUD',
|
|
18
|
-
DE: 'EUR',
|
|
19
|
-
IN: 'INR',
|
|
20
|
-
US: 'USD',
|
|
21
|
-
JP: 'JPY',
|
|
22
|
-
GB: 'GBP',
|
|
23
|
-
IT: 'EUR',
|
|
24
|
-
BR: 'BRL',
|
|
25
|
-
FR: 'EUR'
|
|
26
|
-
};
|
|
27
|
-
const currency = currencies[user.userMarketplaceAmazon];
|
|
28
|
-
|
|
29
|
-
// Add currency to items
|
|
30
|
-
items.forEach(item => {
|
|
31
|
-
if (currency) {
|
|
32
|
-
const {
|
|
33
|
-
originalPrice
|
|
34
|
-
} = item;
|
|
35
|
-
item.currency = currency;
|
|
36
|
-
item.price = originalPrice ?? '0.0';
|
|
37
|
-
item.localizedPrice = originalPrice ?? '0.0';
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
return items;
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=fillProductsWithAdditionalData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","RNIapAmazonModule","fillProductsWithAdditionalData","items","user","getUser","currencies","CA","ES","AU","DE","IN","US","JP","GB","IT","BR","FR","currency","userMarketplaceAmazon","forEach","item","originalPrice","price","localizedPrice"],"sourceRoot":"../../../src","sources":["internal/fillProductsWithAdditionalData.ts"],"mappings":"AAAA,SAAQA,aAAa,QAAO,cAAc;AAI1C,MAAM;EAACC;AAAiB,CAAC,GAAGD,aAAa;;AAEzC;AACA;AACA;AACA;AACA,OAAO,MAAME,8BAA8B,GAAG,MAC5CC,KAAU,IACO;EACjB,IAAIF,iBAAiB,EAAE;IACrB;IACA,MAAMG,IAAI,GAAG,MAAMH,iBAAiB,CAACI,OAAO,CAAC,CAAC;IAE9C,MAAMC,UAAU,GAAG;MACjBC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE,KAAK;MACTC,EAAE,EAAE;IACN,CAAC;IAED,MAAMC,QAAQ,GACZZ,UAAU,CAACF,IAAI,CAACe,qBAAqB,CAA4B;;IAEnE;IACAhB,KAAK,CAACiB,OAAO,CAAEC,IAAI,IAAK;MACtB,IAAIH,QAAQ,EAAE;QACZ,MAAM;UAACI;QAAa,CAAC,GAAGD,IAAI;QAC5BA,IAAI,CAACH,QAAQ,GAAGA,QAAQ;QACxBG,IAAI,CAACE,KAAK,GAAGD,aAAa,IAAI,KAAK;QACnCD,IAAI,CAACG,cAAc,GAAGF,aAAa,IAAI,KAAK;MAC9C;IACF,CAAC,CAAC;EACJ;EAEA,OAAOnB,KAAK;AACd,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["internal/index.ts"],"mappings":"AAAA,cAAc,iBAAiB;AAC/B,cAAc,kCAAkC;AAChD,cAAc,YAAY"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { NativeModules, Platform } from 'react-native';
|
|
2
|
-
import { ErrorCode } from '../purchaseError';
|
|
3
|
-
const {
|
|
4
|
-
RNIapIos,
|
|
5
|
-
RNIapIosSk2,
|
|
6
|
-
RNIapModule,
|
|
7
|
-
RNIapAmazonModule
|
|
8
|
-
} = NativeModules;
|
|
9
|
-
export const isIos = Platform.OS === 'ios';
|
|
10
|
-
export const isAndroid = Platform.OS === 'android';
|
|
11
|
-
export const isAmazon = isAndroid && !!RNIapAmazonModule;
|
|
12
|
-
export const isPlay = isAndroid && !!RNIapModule;
|
|
13
|
-
|
|
14
|
-
// Android
|
|
15
|
-
|
|
16
|
-
let androidNativeModule = RNIapModule;
|
|
17
|
-
export const setAndroidNativeModule = nativeModule => {
|
|
18
|
-
androidNativeModule = nativeModule;
|
|
19
|
-
};
|
|
20
|
-
export const checkNativeAndroidAvailable = () => {
|
|
21
|
-
if (!RNIapModule && !RNIapAmazonModule) {
|
|
22
|
-
throw new Error(ErrorCode.E_IAP_NOT_AVAILABLE);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* If changing the typings of `getAndroidModule` to accommodate extra modules,
|
|
28
|
-
* make sure to update `getAndroidModuleType`.
|
|
29
|
-
*/
|
|
30
|
-
export const getAndroidModule = () => {
|
|
31
|
-
checkNativeAndroidAvailable();
|
|
32
|
-
return androidNativeModule ? androidNativeModule : RNIapModule ? RNIapModule : RNIapAmazonModule;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Returns whether the Android in-app-purchase code is using the Android,
|
|
37
|
-
* Amazon, or another store.
|
|
38
|
-
*/
|
|
39
|
-
export const getAndroidModuleType = () => {
|
|
40
|
-
const module = getAndroidModule();
|
|
41
|
-
switch (module) {
|
|
42
|
-
case RNIapModule:
|
|
43
|
-
return 'android';
|
|
44
|
-
case RNIapAmazonModule:
|
|
45
|
-
return 'amazon';
|
|
46
|
-
default:
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
export const getNativeModule = () => {
|
|
51
|
-
return isAndroid ? getAndroidModule() : getIosModule();
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
// iOS
|
|
55
|
-
|
|
56
|
-
let iosNativeModule = RNIapIos;
|
|
57
|
-
export const isStorekit2Available = () => isIos && (RNIapIosSk2 === null || RNIapIosSk2 === void 0 ? void 0 : RNIapIosSk2.isAvailable()) === 1;
|
|
58
|
-
export const isIosStorekit2 = () => isIos && !!iosNativeModule && iosNativeModule === RNIapIosSk2 && isStorekit2Available();
|
|
59
|
-
export const setIosNativeModule = nativeModule => {
|
|
60
|
-
iosNativeModule = nativeModule;
|
|
61
|
-
};
|
|
62
|
-
export const storekit2Mode = () => {
|
|
63
|
-
iosNativeModule = RNIapIosSk2;
|
|
64
|
-
if (isStorekit2Available()) {
|
|
65
|
-
RNIapIos.disable();
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
if (isIos) {
|
|
69
|
-
console.warn('Storekit 2 is not available on this device');
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
return true;
|
|
73
|
-
};
|
|
74
|
-
export const storekit1Mode = () => {
|
|
75
|
-
iosNativeModule = RNIapIos;
|
|
76
|
-
if (isStorekit2Available()) {
|
|
77
|
-
RNIapIosSk2.disable();
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
return false;
|
|
81
|
-
};
|
|
82
|
-
export const storekitHybridMode = () => {
|
|
83
|
-
if (isStorekit2Available()) {
|
|
84
|
-
iosNativeModule = RNIapIosSk2;
|
|
85
|
-
console.info('Using Storekit 2');
|
|
86
|
-
return true;
|
|
87
|
-
} else {
|
|
88
|
-
iosNativeModule = RNIapIos;
|
|
89
|
-
console.info('Using Storekit 1');
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
const checkNativeIOSAvailable = () => {
|
|
94
|
-
if (!RNIapIos && !isStorekit2Available()) {
|
|
95
|
-
throw new Error(ErrorCode.E_IAP_NOT_AVAILABLE);
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
export const getIosModule = () => {
|
|
99
|
-
checkNativeIOSAvailable();
|
|
100
|
-
return iosNativeModule ? iosNativeModule : RNIapIosSk2 ? RNIapIosSk2 : RNIapIos;
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","ErrorCode","RNIapIos","RNIapIosSk2","RNIapModule","RNIapAmazonModule","isIos","OS","isAndroid","isAmazon","isPlay","androidNativeModule","setAndroidNativeModule","nativeModule","checkNativeAndroidAvailable","Error","E_IAP_NOT_AVAILABLE","getAndroidModule","getAndroidModuleType","module","getNativeModule","getIosModule","iosNativeModule","isStorekit2Available","isAvailable","isIosStorekit2","setIosNativeModule","storekit2Mode","disable","console","warn","storekit1Mode","storekitHybridMode","info","checkNativeIOSAvailable"],"sourceRoot":"../../../src","sources":["internal/platform.ts"],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { NativeModules } from 'react-native';
|
|
2
|
-
import { enhancedFetch } from '../internal';
|
|
3
|
-
|
|
4
|
-
// ----------
|
|
5
|
-
|
|
6
|
-
export const AmazonModule = NativeModules.RNIapAmazonModule;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Validate receipt for Amazon. NOTE: This method is here for debugging purposes only. Including
|
|
10
|
-
* your developer secret in the binary you ship to users is potentially dangerous.
|
|
11
|
-
* Use server side validation instead for your production builds
|
|
12
|
-
* @param {string} developerSecret: from the Amazon developer console.
|
|
13
|
-
* @param {string} userId who purchased the item.
|
|
14
|
-
* @param {string} receiptId long obfuscated string returned when purchasing the item
|
|
15
|
-
* @param {boolean} useSandbox Defaults to true, use sandbox environment or production.
|
|
16
|
-
* @returns {Promise<object>}
|
|
17
|
-
*/
|
|
18
|
-
export const validateReceiptAmazon = async ({
|
|
19
|
-
developerSecret,
|
|
20
|
-
userId,
|
|
21
|
-
receiptId,
|
|
22
|
-
useSandbox = true
|
|
23
|
-
}) => {
|
|
24
|
-
const sandBoxUrl = useSandbox ? 'sandbox/' : '';
|
|
25
|
-
const url = `https://appstore-sdk.amazon.com/${sandBoxUrl}version/1.0/verifyReceiptId/developer/${developerSecret}/user/${userId}/receiptId/${receiptId}`;
|
|
26
|
-
return await enhancedFetch(url);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Returns the status of verifying app's license @see AmazonLicensingStatus
|
|
31
|
-
*/
|
|
32
|
-
export const verifyLicense = async () => AmazonModule.verifyLicense();
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Deep link to subscriptions screen on Android.
|
|
36
|
-
* @param {string} sku The product's SKU (on Android)
|
|
37
|
-
* @returns {Promise<void>}
|
|
38
|
-
*/
|
|
39
|
-
export const deepLinkToSubscriptionsAmazon = async ({
|
|
40
|
-
isAmazonDevice
|
|
41
|
-
}) => AmazonModule.deepLinkToSubscriptions(isAmazonDevice);
|
|
42
|
-
//# sourceMappingURL=amazon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","enhancedFetch","AmazonModule","RNIapAmazonModule","validateReceiptAmazon","developerSecret","userId","receiptId","useSandbox","sandBoxUrl","url","verifyLicense","deepLinkToSubscriptionsAmazon","isAmazonDevice","deepLinkToSubscriptions"],"sourceRoot":"../../../src","sources":["modules/amazon.ts"],"mappings":"AAAA,SAAQA,aAAa,QAAO,cAAc;AAE1C,SAAQC,aAAa,QAAO,aAAa;;AASzC;;AAqCA,OAAO,MAAMC,YAAY,GACvBF,aAAa,CAACG,iBAAsC;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAG,MAAAA,CAAO;EAC1CC,eAAe;EACfC,MAAM;EACNC,SAAS;EACTC,UAAU,GAAG;AAMf,CAAC,KAA2B;EAC1B,MAAMC,UAAU,GAAGD,UAAU,GAAG,UAAU,GAAG,EAAE;EAC/C,MAAME,GAAG,GAAI,mCAAkCD,UAAW,yCAAwCJ,eAAgB,SAAQC,MAAO,cAAaC,SAAU,EAAC;EAEzJ,OAAO,MAAMN,aAAa,CAAcS,GAAG,CAAC;AAC9C,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAC3BT,YAAY,CAACS,aAAa,CAAC,CAAC;;AAE9B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAA6B,GAAG,MAAAA,CAAO;EAClDC;AAGF,CAAC,KAAoBX,YAAY,CAACY,uBAAuB,CAACD,cAAc,CAAC"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Linking, NativeModules } from 'react-native';
|
|
2
|
-
import { checkNativeAndroidAvailable, getAndroidModule, isAndroid } from '../internal';
|
|
3
|
-
import { InstallSourceAndroid } from '../types';
|
|
4
|
-
const {
|
|
5
|
-
RNIapModule
|
|
6
|
-
} = NativeModules;
|
|
7
|
-
export const AndroidModule = NativeModules.RNIapModule;
|
|
8
|
-
export const getInstallSourceAndroid = () => {
|
|
9
|
-
return RNIapModule ? InstallSourceAndroid.GOOGLE_PLAY : InstallSourceAndroid.AMAZON;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Deep link to subscriptions screen on Android.
|
|
14
|
-
* @param {string} sku The product's SKU (on Android)
|
|
15
|
-
* @returns {Promise<void>}
|
|
16
|
-
*/
|
|
17
|
-
export const deepLinkToSubscriptionsAndroid = async ({
|
|
18
|
-
sku
|
|
19
|
-
}) => {
|
|
20
|
-
checkNativeAndroidAvailable();
|
|
21
|
-
return Linking.openURL(`https://play.google.com/store/account/subscriptions?package=${await RNIapModule.getPackageName()}&sku=${sku}`);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Validate receipt for Android. NOTE: This method is here for debugging purposes only. Including
|
|
26
|
-
* your access token in the binary you ship to users is potentially dangerous.
|
|
27
|
-
* Use server side validation instead for your production builds
|
|
28
|
-
* @param {string} packageName package name of your app.
|
|
29
|
-
* @param {string} productId product id for your in app product.
|
|
30
|
-
* @param {string} productToken token for your purchase.
|
|
31
|
-
* @param {string} accessToken accessToken from googleApis.
|
|
32
|
-
* @param {boolean} isSub whether this is subscription or inapp. `true` for subscription.
|
|
33
|
-
* @returns {Promise<object>}
|
|
34
|
-
*/
|
|
35
|
-
export const validateReceiptAndroid = async ({
|
|
36
|
-
packageName,
|
|
37
|
-
productId,
|
|
38
|
-
productToken,
|
|
39
|
-
accessToken,
|
|
40
|
-
isSub
|
|
41
|
-
}) => {
|
|
42
|
-
const type = isSub ? 'subscriptions' : 'products';
|
|
43
|
-
const url = 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications' + `/${packageName}/purchases/${type}/${productId}` + `/tokens/${productToken}?access_token=${accessToken}`;
|
|
44
|
-
const response = await fetch(url, {
|
|
45
|
-
method: 'GET',
|
|
46
|
-
headers: {
|
|
47
|
-
'Content-Type': 'application/json'
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
if (!response.ok) {
|
|
51
|
-
throw Object.assign(new Error(response.statusText), {
|
|
52
|
-
statusCode: response.status
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return response.json();
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Acknowledge a product (on Android.) No-op on iOS.
|
|
60
|
-
* @param {string} token The product's token (on Android)
|
|
61
|
-
* @returns {Promise<PurchaseResult | void>}
|
|
62
|
-
*/
|
|
63
|
-
export const acknowledgePurchaseAndroid = ({
|
|
64
|
-
token,
|
|
65
|
-
developerPayload
|
|
66
|
-
}) => {
|
|
67
|
-
return getAndroidModule().acknowledgePurchase(token, developerPayload);
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Acknowledge a product (on Android.) No-op on iOS.
|
|
72
|
-
* @param {Android.FeatureType} feature to be checked
|
|
73
|
-
* @returns {Promise<boolean>}
|
|
74
|
-
*/
|
|
75
|
-
export const isFeatureSupported = feature => {
|
|
76
|
-
if (!(isAndroid && RNIapModule)) {
|
|
77
|
-
return Promise.reject('This is only available on Android clients');
|
|
78
|
-
}
|
|
79
|
-
return AndroidModule.isFeatureSupported(feature);
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=android.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","NativeModules","checkNativeAndroidAvailable","getAndroidModule","isAndroid","InstallSourceAndroid","RNIapModule","AndroidModule","getInstallSourceAndroid","GOOGLE_PLAY","AMAZON","deepLinkToSubscriptionsAndroid","sku","openURL","getPackageName","validateReceiptAndroid","packageName","productId","productToken","accessToken","isSub","type","url","response","fetch","method","headers","ok","Object","assign","Error","statusText","statusCode","status","json","acknowledgePurchaseAndroid","token","developerPayload","acknowledgePurchase","isFeatureSupported","feature","Promise","reject"],"sourceRoot":"../../../src","sources":["modules/android.ts"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,aAAa,QAAO,cAAc;AAEnD,SACEC,2BAA2B,EAC3BC,gBAAgB,EAChBC,SAAS,QACJ,aAAa;AACpB,SACEC,oBAAoB,QAOf,UAAU;AAKjB,MAAM;EAACC;AAAW,CAAC,GAAGL,aAAa;AA2DnC,OAAO,MAAMM,aAAa,GAAGN,aAAa,CAACK,WAAiC;AAE5E,OAAO,MAAME,uBAAuB,GAAGA,CAAA,KAA4B;EACjE,OAAOF,WAAW,GACdD,oBAAoB,CAACI,WAAW,GAChCJ,oBAAoB,CAACK,MAAM;AACjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,GAAG,MAAAA,CAAO;EACnDC;AAGF,CAAC,KAAoB;EACnBV,2BAA2B,CAAC,CAAC;EAE7B,OAAOF,OAAO,CAACa,OAAO,CACnB,+DAA8D,MAAMP,WAAW,CAACQ,cAAc,CAAC,CAAE,QAAOF,GAAI,EAC/G,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,sBAAsB,GAAG,MAAAA,CAAO;EAC3CC,WAAW;EACXC,SAAS;EACTC,YAAY;EACZC,WAAW;EACXC;AAOF,CAAC,KAAmC;EAClC,MAAMC,IAAI,GAAGD,KAAK,GAAG,eAAe,GAAG,UAAU;EAEjD,MAAME,GAAG,GACP,0EAA0E,GACzE,IAAGN,WAAY,cAAaK,IAAK,IAAGJ,SAAU,EAAC,GAC/C,WAAUC,YAAa,iBAAgBC,WAAY,EAAC;EAEvD,MAAMI,QAAQ,GAAG,MAAMC,KAAK,CAACF,GAAG,EAAE;IAChCG,MAAM,EAAE,KAAK;IACbC,OAAO,EAAE;MACP,cAAc,EAAE;IAClB;EACF,CAAC,CAAC;EAEF,IAAI,CAACH,QAAQ,CAACI,EAAE,EAAE;IAChB,MAAMC,MAAM,CAACC,MAAM,CAAC,IAAIC,KAAK,CAACP,QAAQ,CAACQ,UAAU,CAAC,EAAE;MAClDC,UAAU,EAAET,QAAQ,CAACU;IACvB,CAAC,CAAC;EACJ;EAEA,OAAOV,QAAQ,CAACW,IAAI,CAAC,CAAC;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CAAC;EACzCC,KAAK;EACLC;AAIF,CAAC,KAA+C;EAC9C,OAAOlC,gBAAgB,CAAC,CAAC,CAACmC,mBAAmB,CAACF,KAAK,EAAEC,gBAAgB,CAAC;AACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,kBAAkB,GAC7BC,OAA4B,IACP;EACrB,IAAI,EAAEpC,SAAS,IAAIE,WAAW,CAAC,EAAE;IAC/B,OAAOmC,OAAO,CAACC,MAAM,CAAC,2CAA2C,CAAC;EACpE;EACA,OAAOnC,aAAa,CAACgC,kBAAkB,CAACC,OAAO,CAAC;AAClD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["modules/common.ts"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["modules/index.ts"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU"}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { Linking, NativeModules } from 'react-native';
|
|
2
|
-
import { getIosModule, isIosStorekit2 } from '../internal';
|
|
3
|
-
const {
|
|
4
|
-
RNIapIos
|
|
5
|
-
} = NativeModules;
|
|
6
|
-
/**
|
|
7
|
-
* Get the current receipt base64 encoded in IOS.
|
|
8
|
-
* @returns {Promise<ProductPurchase[]>}
|
|
9
|
-
*/
|
|
10
|
-
export const getPendingPurchasesIOS = async () => getIosModule().getPendingTransactions();
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Get the current receipt base64 encoded in IOS.
|
|
14
|
-
*
|
|
15
|
-
* The sequence should be as follows:
|
|
16
|
-
* Call getReceiptIOS({forceRefresh: false}). That will return the cached receipt that is available on TestFlight and Production.
|
|
17
|
-
* In the case of Sandbox the receipt might not be cached, causing it to return nil.
|
|
18
|
-
* In that case you might want to let the user that they will to be prompted for credentials.
|
|
19
|
-
* If they accept, call it again with `getReceiptIOS({forceRefresh:true}) If it fails or the user declines, assume they haven't purchased any items.
|
|
20
|
-
* Reference: https://developer.apple.com/forums/thread/662350
|
|
21
|
-
*
|
|
22
|
-
* From: https://apphud.com/blog/app-store-receipt-validation#what-is-app-store-receipt
|
|
23
|
-
> Q: Does a receipt always exist in the app?
|
|
24
|
-
> A: If a user downloaded the app from the App Store – yes. However, in sandbox if your app was installed via Xcode or Testflight, then there won't be a receipt until you make a purchase or restore.
|
|
25
|
-
*
|
|
26
|
-
## Usage
|
|
27
|
-
```tsx
|
|
28
|
-
import {getReceiptIOS} from 'react-native-iap';
|
|
29
|
-
try{
|
|
30
|
-
let receipt = await getReceiptIOS({forceRefresh: false});
|
|
31
|
-
if(!receipt){
|
|
32
|
-
// Let user know that they might get prompted for credentials
|
|
33
|
-
const shouldShowPrompt = // Display UI with details, Did user agree?. this only for Sandbox testing
|
|
34
|
-
if(shouldShowPrompt){
|
|
35
|
-
receipt = await getReceiptIOS({forceRefresh: true});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}catch(error:Error){
|
|
39
|
-
// error while getting the receipt, it might indicate an invalid receipt of a connection error while trying to get it
|
|
40
|
-
}
|
|
41
|
-
// If !receipt assume user doesn't own the items
|
|
42
|
-
```
|
|
43
|
-
* @param {forceRefresh?:boolean} Requests the receipt from Bundle.main.appStoreReceiptURL.
|
|
44
|
-
Based on the note above, looks like forceRefresh only makes sense when testing an app not downloaded from the Appstore.
|
|
45
|
-
And only afer a direct user action.
|
|
46
|
-
* @returns {Promise<string | undefined | null>} The receipt data
|
|
47
|
-
*/
|
|
48
|
-
export const getReceiptIOS = async ({
|
|
49
|
-
forceRefresh
|
|
50
|
-
}) => {
|
|
51
|
-
if (!isIosStorekit2()) {
|
|
52
|
-
return RNIapIos.requestReceipt(forceRefresh ?? false);
|
|
53
|
-
} else {
|
|
54
|
-
return Promise.reject('Only available on Sk1');
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Launches a modal to register the redeem offer code in IOS.
|
|
59
|
-
* @returns {Promise<null>}
|
|
60
|
-
*/
|
|
61
|
-
export const presentCodeRedemptionSheetIOS = async () => getIosModule().presentCodeRedemptionSheet();
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Should Add Store Payment (iOS only)
|
|
65
|
-
* Indicates the the App Store purchase should continue from the app instead of the App Store.
|
|
66
|
-
* @returns {Promise<Product | null>} promoted product
|
|
67
|
-
*/
|
|
68
|
-
export const getPromotedProductIOS = () => {
|
|
69
|
-
if (!isIosStorekit2()) {
|
|
70
|
-
return RNIapIos.promotedProduct();
|
|
71
|
-
} else {
|
|
72
|
-
return Promise.reject('Only available on Sk1');
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Buy the currently selected promoted product (iOS only)
|
|
78
|
-
* Initiates the payment process for a promoted product. Should only be called in response to the `iap-promoted-product` event.
|
|
79
|
-
* @returns {Promise<void>}
|
|
80
|
-
*/
|
|
81
|
-
export const buyPromotedProductIOS = () => getIosModule().buyPromotedProduct();
|
|
82
|
-
const fetchJsonOrThrow = async (url, receiptBody) => {
|
|
83
|
-
const response = await fetch(url, {
|
|
84
|
-
method: 'POST',
|
|
85
|
-
headers: {
|
|
86
|
-
Accept: 'application/json',
|
|
87
|
-
'Content-Type': 'application/json'
|
|
88
|
-
},
|
|
89
|
-
body: JSON.stringify(receiptBody)
|
|
90
|
-
});
|
|
91
|
-
if (!response.ok) {
|
|
92
|
-
throw Object.assign(new Error(response.statusText), {
|
|
93
|
-
statusCode: response.status
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
return response.json();
|
|
97
|
-
};
|
|
98
|
-
const TEST_RECEIPT = 21007;
|
|
99
|
-
const requestAgnosticReceiptValidationIos = async receiptBody => {
|
|
100
|
-
const response = await fetchJsonOrThrow('https://buy.itunes.apple.com/verifyReceipt', receiptBody);
|
|
101
|
-
|
|
102
|
-
// Best practice is to check for test receipt and check sandbox instead
|
|
103
|
-
// https://developer.apple.com/documentation/appstorereceipts/verifyreceipt
|
|
104
|
-
if (response && response.status === TEST_RECEIPT) {
|
|
105
|
-
const testResponse = await fetchJsonOrThrow('https://sandbox.itunes.apple.com/verifyReceipt', receiptBody);
|
|
106
|
-
return testResponse;
|
|
107
|
-
}
|
|
108
|
-
return response;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Validate receipt for iOS.
|
|
113
|
-
* @param {object} receiptBody the receipt body to send to apple server.
|
|
114
|
-
* @param {boolean} isTest whether this is in test environment which is sandbox.
|
|
115
|
-
* @returns {Promise<Apple.ReceiptValidationResponse | false>}
|
|
116
|
-
*/
|
|
117
|
-
export const validateReceiptIos = async ({
|
|
118
|
-
receiptBody,
|
|
119
|
-
isTest
|
|
120
|
-
}) => {
|
|
121
|
-
if (isTest == null) {
|
|
122
|
-
return await requestAgnosticReceiptValidationIos(receiptBody);
|
|
123
|
-
}
|
|
124
|
-
const url = isTest ? 'https://sandbox.itunes.apple.com/verifyReceipt' : 'https://buy.itunes.apple.com/verifyReceipt';
|
|
125
|
-
const response = await fetchJsonOrThrow(url, receiptBody);
|
|
126
|
-
return response;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Clear Transaction (iOS only)
|
|
131
|
-
* Finish remaining transactions. Related to issue #257 and #801
|
|
132
|
-
* link : https://github.com/hyochan/react-native-iap/issues/257
|
|
133
|
-
* https://github.com/hyochan/react-native-iap/issues/801
|
|
134
|
-
* @returns {Promise<void>}
|
|
135
|
-
*/
|
|
136
|
-
export const clearTransactionIOS = () => getIosModule().clearTransaction();
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Clear valid Products (iOS only)
|
|
140
|
-
* Remove all products which are validated by Apple server.
|
|
141
|
-
* @returns {void}
|
|
142
|
-
*/
|
|
143
|
-
export const clearProductsIOS = () => getIosModule().clearProducts();
|
|
144
|
-
export const deepLinkToSubscriptionsIos = () => Linking.openURL('https://apps.apple.com/account/subscriptions');
|
|
145
|
-
//# sourceMappingURL=ios.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","NativeModules","getIosModule","isIosStorekit2","RNIapIos","getPendingPurchasesIOS","getPendingTransactions","getReceiptIOS","forceRefresh","requestReceipt","Promise","reject","presentCodeRedemptionSheetIOS","presentCodeRedemptionSheet","getPromotedProductIOS","promotedProduct","buyPromotedProductIOS","buyPromotedProduct","fetchJsonOrThrow","url","receiptBody","response","fetch","method","headers","Accept","body","JSON","stringify","ok","Object","assign","Error","statusText","statusCode","status","json","TEST_RECEIPT","requestAgnosticReceiptValidationIos","testResponse","validateReceiptIos","isTest","clearTransactionIOS","clearTransaction","clearProductsIOS","clearProducts","deepLinkToSubscriptionsIos","openURL"],"sourceRoot":"../../../src","sources":["modules/ios.ts"],"mappings":"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"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { NativeModules } from 'react-native';
|
|
2
|
-
const {
|
|
3
|
-
RNIapIosSk2
|
|
4
|
-
} = NativeModules;
|
|
5
|
-
/**
|
|
6
|
-
* Sync state with Appstore (iOS only)
|
|
7
|
-
* https://developer.apple.com/documentation/storekit/appstore/3791906-sync
|
|
8
|
-
*/
|
|
9
|
-
export const sync = () => RNIapIosSk2.sync();
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export const isEligibleForIntroOffer = groupID => RNIapIosSk2.isEligibleForIntroOffer(groupID);
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
export const subscriptionStatus = sku => RNIapIosSk2.subscriptionStatus(sku);
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
*/
|
|
25
|
-
export const currentEntitlement = sku => RNIapIosSk2.currentEntitlement(sku);
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
*/
|
|
30
|
-
export const latestTransaction = sku => RNIapIosSk2.latestTransaction(sku);
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
export const beginRefundRequest = sku => RNIapIosSk2.beginRefundRequest(sku);
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
export const showManageSubscriptions = () => RNIapIosSk2.showManageSubscriptions();
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
*
|
|
44
|
-
*/
|
|
45
|
-
export const finishTransaction = transactionIdentifier => RNIapIosSk2.finishTransaction(transactionIdentifier);
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Get the receipt data from the iOS device.
|
|
49
|
-
* This returns the base64 encoded receipt data which can be sent to your server
|
|
50
|
-
* for verification with Apple's server.
|
|
51
|
-
*
|
|
52
|
-
* NOTE: For proper security, always verify receipts on your server using
|
|
53
|
-
* Apple's verifyReceipt endpoint, not directly from the app.
|
|
54
|
-
*
|
|
55
|
-
* @returns {Promise<string>} Base64 encoded receipt data
|
|
56
|
-
*/
|
|
57
|
-
export const getReceiptIos = () => RNIapIosSk2.getReceiptData();
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Check if a transaction is verified through StoreKit 2.
|
|
61
|
-
* StoreKit 2 performs local verification of transaction JWS signatures.
|
|
62
|
-
*
|
|
63
|
-
* @param {string} sku The product's SKU (on iOS)
|
|
64
|
-
* @returns {Promise<boolean>} True if the transaction is verified
|
|
65
|
-
*/
|
|
66
|
-
export const isTransactionVerified = sku => RNIapIosSk2.isTransactionVerified(sku);
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Get the JWS representation of a purchase for server-side verification.
|
|
70
|
-
* The JWS (JSON Web Signature) can be verified on your server using Apple's public keys.
|
|
71
|
-
*
|
|
72
|
-
* @param {string} sku The product's SKU (on iOS)
|
|
73
|
-
* @returns {Promise<string>} JWS representation of the transaction
|
|
74
|
-
*/
|
|
75
|
-
export const getTransactionJws = sku => RNIapIosSk2.getTransactionJws(sku);
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Validate receipt for iOS using StoreKit 2's built-in verification.
|
|
79
|
-
* Returns receipt data and verification information to help with server-side validation.
|
|
80
|
-
*
|
|
81
|
-
* NOTE: For proper security, Apple recommends verifying receipts on your server using
|
|
82
|
-
* the verifyReceipt endpoint rather than relying solely on client-side verification.
|
|
83
|
-
*
|
|
84
|
-
* @param {string} sku The product's SKU (on iOS)
|
|
85
|
-
* @returns {Promise<{
|
|
86
|
-
* isValid: boolean;
|
|
87
|
-
* receiptData: string;
|
|
88
|
-
* jwsRepresentation: string;
|
|
89
|
-
* latestTransaction?: TransactionSk2;
|
|
90
|
-
* }>}
|
|
91
|
-
*/
|
|
92
|
-
export const validateReceiptIos = async sku => {
|
|
93
|
-
const result = await RNIapIosSk2.validateReceiptIos(sku);
|
|
94
|
-
return result;
|
|
95
|
-
};
|
|
96
|
-
//# sourceMappingURL=iosSk2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","RNIapIosSk2","sync","isEligibleForIntroOffer","groupID","subscriptionStatus","sku","currentEntitlement","latestTransaction","beginRefundRequest","showManageSubscriptions","finishTransaction","transactionIdentifier","getReceiptIos","getReceiptData","isTransactionVerified","getTransactionJws","validateReceiptIos","result"],"sourceRoot":"../../../src","sources":["modules/iosSk2.ts"],"mappings":"AAAA,SAAQA,aAAa,QAAO,cAAc;AAY1C,MAAM;EAACC;AAAW,CAAC,GAAGD,aAAa;AAyEnC;AACA;AACA;AACA;AACA,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAqBD,WAAW,CAACC,IAAI,CAAC,CAAC;;AAE3D;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAIC,OAAe,IACrDH,WAAW,CAACE,uBAAuB,CAACC,OAAO,CAAC;;AAE9C;AACA;AACA;;AAEA,OAAO,MAAMC,kBAAkB,GAAIC,GAAW,IAC5CL,WAAW,CAACI,kBAAkB,CAACC,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAID,GAAW,IAC5CL,WAAW,CAACM,kBAAkB,CAACD,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAME,iBAAiB,GAAIF,GAAW,IAC3CL,WAAW,CAACO,iBAAiB,CAACF,GAAG,CAAC;;AAEpC;AACA;AACA;AACA,OAAO,MAAMG,kBAAkB,GAAIH,GAAW,IAC5CL,WAAW,CAACQ,kBAAkB,CAACH,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAMI,uBAAuB,GAAGA,CAAA,KACrCT,WAAW,CAACS,uBAAuB,CAAC,CAAC;;AAEvC;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAC5BC,qBAA6B,IACRX,WAAW,CAACU,iBAAiB,CAACC,qBAAqB,CAAC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAC3BZ,WAAW,CAACa,cAAc,CAAC,CAAC;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAIT,GAAW,IAC/CL,WAAW,CAACc,qBAAqB,CAACT,GAAG,CAAC;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMU,iBAAiB,GAAIV,GAAW,IAC3CL,WAAW,CAACe,iBAAiB,CAACV,GAAG,CAAC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,kBAAkB,GAAG,MAChCX,GAAW,IAMP;EACJ,MAAMY,MAAM,GAAG,MAAMjB,WAAW,CAACgB,kBAAkB,CAACX,GAAG,CAAC;EACxD,OAAOY,MAAM;AACf,CAAC"}
|