expo-iap 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +1 -22
  2. package/android/src/main/java/expo/modules/iap/ExpoIapModule.kt +141 -13
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +16 -12
  5. package/build/index.js.map +1 -1
  6. package/build/modules/android.d.ts +53 -1
  7. package/build/modules/android.d.ts.map +1 -1
  8. package/build/modules/android.js +61 -0
  9. package/build/modules/android.js.map +1 -1
  10. package/build/modules/ios.d.ts.map +1 -1
  11. package/build/modules/ios.js +4 -2
  12. package/build/modules/ios.js.map +1 -1
  13. package/build/types.d.ts +321 -24
  14. package/build/types.d.ts.map +1 -1
  15. package/build/types.js.map +1 -1
  16. package/coverage/clover.xml +106 -98
  17. package/coverage/coverage-final.json +3 -3
  18. package/coverage/lcov-report/index.html +23 -23
  19. package/coverage/lcov-report/src/index.html +14 -14
  20. package/coverage/lcov-report/src/index.ts.html +34 -22
  21. package/coverage/lcov-report/src/modules/android.ts.html +233 -8
  22. package/coverage/lcov-report/src/modules/index.html +15 -15
  23. package/coverage/lcov-report/src/modules/ios.ts.html +13 -7
  24. package/coverage/lcov-report/src/utils/debug.ts.html +1 -1
  25. package/coverage/lcov-report/src/utils/errorMapping.ts.html +1 -1
  26. package/coverage/lcov-report/src/utils/index.html +1 -1
  27. package/coverage/lcov.info +186 -170
  28. package/ios/ExpoIapModule.swift +1 -1
  29. package/openiap-versions.json +3 -3
  30. package/package.json +1 -1
  31. package/plugin/build/withIAP.d.ts +8 -5
  32. package/plugin/build/withIAP.js +12 -3
  33. package/plugin/src/withIAP.ts +18 -9
  34. package/src/index.ts +16 -12
  35. package/src/modules/android.ts +75 -0
  36. package/src/modules/ios.ts +4 -2
  37. package/src/types.ts +340 -24
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">94.44% </span>
26
+ <span class="strong">94.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>136/144</span>
28
+ <span class='fraction'>145/153</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">80% </span>
40
+ <span class="strong">81.81% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>24/30</span>
42
+ <span class='fraction'>27/33</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.11% </span>
47
+ <span class="strong">94.36% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>128/136</span>
49
+ <span class='fraction'>134/142</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="android.ts"><a href="android.ts.html">android.ts</a></td>
83
- <td data-value="93.75" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
83
+ <td data-value="94.73" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
85
85
  </td>
86
- <td data-value="93.75" class="pct high">93.75%</td>
87
- <td data-value="48" class="abs high">45/48</td>
86
+ <td data-value="94.73" class="pct high">94.73%</td>
87
+ <td data-value="57" class="abs high">54/57</td>
88
88
  <td data-value="95.45" class="pct high">95.45%</td>
89
89
  <td data-value="22" class="abs high">21/22</td>
90
- <td data-value="62.5" class="pct medium">62.5%</td>
91
- <td data-value="8" class="abs medium">5/8</td>
92
- <td data-value="93.33" class="pct high">93.33%</td>
93
- <td data-value="45" class="abs high">42/45</td>
90
+ <td data-value="72.72" class="pct medium">72.72%</td>
91
+ <td data-value="11" class="abs medium">8/11</td>
92
+ <td data-value="94.11" class="pct high">94.11%</td>
93
+ <td data-value="51" class="abs high">48/51</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2025-12-08T21:34:13.986Z
119
+ at 2025-12-13T16:00:09.743Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -461,7 +461,9 @@
461
461
  <a name='L396'></a><a href='#L396'>396</a>
462
462
  <a name='L397'></a><a href='#L397'>397</a>
463
463
  <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
465
467
  <span class="cline-any cline-neutral">&nbsp;</span>
466
468
  <span class="cline-any cline-neutral">&nbsp;</span>
467
469
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -700,10 +702,12 @@
700
702
  <span class="cline-any cline-neutral">&nbsp;</span>
701
703
  <span class="cline-any cline-yes">3x</span>
702
704
  <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-yes">4x</span>
705
+ <span class="cline-any cline-yes">5x</span>
704
706
  <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-yes">4x</span>
706
- <span class="cline-any cline-yes">1x</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-yes">5x</span>
710
+ <span class="cline-any cline-yes">2x</span>
707
711
  <span class="cline-any cline-neutral">&nbsp;</span>
