expo-iap 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CLAUDE.md +10 -4
  2. package/README.md +2 -23
  3. package/android/src/main/java/expo/modules/iap/ExpoIapModule.kt +141 -13
  4. package/build/index.d.ts.map +1 -1
  5. package/build/index.js +40 -12
  6. package/build/index.js.map +1 -1
  7. package/build/modules/android.d.ts +53 -1
  8. package/build/modules/android.d.ts.map +1 -1
  9. package/build/modules/android.js +61 -0
  10. package/build/modules/android.js.map +1 -1
  11. package/build/modules/ios.d.ts.map +1 -1
  12. package/build/modules/ios.js +4 -2
  13. package/build/modules/ios.js.map +1 -1
  14. package/build/types.d.ts +321 -24
  15. package/build/types.d.ts.map +1 -1
  16. package/build/types.js.map +1 -1
  17. package/coverage/clover.xml +115 -100
  18. package/coverage/coverage-final.json +3 -3
  19. package/coverage/lcov-report/index.html +26 -26
  20. package/coverage/lcov-report/src/index.html +19 -19
  21. package/coverage/lcov-report/src/index.ts.html +117 -24
  22. package/coverage/lcov-report/src/modules/android.ts.html +233 -8
  23. package/coverage/lcov-report/src/modules/index.html +15 -15
  24. package/coverage/lcov-report/src/modules/ios.ts.html +13 -7
  25. package/coverage/lcov-report/src/utils/debug.ts.html +1 -1
  26. package/coverage/lcov-report/src/utils/errorMapping.ts.html +1 -1
  27. package/coverage/lcov-report/src/utils/index.html +1 -1
  28. package/coverage/lcov.info +274 -244
  29. package/ios/ExpoIap.podspec +7 -5
  30. package/ios/ExpoIapHelper.swift +1 -1
  31. package/ios/ExpoIapModule.swift +1 -1
  32. package/openiap-versions.json +3 -3
  33. package/package.json +1 -1
  34. package/plugin/build/withIAP.d.ts +8 -5
  35. package/plugin/build/withIAP.js +12 -3
  36. package/plugin/src/withIAP.ts +18 -9
  37. package/src/index.ts +43 -12
  38. package/src/modules/android.ts +75 -0
  39. package/src/modules/ios.ts +4 -2
  40. package/src/types.ts +340 -24
@@ -1,93 +1,95 @@
1
1
  TN:
2
2
  SF:src/index.ts
3
- FN:51,(anonymous_5)
4
- FN:89,(anonymous_6)
5
- FN:117,(anonymous_7)
6
- FN:131,(anonymous_8)
7
- FN:132,(anonymous_9)
8
- FN:134,(anonymous_10)
9
- FN:137,(anonymous_11)
10
- FN:148,(anonymous_12)
11
- FN:151,(anonymous_13)
12
- FN:181,(anonymous_14)
13
- FN:188,(anonymous_15)
14
- FN:218,(anonymous_16)
15
- FN:225,(anonymous_17)
16
- FN:230,(anonymous_18)
17
- FN:233,(anonymous_19)
18
- FN:243,(anonymous_20)
19
- FN:259,(anonymous_21)
20
- FN:262,(anonymous_22)
21
- FN:270,(anonymous_23)
22
- FN:273,(anonymous_24)
23
- FN:281,(anonymous_25)
24
- FN:314,(anonymous_26)
25
- FN:323,(anonymous_27)
26
- FN:328,(anonymous_28)
27
- FN:329,(anonymous_29)
28
- FN:365,(anonymous_30)
29
- FN:389,(anonymous_31)
30
- FN:395,(anonymous_32)
3
+ FN:51,(anonymous_11)
4
+ FN:89,(anonymous_12)
5
+ FN:117,(anonymous_13)
6
+ FN:131,(anonymous_14)
7
+ FN:132,(anonymous_15)
8
+ FN:134,(anonymous_16)
9
+ FN:137,(anonymous_17)
10
+ FN:148,(anonymous_18)
11
+ FN:151,(anonymous_19)
12
+ FN:181,(anonymous_20)
13
+ FN:188,(anonymous_21)
14
+ FN:218,(anonymous_22)
15
+ FN:225,(anonymous_23)
16
+ FN:230,(anonymous_24)
17
+ FN:233,(anonymous_25)
18
+ FN:243,(anonymous_26)
19
+ FN:259,(anonymous_27)
20
+ FN:262,(anonymous_28)
21
+ FN:270,(anonymous_29)
22
+ FN:273,(anonymous_30)
23
+ FN:281,(anonymous_31)
24
+ FN:314,(anonymous_32)
25
+ FN:323,(anonymous_33)
26
+ FN:328,(anonymous_34)
27
+ FN:329,(anonymous_35)
28
+ FN:365,(anonymous_36)
29
+ FN:389,(anonymous_37)
30
+ FN:395,(anonymous_38)
31
31
  FN:421,normalizeRequestProps
