react-native-iap 16.0.1 → 16.0.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 (45) hide show
  1. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +15 -7
  2. package/ios/HybridRnIap.swift +11 -6
  3. package/ios/RnIapHelper.swift +33 -1
  4. package/lib/module/hooks/useIAP.js +22 -9
  5. package/lib/module/hooks/useIAP.js.map +1 -1
  6. package/lib/module/index.js +15 -21
  7. package/lib/module/index.js.map +1 -1
  8. package/lib/module/index.kepler.js +3 -2
  9. package/lib/module/index.kepler.js.map +1 -1
  10. package/lib/module/types.js.map +1 -1
  11. package/lib/module/utils/available-purchases.js +59 -0
  12. package/lib/module/utils/available-purchases.js.map +1 -0
  13. package/lib/module/utils/type-bridge.js +56 -6
  14. package/lib/module/utils/type-bridge.js.map +1 -1
  15. package/lib/module/vega-adapter.js +13 -7
  16. package/lib/module/vega-adapter.js.map +1 -1
  17. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  18. package/lib/typescript/src/index.d.ts.map +1 -1
  19. package/lib/typescript/src/index.kepler.d.ts.map +1 -1
  20. package/lib/typescript/src/specs/RnIap.nitro.d.ts +2 -0
  21. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  22. package/lib/typescript/src/types.d.ts +11 -0
  23. package/lib/typescript/src/types.d.ts.map +1 -1
  24. package/lib/typescript/src/utils/available-purchases.d.ts +8 -0
  25. package/lib/typescript/src/utils/available-purchases.d.ts.map +1 -0
  26. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  27. package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
  28. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +11 -3
  29. package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +11 -3
  30. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +14 -4
  31. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +14 -4
  32. package/nitrogen/generated/ios/swift/NitroPurchase.swift +75 -1
  33. package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +75 -1
  34. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +10 -2
  35. package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +10 -2
  36. package/openiap-versions.json +3 -3
  37. package/package.json +1 -1
  38. package/src/hooks/useIAP.ts +22 -10
  39. package/src/index.kepler.ts +5 -9
  40. package/src/index.ts +21 -44
  41. package/src/specs/RnIap.nitro.ts +2 -0
  42. package/src/types.ts +11 -0
  43. package/src/utils/available-purchases.ts +73 -0
  44. package/src/utils/type-bridge.ts +84 -9
  45. package/src/vega-adapter.ts +24 -3
@@ -512,6 +512,7 @@ class HybridRnIap : HybridRnIapSpec() {
512
512
  return@async defaultResult
513
513
  }
514
514
 
515
+ var reachedOpenIapRequest = false
515
516
  try {
516
517
  ensureConnection()
517
518
 
@@ -628,6 +629,7 @@ class HybridRnIap : HybridRnIapSpec() {
628
629
  )
629
630
 
630
631
  val result = withContext(Dispatchers.Main) {
632
+ reachedOpenIapRequest = true
631
633
  openIap.requestPurchase(requestProps)
632
634
  }
633
635
  val purchases = result.purchasesOrEmpty()
@@ -640,15 +642,19 @@ class HybridRnIap : HybridRnIapSpec() {
640
642
  )
641
643
 
642
644
  defaultResult
645
+ } catch (e: CancellationException) {
646
+ throw e
643
647
  } catch (e: Exception) {
644
648
  RnIapLog.failure("requestPurchase", e)
645
- sendPurchaseError(
646
- toErrorResult(
647
- error = OpenIapError.PurchaseFailed(),
648
- debugMessage = e.message,
649
- messageOverride = e.message
649
+ if (!reachedOpenIapRequest) {
650
+ sendPurchaseError(
651
+ toErrorResult(
652
+ error = OpenIapError.PurchaseFailed(),
653
+ debugMessage = e.message,
654
+ messageOverride = e.message
655
+ )
650
656
  )
651
- )
657
+ }
652
658
  defaultResult
653
659
  }
654
660
  }
@@ -1306,7 +1312,9 @@ class HybridRnIap : HybridRnIapSpec() {
1306
1312
  obfuscatedProfileIdAndroid = androidPurchase?.obfuscatedProfileIdAndroid.wrapVariant(),
1307
1313
  developerPayloadAndroid = androidPurchase?.developerPayloadAndroid.wrapVariant(),
1308
1314
  isSuspendedAndroid = androidPurchase?.isSuspendedAndroid.wrapVariant(),
1309
- pendingPurchaseUpdateAndroid = androidPurchase?.pendingPurchaseUpdateAndroid.wrapVariant()
1315
+ pendingPurchaseUpdateAndroid = androidPurchase?.pendingPurchaseUpdateAndroid.wrapVariant(),
1316
+ userIdAmazon = androidPurchase?.userIdAmazon.wrapVariant(),
1317
+ userMarketplaceAmazon = androidPurchase?.userMarketplaceAmazon.wrapVariant()
1310
1318
  )
1311
1319
  }
1312
1320
 
@@ -311,7 +311,7 @@ class HybridRnIap: HybridRnIapSpec {
311
311
  let purchaseOptions = try OpenIapSerialization.purchaseOptions(from: optionsDictionary)
312
312
  RnIapLog.payload("getAvailablePurchases", optionsDictionary)
313
313
  let purchases = try await OpenIapModule.shared.getAvailablePurchases(purchaseOptions)
314
- let payloads = RnIapHelper.sanitizeArray(OpenIapSerialization.purchases(purchases))
314
+ let payloads = RnIapHelper.sanitizeArray(try RnIapHelper.purchasesRequired(purchases))
315
315
  RnIapLog.result("getAvailablePurchases", payloads)
316
316
  return payloads.map { RnIapHelper.convertPurchaseDictionary($0) }
317
317
  } catch let purchaseError as PurchaseError {
@@ -331,7 +331,9 @@ class HybridRnIap: HybridRnIapSpec {
331
331
  RnIapLog.payload("getActiveSubscriptions", subscriptionIds ?? [])
332
332
  // Call OpenIAP's native getActiveSubscriptions - includes renewalInfoIOS!
333
333
  let subscriptions = try await OpenIapModule.shared.getActiveSubscriptions(subscriptionIds)
334
- let payloads = RnIapHelper.sanitizeArray(subscriptions.map { OpenIapSerialization.encode($0) })
334
+ let payloads = RnIapHelper.sanitizeArray(
335
+ try subscriptions.map { try RnIapHelper.encodeRequired($0) }
336
+ )
335
337
  RnIapLog.result("getActiveSubscriptions", payloads)
336
338
  return payloads.map { RnIapHelper.convertActiveSubscriptionDictionary($0) }
337
339
  } catch let purchaseError as PurchaseError {
@@ -761,12 +763,15 @@ class HybridRnIap: HybridRnIapSpec {
761
763
  }
762
764
  }
763
765
  }
