react-native-iap 14.4.23 → 14.4.24
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 +16 -16
- package/lib/module/hooks/useIAP.js +6 -5
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/openiap-versions.json +2 -2
- package/package.json +1 -1
- package/src/hooks/useIAP.ts +6 -5
|
@@ -892,14 +892,14 @@ class HybridRnIap : HybridRnIapSpec() {
|
|
|
892
892
|
// iOS-specific method - not supported on Android
|
|
893
893
|
override fun getStorefrontIOS(): Promise<String> {
|
|
894
894
|
return Promise.async {
|
|
895
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
895
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
896
896
|
}
|
|
897
897
|
}
|
|
898
898
|
|
|
899
899
|
// iOS-specific method - not supported on Android
|
|
900
900
|
override fun getAppTransactionIOS(): Promise<String?> {
|
|
901
901
|
return Promise.async {
|
|
902
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
902
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
903
903
|
}
|
|
904
904
|
}
|
|
905
905
|
|
|
@@ -1039,31 +1039,31 @@ class HybridRnIap : HybridRnIapSpec() {
|
|
|
1039
1039
|
// iOS-specific methods - Not applicable on Android, return appropriate defaults
|
|
1040
1040
|
override fun subscriptionStatusIOS(sku: String): Promise<Array<NitroSubscriptionStatus>?> {
|
|
1041
1041
|
return Promise.async {
|
|
1042
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1042
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1043
1043
|
}
|
|
1044
1044
|
}
|
|
1045
1045
|
|
|
1046
1046
|
override fun currentEntitlementIOS(sku: String): Promise<NitroPurchase?> {
|
|
1047
1047
|
return Promise.async {
|
|
1048
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1048
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1049
1049
|
}
|
|
1050
1050
|
}
|
|
1051
1051
|
|
|
1052
1052
|
override fun latestTransactionIOS(sku: String): Promise<NitroPurchase?> {
|
|
1053
1053
|
return Promise.async {
|
|
1054
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1054
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1055
1055
|
}
|
|
1056
1056
|
}
|
|
1057
1057
|
|
|
1058
1058
|
override fun getPendingTransactionsIOS(): Promise<Array<NitroPurchase>> {
|
|
1059
1059
|
return Promise.async {
|
|
1060
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1060
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1061
1061
|
}
|
|
1062
1062
|
}
|
|
1063
1063
|
|
|
1064
1064
|
override fun syncIOS(): Promise<Boolean> {
|
|
1065
1065
|
return Promise.async {
|
|
1066
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1066
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1067
1067
|
}
|
|
1068
1068
|
}
|
|
1069
1069
|
|
|
@@ -1071,37 +1071,37 @@ class HybridRnIap : HybridRnIapSpec() {
|
|
|
1071
1071
|
|
|
1072
1072
|
override fun isEligibleForIntroOfferIOS(groupID: String): Promise<Boolean> {
|
|
1073
1073
|
return Promise.async {
|
|
1074
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1074
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1075
1075
|
}
|
|
1076
1076
|
}
|
|
1077
1077
|
|
|
1078
1078
|
override fun getReceiptDataIOS(): Promise<String> {
|
|
1079
1079
|
return Promise.async {
|
|
1080
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1080
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1081
1081
|
}
|
|
1082
1082
|
}
|
|
1083
1083
|
|
|
1084
1084
|
override fun getReceiptIOS(): Promise<String> {
|
|
1085
1085
|
return Promise.async {
|
|
1086
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1086
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1087
1087
|
}
|
|
1088
1088
|
}
|
|
1089
1089
|
|
|
1090
1090
|
override fun requestReceiptRefreshIOS(): Promise<String> {
|
|
1091
1091
|
return Promise.async {
|
|
1092
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1092
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1093
1093
|
}
|
|
1094
1094
|
}
|
|
1095
1095
|
|
|
1096
1096
|
override fun isTransactionVerifiedIOS(sku: String): Promise<Boolean> {
|
|
1097
1097
|
return Promise.async {
|
|
1098
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1098
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1099
1099
|
}
|
|
1100
1100
|
}
|
|
1101
1101
|
|
|
1102
1102
|
override fun getTransactionJwsIOS(sku: String): Promise<String?> {
|
|
1103
1103
|
return Promise.async {
|
|
1104
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1104
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1105
1105
|
}
|
|
1106
1106
|
}
|
|
1107
1107
|
|
|
@@ -1191,19 +1191,19 @@ class HybridRnIap : HybridRnIapSpec() {
|
|
|
1191
1191
|
|
|
1192
1192
|
override fun canPresentExternalPurchaseNoticeIOS(): Promise<Boolean> {
|
|
1193
1193
|
return Promise.async {
|
|
1194
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1194
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1195
1195
|
}
|
|
1196
1196
|
}
|
|
1197
1197
|
|
|
1198
1198
|
override fun presentExternalPurchaseNoticeSheetIOS(): Promise<ExternalPurchaseNoticeResultIOS> {
|
|
1199
1199
|
return Promise.async {
|
|
1200
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1200
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1201
1201
|
}
|
|
1202
1202
|
}
|
|
1203
1203
|
|
|
1204
1204
|
override fun presentExternalPurchaseLinkIOS(url: String): Promise<ExternalPurchaseLinkResultIOS> {
|
|
1205
1205
|
return Promise.async {
|
|
1206
|
-
throw Exception(toErrorJson(OpenIAPError.
|
|
1206
|
+
throw Exception(toErrorJson(OpenIAPError.FeatureNotSupported))
|
|
1207
1207
|
}
|
|
1208
1208
|
}
|
|
1209
1209
|
|
|
@@ -121,11 +121,12 @@ export function useIAP(options) {
|
|
|
121
121
|
}
|
|
122
122
|
}, []);
|
|
123
123
|
const finishTransaction = useCallback(async args => {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
// Directly delegate to root API finishTransaction without catching errors.
|
|
125
|
+
// This allows the root API's error handling logic to work correctly, including:
|
|
126
|
+
// - iOS: treating "Transaction not found" as success (already-finished transactions)
|
|
127
|
+
// - Proper validation and error messages for required fields
|
|
128
|
+
// Users should handle errors in their onPurchaseSuccess callback if needed.
|
|
129
|
+
await finishTransactionInternal(args);
|
|
129
130
|
}, []);
|
|
130
131
|
const requestPurchase = useCallback(requestObj => requestPurchaseInternal(requestObj), []);
|
|
131
132
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useState","useRef","Platform","RnIapConsole","initConnection","purchaseErrorListener","purchaseUpdatedListener","promotedProductListenerIOS","getAvailablePurchases","finishTransaction","finishTransactionInternal","requestPurchase","requestPurchaseInternal","fetchProducts","validateReceipt","validateReceiptInternal","getActiveSubscriptions","hasActiveSubscriptions","restorePurchases","restorePurchasesTopLevel","getPromotedProductIOS","requestPurchaseOnPromotedProductIOS","checkAlternativeBillingAvailabilityAndroid","showAlternativeBillingDialogAndroid","createAlternativeBillingTokenAndroid","userChoiceBillingListenerAndroid","ErrorCode","normalizeErrorCodeFromNative","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","subscriptionsRefState","fetchProductsInternal","params","warn","requestType","type","debug","skus","result","items","prevSubscriptions","subscription","id","newProducts","filter","item","newSubscriptions","prevProducts","product","error","getAvailablePurchasesInternal","_skus","alsoPublishToEventListenerIOS","onlyIncludeActiveItemsIOS","getActiveSubscriptionsInternal","subscriptionIds","hasActiveSubscriptionsInternal","args","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","useRef","Platform","RnIapConsole","initConnection","purchaseErrorListener","purchaseUpdatedListener","promotedProductListenerIOS","getAvailablePurchases","finishTransaction","finishTransactionInternal","requestPurchase","requestPurchaseInternal","fetchProducts","validateReceipt","validateReceiptInternal","getActiveSubscriptions","hasActiveSubscriptions","restorePurchases","restorePurchasesTopLevel","getPromotedProductIOS","requestPurchaseOnPromotedProductIOS","checkAlternativeBillingAvailabilityAndroid","showAlternativeBillingDialogAndroid","createAlternativeBillingTokenAndroid","userChoiceBillingListenerAndroid","ErrorCode","normalizeErrorCodeFromNative","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","subscriptionsRefState","fetchProductsInternal","params","warn","requestType","type","debug","skus","result","items","prevSubscriptions","subscription","id","newProducts","filter","item","newSubscriptions","prevProducts","product","error","getAvailablePurchasesInternal","_skus","alsoPublishToEventListenerIOS","onlyIncludeActiveItemsIOS","getActiveSubscriptionsInternal","subscriptionIds","hasActiveSubscriptionsInternal","args","requestObj","sku","androidOptions","initIapWithSubscriptions","purchaseUpdate","purchase","e","onPurchaseSuccess","purchaseError","mappedError","code","message","productId","undefined","InitConnection","onPurchaseError","OS","onPromotedProductIOS","onUserChoiceBillingAndroid","userChoiceBillingAndroid","details","config","alternativeBillingModeAndroid","remove","currentSubscriptions"],"sourceRoot":"../../../src","sources":["hooks/useIAP.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIAP.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useIAP.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAC,6BAA6B,EAAC,MAAM,UAAU,CAAC;AAQ5D,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,CAAC,IAAI,EAAE,6BAA6B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;KAChC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,eAAe,EAAE,CACf,MAAM,EAAE,oBAAoB,KACzB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC3C,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;IAClB,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,qBAAqB,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrD,mCAAmC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,sBAAsB,EAAE,CACtB,eAAe,CAAC,EAAE,MAAM,EAAE,KACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnC,sBAAsB,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,0CAA0C,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,mCAAmC,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,oCAAoC,CAAC,EAAE,CACrC,GAAG,CAAC,EAAE,MAAM,KACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B,CAAC;AAEF,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,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzE,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;CAC/D;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"useIAP.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useIAP.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAC,6BAA6B,EAAC,MAAM,UAAU,CAAC;AAQ5D,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,CAAC,IAAI,EAAE,6BAA6B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;KAChC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,eAAe,EAAE,CACf,MAAM,EAAE,oBAAoB,KACzB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC3C,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;IAClB,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,qBAAqB,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrD,mCAAmC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,sBAAsB,EAAE,CACtB,eAAe,CAAC,EAAE,MAAM,EAAE,KACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnC,sBAAsB,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,0CAA0C,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,mCAAmC,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,oCAAoC,CAAC,EAAE,CACrC,GAAG,CAAC,EAAE,MAAM,KACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B,CAAC;AAEF,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,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzE,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;CAC/D;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAoVtD"}
|
package/openiap-versions.json
CHANGED
package/package.json
CHANGED
package/src/hooks/useIAP.ts
CHANGED
|
@@ -279,11 +279,12 @@ export function useIAP(options?: UseIapOptions): UseIap {
|
|
|
279
279
|
|
|
280
280
|
const finishTransaction = useCallback(
|
|
281
281
|
async (args: MutationFinishTransactionArgs): Promise<void> => {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
282
|
+
// Directly delegate to root API finishTransaction without catching errors.
|
|
283
|
+
// This allows the root API's error handling logic to work correctly, including:
|
|
284
|
+
// - iOS: treating "Transaction not found" as success (already-finished transactions)
|
|
285
|
+
// - Proper validation and error messages for required fields
|
|
286
|
+
// Users should handle errors in their onPurchaseSuccess callback if needed.
|
|
287
|
+
await finishTransactionInternal(args);
|
|
287
288
|
},
|
|
288
289
|
[],
|
|
289
290
|
);
|