32
- FN:475,(anonymous_34)
33
- FN:612,(anonymous_35)
34
- FN:629,(anonymous_36)
35
- FN:672,(anonymous_37)
36
- FN:674,(anonymous_38)
37
- FN:703,(anonymous_39)
38
- FN:727,(anonymous_40)
39
- FN:768,(anonymous_41)
40
- FN:805,(anonymous_42)
41
- FN:815,(anonymous_43)
42
- FN:816,(anonymous_44)
43
- FN:817,(anonymous_45)
44
- FN:818,(anonymous_46)
45
- FN:824,(anonymous_47)
46
- FNF:43
32
+ FN:475,(anonymous_40)
33
+ FN:612,(anonymous_41)
34
+ FN:629,(anonymous_42)
35
+ FN:672,(anonymous_43)
36
+ FN:674,(anonymous_44)
37
+ FN:703,(anonymous_45)
38
+ FN:727,(anonymous_46)
39
+ FN:772,(anonymous_47)
40
+ FN:809,(anonymous_48)
41
+ FN:819,(anonymous_49)
42
+ FN:846,(anonymous_50)
43
+ FN:847,(anonymous_51)
44
+ FN:848,(anonymous_52)
45
+ FN:849,(anonymous_53)
46
+ FN:855,(anonymous_54)
47
+ FNF:44
47
48
  FNH:34
48
- FNDA:2,(anonymous_5)
49
- FNDA:21,(anonymous_6)
50
- FNDA:7,(anonymous_7)
51
- FNDA:7,(anonymous_8)
52
- FNDA:4,(anonymous_9)
53
- FNDA:1,(anonymous_10)
54
- FNDA:1,(anonymous_11)
55
- FNDA:1,(anonymous_12)
56
- FNDA:1,(anonymous_13)
57
- FNDA:2,(anonymous_14)
58
- FNDA:0,(anonymous_15)
59
- FNDA:0,(anonymous_16)
60
- FNDA:0,(anonymous_17)
49
+ FNDA:2,(anonymous_11)
50
+ FNDA:21,(anonymous_12)
51
+ FNDA:7,(anonymous_13)
52
+ FNDA:7,(anonymous_14)
53
+ FNDA:4,(anonymous_15)
54
+ FNDA:1,(anonymous_16)
55
+ FNDA:1,(anonymous_17)
61
56
  FNDA:1,(anonymous_18)
62
57
  FNDA:1,(anonymous_19)
63
- FNDA:9,(anonymous_20)
64
- FNDA:6,(anonymous_21)
65
- FNDA:10,(anonymous_22)
66
- FNDA:1,(anonymous_23)
67
- FNDA:3,(anonymous_24)
68
- FNDA:7,(anonymous_25)
69
- FNDA:4,(anonymous_26)
70
- FNDA:2,(anonymous_27)
71
- FNDA:1,(anonymous_28)
58
+ FNDA:2,(anonymous_20)
59
+ FNDA:0,(anonymous_21)
60
+ FNDA:0,(anonymous_22)
61
+ FNDA:0,(anonymous_23)
62
+ FNDA:1,(anonymous_24)
63
+ FNDA:1,(anonymous_25)
64
+ FNDA:9,(anonymous_26)
65
+ FNDA:6,(anonymous_27)
66
+ FNDA:10,(anonymous_28)
72
67
  FNDA:1,(anonymous_29)
