@growth-operations/ui-shared 1.5.3 → 1.5.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@growth-operations/ui-shared",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "description": "Shared HubSpot UI-extension modules (Home, Billing) for Growth Operations apps.",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -163,12 +163,17 @@ export function PlanGrid({ context, state, appKey }) {
163
163
 
164
164
  // hubspot.fetch: body is a plain OBJECT (not a JSON string); only
165
165
  // Authorization survives as a header — don't set Content-Type.
166
+ // presentation:"hosted" — a UI extension runs in a sandboxed iframe and
167
+ // can't mount Stripe's EMBEDDED checkout (no Stripe.js, nested-iframe 3DS
168
+ // fails), so request the HOSTED page and open its URL externally. The
169
+ // embedded default returns a client_secret (no url) → "No checkout URL".
166
170
  const res = await hubspot.fetch(`${base}/v1/billing/checkout`, {
167
171
  method: "POST",
168
172
  body: {
169
173
  app_key: appKey,
170
174
  portal_id: String(portalId),
171
175
  price_id: leg.price_id,
176
+ presentation: "hosted",
172
177
  return_url: returnUrl,
173
178
  },
174
179
  });