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.
Files changed (381) hide show
  1. package/NitroIap.podspec +33 -0
  2. package/README.md +163 -51
  3. package/android/CMakeLists.txt +32 -0
  4. package/android/build.gradle +107 -138
  5. package/android/fix-prefab.gradle +51 -0
  6. package/android/gradle.properties +5 -13
  7. package/android/src/main/AndroidManifest.xml +1 -4
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +843 -0
  10. package/android/src/main/java/com/margelo/nitro/iap/NitroIapPackage.java +33 -0
  11. package/android/src/main/java/com/margelo/nitro/iap/Types.kt +173 -0
  12. package/ios/Bridge.h +8 -0
  13. package/ios/ErrorUtils.swift +153 -0
  14. package/ios/HybridRnIap.swift +1326 -0
  15. package/ios/ProductStore.swift +33 -0
  16. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  17. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  18. package/lib/module/helpers/subscription.js +56 -0
  19. package/lib/module/helpers/subscription.js.map +1 -0
  20. package/lib/module/hooks/useIAP.js +175 -123
  21. package/lib/module/hooks/useIAP.js.map +1 -1
  22. package/lib/module/index.js +1015 -9
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/package.json +1 -0
  25. package/lib/module/specs/RnIap.nitro.js +4 -0
  26. package/lib/{commonjs/modules/common.js.map → module/specs/RnIap.nitro.js.map} +1 -1
  27. package/lib/module/types.js +187 -0
  28. package/lib/module/types.js.map +1 -0
  29. package/lib/module/utils/error.js +80 -0
  30. package/lib/module/utils/error.js.map +1 -0
  31. package/lib/module/utils/type-bridge.js +202 -0
  32. package/lib/module/utils/type-bridge.js.map +1 -0
  33. package/lib/typescript/package.json +1 -0
  34. package/lib/typescript/plugin/src/withIAP.d.ts +2 -7
  35. package/lib/typescript/plugin/src/withIAP.d.ts.map +1 -1
  36. package/lib/typescript/scripts/check-nitro-versions.d.ts +3 -0
  37. package/lib/typescript/scripts/check-nitro-versions.d.ts.map +1 -0
  38. package/lib/typescript/src/helpers/subscription.d.ts +14 -0
  39. package/lib/typescript/src/helpers/subscription.d.ts.map +1 -0
  40. package/lib/typescript/src/hooks/useIAP.d.ts +42 -26
  41. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  42. package/lib/typescript/src/index.d.ts +356 -8
  43. package/lib/typescript/src/index.d.ts.map +1 -1
  44. package/lib/typescript/src/specs/RnIap.nitro.d.ts +404 -0
  45. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -0
  46. package/lib/typescript/src/types.d.ts +544 -0
  47. package/lib/typescript/src/types.d.ts.map +1 -0
  48. package/lib/typescript/src/utils/error.d.ts +30 -0
  49. package/lib/typescript/src/utils/error.d.ts.map +1 -0
  50. package/lib/typescript/src/utils/type-bridge.d.ts +40 -0
  51. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -0
  52. package/nitro.json +17 -0
  53. package/nitrogen/generated/android/NitroIap+autolinking.cmake +80 -0
  54. package/nitrogen/generated/android/NitroIap+autolinking.gradle +27 -0
  55. package/nitrogen/generated/android/NitroIapOnLoad.cpp +50 -0
  56. package/nitrogen/generated/android/NitroIapOnLoad.hpp +25 -0
  57. package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +78 -0
  58. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchase.hpp +78 -0
  59. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchaseResult.hpp +78 -0
  60. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +577 -0
  61. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +93 -0
  62. package/nitrogen/generated/android/c++/JNitroAndroidReceiptValidationOptions.hpp +66 -0
  63. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +54 -0
  64. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +65 -0
  65. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +62 -0
  66. package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +58 -0
  67. package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +53 -0
  68. package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +62 -0
  69. package/nitrogen/generated/android/c++/JNitroProduct.hpp +154 -0
  70. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +122 -0
  71. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +66 -0
  72. package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +70 -0
  73. package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +60 -0
  74. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +122 -0
  75. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +68 -0
  76. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +115 -0
  77. package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +84 -0
  78. package/nitrogen/generated/android/c++/JNitroSubscriptionOffer.hpp +57 -0
  79. package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +74 -0
  80. package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +64 -0
  81. package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.cpp +26 -0
  82. package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.hpp +71 -0
  83. package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.cpp +26 -0
  84. package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp +75 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +81 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +81 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +81 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +198 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAndroidReceiptValidationOptions.kt +38 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +29 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +38 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +32 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +32 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +29 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +32 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroIapOnLoad.kt +35 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +104 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +80 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +32 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +41 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +32 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +80 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +38 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +47 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +41 -0
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionOffer.kt +32 -0
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +44 -0
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +35 -0
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +42 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +42 -0
  111. package/nitrogen/generated/ios/NitroIap+autolinking.rb +60 -0
  112. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +152 -0
  113. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +1061 -0
  114. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +107 -0
  115. package/nitrogen/generated/ios/NitroIapAutolinking.mm +33 -0
  116. package/nitrogen/generated/ios/NitroIapAutolinking.swift +25 -0
  117. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.cpp +11 -0
  118. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +355 -0
  119. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  120. package/nitrogen/generated/ios/swift/Func_void_NitroProduct.swift +47 -0
  121. package/nitrogen/generated/ios/swift/Func_void_NitroPurchase.swift +47 -0
  122. package/nitrogen/generated/ios/swift/Func_void_NitroPurchaseResult.swift +47 -0
  123. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  124. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  125. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +54 -0
  126. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +54 -0
  127. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +54 -0
  128. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__vector_NitroSubscriptionStatus__.swift +54 -0
  129. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  130. package/nitrogen/generated/ios/swift/Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_.swift +59 -0
  131. package/nitrogen/generated/ios/swift/Func_void_std__variant_bool__NitroPurchaseResult_.swift +59 -0
  132. package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroProduct_.swift +47 -0
  133. package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroPurchase_.swift +47 -0
  134. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +78 -0
  135. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +750 -0
  136. package/nitrogen/generated/ios/swift/NitroAndroidReceiptValidationOptions.swift +80 -0
  137. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesAndroidOptions.swift +54 -0
  138. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +116 -0
  139. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +84 -0
  140. package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +58 -0
  141. package/nitrogen/generated/ios/swift/NitroFinishTransactionIosParams.swift +35 -0
  142. package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +84 -0
  143. package/nitrogen/generated/ios/swift/NitroProduct.swift +653 -0
  144. package/nitrogen/generated/ios/swift/NitroPurchase.swift +453 -0
  145. package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +84 -0
  146. package/nitrogen/generated/ios/swift/NitroPurchaseResult.swift +117 -0
  147. package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +65 -0
  148. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultAndroid.swift +258 -0
  149. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +87 -0
  150. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +225 -0
  151. package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +161 -0
  152. package/nitrogen/generated/ios/swift/NitroSubscriptionOffer.swift +46 -0
  153. package/nitrogen/generated/ios/swift/NitroSubscriptionRenewalInfo.swift +152 -0
  154. package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +76 -0
  155. package/nitrogen/generated/ios/swift/Variant_Bool_NitroPurchaseResult.swift +18 -0
  156. package/nitrogen/generated/ios/swift/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift +18 -0
  157. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +50 -0
  158. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +125 -0
  159. package/nitrogen/generated/shared/c++/NitroAndroidReceiptValidationOptions.hpp +80 -0
  160. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +68 -0
  161. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +79 -0
  162. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +76 -0
  163. package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +72 -0
  164. package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +67 -0
  165. package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +76 -0
  166. package/nitrogen/generated/shared/c++/NitroProduct.hpp +168 -0
  167. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +136 -0
  168. package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +76 -0
  169. package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +84 -0
  170. package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +74 -0
  171. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +136 -0
  172. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +82 -0
  173. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +95 -0
  174. package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +85 -0
  175. package/nitrogen/generated/shared/c++/NitroSubscriptionOffer.hpp +71 -0
  176. package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +88 -0
  177. package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +78 -0
  178. package/package.json +144 -104
  179. package/plugin/build/src/withIAP.d.ts +3 -0
  180. package/plugin/build/src/withIAP.js +81 -0
  181. package/plugin/build/tsconfig.tsbuildinfo +1 -0
  182. package/plugin/build/withIAP.d.ts +2 -7
  183. package/plugin/build/withIAP.js +62 -51
  184. package/plugin/src/withIAP.ts +119 -0
  185. package/plugin/tsconfig.json +18 -0
  186. package/plugin/tsconfig.tsbuildinfo +1 -0
  187. package/src/helpers/subscription.ts +65 -0
  188. package/src/hooks/useIAP.ts +361 -222
  189. package/src/index.ts +1194 -9
  190. package/src/specs/RnIap.nitro.ts +501 -0
  191. package/src/types.ts +680 -0
  192. package/src/utils/error.ts +97 -0
  193. package/src/utils/type-bridge.ts +209 -0
  194. package/LICENSE +0 -21
  195. package/RNIap.podspec +0 -36
  196. package/android/src/amazon/AndroidManifest.xml +0 -14
  197. package/android/src/amazon/java/com/dooboolab/rniap/EventSender.kt +0 -10
  198. package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxy.kt +0 -29
  199. package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxyAmazonImpl.kt +0 -31
  200. package/android/src/amazon/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -55
  201. package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonListener.kt +0 -325
  202. package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonModule.kt +0 -244
  203. package/android/src/amazon/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
  204. package/android/src/amazon/java/com/dooboolab/rniap/modifysubscription/RNIapAmazonModifySubscriptionListener.kt +0 -88
  205. package/android/src/amazon/java/com/dooboolab/rniap/utils/Extensions.kt +0 -22
  206. package/android/src/main/java/com/dooboolab/rniap/PromiseUtils.kt +0 -62
  207. package/android/src/main/java/com/dooboolab/rniap/PromiseUtlis.kt +0 -43
  208. package/android/src/play/java/com/dooboolab/rniap/PlayUtils.kt +0 -114
  209. package/android/src/play/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -15
  210. package/android/src/play/java/com/dooboolab/rniap/RNIapModule.kt +0 -911
  211. package/android/src/play/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
  212. package/android/src/testAmazon/java/com/dooboolab/rniap/RNIapAmazonModuleTest.kt +0 -170
  213. package/app.plugin.js +0 -1
  214. package/ios/IapSerializationUtils.swift +0 -290
  215. package/ios/IapTypes.swift +0 -56
  216. package/ios/IapUtils.swift +0 -40
  217. package/ios/LatestPromiseKeeper.swift +0 -52
  218. package/ios/RNIapIos-Bridging-Header.h +0 -2
  219. package/ios/RNIapIos.m +0 -69
  220. package/ios/RNIapIos.swift +0 -868
  221. package/ios/RNIapIos.xcodeproj/project.pbxproj +0 -289
  222. package/ios/RNIapIosSk2.m +0 -126
  223. package/ios/RNIapIosSk2.swift +0 -1413
  224. package/ios/ThreadSafe.swift +0 -18
  225. package/lib/commonjs/eventEmitter.js +0 -195
  226. package/lib/commonjs/eventEmitter.js.map +0 -1
  227. package/lib/commonjs/hooks/index.js +0 -17
  228. package/lib/commonjs/hooks/index.js.map +0 -1
  229. package/lib/commonjs/hooks/useIAP.js +0 -203
  230. package/lib/commonjs/hooks/useIAP.js.map +0 -1
  231. package/lib/commonjs/hooks/withIAPContext.js +0 -95
  232. package/lib/commonjs/hooks/withIAPContext.js.map +0 -1
  233. package/lib/commonjs/iap.js +0 -836
  234. package/lib/commonjs/iap.js.map +0 -1
  235. package/lib/commonjs/index.js +0 -105
  236. package/lib/commonjs/index.js.map +0 -1
  237. package/lib/commonjs/internal/enhancedFetch.js +0 -26
  238. package/lib/commonjs/internal/enhancedFetch.js.map +0 -1
  239. package/lib/commonjs/internal/fillProductsWithAdditionalData.js +0 -50
  240. package/lib/commonjs/internal/fillProductsWithAdditionalData.js.map +0 -1
  241. package/lib/commonjs/internal/index.js +0 -39
  242. package/lib/commonjs/internal/index.js.map +0 -1
  243. package/lib/commonjs/internal/platform.js +0 -119
  244. package/lib/commonjs/internal/platform.js.map +0 -1
  245. package/lib/commonjs/modules/amazon.js +0 -50
  246. package/lib/commonjs/modules/amazon.js.map +0 -1
  247. package/lib/commonjs/modules/android.js +0 -92
  248. package/lib/commonjs/modules/android.js.map +0 -1
  249. package/lib/commonjs/modules/common.js +0 -2
  250. package/lib/commonjs/modules/index.js +0 -50
  251. package/lib/commonjs/modules/index.js.map +0 -1
  252. package/lib/commonjs/modules/ios.js +0 -160
  253. package/lib/commonjs/modules/ios.js.map +0 -1
  254. package/lib/commonjs/modules/iosSk2.js +0 -113
  255. package/lib/commonjs/modules/iosSk2.js.map +0 -1
  256. package/lib/commonjs/purchaseError.js +0 -170
  257. package/lib/commonjs/purchaseError.js.map +0 -1
  258. package/lib/commonjs/types/amazon.js +0 -2
  259. package/lib/commonjs/types/amazon.js.map +0 -1
  260. package/lib/commonjs/types/android.js +0 -67
  261. package/lib/commonjs/types/android.js.map +0 -1
  262. package/lib/commonjs/types/apple.js +0 -24
  263. package/lib/commonjs/types/apple.js.map +0 -1
  264. package/lib/commonjs/types/appleSk2.js +0 -137
  265. package/lib/commonjs/types/appleSk2.js.map +0 -1
  266. package/lib/commonjs/types/index.js +0 -67
  267. package/lib/commonjs/types/index.js.map +0 -1
  268. package/lib/commonjs/utils/errorMapping.js +0 -83
  269. package/lib/commonjs/utils/errorMapping.js.map +0 -1
  270. package/lib/commonjs/utils/typeGuards.js +0 -74
  271. package/lib/commonjs/utils/typeGuards.js.map +0 -1
  272. package/lib/module/eventEmitter.js +0 -185
  273. package/lib/module/eventEmitter.js.map +0 -1
  274. package/lib/module/hooks/index.js +0 -2
  275. package/lib/module/hooks/index.js.map +0 -1
  276. package/lib/module/hooks/withIAPContext.js +0 -86
  277. package/lib/module/hooks/withIAPContext.js.map +0 -1
  278. package/lib/module/iap.js +0 -805
  279. package/lib/module/iap.js.map +0 -1
  280. package/lib/module/internal/enhancedFetch.js +0 -19
  281. package/lib/module/internal/enhancedFetch.js.map +0 -1
  282. package/lib/module/internal/fillProductsWithAdditionalData.js +0 -43
  283. package/lib/module/internal/fillProductsWithAdditionalData.js.map +0 -1
  284. package/lib/module/internal/index.js +0 -4
  285. package/lib/module/internal/index.js.map +0 -1
  286. package/lib/module/internal/platform.js +0 -102
  287. package/lib/module/internal/platform.js.map +0 -1
  288. package/lib/module/modules/amazon.js +0 -42
  289. package/lib/module/modules/amazon.js.map +0 -1
  290. package/lib/module/modules/android.js +0 -81
  291. package/lib/module/modules/android.js.map +0 -1
  292. package/lib/module/modules/common.js +0 -2
  293. package/lib/module/modules/common.js.map +0 -1
  294. package/lib/module/modules/index.js +0 -5
  295. package/lib/module/modules/index.js.map +0 -1
  296. package/lib/module/modules/ios.js +0 -145
  297. package/lib/module/modules/ios.js.map +0 -1
  298. package/lib/module/modules/iosSk2.js +0 -96
  299. package/lib/module/modules/iosSk2.js.map +0 -1
  300. package/lib/module/purchaseError.js +0 -164
  301. package/lib/module/purchaseError.js.map +0 -1
  302. package/lib/module/types/amazon.js +0 -2
  303. package/lib/module/types/amazon.js.map +0 -1
  304. package/lib/module/types/android.js +0 -63
  305. package/lib/module/types/android.js.map +0 -1
  306. package/lib/module/types/apple.js +0 -17
  307. package/lib/module/types/apple.js.map +0 -1
  308. package/lib/module/types/appleSk2.js +0 -129
  309. package/lib/module/types/appleSk2.js.map +0 -1
  310. package/lib/module/types/index.js +0 -75
  311. package/lib/module/types/index.js.map +0 -1
  312. package/lib/module/utils/errorMapping.js +0 -75
  313. package/lib/module/utils/errorMapping.js.map +0 -1
  314. package/lib/module/utils/typeGuards.js +0 -61
  315. package/lib/module/utils/typeGuards.js.map +0 -1
  316. package/lib/typescript/src/eventEmitter.d.ts +0 -151
  317. package/lib/typescript/src/eventEmitter.d.ts.map +0 -1
  318. package/lib/typescript/src/hooks/index.d.ts +0 -2
  319. package/lib/typescript/src/hooks/index.d.ts.map +0 -1
  320. package/lib/typescript/src/hooks/withIAPContext.d.ts +0 -27
  321. package/lib/typescript/src/hooks/withIAPContext.d.ts.map +0 -1
  322. package/lib/typescript/src/iap.d.ts +0 -503
  323. package/lib/typescript/src/iap.d.ts.map +0 -1
  324. package/lib/typescript/src/internal/enhancedFetch.d.ts +0 -6
  325. package/lib/typescript/src/internal/enhancedFetch.d.ts.map +0 -1
  326. package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts +0 -7
  327. package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts.map +0 -1
  328. package/lib/typescript/src/internal/index.d.ts +0 -4
  329. package/lib/typescript/src/internal/index.d.ts.map +0 -1
  330. package/lib/typescript/src/internal/platform.d.ts +0 -27
  331. package/lib/typescript/src/internal/platform.d.ts.map +0 -1
  332. package/lib/typescript/src/modules/amazon.d.ts +0 -55
  333. package/lib/typescript/src/modules/amazon.d.ts.map +0 -1
  334. package/lib/typescript/src/modules/android.d.ts +0 -74
  335. package/lib/typescript/src/modules/android.d.ts.map +0 -1
  336. package/lib/typescript/src/modules/common.d.ts +0 -14
  337. package/lib/typescript/src/modules/common.d.ts.map +0 -1
  338. package/lib/typescript/src/modules/index.d.ts +0 -5
  339. package/lib/typescript/src/modules/index.d.ts.map +0 -1
  340. package/lib/typescript/src/modules/ios.d.ts +0 -117
  341. package/lib/typescript/src/modules/ios.d.ts.map +0 -1
  342. package/lib/typescript/src/modules/iosSk2.d.ts +0 -140
  343. package/lib/typescript/src/modules/iosSk2.d.ts.map +0 -1
  344. package/lib/typescript/src/purchaseError.d.ts +0 -133
  345. package/lib/typescript/src/purchaseError.d.ts.map +0 -1
  346. package/lib/typescript/src/types/amazon.d.ts +0 -33
  347. package/lib/typescript/src/types/amazon.d.ts.map +0 -1
  348. package/lib/typescript/src/types/android.d.ts +0 -66
  349. package/lib/typescript/src/types/android.d.ts.map +0 -1
  350. package/lib/typescript/src/types/apple.d.ts +0 -27
  351. package/lib/typescript/src/types/apple.d.ts.map +0 -1
  352. package/lib/typescript/src/types/appleSk2.d.ts +0 -129
  353. package/lib/typescript/src/types/appleSk2.d.ts.map +0 -1
  354. package/lib/typescript/src/types/index.d.ts +0 -302
  355. package/lib/typescript/src/types/index.d.ts.map +0 -1
  356. package/lib/typescript/src/utils/errorMapping.d.ts +0 -29
  357. package/lib/typescript/src/utils/errorMapping.d.ts.map +0 -1
  358. package/lib/typescript/src/utils/typeGuards.d.ts +0 -53
  359. package/lib/typescript/src/utils/typeGuards.d.ts.map +0 -1
  360. package/src/eventEmitter.ts +0 -212
  361. package/src/hooks/index.ts +0 -1
  362. package/src/hooks/withIAPContext.tsx +0 -179
  363. package/src/iap.ts +0 -1046
  364. package/src/internal/enhancedFetch.ts +0 -25
  365. package/src/internal/fillProductsWithAdditionalData.ts +0 -47
  366. package/src/internal/index.ts +0 -3
  367. package/src/internal/platform.ts +0 -135
  368. package/src/modules/amazon.ts +0 -94
  369. package/src/modules/android.ts +0 -179
  370. package/src/modules/common.ts +0 -16
  371. package/src/modules/index.ts +0 -4
  372. package/src/modules/ios.ts +0 -229
  373. package/src/modules/iosSk2.ts +0 -194
  374. package/src/purchaseError.ts +0 -196
  375. package/src/types/amazon.ts +0 -40
  376. package/src/types/android.ts +0 -89
  377. package/src/types/apple.ts +0 -44
  378. package/src/types/appleSk2.ts +0 -275
  379. package/src/types/index.ts +0 -379
  380. package/src/utils/errorMapping.ts +0 -88
  381. package/src/utils/typeGuards.ts +0 -90