73
- FNDA:6,(anonymous_30)
74
- FNDA:8,(anonymous_31)
75
- FNDA:2,(anonymous_32)
76
- FNDA:10,normalizeRequestProps
77
- FNDA:13,(anonymous_34)
68
+ FNDA:3,(anonymous_30)
69
+ FNDA:7,(anonymous_31)
70
+ FNDA:4,(anonymous_32)
71
+ FNDA:2,(anonymous_33)
72
+ FNDA:1,(anonymous_34)
78
73
  FNDA:1,(anonymous_35)
79
74
  FNDA:6,(anonymous_36)
80
- FNDA:1,(anonymous_37)
81
- FNDA:0,(anonymous_38)
82
- FNDA:5,(anonymous_39)
83
- FNDA:4,(anonymous_40)
84
- FNDA:3,(anonymous_41)
85
- FNDA:13,(anonymous_42)
86
- FNDA:0,(anonymous_43)
75
+ FNDA:8,(anonymous_37)
76
+ FNDA:2,(anonymous_38)
77
+ FNDA:10,normalizeRequestProps
78
+ FNDA:13,(anonymous_40)
79
+ FNDA:1,(anonymous_41)
80
+ FNDA:6,(anonymous_42)
81
+ FNDA:1,(anonymous_43)
87
82
  FNDA:0,(anonymous_44)
88
- FNDA:0,(anonymous_45)
89
- FNDA:0,(anonymous_46)
90
- FNDA:0,(anonymous_47)
83
+ FNDA:5,(anonymous_45)
84
+ FNDA:5,(anonymous_46)
85
+ FNDA:3,(anonymous_47)
86
+ FNDA:13,(anonymous_48)
87
+ FNDA:0,(anonymous_49)
88
+ FNDA:0,(anonymous_50)
89
+ FNDA:0,(anonymous_51)
90
+ FNDA:0,(anonymous_52)
91
+ FNDA:0,(anonymous_53)
92
+ FNDA:0,(anonymous_54)
91
93
  DA:2,2
92
94
  DA:3,2
93
95
  DA:6,2
@@ -271,32 +273,41 @@ DA:710,3
271
273
  DA:711,1
272
274
  DA:714,1
273
275
  DA:727,2
274
- DA:730,4
275
- DA:732,4
276
- DA:733,1
277
- DA:736,3
278
- DA:737,2
279
- DA:743,1
276
+ DA:730,5
277
+ DA:732,5
278
+ DA:733,2
279
+ DA:734,1
280
+ DA:736,1
281
+ DA:739,3
282
+ DA:740,2
280
283
  DA:747,1
281
- DA:756,1
282
- DA:768,2
283
- DA:771,3
284
+ DA:751,1
285
+ DA:760,1
284
286
  DA:772,2
285
- DA:775,1
286
- DA:803,2
287
- DA:805,2
288
- DA:806,13
289
- DA:807,12
290
- DA:810,1
291
- DA:813,2
292
- DA:814,2
293
- DA:815,2
294
- DA:816,2
295
- DA:817,2
296
- DA:818,2
297
- DA:824,2
298
- LF:207
299
- LH:201
287
+ DA:775,3
288
+ DA:776,2
289
+ DA:779,1
290
+ DA:807,2
291
+ DA:809,2
292
+ DA:810,13
293
+ DA:812,12
294
+ DA:817,0
295
+ DA:819,0
296
+ DA:820,0
297
+ DA:821,0
298
+ DA:822,0
299
+ DA:831,0
300
+ DA:838,12
301
+ DA:841,1
302
+ DA:844,2
303
+ DA:845,2
304
+ DA:846,2
305
+ DA:847,2
306
+ DA:848,2
307
+ DA:849,2
308
+ DA:855,2
309
+ LF:216
310
+ LH:204
300
311
  BRDA:51,0,0,2
301
312
  BRDA:51,0,1,2
302
313
  BRDA:81,1,0,2
@@ -390,36 +401,46 @@ BRDA:704,60,0,1
390
401
  BRDA:709,61,0,3
391
402
  BRDA:710,62,0,3
392
403
  BRDA:710,62,1,0