708
712
  <span class="cline-any cline-neutral">&nbsp;</span>
709
713
  <span class="cline-any cline-yes">3x</span>
@@ -1098,10 +1102,12 @@ export const getTransactionJwsIOS: QueryField&lt;'getTransactionJwsIOS'&gt; = as
1098
1102
  */
1099
1103
  const validateReceiptIOSImpl = async (props: VerifyPurchaseProps | string) =&gt; {
1100
1104
  const sku =
1101
- typeof props === 'string' ? props : (props as VerifyPurchaseProps)?.sku;
1105
+ typeof props === 'string'
1106
+ ? props
1107
+ : (props as VerifyPurchaseProps)?.apple?.sku;
1102
1108
  &nbsp;
1103
1109
  if (!sku) {
1104
- throw new Error('validateReceiptIOS requires a SKU');
1110
+ throw new Error('validateReceiptIOS requires a SKU (via apple.sku)');
1105
1111
  }
1106
1112
  &nbsp;
1107
1113
  return (await ExpoIapModule.validateReceiptIOS(
@@ -1264,7 +1270,7 @@ export const presentExternalPurchaseLinkIOS: MutationField&lt;
1264
1270
  <div class='footer quiet pad2 space-top1 center small'>
1265
1271
  Code coverage generated by
1266
1272
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1267
- at 2025-12-08T21:34:13.986Z
1273
+ at 2025-12-13T16:00:09.743Z
1268
1274
  </div>
1269
1275
  <script src="../../prettify.js"></script>
1270
1276
  <script>
@@ -268,7 +268,7 @@ export const ExpoIapConsole = createConsole();
268
268
  <div class='footer quiet pad2 space-top1 center small'>
269
269
  Code coverage generated by
270
270
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
271
- at 2025-12-08T21:34:13.986Z
271
+ at 2025-12-13T16:00:09.743Z
272
272
  </div>
273
273
  <script src="../../prettify.js"></script>
274
274
  <script>
@@ -1126,7 +1126,7 @@ export function getUserFriendlyErrorMessage(error: ErrorLike): string {
1126
1126
  <div class='footer quiet pad2 space-top1 center small'>
1127
1127
  Code coverage generated by
1128
1128
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1129
- at 2025-12-08T21:34:13.986Z
1129
+ at 2025-12-13T16:00:09.743Z
1130
1130
  </div>
1131
1131
  <script src="../../prettify.js"></script>
1132
1132
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2025-12-08T21:34:13.986Z
119
+ at 2025-12-13T16:00:09.743Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -36,13 +36,13 @@ FN:672,(anonymous_37)
36
36
  FN:674,(anonymous_38)
37
37
  FN:703,(anonymous_39)
38
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)
39
+ FN:772,(anonymous_41)
40
+ FN:809,(anonymous_42)
41
+ FN:819,(anonymous_43)
42
+ FN:820,(anonymous_44)
43
+ FN:821,(anonymous_45)
44
+ FN:822,(anonymous_46)
45
+ FN:828,(anonymous_47)
46
46
  FNF:43
47
47
  FNH:34
48
48
  FNDA:2,(anonymous_5)
@@ -80,7 +80,7 @@ FNDA:6,(anonymous_36)
80
80
  FNDA:1,(anonymous_37)
81
81
  FNDA:0,(anonymous_38)
82
82
  FNDA:5,(anonymous_39)
83
- FNDA:4,(anonymous_40)
83
+ FNDA:5,(anonymous_40)
84
84
  FNDA:3,(anonymous_41)
85
85
  FNDA:13,(anonymous_42)
86
86
  FNDA:0,(anonymous_43)
@@ -271,32 +271,34 @@ DA:710,3
271
271
  DA:711,1
272
272
  DA:714,1
273
273
  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
274
+ DA:730,5
275
+ DA:732,5
276
+ DA:733,2
277
+ DA:734,1
278
+ DA:736,1
279
+ DA:739,3
280
+ DA:740,2
280
281
  DA:747,1
281
- DA:756,1
282
- DA:768,2
283
- DA:771,3
282
+ DA:751,1
283
+ DA:760,1
284
284
  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
285
+ DA:775,3
286
+ DA:776,2
287
+ DA:779,1
288
+ DA:807,2
289
+ DA:809,2
290
+ DA:810,13
291
+ DA:811,12
292
+ DA:814,1
295
293
  DA:817,2
296
294
  DA:818,2
297
- DA:824,2
298
- LF:207
299
- LH:201
295
+ DA:819,2
296
+ DA:820,2
297
+ DA:821,2
298
+ DA:822,2
299
+ DA:828,2
300
+ LF:209
301
+ LH:203
300
302
  BRDA:51,0,0,2
301
303
  BRDA:51,0,1,2
302
304
  BRDA:81,1,0,2
@@ -390,36 +392,41 @@ BRDA:704,60,0,1
390
392
  BRDA:709,61,0,3
391
393
  BRDA:710,62,0,3
392
394
  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
395
+ BRDA:732,63,0,2
396
+ BRDA:733,64,0,1
397
+ BRDA:739,65,0,2
398
+ BRDA:740,66,0,1
399
+ BRDA:741,67,0,2
400
+ BRDA:741,67,1,2
401
+ BRDA:741,67,2,1
402
+ BRDA:741,67,3,1
403
+ BRDA:741,67,4,1
404
+ BRDA:756,68,0,1
405
+ BRDA:756,68,1,0
406
+ BRDA:775,69,0,2
407
+ BRDA:775,70,0,3
408
+ BRDA:775,70,1,2
409
+ BRDA:810,71,0,12
410
+ BRDA:810,72,0,13
411
+ BRDA:810,72,1,2
412
+ BRF:110
413
+ BRH:100
410
414
  end_of_record
411
415
  TN:
412
416
  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
417
+ FN:29,isProductAndroid
418
+ FN:56,(anonymous_2)
419
+ FN:97,(anonymous_3)
420
+ FN:142,(anonymous_4)
421
+ FN:169,(anonymous_5)
422
+ FN:192,(anonymous_6)
423
+ FN:222,(anonymous_7)
424
+ FN:252,(anonymous_8)
425
+ FN:275,(anonymous_9)
426
+ FN:298,(anonymous_10)
427
+ FN:321,(anonymous_11)
428
+ FNF:11
429
+ FNH:8
423
430
  FNDA:8,isProductAndroid
424
431
  FNDA:5,(anonymous_2)
425
432
  FNDA:2,(anonymous_3)
@@ -428,75 +435,84 @@ FNDA:1,(anonymous_5)
428
435
  FNDA:0,(anonymous_6)
429
436
  FNDA:0,(anonymous_7)
430
437
  FNDA:0,(anonymous_8)
438
+ FNDA:4,(anonymous_9)
439
+ FNDA:5,(anonymous_10)
440
+ FNDA:3,(anonymous_11)
431
441
  DA:2,3
432
442
  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
443
+ DA:26,3
444
+ DA:29,3
445
+ DA:32,8
446
+ DA:56,3
439
447
  DA:59,5
440
- DA:60,1
441
- DA:67,4
442
- DA:68,3
443
- DA:72,1
444
- DA:75,1
448
+ DA:60,5
449
+ DA:63,5
450
+ DA:64,1
451
+ DA:71,4
452
+ DA:72,3
445
453
  DA:76,1
446
- DA:93,3
447
- DA:106,2
448
- DA:109,2
454
+ DA:79,1
455
+ DA:80,1
456
+ DA:97,3
457
+ DA:110,2
449
458
  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
459
+ DA:117,2
460
+ DA:125,2
461
+ DA:126,1
462
+ DA:131,1
463
+ DA:140,3
464
+ DA:142,3
465
+ DA:143,5
466
+ DA:145,5
467
+ DA:146,1
468
+ DA:149,4
469
+ DA:150,3
470
+ DA:151,3
471
+ DA:152,1
472
+ DA:154,2
473
+ DA:155,2
474
+ DA:159,1
475
+ DA:169,3
476
+ DA:170,1
477
+ DA:190,3
478
+ DA:192,3
479
+ DA:193,0
480
+ DA:220,3
481
+ DA:222,3
482
+ DA:223,0
483
+ DA:250,3
484
+ DA:252,3
485
+ DA:253,0
486
+ DA:275,3
487
+ DA:278,4
488
+ DA:298,3
489
+ DA:301,5
490
+ DA:321,3
491
+ DA:324,3
492
+ LF:51
493
+ LH:48
494
+ BRDA:33,0,0,8
495
+ BRDA:33,0,1,6
496
+ BRDA:33,0,2,6
497
+ BRDA:33,0,3,5
498
+ BRDA:33,0,4,5
499
+ BRDA:59,1,0,5
500
+ BRDA:59,1,1,1
501
+ BRDA:60,2,0,5
502
+ BRDA:60,2,1,2
503
+ BRDA:63,3,0,1
504
+ BRDA:71,4,0,3
505
+ BRDA:79,5,0,1
506
+ BRDA:79,5,1,0
507
+ BRDA:110,6,0,1
508
+ BRDA:110,6,1,1
509
+ BRDA:125,7,0,1
510
+ BRDA:145,8,0,1
511
+ BRDA:149,9,0,3
512
+ BRDA:149,10,0,4
513
+ BRDA:149,10,1,3
514
+ BRDA:151,11,0,1
515
+ BRDA:154,12,0,2
500
516
  BRF:22
501
517
  BRH:21
502
518
  end_of_record
@@ -514,16 +530,16 @@ FN:177,(anonymous_9)
514
530
  FN:195,(anonymous_10)
515
531
  FN:212,(anonymous_11)
516
532
  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)
533
+ FN:269,(anonymous_13)
534
+ FN:289,(anonymous_14)
535
+ FN:305,(anonymous_15)
536
+ FN:321,(anonymous_16)
537
+ FN:334,(anonymous_17)
538
+ FN:347,(anonymous_18)
539
+ FN:357,(anonymous_19)
540
+ FN:368,(anonymous_20)
541
+ FN:381,(anonymous_21)
542
+ FN:395,(anonymous_22)
527
543
  FNF:22
528
544
  FNH:19
529
545
  FNDA:15,isProductIOS
@@ -537,7 +553,7 @@ FNDA:2,(anonymous_8)
537
553
  FNDA:1,(anonymous_9)
538
554
  FNDA:2,(anonymous_10)
539
555
  FNDA:3,(anonymous_11)
540
- FNDA:4,(anonymous_12)
556
+ FNDA:5,(anonymous_12)
541
557
  FNDA:1,(anonymous_13)
542
558
  FNDA:2,(anonymous_14)
543
559
  FNDA:2,(anonymous_15)
@@ -600,45 +616,45 @@ DA:216,1
600
616
  DA:218,2
601
617
  DA:219,2
602
618
  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
619
+ DA:240,5
620
+ DA:244,5
621
+ DA:245,2
622
+ DA:248,3
623
+ DA:253,3
609
624
  DA:267,3
610
- DA:268,1
611
- DA:285,3
625
+ DA:269,3
626
+ DA:270,1
612
627
  DA:287,3
613
- DA:288,2
614
- DA:301,3
628
+ DA:289,3
629
+ DA:290,2
615
630
  DA:303,3
616
- DA:304,2
617
- DA:305,2
618
- DA:317,3
631
+ DA:305,3
632
+ DA:306,2
633
+ DA:307,2
619
634
  DA:319,3
620
- DA:320,1
621
- DA:321,1
622
- DA:330,3
635
+ DA:321,3
636
+ DA:322,1
637
+ DA:323,1
623
638
  DA:332,3
624
- DA:333,2
625
- DA:334,2
626
- DA:343,3
639
+ DA:334,3
640
+ DA:335,2
641
+ DA:336,2
627
642
  DA:345,3
628
- DA:346,2
629
- DA:355,3
630
- DA:356,1
631
- DA:364,3
643
+ DA:347,3
644
+ DA:348,2
645
+ DA:357,3
646
+ DA:358,1
632
647
  DA:366,3
633
- DA:367,0
634
- DA:377,3
648
+ DA:368,3
649
+ DA:369,0
635
650
  DA:379,3
636
- DA:380,0
637
- DA:381,0
638
- DA:391,3
651
+ DA:381,3
652
+ DA:382,0
653
+ DA:383,0
639
654
  DA:393,3
640
- DA:394,0
641
- DA:395,0
655
+ DA:395,3
656
+ DA:396,0
657
+ DA:397,0
642
658
  LF:91
643
659
  LH:86
644
660
  BRDA:35,0,0,15
@@ -666,14 +682,14 @@ BRDA:215,12,0,1
666
682
  BRDA:219,13,0,2
667
683
  BRDA:219,13,1,1
668
684
  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
685
+ BRDA:240,14,1,4
686
+ BRDA:244,15,0,2
687
+ BRDA:290,16,0,2
688
+ BRDA:290,16,1,1
689
+ BRDA:307,17,0,2
690
+ BRDA:307,17,1,1
691
+ BRDA:336,18,0,2
692
+ BRDA:336,18,1,1
677
693
  BRF:33
678
694
  BRH:33
679
695
  end_of_record
@@ -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.1",
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;