expo-iap 3.1.38 → 3.2.0
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/.prettierignore +1 -0
- package/build/index.d.ts +15 -6
- package/build/index.d.ts.map +1 -1
- package/build/index.js +30 -17
- package/build/index.js.map +1 -1
- package/build/types.d.ts +40 -8
- package/build/types.d.ts.map +1 -1
- package/build/types.js.map +1 -1
- package/build/useIAP.d.ts.map +1 -1
- package/build/useIAP.js +2 -0
- package/build/useIAP.js.map +1 -1
- package/coverage/clover.xml +93 -91
- package/coverage/coverage-final.json +1 -1
- package/coverage/lcov-report/index.html +14 -14
- package/coverage/lcov-report/src/index.html +14 -14
- package/coverage/lcov-report/src/index.ts.html +64 -25
- package/coverage/lcov-report/src/modules/android.ts.html +1 -1
- package/coverage/lcov-report/src/modules/index.html +1 -1
- package/coverage/lcov-report/src/modules/ios.ts.html +1 -1
- package/coverage/lcov-report/src/utils/debug.ts.html +1 -1
- package/coverage/lcov-report/src/utils/errorMapping.ts.html +1 -1
- package/coverage/lcov-report/src/utils/index.html +1 -1
- package/coverage/lcov.info +163 -158
- package/openiap-versions.json +3 -3
- package/package.json +1 -1
- package/src/index.ts +30 -17
- package/src/types.ts +42 -9
- package/src/useIAP.ts +2 -0
package/.prettierignore
CHANGED
package/build/index.d.ts
CHANGED
|
@@ -145,16 +145,16 @@ export declare const getStorefront: QueryField<'getStorefront'>;
|
|
|
145
145
|
* Request a purchase for products or subscriptions.
|
|
146
146
|
*
|
|
147
147
|
* @param requestObj - Purchase request configuration
|
|
148
|
-
* @param requestObj.request -
|
|
148
|
+
* @param requestObj.request - Store-specific purchase parameters
|
|
149
149
|
* @param requestObj.type - Type of purchase: 'in-app' for products (default) or 'subs' for subscriptions
|
|
150
150
|
*
|
|
151
151
|
* @example
|
|
152
152
|
* ```typescript
|
|
153
|
-
* // Product purchase
|
|
153
|
+
* // Product purchase (recommended: use apple/google)
|
|
154
154
|
* await requestPurchase({
|
|
155
155
|
* request: {
|
|
156
|
-
*
|
|
157
|
-
*
|
|
156
|
+
* apple: { sku: productId },
|
|
157
|
+
* google: { skus: [productId] }
|
|
158
158
|
* },
|
|
159
159
|
* type: 'in-app'
|
|
160
160
|
* });
|
|
@@ -162,14 +162,23 @@ export declare const getStorefront: QueryField<'getStorefront'>;
|
|
|
162
162
|
* // Subscription purchase
|
|
163
163
|
* await requestPurchase({
|
|
164
164
|
* request: {
|
|
165
|
-
*
|
|
166
|
-
*
|
|
165
|
+
* apple: { sku: subscriptionId },
|
|
166
|
+
* google: {
|
|
167
167
|
* skus: [subscriptionId],
|
|
168
168
|
* subscriptionOffers: [{ sku: subscriptionId, offerToken: 'token' }]
|
|
169
169
|
* }
|
|
170
170
|
* },
|
|
171
171
|
* type: 'subs'
|
|
172
172
|
* });
|
|
173
|
+
*
|
|
174
|
+
* // Legacy format (deprecated, but still supported)
|
|
175
|
+
* await requestPurchase({
|
|
176
|
+
* request: {
|
|
177
|
+
* ios: { sku: productId },
|
|
178
|
+
* android: { skus: [productId] }
|
|
179
|
+
* },
|
|
180
|
+
* type: 'in-app'
|
|
181
|
+
* });
|
|
173
182
|
* ```
|
|
174
183
|
*/
|
|
175
184
|
export declare const requestPurchase: MutationField<'requestPurchase'>;
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAIV,aAAa,EAGb,OAAO,EACP,gBAAgB,EAEhB,QAAQ,EAER,UAAU,EAOV,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAsB,KAAK,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAG7E,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAG9B,oBAAY,YAAY;IACtB,eAAe,qBAAqB;IACpC,aAAa,mBAAmB;IAChC,kBAAkB,yBAAyB;IAC3C,wBAAwB,gCAAgC;CACzD;AAED,KAAK,oBAAoB,GAAG;IAC1B,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC;IACzC,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC5C,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC3C,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACnE,CAAC;AAEF,KAAK,oBAAoB,CAAC,CAAC,SAAS,YAAY,IAAI,CAClD,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC7B,IAAI,CAAC;AAEV,KAAK,cAAc,GAAG;IACpB,WAAW,CAAC,CAAC,SAAS,YAAY,EAChC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAChC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAC,CAAC;IACxB,cAAc,CAAC,CAAC,SAAS,YAAY,EACnC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAChC,IAAI,CAAC;CACT,CAAC;AAGF,eAAO,MAAM,OAAO,EACiB,cAAc,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AA+C1D,eAAO,MAAM,uBAAuB,GAClC,UAAU,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI;YA9DvB,MAAM,IAAI;CAyEvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,UAAU,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI;YA5E5B,MAAM,IAAI;CAsFvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,0BAA0B,GACrC,UAAU,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;YA7GxB,MAAM,IAAI;CAsHvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gCAAgC,GAC3C,UAAU,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI;YAlJzC,MAAM,IAAI;CA2JvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,gBAAgB,CACb,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,eAAe,CAC1B,CAAC;AAEhC;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,eAAe,CAmErD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAC5C,uBAAuB,CAoBxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAC7C,wBAAwB,CAMzB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAC7C,wBAAwB,CAKzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,eAAe,CAKrD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -257,23 +257,27 @@ export const getStorefront = async () => {
|
|
|
257
257
|
return ExpoIapModule.getStorefront();
|
|
258
258
|
};
|
|
259
259
|
function normalizeRequestProps(request, platform) {
|
|
260
|
-
//
|
|
261
|
-
|
|
260
|
+
// Support both new (apple/google) and legacy (ios/android) field names
|
|
261
|
+
// New fields take precedence over deprecated ones
|
|
262
|
+
if (platform === 'ios') {
|
|
263
|
+
return request.apple ?? request.ios;
|
|
264
|
+
}
|
|
265
|
+
return request.google ?? request.android;
|
|
262
266
|
}
|
|
263
267
|
/**
|
|
264
268
|
* Request a purchase for products or subscriptions.
|
|
265
269
|
*
|
|
266
270
|
* @param requestObj - Purchase request configuration
|
|
267
|
-
* @param requestObj.request -
|
|
271
|
+
* @param requestObj.request - Store-specific purchase parameters
|
|
268
272
|
* @param requestObj.type - Type of purchase: 'in-app' for products (default) or 'subs' for subscriptions
|
|
269
273
|
*
|
|
270
274
|
* @example
|
|
271
275
|
* ```typescript
|
|
272
|
-
* // Product purchase
|
|
276
|
+
* // Product purchase (recommended: use apple/google)
|
|
273
277
|
* await requestPurchase({
|
|
274
278
|
* request: {
|
|
275
|
-
*
|
|
276
|
-
*
|
|
279
|
+
* apple: { sku: productId },
|
|
280
|
+
* google: { skus: [productId] }
|
|
277
281
|
* },
|
|
278
282
|
* type: 'in-app'
|
|
279
283
|
* });
|
|
@@ -281,14 +285,23 @@ function normalizeRequestProps(request, platform) {
|
|
|
281
285
|
* // Subscription purchase
|
|
282
286
|
* await requestPurchase({
|
|
283
287
|
* request: {
|
|
284
|
-
*
|
|
285
|
-
*
|
|
288
|
+
* apple: { sku: subscriptionId },
|
|
289
|
+
* google: {
|
|
286
290
|
* skus: [subscriptionId],
|
|
287
291
|
* subscriptionOffers: [{ sku: subscriptionId, offerToken: 'token' }]
|
|
288
292
|
* }
|
|
289
293
|
* },
|
|
290
294
|
* type: 'subs'
|
|
291
295
|
* });
|
|
296
|
+
*
|
|
297
|
+
* // Legacy format (deprecated, but still supported)
|
|
298
|
+
* await requestPurchase({
|
|
299
|
+
* request: {
|
|
300
|
+
* ios: { sku: productId },
|
|
301
|
+
* android: { skus: [productId] }
|
|
302
|
+
* },
|
|
303
|
+
* type: 'in-app'
|
|
304
|
+
* });
|
|
292
305
|
* ```
|
|
293
306
|
*/
|
|
294
307
|
export const requestPurchase = async (args) => {
|
|
@@ -298,12 +311,12 @@ export const requestPurchase = async (args) => {
|
|
|
298
311
|
if (Platform.OS === 'ios') {
|
|
299
312
|
const normalizedRequest = normalizeRequestProps(request, 'ios');
|
|
300
313
|
if (!normalizedRequest?.sku) {
|
|
301
|
-
throw new Error('Invalid request for
|
|
314
|
+
throw new Error('Invalid request for Apple. The `sku` property is required and must be a string.\n\n' +
|
|
302
315
|
'Expected format:\n' +
|
|
303
316
|
' requestPurchase({\n' +
|
|
304
317
|
' request: {\n' +
|
|
305
|
-
'
|
|
306
|
-
'
|
|
318
|
+
' apple: { sku: "product_id" },\n' +
|
|
319
|
+
' google: { skus: ["product_id"] }\n' +
|
|
307
320
|
' },\n' +
|
|
308
321
|
' type: "in-app"\n' +
|
|
309
322
|
' })\n\n' +
|
|
@@ -330,12 +343,12 @@ export const requestPurchase = async (args) => {
|
|
|
330
343
|
if (isInAppPurchase) {
|
|
331
344
|
const normalizedRequest = normalizeRequestProps(request, 'android');
|
|
332
345
|
if (!normalizedRequest?.skus?.length) {
|
|
333
|
-
throw new Error('Invalid request for
|
|
346
|
+
throw new Error('Invalid request for Google. The `skus` property is required and must be a non-empty array.\n\n' +
|
|
334
347
|
'Expected format:\n' +
|
|
335
348
|
' requestPurchase({\n' +
|
|
336
349
|
' request: {\n' +
|
|
337
|
-
'
|
|
338
|
-
'
|
|
350
|
+
' apple: { sku: "product_id" },\n' +
|
|
351
|
+
' google: { skus: ["product_id"] }\n' +
|
|
339
352
|
' },\n' +
|
|
340
353
|
' type: "in-app"\n' +
|
|
341
354
|
' })\n\n' +
|
|
@@ -357,12 +370,12 @@ export const requestPurchase = async (args) => {
|
|
|
357
370
|
if (canonical === 'subs') {
|
|
358
371
|
const normalizedRequest = normalizeRequestProps(request, 'android');
|
|
359
372
|
if (!normalizedRequest?.skus?.length) {
|
|
360
|
-
throw new Error('Invalid request for
|
|
373
|
+
throw new Error('Invalid request for Google. The `skus` property is required and must be a non-empty array.\n\n' +
|
|
361
374
|
'Expected format:\n' +
|
|
362
375
|
' requestPurchase({\n' +
|
|
363
376
|
' request: {\n' +
|
|
364
|
-
'
|
|
365
|
-
'
|
|
377
|
+
' apple: { sku: "subscription_id" },\n' +
|
|
378
|
+
' google: { skus: ["subscription_id"] }\n' +
|
|
366
379
|
' },\n' +
|
|
367
380
|
' type: "subs"\n' +
|
|
368
381
|
' })\n\n' +
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEtC,mBAAmB;AACnB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,EAC1B,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAwB7C,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAClC,OAAO,EAAC,mBAAmB,EAAqB,MAAM,sBAAsB,CAAC;AAE7E,mBAAmB;AACnB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAE9B,gCAAgC;AAChC,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,oDAAoC,CAAA;IACpC,gDAAgC,CAAA;IAChC,2DAA2C,CAAA;IAC3C,wEAAwD,CAAA;AAC1D,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAwBD,uDAAuD;AACvD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,aAAa;IACnC,mBAAmB,CAAC,SAAS,CAAC,CAAmB,CAAC;AAOpD,MAAM,oBAAoB,GAAG,CAAC,IAAuB,EAAE,EAAE;IACvD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,cAAc,CAAC,IAAI,CACjB,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO;YACL,SAAS,EAAE,QAA4B;YACvC,MAAM,EAAE,QAAiB;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,SAAS,EAAE,MAA0B;YACrC,MAAM,EAAE,MAAe;SACxB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,SAAS,EAAE,KAAyB;YACpC,MAAM,EAAE,KAAc;SACvB,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,QAAkB,EAAY,EAAE;IACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,EAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,SAAqB,EAAc,EAAE,CACnE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAAmC,EACnC,EAAE;IACF,MAAM,eAAe,GAAG,CAAC,KAAe,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACpD,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAC7C,YAAY,CAAC,eAAe,EAC5B,eAAe,CAChB,CAAC;IACF,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,QAAwC,EACxC,EAAE;IACF,MAAM,eAAe,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC/C,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAC7C,YAAY,CAAC,aAAa,EAC1B,eAAe,CAChB,CAAC;IACF,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,QAAoC,EACpC,EAAE;IACF,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,cAAc,CAAC,IAAI,CACjB,oEAAoE,CACrE,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,QAAqD,EACrD,EAAE;IACF,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,cAAc,CAAC,IAAI,CACjB,8EAA8E,CAC/E,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAoC,KAAK,EAAE,MAAM,EAAE,EAAE,CAC9E,aAAa,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAmC,KAAK,IAAI,EAAE,CACtE,aAAa,CAAC,aAAa,EAAE,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC1E,cAAc,CAAC,KAAK,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,OAAO,IAAI,EAAE,CAAC;IAEnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,mBAAmB,CAAC;YACxB,OAAO,EAAE,kBAAkB;YAC3B,IAAI,EAAE,SAAS,CAAC,YAAY;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,oBAAoB,CAC9C,IAAoC,CACrC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,cAAc,GAAG,CACrB,KAAgB,EACmB,EAAE,CACrC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAyC,EAAE;QAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,IAAqC,CAAC;QACxD,OAAO,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEL,MAAM,kBAAkB,GAAG,CACzB,KAAgB,EACmB,EAAE,CACrC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAyC,EAAE;QAC3D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,IAAqC,CAAC;QACxD,OAAO,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,CACjB,KAAwC,EAKjC,EAAE;QACT,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,KAAkB,CAAC;QAC5B,CAAC;QACD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,KAA8B,CAAC;QACxC,CAAC;QACD,qEAAqE;QACrE,oEAAoE;QACpE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QACzE,OAAO,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAE9B,KAAK,EAAE,OAAO,EAAE,EAAE;IACpB,MAAM,iBAAiB,GAAoB;QACzC,6BAA6B,EAC3B,OAAO,EAAE,6BAA6B,IAAI,KAAK;QACjD,yBAAyB,EAAE,OAAO,EAAE,yBAAyB,IAAI,IAAI;KACtE,CAAC;IAEF,MAAM,gBAAgB,GACpB,QAAQ,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,GAAG,EAAE,CACR,aAAa,CAAC,iBAAiB,CAC7B,iBAAiB,CAAC,6BAA6B,EAC/C,iBAAiB,CAAC,yBAAyB,CACrB;QAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAyB;KACxE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAgB,CAAC,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,OAAO,sBAAsB,CAAC,SAAuB,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAE/B,KAAK,EAAE,eAAe,EAAE,EAAE;IAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,sBAAsB,CACvD,eAAe,IAAI,IAAI,CACxB,CAAC;IACF,OAAO,CAAC,MAAM,IAAI,EAAE,CAAyB,CAAC;AAChD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAE/B,KAAK,EAAE,eAAe,EAAE,EAAE;IAC5B,OAAO,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,sBAAsB,CAClD,eAAe,IAAI,IAAI,CACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAgC,KAAK,IAAI,EAAE;IACnE,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,aAAa,CAAC,aAAa,EAAE,CAAC;AACvC,CAAC,CAAC;AAqBF,SAAS,qBAAqB,CAC5B,OAEuC,EACvC,QAA2B;IAE3B,2EAA2E;IAC3E,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqC,KAAK,EACpE,IAAI,EACJ,EAAE;IACF,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,oBAAoB,CAAC,IAAwB,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,SAAS,KAAK,QAAQ,CAAC;IAE/C,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhE,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,mFAAmF;gBACjF,oBAAoB;gBACpB,uBAAuB;gBACvB,kBAAkB;gBAClB,4CAA4C;gBAC5C,oCAAoC;gBACpC,UAAU;gBACV,sBAAsB;gBACtB,UAAU;gBACV,uFAAuF,CAC1F,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,OAAO,GAAgC;YAC3C,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YAChD,OAAO,EAAE,EAAC,GAAG,EAAE,iBAAiB,EAAC;YACjC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAGtD,CAAC;QAET,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,iBAAiB,GAAG,qBAAqB,CAC7C,OAA0C,EAC1C,SAAS,CACwC,CAAC;YAEpD,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,iGAAiG;oBAC/F,oBAAoB;oBACpB,uBAAuB;oBACvB,kBAAkB;oBAClB,4CAA4C;oBAC5C,oCAAoC;oBACpC,UAAU;oBACV,sBAAsB;oBACtB,UAAU;oBACV,uFAAuF,CAC1F,CAAC;YACJ,CAAC;YAED,MAAM,EACJ,IAAI,EACJ,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,GACpB,GAAG,iBAAiB,CAAC;YAEtB,MAAM,MAAM,GAAG,CAAC,MAAM,aAAa,CAAC,eAAe,CAAC;gBAClD,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI;gBACZ,aAAa,EAAE,SAAS;gBACxB,eAAe,EAAE,CAAC,CAAC;gBACnB,mBAAmB,EAAE,0BAA0B;gBAC/C,mBAAmB,EAAE,0BAA0B;gBAC/C,aAAa,EAAE,EAAE;gBACjB,mBAAmB,EAAE,mBAAmB,IAAI,KAAK;aAClD,CAAC,CAAe,CAAC;YAElB,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,iBAAiB,GAAG,qBAAqB,CAC7C,OAA8C,EAC9C,SAAS,CAC4C,CAAC;YAExD,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,iGAAiG;oBAC/F,oBAAoB;oBACpB,uBAAuB;oBACvB,kBAAkB;oBAClB,iDAAiD;oBACjD,yCAAyC;oBACzC,UAAU;oBACV,oBAAoB;oBACpB,UAAU;oBACV,uFAAuF,CAC1F,CAAC;YACJ,CAAC;YAED,MAAM,EACJ,IAAI,EACJ,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,GACrB,GAAG,iBAAiB,CAAC;YAEtB,MAAM,gBAAgB,GAAG,kBAAkB,IAAI,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,sBAAsB,IAAI,CAAC,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,oBAAoB,IAAI,SAAS,CAAC;YAExD,MAAM,MAAM,GAAG,CAAC,MAAM,aAAa,CAAC,eAAe,CAAC;gBAClD,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI;gBACZ,aAAa;gBACb,eAAe;gBACf,mBAAmB,EAAE,0BAA0B;gBAC/C,mBAAmB,EAAE,0BAA0B;gBAC/C,aAAa,EAAE,gBAAgB,CAAC,GAAG,CACjC,CAAC,KAAoC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAC3D;gBACD,kBAAkB,EAAE,gBAAgB;gBACpC,mBAAmB,EAAE,mBAAmB,IAAI,KAAK;aAClD,CAAC,CAAe,CAAC;YAElB,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAuC,KAAK,EAAE,EAC1E,QAAQ,EACR,YAAY,GAAG,KAAK,GACrB,EAAE,EAAE;IACH,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,aAAa,CAAC,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,IAAI,SAAS,CAAC;QAElD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,mBAAmB,CAAC;gBACxB,OAAO,EAAE,kDAAkD;gBAC3D,IAAI,EAAE,SAAS,CAAC,cAAc;gBAC9B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsC,KAAK,IAAI,EAAE;IAC5E,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,qBAAqB,CAAC;QAC1B,6BAA6B,EAAE,KAAK;QACpC,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAEhC,KAAK,EAAE,OAAO,EAAE,EAAE;IACpB,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,0BAA0B,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,8BAA8B,CAAE,OAA2B,IAAI,IAAI,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqC,KAAK,EACpE,OAAO,EACP,EAAE;IACF,MAAM,EAAC,GAAG,EAAE,cAAc,EAAC,GAAG,OAAsC,CAAC;IAErE,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,kBAAkB,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,IACE,CAAC,cAAc;YACf,CAAC,cAAc,CAAC,WAAW;YAC3B,CAAC,cAAc,CAAC,YAAY;YAC5B,CAAC,cAAc,CAAC,WAAW,EAC3B,CAAC;YACD,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,sBAAsB,CAAC;YAC5B,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,SAAS,EAAE,GAAG;YACd,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,SAAS;SACzC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoC,KAAK,EAClE,OAAO,EACP,EAAE;IACF,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAEnC,KAAK,EAAE,OAAO,EAAE,EAAE;IACpB,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,aAAa,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC","sourcesContent":["// External dependencies\nimport {requireNativeModule} from 'expo-modules-core';\nimport {Platform} from 'react-native';\n\n// Internal modules\nimport ExpoIapModule from './ExpoIapModule';\nimport {\n isProductIOS,\n validateReceiptIOS,\n deepLinkToSubscriptionsIOS,\n syncIOS,\n} from './modules/ios';\nimport {\n isProductAndroid,\n validateReceiptAndroid,\n deepLinkToSubscriptionsAndroid,\n} from './modules/android';\nimport {ExpoIapConsole} from './utils/debug';\n\n// Types\nimport type {\n ActiveSubscription,\n AndroidSubscriptionOfferInput,\n DeepLinkOptions,\n MutationField,\n MutationRequestPurchaseArgs,\n MutationValidateReceiptArgs,\n Product,\n ProductQueryType,\n ProductSubscription,\n Purchase,\n PurchaseOptions,\n QueryField,\n RequestPurchasePropsByPlatforms,\n RequestPurchaseAndroidProps,\n RequestPurchaseIosProps,\n RequestSubscriptionPropsByPlatforms,\n RequestSubscriptionAndroidProps,\n RequestSubscriptionIosProps,\n UserChoiceBillingDetails,\n} from './types';\nimport {ErrorCode} from './types';\nimport {createPurchaseError, type PurchaseError} from './utils/errorMapping';\n\n// Export all types\nexport * from './types';\nexport * from './modules/android';\nexport * from './modules/ios';\n\n// Get the native constant value\nexport enum OpenIapEvent {\n PurchaseUpdated = 'purchase-updated',\n PurchaseError = 'purchase-error',\n PromotedProductIOS = 'promoted-product-ios',\n UserChoiceBillingAndroid = 'user-choice-billing-android',\n}\n\ntype ExpoIapEventPayloads = {\n [OpenIapEvent.PurchaseUpdated]: Purchase;\n [OpenIapEvent.PurchaseError]: PurchaseError;\n [OpenIapEvent.PromotedProductIOS]: Product;\n [OpenIapEvent.UserChoiceBillingAndroid]: UserChoiceBillingDetails;\n};\n\ntype ExpoIapEventListener<E extends OpenIapEvent> = (\n payload: ExpoIapEventPayloads[E],\n) => void;\n\ntype ExpoIapEmitter = {\n addListener<E extends OpenIapEvent>(\n eventName: E,\n listener: ExpoIapEventListener<E>,\n ): {remove: () => void};\n removeListener<E extends OpenIapEvent>(\n eventName: E,\n listener: ExpoIapEventListener<E>,\n ): void;\n};\n\n// Ensure the emitter has proper EventEmitter interface\nexport const emitter = (ExpoIapModule ||\n requireNativeModule('ExpoIap')) as ExpoIapEmitter;\n\n/**\n * TODO(v3.1.0): Remove legacy 'inapp' alias once downstream apps migrate to 'in-app'.\n */\nexport type ProductTypeInput = ProductQueryType | 'inapp';\n\nconst normalizeProductType = (type?: ProductTypeInput) => {\n if (type === 'inapp') {\n ExpoIapConsole.warn(\n \"'inapp' product type is deprecated and will be removed in v3.1.0. Use 'in-app' instead.\",\n );\n }\n\n if (!type || type === 'inapp' || type === 'in-app') {\n return {\n canonical: 'in-app' as ProductQueryType,\n native: 'in-app' as const,\n };\n }\n if (type === 'subs') {\n return {\n canonical: 'subs' as ProductQueryType,\n native: 'subs' as const,\n };\n }\n if (type === 'all') {\n return {\n canonical: 'all' as ProductQueryType,\n native: 'all' as const,\n };\n }\n throw new Error(`Unsupported product type: ${type}`);\n};\n\nconst normalizePurchasePlatform = (purchase: Purchase): Purchase => {\n const platform = purchase.platform;\n if (typeof platform !== 'string') {\n return purchase;\n }\n\n const lowered = platform.toLowerCase();\n if (lowered === platform || (lowered !== 'ios' && lowered !== 'android')) {\n return purchase;\n }\n\n return {...purchase, platform: lowered};\n};\n\nconst normalizePurchaseArray = (purchases: Purchase[]): Purchase[] =>\n purchases.map((purchase) => normalizePurchasePlatform(purchase));\n\nexport const purchaseUpdatedListener = (\n listener: (event: Purchase) => void,\n) => {\n const wrappedListener = (event: Purchase) => {\n const normalized = normalizePurchasePlatform(event);\n listener(normalized);\n };\n const emitterSubscription = emitter.addListener(\n OpenIapEvent.PurchaseUpdated,\n wrappedListener,\n );\n return emitterSubscription;\n};\n\nexport const purchaseErrorListener = (\n listener: (error: PurchaseError) => void,\n) => {\n const wrappedListener = (error: PurchaseError) => {\n listener(error);\n };\n const emitterSubscription = emitter.addListener(\n OpenIapEvent.PurchaseError,\n wrappedListener,\n );\n return emitterSubscription;\n};\n\n/**\n * iOS-only listener for App Store promoted product events.\n * This fires when a user taps on a promoted product in the App Store.\n *\n * @param listener - Callback function that receives the promoted product details\n * @returns EventSubscription that can be used to unsubscribe\n *\n * @example\n * ```typescript\n * const subscription = promotedProductListenerIOS((product) => {\n * console.log('Promoted product:', product);\n * // Handle the promoted product\n * });\n *\n * // Later, clean up\n * subscription.remove();\n * ```\n *\n * @platform iOS\n */\nexport const promotedProductListenerIOS = (\n listener: (product: Product) => void,\n) => {\n if (Platform.OS !== 'ios') {\n ExpoIapConsole.warn(\n 'promotedProductListenerIOS: This listener is only available on iOS',\n );\n return {remove: () => {}};\n }\n return emitter.addListener(OpenIapEvent.PromotedProductIOS, listener);\n};\n\n/**\n * Android-only listener for User Choice Billing events.\n * This fires when a user selects alternative billing instead of Google Play billing\n * in the User Choice Billing dialog (only in 'user-choice' mode).\n *\n * @param listener - Callback function that receives the external transaction token and product IDs\n * @returns EventSubscription that can be used to unsubscribe\n *\n * @example\n * ```typescript\n * const subscription = userChoiceBillingListenerAndroid((details) => {\n * console.log('User selected alternative billing');\n * console.log('Token:', details.externalTransactionToken);\n * console.log('Products:', details.products);\n *\n * // Process payment in your system, then report token to Google\n * await processPaymentAndReportToken(details);\n * });\n *\n * // Later, clean up\n * subscription.remove();\n * ```\n *\n * @platform Android\n */\nexport const userChoiceBillingListenerAndroid = (\n listener: (details: UserChoiceBillingDetails) => void,\n) => {\n if (Platform.OS !== 'android') {\n ExpoIapConsole.warn(\n 'userChoiceBillingListenerAndroid: This listener is only available on Android',\n );\n return {remove: () => {}};\n }\n return emitter.addListener(OpenIapEvent.UserChoiceBillingAndroid, listener);\n};\n\nexport const initConnection: MutationField<'initConnection'> = async (config) =>\n ExpoIapModule.initConnection(config ?? null);\n\nexport const endConnection: MutationField<'endConnection'> = async () =>\n ExpoIapModule.endConnection();\n\n/**\n * Fetch products with unified API (v2.7.0+)\n *\n * @param request - Product fetch configuration\n * @param request.skus - Array of product SKUs to fetch\n * @param request.type - Product query type: 'in-app', 'subs', or 'all'\n */\nexport const fetchProducts: QueryField<'fetchProducts'> = async (request) => {\n ExpoIapConsole.debug('fetchProducts called with:', request);\n const {skus, type} = request ?? {};\n\n if (!Array.isArray(skus) || skus.length === 0) {\n throw createPurchaseError({\n message: 'No SKUs provided',\n code: ErrorCode.EmptySkuList,\n });\n }\n\n const {canonical, native} = normalizeProductType(\n type as ProductTypeInput | undefined,\n );\n const skuSet = new Set(skus);\n\n const filterIosItems = (\n items: unknown[],\n ): (Product | ProductSubscription)[] =>\n items.filter((item): item is Product | ProductSubscription => {\n if (!isProductIOS(item)) {\n return false;\n }\n const candidate = item as Product | ProductSubscription;\n return typeof candidate.id === 'string' && skuSet.has(candidate.id);\n });\n\n const filterAndroidItems = (\n items: unknown[],\n ): (Product | ProductSubscription)[] =>\n items.filter((item): item is Product | ProductSubscription => {\n if (!isProductAndroid(item)) {\n return false;\n }\n const candidate = item as Product | ProductSubscription;\n return typeof candidate.id === 'string' && skuSet.has(candidate.id);\n });\n\n const castResult = (\n items: (Product | ProductSubscription)[],\n ):\n | (Product | ProductSubscription)[]\n | Product[]\n | ProductSubscription[]\n | null => {\n if (canonical === 'in-app') {\n return items as Product[];\n }\n if (canonical === 'subs') {\n return items as ProductSubscription[];\n }\n // For 'all' type, items contain both Product and ProductSubscription\n // Return as ProductOrSubscription[] to preserve discriminated union\n return items;\n };\n\n if (Platform.OS === 'ios') {\n const rawItems = await ExpoIapModule.fetchProducts({skus, type: native});\n return castResult(filterIosItems(rawItems));\n }\n\n if (Platform.OS === 'android') {\n const rawItems = await ExpoIapModule.fetchProducts(native, skus);\n return castResult(filterAndroidItems(rawItems));\n }\n\n throw new Error('Unsupported platform');\n};\n\nexport const getAvailablePurchases: QueryField<\n 'getAvailablePurchases'\n> = async (options) => {\n const normalizedOptions: PurchaseOptions = {\n alsoPublishToEventListenerIOS:\n options?.alsoPublishToEventListenerIOS ?? false,\n onlyIncludeActiveItemsIOS: options?.onlyIncludeActiveItemsIOS ?? true,\n };\n\n const resolvePurchases: () => Promise<Purchase[]> =\n Platform.select({\n ios: () =>\n ExpoIapModule.getAvailableItems(\n normalizedOptions.alsoPublishToEventListenerIOS,\n normalizedOptions.onlyIncludeActiveItemsIOS,\n ) as Promise<Purchase[]>,\n android: () => ExpoIapModule.getAvailableItems() as Promise<Purchase[]>,\n }) ?? (() => Promise.resolve([] as Purchase[]));\n\n const purchases = await resolvePurchases();\n return normalizePurchaseArray(purchases as Purchase[]);\n};\n\n/**\n * Get all active subscriptions with detailed information.\n * Uses native OpenIAP module for accurate subscription status and renewal info.\n *\n * On iOS: Returns subscriptions with renewalInfoIOS containing pendingUpgradeProductId,\n * willAutoRenew, autoRenewPreference, and other renewal details.\n *\n * On Android: Filters available purchases to find active subscriptions (fallback implementation).\n *\n * @param subscriptionIds - Optional array of subscription product IDs to filter. If not provided, returns all active subscriptions.\n * @returns Promise resolving to array of active subscriptions with details\n *\n * @example\n * ```typescript\n * // Get all active subscriptions\n * const subs = await getActiveSubscriptions();\n *\n * // Get specific subscriptions\n * const premiumSubs = await getActiveSubscriptions(['premium', 'premium_year']);\n *\n * // Check for pending upgrades (iOS)\n * subs.forEach(sub => {\n * if (sub.renewalInfoIOS?.pendingUpgradeProductId) {\n * console.log(`Upgrade pending to: ${sub.renewalInfoIOS.pendingUpgradeProductId}`);\n * }\n * });\n * ```\n */\nexport const getActiveSubscriptions: QueryField<\n 'getActiveSubscriptions'\n> = async (subscriptionIds) => {\n const result = await ExpoIapModule.getActiveSubscriptions(\n subscriptionIds ?? null,\n );\n return (result ?? []) as ActiveSubscription[];\n};\n\n/**\n * Check if user has any active subscriptions.\n *\n * @param subscriptionIds - Optional array of subscription product IDs to check. If not provided, checks all subscriptions.\n * @returns Promise resolving to true if user has at least one active subscription\n *\n * @example\n * ```typescript\n * // Check any active subscription\n * const hasAny = await hasActiveSubscriptions();\n *\n * // Check specific subscriptions\n * const hasPremium = await hasActiveSubscriptions(['premium', 'premium_year']);\n * ```\n */\nexport const hasActiveSubscriptions: QueryField<\n 'hasActiveSubscriptions'\n> = async (subscriptionIds) => {\n return !!(await ExpoIapModule.hasActiveSubscriptions(\n subscriptionIds ?? null,\n ));\n};\n\nexport const getStorefront: QueryField<'getStorefront'> = async () => {\n if (Platform.OS !== 'ios' && Platform.OS !== 'android') {\n return '';\n }\n return ExpoIapModule.getStorefront();\n};\n\n/**\n * Helper to normalize request props to platform-specific format\n */\nfunction normalizeRequestProps(\n request: RequestPurchasePropsByPlatforms,\n platform: 'ios',\n): RequestPurchaseIosProps | null | undefined;\nfunction normalizeRequestProps(\n request: RequestPurchasePropsByPlatforms,\n platform: 'android',\n): RequestPurchaseAndroidProps | null | undefined;\nfunction normalizeRequestProps(\n request: RequestSubscriptionPropsByPlatforms,\n platform: 'ios',\n): RequestSubscriptionIosProps | null | undefined;\nfunction normalizeRequestProps(\n request: RequestSubscriptionPropsByPlatforms,\n platform: 'android',\n): RequestSubscriptionAndroidProps | null | undefined;\nfunction normalizeRequestProps(\n request:\n | RequestPurchasePropsByPlatforms\n | RequestSubscriptionPropsByPlatforms,\n platform: 'ios' | 'android',\n) {\n // Platform-specific format - directly return the appropriate platform data\n return platform === 'ios' ? request.ios : request.android;\n}\n\n/**\n * Request a purchase for products or subscriptions.\n *\n * @param requestObj - Purchase request configuration\n * @param requestObj.request - Platform-specific purchase parameters\n * @param requestObj.type - Type of purchase: 'in-app' for products (default) or 'subs' for subscriptions\n *\n * @example\n * ```typescript\n * // Product purchase\n * await requestPurchase({\n * request: {\n * ios: { sku: productId },\n * android: { skus: [productId] }\n * },\n * type: 'in-app'\n * });\n *\n * // Subscription purchase\n * await requestPurchase({\n * request: {\n * ios: { sku: subscriptionId },\n * android: {\n * skus: [subscriptionId],\n * subscriptionOffers: [{ sku: subscriptionId, offerToken: 'token' }]\n * }\n * },\n * type: 'subs'\n * });\n * ```\n */\nexport const requestPurchase: MutationField<'requestPurchase'> = async (\n args,\n) => {\n const {request, type} = args;\n const {canonical, native} = normalizeProductType(type as ProductTypeInput);\n const isInAppPurchase = canonical === 'in-app';\n\n if (Platform.OS === 'ios') {\n const normalizedRequest = normalizeRequestProps(request, 'ios');\n\n if (!normalizedRequest?.sku) {\n throw new Error(\n 'Invalid request for iOS. The `sku` property is required and must be a string.\\n\\n' +\n 'Expected format:\\n' +\n ' requestPurchase({\\n' +\n ' request: {\\n' +\n ' android: { skus: [\"product_id\"] },\\n' +\n ' ios: { sku: \"product_id\" }\\n' +\n ' },\\n' +\n ' type: \"in-app\"\\n' +\n ' })\\n\\n' +\n 'See: https://hyochan.github.io/expo-iap/docs/api/methods/core-methods#requestpurchase',\n );\n }\n\n if (canonical !== 'in-app' && canonical !== 'subs') {\n throw new Error(`Unsupported product type: ${canonical}`);\n }\n\n const payload: MutationRequestPurchaseArgs = {\n type: canonical === 'in-app' ? 'in-app' : 'subs',\n request: {ios: normalizedRequest},\n useAlternativeBilling: args.useAlternativeBilling,\n };\n\n const purchase = (await ExpoIapModule.requestPurchase(payload)) as\n | Purchase\n | Purchase[]\n | null;\n\n if (Array.isArray(purchase)) {\n return normalizePurchaseArray(purchase);\n }\n\n if (purchase) {\n return normalizePurchasePlatform(purchase);\n }\n\n return canonical === 'subs' ? [] : null;\n }\n\n if (Platform.OS === 'android') {\n if (isInAppPurchase) {\n const normalizedRequest = normalizeRequestProps(\n request as RequestPurchasePropsByPlatforms,\n 'android',\n ) as RequestPurchaseAndroidProps | null | undefined;\n\n if (!normalizedRequest?.skus?.length) {\n throw new Error(\n 'Invalid request for Android. The `skus` property is required and must be a non-empty array.\\n\\n' +\n 'Expected format:\\n' +\n ' requestPurchase({\\n' +\n ' request: {\\n' +\n ' android: { skus: [\"product_id\"] },\\n' +\n ' ios: { sku: \"product_id\" }\\n' +\n ' },\\n' +\n ' type: \"in-app\"\\n' +\n ' })\\n\\n' +\n 'See: https://hyochan.github.io/expo-iap/docs/api/methods/core-methods#requestpurchase',\n );\n }\n\n const {\n skus,\n obfuscatedAccountIdAndroid,\n obfuscatedProfileIdAndroid,\n isOfferPersonalized,\n } = normalizedRequest;\n\n const result = (await ExpoIapModule.requestPurchase({\n type: native,\n skuArr: skus,\n purchaseToken: undefined,\n replacementMode: -1,\n obfuscatedAccountId: obfuscatedAccountIdAndroid,\n obfuscatedProfileId: obfuscatedProfileIdAndroid,\n offerTokenArr: [],\n isOfferPersonalized: isOfferPersonalized ?? false,\n })) as Purchase[];\n\n return normalizePurchaseArray(result);\n }\n\n if (canonical === 'subs') {\n const normalizedRequest = normalizeRequestProps(\n request as RequestSubscriptionPropsByPlatforms,\n 'android',\n ) as RequestSubscriptionAndroidProps | null | undefined;\n\n if (!normalizedRequest?.skus?.length) {\n throw new Error(\n 'Invalid request for Android. The `skus` property is required and must be a non-empty array.\\n\\n' +\n 'Expected format:\\n' +\n ' requestPurchase({\\n' +\n ' request: {\\n' +\n ' android: { skus: [\"subscription_id\"] },\\n' +\n ' ios: { sku: \"subscription_id\" }\\n' +\n ' },\\n' +\n ' type: \"subs\"\\n' +\n ' })\\n\\n' +\n 'See: https://hyochan.github.io/expo-iap/docs/api/methods/core-methods#requestpurchase',\n );\n }\n\n const {\n skus,\n obfuscatedAccountIdAndroid,\n obfuscatedProfileIdAndroid,\n isOfferPersonalized,\n subscriptionOffers,\n replacementModeAndroid,\n purchaseTokenAndroid,\n } = normalizedRequest;\n\n const normalizedOffers = subscriptionOffers ?? [];\n const replacementMode = replacementModeAndroid ?? -1;\n const purchaseToken = purchaseTokenAndroid ?? undefined;\n\n const result = (await ExpoIapModule.requestPurchase({\n type: native,\n skuArr: skus,\n purchaseToken,\n replacementMode,\n obfuscatedAccountId: obfuscatedAccountIdAndroid,\n obfuscatedProfileId: obfuscatedProfileIdAndroid,\n offerTokenArr: normalizedOffers.map(\n (offer: AndroidSubscriptionOfferInput) => offer.offerToken,\n ),\n subscriptionOffers: normalizedOffers,\n isOfferPersonalized: isOfferPersonalized ?? false,\n })) as Purchase[];\n\n return normalizePurchaseArray(result);\n }\n\n throw new Error(\n \"Invalid request for Android: Expected a valid request object with 'skus' array.\",\n );\n }\n\n throw new Error('Platform not supported');\n};\n\nexport const finishTransaction: MutationField<'finishTransaction'> = async ({\n purchase,\n isConsumable = false,\n}) => {\n if (Platform.OS === 'ios') {\n await ExpoIapModule.finishTransaction(purchase, isConsumable);\n return;\n }\n\n if (Platform.OS === 'android') {\n const token = purchase.purchaseToken ?? undefined;\n\n if (!token) {\n throw createPurchaseError({\n message: 'Purchase token is required to finish transaction',\n code: ErrorCode.DeveloperError,\n productId: purchase.productId,\n platform: 'android',\n });\n }\n\n if (isConsumable) {\n await ExpoIapModule.consumePurchaseAndroid(token);\n return;\n }\n\n await ExpoIapModule.acknowledgePurchaseAndroid(token);\n return;\n }\n\n throw new Error('Unsupported Platform');\n};\n\n/**\n * Restore completed transactions (cross-platform behavior)\n *\n * - iOS: perform a lightweight sync to refresh transactions and ignore sync errors,\n * then fetch available purchases to surface restored items to the app.\n * - Android: simply fetch available purchases (restoration happens via query).\n *\n * This helper triggers the refresh flows but does not return the purchases; consumers should\n * call `getAvailablePurchases` or rely on hook state to inspect the latest items.\n */\nexport const restorePurchases: MutationField<'restorePurchases'> = async () => {\n if (Platform.OS === 'ios') {\n await syncIOS().catch(() => undefined);\n }\n\n await getAvailablePurchases({\n alsoPublishToEventListenerIOS: false,\n onlyIncludeActiveItemsIOS: true,\n });\n};\n\n/**\n * Deeplinks to native interface that allows users to manage their subscriptions\n * @param options.skuAndroid - Required for Android to locate specific subscription (ignored on iOS)\n * @param options.packageNameAndroid - Required for Android to identify your app (ignored on iOS)\n *\n * @returns Promise that resolves when the deep link is successfully opened\n *\n * @throws {Error} When called on unsupported platform or when required Android parameters are missing\n *\n * @example\n * import { deepLinkToSubscriptions } from 'expo-iap';\n *\n * // Works on both iOS and Android\n * await deepLinkToSubscriptions({\n * skuAndroid: 'your_subscription_sku',\n * packageNameAndroid: 'com.example.app'\n * });\n */\nexport const deepLinkToSubscriptions: MutationField<\n 'deepLinkToSubscriptions'\n> = async (options) => {\n if (Platform.OS === 'ios') {\n await deepLinkToSubscriptionsIOS();\n return;\n }\n\n if (Platform.OS === 'android') {\n await deepLinkToSubscriptionsAndroid((options as DeepLinkOptions) ?? null);\n return;\n }\n\n throw new Error(`Unsupported platform: ${Platform.OS}`);\n};\n\n/**\n * Internal receipt validation function (NOT RECOMMENDED for production use)\n *\n * WARNING: This function performs client-side validation which is NOT secure.\n * For production apps, always validate receipts on your secure server:\n * - iOS: Send receipt data to Apple's verification endpoint from your server\n * - Android: Use Google Play Developer API with service account credentials\n *\n * @deprecated Use verifyPurchase instead\n */\nexport const validateReceipt: MutationField<'validateReceipt'> = async (\n options,\n) => {\n const {sku, androidOptions} = options as MutationValidateReceiptArgs;\n\n if (Platform.OS === 'ios') {\n return validateReceiptIOS({sku});\n }\n\n if (Platform.OS === 'android') {\n if (\n !androidOptions ||\n !androidOptions.packageName ||\n !androidOptions.productToken ||\n !androidOptions.accessToken\n ) {\n throw new Error(\n 'Android validation requires packageName, productToken, and accessToken',\n );\n }\n return validateReceiptAndroid({\n packageName: androidOptions.packageName,\n productId: sku,\n productToken: androidOptions.productToken,\n accessToken: androidOptions.accessToken,\n isSub: androidOptions.isSub ?? undefined,\n });\n }\n\n throw new Error('Platform not supported');\n};\n\n/**\n * Verify purchase with the configured providers\n *\n * This function uses the native OpenIAP verifyPurchase implementation\n * which validates purchases using platform-specific methods.\n *\n * @param options - Receipt validation options containing the SKU\n * @returns Promise resolving to receipt validation result\n */\nexport const verifyPurchase: MutationField<'verifyPurchase'> = async (\n options,\n) => {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n return ExpoIapModule.verifyPurchase(options);\n }\n\n throw new Error(`Unsupported platform: ${Platform.OS}`);\n};\n\n/**\n * Verify purchase with a specific provider (e.g., IAPKit)\n *\n * This function allows you to verify purchases using external verification\n * services like IAPKit, which provide additional validation and security.\n *\n * @param options - Verification options including provider and credentials\n * @returns Promise resolving to provider-specific verification result\n *\n * @example\n * ```typescript\n * const result = await verifyPurchaseWithProvider({\n * provider: 'iapkit',\n * iapkit: {\n * apiKey: 'your-api-key',\n * apple: {\n * jws: purchase.purchaseToken // JWS from purchase\n * },\n * google: {\n * purchaseToken: purchase.purchaseToken\n * }\n * }\n * });\n * ```\n */\nexport const verifyPurchaseWithProvider: MutationField<\n 'verifyPurchaseWithProvider'\n> = async (options) => {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n return ExpoIapModule.verifyPurchaseWithProvider(options);\n }\n\n throw new Error(`Unsupported platform: ${Platform.OS}`);\n};\n\nexport * from './useIAP';\nexport {\n ErrorCodeUtils,\n ErrorCodeMapping,\n createPurchaseError,\n createPurchaseErrorFromPlatform,\n} from './utils/errorMapping';\nexport type {\n PurchaseError as ExpoPurchaseError,\n PurchaseErrorProps,\n} from './utils/errorMapping';\nexport {ExpoIapConsole} from './utils/debug';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// External dependencies\nimport {requireNativeModule} from 'expo-modules-core';\nimport {Platform} from 'react-native';\n\n// Internal modules\nimport ExpoIapModule from './ExpoIapModule';\nimport {\n isProductIOS,\n validateReceiptIOS,\n deepLinkToSubscriptionsIOS,\n syncIOS,\n} from './modules/ios';\nimport {\n isProductAndroid,\n validateReceiptAndroid,\n deepLinkToSubscriptionsAndroid,\n} from './modules/android';\nimport {ExpoIapConsole} from './utils/debug';\n\n// Types\nimport type {\n ActiveSubscription,\n AndroidSubscriptionOfferInput,\n DeepLinkOptions,\n MutationField,\n MutationRequestPurchaseArgs,\n MutationValidateReceiptArgs,\n Product,\n ProductQueryType,\n ProductSubscription,\n Purchase,\n PurchaseOptions,\n QueryField,\n RequestPurchasePropsByPlatforms,\n RequestPurchaseAndroidProps,\n RequestPurchaseIosProps,\n RequestSubscriptionPropsByPlatforms,\n RequestSubscriptionAndroidProps,\n RequestSubscriptionIosProps,\n UserChoiceBillingDetails,\n} from './types';\nimport {ErrorCode} from './types';\nimport {createPurchaseError, type PurchaseError} from './utils/errorMapping';\n\n// Export all types\nexport * from './types';\nexport * from './modules/android';\nexport * from './modules/ios';\n\n// Get the native constant value\nexport enum OpenIapEvent {\n PurchaseUpdated = 'purchase-updated',\n PurchaseError = 'purchase-error',\n PromotedProductIOS = 'promoted-product-ios',\n UserChoiceBillingAndroid = 'user-choice-billing-android',\n}\n\ntype ExpoIapEventPayloads = {\n [OpenIapEvent.PurchaseUpdated]: Purchase;\n [OpenIapEvent.PurchaseError]: PurchaseError;\n [OpenIapEvent.PromotedProductIOS]: Product;\n [OpenIapEvent.UserChoiceBillingAndroid]: UserChoiceBillingDetails;\n};\n\ntype ExpoIapEventListener<E extends OpenIapEvent> = (\n payload: ExpoIapEventPayloads[E],\n) => void;\n\ntype ExpoIapEmitter = {\n addListener<E extends OpenIapEvent>(\n eventName: E,\n listener: ExpoIapEventListener<E>,\n ): {remove: () => void};\n removeListener<E extends OpenIapEvent>(\n eventName: E,\n listener: ExpoIapEventListener<E>,\n ): void;\n};\n\n// Ensure the emitter has proper EventEmitter interface\nexport const emitter = (ExpoIapModule ||\n requireNativeModule('ExpoIap')) as ExpoIapEmitter;\n\n/**\n * TODO(v3.1.0): Remove legacy 'inapp' alias once downstream apps migrate to 'in-app'.\n */\nexport type ProductTypeInput = ProductQueryType | 'inapp';\n\nconst normalizeProductType = (type?: ProductTypeInput) => {\n if (type === 'inapp') {\n ExpoIapConsole.warn(\n \"'inapp' product type is deprecated and will be removed in v3.1.0. Use 'in-app' instead.\",\n );\n }\n\n if (!type || type === 'inapp' || type === 'in-app') {\n return {\n canonical: 'in-app' as ProductQueryType,\n native: 'in-app' as const,\n };\n }\n if (type === 'subs') {\n return {\n canonical: 'subs' as ProductQueryType,\n native: 'subs' as const,\n };\n }\n if (type === 'all') {\n return {\n canonical: 'all' as ProductQueryType,\n native: 'all' as const,\n };\n }\n throw new Error(`Unsupported product type: ${type}`);\n};\n\nconst normalizePurchasePlatform = (purchase: Purchase): Purchase => {\n const platform = purchase.platform;\n if (typeof platform !== 'string') {\n return purchase;\n }\n\n const lowered = platform.toLowerCase();\n if (lowered === platform || (lowered !== 'ios' && lowered !== 'android')) {\n return purchase;\n }\n\n return {...purchase, platform: lowered};\n};\n\nconst normalizePurchaseArray = (purchases: Purchase[]): Purchase[] =>\n purchases.map((purchase) => normalizePurchasePlatform(purchase));\n\nexport const purchaseUpdatedListener = (\n listener: (event: Purchase) => void,\n) => {\n const wrappedListener = (event: Purchase) => {\n const normalized = normalizePurchasePlatform(event);\n listener(normalized);\n };\n const emitterSubscription = emitter.addListener(\n OpenIapEvent.PurchaseUpdated,\n wrappedListener,\n );\n return emitterSubscription;\n};\n\nexport const purchaseErrorListener = (\n listener: (error: PurchaseError) => void,\n) => {\n const wrappedListener = (error: PurchaseError) => {\n listener(error);\n };\n const emitterSubscription = emitter.addListener(\n OpenIapEvent.PurchaseError,\n wrappedListener,\n );\n return emitterSubscription;\n};\n\n/**\n * iOS-only listener for App Store promoted product events.\n * This fires when a user taps on a promoted product in the App Store.\n *\n * @param listener - Callback function that receives the promoted product details\n * @returns EventSubscription that can be used to unsubscribe\n *\n * @example\n * ```typescript\n * const subscription = promotedProductListenerIOS((product) => {\n * console.log('Promoted product:', product);\n * // Handle the promoted product\n * });\n *\n * // Later, clean up\n * subscription.remove();\n * ```\n *\n * @platform iOS\n */\nexport const promotedProductListenerIOS = (\n listener: (product: Product) => void,\n) => {\n if (Platform.OS !== 'ios') {\n ExpoIapConsole.warn(\n 'promotedProductListenerIOS: This listener is only available on iOS',\n );\n return {remove: () => {}};\n }\n return emitter.addListener(OpenIapEvent.PromotedProductIOS, listener);\n};\n\n/**\n * Android-only listener for User Choice Billing events.\n * This fires when a user selects alternative billing instead of Google Play billing\n * in the User Choice Billing dialog (only in 'user-choice' mode).\n *\n * @param listener - Callback function that receives the external transaction token and product IDs\n * @returns EventSubscription that can be used to unsubscribe\n *\n * @example\n * ```typescript\n * const subscription = userChoiceBillingListenerAndroid((details) => {\n * console.log('User selected alternative billing');\n * console.log('Token:', details.externalTransactionToken);\n * console.log('Products:', details.products);\n *\n * // Process payment in your system, then report token to Google\n * await processPaymentAndReportToken(details);\n * });\n *\n * // Later, clean up\n * subscription.remove();\n * ```\n *\n * @platform Android\n */\nexport const userChoiceBillingListenerAndroid = (\n listener: (details: UserChoiceBillingDetails) => void,\n) => {\n if (Platform.OS !== 'android') {\n ExpoIapConsole.warn(\n 'userChoiceBillingListenerAndroid: This listener is only available on Android',\n );\n return {remove: () => {}};\n }\n return emitter.addListener(OpenIapEvent.UserChoiceBillingAndroid, listener);\n};\n\nexport const initConnection: MutationField<'initConnection'> = async (config) =>\n ExpoIapModule.initConnection(config ?? null);\n\nexport const endConnection: MutationField<'endConnection'> = async () =>\n ExpoIapModule.endConnection();\n\n/**\n * Fetch products with unified API (v2.7.0+)\n *\n * @param request - Product fetch configuration\n * @param request.skus - Array of product SKUs to fetch\n * @param request.type - Product query type: 'in-app', 'subs', or 'all'\n */\nexport const fetchProducts: QueryField<'fetchProducts'> = async (request) => {\n ExpoIapConsole.debug('fetchProducts called with:', request);\n const {skus, type} = request ?? {};\n\n if (!Array.isArray(skus) || skus.length === 0) {\n throw createPurchaseError({\n message: 'No SKUs provided',\n code: ErrorCode.EmptySkuList,\n });\n }\n\n const {canonical, native} = normalizeProductType(\n type as ProductTypeInput | undefined,\n );\n const skuSet = new Set(skus);\n\n const filterIosItems = (\n items: unknown[],\n ): (Product | ProductSubscription)[] =>\n items.filter((item): item is Product | ProductSubscription => {\n if (!isProductIOS(item)) {\n return false;\n }\n const candidate = item as Product | ProductSubscription;\n return typeof candidate.id === 'string' && skuSet.has(candidate.id);\n });\n\n const filterAndroidItems = (\n items: unknown[],\n ): (Product | ProductSubscription)[] =>\n items.filter((item): item is Product | ProductSubscription => {\n if (!isProductAndroid(item)) {\n return false;\n }\n const candidate = item as Product | ProductSubscription;\n return typeof candidate.id === 'string' && skuSet.has(candidate.id);\n });\n\n const castResult = (\n items: (Product | ProductSubscription)[],\n ):\n | (Product | ProductSubscription)[]\n | Product[]\n | ProductSubscription[]\n | null => {\n if (canonical === 'in-app') {\n return items as Product[];\n }\n if (canonical === 'subs') {\n return items as ProductSubscription[];\n }\n // For 'all' type, items contain both Product and ProductSubscription\n // Return as ProductOrSubscription[] to preserve discriminated union\n return items;\n };\n\n if (Platform.OS === 'ios') {\n const rawItems = await ExpoIapModule.fetchProducts({skus, type: native});\n return castResult(filterIosItems(rawItems));\n }\n\n if (Platform.OS === 'android') {\n const rawItems = await ExpoIapModule.fetchProducts(native, skus);\n return castResult(filterAndroidItems(rawItems));\n }\n\n throw new Error('Unsupported platform');\n};\n\nexport const getAvailablePurchases: QueryField<\n 'getAvailablePurchases'\n> = async (options) => {\n const normalizedOptions: PurchaseOptions = {\n alsoPublishToEventListenerIOS:\n options?.alsoPublishToEventListenerIOS ?? false,\n onlyIncludeActiveItemsIOS: options?.onlyIncludeActiveItemsIOS ?? true,\n };\n\n const resolvePurchases: () => Promise<Purchase[]> =\n Platform.select({\n ios: () =>\n ExpoIapModule.getAvailableItems(\n normalizedOptions.alsoPublishToEventListenerIOS,\n normalizedOptions.onlyIncludeActiveItemsIOS,\n ) as Promise<Purchase[]>,\n android: () => ExpoIapModule.getAvailableItems() as Promise<Purchase[]>,\n }) ?? (() => Promise.resolve([] as Purchase[]));\n\n const purchases = await resolvePurchases();\n return normalizePurchaseArray(purchases as Purchase[]);\n};\n\n/**\n * Get all active subscriptions with detailed information.\n * Uses native OpenIAP module for accurate subscription status and renewal info.\n *\n * On iOS: Returns subscriptions with renewalInfoIOS containing pendingUpgradeProductId,\n * willAutoRenew, autoRenewPreference, and other renewal details.\n *\n * On Android: Filters available purchases to find active subscriptions (fallback implementation).\n *\n * @param subscriptionIds - Optional array of subscription product IDs to filter. If not provided, returns all active subscriptions.\n * @returns Promise resolving to array of active subscriptions with details\n *\n * @example\n * ```typescript\n * // Get all active subscriptions\n * const subs = await getActiveSubscriptions();\n *\n * // Get specific subscriptions\n * const premiumSubs = await getActiveSubscriptions(['premium', 'premium_year']);\n *\n * // Check for pending upgrades (iOS)\n * subs.forEach(sub => {\n * if (sub.renewalInfoIOS?.pendingUpgradeProductId) {\n * console.log(`Upgrade pending to: ${sub.renewalInfoIOS.pendingUpgradeProductId}`);\n * }\n * });\n * ```\n */\nexport const getActiveSubscriptions: QueryField<\n 'getActiveSubscriptions'\n> = async (subscriptionIds) => {\n const result = await ExpoIapModule.getActiveSubscriptions(\n subscriptionIds ?? null,\n );\n return (result ?? []) as ActiveSubscription[];\n};\n\n/**\n * Check if user has any active subscriptions.\n *\n * @param subscriptionIds - Optional array of subscription product IDs to check. If not provided, checks all subscriptions.\n * @returns Promise resolving to true if user has at least one active subscription\n *\n * @example\n * ```typescript\n * // Check any active subscription\n * const hasAny = await hasActiveSubscriptions();\n *\n * // Check specific subscriptions\n * const hasPremium = await hasActiveSubscriptions(['premium', 'premium_year']);\n * ```\n */\nexport const hasActiveSubscriptions: QueryField<\n 'hasActiveSubscriptions'\n> = async (subscriptionIds) => {\n return !!(await ExpoIapModule.hasActiveSubscriptions(\n subscriptionIds ?? null,\n ));\n};\n\nexport const getStorefront: QueryField<'getStorefront'> = async () => {\n if (Platform.OS !== 'ios' && Platform.OS !== 'android') {\n return '';\n }\n return ExpoIapModule.getStorefront();\n};\n\n/**\n * Helper to normalize request props to platform-specific format\n */\nfunction normalizeRequestProps(\n request: RequestPurchasePropsByPlatforms,\n platform: 'ios',\n): RequestPurchaseIosProps | null | undefined;\nfunction normalizeRequestProps(\n request: RequestPurchasePropsByPlatforms,\n platform: 'android',\n): RequestPurchaseAndroidProps | null | undefined;\nfunction normalizeRequestProps(\n request: RequestSubscriptionPropsByPlatforms,\n platform: 'ios',\n): RequestSubscriptionIosProps | null | undefined;\nfunction normalizeRequestProps(\n request: RequestSubscriptionPropsByPlatforms,\n platform: 'android',\n): RequestSubscriptionAndroidProps | null | undefined;\nfunction normalizeRequestProps(\n request:\n | RequestPurchasePropsByPlatforms\n | RequestSubscriptionPropsByPlatforms,\n platform: 'ios' | 'android',\n) {\n // Support both new (apple/google) and legacy (ios/android) field names\n // New fields take precedence over deprecated ones\n if (platform === 'ios') {\n return request.apple ?? request.ios;\n }\n return request.google ?? request.android;\n}\n\n/**\n * Request a purchase for products or subscriptions.\n *\n * @param requestObj - Purchase request configuration\n * @param requestObj.request - Store-specific purchase parameters\n * @param requestObj.type - Type of purchase: 'in-app' for products (default) or 'subs' for subscriptions\n *\n * @example\n * ```typescript\n * // Product purchase (recommended: use apple/google)\n * await requestPurchase({\n * request: {\n * apple: { sku: productId },\n * google: { skus: [productId] }\n * },\n * type: 'in-app'\n * });\n *\n * // Subscription purchase\n * await requestPurchase({\n * request: {\n * apple: { sku: subscriptionId },\n * google: {\n * skus: [subscriptionId],\n * subscriptionOffers: [{ sku: subscriptionId, offerToken: 'token' }]\n * }\n * },\n * type: 'subs'\n * });\n *\n * // Legacy format (deprecated, but still supported)\n * await requestPurchase({\n * request: {\n * ios: { sku: productId },\n * android: { skus: [productId] }\n * },\n * type: 'in-app'\n * });\n * ```\n */\nexport const requestPurchase: MutationField<'requestPurchase'> = async (\n args,\n) => {\n const {request, type} = args;\n const {canonical, native} = normalizeProductType(type as ProductTypeInput);\n const isInAppPurchase = canonical === 'in-app';\n\n if (Platform.OS === 'ios') {\n const normalizedRequest = normalizeRequestProps(request, 'ios');\n\n if (!normalizedRequest?.sku) {\n throw new Error(\n 'Invalid request for Apple. The `sku` property is required and must be a string.\\n\\n' +\n 'Expected format:\\n' +\n ' requestPurchase({\\n' +\n ' request: {\\n' +\n ' apple: { sku: \"product_id\" },\\n' +\n ' google: { skus: [\"product_id\"] }\\n' +\n ' },\\n' +\n ' type: \"in-app\"\\n' +\n ' })\\n\\n' +\n 'See: https://hyochan.github.io/expo-iap/docs/api/methods/core-methods#requestpurchase',\n );\n }\n\n if (canonical !== 'in-app' && canonical !== 'subs') {\n throw new Error(`Unsupported product type: ${canonical}`);\n }\n\n const payload: MutationRequestPurchaseArgs = {\n type: canonical === 'in-app' ? 'in-app' : 'subs',\n request: {ios: normalizedRequest},\n useAlternativeBilling: args.useAlternativeBilling,\n };\n\n const purchase = (await ExpoIapModule.requestPurchase(payload)) as\n | Purchase\n | Purchase[]\n | null;\n\n if (Array.isArray(purchase)) {\n return normalizePurchaseArray(purchase);\n }\n\n if (purchase) {\n return normalizePurchasePlatform(purchase);\n }\n\n return canonical === 'subs' ? [] : null;\n }\n\n if (Platform.OS === 'android') {\n if (isInAppPurchase) {\n const normalizedRequest = normalizeRequestProps(\n request as RequestPurchasePropsByPlatforms,\n 'android',\n ) as RequestPurchaseAndroidProps | null | undefined;\n\n if (!normalizedRequest?.skus?.length) {\n throw new Error(\n 'Invalid request for Google. The `skus` property is required and must be a non-empty array.\\n\\n' +\n 'Expected format:\\n' +\n ' requestPurchase({\\n' +\n ' request: {\\n' +\n ' apple: { sku: \"product_id\" },\\n' +\n ' google: { skus: [\"product_id\"] }\\n' +\n ' },\\n' +\n ' type: \"in-app\"\\n' +\n ' })\\n\\n' +\n 'See: https://hyochan.github.io/expo-iap/docs/api/methods/core-methods#requestpurchase',\n );\n }\n\n const {\n skus,\n obfuscatedAccountIdAndroid,\n obfuscatedProfileIdAndroid,\n isOfferPersonalized,\n } = normalizedRequest;\n\n const result = (await ExpoIapModule.requestPurchase({\n type: native,\n skuArr: skus,\n purchaseToken: undefined,\n replacementMode: -1,\n obfuscatedAccountId: obfuscatedAccountIdAndroid,\n obfuscatedProfileId: obfuscatedProfileIdAndroid,\n offerTokenArr: [],\n isOfferPersonalized: isOfferPersonalized ?? false,\n })) as Purchase[];\n\n return normalizePurchaseArray(result);\n }\n\n if (canonical === 'subs') {\n const normalizedRequest = normalizeRequestProps(\n request as RequestSubscriptionPropsByPlatforms,\n 'android',\n ) as RequestSubscriptionAndroidProps | null | undefined;\n\n if (!normalizedRequest?.skus?.length) {\n throw new Error(\n 'Invalid request for Google. The `skus` property is required and must be a non-empty array.\\n\\n' +\n 'Expected format:\\n' +\n ' requestPurchase({\\n' +\n ' request: {\\n' +\n ' apple: { sku: \"subscription_id\" },\\n' +\n ' google: { skus: [\"subscription_id\"] }\\n' +\n ' },\\n' +\n ' type: \"subs\"\\n' +\n ' })\\n\\n' +\n 'See: https://hyochan.github.io/expo-iap/docs/api/methods/core-methods#requestpurchase',\n );\n }\n\n const {\n skus,\n obfuscatedAccountIdAndroid,\n obfuscatedProfileIdAndroid,\n isOfferPersonalized,\n subscriptionOffers,\n replacementModeAndroid,\n purchaseTokenAndroid,\n } = normalizedRequest;\n\n const normalizedOffers = subscriptionOffers ?? [];\n const replacementMode = replacementModeAndroid ?? -1;\n const purchaseToken = purchaseTokenAndroid ?? undefined;\n\n const result = (await ExpoIapModule.requestPurchase({\n type: native,\n skuArr: skus,\n purchaseToken,\n replacementMode,\n obfuscatedAccountId: obfuscatedAccountIdAndroid,\n obfuscatedProfileId: obfuscatedProfileIdAndroid,\n offerTokenArr: normalizedOffers.map(\n (offer: AndroidSubscriptionOfferInput) => offer.offerToken,\n ),\n subscriptionOffers: normalizedOffers,\n isOfferPersonalized: isOfferPersonalized ?? false,\n })) as Purchase[];\n\n return normalizePurchaseArray(result);\n }\n\n throw new Error(\n \"Invalid request for Android: Expected a valid request object with 'skus' array.\",\n );\n }\n\n throw new Error('Platform not supported');\n};\n\nexport const finishTransaction: MutationField<'finishTransaction'> = async ({\n purchase,\n isConsumable = false,\n}) => {\n if (Platform.OS === 'ios') {\n await ExpoIapModule.finishTransaction(purchase, isConsumable);\n return;\n }\n\n if (Platform.OS === 'android') {\n const token = purchase.purchaseToken ?? undefined;\n\n if (!token) {\n throw createPurchaseError({\n message: 'Purchase token is required to finish transaction',\n code: ErrorCode.DeveloperError,\n productId: purchase.productId,\n platform: 'android',\n });\n }\n\n if (isConsumable) {\n await ExpoIapModule.consumePurchaseAndroid(token);\n return;\n }\n\n await ExpoIapModule.acknowledgePurchaseAndroid(token);\n return;\n }\n\n throw new Error('Unsupported Platform');\n};\n\n/**\n * Restore completed transactions (cross-platform behavior)\n *\n * - iOS: perform a lightweight sync to refresh transactions and ignore sync errors,\n * then fetch available purchases to surface restored items to the app.\n * - Android: simply fetch available purchases (restoration happens via query).\n *\n * This helper triggers the refresh flows but does not return the purchases; consumers should\n * call `getAvailablePurchases` or rely on hook state to inspect the latest items.\n */\nexport const restorePurchases: MutationField<'restorePurchases'> = async () => {\n if (Platform.OS === 'ios') {\n await syncIOS().catch(() => undefined);\n }\n\n await getAvailablePurchases({\n alsoPublishToEventListenerIOS: false,\n onlyIncludeActiveItemsIOS: true,\n });\n};\n\n/**\n * Deeplinks to native interface that allows users to manage their subscriptions\n * @param options.skuAndroid - Required for Android to locate specific subscription (ignored on iOS)\n * @param options.packageNameAndroid - Required for Android to identify your app (ignored on iOS)\n *\n * @returns Promise that resolves when the deep link is successfully opened\n *\n * @throws {Error} When called on unsupported platform or when required Android parameters are missing\n *\n * @example\n * import { deepLinkToSubscriptions } from 'expo-iap';\n *\n * // Works on both iOS and Android\n * await deepLinkToSubscriptions({\n * skuAndroid: 'your_subscription_sku',\n * packageNameAndroid: 'com.example.app'\n * });\n */\nexport const deepLinkToSubscriptions: MutationField<\n 'deepLinkToSubscriptions'\n> = async (options) => {\n if (Platform.OS === 'ios') {\n await deepLinkToSubscriptionsIOS();\n return;\n }\n\n if (Platform.OS === 'android') {\n await deepLinkToSubscriptionsAndroid((options as DeepLinkOptions) ?? null);\n return;\n }\n\n throw new Error(`Unsupported platform: ${Platform.OS}`);\n};\n\n/**\n * Internal receipt validation function (NOT RECOMMENDED for production use)\n *\n * WARNING: This function performs client-side validation which is NOT secure.\n * For production apps, always validate receipts on your secure server:\n * - iOS: Send receipt data to Apple's verification endpoint from your server\n * - Android: Use Google Play Developer API with service account credentials\n *\n * @deprecated Use verifyPurchase instead\n */\nexport const validateReceipt: MutationField<'validateReceipt'> = async (\n options,\n) => {\n const {sku, androidOptions} = options as MutationValidateReceiptArgs;\n\n if (Platform.OS === 'ios') {\n return validateReceiptIOS({sku});\n }\n\n if (Platform.OS === 'android') {\n if (\n !androidOptions ||\n !androidOptions.packageName ||\n !androidOptions.productToken ||\n !androidOptions.accessToken\n ) {\n throw new Error(\n 'Android validation requires packageName, productToken, and accessToken',\n );\n }\n return validateReceiptAndroid({\n packageName: androidOptions.packageName,\n productId: sku,\n productToken: androidOptions.productToken,\n accessToken: androidOptions.accessToken,\n isSub: androidOptions.isSub ?? undefined,\n });\n }\n\n throw new Error('Platform not supported');\n};\n\n/**\n * Verify purchase with the configured providers\n *\n * This function uses the native OpenIAP verifyPurchase implementation\n * which validates purchases using platform-specific methods.\n *\n * @param options - Receipt validation options containing the SKU\n * @returns Promise resolving to receipt validation result\n */\nexport const verifyPurchase: MutationField<'verifyPurchase'> = async (\n options,\n) => {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n return ExpoIapModule.verifyPurchase(options);\n }\n\n throw new Error(`Unsupported platform: ${Platform.OS}`);\n};\n\n/**\n * Verify purchase with a specific provider (e.g., IAPKit)\n *\n * This function allows you to verify purchases using external verification\n * services like IAPKit, which provide additional validation and security.\n *\n * @param options - Verification options including provider and credentials\n * @returns Promise resolving to provider-specific verification result\n *\n * @example\n * ```typescript\n * const result = await verifyPurchaseWithProvider({\n * provider: 'iapkit',\n * iapkit: {\n * apiKey: 'your-api-key',\n * apple: {\n * jws: purchase.purchaseToken // JWS from purchase\n * },\n * google: {\n * purchaseToken: purchase.purchaseToken\n * }\n * }\n * });\n * ```\n */\nexport const verifyPurchaseWithProvider: MutationField<\n 'verifyPurchaseWithProvider'\n> = async (options) => {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n return ExpoIapModule.verifyPurchaseWithProvider(options);\n }\n\n throw new Error(`Unsupported platform: ${Platform.OS}`);\n};\n\nexport * from './useIAP';\nexport {\n ErrorCodeUtils,\n ErrorCodeMapping,\n createPurchaseError,\n createPurchaseErrorFromPlatform,\n} from './utils/errorMapping';\nexport type {\n PurchaseError as ExpoPurchaseError,\n PurchaseErrorProps,\n} from './utils/errorMapping';\nexport {ExpoIapConsole} from './utils/debug';\n"]}
|
package/build/types.d.ts
CHANGED
|
@@ -159,9 +159,9 @@ export interface ExternalPurchaseNoticeResultIOS {
|
|
|
159
159
|
export type FetchProductsResult = ProductOrSubscription[] | Product[] | ProductSubscription[] | null;
|
|
160
160
|
export type IapEvent = 'purchase-updated' | 'purchase-error' | 'promoted-product-ios' | 'user-choice-billing-android';
|
|
161
161
|
export type IapPlatform = 'ios' | 'android';
|
|
162
|
+
export type IapStore = 'unknown' | 'apple' | 'google' | 'horizon';
|
|
162
163
|
/** Unified purchase states from IAPKit verification response. */
|
|
163
164
|
export type IapkitPurchaseState = 'entitled' | 'pending-acknowledgment' | 'pending' | 'canceled' | 'expired' | 'ready-to-consume' | 'consumed' | 'unknown' | 'inauthentic';
|
|
164
|
-
export type IapkitStore = 'apple' | 'google';
|
|
165
165
|
/** Connection initialization configuration */
|
|
166
166
|
export interface InitConnectionConfig {
|
|
167
167
|
/**
|
|
@@ -397,12 +397,18 @@ export interface PurchaseAndroid extends PurchaseCommon {
|
|
|
397
397
|
obfuscatedAccountIdAndroid?: (string | null);
|
|
398
398
|
obfuscatedProfileIdAndroid?: (string | null);
|
|
399
399
|
packageNameAndroid?: (string | null);
|
|
400
|
+
/**
|
|
401
|
+
* @deprecated Use store instead
|
|
402
|
+
* @deprecated Use store instead
|
|
403
|
+
*/
|
|
400
404
|
platform: IapPlatform;
|
|
401
405
|
productId: string;
|
|
402
406
|
purchaseState: PurchaseState;
|
|
403
407
|
purchaseToken?: (string | null);
|
|
404
408
|
quantity: number;
|
|
405
409
|
signatureAndroid?: (string | null);
|
|
410
|
+
/** Store where purchase was made */
|
|
411
|
+
store: IapStore;
|
|
406
412
|
transactionDate: number;
|
|
407
413
|
transactionId?: (string | null);
|
|
408
414
|
}
|
|
@@ -417,12 +423,18 @@ export interface PurchaseCommon {
|
|
|
417
423
|
id: string;
|
|
418
424
|
ids?: (string[] | null);
|
|
419
425
|
isAutoRenewing: boolean;
|
|
426
|
+
/**
|
|
427
|
+
* @deprecated Use store instead
|
|
428
|
+
* @deprecated Use store instead
|
|
429
|
+
*/
|
|
420
430
|
platform: IapPlatform;
|
|
421
431
|
productId: string;
|
|
422
432
|
purchaseState: PurchaseState;
|
|
423
433
|
/** Unified purchase token (iOS JWS, Android purchaseToken) */
|
|
424
434
|
purchaseToken?: (string | null);
|
|
425
435
|
quantity: number;
|
|
436
|
+
/** Store where purchase was made */
|
|
437
|
+
store: IapStore;
|
|
426
438
|
transactionDate: number;
|
|
427
439
|
}
|
|
428
440
|
export interface PurchaseError {
|
|
@@ -447,6 +459,10 @@ export interface PurchaseIOS extends PurchaseCommon {
|
|
|
447
459
|
originalTransactionDateIOS?: (number | null);
|
|
448
460
|
originalTransactionIdentifierIOS?: (string | null);
|
|
449
461
|
ownershipTypeIOS?: (string | null);
|
|
462
|
+
/**
|
|
463
|
+
* @deprecated Use store instead
|
|
464
|
+
* @deprecated Use store instead
|
|
465
|
+
*/
|
|
450
466
|
platform: IapPlatform;
|
|
451
467
|
productId: string;
|
|
452
468
|
purchaseState: PurchaseState;
|
|
@@ -458,6 +474,8 @@ export interface PurchaseIOS extends PurchaseCommon {
|
|
|
458
474
|
renewalInfoIOS?: (RenewalInfoIOS | null);
|
|
459
475
|
revocationDateIOS?: (number | null);
|
|
460
476
|
revocationReasonIOS?: (string | null);
|
|
477
|
+
/** Store where purchase was made */
|
|
478
|
+
store: IapStore;
|
|
461
479
|
storefrontCountryCodeIOS?: (string | null);
|
|
462
480
|
subscriptionGroupIdIOS?: (string | null);
|
|
463
481
|
transactionDate: number;
|
|
@@ -620,9 +638,13 @@ export type RequestPurchaseProps = {
|
|
|
620
638
|
useAlternativeBilling?: boolean | null;
|
|
621
639
|
};
|
|
622
640
|
export interface RequestPurchasePropsByPlatforms {
|
|
623
|
-
/**
|
|
641
|
+
/** @deprecated Use google instead */
|
|
624
642
|
android?: (RequestPurchaseAndroidProps | null);
|
|
625
|
-
/**
|
|
643
|
+
/** Apple-specific purchase parameters */
|
|
644
|
+
apple?: (RequestPurchaseIosProps | null);
|
|
645
|
+
/** Google-specific purchase parameters */
|
|
646
|
+
google?: (RequestPurchaseAndroidProps | null);
|
|
647
|
+
/** @deprecated Use apple instead */
|
|
626
648
|
ios?: (RequestPurchaseIosProps | null);
|
|
627
649
|
}
|
|
628
650
|
export type RequestPurchaseResult = Purchase | Purchase[] | null;
|
|
@@ -650,9 +672,13 @@ export interface RequestSubscriptionIosProps {
|
|
|
650
672
|
withOffer?: (DiscountOfferInputIOS | null);
|
|
651
673
|
}
|
|
652
674
|
export interface RequestSubscriptionPropsByPlatforms {
|
|
653
|
-
/**
|
|
675
|
+
/** @deprecated Use google instead */
|
|
654
676
|
android?: (RequestSubscriptionAndroidProps | null);
|
|
655
|
-
/**
|
|
677
|
+
/** Apple-specific subscription parameters */
|
|
678
|
+
apple?: (RequestSubscriptionIosProps | null);
|
|
679
|
+
/** Google-specific subscription parameters */
|
|
680
|
+
google?: (RequestSubscriptionAndroidProps | null);
|
|
681
|
+
/** @deprecated Use apple instead */
|
|
656
682
|
ios?: (RequestSubscriptionIosProps | null);
|
|
657
683
|
}
|
|
658
684
|
export interface RequestVerifyPurchaseWithIapkitAppleProps {
|
|
@@ -676,7 +702,7 @@ export interface RequestVerifyPurchaseWithIapkitResult {
|
|
|
676
702
|
isValid: boolean;
|
|
677
703
|
/** The current state of the purchase. */
|
|
678
704
|
state: IapkitPurchaseState;
|
|
679
|
-
store:
|
|
705
|
+
store: IapStore;
|
|
680
706
|
}
|
|
681
707
|
export interface Subscription {
|
|
682
708
|
/** Fires when the App Store surfaces a promoted product (iOS only) */
|
|
@@ -769,13 +795,19 @@ export interface VerifyPurchaseResultIOS {
|
|
|
769
795
|
/** Receipt data string */
|
|
770
796
|
receiptData: string;
|
|
771
797
|
}
|
|
798
|
+
export interface VerifyPurchaseWithProviderError {
|
|
799
|
+
code?: (string | null);
|
|
800
|
+
message: string;
|
|
801
|
+
}
|
|
772
802
|
export interface VerifyPurchaseWithProviderProps {
|
|
773
803
|
iapkit?: (RequestVerifyPurchaseWithIapkitProps | null);
|
|
774
804
|
provider: PurchaseVerificationProvider;
|
|
775
805
|
}
|
|
776
806
|
export interface VerifyPurchaseWithProviderResult {
|
|
777
|
-
/**
|
|
778
|
-
|
|
807
|
+
/** Error details if verification failed */
|
|
808
|
+
errors?: (VerifyPurchaseWithProviderError[] | null);
|
|
809
|
+
/** IAPKit verification result */
|
|
810
|
+
iapkit?: (RequestVerifyPurchaseWithIapkitResult | null);
|
|
779
811
|
provider: PurchaseVerificationProvider;
|
|
780
812
|
}
|
|
781
813
|
export type VoidResult = void;
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|