393
- BRDA:732,63,0,1
394
- BRDA:736,64,0,2
395
- BRDA:737,65,0,1
396
- BRDA:738,66,0,2
397
- BRDA:738,66,1,2
398
- BRDA:738,66,2,1
399
- BRDA:738,66,3,1
400
- BRDA:752,67,0,1
401
- BRDA:752,67,1,0
402
- BRDA:771,68,0,2
403
- BRDA:771,69,0,3
404
- BRDA:771,69,1,2
405
- BRDA:806,70,0,12
406
- BRDA:806,71,0,13
407
- BRDA:806,71,1,2
408
- BRF:108
409
- BRH:98
404
+ BRDA:732,63,0,2
405
+ BRDA:733,64,0,1
406
+ BRDA:739,65,0,2
407
+ BRDA:740,66,0,1
408
+ BRDA:741,67,0,2
409
+ BRDA:741,67,1,2
410
+ BRDA:741,67,2,1
411
+ BRDA:741,67,3,1
412
+ BRDA:741,67,4,1
413
+ BRDA:756,68,0,1
414
+ BRDA:756,68,1,0
415
+ BRDA:775,69,0,2
416
+ BRDA:775,70,0,3
417
+ BRDA:775,70,1,2
418
+ BRDA:810,71,0,12
419
+ BRDA:810,72,0,13
420
+ BRDA:810,72,1,2
421
+ BRDA:812,73,0,0
422
+ BRDA:813,74,0,12
423
+ BRDA:813,74,1,12
424
+ BRDA:813,74,2,12
425
+ BRDA:821,75,0,0
426
+ BRF:115
427
+ BRH:103
410
428
  end_of_record
411
429
  TN:
412
430
  SF:src/modules/android.ts
413
- FN:25,isProductAndroid
414
- FN:52,(anonymous_2)
415
- FN:93,(anonymous_3)
416
- FN:138,(anonymous_4)
417
- FN:165,(anonymous_5)
418
- FN:188,(anonymous_6)
419
- FN:218,(anonymous_7)
420
- FN:248,(anonymous_8)
421
- FNF:8
422
- FNH:5
431
+ FN:29,isProductAndroid
432
+ FN:56,(anonymous_2)
433
+ FN:97,(anonymous_3)
434
+ FN:142,(anonymous_4)
435
+ FN:169,(anonymous_5)
436
+ FN:192,(anonymous_6)
437
+ FN:222,(anonymous_7)
438
+ FN:252,(anonymous_8)
439
+ FN:275,(anonymous_9)
440
+ FN:298,(anonymous_10)
441
+ FN:321,(anonymous_11)
442
+ FNF:11
443
+ FNH:8
423
444
  FNDA:8,isProductAndroid
424
445
  FNDA:5,(anonymous_2)
425
446
  FNDA:2,(anonymous_3)
@@ -428,75 +449,84 @@ FNDA:1,(anonymous_5)
428
449
  FNDA:0,(anonymous_6)
429
450
  FNDA:0,(anonymous_7)
430
451
  FNDA:0,(anonymous_8)
452
+ FNDA:4,(anonymous_9)
453
+ FNDA:5,(anonymous_10)
454
+ FNDA:3,(anonymous_11)
431
455
  DA:2,3
432
456
  DA:5,3
433
- DA:22,3
434
- DA:25,3
435
- DA:28,8
436
- DA:52,3
437
- DA:55,5
438
- DA:56,5
457
+ DA:26,3
458
+ DA:29,3
459
+ DA:32,8
460
+ DA:56,3
439
461
  DA:59,5
440
- DA:60,1
441
- DA:67,4
442
- DA:68,3
443
- DA:72,1
444
- DA:75,1
462
+ DA:60,5
463
+ DA:63,5
464
+ DA:64,1
465
+ DA:71,4
466
+ DA:72,3
445
467
  DA:76,1
446
- DA:93,3
447
- DA:106,2
448
- DA:109,2
468
+ DA:79,1
469
+ DA:80,1
470
+ DA:97,3
471
+ DA:110,2
449
472
  DA:113,2
