@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.
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/checkout/src/index.d.ts +6 -10
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/iap-checkout/src/order-refs.d.ts +1 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/iap-checkout/src/purchase-fields.d.ts +1 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/screens/src/index.d.ts +9 -35
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/comments-v1/src/extensions.d.ts +79 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/extensions.d.ts +221 -14
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/index.d.ts +0 -2
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/social-feed/src/index.d.ts +38 -21
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/display.d.ts +1 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/checkout.mjs +30 -13
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/iap-checkout.mjs +20 -2
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +2890 -54
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-comments.mjs +80 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-groups.mjs +45 -17
- package/dist/cli.mjs +5 -4
- package/fixtures/wix-canned.json +61 -6
- package/guides/iap-pricing.md +9 -0
- package/guides/iap-screen-adoption.md +77 -0
- package/guides/importable-sdks.md +2 -0
- package/guides/index.json +6 -0
- package/guides/release-notes.md +25 -0
- package/guides/sdk-reference.json +539 -32
- package/guides/wix-api-usage.md +5 -0
- package/package.json +2 -2
- package/templates/beauty-salon/config.ts +1 -1
- package/templates/beauty-salon/dev/index.ts +46 -18
- package/templates/beauty-salon/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/beauty-salon/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/beauty-salon/tier5-src/_shared/himi-store-collection.ts +1 -1
- package/templates/beauty-salon/tier5-src/_shared/home-service.ts +2 -1
- package/templates/beauty-salon/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/beauty-salon/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/beauty-salon/tier5-src/himi-branded-lite-cart/index.ts +48 -1
- package/templates/beauty-salon/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/beauty-salon/tier5-src/himi-branded-lite-order/index.ts +24 -3
- package/templates/beauty-salon/tier5-src/himi-branded-lite-plans/index.ts +153 -64
- package/templates/beauty-salon/tier5-src/himi-store-product/index.ts +24 -3
- package/templates/beauty-salon/tier5-src/himi-store-saved/index.ts +8 -3
- package/templates/beauty-salon/tier5-src/himi-store-shop/index.ts +10 -0
- package/templates/beauty-salon/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
- package/templates/beauty-salon-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/beauty-salon-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/beauty-salon-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/branded-lite/config.ts +1 -8
- package/templates/branded-lite/dev/index.ts +46 -134
- package/templates/branded-lite/himalaya.content.json +0 -3
- package/templates/branded-lite/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/branded-lite/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/branded-lite/tier5-src/_shared/himi-store-collection.ts +1 -1
- package/templates/branded-lite/tier5-src/_shared/home-service.ts +2 -1
- package/templates/branded-lite/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/branded-lite/tier5-src/himi-branded-lite-cart/index.ts +48 -1
- package/templates/branded-lite/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/branded-lite/tier5-src/himi-branded-lite-order/index.ts +24 -3
- package/templates/branded-lite/tier5-src/himi-branded-lite-plans/index.ts +153 -64
- package/templates/branded-lite/tier5-src/himi-store-product/index.ts +24 -3
- package/templates/branded-lite/tier5-src/himi-store-saved/index.ts +8 -3
- package/templates/branded-lite/tier5-src/himi-store-shop/index.ts +10 -0
- package/templates/branded-lite/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
- package/templates/community-club/config.ts +1 -8
- package/templates/community-club/dev/index.ts +3 -117
- package/templates/community-club/himalaya.content.json +0 -3
- package/templates/community-club/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/community-club/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/community-club/tier5-src/_shared/home-service.ts +2 -1
- package/templates/community-club/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/community-club/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/community-club/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/community-club-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/community-club-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/community-club-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/events-meetups/config.ts +1 -8
- package/templates/events-meetups/dev/index.ts +3 -117
- package/templates/events-meetups/himalaya.content.json +0 -3
- package/templates/events-meetups/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/events-meetups/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/events-meetups/tier5-src/_shared/home-service.ts +2 -1
- package/templates/events-meetups/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/events-meetups/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/events-meetups/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/events-meetups-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/events-meetups-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/events-meetups-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/gym-fitness/config.ts +1 -1
- package/templates/gym-fitness/dev/index.ts +46 -18
- package/templates/gym-fitness/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/gym-fitness/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/gym-fitness/tier5-src/_shared/himi-store-collection.ts +1 -1
- package/templates/gym-fitness/tier5-src/_shared/home-service.ts +2 -1
- package/templates/gym-fitness/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/gym-fitness/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/gym-fitness/tier5-src/himi-branded-lite-cart/index.ts +48 -1
- package/templates/gym-fitness/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/gym-fitness/tier5-src/himi-branded-lite-order/index.ts +24 -3
- package/templates/gym-fitness/tier5-src/himi-branded-lite-plans/index.ts +153 -64
- package/templates/gym-fitness/tier5-src/himi-store-product/index.ts +24 -3
- package/templates/gym-fitness/tier5-src/himi-store-saved/index.ts +8 -3
- package/templates/gym-fitness/tier5-src/himi-store-shop/index.ts +10 -0
- package/templates/gym-fitness/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
- package/templates/gym-fitness-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/gym-fitness-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/gym-fitness-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/nonprofit-cause/config.ts +1 -8
- package/templates/nonprofit-cause/dev/index.ts +29 -129
- package/templates/nonprofit-cause/himalaya.content.json +0 -3
- package/templates/nonprofit-cause/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/nonprofit-cause/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/nonprofit-cause/tier5-src/_shared/home-service.ts +2 -1
- package/templates/nonprofit-cause/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/nonprofit-cause/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/nonprofit-cause/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/nonprofit-cause/tier5-src/himi-branded-lite-plans/index.ts +153 -64
- package/templates/nonprofit-cause/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
- package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/nonprofit-cause-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/owner-lite/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/owner-lite/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/owner-lite/tier5-src/_shared/home-service.ts +2 -1
- package/templates/podcast-creator/config.ts +1 -1
- package/templates/podcast-creator/dev/index.ts +29 -13
- package/templates/podcast-creator/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/podcast-creator/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/podcast-creator/tier5-src/_shared/home-service.ts +2 -1
- package/templates/podcast-creator/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/podcast-creator/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/podcast-creator/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/podcast-creator/tier5-src/himi-branded-lite-plans/index.ts +153 -64
- package/templates/podcast-creator/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
- package/templates/podcast-creator-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/podcast-creator-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/podcast-creator-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/portfolio-creative/config.ts +1 -1
- package/templates/portfolio-creative/dev/index.ts +20 -6
- package/templates/portfolio-creative/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/portfolio-creative/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/portfolio-creative/tier5-src/_shared/himi-store-collection.ts +1 -1
- package/templates/portfolio-creative/tier5-src/_shared/home-service.ts +2 -1
- package/templates/portfolio-creative/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/portfolio-creative/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/portfolio-creative/tier5-src/himi-branded-lite-cart/index.ts +48 -1
- package/templates/portfolio-creative/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/portfolio-creative/tier5-src/himi-branded-lite-order/index.ts +24 -3
- package/templates/portfolio-creative/tier5-src/himi-store-product/index.ts +24 -3
- package/templates/portfolio-creative/tier5-src/himi-store-saved/index.ts +8 -3
- package/templates/portfolio-creative/tier5-src/himi-store-shop/index.ts +10 -0
- package/templates/portfolio-creative-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/portfolio-creative-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/portfolio-creative-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/restaurant/config.ts +1 -1
- package/templates/restaurant/dev/index.ts +3 -1
- package/templates/restaurant/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/restaurant/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/restaurant/tier5-src/_shared/home-service.ts +2 -1
- package/templates/restaurant/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/restaurant/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/restaurant/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/restaurant-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/restaurant-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/restaurant-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/retail-store/config.ts +1 -1
- package/templates/retail-store/dev/index.ts +20 -6
- package/templates/retail-store/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/retail-store/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/retail-store/tier5-src/_shared/himi-store-collection.ts +1 -1
- package/templates/retail-store/tier5-src/_shared/home-service.ts +2 -1
- package/templates/retail-store/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/retail-store/tier5-src/_shared/iap-worker.ts +42 -0
- package/templates/retail-store/tier5-src/himi-branded-lite-cart/index.ts +48 -1
- package/templates/retail-store/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/retail-store/tier5-src/himi-branded-lite-order/index.ts +24 -3
- package/templates/retail-store/tier5-src/himi-store-product/index.ts +24 -3
- package/templates/retail-store/tier5-src/himi-store-saved/index.ts +8 -3
- package/templates/retail-store/tier5-src/himi-store-shop/index.ts +10 -0
- package/templates/retail-store-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/retail-store-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/retail-store-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/yoga-studio/config.ts +1 -1
- package/templates/yoga-studio/dev/index.ts +29 -13
- package/templates/yoga-studio/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/yoga-studio/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/yoga-studio/tier5-src/_shared/home-service.ts +2 -1
- package/templates/yoga-studio/tier5-src/_shared/iap-presentation.ts +53 -0
- package/templates/yoga-studio/tier5-src/himi-branded-lite-home/index.ts +16 -2
- package/templates/yoga-studio/tier5-src/himi-branded-lite-plans/index.ts +153 -64
- package/templates/yoga-studio/tier5-src/wix-spaces-plan-detail/index.ts +8 -3
- package/templates/yoga-studio-owner/tier5-src/_shared/collection-contract.ts +1 -1
- package/templates/yoga-studio-owner/tier5-src/_shared/collection-service.ts +3 -2
- package/templates/yoga-studio-owner/tier5-src/_shared/home-service.ts +2 -1
- package/templates/branded-lite/tier5-src/wix-spaces-create-group/index.ts +0 -29
- package/templates/community-club/tier5-src/wix-spaces-create-group/index.ts +0 -29
- package/templates/events-meetups/tier5-src/wix-spaces-create-group/index.ts +0 -29
- package/templates/nonprofit-cause/tier5-src/wix-spaces-create-group/index.ts +0 -29
package/fixtures/wix-canned.json
CHANGED
|
@@ -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
|
}
|
package/guides/iap-pricing.md
CHANGED
|
@@ -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",
|
package/guides/release-notes.md
CHANGED
|
@@ -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
|