@wix/himalaya-cli 0.1323.0 → 0.1325.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.
Files changed (193) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/checkout/src/index.d.ts +6 -10
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/iap-checkout/src/order-refs.d.ts +1 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/iap-checkout/src/purchase-fields.d.ts +1 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/screens/src/index.d.ts +9 -35
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/comments-v1/src/extensions.d.ts +79 -0
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/extensions.d.ts +221 -14
  7. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/index.d.ts +0 -2
  8. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/social-feed/src/index.d.ts +38 -21
  9. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/display.d.ts +1 -0
  10. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/checkout.mjs +30 -13
  11. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/iap-checkout.mjs +20 -2
  12. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +2890 -54
  13. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-comments.mjs +80 -0
  14. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-groups.mjs +45 -17
  15. package/dist/cli.mjs +5 -4
  16. package/fixtures/wix-canned.json +61 -6
  17. package/guides/iap-pricing.md +9 -0
  18. package/guides/iap-screen-adoption.md +77 -0
  19. package/guides/importable-sdks.md +2 -0
  20. package/guides/index.json +6 -0
  21. package/guides/release-notes.md +25 -0
  22. package/guides/sdk-reference.json +539 -32
  23. package/guides/wix-api-usage.md +5 -0
  24. package/package.json +2 -2
  25. package/templates/beauty-salon/config.ts +1 -1
  26. package/templates/beauty-salon/dev/index.ts +46 -18
  27. package/templates/beauty-salon/tier5-src/_shared/collection-contract.ts +1 -1
  28. package/templates/beauty-salon/tier5-src/_shared/collection-service.ts +3 -2
  29. package/templates/beauty-salon/tier5-src/_shared/himi-store-collection.ts +1 -1
  30. package/templates/beauty-salon/tier5-src/_shared/home-service.ts +2 -1
  31. package/templates/beauty-salon/tier5-src/_shared/iap-presentation.ts +53 -0
  32. package/templates/beauty-salon/tier5-src/_shared/iap-worker.ts +42 -0
  33. package/templates/beauty-salon/tier5-src/himi-branded-lite-cart/index.ts +48 -1
  34. package/templates/beauty-salon/tier5-src/himi-branded-lite-home/index.ts +16 -2
  35. package/templates/beauty-salon/tier5-src/himi-branded-lite-order/index.ts +24 -3
  36. package/templates/beauty-salon/tier5-src/himi-branded-lite-plans/index.ts +153 -64
  37. package/templates/beauty-salon/tier5-src/himi-store-product/index.ts +24 -3
  38. package/templates/beauty-salon/tier5-src/himi-store-saved/index.ts +8 -3
  39. package/templates/beauty-salon/tier5-src/himi-store-shop/index.ts +10 -0
  40. package/templates/beauty-salon/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
  41. package/templates/beauty-salon-owner/tier5-src/_shared/collection-contract.ts +1 -1
  42. package/templates/beauty-salon-owner/tier5-src/_shared/collection-service.ts +3 -2
  43. package/templates/beauty-salon-owner/tier5-src/_shared/home-service.ts +2 -1
  44. package/templates/branded-lite/config.ts +1 -8
  45. package/templates/branded-lite/dev/index.ts +46 -134
  46. package/templates/branded-lite/himalaya.content.json +0 -3
  47. package/templates/branded-lite/tier5-src/_shared/collection-contract.ts +1 -1
  48. package/templates/branded-lite/tier5-src/_shared/collection-service.ts +3 -2
  49. package/templates/branded-lite/tier5-src/_shared/himi-store-collection.ts +1 -1
  50. package/templates/branded-lite/tier5-src/_shared/home-service.ts +2 -1
  51. package/templates/branded-lite/tier5-src/_shared/iap-presentation.ts +53 -0
  52. package/templates/branded-lite/tier5-src/himi-branded-lite-cart/index.ts +48 -1
  53. package/templates/branded-lite/tier5-src/himi-branded-lite-home/index.ts +16 -2
  54. package/templates/branded-lite/tier5-src/himi-branded-lite-order/index.ts +24 -3
  55. package/templates/branded-lite/tier5-src/himi-branded-lite-plans/index.ts +153 -64
  56. package/templates/branded-lite/tier5-src/himi-store-product/index.ts +24 -3
  57. package/templates/branded-lite/tier5-src/himi-store-saved/index.ts +8 -3
  58. package/templates/branded-lite/tier5-src/himi-store-shop/index.ts +10 -0
  59. package/templates/branded-lite/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
  60. package/templates/community-club/config.ts +1 -8
  61. package/templates/community-club/dev/index.ts +3 -117
  62. package/templates/community-club/himalaya.content.json +0 -3
  63. package/templates/community-club/tier5-src/_shared/collection-contract.ts +1 -1
  64. package/templates/community-club/tier5-src/_shared/collection-service.ts +3 -2
  65. package/templates/community-club/tier5-src/_shared/home-service.ts +2 -1
  66. package/templates/community-club/tier5-src/_shared/iap-presentation.ts +53 -0
  67. package/templates/community-club/tier5-src/_shared/iap-worker.ts +42 -0
  68. package/templates/community-club/tier5-src/himi-branded-lite-home/index.ts +16 -2
  69. package/templates/community-club-owner/tier5-src/_shared/collection-contract.ts +1 -1
  70. package/templates/community-club-owner/tier5-src/_shared/collection-service.ts +3 -2
  71. package/templates/community-club-owner/tier5-src/_shared/home-service.ts +2 -1
  72. package/templates/events-meetups/config.ts +1 -8
  73. package/templates/events-meetups/dev/index.ts +3 -117
  74. package/templates/events-meetups/himalaya.content.json +0 -3
  75. package/templates/events-meetups/tier5-src/_shared/collection-contract.ts +1 -1
  76. package/templates/events-meetups/tier5-src/_shared/collection-service.ts +3 -2
  77. package/templates/events-meetups/tier5-src/_shared/home-service.ts +2 -1
  78. package/templates/events-meetups/tier5-src/_shared/iap-presentation.ts +53 -0
  79. package/templates/events-meetups/tier5-src/_shared/iap-worker.ts +42 -0
  80. package/templates/events-meetups/tier5-src/himi-branded-lite-home/index.ts +16 -2
  81. package/templates/events-meetups-owner/tier5-src/_shared/collection-contract.ts +1 -1
  82. package/templates/events-meetups-owner/tier5-src/_shared/collection-service.ts +3 -2
  83. package/templates/events-meetups-owner/tier5-src/_shared/home-service.ts +2 -1
  84. package/templates/gym-fitness/config.ts +1 -1
  85. package/templates/gym-fitness/dev/index.ts +46 -18
  86. package/templates/gym-fitness/tier5-src/_shared/collection-contract.ts +1 -1
  87. package/templates/gym-fitness/tier5-src/_shared/collection-service.ts +3 -2
  88. package/templates/gym-fitness/tier5-src/_shared/himi-store-collection.ts +1 -1
  89. package/templates/gym-fitness/tier5-src/_shared/home-service.ts +2 -1
  90. package/templates/gym-fitness/tier5-src/_shared/iap-presentation.ts +53 -0
  91. package/templates/gym-fitness/tier5-src/_shared/iap-worker.ts +42 -0
  92. package/templates/gym-fitness/tier5-src/himi-branded-lite-cart/index.ts +48 -1
  93. package/templates/gym-fitness/tier5-src/himi-branded-lite-home/index.ts +16 -2
  94. package/templates/gym-fitness/tier5-src/himi-branded-lite-order/index.ts +24 -3
  95. package/templates/gym-fitness/tier5-src/himi-branded-lite-plans/index.ts +153 -64
  96. package/templates/gym-fitness/tier5-src/himi-store-product/index.ts +24 -3
  97. package/templates/gym-fitness/tier5-src/himi-store-saved/index.ts +8 -3
  98. package/templates/gym-fitness/tier5-src/himi-store-shop/index.ts +10 -0
  99. package/templates/gym-fitness/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
  100. package/templates/gym-fitness-owner/tier5-src/_shared/collection-contract.ts +1 -1
  101. package/templates/gym-fitness-owner/tier5-src/_shared/collection-service.ts +3 -2
  102. package/templates/gym-fitness-owner/tier5-src/_shared/home-service.ts +2 -1
  103. package/templates/nonprofit-cause/config.ts +1 -8
  104. package/templates/nonprofit-cause/dev/index.ts +29 -129
  105. package/templates/nonprofit-cause/himalaya.content.json +0 -3
  106. package/templates/nonprofit-cause/tier5-src/_shared/collection-contract.ts +1 -1
  107. package/templates/nonprofit-cause/tier5-src/_shared/collection-service.ts +3 -2
  108. package/templates/nonprofit-cause/tier5-src/_shared/home-service.ts +2 -1
  109. package/templates/nonprofit-cause/tier5-src/_shared/iap-presentation.ts +53 -0
  110. package/templates/nonprofit-cause/tier5-src/_shared/iap-worker.ts +42 -0
  111. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-home/index.ts +16 -2
  112. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-plans/index.ts +153 -64
  113. package/templates/nonprofit-cause/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
  114. package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-contract.ts +1 -1
  115. package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-service.ts +3 -2
  116. package/templates/nonprofit-cause-owner/tier5-src/_shared/home-service.ts +2 -1
  117. package/templates/owner-lite/tier5-src/_shared/collection-contract.ts +1 -1
  118. package/templates/owner-lite/tier5-src/_shared/collection-service.ts +3 -2
  119. package/templates/owner-lite/tier5-src/_shared/home-service.ts +2 -1
  120. package/templates/podcast-creator/config.ts +1 -1
  121. package/templates/podcast-creator/dev/index.ts +29 -13
  122. package/templates/podcast-creator/tier5-src/_shared/collection-contract.ts +1 -1
  123. package/templates/podcast-creator/tier5-src/_shared/collection-service.ts +3 -2
  124. package/templates/podcast-creator/tier5-src/_shared/home-service.ts +2 -1
  125. package/templates/podcast-creator/tier5-src/_shared/iap-presentation.ts +53 -0
  126. package/templates/podcast-creator/tier5-src/_shared/iap-worker.ts +42 -0
  127. package/templates/podcast-creator/tier5-src/himi-branded-lite-home/index.ts +16 -2
  128. package/templates/podcast-creator/tier5-src/himi-branded-lite-plans/index.ts +153 -64
  129. package/templates/podcast-creator/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
  130. package/templates/podcast-creator-owner/tier5-src/_shared/collection-contract.ts +1 -1
  131. package/templates/podcast-creator-owner/tier5-src/_shared/collection-service.ts +3 -2
  132. package/templates/podcast-creator-owner/tier5-src/_shared/home-service.ts +2 -1
  133. package/templates/portfolio-creative/config.ts +1 -1
  134. package/templates/portfolio-creative/dev/index.ts +20 -6
  135. package/templates/portfolio-creative/tier5-src/_shared/collection-contract.ts +1 -1
  136. package/templates/portfolio-creative/tier5-src/_shared/collection-service.ts +3 -2
  137. package/templates/portfolio-creative/tier5-src/_shared/himi-store-collection.ts +1 -1
  138. package/templates/portfolio-creative/tier5-src/_shared/home-service.ts +2 -1
  139. package/templates/portfolio-creative/tier5-src/_shared/iap-presentation.ts +53 -0
  140. package/templates/portfolio-creative/tier5-src/_shared/iap-worker.ts +42 -0
  141. package/templates/portfolio-creative/tier5-src/himi-branded-lite-cart/index.ts +48 -1
  142. package/templates/portfolio-creative/tier5-src/himi-branded-lite-home/index.ts +16 -2
  143. package/templates/portfolio-creative/tier5-src/himi-branded-lite-order/index.ts +24 -3
  144. package/templates/portfolio-creative/tier5-src/himi-store-product/index.ts +24 -3
  145. package/templates/portfolio-creative/tier5-src/himi-store-saved/index.ts +8 -3
  146. package/templates/portfolio-creative/tier5-src/himi-store-shop/index.ts +10 -0
  147. package/templates/portfolio-creative-owner/tier5-src/_shared/collection-contract.ts +1 -1
  148. package/templates/portfolio-creative-owner/tier5-src/_shared/collection-service.ts +3 -2
  149. package/templates/portfolio-creative-owner/tier5-src/_shared/home-service.ts +2 -1
  150. package/templates/restaurant/config.ts +1 -1
  151. package/templates/restaurant/dev/index.ts +3 -1
  152. package/templates/restaurant/tier5-src/_shared/collection-contract.ts +1 -1
  153. package/templates/restaurant/tier5-src/_shared/collection-service.ts +3 -2
  154. package/templates/restaurant/tier5-src/_shared/home-service.ts +2 -1
  155. package/templates/restaurant/tier5-src/_shared/iap-presentation.ts +53 -0
  156. package/templates/restaurant/tier5-src/_shared/iap-worker.ts +42 -0
  157. package/templates/restaurant/tier5-src/himi-branded-lite-home/index.ts +16 -2
  158. package/templates/restaurant-owner/tier5-src/_shared/collection-contract.ts +1 -1
  159. package/templates/restaurant-owner/tier5-src/_shared/collection-service.ts +3 -2
  160. package/templates/restaurant-owner/tier5-src/_shared/home-service.ts +2 -1
  161. package/templates/retail-store/config.ts +1 -1
  162. package/templates/retail-store/dev/index.ts +20 -6
  163. package/templates/retail-store/tier5-src/_shared/collection-contract.ts +1 -1
  164. package/templates/retail-store/tier5-src/_shared/collection-service.ts +3 -2
  165. package/templates/retail-store/tier5-src/_shared/himi-store-collection.ts +1 -1
  166. package/templates/retail-store/tier5-src/_shared/home-service.ts +2 -1
  167. package/templates/retail-store/tier5-src/_shared/iap-presentation.ts +53 -0
  168. package/templates/retail-store/tier5-src/_shared/iap-worker.ts +42 -0
  169. package/templates/retail-store/tier5-src/himi-branded-lite-cart/index.ts +48 -1
  170. package/templates/retail-store/tier5-src/himi-branded-lite-home/index.ts +16 -2
  171. package/templates/retail-store/tier5-src/himi-branded-lite-order/index.ts +24 -3
  172. package/templates/retail-store/tier5-src/himi-store-product/index.ts +24 -3
  173. package/templates/retail-store/tier5-src/himi-store-saved/index.ts +8 -3
  174. package/templates/retail-store/tier5-src/himi-store-shop/index.ts +10 -0
  175. package/templates/retail-store-owner/tier5-src/_shared/collection-contract.ts +1 -1
  176. package/templates/retail-store-owner/tier5-src/_shared/collection-service.ts +3 -2
  177. package/templates/retail-store-owner/tier5-src/_shared/home-service.ts +2 -1
  178. package/templates/yoga-studio/config.ts +1 -1
  179. package/templates/yoga-studio/dev/index.ts +29 -13
  180. package/templates/yoga-studio/tier5-src/_shared/collection-contract.ts +1 -1
  181. package/templates/yoga-studio/tier5-src/_shared/collection-service.ts +3 -2
  182. package/templates/yoga-studio/tier5-src/_shared/home-service.ts +2 -1
  183. package/templates/yoga-studio/tier5-src/_shared/iap-presentation.ts +53 -0
  184. package/templates/yoga-studio/tier5-src/himi-branded-lite-home/index.ts +16 -2
  185. package/templates/yoga-studio/tier5-src/himi-branded-lite-plans/index.ts +153 -64
  186. package/templates/yoga-studio/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
  187. package/templates/yoga-studio-owner/tier5-src/_shared/collection-contract.ts +1 -1
  188. package/templates/yoga-studio-owner/tier5-src/_shared/collection-service.ts +3 -2
  189. package/templates/yoga-studio-owner/tier5-src/_shared/home-service.ts +2 -1
  190. package/templates/branded-lite/tier5-src/wix-spaces-create-group/index.ts +0 -29
  191. package/templates/community-club/tier5-src/wix-spaces-create-group/index.ts +0 -29
  192. package/templates/events-meetups/tier5-src/wix-spaces-create-group/index.ts +0 -29
  193. package/templates/nonprofit-cause/tier5-src/wix-spaces-create-group/index.ts +0 -29
