@whop/checkout 0.0.54 → 0.1.0-beta.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.
- package/dist/static/checkout/chunk-K4B5BFGB.mjs +1 -0
- package/dist/static/checkout/chunk-OATLIYZY.mjs +1 -0
- package/dist/static/checkout/index.cjs +1 -1
- package/dist/static/checkout/index.js +1 -1
- package/dist/static/checkout/index.mjs +1 -1
- package/dist/static/checkout/react/index.cjs +1 -1
- package/dist/static/checkout/react/index.d.mts +149 -3
- package/dist/static/checkout/react/index.d.ts +149 -3
- package/dist/static/checkout/react/index.js +1 -1
- package/dist/static/checkout/react/index.mjs +1 -1
- package/dist/static/checkout/{util-B6KR6FD1.d.mts → util-X7X3lKtg.d.mts} +131 -5
- package/dist/static/checkout/{util-B6KR6FD1.d.ts → util-X7X3lKtg.d.ts} +131 -5
- package/dist/static/checkout/util.cjs +1 -1
- package/dist/static/checkout/util.d.mts +1 -1
- package/dist/static/checkout/util.d.ts +1 -1
- package/dist/static/checkout/util.js +1 -1
- package/dist/static/checkout/util.mjs +1 -1
- package/package.json +2 -2
- package/dist/static/checkout/chunk-7P7BMAA4.mjs +0 -1
|
@@ -217,6 +217,11 @@ declare global {
|
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
type WhopCheckoutState = "loading" | "ready" | "disabled";
|
|
220
|
+
type WhopExpressButtonMethod = "apple-pay" | "whop-pay";
|
|
221
|
+
type WhopExpressButtonRendered = "apple-pay" | "google-pay" | "whop-pay" | "none";
|
|
222
|
+
type WhopExpressMethodResolved = {
|
|
223
|
+
rendered: WhopExpressButtonRendered;
|
|
224
|
+
};
|
|
220
225
|
type WhopCheckoutPromoCode = {
|
|
221
226
|
amount: number;
|
|
222
227
|
code: string;
|
|
@@ -235,6 +240,10 @@ type WhopCheckoutCurrencyChanged = {
|
|
|
235
240
|
currency: string;
|
|
236
241
|
exchange_rate: number | null;
|
|
237
242
|
};
|
|
243
|
+
type WhopCheckoutPaymentError = {
|
|
244
|
+
message: string;
|
|
245
|
+
code?: string;
|
|
246
|
+
};
|
|
238
247
|
type EmbeddedCheckoutBaseEvent<T extends Record<string, unknown>> = {
|
|
239
248
|
__scope: "whop-embedded-checkout";
|
|
240
249
|
event_id: string;
|
|
@@ -330,7 +339,9 @@ type WhopCheckoutMessage = {
|
|
|
330
339
|
event: "address-validation-error";
|
|
331
340
|
error_message: string;
|
|
332
341
|
error_code: string;
|
|
333
|
-
} | {
|
|
342
|
+
} | ({
|
|
343
|
+
event: "payment-error";
|
|
344
|
+
} & WhopCheckoutPaymentError) | {
|
|
334
345
|
event: "promo-code-changed";
|
|
335
346
|
promoCode: WhopCheckoutPromoCode | null;
|
|
336
347
|
} | {
|
|
@@ -351,12 +362,57 @@ type WhopCheckoutMessage = {
|
|
|
351
362
|
ok: false;
|
|
352
363
|
error: string;
|
|
353
364
|
event_id: string;
|
|
365
|
+
} | ({
|
|
366
|
+
event: "express-method-resolved";
|
|
367
|
+
} & WhopExpressMethodResolved) | {
|
|
368
|
+
event: "express-loading";
|
|
369
|
+
loading: boolean;
|
|
370
|
+
} | {
|
|
371
|
+
event: "request-overlay";
|
|
372
|
+
channelId: string;
|
|
373
|
+
} | {
|
|
374
|
+
event: "request-requirement-overlay";
|
|
375
|
+
channelId: string;
|
|
376
|
+
/**
|
|
377
|
+
* Optional pre-built URL the source iframe wants opened, so its theme /
|
|
378
|
+
* accent color / other search params can flow through to the
|
|
379
|
+
* requirement iframe. The host validates same-origin + path before
|
|
380
|
+
* using it; an invalid or missing value falls back to a URL built by
|
|
381
|
+
* `getRequirementOverlayIframeUrl`. The source iframe is responsible
|
|
382
|
+
* for stripping any `secret` — the session is bridged via BroadcastChannel.
|
|
383
|
+
*/
|
|
384
|
+
iframeSrc?: string;
|
|
385
|
+
} | {
|
|
386
|
+
event: "close-overlay";
|
|
387
|
+
channelId?: string;
|
|
354
388
|
} | PaymentRequestMerchantValidationResult | PaymentRequestUpdateRequest | PaymentRequestCreateRequest | PaymentRequestEventResult | PlaidTokenRequest | PlaidReadyEvent;
|
|
355
389
|
declare function isWhopCheckoutMessage(event: MessageEvent<unknown>): event is MessageEvent<WhopCheckoutMessage>;
|
|
356
390
|
|
|
391
|
+
/**
|
|
392
|
+
* Structural subset of `createOverlayHost`'s return value (see overlay-host.ts)
|
|
393
|
+
* — declared inline to keep util.ts free of a circular import. When an
|
|
394
|
+
* `overlayHost` is supplied, `onWhopCheckoutMessage` intercepts the host-side
|
|
395
|
+
* overlay events centrally, the same way it already intercepts payment-request
|
|
396
|
+
* and plaid. This is what makes overlay handling un-driftable across mount
|
|
397
|
+
* paths: callers can't forget the events because they're handled here and
|
|
398
|
+
* type-excluded from the callback below.
|
|
399
|
+
*/
|
|
400
|
+
interface OverlayMessageHandler {
|
|
401
|
+
handleOverlayRequest(message: {
|
|
402
|
+
event: "request-overlay";
|
|
403
|
+
channelId: string;
|
|
404
|
+
} | {
|
|
405
|
+
event: "request-requirement-overlay";
|
|
406
|
+
channelId: string;
|
|
407
|
+
iframeSrc?: string;
|
|
408
|
+
}): void;
|
|
409
|
+
handleCloseOverlay(message: {
|
|
410
|
+
channelId?: string;
|
|
411
|
+
}): void;
|
|
412
|
+
}
|
|
357
413
|
declare function onWhopCheckoutMessage(iframe: HTMLIFrameElement, callback: (message: Exclude<WhopCheckoutMessage, Extract<WhopCheckoutMessage, {
|
|
358
|
-
event: "payment-request-create-request" | "payment-request-update-request" | "plaid-token-request" | "plaid-ready";
|
|
359
|
-
}>>) => void): () => void;
|
|
414
|
+
event: "payment-request-create-request" | "payment-request-update-request" | "plaid-token-request" | "plaid-ready" | "request-overlay" | "request-requirement-overlay";
|
|
415
|
+
}>>) => void, overlayHost?: OverlayMessageHandler): () => void;
|
|
360
416
|
declare function setEmail(frame: HTMLIFrameElement, email: string, timeout?: number): Promise<void>;
|
|
361
417
|
declare function getEmail(frame: HTMLIFrameElement, timeout?: number): Promise<string>;
|
|
362
418
|
declare function setAddress(frame: HTMLIFrameElement, address: WhopCheckoutAddress, timeout?: number): Promise<void>;
|
|
@@ -380,21 +436,91 @@ interface WhopEmbeddedCheckoutStyleOptions {
|
|
|
380
436
|
}
|
|
381
437
|
interface WhopEmbeddedCheckoutPrefillOptions {
|
|
382
438
|
email?: string;
|
|
439
|
+
/**
|
|
440
|
+
* **Optional** - The buyer's billing address to seed the form with. The
|
|
441
|
+
* buyer can still edit it before paying.
|
|
442
|
+
*/
|
|
383
443
|
address?: Partial<WhopCheckoutAddress>;
|
|
444
|
+
/**
|
|
445
|
+
* **Optional** - The buyer's shipping address to seed the form with. Only
|
|
446
|
+
* relevant when the plan collects a shipping address. The buyer can still
|
|
447
|
+
* edit it before paying.
|
|
448
|
+
*/
|
|
449
|
+
shippingAddress?: Partial<WhopCheckoutAddress>;
|
|
384
450
|
}
|
|
385
451
|
interface WhopEmbeddedCheckoutThemeOptions {
|
|
386
452
|
accentColor?: string;
|
|
387
453
|
highContrast?: boolean;
|
|
454
|
+
backgroundColor?: string;
|
|
455
|
+
borderRadius?: number | string;
|
|
388
456
|
}
|
|
389
457
|
type WhopEmbeddedCheckoutEnvironment = "production" | "sandbox";
|
|
390
458
|
declare function isWhopEmbeddedCheckoutEnvironment(environment: unknown): environment is WhopEmbeddedCheckoutEnvironment;
|
|
391
459
|
declare function toWhopEmbeddedCheckoutEnvironment(environment: unknown): WhopEmbeddedCheckoutEnvironment;
|
|
392
|
-
declare function getEmbeddedCheckoutIframeUrl(planId?: string, theme?: "light" | "dark" | "system", sessionId?: string, origin?: string, hidePrice?: boolean, skipRedirect?: boolean, utm?: Record<string, string | string[]>, styles?: WhopEmbeddedCheckoutStyleOptions, prefill?: WhopEmbeddedCheckoutPrefillOptions, themeOptions?: WhopEmbeddedCheckoutThemeOptions, hideSubmitButton?: boolean, hideTermsAndConditions?: boolean, hideEmail?: boolean, disableEmail?: boolean, hideAddressForm?: boolean, affiliateCode?: string, setupFutureUsage?: "off_session", paymentRedirectUrl?: string, stateId?: string, promoCode?: string, environment?: WhopEmbeddedCheckoutEnvironment, wuid?: string, adaptivePricing?: boolean): string;
|
|
460
|
+
declare function getEmbeddedCheckoutIframeUrl(planId?: string, theme?: "light" | "dark" | "system", sessionId?: string, origin?: string, hidePrice?: boolean, skipRedirect?: boolean, utm?: Record<string, string | string[]>, styles?: WhopEmbeddedCheckoutStyleOptions, prefill?: WhopEmbeddedCheckoutPrefillOptions, themeOptions?: WhopEmbeddedCheckoutThemeOptions, hideSubmitButton?: boolean, hideTermsAndConditions?: boolean, hideEmail?: boolean, disableEmail?: boolean, hideAddressForm?: boolean, affiliateCode?: string, setupFutureUsage?: "off_session", paymentRedirectUrl?: string, stateId?: string, promoCode?: string, environment?: WhopEmbeddedCheckoutEnvironment, wuid?: string, adaptivePricing?: boolean, collectPhoneNumbers?: boolean): string;
|
|
461
|
+
/**
|
|
462
|
+
* Builds the iframe URL for the express checkout button surface.
|
|
463
|
+
*
|
|
464
|
+
* Intentionally narrower than `getEmbeddedCheckoutIframeUrl` — the express
|
|
465
|
+
* button cannot render `hide-*`, `disable-*`, or `style-*` controls and
|
|
466
|
+
* doesn't accept a `data-whop-checkout-session` (sessions are minted
|
|
467
|
+
* server-side and kept on the iframe origin, never travelling through
|
|
468
|
+
* host JS).
|
|
469
|
+
*/
|
|
470
|
+
declare function getExpressButtonIframeUrl(opts: {
|
|
471
|
+
planId?: string;
|
|
472
|
+
checkoutConfigurationId?: string;
|
|
473
|
+
paymentRedirectUrl: string;
|
|
474
|
+
theme?: "light" | "dark" | "system";
|
|
475
|
+
origin?: string;
|
|
476
|
+
utm?: Record<string, string | string[]>;
|
|
477
|
+
prefill?: WhopEmbeddedCheckoutPrefillOptions;
|
|
478
|
+
themeOptions?: WhopEmbeddedCheckoutThemeOptions;
|
|
479
|
+
affiliateCode?: string;
|
|
480
|
+
stateId?: string;
|
|
481
|
+
promoCode?: string;
|
|
482
|
+
environment?: WhopEmbeddedCheckoutEnvironment;
|
|
483
|
+
wuid?: string;
|
|
484
|
+
adaptivePricing?: boolean;
|
|
485
|
+
methods?: readonly string[];
|
|
486
|
+
setupFutureUsage?: "off_session";
|
|
487
|
+
skipRedirect?: boolean;
|
|
488
|
+
}): string;
|
|
489
|
+
/**
|
|
490
|
+
* Builds the iframe URL for a delegated requirement overlay. The route is
|
|
491
|
+
* static — the only thing it needs is the BroadcastChannel id that the
|
|
492
|
+
* requirement iframe uses to talk to the parent embed that originated the
|
|
493
|
+
* request (the session itself is pushed across the channel, not the URL).
|
|
494
|
+
*/
|
|
495
|
+
declare function getRequirementOverlayIframeUrl(opts: {
|
|
496
|
+
channelId: string;
|
|
497
|
+
theme?: "light" | "dark" | "system";
|
|
498
|
+
origin?: string;
|
|
499
|
+
environment?: WhopEmbeddedCheckoutEnvironment;
|
|
500
|
+
}): string;
|
|
501
|
+
/**
|
|
502
|
+
* Builds the iframe URL for the overlay loader. Carries only the
|
|
503
|
+
* BroadcastChannel id, theme, and environment — the session id is
|
|
504
|
+
* negotiated cross-iframe (same-origin) and never travels through host
|
|
505
|
+
* JS or this URL.
|
|
506
|
+
*/
|
|
507
|
+
declare function getOverlayLoaderIframeUrl(opts: {
|
|
508
|
+
channelId: string;
|
|
509
|
+
theme?: "light" | "dark" | "system";
|
|
510
|
+
origin?: string;
|
|
511
|
+
environment?: WhopEmbeddedCheckoutEnvironment;
|
|
512
|
+
}): string;
|
|
393
513
|
declare const EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST: string[];
|
|
394
514
|
declare const EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING = "document-domain; execution-while-not-rendered; execution-while-out-of-viewport; payment; paymentRequest; sync-script;";
|
|
395
515
|
declare function firePixelIdentify(data: {
|
|
396
516
|
email?: string;
|
|
397
517
|
user_id?: string;
|
|
398
518
|
}): void;
|
|
519
|
+
declare function getUtmFromCurrentUrl(): Record<string, string | string[]>;
|
|
520
|
+
/**
|
|
521
|
+
* Inject the Whop pixel tracking SDK for a given plan / checkout config.
|
|
522
|
+
* No-ops if the SDK or its script tag is already present.
|
|
523
|
+
*/
|
|
524
|
+
declare function injectPixel(planIdOrCheckoutConfigId: string): void;
|
|
399
525
|
|
|
400
|
-
export { EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST as E, type WhopCheckoutSubmitDetails as W, type WhopCheckoutAddress as a, type WhopCheckoutCurrenciesAvailable as b, type WhopCheckoutState as c, type
|
|
526
|
+
export { getRequirementOverlayIframeUrl as A, getOverlayLoaderIframeUrl as B, EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING as C, firePixelIdentify as D, EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST as E, getUtmFromCurrentUrl as F, injectPixel as G, type WhopCheckoutSubmitDetails as W, type WhopCheckoutAddress as a, type WhopCheckoutCurrenciesAvailable as b, type WhopCheckoutState as c, type WhopCheckoutPaymentError as d, type WhopCheckoutPromoCode as e, type WhopCheckoutCurrencyChanged as f, type WhopEmbeddedCheckoutStyleOptions as g, type WhopEmbeddedCheckoutPrefillOptions as h, type WhopEmbeddedCheckoutEnvironment as i, type WhopExpressButtonMethod as j, type WhopExpressButtonRendered as k, isWhopCheckoutMessage as l, type WhopCheckoutMessage as m, getEmail as n, onWhopCheckoutMessage as o, setAddress as p, setDisplayCurrency as q, getAddress as r, setEmail as s, submitCheckoutFrame as t, parseSetupFutureUsage as u, type WhopEmbeddedCheckoutThemeOptions as v, isWhopEmbeddedCheckoutEnvironment as w, toWhopEmbeddedCheckoutEnvironment as x, getEmbeddedCheckoutIframeUrl as y, getExpressButtonIframeUrl as z };
|
|
@@ -217,6 +217,11 @@ declare global {
|
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
type WhopCheckoutState = "loading" | "ready" | "disabled";
|
|
220
|
+
type WhopExpressButtonMethod = "apple-pay" | "whop-pay";
|
|
221
|
+
type WhopExpressButtonRendered = "apple-pay" | "google-pay" | "whop-pay" | "none";
|
|
222
|
+
type WhopExpressMethodResolved = {
|
|
223
|
+
rendered: WhopExpressButtonRendered;
|
|
224
|
+
};
|
|
220
225
|
type WhopCheckoutPromoCode = {
|
|
221
226
|
amount: number;
|
|
222
227
|
code: string;
|
|
@@ -235,6 +240,10 @@ type WhopCheckoutCurrencyChanged = {
|
|
|
235
240
|
currency: string;
|
|
236
241
|
exchange_rate: number | null;
|
|
237
242
|
};
|
|
243
|
+
type WhopCheckoutPaymentError = {
|
|
244
|
+
message: string;
|
|
245
|
+
code?: string;
|
|
246
|
+
};
|
|
238
247
|
type EmbeddedCheckoutBaseEvent<T extends Record<string, unknown>> = {
|
|
239
248
|
__scope: "whop-embedded-checkout";
|
|
240
249
|
event_id: string;
|
|
@@ -330,7 +339,9 @@ type WhopCheckoutMessage = {
|
|
|
330
339
|
event: "address-validation-error";
|
|
331
340
|
error_message: string;
|
|
332
341
|
error_code: string;
|
|
333
|
-
} | {
|
|
342
|
+
} | ({
|
|
343
|
+
event: "payment-error";
|
|
344
|
+
} & WhopCheckoutPaymentError) | {
|
|
334
345
|
event: "promo-code-changed";
|
|
335
346
|
promoCode: WhopCheckoutPromoCode | null;
|
|
336
347
|
} | {
|
|
@@ -351,12 +362,57 @@ type WhopCheckoutMessage = {
|
|
|
351
362
|
ok: false;
|
|
352
363
|
error: string;
|
|
353
364
|
event_id: string;
|
|
365
|
+
} | ({
|
|
366
|
+
event: "express-method-resolved";
|
|
367
|
+
} & WhopExpressMethodResolved) | {
|
|
368
|
+
event: "express-loading";
|
|
369
|
+
loading: boolean;
|
|
370
|
+
} | {
|
|
371
|
+
event: "request-overlay";
|
|
372
|
+
channelId: string;
|
|
373
|
+
} | {
|
|
374
|
+
event: "request-requirement-overlay";
|
|
375
|
+
channelId: string;
|
|
376
|
+
/**
|
|
377
|
+
* Optional pre-built URL the source iframe wants opened, so its theme /
|
|
378
|
+
* accent color / other search params can flow through to the
|
|
379
|
+
* requirement iframe. The host validates same-origin + path before
|
|
380
|
+
* using it; an invalid or missing value falls back to a URL built by
|
|
381
|
+
* `getRequirementOverlayIframeUrl`. The source iframe is responsible
|
|
382
|
+
* for stripping any `secret` — the session is bridged via BroadcastChannel.
|
|
383
|
+
*/
|
|
384
|
+
iframeSrc?: string;
|
|
385
|
+
} | {
|
|
386
|
+
event: "close-overlay";
|
|
387
|
+
channelId?: string;
|
|
354
388
|
} | PaymentRequestMerchantValidationResult | PaymentRequestUpdateRequest | PaymentRequestCreateRequest | PaymentRequestEventResult | PlaidTokenRequest | PlaidReadyEvent;
|
|
355
389
|
declare function isWhopCheckoutMessage(event: MessageEvent<unknown>): event is MessageEvent<WhopCheckoutMessage>;
|
|
356
390
|
|
|
391
|
+
/**
|
|
392
|
+
* Structural subset of `createOverlayHost`'s return value (see overlay-host.ts)
|
|
393
|
+
* — declared inline to keep util.ts free of a circular import. When an
|
|
394
|
+
* `overlayHost` is supplied, `onWhopCheckoutMessage` intercepts the host-side
|
|
395
|
+
* overlay events centrally, the same way it already intercepts payment-request
|
|
396
|
+
* and plaid. This is what makes overlay handling un-driftable across mount
|
|
397
|
+
* paths: callers can't forget the events because they're handled here and
|
|
398
|
+
* type-excluded from the callback below.
|
|
399
|
+
*/
|
|
400
|
+
interface OverlayMessageHandler {
|
|
401
|
+
handleOverlayRequest(message: {
|
|
402
|
+
event: "request-overlay";
|
|
403
|
+
channelId: string;
|
|
404
|
+
} | {
|
|
405
|
+
event: "request-requirement-overlay";
|
|
406
|
+
channelId: string;
|
|
407
|
+
iframeSrc?: string;
|
|
408
|
+
}): void;
|
|
409
|
+
handleCloseOverlay(message: {
|
|
410
|
+
channelId?: string;
|
|
411
|
+
}): void;
|
|
412
|
+
}
|
|
357
413
|
declare function onWhopCheckoutMessage(iframe: HTMLIFrameElement, callback: (message: Exclude<WhopCheckoutMessage, Extract<WhopCheckoutMessage, {
|
|
358
|
-
event: "payment-request-create-request" | "payment-request-update-request" | "plaid-token-request" | "plaid-ready";
|
|
359
|
-
}>>) => void): () => void;
|
|
414
|
+
event: "payment-request-create-request" | "payment-request-update-request" | "plaid-token-request" | "plaid-ready" | "request-overlay" | "request-requirement-overlay";
|
|
415
|
+
}>>) => void, overlayHost?: OverlayMessageHandler): () => void;
|
|
360
416
|
declare function setEmail(frame: HTMLIFrameElement, email: string, timeout?: number): Promise<void>;
|
|
361
417
|
declare function getEmail(frame: HTMLIFrameElement, timeout?: number): Promise<string>;
|
|
362
418
|
declare function setAddress(frame: HTMLIFrameElement, address: WhopCheckoutAddress, timeout?: number): Promise<void>;
|
|
@@ -380,21 +436,91 @@ interface WhopEmbeddedCheckoutStyleOptions {
|
|
|
380
436
|
}
|
|
381
437
|
interface WhopEmbeddedCheckoutPrefillOptions {
|
|
382
438
|
email?: string;
|
|
439
|
+
/**
|
|
440
|
+
* **Optional** - The buyer's billing address to seed the form with. The
|
|
441
|
+
* buyer can still edit it before paying.
|
|
442
|
+
*/
|
|
383
443
|
address?: Partial<WhopCheckoutAddress>;
|
|
444
|
+
/**
|
|
445
|
+
* **Optional** - The buyer's shipping address to seed the form with. Only
|
|
446
|
+
* relevant when the plan collects a shipping address. The buyer can still
|
|
447
|
+
* edit it before paying.
|
|
448
|
+
*/
|
|
449
|
+
shippingAddress?: Partial<WhopCheckoutAddress>;
|
|
384
450
|
}
|
|
385
451
|
interface WhopEmbeddedCheckoutThemeOptions {
|
|
386
452
|
accentColor?: string;
|
|
387
453
|
highContrast?: boolean;
|
|
454
|
+
backgroundColor?: string;
|
|
455
|
+
borderRadius?: number | string;
|
|
388
456
|
}
|
|
389
457
|
type WhopEmbeddedCheckoutEnvironment = "production" | "sandbox";
|
|
390
458
|
declare function isWhopEmbeddedCheckoutEnvironment(environment: unknown): environment is WhopEmbeddedCheckoutEnvironment;
|
|
391
459
|
declare function toWhopEmbeddedCheckoutEnvironment(environment: unknown): WhopEmbeddedCheckoutEnvironment;
|
|
392
|
-
declare function getEmbeddedCheckoutIframeUrl(planId?: string, theme?: "light" | "dark" | "system", sessionId?: string, origin?: string, hidePrice?: boolean, skipRedirect?: boolean, utm?: Record<string, string | string[]>, styles?: WhopEmbeddedCheckoutStyleOptions, prefill?: WhopEmbeddedCheckoutPrefillOptions, themeOptions?: WhopEmbeddedCheckoutThemeOptions, hideSubmitButton?: boolean, hideTermsAndConditions?: boolean, hideEmail?: boolean, disableEmail?: boolean, hideAddressForm?: boolean, affiliateCode?: string, setupFutureUsage?: "off_session", paymentRedirectUrl?: string, stateId?: string, promoCode?: string, environment?: WhopEmbeddedCheckoutEnvironment, wuid?: string, adaptivePricing?: boolean): string;
|
|
460
|
+
declare function getEmbeddedCheckoutIframeUrl(planId?: string, theme?: "light" | "dark" | "system", sessionId?: string, origin?: string, hidePrice?: boolean, skipRedirect?: boolean, utm?: Record<string, string | string[]>, styles?: WhopEmbeddedCheckoutStyleOptions, prefill?: WhopEmbeddedCheckoutPrefillOptions, themeOptions?: WhopEmbeddedCheckoutThemeOptions, hideSubmitButton?: boolean, hideTermsAndConditions?: boolean, hideEmail?: boolean, disableEmail?: boolean, hideAddressForm?: boolean, affiliateCode?: string, setupFutureUsage?: "off_session", paymentRedirectUrl?: string, stateId?: string, promoCode?: string, environment?: WhopEmbeddedCheckoutEnvironment, wuid?: string, adaptivePricing?: boolean, collectPhoneNumbers?: boolean): string;
|
|
461
|
+
/**
|
|
462
|
+
* Builds the iframe URL for the express checkout button surface.
|
|
463
|
+
*
|
|
464
|
+
* Intentionally narrower than `getEmbeddedCheckoutIframeUrl` — the express
|
|
465
|
+
* button cannot render `hide-*`, `disable-*`, or `style-*` controls and
|
|
466
|
+
* doesn't accept a `data-whop-checkout-session` (sessions are minted
|
|
467
|
+
* server-side and kept on the iframe origin, never travelling through
|
|
468
|
+
* host JS).
|
|
469
|
+
*/
|
|
470
|
+
declare function getExpressButtonIframeUrl(opts: {
|
|
471
|
+
planId?: string;
|
|
472
|
+
checkoutConfigurationId?: string;
|
|
473
|
+
paymentRedirectUrl: string;
|
|
474
|
+
theme?: "light" | "dark" | "system";
|
|
475
|
+
origin?: string;
|
|
476
|
+
utm?: Record<string, string | string[]>;
|
|
477
|
+
prefill?: WhopEmbeddedCheckoutPrefillOptions;
|
|
478
|
+
themeOptions?: WhopEmbeddedCheckoutThemeOptions;
|
|
479
|
+
affiliateCode?: string;
|
|
480
|
+
stateId?: string;
|
|
481
|
+
promoCode?: string;
|
|
482
|
+
environment?: WhopEmbeddedCheckoutEnvironment;
|
|
483
|
+
wuid?: string;
|
|
484
|
+
adaptivePricing?: boolean;
|
|
485
|
+
methods?: readonly string[];
|
|
486
|
+
setupFutureUsage?: "off_session";
|
|
487
|
+
skipRedirect?: boolean;
|
|
488
|
+
}): string;
|
|
489
|
+
/**
|
|
490
|
+
* Builds the iframe URL for a delegated requirement overlay. The route is
|
|
491
|
+
* static — the only thing it needs is the BroadcastChannel id that the
|
|
492
|
+
* requirement iframe uses to talk to the parent embed that originated the
|
|
493
|
+
* request (the session itself is pushed across the channel, not the URL).
|
|
494
|
+
*/
|
|
495
|
+
declare function getRequirementOverlayIframeUrl(opts: {
|
|
496
|
+
channelId: string;
|
|
497
|
+
theme?: "light" | "dark" | "system";
|
|
498
|
+
origin?: string;
|
|
499
|
+
environment?: WhopEmbeddedCheckoutEnvironment;
|
|
500
|
+
}): string;
|
|
501
|
+
/**
|
|
502
|
+
* Builds the iframe URL for the overlay loader. Carries only the
|
|
503
|
+
* BroadcastChannel id, theme, and environment — the session id is
|
|
504
|
+
* negotiated cross-iframe (same-origin) and never travels through host
|
|
505
|
+
* JS or this URL.
|
|
506
|
+
*/
|
|
507
|
+
declare function getOverlayLoaderIframeUrl(opts: {
|
|
508
|
+
channelId: string;
|
|
509
|
+
theme?: "light" | "dark" | "system";
|
|
510
|
+
origin?: string;
|
|
511
|
+
environment?: WhopEmbeddedCheckoutEnvironment;
|
|
512
|
+
}): string;
|
|
393
513
|
declare const EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST: string[];
|
|
394
514
|
declare const EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING = "document-domain; execution-while-not-rendered; execution-while-out-of-viewport; payment; paymentRequest; sync-script;";
|
|
395
515
|
declare function firePixelIdentify(data: {
|
|
396
516
|
email?: string;
|
|
397
517
|
user_id?: string;
|
|
398
518
|
}): void;
|
|
519
|
+
declare function getUtmFromCurrentUrl(): Record<string, string | string[]>;
|
|
520
|
+
/**
|
|
521
|
+
* Inject the Whop pixel tracking SDK for a given plan / checkout config.
|
|
522
|
+
* No-ops if the SDK or its script tag is already present.
|
|
523
|
+
*/
|
|
524
|
+
declare function injectPixel(planIdOrCheckoutConfigId: string): void;
|
|
399
525
|
|
|
400
|
-
export { EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST as E, type WhopCheckoutSubmitDetails as W, type WhopCheckoutAddress as a, type WhopCheckoutCurrenciesAvailable as b, type WhopCheckoutState as c, type
|
|
526
|
+
export { getRequirementOverlayIframeUrl as A, getOverlayLoaderIframeUrl as B, EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING as C, firePixelIdentify as D, EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST as E, getUtmFromCurrentUrl as F, injectPixel as G, type WhopCheckoutSubmitDetails as W, type WhopCheckoutAddress as a, type WhopCheckoutCurrenciesAvailable as b, type WhopCheckoutState as c, type WhopCheckoutPaymentError as d, type WhopCheckoutPromoCode as e, type WhopCheckoutCurrencyChanged as f, type WhopEmbeddedCheckoutStyleOptions as g, type WhopEmbeddedCheckoutPrefillOptions as h, type WhopEmbeddedCheckoutEnvironment as i, type WhopExpressButtonMethod as j, type WhopExpressButtonRendered as k, isWhopCheckoutMessage as l, type WhopCheckoutMessage as m, getEmail as n, onWhopCheckoutMessage as o, setAddress as p, setDisplayCurrency as q, getAddress as r, setEmail as s, submitCheckoutFrame as t, parseSetupFutureUsage as u, type WhopEmbeddedCheckoutThemeOptions as v, isWhopEmbeddedCheckoutEnvironment as w, toWhopEmbeddedCheckoutEnvironment as x, getEmbeddedCheckoutIframeUrl as y, getExpressButtonIframeUrl as z };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function n(e,t,r,n,o,a,i){try{var u=e[a](i);var s=u.value}catch(e){r(e);return}if(u.done){t(s)}else{Promise.resolve(s).then(n,o)}}function o(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var i=e.apply(t,r);function u(e){n(i,o,a,u,s,"next",e)}function s(e){n(i,o,a,u,s,"throw",e)}u(undefined)})}}function a(e,t,r){t=d(t);return g(e,C()?Reflect.construct(t,r||[],d(e).constructor):t.apply(e,r))}function i(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t,r){if(C()){u=Reflect.construct}else{u=function e(e,t,r){var n=[null];n.push.apply(n,t);var o=Function.bind.apply(e,n);var a=new o;if(r)_(a,r.prototype);return a}}return u.apply(null,arguments)}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function c(e,t,r){if(t)s(e.prototype,t);if(r)s(e,r);return e}function l(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)_(e,t)}function v(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function p(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function h(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var o=true;var a=false;var i,u;try{for(r=r.call(e);!(o=(i=r.next()).done);o=true){n.push(i.value);if(t&&n.length===t)break}}catch(e){a=true;u=e}finally{try{if(!o&&r["return"]!=null)r["return"]()}finally{if(a)throw u}}return n}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){l(e,t,r[t])})}return e}function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t){n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}r.push.apply(r,n)}return r}function w(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{b(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function g(e,t){if(t&&(k(t)==="object"||typeof t==="function")){return t}return r(e)}function _(e,t){_=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return _(e,t)}function E(e,r){return t(e)||h(e,r)||P(e,r)||m()}function k(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function P(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function O(e){var t=typeof Map==="function"?new Map:undefined;O=function e(e){if(e===null||!p(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return u(e,arguments,d(this).constructor)}r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:false,writable:true,configurable:true}});return _(r,e)};return O(e)}function C(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(C=function(){return!!e})()}function S(e,t){var r,n,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=u(0),i["throw"]=u(1),i["return"]=u(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function u(e){return function(t){return s([e,t])}}function s(u){if(r)throw new TypeError("Generator is already executing.");while(i&&(i=0,u[0]&&(a=0)),a)try{if(r=1,n&&(o=u[0]&2?n["return"]:u[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;if(n=0,o)u=[u[0]&2,o.value];switch(u[0]){case 0:case 1:o=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(u[0]===6&&a.label<o[1]){a.label=o[1];o=u;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(u);break}if(o[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];n=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var R=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var q=function(e,t,r){return t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r};var M=function(e,t){for(var r in t)R(e,r,{get:t[r],enumerable:!0})},A=function(e,t,r,n){var o=true,a=false,i=undefined;if(t&&(typeof t==="undefined"?"undefined":k(t))=="object"||typeof t=="function")try{var u=function(){var o=c.value;!j.call(e,o)&&o!==r&&R(e,o,{get:function(){return t[o]},enumerable:!(n=D(t,o))||n.enumerable})};for(var s=W(t)[Symbol.iterator](),c;!(o=(c=s.next()).done);o=true)u()}catch(e){a=true;i=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw i}}}return e};var U=function(e){return A(R({},"__esModule",{value:!0}),e)};var I=function(e,t,r){return q(e,(typeof t==="undefined"?"undefined":k(t))!="symbol"?t+"":t,r)};var L={};M(L,{EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING:function(){return e_},EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST:function(){return eg},firePixelIdentify:function(){return eE},getAddress:function(){return ev},getEmail:function(){return el},getEmbeddedCheckoutIframeUrl:function(){return eb},isWhopCheckoutMessage:function(){return G},isWhopEmbeddedCheckoutEnvironment:function(){return em},onWhopCheckoutMessage:function(){return er},parseSetupFutureUsage:function(){return eh},setAddress:function(){return ed},setDisplayCurrency:function(){return ef},setEmail:function(){return ec},submitCheckoutFrame:function(){return ep},toWhopEmbeddedCheckoutEnvironment:function(){return ey}});module.exports=U(L);var x=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);I(e,"type","WhopCheckoutError");return e}return t}(O(Error));var T=/*#__PURE__*/function(e){f(t,e);function t(e){i(this,t);var r;r=a(this,t,[e!==null&&e!==void 0?e:"Timeout waiting for embed response"]);I(r,"name","WhopCheckoutRpcTimeoutError");return r}return t}(x);var F=/*#__PURE__*/function(e){f(t,e);function t(e){i(this,t);var r;r=a(this,t,[e!==null&&e!==void 0?e:"Aborted waiting for embed response"]);I(r,"name","WhopCheckoutRpcAbortedError");return r}return t}(x);var N=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);I(e,"name","WhopCheckoutSetEmailError");return e}return t}(x);var B=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);I(e,"name","WhopCheckoutSetAddressError");return e}return t}(x);var X=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);I(e,"name","WhopCheckoutGetAddressError");return e}return t}(x);var H=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);I(e,"name","WhopCheckoutSetDisplayCurrencyError");return e}return t}(x);var K=["resize","center","complete","state","get-email-result","set-email-result","set-address-result","get-address-result","address-validation-error","promo-code-changed","payment-request-merchant-validation-result","payment-request-update-request","payment-request-create-request","payment-request-event-result","plaid-token-request","plaid-ready","identity-captured","currencies-available","currency-changed","set-display-currency-result"];function G(e){return k(e.data)=="object"&&e.data!==null&&"event"in e.data&&K.includes(e.data.event)}function z(e,t){return G(e)&&e.data.event===t}var J=[];function V(e){return J[e]||(J[e]=(e+256).toString(16).slice(1))}function $(){var e=new Uint8Array(16);if((typeof crypto==="undefined"?"undefined":k(crypto))<"u"&&typeof crypto.getRandomValues=="function")crypto.getRandomValues(e);else for(var t=0;t<16;t++)e[t]=Math.random()*256|0;return e[6]=e[6]&15|64,e[8]=e[8]&63|128,V(e[0])+V(e[1])+V(e[2])+V(e[3])+"-"+V(e[4])+V(e[5])+"-"+V(e[6])+V(e[7])+"-"+V(e[8])+V(e[9])+"-"+V(e[10])+V(e[11])+V(e[12])+V(e[13])+V(e[14])+V(e[15])}function Q(e,t,r,n){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:2e3,a=arguments.length>5?arguments[5]:void 0;var i;var u=new URL(e.src).origin,s=$();return(i=e.contentWindow)===null||i===void 0?void 0:i.postMessage(w(y({},t),{__scope:"whop-embedded-checkout",event_id:s}),u),new Promise(function(t,i){if(a===null||a===void 0?void 0:a.aborted){i(new Error("Aborted"));return}var u=function(){c&&clearTimeout(c),window.removeEventListener("message",d),a===null||a===void 0?void 0:a.removeEventListener("abort",l)},c=o!==null?setTimeout(function(){i(new T),u()},o):null,l=function(){i(new F),u()};a===null||a===void 0?void 0:a.addEventListener("abort",l,{once:!0});var d=function(o){if(o.source===e.contentWindow&&z(o,r)&&o.data.event===r&&o.data.event_id===s){u();try{t(n(o.data))}catch(e){i(e)}}};window.addEventListener("message",d)})}var Y=/*#__PURE__*/function(){function e(t,r,n,o){i(this,e);this.iframe=t;this.methodData=r;this.details=n;this.options=o;I(this,"id",$());I(this,"abortController")}c(e,[{key:"active",get:function t(){var t;return(t=e.activeRequests.get(this.iframe))!==null&&t!==void 0?t:!1}},{key:"updateMethodData",value:function e(e){this.methodData=e}},{key:"updateDetails",value:function e(e){this.details=e}},{key:"updateOptions",value:function e(e){this.options=e}},{key:"getResult",value:function e(){return o(function(){var e,t,r,n,a,i,u,s,c,l;return S(this,function(d){switch(d.label){case 0:e=this;t=new AbortController;this.abortController=t;r=new PaymentRequest(this.methodData,this.details,this.options);r.onmerchantvalidation=function(n){return o(function(){var e,o;return S(this,function(a){switch(a.label){case 0:e={event:"payment-request-merchant-validation-request",validationURL:n.validationURL,methodName:n.methodName,id:this.id};return[4,Q(this.iframe,e,"payment-request-merchant-validation-result",function(e){return e},null,t.signal).catch(function(){return null})];case 1:o=a.sent();(o===null||o===void 0?void 0:o.ok)?n.complete(o.merchantSession):r.abort();return[2]}})}).call(e)},r.onshippingaddresschange=function(e){e.updateWith({})},r.onpaymentmethodchange=function(r){return o(function(){var e,n;return S(this,function(o){switch(o.label){case 0:e={event:"payment-request-payment-method-change-request",id:this.id,data:r.methodDetails};return[4,Q(this.iframe,e,"payment-request-event-result",function(e){return e},null,t.signal).catch(function(){return null})];case 1:n=o.sent();(n===null||n===void 0?void 0:n.ok)?r.updateWith(n.details):r.updateWith({});return[2]}})}).call(e)};n=r;d.label=1;case 1:d.trys.push([1,,6,7]);s=new Promise(function(e,r){var n=function(){r(new Error("Aborted"))};t.signal.addEventListener("abort",n,{once:!0}),a=function(){t.signal.removeEventListener("abort",n)}});return[4,Promise.race([r.show().then(function(e){return n=null,e}),s])];case 2:c=d.sent(),l=this.methodData.find(function(e){return e.supportedMethods===c.methodName});if(!!l)return[3,4];return[4,c.complete("fail")];case 3:throw d.sent(),new Error("PaymentRequest failed to complete because of missing method data");case 4:return[4,c.complete("success")];case 5:return[2,(d.sent(),{method:c.methodName,response:{payerEmail:c.payerEmail,details:JSON.parse(JSON.stringify(c.details))},options:this.options,methodData:{applePayMerchantIdentifier:l===null||l===void 0?void 0:(i=l.data)===null||i===void 0?void 0:i.merchantIdentifier,requestShipping:l===null||l===void 0?void 0:(u=l.data)===null||u===void 0?void 0:u.requiredShippingContactFields}})];case 6:n===null||n===void 0?void 0:n.abort(),a===null||a===void 0?void 0:a(),this.abortController=void 0;return[7];case 7:return[2]}})}).call(this)}},{key:"abort",value:function e(){var e;(e=this.abortController)===null||e===void 0?void 0:e.abort()}}],[{key:"get",value:function t(t){var r;return(r=e.requests.get(t))!==null&&r!==void 0?r:null}},{key:"create",value:function t(t,r,n,o){var a=new e(t,r,n,o);return e.requests.set(t,a),a}},{key:"remove",value:function t(t){var r;(r=e.requests.get(t))===null||r===void 0?void 0:r.abort(),e.requests.delete(t),e.activeRequests.delete(t)}},{key:"setActive",value:function t(t,r){e.activeRequests.set(t,r)}}]);return e}();I(Y,"requests",new WeakMap),I(Y,"activeRequests",new WeakMap);var Z=Y;var ee=2,et="https://cdn.plaid.com/link/v2/stable/link-initialize.js";function er(e,t){function r(r){if(r.source===e.contentWindow&&G(r)){switch(r.data.event){case"payment-request-create-request":{try{var n;var a=Z.create(e,r.data.method_data,r.data.details,r.data.options),i={__scope:"whop-embedded-checkout",event:"payment-request-create-result",event_id:r.data.event_id,ok:!0,id:a.id},u=new URL(e.src).origin;(n=e.contentWindow)===null||n===void 0?void 0:n.postMessage(i,u)}catch(t){var s;var c={__scope:"whop-embedded-checkout",event:"payment-request-create-result",event_id:r.data.event_id,ok:!1,error:v(t,Error)?t.message:"Unknown error"},l=new URL(e.src).origin;(s=e.contentWindow)===null||s===void 0?void 0:s.postMessage(c,l)}return}case"payment-request-update-request":{"active"in r.data&&typeof r.data.active=="boolean"&&Z.setActive(e,r.data.active);try{var d;var f=Z.get(e);if(!f)throw new Error("Payment request not found");"method_data"in r.data&&r.data.method_data&&f.updateMethodData(r.data.method_data),"details"in r.data&&r.data.details&&f.updateDetails(r.data.details),"options"in r.data&&r.data.options&&f.updateOptions(r.data.options);var p={__scope:"whop-embedded-checkout",event:"payment-request-update-result",event_id:r.data.event_id,ok:!0},h=new URL(e.src).origin;(d=e.contentWindow)===null||d===void 0?void 0:d.postMessage(p,h)}catch(t){var m;var y={__scope:"whop-embedded-checkout",event:"payment-request-update-result",event_id:r.data.event_id,ok:!1,error:v(t,Error)?t.message:"Unknown error"},b=new URL(e.src).origin;(m=e.contentWindow)===null||m===void 0?void 0:m.postMessage(y,b)}return}case"plaid-token-request":{var w=r.data;(function(){return o(function(){var t,r,n,o,a,i,u,s,c;return S(this,function(l){switch(l.label){case 0:l.trys.push([0,3,,4]);return[4,eo()];case 1:r=l.sent();return[4,new Promise(function(e,t){var n=r.create({token:w.token,onSuccess:function(t){e(t),n.destroy()},onExit:function(e){var r;t(new Error((r=e===null||e===void 0?void 0:e.display_message)!==null&&r!==void 0?r:"Canceled by user")),n.destroy()}});n.open()})];case 2:n=l.sent(),o={__scope:"whop-embedded-checkout",event:"plaid-token-result",event_id:w.event_id,ok:!0,token:n},a=new URL(e.src).origin;(t=e.contentWindow)===null||t===void 0?void 0:t.postMessage(o,a);return[3,4];case 3:i=l.sent();s={__scope:"whop-embedded-checkout",event:"plaid-token-result",event_id:w.event_id,ok:!1,error:v(i,Error)?i.message:"Unknown error"},c=new URL(e.src).origin;(u=e.contentWindow)===null||u===void 0?void 0:u.postMessage(s,c);return[3,4];case 4:return[2]}})})()})();return}case"plaid-ready":{try{eo().catch(function(){})}catch(e){}return}}t(r.data)}}return window.addEventListener("message",r),function(){window.removeEventListener("message",r)}}var en=null;function eo(){return o(function(){var e,t;return S(this,function(r){switch(r.label){case 0:eu();if(!window.Plaid)return[3,1];e=window.Plaid;return[3,6];case 1:if(!en)return[3,3];return[4,en];case 2:t=r.sent();return[3,5];case 3:en=es();return[4,en];case 4:t=r.sent();r.label=5;case 5:e=t;r.label=6;case 6:return[2,e]}})})()}var ea="whop-checkout-plaid-link-style",ei="iframe[id^='plaid-link-iframe-'] { pointer-events: auto; }";function eu(){if(!document.getElementById(ea)){var e=document.createElement("style");e.id=ea,e.textContent=ei,document.head.appendChild(e)}}function es(){return o(function(){var e;return S(this,function(t){e=document.createElement("script");return[2,(e.src=et,e.async=!0,e.defer=!0,document.head.appendChild(e),new Promise(function(t,r){e.onload=function(){window.Plaid?t(window.Plaid):r(new Error("Plaid not available"))},e.onerror=function(){return r(new Error("Failed to load Plaid Link script"))},en=null}))]})})()}function ec(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2e3;return o(function(){return S(this,function(n){return[2,Q(e,{event:"set-email",email:t},"set-email-result",function(e){if(!e.ok)throw new N(e.error)},r)]})})()}function el(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2e3;return o(function(){return S(this,function(r){return[2,Q(e,{event:"get-email"},"get-email-result",function(e){return e.email},t)]})})()}function ed(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2e3;return o(function(){return S(this,function(n){return[2,Q(e,{event:"set-address",address:t},"set-address-result",function(e){if(!e.ok)throw new B(e.error)},r)]})})()}function ef(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2e3;return o(function(){return S(this,function(n){return[2,Q(e,{event:"set-display-currency",currency:t},"set-display-currency-result",function(e){if(!e.ok)throw new H(e.error)},r)]})})()}function ev(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2e3;return o(function(){return S(this,function(r){return[2,Q(e,{event:"get-address"},"get-address-result",function(e){if(!e.ok)throw new X(e.error);return{address:e.address,isComplete:e.is_complete}},t)]})})()}function ep(e,t){return o(function(){var t,r,n,o,a;return S(this,function(i){switch(i.label){case 0:r={__scope:"whop-embedded-checkout",event:"submit",event_id:$()},n=Z.get(e);if(!(n===null||n===void 0?void 0:n.active))return[3,2];return[4,n.getResult()];case 1:o=i.sent();r.payment_request_result=o;i.label=2;case 2:a=new URL(e.src).origin;(t=e.contentWindow)===null||t===void 0?void 0:t.postMessage(r,a);return[2]}})})()}function eh(e){if(e==="off_session")return"off_session"}function em(e){return e==="production"||e==="sandbox"}function ey(e){return em(e)?e:"production"}function eb(e,t,r,n,o,a,i,u,s,c,l,d,f,v,p,h,m,y,b,w){var g=arguments.length>20&&arguments[20]!==void 0?arguments[20]:"production",_=arguments.length>21?arguments[21]:void 0,k=arguments.length>22?arguments[22]:void 0;var P,O,C,S,R,D,W;var j=_||ew(),q=typeof r=="string"&&!r.startsWith("ch_XXXXX")?r:e,M=new URL("/embedded/checkout/".concat(q,"/"),n!==null&&n!==void 0?n:g==="sandbox"?"https://sandbox.whop.com/":"https://whop.com/");g==="sandbox"&&n&&console.warn("Ignoring environment in favor of provided origin"),M.searchParams.set("h",window.location.origin),M.searchParams.set("v",ee.toString());try{var A=window;for(;A.parent!==A;)A=A.parent;var U=A.location.hostname;A.location.protocol==="https:"&&U&&M.searchParams.set("t",U)}catch(e){}if(t&&M.searchParams.set("theme",t),r&&M.searchParams.set("session",r),o&&M.searchParams.set("hide_price","true"),a&&M.searchParams.set("skip_redirect","true"),l&&M.searchParams.set("hide_submit_button","true"),d&&M.searchParams.set("hide_tos","true"),f&&M.searchParams.set("email.hidden","1"),v&&M.searchParams.set("email.disabled","1"),p&&M.searchParams.set("address.hidden","1"),h&&M.searchParams.set("a",h),m&&M.searchParams.set("setup_future_usage",m),y&&M.searchParams.set("payment_redirect_url",y),b&&M.searchParams.set("state_id",b),w&&M.searchParams.set("promoCode",w),i){var I=true,L=false,x=undefined,T=true,F=false,N=undefined;try{for(var B=Object.entries(i).sort(function(e,t){return e[0].localeCompare(t[0])})[Symbol.iterator](),X;!(T=(X=B.next()).done);T=true){var H=E(X.value,2),K=H[0],G=H[1];if(K.startsWith("utm_"))if(Array.isArray(G))try{for(var z=G[Symbol.iterator](),J;!(I=(J=z.next()).done);I=true){var V=J.value;M.searchParams.append(K,V)}}catch(e){L=true;x=e}finally{try{if(!I&&z.return!=null){z.return()}}finally{if(L){throw x}}}else M.searchParams.set(K,G)}}catch(e){F=true;N=e}finally{try{if(!T&&B.return!=null){B.return()}}finally{if(F){throw N}}}}if(u){var $=true,Q=false,Y=undefined,Z=true,et=false,er=undefined;try{for(var en=Object.entries(u)[Symbol.iterator](),eo;!(Z=(eo=en.next()).done);Z=true){var ea=E(eo.value,2),ei=ea[0],eu=ea[1];if(eu)try{for(var es=Object.entries(eu)[Symbol.iterator](),ec;!($=(ec=es.next()).done);$=true){var el=E(ec.value,2),ed=el[0],ef=el[1];M.searchParams.set("style.".concat(ei,".").concat(ed),ef.toString())}}catch(e){Q=true;Y=e}finally{try{if(!$&&es.return!=null){es.return()}}finally{if(Q){throw Y}}}}}catch(e){et=true;er=e}finally{try{if(!Z&&en.return!=null){en.return()}}finally{if(et){throw er}}}}var ev=true,ep=false,eh=undefined;if((s===null||s===void 0?void 0:s.email)&&M.searchParams.set("email",s.email),(s===null||s===void 0?void 0:(P=s.address)===null||P===void 0?void 0:P.name)&&M.searchParams.set("name",s.address.name),(s===null||s===void 0?void 0:(O=s.address)===null||O===void 0?void 0:O.line1)&&M.searchParams.set("address.line1",s.address.line1),(s===null||s===void 0?void 0:(C=s.address)===null||C===void 0?void 0:C.line2)&&M.searchParams.set("address.line2",s.address.line2),(s===null||s===void 0?void 0:(S=s.address)===null||S===void 0?void 0:S.city)&&M.searchParams.set("address.city",s.address.city),(s===null||s===void 0?void 0:(R=s.address)===null||R===void 0?void 0:R.country)&&M.searchParams.set("address.country",s.address.country),(s===null||s===void 0?void 0:(D=s.address)===null||D===void 0?void 0:D.state)&&M.searchParams.set("address.state",s.address.state),(s===null||s===void 0?void 0:(W=s.address)===null||W===void 0?void 0:W.postalCode)&&M.searchParams.set("address.postal_code",s.address.postalCode),c)try{for(var em=Object.entries(c)[Symbol.iterator](),ey;!(ev=(ey=em.next()).done);ev=true){var eb=E(ey.value,2),eg=eb[0],e_=eb[1];e_&&M.searchParams.set("theme.".concat(eg),typeof e_=="boolean"?"1":e_)}}catch(e){ep=true;eh=e}finally{try{if(!ev&&em.return!=null){em.return()}}finally{if(ep){throw eh}}}return j&&M.searchParams.set("wuid",j),k&&M.searchParams.set("adaptive_pricing","1"),M.toString()}function ew(){var e;if((typeof document==="undefined"?"undefined":k(document))>"u")return;var t=(e=document.cookie.match(/(?:^|;\s*)_wuid=([^;]*)/))===null||e===void 0?void 0:e[1];return(t===null||t===void 0?void 0:t.startsWith("wuid_"))?t:void 0}var eg=["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation","allow-top-navigation-by-user-activation","allow-downloads"],e_="document-domain; execution-while-not-rendered; execution-while-out-of-viewport; payment; paymentRequest; sync-script;";function eE(e){var t;if(!((t=window.whop)===null||t===void 0?void 0:t.track))return;var r={};e.email&&(r.email=e.email),e.user_id&&(r.user_id=e.user_id),window.whop.track("id",w(y({},r),{source:"embedded_checkout"}))}0&&(module.exports={EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING:EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING,EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST:EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST,firePixelIdentify:firePixelIdentify,getAddress:getAddress,getEmail:getEmail,getEmbeddedCheckoutIframeUrl:getEmbeddedCheckoutIframeUrl,isWhopCheckoutMessage:isWhopCheckoutMessage,isWhopEmbeddedCheckoutEnvironment:isWhopEmbeddedCheckoutEnvironment,onWhopCheckoutMessage:onWhopCheckoutMessage,parseSetupFutureUsage:parseSetupFutureUsage,setAddress:setAddress,setDisplayCurrency:setDisplayCurrency,setEmail:setEmail,submitCheckoutFrame:submitCheckoutFrame,toWhopEmbeddedCheckoutEnvironment:toWhopEmbeddedCheckoutEnvironment});
|
|
1
|
+
"use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function n(e,t,r,n,o,a,i){try{var u=e[a](i);var s=u.value}catch(e){r(e);return}if(u.done){t(s)}else{Promise.resolve(s).then(n,o)}}function o(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var i=e.apply(t,r);function u(e){n(i,o,a,u,s,"next",e)}function s(e){n(i,o,a,u,s,"throw",e)}u(undefined)})}}function a(e,t,r){t=d(t);return g(e,C()?Reflect.construct(t,r||[],d(e).constructor):t.apply(e,r))}function i(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t,r){if(C()){u=Reflect.construct}else{u=function e(e,t,r){var n=[null];n.push.apply(n,t);var o=Function.bind.apply(e,n);var a=new o;if(r)_(a,r.prototype);return a}}return u.apply(null,arguments)}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function c(e,t,r){if(t)s(e.prototype,t);if(r)s(e,r);return e}function l(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)_(e,t)}function p(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function v(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function h(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var o=true;var a=false;var i,u;try{for(r=r.call(e);!(o=(i=r.next()).done);o=true){n.push(i.value);if(t&&n.length===t)break}}catch(e){a=true;u=e}finally{try{if(!o&&r["return"]!=null)r["return"]()}finally{if(a)throw u}}return n}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){l(e,t,r[t])})}return e}function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t){n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}r.push.apply(r,n)}return r}function b(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{w(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function g(e,t){if(t&&(k(t)==="object"||typeof t==="function")){return t}return r(e)}function _(e,t){_=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return _(e,t)}function E(e,r){return t(e)||h(e,r)||P(e,r)||m()}function k(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function P(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function O(e){var t=typeof Map==="function"?new Map:undefined;O=function e(e){if(e===null||!v(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return u(e,arguments,d(this).constructor)}r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:false,writable:true,configurable:true}});return _(r,e)};return O(e)}function C(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(C=function(){return!!e})()}function U(e,t){var r,n,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=u(0),i["throw"]=u(1),i["return"]=u(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function u(e){return function(t){return s([e,t])}}function s(u){if(r)throw new TypeError("Generator is already executing.");while(i&&(i=0,u[0]&&(a=0)),a)try{if(r=1,n&&(o=u[0]&2?n["return"]:u[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;if(n=0,o)u=[u[0]&2,o.value];switch(u[0]){case 0:case 1:o=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(u[0]===6&&a.label<o[1]){a.label=o[1];o=u;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(u);break}if(o[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];n=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var R=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var W=function(e,t,r){return t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r};var j=function(e,t){for(var r in t)R(e,r,{get:t[r],enumerable:!0})},D=function(e,t,r,n){var o=true,a=false,i=undefined;if(t&&(typeof t==="undefined"?"undefined":k(t))=="object"||typeof t=="function")try{var u=function(){var o=c.value;!I.call(e,o)&&o!==r&&R(e,o,{get:function(){return t[o]},enumerable:!(n=S(t,o))||n.enumerable})};for(var s=q(t)[Symbol.iterator](),c;!(o=(c=s.next()).done);o=true)u()}catch(e){a=true;i=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw i}}}return e};var A=function(e){return D(R({},"__esModule",{value:!0}),e)};var x=function(e,t,r){return W(e,(typeof t==="undefined"?"undefined":k(t))!="symbol"?t+"":t,r)};var M={};j(M,{EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING:function(){return eC},EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST:function(){return eO},firePixelIdentify:function(){return eU},getAddress:function(){return ep},getEmail:function(){return el},getEmbeddedCheckoutIframeUrl:function(){return eb},getExpressButtonIframeUrl:function(){return e_},getOverlayLoaderIframeUrl:function(){return ek},getRequirementOverlayIframeUrl:function(){return eE},getUtmFromCurrentUrl:function(){return eS},injectPixel:function(){return ej},isWhopCheckoutMessage:function(){return G},isWhopEmbeddedCheckoutEnvironment:function(){return em},onWhopCheckoutMessage:function(){return er},parseSetupFutureUsage:function(){return eh},setAddress:function(){return ed},setDisplayCurrency:function(){return ef},setEmail:function(){return ec},submitCheckoutFrame:function(){return ev},toWhopEmbeddedCheckoutEnvironment:function(){return ey}});module.exports=A(M);var L=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);x(e,"type","WhopCheckoutError");return e}return t}(O(Error));var F=/*#__PURE__*/function(e){f(t,e);function t(e){i(this,t);var r;r=a(this,t,[e!==null&&e!==void 0?e:"Timeout waiting for embed response"]);x(r,"name","WhopCheckoutRpcTimeoutError");return r}return t}(L);var T=/*#__PURE__*/function(e){f(t,e);function t(e){i(this,t);var r;r=a(this,t,[e!==null&&e!==void 0?e:"Aborted waiting for embed response"]);x(r,"name","WhopCheckoutRpcAbortedError");return r}return t}(L);var B=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);x(e,"name","WhopCheckoutSetEmailError");return e}return t}(L);var N=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);x(e,"name","WhopCheckoutSetAddressError");return e}return t}(L);var X=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);x(e,"name","WhopCheckoutGetAddressError");return e}return t}(L);var H=/*#__PURE__*/function(e){f(t,e);function t(){i(this,t);var e;e=a(this,t,arguments);x(e,"name","WhopCheckoutSetDisplayCurrencyError");return e}return t}(L);var K=["resize","center","complete","state","get-email-result","set-email-result","set-address-result","get-address-result","address-validation-error","payment-error","promo-code-changed","payment-request-merchant-validation-result","payment-request-update-request","payment-request-create-request","payment-request-event-result","plaid-token-request","plaid-ready","identity-captured","currencies-available","currency-changed","set-display-currency-result","express-method-resolved","express-loading","request-overlay","request-requirement-overlay","close-overlay"];function G(e){return k(e.data)=="object"&&e.data!==null&&"event"in e.data&&K.includes(e.data.event)}function z(e,t){return G(e)&&e.data.event===t}var J=[];function V(e){return J[e]||(J[e]=(e+256).toString(16).slice(1))}function $(){var e=new Uint8Array(16);if((typeof crypto==="undefined"?"undefined":k(crypto))<"u"&&typeof crypto.getRandomValues=="function")crypto.getRandomValues(e);else for(var t=0;t<16;t++)e[t]=Math.random()*256|0;return e[6]=e[6]&15|64,e[8]=e[8]&63|128,V(e[0])+V(e[1])+V(e[2])+V(e[3])+"-"+V(e[4])+V(e[5])+"-"+V(e[6])+V(e[7])+"-"+V(e[8])+V(e[9])+"-"+V(e[10])+V(e[11])+V(e[12])+V(e[13])+V(e[14])+V(e[15])}function Q(e,t,r,n){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:2e3,a=arguments.length>5?arguments[5]:void 0;var i;var u=new URL(e.src).origin,s=$();return(i=e.contentWindow)===null||i===void 0?void 0:i.postMessage(b(y({},t),{__scope:"whop-embedded-checkout",event_id:s}),u),new Promise(function(t,i){if(a===null||a===void 0?void 0:a.aborted){i(new Error("Aborted"));return}var u=function(){c&&clearTimeout(c),window.removeEventListener("message",d),a===null||a===void 0?void 0:a.removeEventListener("abort",l)},c=o!==null?setTimeout(function(){i(new F),u()},o):null,l=function(){i(new T),u()};a===null||a===void 0?void 0:a.addEventListener("abort",l,{once:!0});var d=function(o){if(o.source===e.contentWindow&&z(o,r)&&o.data.event===r&&o.data.event_id===s){u();try{t(n(o.data))}catch(e){i(e)}}};window.addEventListener("message",d)})}var Y=/*#__PURE__*/function(){function e(t,r,n,o){i(this,e);this.iframe=t;this.methodData=r;this.details=n;this.options=o;x(this,"id",$());x(this,"abortController")}c(e,[{key:"active",get:function t(){var t;return(t=e.activeRequests.get(this.iframe))!==null&&t!==void 0?t:!1}},{key:"updateMethodData",value:function e(e){this.methodData=e}},{key:"updateDetails",value:function e(e){this.details=e}},{key:"updateOptions",value:function e(e){this.options=e}},{key:"getResult",value:function e(){return o(function(){var e,t,r,n,a,i,u,s,c,l;return U(this,function(d){switch(d.label){case 0:e=this;t=new AbortController;this.abortController=t;r=new PaymentRequest(this.methodData,this.details,this.options);r.onmerchantvalidation=function(n){return o(function(){var e,o;return U(this,function(a){switch(a.label){case 0:e={event:"payment-request-merchant-validation-request",validationURL:n.validationURL,methodName:n.methodName,id:this.id};return[4,Q(this.iframe,e,"payment-request-merchant-validation-result",function(e){return e},null,t.signal).catch(function(){return null})];case 1:o=a.sent();(o===null||o===void 0?void 0:o.ok)?n.complete(o.merchantSession):r.abort();return[2]}})}).call(e)},r.onshippingaddresschange=function(e){e.updateWith({})},r.onpaymentmethodchange=function(r){return o(function(){var e,n;return U(this,function(o){switch(o.label){case 0:e={event:"payment-request-payment-method-change-request",id:this.id,data:r.methodDetails};return[4,Q(this.iframe,e,"payment-request-event-result",function(e){return e},null,t.signal).catch(function(){return null})];case 1:n=o.sent();(n===null||n===void 0?void 0:n.ok)?r.updateWith(n.details):r.updateWith({});return[2]}})}).call(e)};n=r;d.label=1;case 1:d.trys.push([1,,6,7]);s=new Promise(function(e,r){var n=function(){r(new Error("Aborted"))};t.signal.addEventListener("abort",n,{once:!0}),a=function(){t.signal.removeEventListener("abort",n)}});return[4,Promise.race([r.show().then(function(e){return n=null,e}),s])];case 2:c=d.sent(),l=this.methodData.find(function(e){return e.supportedMethods===c.methodName});if(!!l)return[3,4];return[4,c.complete("fail")];case 3:throw d.sent(),new Error("PaymentRequest failed to complete because of missing method data");case 4:return[4,c.complete("success")];case 5:return[2,(d.sent(),{method:c.methodName,response:{payerEmail:c.payerEmail,details:JSON.parse(JSON.stringify(c.details))},options:this.options,methodData:{applePayMerchantIdentifier:l===null||l===void 0?void 0:(i=l.data)===null||i===void 0?void 0:i.merchantIdentifier,requestShipping:l===null||l===void 0?void 0:(u=l.data)===null||u===void 0?void 0:u.requiredShippingContactFields}})];case 6:n===null||n===void 0?void 0:n.abort(),a===null||a===void 0?void 0:a(),this.abortController=void 0;return[7];case 7:return[2]}})}).call(this)}},{key:"abort",value:function e(){var e;(e=this.abortController)===null||e===void 0?void 0:e.abort()}}],[{key:"get",value:function t(t){var r;return(r=e.requests.get(t))!==null&&r!==void 0?r:null}},{key:"create",value:function t(t,r,n,o){var a=new e(t,r,n,o);return e.requests.set(t,a),a}},{key:"remove",value:function t(t){var r;(r=e.requests.get(t))===null||r===void 0?void 0:r.abort(),e.requests.delete(t),e.activeRequests.delete(t)}},{key:"setActive",value:function t(t,r){e.activeRequests.set(t,r)}}]);return e}();x(Y,"requests",new WeakMap),x(Y,"activeRequests",new WeakMap);var Z=Y;var ee=3,et="https://cdn.plaid.com/link/v2/stable/link-initialize.js";function er(e,t,r){function n(n){if(n.source===e.contentWindow&&G(n)){switch(n.data.event){case"request-overlay":case"request-requirement-overlay":{r===null||r===void 0?void 0:r.handleOverlayRequest(n.data);return}case"close-overlay":{if(r){r.handleCloseOverlay(n.data);return}break}case"payment-request-create-request":{try{var a;var i=Z.create(e,n.data.method_data,n.data.details,n.data.options),u={__scope:"whop-embedded-checkout",event:"payment-request-create-result",event_id:n.data.event_id,ok:!0,id:i.id},s=new URL(e.src).origin;(a=e.contentWindow)===null||a===void 0?void 0:a.postMessage(u,s)}catch(t){var c;var l={__scope:"whop-embedded-checkout",event:"payment-request-create-result",event_id:n.data.event_id,ok:!1,error:p(t,Error)?t.message:"Unknown error"},d=new URL(e.src).origin;(c=e.contentWindow)===null||c===void 0?void 0:c.postMessage(l,d)}return}case"payment-request-update-request":{"active"in n.data&&typeof n.data.active=="boolean"&&Z.setActive(e,n.data.active);try{var f;var v=Z.get(e);if(!v)throw new Error("Payment request not found");"method_data"in n.data&&n.data.method_data&&v.updateMethodData(n.data.method_data),"details"in n.data&&n.data.details&&v.updateDetails(n.data.details),"options"in n.data&&n.data.options&&v.updateOptions(n.data.options);var h={__scope:"whop-embedded-checkout",event:"payment-request-update-result",event_id:n.data.event_id,ok:!0},m=new URL(e.src).origin;(f=e.contentWindow)===null||f===void 0?void 0:f.postMessage(h,m)}catch(t){var y;var w={__scope:"whop-embedded-checkout",event:"payment-request-update-result",event_id:n.data.event_id,ok:!1,error:p(t,Error)?t.message:"Unknown error"},b=new URL(e.src).origin;(y=e.contentWindow)===null||y===void 0?void 0:y.postMessage(w,b)}return}case"plaid-token-request":{var g=n.data;(function(){return o(function(){var t,r,n,o,a,i,u,s,c;return U(this,function(l){switch(l.label){case 0:l.trys.push([0,3,,4]);return[4,eo()];case 1:r=l.sent();return[4,new Promise(function(e,t){var n=r.create({token:g.token,onSuccess:function(t){e(t),n.destroy()},onExit:function(e){var r;t(new Error((r=e===null||e===void 0?void 0:e.display_message)!==null&&r!==void 0?r:"Canceled by user")),n.destroy()}});n.open()})];case 2:n=l.sent(),o={__scope:"whop-embedded-checkout",event:"plaid-token-result",event_id:g.event_id,ok:!0,token:n},a=new URL(e.src).origin;(t=e.contentWindow)===null||t===void 0?void 0:t.postMessage(o,a);return[3,4];case 3:i=l.sent();s={__scope:"whop-embedded-checkout",event:"plaid-token-result",event_id:g.event_id,ok:!1,error:p(i,Error)?i.message:"Unknown error"},c=new URL(e.src).origin;(u=e.contentWindow)===null||u===void 0?void 0:u.postMessage(s,c);return[3,4];case 4:return[2]}})})()})();return}case"plaid-ready":{try{eo().catch(function(){})}catch(e){}return}}t(n.data)}}return window.addEventListener("message",n),function(){window.removeEventListener("message",n)}}var en=null;function eo(){return o(function(){var e,t;return U(this,function(r){switch(r.label){case 0:eu();if(!window.Plaid)return[3,1];e=window.Plaid;return[3,6];case 1:if(!en)return[3,3];return[4,en];case 2:t=r.sent();return[3,5];case 3:en=es();return[4,en];case 4:t=r.sent();r.label=5;case 5:e=t;r.label=6;case 6:return[2,e]}})})()}var ea="whop-checkout-plaid-link-style",ei="iframe[id^='plaid-link-iframe-'] { pointer-events: auto; }";function eu(){if(!document.getElementById(ea)){var e=document.createElement("style");e.id=ea,e.textContent=ei,document.head.appendChild(e)}}function es(){return o(function(){var e;return U(this,function(t){e=document.createElement("script");return[2,(e.src=et,e.async=!0,e.defer=!0,document.head.appendChild(e),new Promise(function(t,r){e.onload=function(){window.Plaid?t(window.Plaid):r(new Error("Plaid not available"))},e.onerror=function(){return r(new Error("Failed to load Plaid Link script"))},en=null}))]})})()}function ec(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2e3;return o(function(){return U(this,function(n){return[2,Q(e,{event:"set-email",email:t},"set-email-result",function(e){if(!e.ok)throw new B(e.error)},r)]})})()}function el(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2e3;return o(function(){return U(this,function(r){return[2,Q(e,{event:"get-email"},"get-email-result",function(e){return e.email},t)]})})()}function ed(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2e3;return o(function(){return U(this,function(n){return[2,Q(e,{event:"set-address",address:t},"set-address-result",function(e){if(!e.ok)throw new N(e.error)},r)]})})()}function ef(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2e3;return o(function(){return U(this,function(n){return[2,Q(e,{event:"set-display-currency",currency:t},"set-display-currency-result",function(e){if(!e.ok)throw new H(e.error)},r)]})})()}function ep(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2e3;return o(function(){return U(this,function(r){return[2,Q(e,{event:"get-address"},"get-address-result",function(e){if(!e.ok)throw new X(e.error);return{address:e.address,isComplete:e.is_complete}},t)]})})()}function ev(e,t){return o(function(){var t,r,n,o,a;return U(this,function(i){switch(i.label){case 0:r={__scope:"whop-embedded-checkout",event:"submit",event_id:$()},n=Z.get(e);if(!(n===null||n===void 0?void 0:n.active))return[3,2];return[4,n.getResult()];case 1:o=i.sent();r.payment_request_result=o;i.label=2;case 2:a=new URL(e.src).origin;(t=e.contentWindow)===null||t===void 0?void 0:t.postMessage(r,a);return[2]}})})()}function eh(e){if(e==="off_session")return"off_session"}function em(e){return e==="production"||e==="sandbox"}function ey(e){return em(e)?e:"production"}function ew(e,t){var r,n,o;if(t.paymentRedirectUrl&&e.searchParams.set("payment_redirect_url",t.paymentRedirectUrl),t.skipRedirect&&e.searchParams.set("skip_redirect","true"),t.theme&&e.searchParams.set("theme",t.theme),t.affiliateCode&&e.searchParams.set("a",t.affiliateCode),t.setupFutureUsage&&e.searchParams.set("setup_future_usage",t.setupFutureUsage),t.stateId&&e.searchParams.set("state_id",t.stateId),t.promoCode&&e.searchParams.set("promoCode",t.promoCode),t.utm){var a=true,i=false,u=undefined,s=true,c=false,l=undefined;try{for(var d=Object.entries(t.utm).sort(function(e,t){return e[0].localeCompare(t[0])})[Symbol.iterator](),f;!(s=(f=d.next()).done);s=true){var p=E(f.value,2),v=p[0],h=p[1];if(v.startsWith("utm_"))if(Array.isArray(h))try{for(var m=h[Symbol.iterator](),y;!(a=(y=m.next()).done);a=true){var w=y.value;e.searchParams.append(v,w)}}catch(e){i=true;u=e}finally{try{if(!a&&m.return!=null){m.return()}}finally{if(i){throw u}}}else e.searchParams.set(v,h)}}catch(e){c=true;l=e}finally{try{if(!s&&d.return!=null){d.return()}}finally{if(c){throw l}}}}var b=true,g=false,_=undefined;if(((r=t.prefill)===null||r===void 0?void 0:r.email)&&e.searchParams.set("email",t.prefill.email),eg(e,(n=t.prefill)===null||n===void 0?void 0:n.address),eg(e,(o=t.prefill)===null||o===void 0?void 0:o.shippingAddress,"shipping."),t.themeOptions)try{for(var k=Object.entries(t.themeOptions)[Symbol.iterator](),P;!(b=(P=k.next()).done);b=true){var O=E(P.value,2),C=O[0],U=O[1];(U||U===0)&&e.searchParams.set("theme.".concat(C),typeof U=="boolean"?"1":String(U))}}catch(e){g=true;_=e}finally{try{if(!b&&k.return!=null){k.return()}}finally{if(g){throw _}}}t.resolvedWuid&&e.searchParams.set("wuid",t.resolvedWuid),t.adaptivePricing&&e.searchParams.set("adaptive_pricing","1")}function eb(e,t,r,n,o,a,i,u,s,c,l,d,f,p,v,h,m,y,w,b){var g=arguments.length>20&&arguments[20]!==void 0?arguments[20]:"production",_=arguments.length>21?arguments[21]:void 0,k=arguments.length>22?arguments[22]:void 0,P=arguments.length>23?arguments[23]:void 0;var O=_||eP(),C=typeof r=="string"&&!r.startsWith("ch_XXXXX")?r:e,U=new URL("/embedded/checkout/".concat(C,"/"),eW(n,g));if(g==="sandbox"&&n&&console.warn("Ignoring environment in favor of provided origin"),eD(U),ew(U,{theme:t,skipRedirect:a,affiliateCode:h,setupFutureUsage:m,paymentRedirectUrl:y,stateId:w,promoCode:b,utm:i,prefill:s,themeOptions:c,resolvedWuid:O,adaptivePricing:k}),r&&U.searchParams.set("session",r),o&&U.searchParams.set("hide_price","true"),l&&U.searchParams.set("hide_submit_button","true"),d&&U.searchParams.set("hide_tos","true"),f&&U.searchParams.set("email.hidden","1"),p&&U.searchParams.set("email.disabled","1"),v&&U.searchParams.set("address.hidden","1"),P!=null&&U.searchParams.set("collectPhoneNumbers",P?"1":"0"),u){var R=true,S=false,q=undefined,I=true,W=false,j=undefined;try{for(var D=Object.entries(u)[Symbol.iterator](),A;!(I=(A=D.next()).done);I=true){var x=E(A.value,2),M=x[0],L=x[1];if(L)try{for(var F=Object.entries(L)[Symbol.iterator](),T;!(R=(T=F.next()).done);R=true){var B=E(T.value,2),N=B[0],X=B[1];U.searchParams.set("style.".concat(M,".").concat(N),X.toString())}}catch(e){S=true;q=e}finally{try{if(!R&&F.return!=null){F.return()}}finally{if(S){throw q}}}}}catch(e){W=true;j=e}finally{try{if(!I&&D.return!=null){D.return()}}finally{if(W){throw j}}}}return U.toString()}function eg(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";t&&(t.name&&e.searchParams.set("".concat(r,"name"),t.name),t.line1&&e.searchParams.set("".concat(r,"address.line1"),t.line1),t.line2&&e.searchParams.set("".concat(r,"address.line2"),t.line2),t.city&&e.searchParams.set("".concat(r,"address.city"),t.city),t.country&&e.searchParams.set("".concat(r,"address.country"),t.country),t.state&&e.searchParams.set("".concat(r,"address.state"),t.state),t.postalCode&&e.searchParams.set("".concat(r,"address.postal_code"),t.postalCode))}function e_(e){var t=e.planId,r=e.checkoutConfigurationId,n=e.theme,o=e.origin,a=e.utm,i=e.prefill,u=e.themeOptions,s=e.affiliateCode,c=e.paymentRedirectUrl,l=e.stateId,d=e.promoCode,f=e.environment,p=f===void 0?"production":f,v=e.wuid,h=e.adaptivePricing,m=e.methods,y=e.setupFutureUsage,w=e.skipRedirect,b=v||eP(),g=r!==null&&r!==void 0?r:t,_=new URL("/embedded/checkout/".concat(g,"/express/"),eW(o,p));var E=true,k=false,P=undefined;if(r&&_.searchParams.set("session",r),p==="sandbox"&&o&&console.warn("Ignoring environment in favor of provided origin"),eD(_),ew(_,{theme:n,skipRedirect:w,affiliateCode:s,setupFutureUsage:y,paymentRedirectUrl:c,stateId:l,promoCode:d,utm:a,prefill:i,themeOptions:u,resolvedWuid:b,adaptivePricing:h}),m)try{for(var O=m[Symbol.iterator](),C;!(E=(C=O.next()).done);E=true){var U=C.value;_.searchParams.append("methods",U)}}catch(e){k=true;P=e}finally{try{if(!E&&O.return!=null){O.return()}}finally{if(k){throw P}}}return _.toString()}function eE(e){var t=e.channelId,r=e.theme,n=e.origin,o=e.environment,a=o===void 0?"production":o,i=new URL("/embedded/checkout/requirements/",eW(n,a));return i.searchParams.set("channel",t),eD(i),r&&i.searchParams.set("theme",r),i.toString()}function ek(e){var t=e.channelId,r=e.theme,n=e.origin,o=e.environment,a=o===void 0?"production":o,i=new URL("/embedded/checkout/overlay-loader/",eW(n,a));return i.searchParams.set("channel",t),eD(i),r&&i.searchParams.set("theme",r),i.toString()}function eP(){var e;if((typeof document==="undefined"?"undefined":k(document))>"u")return;var t=(e=document.cookie.match(/(?:^|;\s*)_wuid=([^;]*)/))===null||e===void 0?void 0:e[1];return(t===null||t===void 0?void 0:t.startsWith("wuid_"))?t:void 0}var eO=["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation","allow-top-navigation-by-user-activation","allow-downloads"],eC="document-domain; execution-while-not-rendered; execution-while-out-of-viewport; payment; paymentRequest; sync-script;";function eU(e){var t;if(!((t=window.whop)===null||t===void 0?void 0:t.track))return;var r={};e.email&&(r.email=e.email),e.user_id&&(r.user_id=e.user_id),window.whop.track("id",b(y({},r),{source:"embedded_checkout"}))}function eR(){var e=window;try{for(e.parent.location.href;e.location.origin==="null"&&e!==e.parent;)e=e.parent}catch(e){}return new URLSearchParams(e.location.search)}function eS(){var e=eR();return Array.from(e.keys()).reduce(function(t,r){if(!r.startsWith("utm_"))return t;var n=e.getAll(r);return n.length===1?t[r]=n[0]:n.length>1&&(t[r]=n),t},{})}var eq="__whopCheckoutInternalOriginOverride";function eI(){if((typeof window==="undefined"?"undefined":k(window))>"u")return;var e=window[eq];return typeof e=="string"&&e.length>0?e:void 0}function eW(e,t){if(e)return e;var r=eI();return r||(t==="sandbox"?"https://sandbox.whop.com/":"https://whop.com/")}function ej(e){if(window.whop||document.querySelector('script[src*="t.whop.tw/e/"]'))return;var t=document.createElement("script");t.async=!0,t.src="https://t.whop.tw/e/".concat(e,".js"),document.head.appendChild(t)}function eD(e){e.searchParams.set("h",window.location.origin),e.searchParams.set("v",ee.toString());try{var t=window;for(;t.parent!==t;)t=t.parent;var r=t.location.hostname;t.location.protocol==="https:"&&r&&e.searchParams.set("t",r)}catch(e){}}0&&(module.exports={EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING:EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING,EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST:EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST,firePixelIdentify:firePixelIdentify,getAddress:getAddress,getEmail:getEmail,getEmbeddedCheckoutIframeUrl:getEmbeddedCheckoutIframeUrl,getExpressButtonIframeUrl:getExpressButtonIframeUrl,getOverlayLoaderIframeUrl:getOverlayLoaderIframeUrl,getRequirementOverlayIframeUrl:getRequirementOverlayIframeUrl,getUtmFromCurrentUrl:getUtmFromCurrentUrl,injectPixel:injectPixel,isWhopCheckoutMessage:isWhopCheckoutMessage,isWhopEmbeddedCheckoutEnvironment:isWhopEmbeddedCheckoutEnvironment,onWhopCheckoutMessage:onWhopCheckoutMessage,parseSetupFutureUsage:parseSetupFutureUsage,setAddress:setAddress,setDisplayCurrency:setDisplayCurrency,setEmail:setEmail,submitCheckoutFrame:submitCheckoutFrame,toWhopEmbeddedCheckoutEnvironment:toWhopEmbeddedCheckoutEnvironment});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { C as EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING, E as EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST, b as WhopCheckoutCurrenciesAvailable, f as WhopCheckoutCurrencyChanged, m as WhopCheckoutMessage, d as WhopCheckoutPaymentError, e as WhopCheckoutPromoCode, c as WhopCheckoutState, W as WhopCheckoutSubmitDetails, i as WhopEmbeddedCheckoutEnvironment, h as WhopEmbeddedCheckoutPrefillOptions, g as WhopEmbeddedCheckoutStyleOptions, v as WhopEmbeddedCheckoutThemeOptions, D as firePixelIdentify, r as getAddress, n as getEmail, y as getEmbeddedCheckoutIframeUrl, z as getExpressButtonIframeUrl, B as getOverlayLoaderIframeUrl, A as getRequirementOverlayIframeUrl, F as getUtmFromCurrentUrl, G as injectPixel, l as isWhopCheckoutMessage, w as isWhopEmbeddedCheckoutEnvironment, o as onWhopCheckoutMessage, u as parseSetupFutureUsage, p as setAddress, q as setDisplayCurrency, s as setEmail, t as submitCheckoutFrame, x as toWhopEmbeddedCheckoutEnvironment } from './util-X7X3lKtg.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { C as EMBEDDED_CHECKOUT_IFRAME_ALLOW_STRING, E as EMBEDDED_CHECKOUT_IFRAME_SANDBOX_LIST, b as WhopCheckoutCurrenciesAvailable, f as WhopCheckoutCurrencyChanged, m as WhopCheckoutMessage, d as WhopCheckoutPaymentError, e as WhopCheckoutPromoCode, c as WhopCheckoutState, W as WhopCheckoutSubmitDetails, i as WhopEmbeddedCheckoutEnvironment, h as WhopEmbeddedCheckoutPrefillOptions, g as WhopEmbeddedCheckoutStyleOptions, v as WhopEmbeddedCheckoutThemeOptions, D as firePixelIdentify, r as getAddress, n as getEmail, y as getEmbeddedCheckoutIframeUrl, z as getExpressButtonIframeUrl, B as getOverlayLoaderIframeUrl, A as getRequirementOverlayIframeUrl, F as getUtmFromCurrentUrl, G as injectPixel, l as isWhopCheckoutMessage, w as isWhopEmbeddedCheckoutEnvironment, o as onWhopCheckoutMessage, u as parseSetupFutureUsage, p as setAddress, q as setDisplayCurrency, s as setEmail, t as submitCheckoutFrame, x as toWhopEmbeddedCheckoutEnvironment } from './util-X7X3lKtg.js';
|