764
- let payloads = RnIapHelper.sanitizeArray(OpenIapSerialization.purchases(unionPurchases))
766
+ let payloads = RnIapHelper.sanitizeArray(try RnIapHelper.purchasesRequired(unionPurchases))
765
767
  RnIapLog.result("getPendingTransactionsIOS", payloads)
766
768
  return payloads.map { RnIapHelper.convertPurchaseDictionary($0) }
769
+ } catch let purchaseError as PurchaseError {
770
+ RnIapLog.failure("getPendingTransactionsIOS", error: purchaseError)
771
+ throw OpenIapException.from(purchaseError)
767
772
  } catch {
768
773
  RnIapLog.failure("getPendingTransactionsIOS", error: error)
769
- return []
774
+ throw OpenIapException.make(code: .serviceError, message: error.localizedDescription)
770
775
  }
771
776
  }
772
777
  }
@@ -792,7 +797,7 @@ class HybridRnIap: HybridRnIapSpec {
792
797
  self.purchasePayloadById[key] = value
793
798
  }
794
799
  }
795
- let payloads = RnIapHelper.sanitizeArray(OpenIapSerialization.purchases(unionPurchases))
800
+ let payloads = RnIapHelper.sanitizeArray(try RnIapHelper.purchasesRequired(unionPurchases))
796
801
  RnIapLog.result("getAllTransactionsIOS", payloads)
797
802
  return payloads.map { RnIapHelper.convertPurchaseDictionary($0) }
798
803
  } catch let purchaseError as PurchaseError {
@@ -829,7 +834,7 @@ class HybridRnIap: HybridRnIapSpec {
829
834
  RnIapLog.payload("showManageSubscriptionsIOS", nil)
830
835
  let changedPurchases = try await OpenIapModule.shared.showManageSubscriptionsIOS()
831
836
  let unionPurchases = changedPurchases.map { OpenIAP.Purchase.purchaseIos($0) }
832
- let payloads = RnIapHelper.sanitizeArray(OpenIapSerialization.purchases(unionPurchases))
837
+ let payloads = RnIapHelper.sanitizeArray(try RnIapHelper.purchasesRequired(unionPurchases))
833
838
  RnIapLog.result("showManageSubscriptionsIOS", payloads)
834
839
  return payloads.map { RnIapHelper.convertPurchaseDictionary($0) }
835
840
  } catch let purchaseError as PurchaseError {
@@ -65,6 +65,36 @@ enum RnIapHelper {
65
65
  array.map { sanitizeDictionary($0) }
66
66
  }
67
67
 
68
+ // The currently published native OpenIAP package reports an encoding
69
+ // failure as an empty dictionary. Reject that sentinel so a partial batch
70
+ // can never be surfaced as a successful query.
71
+ static func encodeRequired<T: Encodable>(_ value: T) throws -> [String: Any] {
72
+ let encoded = OpenIapSerialization.encode(value)
73
+ guard !encoded.isEmpty else {
74
+ throw PurchaseError.make(
75
+ code: .billingResponseJsonParseError,
76
+ message: "Failed to serialize native \(T.self) payload"
77
+ )
78
+ }
79
+ return encoded
80
+ }
81
+
82
+ // The currently published native OpenIAP package reports an encoding
83
+ // failure as an empty dictionary. Reject that sentinel so a partial batch
84
+ // can never be surfaced as a successful purchase query.
85
+ static func purchasesRequired(_ purchases: [OpenIAP.Purchase]) throws -> [[String: Any]] {
86
+ try purchases.map { purchase in
87
+ let encoded = OpenIapSerialization.purchase(purchase)
88
+ guard !encoded.isEmpty else {
89
+ throw PurchaseError.make(
90
+ code: .billingResponseJsonParseError,
91
+ message: "Failed to serialize native purchase payload"
92
+ )
93
+ }
94
+ return encoded
95
+ }
96
+ }
97
+
68
98
  // MARK: - Variant wrapper helpers
69
99
 
70
100
  static func wrapString(_ value: String?) -> Variant_NullType_String? {
@@ -429,7 +459,9 @@ enum RnIapHelper {
429
459
  obfuscatedProfileIdAndroid: nil,
430
460
  developerPayloadAndroid: nil,
431
461
  isSuspendedAndroid: nil,
432
- pendingPurchaseUpdateAndroid: nil
462
+ pendingPurchaseUpdateAndroid: nil,
463
+ userIdAmazon: nil,
464
+ userMarketplaceAmazon: nil
433
465
  )
434
466
  }
435
467
 
@@ -4,6 +4,7 @@
4
4
  import { useCallback, useEffect, useState, useRef } from 'react';
5
5
  import { Platform } from 'react-native';
6
6
  import { RnIapConsole } from "../utils/debug.js";
7
+ import { createPurchaseError } from "../utils/errorMapping.js";
7
8
 
8
9
  // Internal modules
9
10
  import { initConnection, purchaseErrorListener, purchaseUpdatedListener, promotedProductListenerIOS, getAvailablePurchases, finishTransaction as finishTransactionInternal, requestPurchase as requestPurchaseInternal, fetchProducts, verifyPurchase as verifyPurchaseTopLevel, verifyPurchaseWithProvider as verifyPurchaseWithProviderTopLevel, getActiveSubscriptions, hasActiveSubscriptions, syncIOS, getPromotedProductIOS, getBillingChoiceInfoAndroid, isBillingProgramAvailableAndroid, createBillingProgramReportingDetailsAndroid, launchExternalLinkAndroid, showBillingProgramInformationDialogAndroid, showInAppMessagesAndroid, openRedeemOfferCodeAndroid, userChoiceBillingListenerAndroid, developerProvidedBillingListenerAndroid, subscriptionBillingIssueListener, isStandardIOS } from "../index.js";
@@ -112,6 +113,7 @@ export function useIAP(options) {
112
113
  } catch (error) {
113
114
  RnIapConsole.error('Error fetching available purchases:', error);
114
115
  invokeOnError(error);
116
+ throw error;
115
117
  }
116
118
  }, [invokeOnError]);