450
- DA:121,2
451
- DA:122,1
452
- DA:127,1
453
- DA:136,3
454
- DA:138,3
455
- DA:139,5
456
- DA:141,5
457
- DA:142,1
458
- DA:145,4
459
- DA:146,3
460
- DA:147,3
461
- DA:148,1
462
- DA:150,2
463
- DA:151,2
464
- DA:155,1
465
- DA:165,3
466
- DA:166,1
467
- DA:186,3
468
- DA:188,3
469
- DA:189,0
470
- DA:216,3
471
- DA:218,3
472
- DA:219,0
473
- DA:246,3
474
- DA:248,3
475
- DA:249,0
476
- LF:45
477
- LH:42
478
- BRDA:29,0,0,8
479
- BRDA:29,0,1,6
480
- BRDA:29,0,2,6
481
- BRDA:29,0,3,5
482
- BRDA:29,0,4,5
483
- BRDA:55,1,0,5
484
- BRDA:55,1,1,1
485
- BRDA:56,2,0,5
486
- BRDA:56,2,1,2
487
- BRDA:59,3,0,1
488
- BRDA:67,4,0,3
489
- BRDA:75,5,0,1
490
- BRDA:75,5,1,0
491
- BRDA:106,6,0,1
492
- BRDA:106,6,1,1
493
- BRDA:121,7,0,1
494
- BRDA:141,8,0,1
495
- BRDA:145,9,0,3
496
- BRDA:145,10,0,4
497
- BRDA:145,10,1,3
498
- BRDA:147,11,0,1
499
- BRDA:150,12,0,2
473
+ DA:117,2
474
+ DA:125,2
475
+ DA:126,1
476
+ DA:131,1
477
+ DA:140,3
478
+ DA:142,3
479
+ DA:143,5
480
+ DA:145,5
481
+ DA:146,1
482
+ DA:149,4
483
+ DA:150,3
484
+ DA:151,3
485
+ DA:152,1
486
+ DA:154,2
487
+ DA:155,2
488
+ DA:159,1
489
+ DA:169,3
490
+ DA:170,1
491
+ DA:190,3
492
+ DA:192,3
493
+ DA:193,0
494
+ DA:220,3
495
+ DA:222,3
496
+ DA:223,0
497
+ DA:250,3
498
+ DA:252,3
499
+ DA:253,0
500
+ DA:275,3
501
+ DA:278,4
502
+ DA:298,3
503
+ DA:301,5
504
+ DA:321,3
505
+ DA:324,3
506
+ LF:51
507
+ LH:48
508
+ BRDA:33,0,0,8
509
+ BRDA:33,0,1,6
510
+ BRDA:33,0,2,6
511
+ BRDA:33,0,3,5
512
+ BRDA:33,0,4,5
513
+ BRDA:59,1,0,5
514
+ BRDA:59,1,1,1
515
+ BRDA:60,2,0,5
516
+ BRDA:60,2,1,2
517
+ BRDA:63,3,0,1
518
+ BRDA:71,4,0,3
519
+ BRDA:79,5,0,1
520
+ BRDA:79,5,1,0
521
+ BRDA:110,6,0,1
522
+ BRDA:110,6,1,1
523
+ BRDA:125,7,0,1
524
+ BRDA:145,8,0,1
525
+ BRDA:149,9,0,3
526
+ BRDA:149,10,0,4
527
+ BRDA:149,10,1,3
528
+ BRDA:151,11,0,1
529
+ BRDA:154,12,0,2
500
530
  BRF:22
501
531
  BRH:21
502
532
  end_of_record
@@ -514,16 +544,16 @@ FN:177,(anonymous_9)
514
544
  FN:195,(anonymous_10)
515
545
  FN:212,(anonymous_11)
516
546
  FN:238,(anonymous_12)
517
- FN:267,(anonymous_13)
518
- FN:287,(anonymous_14)
519
- FN:303,(anonymous_15)
520
- FN:319,(anonymous_16)
521
- FN:332,(anonymous_17)
522
- FN:345,(anonymous_18)
523
- FN:355,(anonymous_19)
524
- FN:366,(anonymous_20)
525
- FN:379,(anonymous_21)
526
- FN:393,(anonymous_22)
547
+ FN:269,(anonymous_13)
548
+ FN:289,(anonymous_14)
549
+ FN:305,(anonymous_15)
550
+ FN:321,(anonymous_16)
551
+ FN:334,(anonymous_17)
552
+ FN:347,(anonymous_18)
553
+ FN:357,(anonymous_19)
554
+ FN:368,(anonymous_20)
555
+ FN:381,(anonymous_21)
556
+ FN:395,(anonymous_22)
527
557
  FNF:22