@@ -1,47 +1,63 @@
1
- import { requestPurchase as iapRequestPurchase, requestSubscription as iapRequestSubscription } from '../iap';
2
- import type { PurchaseError } from '../purchaseError';
3
- import type { Product, Purchase, PurchaseResult, Subscription } from '../types';
4
- export interface UseIAPOptions {
5
- onPurchaseSuccess?: (purchase: Purchase) => void;
6
- onPurchaseError?: (error: PurchaseError) => void;
7
- onSyncError?: (error: Error) => void;
8
- shouldAutoSyncPurchases?: boolean;
9
- }
10
- type IAP_STATUS = {
1
+ import type { Product, Purchase, PurchaseError, PurchaseResult, SubscriptionProduct, RequestPurchaseProps, RequestSubscriptionProps, ActiveSubscription } from '../types';
2
+ type UseIap = {
11
3
  connected: boolean;
12
4
  products: Product[];
13
- promotedProductsIOS: Product[];
14
- subscriptions: Subscription[];
15
- purchaseHistory: Purchase[];
5
+ promotedProductsIOS: Purchase[];
6
+ promotedProductIdIOS?: string;
7
+ subscriptions: SubscriptionProduct[];
16
8
  availablePurchases: Purchase[];
17
9
  currentPurchase?: Purchase;
18
10
  currentPurchaseError?: PurchaseError;
19
- initConnectionError?: Error;
11
+ promotedProductIOS?: Product;
12
+ activeSubscriptions: ActiveSubscription[];
20
13
  clearCurrentPurchase: () => void;
21
14
  clearCurrentPurchaseError: () => void;
22
- finishTransaction: ({ purchase, isConsumable, developerPayloadAndroid, }: {
15
+ finishTransaction: ({ purchase, isConsumable, }: {
23
16
  purchase: Purchase;
24
17
  isConsumable?: boolean;
25
- developerPayloadAndroid?: string;
26
- }) => Promise<string | boolean | PurchaseResult | void>;
18
+ }) => Promise<PurchaseResult | boolean>;
27
19
  getAvailablePurchases: () => Promise<void>;
28
- getPurchaseHistory: () => Promise<void>;
29
- getProducts: ({ skus }: {
30
- skus: string[];
31
- }) => Promise<void>;
32
- getSubscriptions: ({ skus }: {
20
+ fetchProducts: (params: {
33
21
  skus: string[];
22
+ type?: 'inapp' | 'subs';
34
23
  }) => Promise<void>;
35
- requestPurchase: typeof iapRequestPurchase;
36
- requestSubscription: typeof iapRequestSubscription;
37
- restorePurchases: () => Promise<void>;
24
+ /**
25
+ * @deprecated Use fetchProducts({ skus, type: 'inapp' }) instead. This method will be removed in version 3.0.0.
26
+ * Note: This method internally uses fetchProducts, so no deprecation warning is shown.
27
+ */
28
+ getProducts: (skus: string[]) => Promise<void>;
29
+ /**
30
+ * @deprecated Use fetchProducts({ skus, type: 'subs' }) instead. This method will be removed in version 3.0.0.
31
+ * Note: This method internally uses fetchProducts, so no deprecation warning is shown.
32
+ */
33
+ getSubscriptions: (skus: string[]) => Promise<void>;
34
+ requestPurchase: (params: {
35
+ request: RequestPurchaseProps | RequestSubscriptionProps;
36
+ type?: 'inapp' | 'subs';
37
+ }) => Promise<any>;
38
38
  validateReceipt: (sku: string, androidOptions?: {
39
39
  packageName: string;
40
40
  productToken: string;
41
41
  accessToken: string;
42
42
  isSub?: boolean;
43
43
  }) => Promise<any>;
44
+ restorePurchases: () => Promise<void>;
45
+ requestPromotedProductIOS: () => Promise<any | null>;
46
+ buyPromotedProductIOS: () => Promise<void>;
47
+ getActiveSubscriptions: (subscriptionIds?: string[]) => Promise<ActiveSubscription[]>;
48
+ hasActiveSubscriptions: (subscriptionIds?: string[]) => Promise<boolean>;
44
49
  };
45
- export declare const useIAP: (options?: UseIAPOptions) => IAP_STATUS;
50
+ export interface UseIapOptions {
51
+ onPurchaseSuccess?: (purchase: Purchase) => void;
52
+ onPurchaseError?: (error: PurchaseError) => void;
53
+ onSyncError?: (error: Error) => void;
54
+ shouldAutoSyncPurchases?: boolean;
55
+ onPromotedProductIOS?: (product: Product) => void;
56
+ }
57
+ /**
58
+ * React Hook for managing In-App Purchases.
59
+ * See documentation at https://expo-iap.hyo.dev/docs/hooks/useIAP
60
+ */
61
+ export declare function useIAP(options?: UseIapOptions): UseIap;
46
62
  export {};
47
63
  //# sourceMappingURL=useIAP.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIAP.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useIAP.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,eAAe,IAAI,kBAAkB,EACrC,mBAAmB,IAAI,sBAAsB,EAC9C,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAI9E,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,KAAK,UAAU,GAAG;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,mBAAmB,EAAE,OAAO,EAAE,CAAC;IAC/B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC5B,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAC5B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,iBAAiB,EAAE,CAAC,EAClB,QAAQ,EACR,YAAY,EACZ,uBAAuB,GACxB,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,KAAK,OAAO,CAAC,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC;IACxD,qBAAqB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,WAAW,EAAE,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,gBAAgB,EAAE,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,eAAe,EAAE,OAAO,kBAAkB,CAAC;IAC3C,mBAAmB,EAAE,OAAO,sBAAsB,CAAC;IACnD,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,eAAe,EAAE,CACf,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,KACE,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,MAAM,aAAc,aAAa,KAAG,UA4PhD,CAAC"}
1
+ {"version":3,"file":"useIAP.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useIAP.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,358 @@
1
- export * from './iap';
1
+ import type { NitroPurchaseResult } from './specs/RnIap.nitro';
2
+ import type { Product, Purchase, RequestPurchaseProps, RequestSubscriptionProps, PurchaseOptions, FinishTransactionParams, ReceiptValidationResultIOS, ReceiptValidationResultAndroid } from './types';
3
+ export type { RnIap, NitroProduct, NitroPurchase, NitroPurchaseResult, } from './specs/RnIap.nitro';
2
4
  export * from './types';
3
- export * from './eventEmitter';
4
- export * from './hooks/useIAP';
5
- export * from './hooks/withIAPContext';
6
- export * from './purchaseError';
7
- export * from './modules';
8
- export * from './utils/errorMapping';
9
- export * from './utils/typeGuards';
5
+ export * from './utils/error';
6
+ export interface EventSubscription {
7
+ remove(): void;
8
+ }
9
+ export { useIAP } from './hooks/useIAP';
10
+ /**
11
+ * Initialize connection to the store
12
+ */
13
+ export declare const initConnection: () => Promise<boolean>;
14
+ /**
15
+ * End connection to the store
16
+ */
17
+ export declare const endConnection: () => Promise<boolean>;
18
+ /**
19
+ * Fetch products from the store
20
+ * @param params - Product request configuration
21
+ * @param params.skus - Array of product SKUs to fetch
22
+ * @param params.type - Type of products: 'inapp' for regular products (default) or 'subs' for subscriptions
23
+ * @returns Promise<Product[]> - Array of products from the store
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Regular products
28
+ * const products = await fetchProducts({
29
+ * skus: ['product1', 'product2'],
30
+ * type: 'inapp'
31
+ * });
32
+ *
33
+ * // Subscriptions
34
+ * const subscriptions = await fetchProducts({
35
+ * skus: ['sub1', 'sub2'],
36
+ * type: 'subs'
37
+ * });
38
+ * ```
39
+ */
40
+ export declare const fetchProducts: ({ skus, type, }: {
41
+ skus: string[];
42
+ type?: "inapp" | "subs";
43
+ }) => Promise<Product[]>;
44
+ /**
45
+ * Request a purchase for products or subscriptions
46
+ * @param params - Purchase request configuration
47
+ * @param params.request - Platform-specific purchase parameters
48
+ * @param params.type - Type of purchase: 'inapp' for products (default) or 'subs' for subscriptions
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * // Product purchase
53
+ * await requestPurchase({
54
+ * request: {
55
+ * ios: { sku: productId },
56
+ * android: { skus: [productId] }
57
+ * },
58
+ * type: 'inapp'
59
+ * });
60
+ *
61
+ * // Subscription purchase
62
+ * await requestPurchase({
63
+ * request: {
64
+ * ios: { sku: subscriptionId },
65
+ * android: {
66
+ * skus: [subscriptionId],
67
+ * subscriptionOffers: [{ sku: subscriptionId, offerToken: 'token' }]
68
+ * }
69
+ * },
70
+ * type: 'subs'
71
+ * });
72
+ * ```
73
+ */
74
+ /**
75
+ * Request a purchase for products or subscriptions
76
+ * ⚠️ Important: This is an event-based operation, not promise-based.
77
+ * Listen for events through purchaseUpdatedListener or purchaseErrorListener.
78
+ * @param params - Purchase request configuration
79
+ * @param params.request - Platform-specific purchase parameters
80
+ * @param params.type - Type of purchase: 'inapp' for products (default) or 'subs' for subscriptions
81
+ */
82
+ export declare const requestPurchase: ({ request, type, }: {
83
+ request: RequestPurchaseProps | RequestSubscriptionProps;
84
+ type?: "inapp" | "subs";
85
+ }) => Promise<void>;
86
+ /**
87
+ * Get available purchases (purchased items not yet consumed/finished)
88
+ * @param params - Options for getting available purchases
89
+ * @param params.alsoPublishToEventListenerIOS - Whether to also publish to event listener (iOS only)
90
+ * @param params.onlyIncludeActiveItemsIOS - Whether to only include active items (iOS only)
91
+ * @param params.alsoPublishToEventListener - @deprecated Use alsoPublishToEventListenerIOS instead
92
+ * @param params.onlyIncludeActiveItems - @deprecated Use onlyIncludeActiveItemsIOS instead
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * const purchases = await getAvailablePurchases({
97
+ * onlyIncludeActiveItemsIOS: true
98
+ * });
99
+ * ```
100
+ */
101
+ export declare const getAvailablePurchases: ({ alsoPublishToEventListener, onlyIncludeActiveItems, alsoPublishToEventListenerIOS, onlyIncludeActiveItemsIOS, }?: PurchaseOptions) => Promise<Purchase[]>;
102
+ /**
103
+ * Finish a transaction (consume or acknowledge)
104
+ * @param params - Transaction finish parameters
105
+ * @param params.purchase - The purchase to finish
106
+ * @param params.isConsumable - Whether this is a consumable product (Android only)
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * await finishTransaction({
111
+ * purchase: myPurchase,
112
+ * isConsumable: true
113
+ * });
114
+ * ```
115
+ */
116
+ export declare const finishTransaction: ({ purchase, isConsumable, }: FinishTransactionParams) => Promise<NitroPurchaseResult | boolean>;
117
+ /**
118
+ * Acknowledge a purchase (Android only)
119
+ * @param purchaseToken - The purchase token to acknowledge
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * await acknowledgePurchaseAndroid('purchase_token_here');
124
+ * ```
125
+ */
126
+ export declare const acknowledgePurchaseAndroid: (purchaseToken: string) => Promise<NitroPurchaseResult>;
127
+ /**
128
+ * Consume a purchase (Android only)
129
+ * @param purchaseToken - The purchase token to consume
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * await consumePurchaseAndroid('purchase_token_here');
134
+ * ```
135
+ */
136
+ export declare const consumePurchaseAndroid: (purchaseToken: string) => Promise<NitroPurchaseResult>;
137
+ /**
138
+ * Purchase updated event listener
139
+ * Fired when a purchase is successful or when a pending purchase is completed.
140
+ *
141
+ * @param listener - Function to call when a purchase is updated
142
+ * @returns EventSubscription object with remove method
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const subscription = purchaseUpdatedListener((purchase) => {
147
+ * console.log('Purchase successful:', purchase);
148
+ * // 1. Validate receipt with backend
149
+ * // 2. Deliver content to user
150
+ * // 3. Call finishTransaction to acknowledge
151
+ * });
152
+ *
153
+ * // Later, clean up
154
+ * subscription.remove();
155
+ * ```
156
+ */
157
+ export declare const purchaseUpdatedListener: (listener: (purchase: Purchase) => void) => EventSubscription;
158
+ /**
159
+ * Purchase error event listener
160
+ * Fired when a purchase fails or is cancelled by the user.
161
+ *
162
+ * @param listener - Function to call when a purchase error occurs
163
+ * @returns EventSubscription object with remove method
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * const subscription = purchaseErrorListener((error) => {
168
+ * switch (error.code) {
169
+ * case 'E_USER_CANCELLED':
170
+ * // User cancelled - no action needed
171
+ * break;
172
+ * case 'E_ITEM_UNAVAILABLE':
173
+ * // Product not available
174
+ * break;
175
+ * case 'E_NETWORK_ERROR':
176
+ * // Retry with backoff
177
+ * break;
178
+ * }
179
+ * });
180
+ *
181
+ * // Later, clean up
182
+ * subscription.remove();
183
+ * ```
184
+ */
185
+ export declare const purchaseErrorListener: (listener: (error: NitroPurchaseResult) => void) => EventSubscription;
186
+ /**
187
+ * iOS-only listener for App Store promoted product events.
188
+ * Fired when a user clicks on a promoted in-app purchase in the App Store.
189
+ *
190
+ * @param listener - Callback function that receives the promoted product
191
+ * @returns EventSubscription object with remove method
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * const subscription = promotedProductListenerIOS((product) => {
196
+ * console.log('Promoted product:', product);
197
+ * // Trigger purchase flow for the promoted product
198
+ * });
199
+ *
200
+ * // Later, clean up
201
+ * subscription.remove();
202
+ * ```
203
+ *
204
+ * @platform iOS
205
+ */
206
+ export declare const promotedProductListenerIOS: (listener: (product: Product) => void) => EventSubscription;
207
+ /**
208
+ * Validate receipt on both iOS and Android platforms
209
+ * @param sku - Product SKU
210
+ * @param androidOptions - Android-specific validation options (required for Android)
211
+ * @returns Promise<ReceiptValidationResultIOS | ReceiptValidationResultAndroid> - Platform-specific receipt validation result
212
+ */
213
+ export declare const validateReceipt: (sku: string, androidOptions?: {
214
+ packageName: string;
215
+ productToken: string;
216
+ accessToken: string;
217
+ isSub?: boolean;
218
+ }) => Promise<ReceiptValidationResultIOS | ReceiptValidationResultAndroid>;
219
+ /**
220
+ * Sync iOS purchases with App Store (iOS only)
221
+ * @returns Promise<boolean>
222
+ * @platform iOS
223
+ */
224
+ export declare const syncIOS: () => Promise<boolean>;
225
+ /**
226
+ * Request the promoted product from the App Store (iOS only)
227
+ * @returns Promise<Product | null> - The promoted product or null if none available
228
+ * @platform iOS
229
+ */
230
+ export declare const requestPromotedProductIOS: () => Promise<Product | null>;
231
+ /**
232
+ * Present the code redemption sheet for offer codes (iOS only)
233
+ * @returns Promise<boolean> - True if the sheet was presented successfully
234
+ * @platform iOS
235
+ */
236
+ export declare const presentCodeRedemptionSheetIOS: () => Promise<boolean>;
237
+ /**
238
+ * Buy promoted product on iOS
239
+ * @returns Promise<void>
240
+ * @platform iOS
241
+ */
242
+ export declare const buyPromotedProductIOS: () => Promise<void>;
243
+ /**
244
+ * Clear unfinished transactions on iOS
245
+ * @returns Promise<void>
246
+ * @platform iOS
247
+ */
248
+ export declare const clearTransactionIOS: () => Promise<void>;
249
+ /**
250
+ * Begin a refund request for a product on iOS 15+
251
+ * @param sku - The product SKU to refund
252
+ * @returns Promise<string | null> - The refund status or null if not available
253
+ * @platform iOS
254
+ */
255
+ export declare const beginRefundRequestIOS: (sku: string) => Promise<string | null>;
256
+ /**
257
+ * Get subscription status for a product (iOS only)
258
+ * @param sku - The product SKU
259
+ * @returns Promise<any[]> - Array of subscription status objects
260
+ * @platform iOS
261
+ */
262
+ export declare const subscriptionStatusIOS: (sku: string) => Promise<any[]>;
263
+ /**
264
+ * Get current entitlement for a product (iOS only)
265
+ * @param sku - The product SKU
266
+ * @returns Promise<Purchase | null> - Current entitlement or null
267
+ * @platform iOS
268
+ */
269
+ export declare const currentEntitlementIOS: (sku: string) => Promise<Purchase | null>;
270
+ /**
271
+ * Get latest transaction for a product (iOS only)
272
+ * @param sku - The product SKU
273
+ * @returns Promise<Purchase | null> - Latest transaction or null
274
+ * @platform iOS
275
+ */
276
+ export declare const latestTransactionIOS: (sku: string) => Promise<Purchase | null>;
277
+ /**
278
+ * Get pending transactions (iOS only)
279
+ * @returns Promise<Purchase[]> - Array of pending transactions
280
+ * @platform iOS
281
+ */
282
+ export declare const getPendingTransactionsIOS: () => Promise<Purchase[]>;
283
+ /**
284
+ * Show manage subscriptions screen (iOS only)
285
+ * @returns Promise<boolean> - Success flag
286
+ * @platform iOS
287
+ */
288
+ export declare const showManageSubscriptionsIOS: () => Promise<boolean>;
289
+ /**
290
+ * Check if user is eligible for intro offer (iOS only)
291
+ * @param groupID - The subscription group ID
292
+ * @returns Promise<boolean> - Eligibility status
293
+ * @platform iOS
294
+ */
295
+ export declare const isEligibleForIntroOfferIOS: (groupID: string) => Promise<boolean>;
296
+ /**
297
+ * Get receipt data (iOS only)
298
+ * @returns Promise<string> - Base64 encoded receipt data
299
+ * @platform iOS
300
+ */
301
+ export declare const getReceiptDataIOS: () => Promise<string>;
302
+ /**
303
+ * Check if transaction is verified (iOS only)
304
+ * @param sku - The product SKU
305
+ * @returns Promise<boolean> - Verification status
306
+ * @platform iOS
307
+ */
308
+ export declare const isTransactionVerifiedIOS: (sku: string) => Promise<boolean>;
309
+ /**
310
+ * Get transaction JWS representation (iOS only)
311
+ * @param sku - The product SKU
312
+ * @returns Promise<string | null> - JWS representation or null
313
+ * @platform iOS
314
+ */
315
+ export declare const getTransactionJwsIOS: (sku: string) => Promise<string | null>;
316
+ /**
317
+ * Get the storefront identifier for the user's App Store account (iOS only)
318
+ * @returns Promise<string> - The storefront identifier (e.g., 'USA' for United States)
319
+ * @platform iOS
320
+ *
321
+ * @example
322
+ * ```typescript
323
+ * const storefront = await getStorefrontIOS();
324
+ * console.log('User storefront:', storefront); // e.g., 'USA', 'GBR', 'KOR'
325
+ * ```
326
+ */
327
+ export declare const getStorefrontIOS: () => Promise<string>;
328
+ /**
329
+ * iOS only - Gets the original app transaction ID if the app was purchased from the App Store
330
+ * @platform iOS
331
+ * @description
332
+ * This function retrieves the original app transaction information if the app was purchased
333
+ * from the App Store. Returns null if the app was not purchased (e.g., free app or TestFlight).
334
+ *
335
+ * @returns {Promise<string | null>} The original app transaction ID or null
336
+ *
337
+ * @example
338
+ * ```typescript
339
+ * const appTransaction = await getAppTransactionIOS();
340
+ * if (appTransaction) {
341
+ * console.log('App was purchased, transaction ID:', appTransaction);
342
+ * } else {
343
+ * console.log('App was not purchased from App Store');
344
+ * }
345
+ * ```
346
+ */
347
+ export declare const getAppTransactionIOS: () => Promise<string | null>;
348
+ export { getActiveSubscriptions, hasActiveSubscriptions, } from './helpers/subscription';
349
+ export { convertNitroProductToProduct, convertNitroPurchaseToPurchase, convertProductToSubscriptionProduct, validateNitroProduct, validateNitroPurchase, checkTypeSynchronization, } from './utils/type-bridge';
350
+ /**
351
+ * @deprecated Use acknowledgePurchaseAndroid instead
352
+ */
353
+ export declare const acknowledgePurchase: (purchaseToken: string) => Promise<NitroPurchaseResult>;
354
+ /**
355
+ * @deprecated Use consumePurchaseAndroid instead
356
+ */
357
+ export declare const consumePurchase: (purchaseToken: string) => Promise<NitroPurchaseResult>;
10
358
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}