@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 +1 -1
- package/src/billing/PlanGrid.jsx +5 -0
package/package.json
CHANGED
package/src/billing/PlanGrid.jsx
CHANGED
|
@@ -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
|
});
|