@@ -21,7 +21,8 @@
21
21
  "formattedAmount": "$38.00"
22
22
  }
23
23
  },
24
- "plainDescription": "Hand-thrown stoneware, 500ml."
24
+ "plainDescription": "Hand-thrown stoneware, 500ml.",
25
+ "productType": "physical"
25
26
  },
26
27
  {
27
28
  "id": "prod-0002",
@@ -39,7 +40,8 @@
39
40
  "formattedAmount": "$129.00"
40
41
  }
41
42
  },
42
- "plainDescription": "40 stepped settings."
43
+ "plainDescription": "40 stepped settings.",
44
+ "productType": "physical"
43
45
  },
44
46
  {
45
47
  "id": "prod-0003",
@@ -57,7 +59,8 @@
57
59
  "formattedAmount": "$18.50"
58
60
  }
59
61
  },
60
- "plainDescription": "Ethiopia Yirgacheffe, 250g."
62
+ "plainDescription": "Ethiopia Yirgacheffe, 250g.",
63
+ "productType": "physical"
61
64
  }
62
65
  ],
63
66
  "pagingMetadata": {
@@ -88,7 +91,8 @@
88
91
  "formattedAmount": "$38.00"
89
92
  },
90
93
  "catalogReference": {
91
- "catalogItemId": "prod-0001"
94
+ "catalogItemId": "prod-0001",
95
+ "appId": "215238eb-22a5-4c36-9e7b-e7c08025e04e"
92
96
  }