117
119
  const getActiveSubscriptionsInternal = useCallback(async subscriptionIds => {
@@ -124,7 +126,7 @@ export function useIAP(options) {
124
126
  } catch (error) {
125
127
  RnIapConsole.error('Error getting active subscriptions:', error);
126
128
  invokeOnError(error);
127
- return [];
129
+ throw error;
128
130
  }
129
131
  }, [invokeOnError]);
130
132
  const hasActiveSubscriptionsInternal = useCallback(async subscriptionIds => {
@@ -133,7 +135,7 @@ export function useIAP(options) {
133
135
  } catch (error) {
134
136
  RnIapConsole.error('Error checking active subscriptions:', error);
135
137
  invokeOnError(error);
136
- return false;
138
+ throw error;
137
139
  }
138
140
  }, [invokeOnError]);
139
141
  const finishTransaction = useCallback(async args => {
@@ -148,15 +150,26 @@ export function useIAP(options) {
148
150
  await requestPurchaseInternal(requestObj);
149
151
  }, []);
150
152
  const restorePurchases = useCallback(async options => {
151
- try {
152
- if (Platform.OS === 'ios') {
153
- await syncIOS();
153
+ if (Platform.OS === 'ios') {
154
+ try {
155
+ const synced = await syncIOS();
156
+ if (!synced) {
157
+ throw createPurchaseError({
158
+ code: ErrorCode.SyncError,
159
+ message: 'App Store purchase sync did not complete',
160
+ platform: 'ios'
161
+ });
162
+ }
163
+ } catch (error) {
164
+ RnIapConsole.warn('Failed to restore purchases:', error);
165
+ invokeOnError(error);
166
+ throw error;
154
167
  }
155
- await getAvailablePurchasesInternal(options);
156
- } catch (error) {
157
- RnIapConsole.warn('Failed to restore purchases:', error);
158
- invokeOnError(error);
159
168
  }
169
+
170
+ // The query helper reports and rethrows its own error, avoiding a second
171
+ // onError call while keeping restore failure observable to the caller.
172
+ await getAvailablePurchasesInternal(options);
160
173
  }, [getAvailablePurchasesInternal, invokeOnError]);
161
174
  const verifyPurchase = useCallback(async options => {
162
175
  return verifyPurchaseTopLevel(options);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","useRef","Platform","RnIapConsole","initConnection","purchaseErrorListener","purchaseUpdatedListener","promotedProductListenerIOS","getAvailablePurchases","finishTransaction","finishTransactionInternal","requestPurchase","requestPurchaseInternal","fetchProducts","verifyPurchase","verifyPurchaseTopLevel","verifyPurchaseWithProvider","verifyPurchaseWithProviderTopLevel","getActiveSubscriptions","hasActiveSubscriptions","syncIOS","getPromotedProductIOS","getBillingChoiceInfoAndroid","isBillingProgramAvailableAndroid","createBillingProgramReportingDetailsAndroid","launchExternalLinkAndroid","showBillingProgramInformationDialogAndroid","showInAppMessagesAndroid","openRedeemOfferCodeAndroid","userChoiceBillingListenerAndroid","developerProvidedBillingListenerAndroid","subscriptionBillingIssueListener","isStandardIOS","ErrorCode","useIAP","options","connected","setConnected","products","setProducts","subscriptions","setSubscriptions","availablePurchases","setAvailablePurchases","promotedProductIOS","setPromotedProductIOS","activeSubscriptions","setActiveSubscriptions","optionsRef","connectedRef","mergeWithDuplicateCheck","existingItems","newItems","getKey","merged","forEach","newItem","isDuplicate","some","existingItem","push","current","subscriptionsRef","isMountedRef","subscriptionsRefState","invokeOnError","error","onError","Error","String","fetchProductsInternal","params","warn","requestType","type","debug","skus","result","length","items","prevSubscriptions","subscription","id","newProducts","filter","item","newSubscriptions","prevProducts","product","getAvailablePurchasesInternal","alsoPublishToEventListenerIOS","onlyIncludeActiveItemsIOS","includeSuspendedAndroid","getActiveSubscriptionsInternal","subscriptionIds","hasActiveSubscriptionsInternal","args","requestObj","restorePurchases","OS","buildAndroidConfig","config","enableBillingProgramAndroid","billingChoiceScreenTypeAndroid","registerListeners","purchaseUpdate","purchase","e","onPurchaseSuccess","purchaseUpdatedListenerOptions","purchaseError","code","InitConnection","onPurchaseError","onPromotedProductIOS","onUserChoiceBillingAndroid","userChoiceBillingAndroid","details","onDeveloperProvidedBillingAndroid","developerProvidedBillingAndroid","subscriptionBillingIssue","onSubscriptionBillingIssue","cleanupListeners","remove","undefined","initIapWithSubscriptions","reconnect"],"sourceRoot":"../../../src","sources":["hooks/useIAP.ts"],"mappings":";;AAAA;AACA,SAAQA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,QAAO,OAAO;AAC9D,SAAQC,QAAQ,QAAO,cAAc;AACrC,SAAQC,YAAY,QAAO,mBAAgB;;AAE3C;AACA,SACEC,cAAc,EACdC,qBAAqB,EACrBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,qBAAqB,EACrBC,iBAAiB,IAAIC,yBAAyB,EAC9CC,eAAe,IAAIC,uBAAuB,EAC1CC,aAAa,EACbC,cAAc,IAAIC,sBAAsB,EACxCC,0BAA0B,IAAIC,kCAAkC,EAChEC,sBAAsB,EACtBC,sBAAsB,EACtBC,OAAO,EACPC,qBAAqB,EACrBC,2BAA2B,EAC3BC,gCAAgC,EAChCC,2CAA2C,EAC3CC,yBAAyB,EACzBC,0CAA0C,EAC1CC,wBAAwB,EACxBC,0BAA0B,EAC1BC,gCAAgC,EAChCC,uCAAuC,EACvCC,gCAAgC,EAChCC,aAAa,QACR,aAAK;;AAEZ;AACA,SAAQC,SAAS,QAAO,aAAU;;AA0BlC;;AA8OA;AACA;AACA;AACA;AACA,OAAO,SAASC,MAAMA,CAACC,OAAuB,EAAU;EACtD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGrC,QAAQ,CAAU,KAAK,CAAC;EAC1D,MAAM,CAACsC,QAAQ,EAAEC,WAAW,CAAC,GAAGvC,QAAQ,CAAY,EAAE,CAAC;EACvD,MAAM,CAACwC,aAAa,EAAEC,gBAAgB,CAAC,GAAGzC,QAAQ,CAAwB,EAAE,CAAC;EAC7E,MAAM,CAAC0C,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG3C,QAAQ,CAAa,EAAE,CAAC;EAC5E,MAAM,CAAC4C,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG7C,QAAQ,CAAU,CAAC;EACvE,MAAM,CAAC8C,mBAAmB,EAAEC,sBAAsB,CAAC,GAAG/C,QAAQ,CAE5D,EAAE,CAAC;EAEL,MAAMgD,UAAU,GAAG/C,MAAM,CAA4BkC,OAAO,CAAC;EAC7D,MAAMc,YAAY,GAAGhD,MAAM,CAAU,KAAK,CAAC;;EAE3C;EACA,MAAMiD,uBAAuB,GAAGpD,WAAW,CACzC,CACEqD,aAAkB,EAClBC,QAAa,EACbC,MAA2B,KACnB;IACR,MAAMC,MAAM,GAAG,CAAC,GAAGH,aAAa,CAAC;IACjCC,QAAQ,CAACG,OAAO,CAAEC,OAAO,IAAK;MAC5B,MAAMC,WAAW,GAAGH,MAAM,CAACI,IAAI,CAC5BC,YAAY,IAAKN,MAAM,CAACM,YAAY,CAAC,KAAKN,MAAM,CAACG,OAAO,CAC3D,CAAC;MACD,IAAI,CAACC,WAAW,EAAE;QAChBH,MAAM,CAACM,IAAI,CAACJ,OAAO,CAAC;MACtB;IACF,CAAC,CAAC;IACF,OAAOF,MAAM;EACf,CAAC,EACD,EACF,CAAC;EAEDvD,SAAS,CAAC,MAAM;IACdiD,UAAU,CAACa,OAAO,GAAG1B,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEbpC,SAAS,CAAC,MAAM;IACdkD,YAAY,CAACY,OAAO,GAAGzB,SAAS;EAClC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAM0B,gBAAgB,GAAG7D,MAAM,CAO5B,CAAC,CAAC,CAAC;;EAEN;EACA,MAAM8D,YAAY,GAAG9D,MAAM,CAAU,IAAI,CAAC;EAE1C,MAAM+D,qBAAqB,GAAG/D,MAAM,CAAwB,EAAE,CAAC;EAE/DF,SAAS,CAAC,MAAM;IACdiE,qBAAqB,CAACH,OAAO,GAAGrB,aAAa;EAC/C,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;;EAEnB;EACA,MAAMyB,aAAa,GAAGnE,WAAW,CAAEoE,KAAc,IAAK;IACpD,IAAIlB,UAAU,CAACa,OAAO,EAAEM,OAAO,EAAE;MAC/BnB,UAAU,CAACa,OAAO,CAACM,OAAO,CACxBD,KAAK,YAAYE,KAAK,GAAGF,KAAK,GAAG,IAAIE,KAAK,CAACC,MAAM,CAACH,KAAK,CAAC,CAC1D,CAAC;IACH;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,qBAAqB,GAAGxE,WAAW,CACvC,MAAOyE,MAGN,IAAoB;IACnB,IAAI,CAACtB,YAAY,CAACY,OAAO,EAAE;MACzB1D,YAAY,CAACqE,IAAI,CACf,2DACF,CAAC;MACD;IACF;IACA,IAAI;MACF,MAAMC,WAAW,GAAGF,MAAM,CAACG,IAAI,IAAI,QAAQ;MAC3CvE,YAAY,CAACwE,KAAK,CAAC,sCAAsC,EAAE;QACzDC,IAAI,EAAEL,MAAM,CAACK,IAAI;QACjBF,IAAI,EAAED;MACR,CAAC,CAAC;MACF,MAAMI,MAAM,GAAG,MAAMhE,aAAa,CAAC;QACjC+D,IAAI,EAAEL,MAAM,CAACK,IAAI;QACjBF,IAAI,EAAED;MACR,CAAC,CAAC;MACFtE,YAAY,CAACwE,KAAK,CAChB,+BAA+B,EAC/BE,MAAM,EAAEC,MAAM,IAAI,CACpB,CAAC;MACD,MAAMC,KAAK,GAAIF,MAAM,IAAI,EAAwC;;MAEjE;MACA,IAAIJ,WAAW,KAAK,MAAM,EAAE;QAC1B;QACAhC,gBAAgB,CAAEuC,iBAAwC,IACxD9B,uBAAuB,CACrB8B,iBAAiB,EACjBD,KAAK,EACJE,YAAiC,IAAKA,YAAY,CAACC,EACtD,CACF,CAAC;QACD;MACF;MAEA,IAAIT,WAAW,KAAK,KAAK,EAAE;QACzB;QACA,MAAMU,WAAW,GAAGJ,KAAK,CAACK,MAAM,CAC7BC,IAAI,IAAsBA,IAAI,CAACX,IAAI,KAAK,QAC3C,CAAC;QACD,MAAMY,gBAAgB,GAAGP,KAAK,CAACK,MAAM,CAClCC,IAAI,IAAkCA,IAAI,CAACX,IAAI,KAAK,MACvD,CAAC;QAEDnC,WAAW,CAAEgD,YAAuB,IAClCrC,uBAAuB,CACrBqC,YAAY,EACZJ,WAAW,EACVK,OAAgB,IAAKA,OAAO,CAACN,EAChC,CACF,CAAC;QACDzC,gBAAgB,CAAEuC,iBAAwC,IACxD9B,uBAAuB,CACrB8B,iBAAiB,EACjBM,gBAAgB,EACfL,YAAiC,IAAKA,YAAY,CAACC,EACtD,CACF,CAAC;QACD;MACF;;MAEA;MACA3C,WAAW,CAAEgD,YAAuB,IAClCrC,uBAAuB,CACrBqC,YAAY,EACZR,KAAK,EACJS,OAAgB,IAAKA,OAAO,CAACN,EAChC,CACF,CAAC;IACH,CAAC,CAAC,OAAOhB,KAAK,EAAE;MACd/D,YAAY,CAAC+D,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;MACrDD,aAAa,CAACC,KAAK,CAAC;IACtB;EACF,CAAC,EACD,CAAChB,uBAAuB,EAAEe,aAAa,CACzC,CAAC;EAED,MAAMwB,6BAA6B,GAAG3F,WAAW,CAC/C,MAAOqC,OAAyB,IAAoB;IAClD,IAAI;MACF,MAAM0C,MAAM,GAAG,MAAMrE,qBAAqB,CAAC;QACzCkF,6BAA6B,EAC3BvD,OAAO,EAAEuD,6BAA6B,IAAI,KAAK;QACjDC,yBAAyB,EAAExD,OAAO,EAAEwD,yBAAyB,IAAI,IAAI;QACrEC,uBAAuB,EAAEzD,OAAO,EAAEyD,uBAAuB,IAAI;MAC/D,CAAC,CAAC;MACF,IAAI7B,YAAY,CAACF,OAAO,EAAE;QACxBlB,qBAAqB,CAACkC,MAAM,CAAC;MAC/B;IACF,CAAC,CAAC,OAAOX,KAAK,EAAE;MACd/D,YAAY,CAAC+D,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;MAChED,aAAa,CAACC,KAAK,CAAC;IACtB;EACF,CAAC,EACD,CAACD,aAAa,CAChB,CAAC;EAED,MAAM4B,8BAA8B,GAAG/F,WAAW,CAChD,MAAOgG,eAA0B,IAAoC;IACnE,IAAI;MACF,MAAMjB,MAAM,GAAG,MAAM3D,sBAAsB,CAAC4E,eAAe,CAAC;MAC5D,IAAI/B,YAAY,CAACF,OAAO,EAAE;QACxBd,sBAAsB,CAAC8B,MAAM,CAAC;MAChC;MACA,OAAOA,MAAM;IACf,CAAC,CAAC,OAAOX,KAAK,EAAE;MACd/D,YAAY,CAAC+D,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;MAChED,aAAa,CAACC,KAAK,CAAC;MACpB,OAAO,EAAE;IACX;EACF,CAAC,EACD,CAACD,aAAa,CAChB,CAAC;EAED,MAAM8B,8BAA8B,GAAGjG,WAAW,CAChD,MAAOgG,eAA0B,IAAuB;IACtD,IAAI;MACF,OAAO,MAAM3E,sBAAsB,CAAC2E,eAAe,CAAC;IACtD,CAAC,CAAC,OAAO5B,KAAK,EAAE;MACd/D,YAAY,CAAC+D,KAAK,CAAC,sCAAsC,EAAEA,KAAK,CAAC;MACjED,aAAa,CAACC,KAAK,CAAC;MACpB,OAAO,KAAK;IACd;EACF,CAAC,EACD,CAACD,aAAa,CAChB,CAAC;EAED,MAAMxD,iBAAiB,GAAGX,WAAW,CACnC,MAAOkG,IAAmC,IAAoB;IAC5D;IACA;IACA;IACA;IACA;IACA,MAAMtF,yBAAyB,CAACsF,IAAI,CAAC;EACvC,CAAC,EACD,EACF,CAAC;EAED,MAAMrF,eAAe,GAAGb,WAAW,CACjC,MAAOmG,UAAgC,IAAoB;IACzD,MAAMrF,uBAAuB,CAACqF,UAAU,CAAC;EAC3C,CAAC,EACD,EACF,CAAC;EAED,MAAMC,gBAAgB,GAAGpG,WAAW,CAClC,MAAOqC,OAAyB,IAAoB;IAClD,IAAI;MACF,IAAIjC,QAAQ,CAACiG,EAAE,KAAK,KAAK,EAAE;QACzB,MAAM/E,OAAO,CAAC,CAAC;MACjB;MAEA,MAAMqE,6BAA6B,CAACtD,OAAO,CAAC;IAC9C,CAAC,CAAC,OAAO+B,KAAK,EAAE;MACd/D,YAAY,CAACqE,IAAI,CAAC,8BAA8B,EAAEN,KAAK,CAAC;MACxDD,aAAa,CAACC,KAAK,CAAC;IACtB;EACF,CAAC,EACD,CAACuB,6BAA6B,EAAExB,aAAa,CAC/C,CAAC;EAED,MAAMnD,cAAc,GAAGhB,WAAW,CAChC,MAAOqC,OAA4B,IAAoC;IACrE,OAAOpB,sBAAsB,CAACoB,OAAO,CAAC;EACxC,CAAC,EACD,EACF,CAAC;EAED,MAAMnB,0BAA0B,GAAGlB,WAAW,CAC5C,MACEqC,OAAwC,IACM;IAC9C,OAAOlB,kCAAkC,CAACkB,OAAO,CAAC;EACpD,CAAC,EACD,EACF,CAAC;;EAED;EACA,MAAMiE,kBAAkB,GAAGtG,WAAW,CAAC,MAAM;IAC3C,IAAIuG,MAKS;IAEb,IAAInG,QAAQ,CAACiG,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAInD,UAAU,CAACa,OAAO,EAAEyC,2BAA2B,EAAE;QACnDD,MAAM,GAAG;UACPC,2BAA2B,EACzBtD,UAAU,CAACa,OAAO,CAACyC,2BAA2B;UAChD,IAAItD,UAAU,CAACa,OAAO,CAAC0C,8BAA8B,GACjD;YACEA,8BAA8B,EAC5BvD,UAAU,CAACa,OAAO,CAAC0C;UACvB,CAAC,GACD,CAAC,CAAC;QACR,CAAC;MACH;IACF;IAEA,OAAOF,MAAM;EACf,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMG,iBAAiB,GAAG1G,WAAW,CAAC,MAAM;IAC1C,IAAI,CAACgE,gBAAgB,CAACD,OAAO,CAAC4C,cAAc,EAAE;MAC5C3C,gBAAgB,CAACD,OAAO,CAAC4C,cAAc,GAAGnG,uBAAuB,CAC/D,MAAOoG,QAAkB,IAAK;QAC5B,IAAI;UACF,MAAMb,8BAA8B,CAAC,CAAC;UACtC,MAAMJ,6BAA6B,CAAC,CAAC;QACvC,CAAC,CAAC,OAAOkB,CAAC,EAAE;UACVxG,YAAY,CAACqE,IAAI,CAAC,wCAAwC,EAAEmC,CAAC,CAAC;QAChE;;QAEA;QACA;QACA;QACA;QACA,IAAI3D,UAAU,CAACa,OAAO,EAAE+C,iBAAiB,EAAE;UACzC5D,UAAU,CAACa,OAAO,CAAC+C,iBAAiB,CAACF,QAAQ,CAAC;QAChD;MACF,CAAC,EACD1D,UAAU,CAACa,OAAO,EAAEgD,8BACtB,CAAC;IACH;IAEA,IAAI,CAAC/C,gBAAgB,CAACD,OAAO,CAACiD,aAAa,EAAE;MAC3ChD,gBAAgB,CAACD,OAAO,CAACiD,aAAa,GAAGzG,qBAAqB,CAC3D6D,KAAK,IAAK;QACT,IACEA,KAAK,CAAC6C,IAAI,KAAK9E,SAAS,CAAC+E,cAAc,IACvC,CAAC/D,YAAY,CAACY,OAAO,EACrB;UACA;QACF;QACA,IAAIb,UAAU,CAACa,OAAO,EAAEoD,eAAe,EAAE;UACvCjE,UAAU,CAACa,OAAO,CAACoD,eAAe,CAAC/C,KAAK,CAAC;QAC3C;MACF,CACF,CAAC;IACH;IAEA,IAAIlC,aAAa,CAAC,CAAC,IAAI,CAAC8B,gBAAgB,CAACD,OAAO,CAACjB,kBAAkB,EAAE;MACnEkB,gBAAgB,CAACD,OAAO,CAACjB,kBAAkB,GAAGrC,0BAA0B,CACrEiF,OAAgB,IAAK;QACpB3C,qBAAqB,CAAC2C,OAAO,CAAC;QAC9B,IAAIxC,UAAU,CAACa,OAAO,EAAEqD,oBAAoB,EAAE;UAC5ClE,UAAU,CAACa,OAAO,CAACqD,oBAAoB,CAAC1B,OAAO,CAAC;QAClD;MACF,CACF,CAAC;IACH;IAEA,IACEtF,QAAQ,CAACiG,EAAE,KAAK,SAAS,IACzBnD,UAAU,CAACa,OAAO,EAAEsD,0BAA0B,IAC9C,CAACrD,gBAAgB,CAACD,OAAO,CAACuD,wBAAwB,EAClD;MACAtD,gBAAgB,CAACD,OAAO,CAACuD,wBAAwB,GAC/CvF,gCAAgC,CAAEwF,OAAO,IAAK;QAC5C,IAAIrE,UAAU,CAACa,OAAO,EAAEsD,0BAA0B,EAAE;UAClDnE,UAAU,CAACa,OAAO,CAACsD,0BAA0B,CAACE,OAAO,CAAC;QACxD;MACF,CAAC,CAAC;IACN;IAEA,IACEnH,QAAQ,CAACiG,EAAE,KAAK,SAAS,IACzBnD,UAAU,CAACa,OAAO,EAAEyD,iCAAiC,IACrD,CAACxD,gBAAgB,CAACD,OAAO,CAAC0D,+BAA+B,EACzD;MACAzD,gBAAgB,CAACD,OAAO,CAAC0D,+BAA+B,GACtDzF,uCAAuC,CAAEuF,OAAO,IAAK;QACnDrE,UAAU,CAACa,OAAO,EAAEyD,iCAAiC,GAAGD,OAAO,CAAC;MAClE,CAAC,CAAC;IACN;;IAEA;IACA;IACA,IAAI,CAACvD,gBAAgB,CAACD,OAAO,CAAC2D,wBAAwB,EAAE;MACtD1D,gBAAgB,CAACD,OAAO,CAAC2D,wBAAwB,GAC/CzF,gCAAgC,CAAE2E,QAAkB,IAAK;QACvD1D,UAAU,CAACa,OAAO,EAAE4D,0BAA0B,GAAGf,QAAQ,CAAC;MAC5D,CAAC,CAAC;IACN;EACF,CAAC,EAAE,CAACb,8BAA8B,EAAEJ,6BAA6B,CAAC,CAAC;;EAEnE;EACA,MAAMiC,gBAAgB,GAAG5H,WAAW,CAAC,MAAM;IACzCgE,gBAAgB,CAACD,OAAO,CAAC4C,cAAc,EAAEkB,MAAM,CAAC,CAAC;IACjD7D,gBAAgB,CAACD,OAAO,CAACiD,aAAa,EAAEa,MAAM,CAAC,CAAC;IAChD7D,gBAAgB,CAACD,OAAO,CAACjB,kBAAkB,EAAE+E,MAAM,CAAC,CAAC;IACrD7D,gBAAgB,CAACD,OAAO,CAACuD,wBAAwB,EAAEO,MAAM,CAAC,CAAC;IAC3D7D,gBAAgB,CAACD,OAAO,CAAC0D,+BAA+B,EAAEI,MAAM,CAAC,CAAC;IAClE7D,gBAAgB,CAACD,OAAO,CAAC2D,wBAAwB,EAAEG,MAAM,CAAC,CAAC;IAC3D7D,gBAAgB,CAACD,OAAO,CAAC4C,cAAc,GAAGmB,SAAS;IACnD9D,gBAAgB,CAACD,OAAO,CAACiD,aAAa,GAAGc,SAAS;IAClD9D,gBAAgB,CAACD,OAAO,CAACjB,kBAAkB,GAAGgF,SAAS;IACvD9D,gBAAgB,CAACD,OAAO,CAACuD,wBAAwB,GAAGQ,SAAS;IAC7D9D,gBAAgB,CAACD,OAAO,CAAC0D,+BAA+B,GAAGK,SAAS;IACpE9D,gBAAgB,CAACD,OAAO,CAAC2D,wBAAwB,GAAGI,SAAS;EAC/D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,wBAAwB,GAAG/H,WAAW,CAAC,YAA2B;IACtE,MAAMuG,MAAM,GAAGD,kBAAkB,CAAC,CAAC;IAEnC,IAAI;MACF,MAAMvB,MAAM,GAAG,MAAMzE,cAAc,CAACiG,MAAM,CAAC;MAE3C,IAAI,CAACtC,YAAY,CAACF,OAAO,EAAE;QACzB;MACF;MAEA,IAAI,CAACgB,MAAM,EAAE;QACX6C,gBAAgB,CAAC,CAAC;QAClBrF,YAAY,CAAC,KAAK,CAAC;QACnBlC,YAAY,CAACqE,IAAI,CAAC,wCAAwC,CAAC;QAC3D;MACF;;MAEA;MACA;MACA;MACAgC,iBAAiB,CAAC,CAAC;MACnBnE,YAAY,CAAC,IAAI,CAAC;IACpB,CAAC,CAAC,OAAO6B,KAAK,EAAE;MACd/D,YAAY,CAAC+D,KAAK,CAAC,wBAAwB,EAAEA,KAAK,CAAC;MACnDwD,gBAAgB,CAAC,CAAC;MAClB,IAAI3D,YAAY,CAACF,OAAO,EAAE;QACxBxB,YAAY,CAAC,KAAK,CAAC;MACrB;MACA4B,aAAa,CAACC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAACkC,kBAAkB,EAAEI,iBAAiB,EAAEkB,gBAAgB,EAAEzD,aAAa,CAAC,CAAC;EAE5E,MAAM6D,SAAS,GAAGhI,WAAW,CAAC,YAA8B;IAC1D,MAAMuG,MAAM,GAAGD,kBAAkB,CAAC,CAAC;IAEnC,IAAI;MACF,MAAMvB,MAAM,GAAG,MAAMzE,cAAc,CAACiG,MAAM,CAAC;MAE3C,IAAI,CAACtC,YAAY,CAACF,OAAO,EAAE;QACzB,OAAO,KAAK;MACd;MAEA,IAAIgB,MAAM,EAAE;QACV2B,iBAAiB,CAAC,CAAC;QACnBnE,YAAY,CAAC,IAAI,CAAC;QAClB,OAAO,IAAI;MACb;MAEAA,YAAY,CAAC,KAAK,CAAC;MACnB,OAAO,KAAK;IACd,CAAC,CAAC,OAAO6B,KAAK,EAAE;MACd/D,YAAY,CAAC+D,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MACvDwD,gBAAgB,CAAC,CAAC;MAClB,IAAI3D,YAAY,CAACF,OAAO,EAAE;QACxBxB,YAAY,CAAC,KAAK,CAAC;MACrB;MACA4B,aAAa,CAACC,KAAK,CAAC;MACpB,OAAO,KAAK;IACd;EACF,CAAC,EAAE,CAACkC,kBAAkB,EAAEI,iBAAiB,EAAEkB,gBAAgB,EAAEzD,aAAa,CAAC,CAAC;EAE5ElE,SAAS,CAAC,MAAM;IACdgE,YAAY,CAACF,OAAO,GAAG,IAAI;IAC3BgE,wBAAwB,CAAC,CAAC;IAE1B,OAAO,MAAM;MACX9D,YAAY,CAACF,OAAO,GAAG,KAAK;MAC5B6D,gBAAgB,CAAC,CAAC;MAClB;MACArF,YAAY,CAAC,KAAK,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACwF,wBAAwB,EAAEH,gBAAgB,CAAC,CAAC;EAEhD,OAAO;IACLtF,SAAS;IACTE,QAAQ;IACRE,aAAa;IACb/B,iBAAiB;IACjBiC,kBAAkB;IAClBE,kBAAkB;IAClBE,mBAAmB;IACnBtC,qBAAqB,EAAEiF,6BAA6B;IACpD5E,aAAa,EAAEyD,qBAAqB;IACpC3D,eAAe;IACfG,cAAc;IACdE,0BAA0B;IAC1BkF,gBAAgB;IAChB7E,qBAAqB;IACrBH,sBAAsB,EAAE2E,8BAA8B;IACtD1E,sBAAsB,EAAE4E,8BAA8B;IACtD+B,SAAS;IACT;IACA,IAAI5H,QAAQ,CAACiG,EAAE,KAAK,SAAS,GACzB;MACE7E,2BAA2B;MAC3BC,gCAAgC;MAChCC,2CAA2C;MAC3CC,yBAAyB;MACzBC,0CAA0C;MAC1CC,wBAAwB;MACxBC;IACF,CAAC,GACD,CAAC,CAAC;EACR,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useRef","Platform","RnIapConsole","createPurchaseError","initConnection","purchaseErrorListener","purchaseUpdatedListener","promotedProductListenerIOS","getAvailablePurchases","finishTransaction","finishTransactionInternal","requestPurchase","requestPurchaseInternal","fetchProducts","verifyPurchase","verifyPurchaseTopLevel","verifyPurchaseWithProvider","verifyPurchaseWithProviderTopLevel","getActiveSubscriptions","hasActiveSubscriptions","syncIOS","getPromotedProductIOS","getBillingChoiceInfoAndroid","isBillingProgramAvailableAndroid","createBillingProgramReportingDetailsAndroid","launchExternalLinkAndroid","showBillingProgramInformationDialogAndroid","showInAppMessagesAndroid","openRedeemOfferCodeAndroid","userChoiceBillingListenerAndroid","developerProvidedBillingListenerAndroid","subscriptionBillingIssueListener","isStandardIOS","ErrorCode","useIAP","options","connected","setConnected","products","setProducts","subscriptions","setSubscriptions","availablePurchases","setAvailablePurchases","promotedProductIOS","setPromotedProductIOS","activeSubscriptions","setActiveSubscriptions","optionsRef","connectedRef","mergeWithDuplicateCheck","existingItems","newItems","getKey","merged","forEach","newItem","isDuplicate","some","existingItem","push","current","subscriptionsRef","isMountedRef","subscriptionsRefState","invokeOnError","error","onError","Error","String","fetchProductsInternal","params","warn","requestType","type","debug","skus","result","length","items","prevSubscriptions","subscription","id","newProducts","filter","item","newSubscriptions","prevProducts","product","getAvailablePurchasesInternal","alsoPublishToEventListenerIOS","onlyIncludeActiveItemsIOS","includeSuspendedAndroid","getActiveSubscriptionsInternal","subscriptionIds","hasActiveSubscriptionsInternal","args","requestObj","restorePurchases","OS","synced","code","SyncError","message","platform","buildAndroidConfig","config","enableBillingProgramAndroid","billingChoiceScreenTypeAndroid","registerListeners","purchaseUpdate","purchase","e","onPurchaseSuccess","purchaseUpdatedListenerOptions","purchaseError","InitConnection","onPurchaseError","onPromotedProductIOS","onUserChoiceBillingAndroid","userChoiceBillingAndroid","details","onDeveloperProvidedBillingAndroid","developerProvidedBillingAndroid","subscriptionBillingIssue","onSubscriptionBillingIssue","cleanupListeners","remove","undefined","initIapWithSubscriptions","reconnect"],"sourceRoot":"../../../src","sources":["hooks/useIAP.ts"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ import { normalizeErrorCodeFromNative, createPurchaseError, DUPLICATE_PURCHASE_C
15
15
  import { RnIapConsole } from "./utils/debug.js";
16
16
  import { getSuccessFromPurchaseVariant } from "./utils/purchase.js";
17
17
  import { parseAppTransactionPayload } from "./utils.js";
18
+ import { convertAndroidPurchasesOrThrow, convertApplePurchasesOrThrow } from "./utils/available-purchases.js";
18
19
  import { getVegaIapModule, isVegaOS } from "./vega.js";
19
20
 
20
21
  // ------------------------------
@@ -698,11 +699,7 @@ export const getAvailablePurchases = async options => {
698
699
  }
699
700
  };
700
701
  const nitroPurchases = await IAP.instance.getAvailablePurchases(nitroOptions);
701
- const validPurchases = nitroPurchases.filter(validateNitroPurchase);
702
- if (validPurchases.length !== nitroPurchases.length) {
703
- RnIapConsole.warn(`[getAvailablePurchases] Some purchases failed validation: ${nitroPurchases.length - validPurchases.length} invalid`);
704
- }
705
- return validPurchases.map(convertNitroPurchaseToPurchase);
702
+ return convertApplePurchasesOrThrow(nitroPurchases);
706
703
  } else if (isAndroidStoreRuntime()) {
707
704
  const includeSuspended = Boolean(options?.includeSuspendedAndroid ?? false);
708
705
  if (isVegaOS()) {
@@ -711,11 +708,7 @@ export const getAvailablePurchases = async options => {
711
708
  includeSuspended
712
709
  }
713
710
  });
714
- const validPurchases = nitroPurchases.filter(validateNitroPurchase);
715
- if (validPurchases.length !== nitroPurchases.length) {
716
- RnIapConsole.warn(`[getAvailablePurchases] Some Vega purchases failed validation: ${nitroPurchases.length - validPurchases.length} invalid`);
717
- }
718
- return validPurchases.map(convertNitroPurchaseToPurchase);
711
+ return convertAndroidPurchasesOrThrow(nitroPurchases);
719
712
  }
720
713
 
721
714
  // For Android Play/Horizon/Fire OS, query in-app items and subscriptions separately.
@@ -731,14 +724,8 @@ export const getAvailablePurchases = async options => {
731
724
  includeSuspended
732
725
  }
733
726
  });