528
558
  FNH:19
529
559
  FNDA:15,isProductIOS
@@ -537,7 +567,7 @@ FNDA:2,(anonymous_8)
537
567
  FNDA:1,(anonymous_9)
538
568
  FNDA:2,(anonymous_10)
539
569
  FNDA:3,(anonymous_11)
540
- FNDA:4,(anonymous_12)
570
+ FNDA:5,(anonymous_12)
541
571
  FNDA:1,(anonymous_13)
542
572
  FNDA:2,(anonymous_14)
543
573
  FNDA:2,(anonymous_15)
@@ -600,45 +630,45 @@ DA:216,1
600
630
  DA:218,2
601
631
  DA:219,2
602
632
  DA:238,3
603
- DA:240,4
604
- DA:242,4
605
- DA:243,1
606
- DA:246,3
607
- DA:251,3
608
- DA:265,3
633
+ DA:240,5
634
+ DA:244,5
635
+ DA:245,2
636
+ DA:248,3
637
+ DA:253,3
609
638
  DA:267,3
610
- DA:268,1
611
- DA:285,3
639
+ DA:269,3
640
+ DA:270,1
612
641
  DA:287,3
613
- DA:288,2
614
- DA:301,3
642
+ DA:289,3
643
+ DA:290,2
615
644
  DA:303,3
616
- DA:304,2
617
- DA:305,2
618
- DA:317,3
645
+ DA:305,3
646
+ DA:306,2
647
+ DA:307,2
619
648
  DA:319,3
620
- DA:320,1
621
- DA:321,1
622
- DA:330,3
649
+ DA:321,3
650
+ DA:322,1
651
+ DA:323,1
623
652
  DA:332,3
624
- DA:333,2
625
- DA:334,2
626
- DA:343,3
653
+ DA:334,3
654
+ DA:335,2
655
+ DA:336,2
627
656
  DA:345,3
628
- DA:346,2
629
- DA:355,3
630
- DA:356,1
631
- DA:364,3
657
+ DA:347,3
658
+ DA:348,2
659
+ DA:357,3
660
+ DA:358,1
632
661
  DA:366,3
633
- DA:367,0
634
- DA:377,3
662
+ DA:368,3
663
+ DA:369,0
635
664
  DA:379,3
636
- DA:380,0
637
- DA:381,0
638
- DA:391,3
665
+ DA:381,3
666
+ DA:382,0
667
+ DA:383,0
639
668
  DA:393,3
640
- DA:394,0
641
- DA:395,0
669
+ DA:395,3
670
+ DA:396,0
671
+ DA:397,0
642
672
  LF:91
643
673
  LH:86
644
674
  BRDA:35,0,0,15
@@ -666,14 +696,14 @@ BRDA:215,12,0,1
666
696
  BRDA:219,13,0,2
667
697
  BRDA:219,13,1,1
668
698
  BRDA:240,14,0,1
669
- BRDA:240,14,1,3
670
- BRDA:242,15,0,1
671
- BRDA:288,16,0,2
672
- BRDA:288,16,1,1
673
- BRDA:305,17,0,2
674
- BRDA:305,17,1,1
675
- BRDA:334,18,0,2
676
- BRDA:334,18,1,1
699
+ BRDA:240,14,1,4
700
+ BRDA:244,15,0,2
701
+ BRDA:290,16,0,2
702
+ BRDA:290,16,1,1
703
+ BRDA:307,17,0,2
704
+ BRDA:307,17,1,1
705
+ BRDA:336,18,0,2
706
+ BRDA:336,18,1,1
677
707
  BRF:33
678
708
  BRH:33
679
709
  end_of_record
@@ -11,12 +11,14 @@ Pod::Spec.new do |s|
11
11
  s.license = package['license']
12
12
  s.author = package['author']
13
13
  s.homepage = package['homepage']