93
97
  },
94
98
  {
@@ -110,7 +114,8 @@
110
114
  "formattedAmount": "$18.50"
111
115
  },
112
116
  "catalogReference": {
113
- "catalogItemId": "prod-0003"
117
+ "catalogItemId": "prod-0003",
118
+ "appId": "215238eb-22a5-4c36-9e7b-e7c08025e04e"
114
119
  }
115
120
  }
116
121
  ],
@@ -1563,7 +1568,8 @@
1563
1568
  "formattedAmount": "$38.00"
1564
1569
  }
1565
1570
  },
1566
- "plainDescription": "Hand-thrown stoneware, 500ml."
1571
+ "plainDescription": "Hand-thrown stoneware, 500ml.",
1572
+ "productType": "physical"
1567
1573
  }
1568
1574
  },
1569
1575
  "GET /bookings/v2/services/svc-0001": {
@@ -2015,5 +2021,54 @@
2015
2021
  "description": "Browse products by category from the shop header."
2016
2022
  }
2017
2023
  ]
2024
+ },
2025
+ "GET /stores/v3/products/prod-0002": {
2026
+ "product": {
2027
+ "id": "prod-0002",
2028
+ "name": "Burr Grinder",
2029
+ "slug": "burr-grinder",
2030
+ "visible": true,
2031
+ "media": {
2032
+ "main": {
2033
+ "image": "https://static.wixstatic.com/media/example-grinder.jpg"
2034
+ }
2035
+ },
2036
+ "actualPriceRange": {
2037
+ "minValue": {
2038
+ "amount": "129.00",
2039
+ "formattedAmount": "$129.00"
2040
+ }
2041
+ },
2042
+ "plainDescription": "40 stepped settings.",
2043
+ "productType": "physical"
2044
+ }
2045
+ },
2046
+ "GET /stores/v3/products/prod-0003": {
2047
+ "product": {
2048
+ "id": "prod-0003",
2049
+ "name": "Single-Origin Beans",
2050
+ "slug": "single-origin-beans",
2051
+ "visible": true,
2052
+ "media": {
2053
+ "main": {
2054
+ "image": "https://static.wixstatic.com/media/example-beans.jpg"
2055
+ }
2056
+ },
2057
+ "actualPriceRange": {
2058
+ "minValue": {
2059
+ "amount": "18.50",
2060
+ "formattedAmount": "$18.50"
2061
+ }
2062
+ },
2063
+ "plainDescription": "Ethiopia Yirgacheffe, 250g.",
2064
+ "productType": "physical"
2065
+ }
2066
+ },
2067
+ "GET /pricing-plans/v2/member/orders": {
2068
+ "orders": []
2069
+ },
2070
+ "POST /ecom/v1/checkouts/chk-0001/create-order": {
2071
+ "orderId": "order-0001",
2072
+ "paymentGatewayOrderId": "payment-0001"
2018
2073
  }