734
-
735
- // Validate and convert both sets of purchases
736
727
  const allNitroPurchases = [...inappNitroPurchases, ...subsNitroPurchases];
737
- const validPurchases = allNitroPurchases.filter(validateNitroPurchase);
738
- if (validPurchases.length !== allNitroPurchases.length) {
739
- RnIapConsole.warn(`[getAvailablePurchases] Some Android purchases failed validation: ${allNitroPurchases.length - validPurchases.length} invalid`);
740
- }
741
- return validPurchases.map(convertNitroPurchaseToPurchase);
728
+ return convertAndroidPurchasesOrThrow(allNitroPurchases);
742
729
  } else {
743
730
  throw unsupportedPlatformError();
744
731
  }
@@ -960,7 +947,7 @@ export const getPendingTransactionsIOS = async () => {
960
947
  }
961
948
  try {
962
949
  const nitroPurchases = await IAP.instance.getPendingTransactionsIOS();
963
- return nitroPurchases.map(convertNitroPurchaseToPurchase).filter(purchase => purchase.store === 'apple');
950
+ return convertApplePurchasesOrThrow(nitroPurchases);
964
951
  } catch (error) {
965
952
  const parsedError = parseErrorAndLogIfNeeded('[getPendingTransactionsIOS] Failed:', error);
966
953
  throw createPurchaseError({
@@ -983,7 +970,7 @@ export const getAllTransactionsIOS = async () => {
983
970
  }
984
971
  try {
985
972
  const nitroPurchases = await IAP.instance.getAllTransactionsIOS();
986
- return nitroPurchases.map(convertNitroPurchaseToPurchase).filter(purchase => purchase.store === 'apple');
973
+ return convertApplePurchasesOrThrow(nitroPurchases);
987
974
  } catch (error) {
988
975
  const parsedError = parseErrorAndLogIfNeeded('[getAllTransactionsIOS] Failed:', error);
989
976
  throw createPurchaseError({
@@ -1008,7 +995,7 @@ export const showManageSubscriptionsIOS = async () => {
1008
995
  }
1009
996
  try {
1010
997
  const nitroPurchases = await IAP.instance.showManageSubscriptionsIOS();
1011
- return nitroPurchases.map(convertNitroPurchaseToPurchase).filter(purchase => purchase.store === 'apple');
998
+ return convertApplePurchasesOrThrow(nitroPurchases);
1012
999
  } catch (error) {
1013
1000
  const parsedError = parseErrorAndLogIfNeeded('[showManageSubscriptionsIOS] Failed:', error);
1014
1001
  throw createPurchaseError({
@@ -1215,7 +1202,14 @@ export const endConnection = async () => {
1215
1202
  export const restorePurchases = async () => {
1216
1203
  try {
1217
1204
  if (Platform.OS === 'ios') {
1218
- await syncIOS();
1205
+ const synced = await syncIOS();
1206
+ if (!synced) {
1207
+ throw createPurchaseError({
1208
+ code: ErrorCode.SyncError,
1209
+ message: 'App Store purchase sync did not complete',
1210
+ platform: 'ios'
1211
+ });
1212
+ }
1219
1213
  }
1220
1214
  await getAvailablePurchases({
1221
1215
  alsoPublishToEventListenerIOS: false,