react-native-iap 15.5.4 → 15.6.1
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 +163 -15
- package/android/src/main/java/com/margelo/nitro/iap/PendingEventBuffer.kt +86 -0
- package/android/src/main/java/com/margelo/nitro/iap/RnIapLog.kt +13 -0
- package/ios/HybridRnIap.swift +31 -4
- package/ios/RnIapHelper.swift +3 -2
- package/ios/RnIapLog.swift +14 -0
- package/lib/module/hooks/useIAP.js +8 -2
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +105 -30
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.kepler.js +72 -5
- package/lib/module/index.kepler.js.map +1 -1
- package/lib/module/kit-api.js +78 -3
- package/lib/module/kit-api.js.map +1 -1
- package/lib/module/types.js +29 -25
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/deprecation.js +15 -0
- package/lib/module/utils/deprecation.js.map +1 -0
- package/lib/module/utils/platform-request.js +28 -0
- package/lib/module/utils/platform-request.js.map +1 -0
- package/lib/module/utils/type-bridge.js +9 -4
- package/lib/module/utils/type-bridge.js.map +1 -1
- package/lib/module/vega-adapter.js +34 -22
- package/lib/module/vega-adapter.js.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts +16 -2
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +56 -12
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/index.kepler.d.ts +50 -4
- package/lib/typescript/src/index.kepler.d.ts.map +1 -1
- package/lib/typescript/src/kit-api.d.ts +18 -8
- package/lib/typescript/src/kit-api.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +32 -6
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +119 -175
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/deprecation.d.ts +3 -0
- package/lib/typescript/src/utils/deprecation.d.ts.map +1 -0
- package/lib/typescript/src/utils/platform-request.d.ts +12 -0
- package/lib/typescript/src/utils/platform-request.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 +1 -0
- package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +16 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +1 -0
- package/nitrogen/generated/android/c++/JNitroPurchase.hpp +5 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +4 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +7 -2
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +8 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +1 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +19 -0
- package/nitrogen/generated/ios/swift/NitroPurchase.swift +39 -2
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +1 -0
- package/nitrogen/generated/shared/c++/NitroPurchase.hpp +5 -1
- package/openiap-versions.json +3 -3
- package/package.json +1 -1
- package/src/hooks/useIAP.ts +22 -2
- package/src/index.kepler.ts +86 -8
- package/src/index.ts +139 -47
- package/src/kit-api.ts +136 -13
- package/src/specs/RnIap.nitro.ts +33 -6
- package/src/types.ts +130 -203
- package/src/utils/deprecation.ts +16 -0
- package/src/utils/platform-request.ts +37 -0
- package/src/utils/type-bridge.ts +20 -4
- package/src/vega-adapter.ts +50 -24
- package/lib/module/hooks/useWebhookEvents.js +0 -113
- package/lib/module/hooks/useWebhookEvents.js.map +0 -1
- package/lib/module/webhook-client.js +0 -164
- package/lib/module/webhook-client.js.map +0 -1
- package/lib/typescript/src/hooks/useWebhookEvents.d.ts +0 -55
- package/lib/typescript/src/hooks/useWebhookEvents.d.ts.map +0 -1
- package/lib/typescript/src/webhook-client.d.ts +0 -82
- package/lib/typescript/src/webhook-client.d.ts.map +0 -1
- package/src/hooks/useWebhookEvents.ts +0 -180
- package/src/webhook-client.ts +0 -312
|
@@ -2,12 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
import { getVegaIapModule } from "./vega.js";
|
|
4
4
|
import { convertNitroProductToProduct, convertNitroPurchaseToPurchase, convertProductToProductSubscription, validateNitroProduct, validateNitroPurchase } from "./utils/type-bridge.js";
|
|
5
|
+
import { warnLegacyOnce } from "./utils/deprecation.js";
|
|
6
|
+
import { selectCanonicalPlatformRequest } from "./utils/platform-request.js";
|
|
5
7
|
export * from "./types.js";
|
|
6
8
|
export * from "./utils/error.js";
|
|
7
9
|
export * from "./vega.js";
|
|
8
10
|
export { useIAP } from "./hooks/useIAP.js";
|
|
9
|
-
export { connectWebhookStream, parseWebhookEventData } from "./webhook-client.js";
|
|
10
11
|
export { kitApi, KitApiError } from "./kit-api.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Product type accepted by the Amazon Vega entry point.
|
|
15
|
+
*
|
|
16
|
+
* Compatibility note: the `'inapp'` member is deprecated. Use `'in-app'`
|
|
17
|
+
* instead; the alias will be removed in react-native-iap 16.0.0.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const LEGACY_INAPP_WARNING = "[react-native-iap] `type: 'inapp'` is deprecated and will be removed in react-native-iap 16.0.0. Use 'in-app' instead.";
|
|
11
21
|
const unsupported = feature => {
|
|
12
22
|
throw new Error(`${feature} is not supported on Amazon Vega.`);
|
|
13
23
|
};
|
|
@@ -22,7 +32,10 @@ const getVegaModule = () => getModule();
|
|
|
22
32
|
const normalizeProductQueryType = type => {
|
|
23
33
|
if (type === 'subs') return 'subs';
|
|
24
34
|
if (type === 'all') return 'all';
|
|
25
|
-
|
|
35
|
+
if (type === 'inapp') {
|
|
36
|
+
warnLegacyOnce('product-type.inapp', LEGACY_INAPP_WARNING);
|
|
37
|
+
}
|
|
38
|
+
return 'in-app';
|
|
26
39
|
};
|
|
27
40
|
const mapProducts = (nitroProducts, type) => {
|
|
28
41
|
const converted = nitroProducts.filter(validateNitroProduct).map(convertNitroProductToProduct);
|
|
@@ -52,13 +65,19 @@ export const fetchProducts = async request => {
|
|
|
52
65
|
};
|
|
53
66
|
export const requestPurchase = async request => {
|
|
54
67
|
const perPlatformRequest = request.request;
|
|
55
|
-
const
|
|
68
|
+
const selection = perPlatformRequest ? selectCanonicalPlatformRequest(perPlatformRequest, 'google', 'android') : {
|
|
69
|
+
usesLegacyKey: false,
|
|
70
|
+
value: undefined
|
|
71
|
+
};
|
|
72
|
+
if (selection.usesLegacyKey && selection.value != null) {
|
|
73
|
+
warnLegacyOnce('request-purchase.android', '[react-native-iap] `request.android` is deprecated and will be removed in react-native-iap 16.0.0. Use `request.google` instead.');
|
|
74
|
+
}
|
|
75
|
+
const androidRequest = selection.value;
|
|
56
76
|
if (!androidRequest?.skus?.length) {
|
|
57
77
|
throw new Error('Invalid request for Amazon Vega. The `request.google.skus` or `request.android.skus` property is required and must be a non-empty array.');
|
|
58
78
|
}
|
|
59
79
|
const nitroRequest = {
|
|
60
|
-
google: androidRequest
|
|
61
|
-
android: androidRequest
|
|
80
|
+
google: androidRequest
|
|
62
81
|
};
|
|
63
82
|
const result = await getModule().requestPurchase(nitroRequest);
|
|
64
83
|
if (!Array.isArray(result)) return null;
|
|
@@ -127,15 +146,36 @@ export const getStorefront = async () => {
|
|
|
127
146
|
export const verifyPurchaseWithProvider = async params => {
|
|
128
147
|
return getModule().verifyPurchaseWithProvider(params);
|
|
129
148
|
};
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* @deprecated Use `verifyPurchase` instead. This compatibility operation will
|
|
152
|
+
* be removed in react-native-iap 16.0.0.
|
|
153
|
+
*/
|
|
130
154
|
export const validateReceipt = async () => {
|
|
131
155
|
return unsupported('validateReceipt');
|
|
132
156
|
};
|
|
133
157
|
export const verifyPurchase = validateReceipt;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* @deprecated Use `verifyPurchase` instead. This iOS compatibility operation
|
|
161
|
+
* will be removed in react-native-iap 16.0.0.
|
|
162
|
+
*/
|
|
134
163
|
export const validateReceiptIOS = async () => unsupported('validateReceiptIOS');
|
|
135
164
|
export const syncIOS = async () => unsupported('syncIOS');
|
|
136
165
|
export const getAppTransactionIOS = async () => null;
|
|
137
166
|
export const getPromotedProductIOS = async () => null;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* @deprecated Use `getPromotedProductIOS` instead. This compatibility alias
|
|
170
|
+
* will be removed in react-native-iap 16.0.0.
|
|
171
|
+
*/
|
|
138
172
|
export const requestPromotedProductIOS = getPromotedProductIOS;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* @deprecated Use `promotedProductListenerIOS` followed by `requestPurchase`
|
|
176
|
+
* instead. This compatibility operation will be removed in react-native-iap
|
|
177
|
+
* 16.0.0.
|
|
178
|
+
*/
|
|
139
179
|
export const requestPurchaseOnPromotedProductIOS = async () => unsupported('requestPurchaseOnPromotedProductIOS');
|
|
140
180
|
export const showManageSubscriptionsIOS = async () => [];
|
|
141
181
|
export const presentCodeRedemptionSheetIOS = async () => false;
|
|
@@ -150,10 +190,37 @@ export const acknowledgePurchaseAndroid = async purchaseToken => {
|
|
|
150
190
|
export const consumePurchaseAndroid = async purchaseToken => {
|
|
151
191
|
return getVegaModule().consumePurchaseAndroid(purchaseToken);
|
|
152
192
|
};
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @deprecated Use `acknowledgePurchaseAndroid` instead. This alias will be
|
|
196
|
+
* removed in react-native-iap 16.0.0.
|
|
197
|
+
*/
|
|
153
198
|
export const acknowledgePurchase = acknowledgePurchaseAndroid;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* @deprecated Use `consumePurchaseAndroid` instead. This alias will be removed
|
|
202
|
+
* in react-native-iap 16.0.0.
|
|
203
|
+
*/
|
|
154
204
|
export const consumePurchase = consumePurchaseAndroid;
|
|
205
|
+
export const openRedeemOfferCodeAndroid = async () => false;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* @deprecated Use `isBillingProgramAvailableAndroid('external-offer')`
|
|
209
|
+
* instead. Scheduled for removal in react-native-iap 16.0.0.
|
|
210
|
+
*/
|
|
155
211
|
export const checkAlternativeBillingAvailabilityAndroid = async () => unsupported('checkAlternativeBillingAvailabilityAndroid');
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* @deprecated Use `launchExternalLinkAndroid` instead. Scheduled for removal
|
|
215
|
+
* in react-native-iap 16.0.0.
|
|
216
|
+
*/
|
|
156
217
|
export const showAlternativeBillingDialogAndroid = async () => unsupported('showAlternativeBillingDialogAndroid');
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* @deprecated Use `createBillingProgramReportingDetailsAndroid` with the
|
|
221
|
+
* external-offer program instead. Scheduled for removal in react-native-iap
|
|
222
|
+
* 16.0.0.
|
|
223
|
+
*/
|
|
157
224
|
export const createAlternativeBillingTokenAndroid = async () => unsupported('createAlternativeBillingTokenAndroid');
|
|
158
225
|
export const isBillingProgramAvailableAndroid = async () => unsupported('isBillingProgramAvailableAndroid');
|
|
159
226
|
export const getBillingChoiceInfoAndroid = async () => unsupported('getBillingChoiceInfoAndroid');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getVegaIapModule","convertNitroProductToProduct","convertNitroPurchaseToPurchase","convertProductToProductSubscription","validateNitroProduct","validateNitroPurchase","
|
|
1
|
+
{"version":3,"names":["getVegaIapModule","convertNitroProductToProduct","convertNitroPurchaseToPurchase","convertProductToProductSubscription","validateNitroProduct","validateNitroPurchase","warnLegacyOnce","selectCanonicalPlatformRequest","useIAP","kitApi","KitApiError","LEGACY_INAPP_WARNING","unsupported","feature","Error","getModule","module","getVegaModule","normalizeProductQueryType","type","mapProducts","nitroProducts","converted","filter","map","isNitroReady","isTVOS","isMacOS","isStandardIOS","initConnection","config","endConnection","fetchProducts","request","skus","normalizedType","requestPurchase","perPlatformRequest","selection","usesLegacyKey","value","undefined","androidRequest","length","nitroRequest","google","result","Array","isArray","purchases","purchase","getAvailablePurchases","options","nitroOptions","android","includeSuspended","includeSuspendedAndroid","then","finishTransaction","args","token","purchaseToken","params","isConsumable","restorePurchases","getActiveSubscriptions","hasActiveSubscriptions","purchaseUpdatedListener","listener","addPurchaseUpdatedListener","remove","removePurchaseUpdatedListener","purchaseErrorListener","nativeListener","error","code","message","addPurchaseErrorListener","removePurchaseErrorListener","getStorefront","verifyPurchaseWithProvider","validateReceipt","verifyPurchase","validateReceiptIOS","syncIOS","getAppTransactionIOS","getPromotedProductIOS","requestPromotedProductIOS","requestPurchaseOnPromotedProductIOS","showManageSubscriptionsIOS","presentCodeRedemptionSheetIOS","presentExternalPurchaseLinkIOS","deepLinkToSubscriptions","promotedProductListenerIOS","acknowledgePurchaseAndroid","consumePurchaseAndroid","acknowledgePurchase","consumePurchase","openRedeemOfferCodeAndroid","checkAlternativeBillingAvailabilityAndroid","showAlternativeBillingDialogAndroid","createAlternativeBillingTokenAndroid","isBillingProgramAvailableAndroid","getBillingChoiceInfoAndroid","launchExternalLinkAndroid","createBillingProgramReportingDetailsAndroid","showBillingProgramInformationDialogAndroid","showInAppMessagesAndroid","userChoiceBillingListenerAndroid","developerProvidedBillingListenerAndroid","subscriptionBillingIssueListener"],"sourceRoot":"../../src","sources":["index.kepler.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/kit-api.js
CHANGED
|
@@ -87,7 +87,7 @@ export function kitApi(options) {
|
|
|
87
87
|
}
|
|
88
88
|
throw new Error("kitApi requires a fetch implementation. Pass `fetchImpl` for runtimes without a global fetch.");
|
|
89
89
|
})();
|
|
90
|
-
async function
|
|
90
|
+
async function request(path, init) {
|
|
91
91
|
// Normalize headers without depending on a global `Headers`
|
|
92
92
|
// constructor: older React Native runtimes ship `fetch` (or a
|
|
93
93
|
// polyfill via `fetchImpl`) without exposing `Headers` globally.
|
|
@@ -104,10 +104,12 @@ export function kitApi(options) {
|
|
|
104
104
|
// already-stripped `baseUrl` (PR #124
|
|
105
105
|
// (https://github.com/hyodotdev/openiap/pull/124) review).
|
|
106
106
|
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
|
|
107
|
-
|
|
107
|
+
return fetchImpl(`${baseUrl}${normalizedPath}`, {
|
|
108
108
|
...init,
|
|
109
109
|
headers
|
|
110
110
|
});
|
|
111
|
+
}
|
|
112
|
+
async function parseResponse(response, path) {
|
|
111
113
|
const text = await response.text();
|
|
112
114
|
// Empty body normalizes to null so callers expecting JSON
|
|
113
115
|
// (status / entitlements / list*) don't get a truthy ""
|
|
@@ -136,6 +138,43 @@ export function kitApi(options) {
|
|
|
136
138
|
}
|
|
137
139
|
return parsed;
|
|
138
140
|
}
|
|
141
|
+
async function call(path, init) {
|
|
142
|
+
return parseResponse(await request(path, init), path);
|
|
143
|
+
}
|
|
144
|
+
function clientPayloadCacheKey(productId, platform) {
|
|
145
|
+
return ["iapkit-client-payload-v1", baseUrl, options.apiKey, platform, productId].map(encodeURIComponent).join(":");
|
|
146
|
+
}
|
|
147
|
+
async function readCachedClientPayload(cacheKey) {
|
|
148
|
+
if (!options.clientPayloadCache) return null;
|
|
149
|
+
try {
|
|
150
|
+
const raw = await options.clientPayloadCache.getItem(cacheKey);
|
|
151
|
+
if (!raw) return null;
|
|
152
|
+
const candidate = JSON.parse(raw);
|
|
153
|
+
const payload = candidate.clientPayload;
|
|
154
|
+
if (!payload || !["toml", "json", "text"].includes(payload.format) || typeof payload.body !== "string" || !Number.isSafeInteger(payload.version) || payload.version < 1 || typeof payload.updatedAt !== "number" || candidate.etag !== undefined && typeof candidate.etag !== "string") {
|
|
155
|
+
await options.clientPayloadCache.removeItem?.(cacheKey);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
return candidate;
|
|
159
|
+
} catch {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async function writeCachedClientPayload(cacheKey, value) {
|
|
164
|
+
try {
|
|
165
|
+
await options.clientPayloadCache?.setItem(cacheKey, JSON.stringify(value));
|
|
166
|
+
} catch {
|
|
167
|
+
// Persistence is an optimization. A device storage failure must not
|
|
168
|
+
// turn a successful IAPKit read into an application error.
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
async function removeCachedClientPayload(cacheKey) {
|
|
172
|
+
try {
|
|
173
|
+
await options.clientPayloadCache?.removeItem?.(cacheKey);
|
|
174
|
+
} catch {
|
|
175
|
+
// See writeCachedClientPayload: cache maintenance is best effort.
|
|
176
|
+
}
|
|
177
|
+
}
|
|
139
178
|
return {
|
|
140
179
|
apiKey: options.apiKey,
|
|
141
180
|
baseUrl,
|
|
@@ -172,7 +211,43 @@ export function kitApi(options) {
|
|
|
172
211
|
},
|
|
173
212
|
/** GET one public client payload by its store-specific natural key.
|
|
174
213
|
* Payloads are app-facing data; never store secrets in them. */
|
|
175
|
-
clientPayload: (productId, platform
|
|
214
|
+
clientPayload: async (productId, platform, payloadOptions = {}) => {
|
|
215
|
+
const path = `/v1/products/${encodeURIComponent(options.apiKey)}/${encodeURIComponent(productId)}/client-payload?platform=${encodeURIComponent(platform)}`;
|
|
216
|
+
const cacheKey = clientPayloadCacheKey(productId, platform);
|
|
217
|
+
const cached = await readCachedClientPayload(cacheKey);
|
|
218
|
+
if (cached && payloadOptions.refresh !== true) {
|
|
219
|
+
return {
|
|
220
|
+
clientPayload: cached.clientPayload
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
const response = await request(path, {
|
|
224
|
+
...(cached?.etag ? {
|
|
225
|
+
headers: {
|
|
226
|
+
"If-None-Match": cached.etag
|
|
227
|
+
}
|
|
228
|
+
} : {})
|
|
229
|
+
});
|
|
230
|
+
if (response.status === 304 && cached) {
|
|
231
|
+
return {
|
|
232
|
+
clientPayload: cached.clientPayload
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
const result = await parseResponse(response, path);
|
|
237
|
+
await writeCachedClientPayload(cacheKey, {
|
|
238
|
+
...result,
|
|
239
|
+
...(response.headers.get("etag") ? {
|
|
240
|
+
etag: response.headers.get("etag")
|
|
241
|
+
} : {})
|
|
242
|
+
});
|
|
243
|
+
return result;
|
|
244
|
+
} catch (error) {
|
|
245
|
+
if (error instanceof KitApiError && error.status === 404) {
|
|
246
|
+
await removeCachedClientPayload(cacheKey);
|
|
247
|
+
}
|
|
248
|
+
throw error;
|
|
249
|
+
}
|
|
250
|
+
},
|
|
176
251
|
/** POST /v1/subscriptions/bind-user — call after a successful
|
|
177
252
|
* verifyReceipt so kit knows which userId owns the verified
|
|
178
253
|
* `purchaseToken`. Idempotent. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_BASE_URL","mergeHeaders","callerHeaders","hasBody","Headers","merged","has","set","lower","Map","setIfAbsent","name","value","key","toLowerCase","setForce","Array","isArray","forEach","Object","entries","out","values","KitApiError","Error","constructor","status","body","message","kitApi","options","baseUrl","replace","fetchImpl","fetch","input","init","
|
|
1
|
+
{"version":3,"names":["DEFAULT_BASE_URL","mergeHeaders","callerHeaders","hasBody","Headers","merged","has","set","lower","Map","setIfAbsent","name","value","key","toLowerCase","setForce","Array","isArray","forEach","Object","entries","out","values","KitApiError","Error","constructor","status","body","message","kitApi","options","baseUrl","replace","fetchImpl","fetch","input","init","request","path","headers","normalizedPath","startsWith","parseResponse","response","text","parsed","parseError","JSON","parse","error","ok","String","call","clientPayloadCacheKey","productId","platform","apiKey","map","encodeURIComponent","join","readCachedClientPayload","cacheKey","clientPayloadCache","raw","getItem","candidate","payload","clientPayload","includes","format","Number","isSafeInteger","version","updatedAt","etag","undefined","removeItem","writeCachedClientPayload","setItem","stringify","removeCachedClientPayload","userId","entitlements","products","productOptions","includeClientPayload","query","URLSearchParams","limit","cursor","encodedQuery","toString","suffix","payloadOptions","cached","refresh","result","get","bindUser","purchaseToken","method"],"sourceRoot":"../../src","sources":["kit-api.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/types.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
// ============================================================================
|
|
4
4
|
// AUTO-GENERATED TYPES — DO NOT EDIT DIRECTLY
|
|
5
|
-
//
|
|
5
|
+
// Refresh this file with the generated-types workflow documented for your checkout.
|
|
6
6
|
// ============================================================================
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -24,8 +24,9 @@
|
|
|
24
24
|
/**
|
|
25
25
|
* Alternative billing mode for Android
|
|
26
26
|
* Controls which billing system is used
|
|
27
|
-
*
|
|
28
|
-
*
|
|
27
|
+
* Use the user-choice-billing program for user choice billing and external-offer
|
|
28
|
+
* for external digital-content offers.
|
|
29
|
+
* @deprecated Use enableBillingProgramAndroid with BillingProgramAndroid instead. Scheduled for removal in OpenIAP 3.0.
|
|
29
30
|
*/
|
|
30
31
|
|
|
31
32
|
/**
|
|
@@ -111,24 +112,25 @@
|
|
|
111
112
|
|
|
112
113
|
/**
|
|
113
114
|
* Discount information returned from the store.
|
|
114
|
-
* @
|
|
115
|
-
* @
|
|
115
|
+
* @see https://openiap.dev/docs/types/subscription-offer
|
|
116
|
+
* @deprecated Use the standardized SubscriptionOffer type instead for cross-platform compatibility. Scheduled for removal in OpenIAP 3.0.
|
|
116
117
|
*/
|
|
117
118
|
|
|
118
119
|
/**
|
|
119
120
|
* Standardized one-time product discount offer.
|
|
120
|
-
* Provides a
|
|
121
|
+
* Provides a platform-neutral OpenIAP shape for Google Play one-time product
|
|
122
|
+
* purchase options and offers.
|
|
121
123
|
*
|
|
122
|
-
* Currently
|
|
123
|
-
* iOS does not
|
|
124
|
+
* Currently populated only on Android (Google Play Billing 8.0+).
|
|
125
|
+
* iOS does not populate this type.
|
|
124
126
|
*
|
|
125
|
-
* @see https://openiap.dev/docs/
|
|
127
|
+
* @see https://openiap.dev/docs/types/discount-offer
|
|
126
128
|
*/
|
|
127
129
|
|
|
128
130
|
/**
|
|
129
131
|
* iOS DiscountOffer (output type).
|
|
130
|
-
* @
|
|
131
|
-
* @
|
|
132
|
+
* @see https://openiap.dev/docs/types/subscription-offer
|
|
133
|
+
* @deprecated Use the standardized SubscriptionOffer type instead for cross-platform compatibility. Scheduled for removal in OpenIAP 3.0.
|
|
132
134
|
*/
|
|
133
135
|
|
|
134
136
|
/**
|
|
@@ -162,8 +164,11 @@ export let ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
|
162
164
|
ErrorCode["PurchaseVerificationFinishFailed"] = "purchase-verification-finish-failed";
|
|
163
165
|
ErrorCode["PurchaseVerificationFinished"] = "purchase-verification-finished";
|
|
164
166
|
ErrorCode["QueryProduct"] = "query-product";
|
|
167
|
+
/** @deprecated Use PurchaseVerificationFailed instead. Scheduled for removal in OpenIAP 3.0. */
|
|
165
168
|
ErrorCode["ReceiptFailed"] = "receipt-failed";
|
|
169
|
+
/** @deprecated Use PurchaseVerificationFinished instead. Scheduled for removal in OpenIAP 3.0. */
|
|
166
170
|
ErrorCode["ReceiptFinished"] = "receipt-finished";
|
|
171
|
+
/** @deprecated Use PurchaseVerificationFinishFailed instead. Scheduled for removal in OpenIAP 3.0. */
|
|
167
172
|
ErrorCode["ReceiptFinishedFailed"] = "receipt-finished-failed";
|
|
168
173
|
ErrorCode["RemoteError"] = "remote-error";
|
|
169
174
|
ErrorCode["ServiceDisconnected"] = "service-disconnected";
|
|
@@ -194,14 +199,14 @@ export let ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
|
194
199
|
|
|
195
200
|
/**
|
|
196
201
|
* External offer availability result (Android)
|
|
197
|
-
* @deprecated Use BillingProgramAvailabilityResultAndroid with isBillingProgramAvailableAsync instead
|
|
198
202
|
* Available in Google Play Billing Library 6.2.0+, deprecated in 8.2.0
|
|
203
|
+
* @deprecated Use BillingProgramAvailabilityResultAndroid from isBillingProgramAvailableAndroid instead. Scheduled for removal in OpenIAP 3.0.
|
|
199
204
|
*/
|
|
200
205
|
|
|
201
206
|
/**
|
|
202
207
|
* External offer reporting details (Android)
|
|
203
|
-
* @deprecated Use BillingProgramReportingDetailsAndroid with createBillingProgramReportingDetailsAsync instead
|
|
204
208
|
* Available in Google Play Billing Library 6.2.0+, deprecated in 8.2.0
|
|
209
|
+
* @deprecated Use BillingProgramReportingDetailsAndroid from createBillingProgramReportingDetailsAndroid instead. Scheduled for removal in OpenIAP 3.0.
|
|
205
210
|
*/
|
|
206
211
|
|
|
207
212
|
/** Result of showing ExternalPurchaseCustomLink notice (iOS 18.1+). */
|
|
@@ -308,8 +313,8 @@ export let ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
|
308
313
|
/**
|
|
309
314
|
* One-time purchase offer details (Android).
|
|
310
315
|
* Available in Google Play Billing Library 8.0+
|
|
311
|
-
* @
|
|
312
|
-
* @
|
|
316
|
+
* @see https://openiap.dev/docs/types/discount-offer
|
|
317
|
+
* @deprecated Use the standardized DiscountOffer type for Android one-time offers. Scheduled for removal in OpenIAP 3.0.
|
|
313
318
|
*/
|
|
314
319
|
|
|
315
320
|
/**
|
|
@@ -321,8 +326,8 @@ export let ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
|
321
326
|
|
|
322
327
|
/**
|
|
323
328
|
* Subscription offer details (Android).
|
|
324
|
-
* @
|
|
325
|
-
* @
|
|
329
|
+
* @see https://openiap.dev/docs/types/subscription-offer
|
|
330
|
+
* @deprecated Use the standardized SubscriptionOffer type instead for cross-platform compatibility. Scheduled for removal in OpenIAP 3.0.
|
|
326
331
|
*/
|
|
327
332
|
|
|
328
333
|
/**
|
|
@@ -383,14 +388,13 @@ export let ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
|
383
388
|
* - iOS: Introductory offers, promotional offers with server-side signatures
|
|
384
389
|
* - Android: Offer tokens with pricing phases
|
|
385
390
|
*
|
|
386
|
-
* @see https://openiap.dev/docs/types/
|
|
387
|
-
* @see https://openiap.dev/docs/types/android#subscription-offer
|
|
391
|
+
* @see https://openiap.dev/docs/types/subscription-offer
|
|
388
392
|
*/
|
|
389
393
|
|
|
390
394
|
/**
|
|
391
395
|
* iOS subscription offer details.
|
|
392
|
-
* @
|
|
393
|
-
* @
|
|
396
|
+
* @see https://openiap.dev/docs/types/subscription-offer
|
|
397
|
+
* @deprecated Use the standardized SubscriptionOffer type instead for cross-platform compatibility. Scheduled for removal in OpenIAP 3.0.
|
|
394
398
|
*/
|
|
395
399
|
|
|
396
400
|
/** Subscription period value combining unit and count. */
|
|
@@ -459,14 +463,14 @@ export let ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
|
459
463
|
* or can be applied programmatically during purchase.
|
|
460
464
|
*/
|
|
461
465
|
|
|
462
|
-
// -- Query helper types (auto-generated)
|
|
463
|
-
|
|
464
|
-
// -- End query helper types
|
|
465
|
-
|
|
466
466
|
// -- Mutation helper types (auto-generated)
|
|
467
467
|
|
|
468
468
|
// -- End mutation helper types
|
|
469
469
|
|
|
470
|
+
// -- Query helper types (auto-generated)
|
|
471
|
+
|
|
472
|
+
// -- End query helper types
|
|
473
|
+
|
|
470
474
|
// -- Subscription helper types (auto-generated)
|
|
471
475
|
|
|
472
476
|
// -- End subscription helper types
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAoCA;AACA;AACA;AACA;AACA;AACA;;AAoBA;;AAMA;AACA;AACA;AACA;;AAUA;;AAMA;AACA;AACA;AACA;AACA;AACA;;AA0BA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAmBA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAoBA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqBA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAqBA;;AAUA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["ErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAoCA;AACA;AACA;AACA;AACA;AACA;;AAoBA;;AAMA;AACA;AACA;AACA;;AAUA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0BA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAmBA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAoBA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqBA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAqBA;;AAUA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsEA;AACA;AACA;AACA;AACA;;AA2BA;AACA;AACA;AACA;;AASA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EA0BnB;EA1BUA,SAAS;EA4BnB;EA5BUA,SAAS;EA8BnB;EA9BUA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;;AA6CrB;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAMA;;AAQA;AACA;AACA;AACA;AACA;;AAGA;;AAWA;AACA;AACA;AACA;AACA;;AAGA;;AAQA;;AAGA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;;AAgBA;;AAGA;AACA;AACA;AACA;;AAQA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAQA;;AAgCA;AACA;AACA;AACA;AACA;;AAiBA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;;AAoQA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;;AAuEA;AACA;AACA;AACA;AACA;AACA;;AA6FA;AACA;AACA;AACA;AACA;AACA;;AA8CA;AACA;AACA;AACA;AACA;;AA4DA;AACA;AACA;AACA;AACA;AACA;;AAuVA;AACA;AACA;AACA;;AAmDA;AACA;AACA;AACA;;AAoFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkDA;AACA;AACA;AACA;;AAiEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuEA;AACA;AACA;AACA;AACA;;AAaA;;AAUA;;AAiBA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;;AAqBA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiCA;AACA;AACA;AACA;;AAuCA;AACA;AACA;AACA;AACA;AACA;;AAKA;;AA2CA;;AAEA;;AAoCA;;AAEA;;AAoBA","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { RnIapConsole } from "./debug.js";
|
|
4
|
+
const emittedLegacyWarnings = new Set();
|
|
5
|
+
export const warnLegacyOnce = (key, message) => {
|
|
6
|
+
if (emittedLegacyWarnings.has(key)) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
emittedLegacyWarnings.add(key);
|
|
10
|
+
RnIapConsole.warn(message);
|
|
11
|
+
};
|
|
12
|
+
export const resetLegacyWarningsForTesting = () => {
|
|
13
|
+
emittedLegacyWarnings.clear();
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=deprecation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RnIapConsole","emittedLegacyWarnings","Set","warnLegacyOnce","key","message","has","add","warn","resetLegacyWarningsForTesting","clear"],"sourceRoot":"../../../src","sources":["utils/deprecation.ts"],"mappings":";;AAAA,SAAQA,YAAY,QAAO,YAAS;AAEpC,MAAMC,qBAAqB,GAAG,IAAIC,GAAG,CAAS,CAAC;AAE/C,OAAO,MAAMC,cAAc,GAAGA,CAACC,GAAW,EAAEC,OAAe,KAAW;EACpE,IAAIJ,qBAAqB,CAACK,GAAG,CAACF,GAAG,CAAC,EAAE;IAClC;EACF;EAEAH,qBAAqB,CAACM,GAAG,CAACH,GAAG,CAAC;EAC9BJ,YAAY,CAACQ,IAAI,CAACH,OAAO,CAAC;AAC5B,CAAC;AAED,OAAO,MAAMI,6BAA6B,GAAGA,CAAA,KAAY;EACvDR,qBAAqB,CAACS,KAAK,CAAC,CAAC;AAC/B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Selects a canonical platform request by key presence, not value.
|
|
5
|
+
*
|
|
6
|
+
* An explicitly supplied canonical `null` or `undefined` is authoritative and
|
|
7
|
+
* must not fall back to the deprecated alias.
|
|
8
|
+
*/
|
|
9
|
+
export const selectCanonicalPlatformRequest = (request, canonicalKey, legacyKey) => {
|
|
10
|
+
const record = request;
|
|
11
|
+
if (Object.prototype.hasOwnProperty.call(record, canonicalKey)) {
|
|
12
|
+
return {
|
|
13
|
+
usesLegacyKey: false,
|
|
14
|
+
value: record[canonicalKey]
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
if (Object.prototype.hasOwnProperty.call(record, legacyKey)) {
|
|
18
|
+
return {
|
|
19
|
+
usesLegacyKey: true,
|
|
20
|
+
value: record[legacyKey]
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
usesLegacyKey: false,
|
|
25
|
+
value: undefined
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=platform-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["selectCanonicalPlatformRequest","request","canonicalKey","legacyKey","record","Object","prototype","hasOwnProperty","call","usesLegacyKey","value","undefined"],"sourceRoot":"../../../src","sources":["utils/platform-request.ts"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,8BAA8B,GAAGA,CAC5CC,OAAe,EACfC,YAAyB,EACzBC,SAAsB,KACU;EAChC,MAAMC,MAAM,GAAGH,OAAoD;EAEnE,IAAII,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,MAAM,EAAEF,YAAY,CAAC,EAAE;IAC9D,OAAO;MACLO,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAEN,MAAM,CAACF,YAAY;IAC5B,CAAC;EACH;EAEA,IAAIG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,MAAM,EAAED,SAAS,CAAC,EAAE;IAC3D,OAAO;MACLM,aAAa,EAAE,IAAI;MACnBC,KAAK,EAAEN,MAAM,CAACD,SAAS;IACzB,CAAC;EACH;EAEA,OAAO;IACLM,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAEC;EACT,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -361,8 +361,8 @@ export function convertNitroPurchaseToPurchase(nitroPurchase) {
|
|
|
361
361
|
isAutoRenewing: Boolean(nitroPurchase.isAutoRenewing),
|
|
362
362
|
currentPlanId: toNullableString(nitroPurchase.currentPlanId),
|
|
363
363
|
ids: nitroPurchase.ids ?? null,
|
|
364
|
-
// PurchaseIOS requires
|
|
365
|
-
transactionId: nitroPurchase.id,
|
|
364
|
+
// PurchaseIOS requires a transaction ID; legacy native payloads used id.
|
|
365
|
+
transactionId: toNullableString(nitroPurchase.transactionId) ?? nitroPurchase.id,
|
|
366
366
|
advancedCommerceInfoIOS: nitroPurchase.advancedCommerceInfoIOS ?? null,
|
|
367
367
|
billingPlanTypeIOS: nitroPurchase.billingPlanTypeIOS ?? null,
|
|
368
368
|
commitmentInfoIOS: nitroPurchase.commitmentInfoIOS ?? null,
|
|
@@ -397,6 +397,10 @@ export function convertNitroPurchaseToPurchase(nitroPurchase) {
|
|
|
397
397
|
};
|
|
398
398
|
return iosPurchase;
|
|
399
399
|
}
|
|
400
|
+
const explicitAndroidTransactionId = toNullableString(nitroPurchase.transactionId);
|
|
401
|
+
const legacyAndroidId = toNullableString(nitroPurchase.id);
|
|
402
|
+
const androidPurchaseToken = toNullableString(nitroPurchase.purchaseToken ?? nitroPurchase.purchaseTokenAndroid);
|
|
403
|
+
const androidTransactionId = explicitAndroidTransactionId ?? (legacyAndroidId != null && (store !== STORE_GOOGLE || legacyAndroidId !== androidPurchaseToken) ? legacyAndroidId : null);
|
|
400
404
|
const androidPurchase = {
|
|
401
405
|
id: nitroPurchase.id,
|
|
402
406
|
productId: nitroPurchase.productId,
|
|
@@ -409,8 +413,9 @@ export function convertNitroPurchaseToPurchase(nitroPurchase) {
|
|
|
409
413
|
isAutoRenewing: Boolean(nitroPurchase.isAutoRenewing),
|
|
410
414
|
currentPlanId: toNullableString(nitroPurchase.currentPlanId),
|
|
411
415
|
ids: nitroPurchase.ids ?? null,
|
|
412
|
-
//
|
|
413
|
-
transactionId
|
|
416
|
+
// Android id falls back to purchaseToken when Play has no orderId, so do
|
|
417
|
+
// not synthesize a transactionId from it.
|
|
418
|
+
transactionId: androidTransactionId,
|
|
414
419
|
autoRenewingAndroid: toNullableBoolean(nitroPurchase.autoRenewingAndroid ?? nitroPurchase.isAutoRenewing),
|
|
415
420
|
dataAndroid: toNullableString(nitroPurchase.dataAndroid),
|
|
416
421
|
signatureAndroid: toNullableString(nitroPurchase.signatureAndroid),
|