14
- # WARNING: DO NOT MODIFY platform versions from 13.4
15
- # Changing iOS/tvOS to 15.0 can cause expo prebuild to exclude the module in certain Expo SDKs (known bug)
14
+ # WARNING: DO NOT MODIFY iOS platform version from 13.4
15
+ # Changing iOS to 15.0 can cause expo prebuild to exclude the module in certain Expo SDKs (known bug)
16
16
  # See: https://github.com/hyochan/expo-iap/issues/168
17
- # Even though StoreKit 2 requires iOS/tvOS 15.0+, keep both at 13.4 for compatibility with affected Expo SDKs
18
- # The iOS/tvOS 15.0+ requirement is enforced at build time in source code via @available annotations
19
- s.platforms = { :ios => '13.4', :tvos => '13.4' }
17
+ # Even though StoreKit 2 requires iOS 15.0+, keep iOS at 13.4 for compatibility with affected Expo SDKs
18
+ # The iOS 15.0+ requirement is enforced at build time in source code via @available annotations
19
+ #
20
+ # NOTE: tvOS requires 16.0 because openiap dependency has minimum tvOS deployment target of 16.0
21
+ s.platforms = { :ios => '13.4', :tvos => '16.0' }
20
22
  s.swift_version = '5.9'
21
23
  s.source = { git: 'https://github.com/hyochan/expo-iap' }
22
24
  s.static_framework = true
@@ -4,7 +4,7 @@ import OpenIAP
4
4
 
5
5
  /// Exception wrapper for PurchaseError that preserves OpenIAP error codes
6
6
  /// This ensures consistent error format between try-catch and onPurchaseError callback
7
- class IapException: GenericException<(code: String, message: String, productId: String?)> {
7
+ final class IapException: GenericException<(code: String, message: String, productId: String?)>, @unchecked Sendable {
8
8
  override var code: String { param.code }
9
9
  override var reason: String { param.message }
10
10
 
@@ -188,7 +188,7 @@ public final class ExpoIapModule: Module {
188
188
  ExpoIapLog.payload("validateReceiptIOS", payload: ["sku": sku])
189
189
  try await ExpoIapHelper.ensureConnection(isInitialized: self.isInitialized)
190
190
  do {
191
- let props = try OpenIapSerialization.verifyPurchaseProps(from: ["sku": sku])
191
+ let props = try OpenIapSerialization.verifyPurchaseProps(from: ["apple": ["sku": sku]])
192
192
  let result = try await OpenIapModule.shared.verifyPurchase(props)
193
193
  var payload = OpenIapSerialization.encode(result)
194
194
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "apple": "1.3.0",
3
- "google": "1.3.10",
4
- "gql": "1.3.0"
2
+ "apple": "1.3.2",
3
+ "google": "1.3.14",
4
+ "gql": "1.3.4"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-iap",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "In App Purchase module in Expo",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1,6 +1,12 @@
1
1
  import { ConfigPlugin } from 'expo/config-plugins';
2
2
  import { withIosAlternativeBilling, type IOSAlternativeBillingConfig } from './withIosAlternativeBilling';
3
3
  export interface ExpoIapPluginOptions {
4
+ /**
5
+ * IAPKit API key for server-side receipt verification.
6
+ * Get your API key from https://iapkit.com
7
+ * This will be available via `Constants.expoConfig?.extra?.iapkitApiKey`
8
+ */
9
+ iapkitApiKey?: string;
4
10
  /** Local development path for OpenIAP library */
5
11
  localPath?: string | {
6
12
  ios?: string;
@@ -46,11 +52,8 @@ export interface ExpoIapPluginOptions {
46
52
  */
47
53
  horizonAppId?: string;
48
54
  };
49
- /** @deprecated Use ios.alternativeBilling instead */
50
- iosAlternativeBilling?: IOSAlternativeBillingConfig;
51
- /** @deprecated Use android.horizonAppId instead */
52
- horizonAppId?: string;
53
55
  }
54
- export { withIosAlternativeBilling };
56
+ declare const withIap: ConfigPlugin<ExpoIapPluginOptions | void>;
57
+ export { withIosAlternativeBilling, withIap };
55
58
  declare const _default: ConfigPlugin<void | ExpoIapPluginOptions>;
56
59
  export default _default;