2019
2074
  }
@@ -190,3 +190,12 @@ Register your digital products with `himi store iap` (see `himi docs iap-product
190
190
  connects the mapping service those registrations feed, screens that use this layer start showing
191
191
  App Store prices on their next build — in an app that grants the `iap` capability in `config.ts`.
192
192
  Screens that do not use the layer are unaffected.
193
+
194
+ ## Remaining purchase screens
195
+
196
+ The Plans list, read-only Plan detail and shared paywall now display the same localized
197
+ Apple offer; their existing Join action uses the shared Plans adapter only for supported
198
+ one-time unlimited Plans. Store detail/catalog/saved/home/cart offers also use shared pricing.
199
+ Their digital purchase actions stay blocked until a verified member-readable fulfillment
200
+ contract exists. See [screen coverage and migration](iap-screen-adoption.md) before copying
201
+ these workers or claiming a live purchase. Existing app copies do not update automatically.
@@ -0,0 +1,77 @@
1
+ # IAP screen adoption and remaining acceptance
2
+
3
+ This screen pass builds on the shared commerce composition and Serve contracts in
4
+ [iap-wix-checkout.md](iap-wix-checkout.md). It changes screen consumers, not product
5
+ registration, app binding, native purchase coordination or deployment.
6
+
7
+ ## Entry-point coverage
8
+
9
+ The inventory searched worker sources, `apps/*/dev`, `packages/*/dev`, retired `fixtures/*/dev`, the root `members-library` example, shared factories
10
+ and generated templates. Historical receipts retain their recorded amounts.
11
+
12
+ | Entry point | Identity and displayed offer | Result |
13
+ |---|---|---|
14
+ | `himi-branded-lite-plans` | Pricing Plan ID; `priceLine` | Shared Apple pricing and existing Join action through `pricingPlanOrders`; only one-time unlimited Plans can start Apple checkout |
15
+ | `wix-spaces-plan-detail` | Pricing Plan ID; `price` | Shared pricing; remains read-only |
16
+ | `createCheckoutService` / `checkoutScreen` | Pricing Plan ID; `priceLine` | Same shared Plans pricing and purchase; existing options, copy, login destination and factory shape retained |
17
+ | `himi-store-product` | Stores product ID; `price` | Shared pricing; physical options/add/save retained; digital checkout blocked pending a verified fulfillment contract |
18
+ | `himi-store-shop` | Stores product ID; price in `subtitle` | Batched visible pricing, including paged results; saved/cache metadata retains the commerce price rather than an Apple offer |
19
+ | `himi-store-saved` | Stored product ID; `price` | Reprices saved rows through the shared source when shown; no added purchase action |
20
+ | `himi-branded-lite-home` | Stores product IDs; hero and rail prices | Shared pricing on visible product offers; navigation-only Program cards remain unchanged |
21
+ | `himi-branded-lite-cart` | Full catalog app/item/options reference and quantity; line `total` | Refreshes the current cart and routes before payment; only verified physical regular carts keep checkout; Apple, mixed, multiple-digital, unknown and unverified digital carts are blocked |
22
+ | `himi-store-cart` | Full catalog reference; line `total` | Consistent shared prices and suppressed Wix subtotal when routes are unsettled or Apple; remains read-only |
23
+ | `himi-branded-lite-order` | Original catalog app/item/options and quantity | Preserves references; checks current routing and catalog facts before re-adding physical items; never reprices the paid receipt |
24
+ | `video-courses-preview` / Atlas | `storeProductId`, plus course-specific member access mirror | Deferred: deployment and usable course access are unverified. Existing native digital-checkout guard remains; this pass does not introduce a Videos adapter |
25
+ | `wix-spaces-product-detail`, `wix-spaces-shop`, `wix-spaces-saved`, `wix-spaces-cart` | Legacy worker sources | Retired `fixtures/wix-spaces-clone/dev` descriptors still reference these workers; no active app or generated template consumer. Legacy pricing/checkout is not migrated or certified for managed Apple IAP |
26
+ | `hip-shop-product`, `hip-shop-home`, `hip-shop-explore`, `hip-shop-saved`, `hip-shop-cart` | Legacy worker sources | Retired `fixtures/hip-shop/dev` descriptors reference these workers; no active app or generated template consumer. Legacy pricing/checkout is not migrated or certified for managed Apple IAP |
27
+ | `family-cart` (Family Cart and Himi Game) | Demo household/game economy | Not a Wix purchase path; unchanged |
28
+ | LiftGear | Customer-owned off-repo copy | No source location supplied to this workspace. Requires explicit worker migration; template regeneration cannot update it |
29
+
30
+ The generated templates are discovered from the affected source workers, not a maintained
31
+ count. Plans workers are executed from every generated copy in the regression suite.
32
+ `fixtures/plans-checkout/paywall-worker.ts` is an executable non-template consumer of the
33
+ real public factory; it uses the existing checkout world and worker runtime harness.
34
+ The example is a root content package rather than a registered native app. The committed root `members-library/` content example uses the public factory and now declares `iap` and `app_info`; its copied SDK must be updated before publishing. Retired fixture checkout workers retain their legacy behavior and require explicit migration before being used in a managed Apple-IAP app.
35
+
36
+ ## Access and blocked purchases
37
+
38
+ Plans read the current member's selected Plan through
39
+ `GET /pricing-plans/v2/member/orders`, using status filters and offset paging. Only
40
+ `ACTIVE` grants usable access. A paid future-start order remains pending. Session changes
41
+ withdraw the shared checkout's access state; reading existing access never creates an order.
42
+
43
+ The existing Stores adapter reads `paymentStatus: PAID` as granted. That proves payment,
44
+ not usable delivery of a download or course. It also lacks a verified member-scoped
45
+ existing-ownership read. These screens therefore do **not** install `storesProductOrders`
46
+ for sales. No Apple charge, hosted checkout or optimistic cart mutation is used to work
47
+ around missing fulfillment. A confirmed physical product retains its regular checkout.
48
+ Unknown product facts, unsupported catalog apps and missing routing fail closed.
49
+
50
+ Stores fulfillment, post-success removal of the original digital cart line, and Atlas
51
+ course purchasing remain deferred until the relevant member-access contract is verified.
52
+ No live Pricing Plans or Stores purchase has been proved by the hermetic tests or UI
53
+ fixtures. Sandbox purchase, backend approval and vertical access require separate acceptance
54
+ with authorized test data. Production purchases and restore/refund claims are outside this pass.
55
+
56
+ ## Migrating an existing app copy
57
+
58
+ 1. Update the SDK to the shared `createIapCommerce` export. Follow the existing
59
+ [binding/setup instructions](iap-wix-checkout.md#using-it-from-a-screen); a rebuild
60
+ does not register products or configure a provider.
61
+ 2. Copy the adopted worker and its `_shared` dependencies from the regenerated template,
62
+ or explicitly call the exported composition in a custom worker. Keep one composition
63
+ per worker. Price lists pass no adapters; supported Plans sellers pass
64
+ `adapters: [pricingPlanOrders]`.
65
+ 3. Pass real `{ kind, id }` references and commerce display prices to `loadPrices` in one
66
+ batch. Bind `iapPriceFields` and `purchaseFields` rather than calling StoreKit or the
67
+ payment client directly. Call `start` on entry, `reconcile` on resume and the shared
68
+ `poll` through the worker's `_poll` directive.
69
+ 4. Bind the worker's CTA label, disabled state and customer status, and declare `iap`,
70
+ `app_info`, `wix_api` plus its existing capabilities. Declare them in the app envelope
71
+ too; an older binary may need rebuilding. Keep offers and access out of hydration.
72
+ 5. Retain the full catalog reference through saved/cart/reorder paths. Keep historical
73
+ amounts intact. Keep unsupported digital items blocked, and validate the copied app
74
+ independently on its supported surfaces.
75
+
76
+ The Store presentation decorator is display glue over the exported composition: it does
77
+ not add a mapping cache, payment engine, timer, entitlement API or native purchase call.
@@ -35,6 +35,7 @@ package in one greppable file) or `GET /v1/sdk/<name>` over HTTP; in the CLI,
35
35
  - `@himalaya/hhp` — —
36
36
  - `@himalaya/himi-apps` — Tier-5 typed binding for cross-app open / host queries.
37
37
  - `@himalaya/iap` — Tier-5 typed binding to the platform's in-app-purchase capability.
38
+ - `@himalaya/iap-checkout` — @wix/himalaya/iap-checkout — the ONE shared flow that sells a digital Wix item through the App Store, for any screen: a vertical order, its `appleIAP` cashier charge, mobile-apps-wix-iap's payment, the managed StoreKit purchase and the vertical's own access read.
38
39
  - `@himalaya/keyboard` — Tier-5 typed binding for the platform's keyboard capability.
39
40
  - `@himalaya/kyber-api` — narrow Tier-5 binding for Kyber BO HTTP calls.
40
41
  - `@himalaya/live-activity` — Tier-5 typed binding to the platform's Live Activity capability.
@@ -49,6 +50,7 @@ package in one greppable file) or `GET /v1/sdk/<name>` over HTTP; in the CLI,
49
50
  - `@himalaya/presigned-upload` — Tier-5 typed binding for a RAW binary upload to a pre-signed, self-authorizing URL.
50
51
  - `@himalaya/push` — Tier-5 typed binding to the platform's push capability.
51
52
  - `@himalaya/release-control` — Tier-5 typed binding for the on-device OTA release picker.
53
+ - `@himalaya/screens` — @wix/himalaya/screens — ready-made sign-in and paywall screens.
52
54
  - `@himalaya/sdk-types` — shared types for the Tier-5 SDK capability surface.
53
55
  - `@himalaya/secure-storage` — Tier-5 typed binding to the platform's secure-storage capability.
54
56
  - `@himalaya/share` — Tier-5 typed binding for the system share sheet.
package/guides/index.json CHANGED
@@ -354,6 +354,12 @@
354
354
  "category": "CLI & Loop",
355
355
  "file": "iap-products.md"
356
356
  },
357
+ {
358
+ "id": "iap-screen-adoption",
359
+ "title": "IAP screen coverage and migration",
360
+ "category": "Workers & SDKs",
361
+ "file": "iap-screen-adoption.md"
362
+ },
357
363
  {
358
364
  "id": "iap-pricing",
359
365
  "title": "Showing App Store prices on any screen",
@@ -14,6 +14,31 @@ areas, always in the same order, so you can skim for the one you care about.
14
14
 
15
15
  ---
16
16
 
17
+ ## 2026-10-11
18
+
19
+ ### Logic, data & SDKs
20
+
21
+ - **`@himalaya/wix-groups` gains admin/moderation coverage**: list + approve/reject a
22
+ group's pending join requests, assign/unassign a member's role, remove a member, and
23
+ `updateGroupSettings` for the group's `settings` block. **`@himalaya/wix-comments`
24
+ gains `createGroupPostComment`/`listGroupPostComments`**, wiring a group feed post's
25
+ comment thread with the real two-level `contextId=groupId`/`resourceId=feedItemId`
26
+ scoping, including reply threads and pagination.
27
+ - **Every `@himalaya/wix-groups` and `@himalaya/wix-social-feed` function now states its
28
+ real auth scope in its JSDoc** (`@scope visitor|member|owner`), audited after a confirmed
29
+ finding: `createGroup` requires a true owner/admin-scoped API token and 403s for every
30
+ member session — including the site owner's own account signed in via the app's normal
31
+ member-login flow. There is no member-side workaround. `updateGroup`/`deleteGroup` write
32
+ the same entity through the same write-class and are very likely gated the same way, but
33
+ were not independently re-tested this round. (#4033)
34
+
35
+ ### Branded Lite & Owner Lite
36
+
37
+ - **Removed "Create Group" from Branded Lite, Community Club, Events & Meetups, and
38
+ Nonprofit & Cause** (template default nav + the live Branded Lite app) — it
39
+ called `createGroup`, which cannot succeed from any consumer member session (see above).
40
+ No member-reachable alternative exists today. (#4033)
41
+
17
42
  ## 2026-09-28
18
43
 
19
44
  ### Logic, data & SDKs