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.
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +15 -7
- package/ios/HybridRnIap.swift +11 -6
- package/ios/RnIapHelper.swift +33 -1
- package/lib/module/hooks/useIAP.js +22 -9
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +15 -21
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.kepler.js +3 -2
- package/lib/module/index.kepler.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/available-purchases.js +59 -0
- package/lib/module/utils/available-purchases.js.map +1 -0
- package/lib/module/utils/type-bridge.js +56 -6
- package/lib/module/utils/type-bridge.js.map +1 -1
- package/lib/module/vega-adapter.js +13 -7
- package/lib/module/vega-adapter.js.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/index.kepler.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +2 -0
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +11 -0
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/available-purchases.d.ts +8 -0
- package/lib/typescript/src/utils/available-purchases.d.ts.map +1 -0
- package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
- package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JNitroPurchase.hpp +11 -3
- package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +11 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +14 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +14 -4
- package/nitrogen/generated/ios/swift/NitroPurchase.swift +75 -1
- package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +75 -1
- package/nitrogen/generated/shared/c++/NitroPurchase.hpp +10 -2
- package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +10 -2
- package/openiap-versions.json +3 -3
- package/package.json +1 -1
- package/src/hooks/useIAP.ts +22 -10
- package/src/index.kepler.ts +5 -9
- package/src/index.ts +21 -44
- package/src/specs/RnIap.nitro.ts +2 -0
- package/src/types.ts +11 -0
- package/src/utils/available-purchases.ts +73 -0
- package/src/utils/type-bridge.ts +84 -9
- 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
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
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
|
|
package/ios/HybridRnIap.swift
CHANGED
|
@@ -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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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 {
|
package/ios/RnIapHelper.swift
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
152
|
-
|
|
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":"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","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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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,
|