@wirexapp/card-wallet-topup-web 1.1.0-beta.3 → 1.1.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/CHANGELOG.md CHANGED
@@ -1,5 +1,119 @@
1
1
  # @wirexapp/card-wallet-topup-web
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b43affc: Wallet availability tells WHY Google Pay is unavailable: `PciWalletAvailability`
8
+ gains `googlePayState` — `ready` / `handoff` / `needs_card` / `unavailable`.
9
+ `needs_card` is an Android device where Google Pay works but no card in Google
10
+ Wallet on the phone qualifies for the cryptogram-only top-up (the probe's
11
+ cryptogram check fails, a `PAN_ONLY` capability check passes, and the WebView
12
+ is at or above the config's `min_webview_version`). A host may keep the wallet
13
+ row and send the user to Google Wallet instead of checkout.
14
+
15
+ Additive: `googlePay` keeps meaning "can pay here", so hosts that ignore the
16
+ new field behave as before. `checkWalletAvailability` persists the field and
17
+ derives it from the booleans when an older frames deployment omits it.
18
+
19
+ - 1d89a12: Wallet polish: `checkWalletAvailability` gains a persistent
20
+ stale-while-revalidate `cache` option (Storage-shaped adapter,
21
+ localStorage by default, `null` to disable); the checkout popup centers
22
+ over the opener window; the payment-sheet's billing contact, cardholder
23
+ name and Apple transaction id ride the token payload as optional fields
24
+ (collected only when the provider config requests billing).
25
+ - 5f67be4: Wallet checkout polish: loading skeleton + popup page padding; the popup
26
+ carries `appearance` in the URL fragment so the pre-quote skeleton renders
27
+ themed; privacy-only legal line with a partner-configurable
28
+ `branding.privacyUrl` (https-only, validated in-frame, Wirex policy
29
+ fallback); Google Pay button draws the design pill radius natively; fee row
30
+ rounds up to the minor unit (host-app parity).
31
+ - 731da3e: Wallet checkout TOKEN MODE (WPAY-4431): pass the backend's short-lived top-up
32
+ token as `auth.checkoutToken` and the hosted checkout executes the top-up
33
+ itself, reporting `onExecuted` / `onExecuteFailed` (`wallet-executed` /
34
+ `wallet-execute-failed` on the wire) — the wallet payment token never leaves
35
+ the frame. Legacy tokenize-and-return (`onToken`) is unchanged without `auth`.
36
+
37
+ Token mode also brings Google Pay to desktop (`googlePayHandoff: 'qr' | 'none'`,
38
+ probe flag `googlePayHandoff`): the frame draws a QR that carries the checkout
39
+ itself — the token, the quote and the estimate's `provider` name (new init /
40
+ `arm()` / `update()` field) — and an Android phone opens the same checkout
41
+ top-level, pays and executes. Nothing is stored on the frames service and the
42
+ desktop never learns the outcome: hosts reconcile by their own status reads
43
+ after `wallet-state: handoff-pending`. `arm(quote, config, auth?, provider?)` /
44
+ `update(quote, config?, auth?, provider?)`; `wallet-update` carries `auth` and
45
+ `provider`; new `wallet-state` values `executing`, `handoff-pending`.
46
+
47
+ `buildWalletLaunchFragment` / `buildWalletLaunchUrl` (core) build the same
48
+ compact fragment for a Chrome Custom Tab launch (`#t=&e=&s=&p=[&r=]`); the page
49
+ resolves the provider block from the public BaaS config by name.
50
+
51
+ - c57257e: The wallet top-up surface is stable. `card-wallet-topup-web` and the wallet
52
+ exports of `card-react` / `card-sdk-web` (`useWalletAvailability`,
53
+ `WalletTopUpForm`, `createWalletTopUpForm`, `openWalletCheckoutPopup`) ship
54
+ on `latest` with the rest of the family, under the same semver guarantees as
55
+ the PCI packages. The `@beta` TSDoc markers are gone, and the `beta` dist-tag
56
+ is no longer published to: install the family without a tag, all packages on
57
+ one version.
58
+
59
+ ### Patch Changes
60
+
61
+ - 274c69f: Fixed: the frames rendered as solid white rectangles in host pages that declare
62
+ `<meta name="color-scheme" content="dark">` (or `light dark` with dark
63
+ preferred) — typical of hybrid-app shells and dark-themed sites. The SDK set
64
+ `color-scheme: normal` on the iframe element; Chromium resolves `normal` from
65
+ the host's meta, so under a dark host the element became dark while the frame
66
+ document is light, and on that mismatch the browser paints the frame's canvas
67
+ opaque (CSS Color Adjust). The iframe element is now explicitly
68
+ `color-scheme: light`, matching the frame documents, which now declare
69
+ `:root { color-scheme: light }` as well — the frames stay transparent under any
70
+ host scheme. Hosts that set their dark theme through CSS alone were never
71
+ affected. The SDK change alone removes the mismatch for an updated host; the
72
+ frame-document change makes the pair explicit and independent of any meta.
73
+ - Updated dependencies [8097859]
74
+ - Updated dependencies [901cddf]
75
+ - Updated dependencies [cc46627]
76
+ - Updated dependencies [390c416]
77
+ - Updated dependencies [274c69f]
78
+ - Updated dependencies [b43affc]
79
+ - Updated dependencies [d4654e9]
80
+ - Updated dependencies [417ab29]
81
+ - Updated dependencies [1d89a12]
82
+ - Updated dependencies [5f67be4]
83
+ - Updated dependencies [33b4595]
84
+ - Updated dependencies [a629a98]
85
+ - Updated dependencies [731da3e]
86
+ - @wirexapp/card-sdk-core@1.1.0
87
+
88
+ ## 1.1.0-beta.4
89
+
90
+ ### Minor Changes
91
+
92
+ - 731da3e: Wallet checkout TOKEN MODE (WPAY-4431): pass the backend's short-lived top-up
93
+ token as `auth.checkoutToken` and the hosted checkout executes the top-up
94
+ itself, reporting `onExecuted` / `onExecuteFailed` (`wallet-executed` /
95
+ `wallet-execute-failed` on the wire) — the wallet payment token never leaves
96
+ the frame. Legacy tokenize-and-return (`onToken`) is unchanged without `auth`.
97
+
98
+ Token mode also brings Google Pay to desktop (`googlePayHandoff: 'qr' | 'none'`,
99
+ probe flag `googlePayHandoff`): the frame draws a QR that carries the checkout
100
+ itself — the token, the quote and the estimate's `provider` name (new init /
101
+ `arm()` / `update()` field) — and an Android phone opens the same checkout
102
+ top-level, pays and executes. Nothing is stored on the frames service and the
103
+ desktop never learns the outcome: hosts reconcile by their own status reads
104
+ after `wallet-state: handoff-pending`. `arm(quote, config, auth?, provider?)` /
105
+ `update(quote, config?, auth?, provider?)`; `wallet-update` carries `auth` and
106
+ `provider`; new `wallet-state` values `executing`, `handoff-pending`.
107
+
108
+ `buildWalletLaunchFragment` / `buildWalletLaunchUrl` (core) build the same
109
+ compact fragment for a Chrome Custom Tab launch (`#t=&e=&s=&p=[&r=]`); the page
110
+ resolves the provider block from the public BaaS config by name.
111
+
112
+ ### Patch Changes
113
+
114
+ - Updated dependencies [731da3e]
115
+ - @wirexapp/card-sdk-core@1.1.0-beta.4
116
+
3
117
  ## 1.1.0-beta.3
4
118
 
5
119
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -12,9 +12,14 @@
12
12
  * 3. `createWalletTopUpForm(...).mount(container)` — the frame renders the
13
13
  * review screen from your quote and the wallet buttons under Wirex's
14
14
  * merchant identity. No Apple/Google registration, no certificates.
15
- * 4. The payment sheet's encrypted payload arrives in `onToken` — relay it
16
- * VERBATIM as the execute call's `wallet_payment_token`. No 3DS ever
17
- * happens on this path; reconcile the money-moved truth on your backend.
15
+ * 4. Legacy mode: the payment sheet's encrypted payload arrives in
16
+ * `onToken` — relay it VERBATIM as the execute call's
17
+ * `wallet_payment_token`. Token mode (`auth`: the backend's short-lived
18
+ * top-up token from `POST /api/v1/cards/topup/token`): the FRAME
19
+ * executes and reports `onExecuted` / `onExecuteFailed`; this is what
20
+ * also unlocks the desktop Google Pay QR (`googlePayHandoff`). No 3DS
21
+ * ever happens on this path; reconcile the money-moved truth on your
22
+ * backend.
18
23
  */
19
24
  import { type PciSdkConfig, type PciWalletAvailability, type PciWalletProviderConfig } from '@wirexapp/card-sdk-core';
20
25
  import { probeWalletAvailability, PciWalletTopUpElement, type PciWalletTopUpElementConfig } from './walletElement.js';
@@ -59,7 +64,6 @@ export interface CheckWalletAvailabilityOptions {
59
64
  */
60
65
  export declare const checkWalletAvailability: (sdk: PciSdkConfig, options?: CheckWalletAvailabilityOptions) => Promise<PciWalletAvailability>;
61
66
  /** Combined variant: review screen + wallet buttons in one Wirex-served frame. */
62
- /** @beta Wallet top-up is in beta — breaking changes may land in beta releases. */
63
67
  export declare const createWalletTopUpForm: (sdk: PciSdkConfig, config: WalletTopUpFormConfig) => WalletTopUpForm;
64
68
  export type * from '@wirexapp/card-sdk-core';
65
69
  export { PciFrameRequestError } from '@wirexapp/card-sdk-core';
@@ -67,9 +71,11 @@ export { PciFrameRequestError } from '@wirexapp/card-sdk-core';
67
71
  * domain. Apple binds merchant sessions to the top-level page's domain — in
68
72
  * a popup that is the frames origin itself (already Apple-verified), so
69
73
  * hosts need NO Apple domain registration or association file in this mode.
70
- * MUST be called synchronously from a click handler (popup blockers). The
71
- * encrypted token still arrives in `onToken`; the host still executes. */
72
- /** @beta Wallet top-up is in beta — breaking changes may land in beta releases. */
74
+ * MUST be called synchronously from a click handler (popup blockers). Legacy
75
+ * mode: the encrypted token arrives in `onToken` and the host executes.
76
+ * Token mode (`auth`, or `arm(quote, walletConfig, auth)`): the popup
77
+ * executes and reports `onExecuted` / `onExecuteFailed`; on desktop it draws
78
+ * the Google Pay QR for the user's phone. */
73
79
  export declare const openWalletCheckoutPopup: (sdk: PciSdkConfig, config: PciWalletTopUpPopupConfig) => PciWalletTopUpPopup;
74
80
  export type { PciWalletTopUpPopup as WalletTopUpPopup, PciWalletTopUpPopupConfig as WalletTopUpPopupConfig };
75
81
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,CAAC;AACF,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,GAC1B,CAAC;AACF,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AASpD;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;yDAEqD;IACrD,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;;;2EAIuE;IACvE,KAAK,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;CAC5C;AAoDD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAClC,KAAK,YAAY,EACjB,UAAU,8BAA8B,KACvC,OAAO,CAAC,qBAAqB,CAmC/B,CAAC;AAEF,kFAAkF;AAClF,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,GAChC,KAAK,YAAY,EACjB,QAAQ,qBAAqB,KAC5B,eAA2F,CAAC;AAI/F,mBAAmB,yBAAyB,CAAC;AAG7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;2EAK2E;AAC3E,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,GAClC,KAAK,YAAY,EACjB,QAAQ,yBAAyB,KAChC,mBAA0F,CAAC;AAE9F,YAAY,EAAE,mBAAmB,IAAI,gBAAgB,EAAE,yBAAyB,IAAI,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,CAAC;AACF,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,GAC1B,CAAC;AACF,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AASpD;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;yDAEqD;IACrD,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;;;2EAIuE;IACvE,KAAK,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;CAC5C;AA4ED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAClC,KAAK,YAAY,EACjB,UAAU,8BAA8B,KACvC,OAAO,CAAC,qBAAqB,CAoC/B,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,GAChC,KAAK,YAAY,EACjB,QAAQ,qBAAqB,KAC5B,eAA2F,CAAC;AAI/F,mBAAmB,yBAAyB,CAAC;AAG7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;8CAQ8C;AAC9C,eAAO,MAAM,uBAAuB,GAClC,KAAK,YAAY,EACjB,QAAQ,yBAAyB,KAChC,mBAA0F,CAAC;AAE9F,YAAY,EAAE,mBAAmB,IAAI,gBAAgB,EAAE,yBAAyB,IAAI,sBAAsB,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -12,9 +12,14 @@
12
12
  * 3. `createWalletTopUpForm(...).mount(container)` — the frame renders the
13
13
  * review screen from your quote and the wallet buttons under Wirex's
14
14
  * merchant identity. No Apple/Google registration, no certificates.
15
- * 4. The payment sheet's encrypted payload arrives in `onToken` — relay it
16
- * VERBATIM as the execute call's `wallet_payment_token`. No 3DS ever
17
- * happens on this path; reconcile the money-moved truth on your backend.
15
+ * 4. Legacy mode: the payment sheet's encrypted payload arrives in
16
+ * `onToken` — relay it VERBATIM as the execute call's
17
+ * `wallet_payment_token`. Token mode (`auth`: the backend's short-lived
18
+ * top-up token from `POST /api/v1/cards/topup/token`): the FRAME
19
+ * executes and reports `onExecuted` / `onExecuteFailed`; this is what
20
+ * also unlocks the desktop Google Pay QR (`googlePayHandoff`). No 3DS
21
+ * ever happens on this path; reconcile the money-moved truth on your
22
+ * backend.
18
23
  */
19
24
  import { buildFrameUrl, } from '@wirexapp/card-sdk-core';
20
25
  import { probeWalletAvailability, PciWalletTopUpElement, } from './walletElement.js';
@@ -50,6 +55,15 @@ const availabilityCacheKey = (frameUrl) => {
50
55
  return AVAILABILITY_CACHE_PREFIX + frameUrl;
51
56
  }
52
57
  };
58
+ const GOOGLE_PAY_STATES = new Set(['ready', 'handoff', 'needs_card', 'unavailable']);
59
+ /** Frames that predate `googlePayState` answer booleans only — derive it, so a
60
+ * host always switches on one field. */
61
+ const withGooglePayState = (availability) => availability.googlePayState
62
+ ? availability
63
+ : {
64
+ ...availability,
65
+ googlePayState: availability.googlePay ? 'ready' : availability.googlePayHandoff ? 'handoff' : 'unavailable',
66
+ };
53
67
  const readPersistedAvailability = (cache, key) => {
54
68
  try {
55
69
  const raw = cache.getItem(key);
@@ -57,7 +71,14 @@ const readPersistedAvailability = (cache, key) => {
57
71
  return null;
58
72
  const parsed = JSON.parse(raw);
59
73
  if (typeof parsed.applePay === 'boolean' && typeof parsed.googlePay === 'boolean') {
60
- return { applePay: parsed.applePay, googlePay: parsed.googlePay };
74
+ return withGooglePayState({
75
+ applePay: parsed.applePay,
76
+ googlePay: parsed.googlePay,
77
+ ...(typeof parsed.googlePayHandoff === 'boolean' ? { googlePayHandoff: parsed.googlePayHandoff } : {}),
78
+ ...(GOOGLE_PAY_STATES.has(parsed.googlePayState)
79
+ ? { googlePayState: parsed.googlePayState }
80
+ : {}),
81
+ });
61
82
  }
62
83
  }
63
84
  catch {
@@ -92,6 +113,7 @@ export const checkWalletAvailability = (sdk, options) => {
92
113
  const cache = options?.cache === undefined ? defaultAvailabilityCache() : options.cache;
93
114
  const cacheKey = availabilityCacheKey(frameUrl);
94
115
  const probe = probeWalletAvailability(frameUrl, options?.config)
116
+ .then(withGooglePayState)
95
117
  .then(fresh => {
96
118
  if (cache)
97
119
  writePersistedAvailability(cache, cacheKey, fresh);
@@ -118,7 +140,6 @@ export const checkWalletAvailability = (sdk, options) => {
118
140
  return probe;
119
141
  };
120
142
  /** Combined variant: review screen + wallet buttons in one Wirex-served frame. */
121
- /** @beta Wallet top-up is in beta — breaking changes may land in beta releases. */
122
143
  export const createWalletTopUpForm = (sdk, config) => new PciWalletTopUpElement(buildFrameUrl(sdk, 'wallet-checkout'), config);
123
144
  // Value re-export so `error instanceof PciFrameRequestError` works when
124
145
  // imported from this package.
@@ -127,8 +148,10 @@ export { PciFrameRequestError } from '@wirexapp/card-sdk-core';
127
148
  * domain. Apple binds merchant sessions to the top-level page's domain — in
128
149
  * a popup that is the frames origin itself (already Apple-verified), so
129
150
  * hosts need NO Apple domain registration or association file in this mode.
130
- * MUST be called synchronously from a click handler (popup blockers). The
131
- * encrypted token still arrives in `onToken`; the host still executes. */
132
- /** @beta Wallet top-up is in beta — breaking changes may land in beta releases. */
151
+ * MUST be called synchronously from a click handler (popup blockers). Legacy
152
+ * mode: the encrypted token arrives in `onToken` and the host executes.
153
+ * Token mode (`auth`, or `arm(quote, walletConfig, auth)`): the popup
154
+ * executes and reports `onExecuted` / `onExecuteFailed`; on desktop it draws
155
+ * the Google Pay QR for the user's phone. */
133
156
  export const openWalletCheckoutPopup = (sdk, config) => openWalletTopUpPopup(buildFrameUrl(sdk, 'wallet-checkout'), config);
134
157
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PciAppearance, PciFrameStrings, PciWalletAvailability, PciWalletBrandingConfig, PciWalletButtonAppearance, PciWalletCheckoutState, PciWalletPaymentTokenDto, PciWalletProviderConfig, PciWalletQuote } from '@wirexapp/card-sdk-core';
1
+ import type { PciAppearance, PciFrameStrings, PciWalletAvailability, PciWalletBrandingConfig, PciWalletButtonAppearance, PciWalletCheckoutAuth, PciWalletCheckoutState, PciWalletExecuteError, PciWalletExecuteResult, PciWalletGooglePayHandoff, PciWalletPaymentTokenDto, PciWalletProviderConfig, PciWalletQuote } from '@wirexapp/card-sdk-core';
2
2
  export type PciWalletPaymentToken = PciWalletPaymentTokenDto;
3
3
  export interface PciWalletTopUpElementConfig {
4
4
  /** From your estimate call (a wallet `payment_method`, no card id). */
@@ -6,6 +6,23 @@ export interface PciWalletTopUpElementConfig {
6
6
  /** The provider block of the app config's `topup` section, selected by the
7
7
  * ESTIMATE's `provider` field — passed to the frame verbatim. */
8
8
  walletConfig: PciWalletProviderConfig;
9
+ /**
10
+ * TOKEN MODE: the backend's short-lived top-up token
11
+ * (`POST /api/v1/cards/topup/token` → `token`), minted for this checkout.
12
+ * With it the FRAME executes the top-up itself after the sheet authorizes
13
+ * and reports `onExecuted` / `onExecuteFailed`; `onToken` is never called.
14
+ * It also enables the desktop Google Pay QR handoff. Opaque to the SDK —
15
+ * never log it, never pass a full user session token in production.
16
+ * Omit for the legacy tokenize-and-return flow.
17
+ */
18
+ auth?: PciWalletCheckoutAuth;
19
+ /** Token mode only: `qr` (default) draws a scan-with-your-phone code where
20
+ * Google Pay cannot tokenize natively (desktop); `none` hides Google Pay
21
+ * there instead. */
22
+ googlePayHandoff?: PciWalletGooglePayHandoff;
23
+ /** The estimate's `provider` name — required for the desktop Google Pay QR
24
+ * (the phone resolves the provider block by name); harmless otherwise. */
25
+ provider?: string;
9
26
  appearance?: PciAppearance;
10
27
  buttons?: PciWalletButtonAppearance;
11
28
  /** `compact` when the host renders its own review UI — the frame shows only
@@ -21,6 +38,9 @@ export interface PciWalletTopUpElementConfig {
21
38
  strings?: PciFrameStrings;
22
39
  /** Review screen rendered, buttons live. */
23
40
  onReady?: () => void;
41
+ /** `loading` → `ready` → `sheet-open`; token mode adds `executing` and
42
+ * `handoff-pending` (desktop QR on screen — the phone pays; reconcile by
43
+ * your own status reads, the frame never learns the outcome). */
24
44
  onStateChange?: (state: PciWalletCheckoutState) => void;
25
45
  /** The user dismissed the wallet sheet — nothing was tokenized. */
26
46
  onCancel?: () => void;
@@ -28,16 +48,28 @@ export interface PciWalletTopUpElementConfig {
28
48
  * failure). `reason` is a stable slug for messaging/analytics. */
29
49
  onAttemptFailed?: (reason: string) => void;
30
50
  /** The quote expired in view. Re-estimate through your backend and call
31
- * `update()` with the fresh quote — no remount needed. */
51
+ * `update()` with the fresh quote (and a fresh `auth` in token mode) — no
52
+ * remount needed. */
32
53
  onEstimationExpired?: () => void;
33
54
  /**
34
- * The payment sheet authorized. Relay `walletPaymentToken` VERBATIM as the
35
- * execute call's `wallet_payment_token` (never parse, reshape or log it).
36
- * The sheet has already closed successfully — its success means
37
- * "tokenized"; the execute response and your status feed own the top-up
38
- * outcome. `three_ds_state` is never present on a wallet top-up.
55
+ * LEGACY MODE (no `auth`): the payment sheet authorized. Relay
56
+ * `walletPaymentToken` VERBATIM as the execute call's
57
+ * `wallet_payment_token` (never parse, reshape or log it). The sheet has
58
+ * already closed successfully — its success means "tokenized"; the execute
59
+ * response and your status feed own the top-up outcome. `three_ds_state`
60
+ * is never present on a wallet top-up. Required unless `auth` is set.
39
61
  */
40
- onToken: (token: PciWalletPaymentToken) => void;
62
+ onToken?: (token: PciWalletPaymentToken) => void;
63
+ /** TOKEN MODE: the frame executed the top-up. `result.status` is the
64
+ * execute response's status — treat it like your card top-up flow's and
65
+ * reconcile through your status feed. A payment made on the user's phone
66
+ * after the desktop QR never reaches this callback — see `onStateChange`
67
+ * `handoff-pending`. */
68
+ onExecuted?: (result: PciWalletExecuteResult) => void;
69
+ /** TOKEN MODE: the execute call failed (`reason` slug + HTTP status +
70
+ * sanitized message). The frame keeps its buttons disabled until
71
+ * `update()` re-arms it with a fresh quote. */
72
+ onExecuteFailed?: (error: PciWalletExecuteError) => void;
41
73
  /** DEV ONLY: arm the frame's diagnostics channel — in-frame JS errors and
42
74
  * console output arrive in `onDebug`. Never enable in production. */
43
75
  debug?: boolean;
@@ -54,12 +86,16 @@ export declare class PciWalletTopUpElement {
54
86
  private readonly channel;
55
87
  /** One token per payment attempt; re-armed when a new sheet opens. */
56
88
  private attemptSettled;
89
+ /** The token in play (token mode) — `update()` may replace it. */
90
+ private auth;
57
91
  constructor(frameUrl: string, config: PciWalletTopUpElementConfig);
58
92
  mount(container: HTMLElement): Promise<void>;
59
93
  /** Re-arm a mounted element with a fresh quote (typically after
60
94
  * `onEstimationExpired`) — re-renders in place. Pass `walletConfig` when
61
- * the fresh estimate's `provider` selects a different config block. */
62
- update(quote: PciWalletQuote, walletConfig?: PciWalletProviderConfig): Promise<void>;
95
+ * the fresh estimate's `provider` selects a different config block, and a
96
+ * fresh `auth` in token mode when the previous token expired with the
97
+ * quote (omitted = the mounted token stays). */
98
+ update(quote: PciWalletQuote, walletConfig?: PciWalletProviderConfig, auth?: PciWalletCheckoutAuth, provider?: string): Promise<void>;
63
99
  destroy(): void;
64
100
  }
65
101
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"walletElement.d.ts","sourceRoot":"","sources":["../src/walletElement.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAE7D,MAAM,WAAW,2BAA2B;IAC1C,uEAAuE;IACvE,KAAK,EAAE,cAAc,CAAC;IACtB;sEACkE;IAClE,YAAY,EAAE,uBAAuB,CAAC;IACtC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC;2EACuE;IACvE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;0EAGsE;IACtE,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACxD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;uEACmE;IACnE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;+DAC2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChD;0EACsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAAS;gBAEnB,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B;IAgC3D,KAAK,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlD;;4EAEwE;IAClE,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1F,OAAO,IAAI,IAAI;CAGhB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,MAAM,EAChB,SAAS,uBAAuB,KAC/B,OAAO,CAAC,qBAAqB,CAqB/B,CAAC"}
1
+ {"version":3,"file":"walletElement.d.ts","sourceRoot":"","sources":["../src/walletElement.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAE7D,MAAM,WAAW,2BAA2B;IAC1C,uEAAuE;IACvE,KAAK,EAAE,cAAc,CAAC;IACtB;sEACkE;IAClE,YAAY,EAAE,uBAAuB,CAAC;IACtC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B;;yBAEqB;IACrB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C;+EAC2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC;2EACuE;IACvE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;0EAGsE;IACtE,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;sEAEkE;IAClE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACxD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;uEACmE;IACnE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;0BAEsB;IACtB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD;;;;6BAIyB;IACzB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD;;oDAEgD;IAChD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzD;0EACsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAAS;IAC/B,kEAAkE;IAClE,OAAO,CAAC,IAAI,CAAoC;gBAEpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B;IA4C3D,KAAK,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBlD;;;;qDAIiD;IAC3C,MAAM,CACV,KAAK,EAAE,cAAc,EACrB,YAAY,CAAC,EAAE,uBAAuB,EACtC,IAAI,CAAC,EAAE,qBAAqB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAWhB,OAAO,IAAI,IAAI;CAGhB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,MAAM,EAChB,SAAS,uBAAuB,KAC/B,OAAO,CAAC,qBAAqB,CAqB/B,CAAC"}
@@ -7,9 +7,15 @@
7
7
  * Unlike collect/reveal this is not CHD isolation — wallet tokens are
8
8
  * encrypted, gateway-bound blobs. The frame exists for Apple Pay's origin
9
9
  * binding: the wallet JS must run on a Wirex-registered domain, so partners
10
- * skip Apple onboarding entirely. The frame TOKENIZES AND RETURNS: the sheet's
11
- * encrypted payload arrives in `onToken`, and the HOST calls the execute
12
- * endpoint with it (`wallet_payment_token`). There is no 3DS on this path.
10
+ * skip Apple onboarding entirely. Two modes (protocol.ts):
11
+ * - LEGACY — the frame TOKENIZES AND RETURNS: the sheet's encrypted payload
12
+ * arrives in `onToken`, and the HOST calls the execute endpoint with it
13
+ * (`wallet_payment_token`).
14
+ * - TOKEN MODE (`auth`, WPAY-4431) — the host passes the backend's
15
+ * short-lived top-up token and the FRAME executes; the outcome arrives in
16
+ * `onExecuted` / `onExecuteFailed`. This is also what unlocks the desktop
17
+ * Google Pay QR (the phone finishes the top-up on its own).
18
+ * There is no 3DS on this path.
13
19
  */
14
20
  import { PciFrameChannel } from '@wirexapp/card-sdk-core';
15
21
  /**
@@ -23,6 +29,10 @@ export class PciWalletTopUpElement {
23
29
  /** One token per payment attempt; re-armed when a new sheet opens. */
24
30
  this.attemptSettled = false;
25
31
  this.config = config;
32
+ this.auth = config.auth;
33
+ if (!config.auth && !config.onToken) {
34
+ console.warn('[card-wallet-topup] neither `auth` (token mode) nor `onToken` (legacy mode) is set — the wallet token would be dropped');
35
+ }
26
36
  this.channel = new PciFrameChannel(frameUrl, {}, { allowPayment: true });
27
37
  this.channel.onMessage(message => {
28
38
  switch (message.type) {
@@ -47,7 +57,13 @@ export class PciWalletTopUpElement {
47
57
  if (this.attemptSettled)
48
58
  break;
49
59
  this.attemptSettled = true;
50
- this.config.onToken(message.token);
60
+ this.config.onToken?.(message.token);
61
+ break;
62
+ case 'wallet-executed':
63
+ this.config.onExecuted?.(message.result);
64
+ break;
65
+ case 'wallet-execute-failed':
66
+ this.config.onExecuteFailed?.(message.error);
51
67
  break;
52
68
  default:
53
69
  break;
@@ -68,6 +84,9 @@ export class PciWalletTopUpElement {
68
84
  buttons: this.config.buttons,
69
85
  branding: this.config.branding,
70
86
  strings: this.config.strings,
87
+ auth: this.auth,
88
+ googlePayHandoff: this.config.googlePayHandoff,
89
+ provider: this.config.provider,
71
90
  debug: this.config.debug,
72
91
  },
73
92
  });
@@ -75,12 +94,18 @@ export class PciWalletTopUpElement {
75
94
  }
76
95
  /** Re-arm a mounted element with a fresh quote (typically after
77
96
  * `onEstimationExpired`) — re-renders in place. Pass `walletConfig` when
78
- * the fresh estimate's `provider` selects a different config block. */
79
- async update(quote, walletConfig) {
97
+ * the fresh estimate's `provider` selects a different config block, and a
98
+ * fresh `auth` in token mode when the previous token expired with the
99
+ * quote (omitted = the mounted token stays). */
100
+ async update(quote, walletConfig, auth, provider) {
101
+ if (auth)
102
+ this.auth = auth;
80
103
  await this.channel.request({
81
104
  type: 'wallet-update',
82
105
  quote,
83
106
  config: walletConfig ?? this.config.walletConfig,
107
+ ...(auth ? { auth } : {}),
108
+ ...(provider ? { provider } : {}),
84
109
  });
85
110
  }
86
111
  destroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"walletElement.js","sourceRoot":"","sources":["../src/walletElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletElement.js","sourceRoot":"","sources":["../src/walletElement.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { PciWalletCheckoutAuth } from '@wirexapp/card-sdk-core';
1
2
  import type { PciWalletTopUpElementConfig } from './walletElement.js';
2
3
  export interface PciWalletTopUpPopupConfig extends Omit<PciWalletTopUpElementConfig, 'quote' | 'walletConfig'> {
3
4
  /** The quote may be OMITTED at open time: `window.open` must run
@@ -6,8 +7,9 @@ export interface PciWalletTopUpPopupConfig extends Omit<PciWalletTopUpElementCon
6
7
  * the estimate lands. Providing both here arms immediately. */
7
8
  quote?: PciWalletTopUpElementConfig['quote'];
8
9
  walletConfig?: PciWalletTopUpElementConfig['walletConfig'];
9
- /** The popup was closed (by the user or programmatically) without a token.
10
- * Not fired after `onToken` — a token hand-off closes the popup too. */
10
+ /** The popup was closed (by the user or programmatically) without a
11
+ * token / outcome. Not fired after `onToken` or `onExecuted` — those close
12
+ * the popup too. It IS fired after `onExecuteFailed`. */
11
13
  onClose?: () => void;
12
14
  /** The popup failed to boot: blocked by the browser (call `open` from a
13
15
  * click handler), or the frame never became ready. */
@@ -16,12 +18,15 @@ export interface PciWalletTopUpPopupConfig extends Omit<PciWalletTopUpElementCon
16
18
  export interface PciWalletTopUpPopup {
17
19
  /** Deliver the quote when it wasn't available at open time (the estimate
18
20
  * resolved after the click). First call initializes the checkout; later
19
- * calls behave like `update`. No-op after the popup closed. */
20
- arm(quote: PciWalletTopUpElementConfig['quote'], walletConfig: PciWalletTopUpElementConfig['walletConfig']): void;
21
+ * calls behave like `update`. No-op after the popup closed. Token mode:
22
+ * pass the top-up token minted for this quote as `auth` (it may also be
23
+ * given once in the open config). */
24
+ arm(quote: PciWalletTopUpElementConfig['quote'], walletConfig: PciWalletTopUpElementConfig['walletConfig'], auth?: PciWalletCheckoutAuth, provider?: string): void;
21
25
  /** Re-arm with a fresh quote (after `onEstimationExpired`) — re-renders in
22
- * place, the popup stays open. */
23
- update(quote: PciWalletTopUpElementConfig['quote'], walletConfig?: PciWalletTopUpElementConfig['walletConfig']): Promise<void>;
24
- /** Close the popup. Fires `onClose` if nothing was tokenized yet. */
26
+ * place, the popup stays open. Token mode: pass a fresh `auth` when the
27
+ * previous token expired with the quote. */
28
+ update(quote: PciWalletTopUpElementConfig['quote'], walletConfig?: PciWalletTopUpElementConfig['walletConfig'], auth?: PciWalletCheckoutAuth, provider?: string): Promise<void>;
29
+ /** Close the popup. Fires `onClose` if nothing was tokenized / executed yet. */
25
30
  close(): void;
26
31
  }
27
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"walletPopup.d.ts","sourceRoot":"","sources":["../src/walletPopup.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AA0BnE,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,cAAc,CAAC;IAC5G;;;oEAGgE;IAChE,KAAK,CAAC,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAC3D;6EACyE;IACzE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;2DACuD;IACvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC;;oEAEgE;IAChE,GAAG,CAAC,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAClH;uCACmC;IACnC,MAAM,CAAC,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/H,qEAAqE;IACrE,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,QAAQ,yBAAyB,KAChC,mBAqLF,CAAC"}
1
+ {"version":3,"file":"walletPopup.d.ts","sourceRoot":"","sources":["../src/walletPopup.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AA0BnE,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,cAAc,CAAC;IAC5G;;;oEAGgE;IAChE,KAAK,CAAC,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAC3D;;8DAE0D;IAC1D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;2DACuD;IACvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;0CAIsC;IACtC,GAAG,CACD,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAC3C,YAAY,EAAE,2BAA2B,CAAC,cAAc,CAAC,EACzD,IAAI,CAAC,EAAE,qBAAqB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAAC;IACR;;iDAE6C;IAC7C,MAAM,CACJ,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAC3C,YAAY,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC,EAC1D,IAAI,CAAC,EAAE,qBAAqB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,gFAAgF;IAChF,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,QAAQ,yBAAyB,KAChC,mBAkNF,CAAC"}
@@ -11,9 +11,11 @@
11
11
  * origin itself, which is already verified — partners need NO Apple steps at
12
12
  * all. The trade-off is the user briefly leaving the host page.
13
13
  *
14
- * The tokenize-and-return contract is unchanged: the sheet's encrypted
15
- * payload arrives in `onToken` and the HOST calls execute; the popup closes
16
- * itself once the token is handed off.
14
+ * Legacy mode: the sheet's encrypted payload arrives in `onToken` and the
15
+ * HOST calls execute; the popup closes itself once the token is handed off.
16
+ * Token mode (`auth`): the popup executes itself and closes on `onExecuted`
17
+ * (and on `onExecuteFailed`, after reporting it). On desktop it draws the
18
+ * Google Pay QR; the phone's payment surfaces through the same callbacks.
17
19
  */
18
20
  import { PCI_PROTOCOL_VERSION } from '@wirexapp/card-sdk-core';
19
21
  const READY_TIMEOUT_MS = 15000;
@@ -52,7 +54,7 @@ export const openWalletTopUpPopup = (frameUrl, config) => {
52
54
  const url = `${frameUrl}#channel=${channelId}&parent=${encodeURIComponent(window.location.origin)}${appearanceFragment}`;
53
55
  const popup = window.open(url, '_blank', popupFeatures());
54
56
  const pending = new Map();
55
- let settled = false; // a token was handed off
57
+ let settled = false; // a token was handed off, or the frame executed
56
58
  let closed = false;
57
59
  let closePoll = null;
58
60
  let readyTimer = null;
@@ -65,6 +67,8 @@ export const openWalletTopUpPopup = (frameUrl, config) => {
65
67
  let initialized = false;
66
68
  let armedQuote = config.quote ?? null;
67
69
  let armedWalletConfig = config.walletConfig ?? null;
70
+ let armedAuth = config.auth;
71
+ let armedProvider = config.provider;
68
72
  const cleanup = () => {
69
73
  if (closed)
70
74
  return;
@@ -120,12 +124,26 @@ export const openWalletTopUpPopup = (frameUrl, config) => {
120
124
  buttons: config.buttons,
121
125
  branding: config.branding,
122
126
  strings: config.strings,
127
+ auth: armedAuth,
128
+ googlePayHandoff: config.googlePayHandoff,
129
+ provider: armedProvider,
123
130
  debug: config.debug,
124
131
  },
125
132
  })
126
133
  .then(() => config.onReady?.())
127
134
  .catch((error) => config.onMountError?.(error));
128
135
  };
136
+ const sendUpdate = (quote, walletConfig, auth, provider) => {
137
+ if (auth)
138
+ armedAuth = auth;
139
+ return request({
140
+ type: 'wallet-update',
141
+ quote,
142
+ config: walletConfig,
143
+ ...(auth ? { auth } : {}),
144
+ ...(provider ? { provider } : {}),
145
+ });
146
+ };
129
147
  const onWindowMessage = (event) => {
130
148
  // Provenance: our popup window + the frames origin + our channel id.
131
149
  if (!popup || event.source !== popup)
@@ -178,7 +196,19 @@ export const openWalletTopUpPopup = (frameUrl, config) => {
178
196
  attemptSettled = true;
179
197
  settled = true;
180
198
  // Hand the token to the host FIRST, then close — the host executes.
181
- config.onToken(message.token);
199
+ config.onToken?.(message.token);
200
+ closePopup();
201
+ break;
202
+ case 'wallet-executed':
203
+ // Token mode: the frame executed — report, then close (no onClose).
204
+ settled = true;
205
+ config.onExecuted?.(message.result);
206
+ closePopup();
207
+ break;
208
+ case 'wallet-execute-failed':
209
+ // Token mode: report the failure, then close as an unsettled popup
210
+ // so hosts that only track `onClose` still leave their waiting state.
211
+ config.onExecuteFailed?.(message.error);
182
212
  closePopup();
183
213
  break;
184
214
  default:
@@ -205,21 +235,25 @@ export const openWalletTopUpPopup = (frameUrl, config) => {
205
235
  closePopup();
206
236
  }, CLOSE_POLL_MS);
207
237
  return {
208
- arm: (quote, walletConfig) => {
238
+ arm: (quote, walletConfig, auth, provider) => {
239
+ if (provider)
240
+ armedProvider = provider;
209
241
  if (closed)
210
242
  return;
211
243
  if (initialized) {
212
244
  // Already armed once — behave like update (fresh estimate).
213
245
  armedQuote = quote;
214
246
  armedWalletConfig = walletConfig;
215
- void request({ type: 'wallet-update', quote, config: walletConfig }).catch(() => undefined);
247
+ void sendUpdate(quote, walletConfig, auth).catch(() => undefined);
216
248
  return;
217
249
  }
218
250
  armedQuote = quote;
219
251
  armedWalletConfig = walletConfig;
252
+ if (auth)
253
+ armedAuth = auth;
220
254
  sendInit();
221
255
  },
222
- update: (quote, walletConfig) => request({ type: 'wallet-update', quote, config: walletConfig ?? armedWalletConfig ?? undefined }).then(() => undefined),
256
+ update: (quote, walletConfig, auth, provider) => sendUpdate(quote, walletConfig ?? armedWalletConfig ?? undefined, auth, provider).then(() => undefined),
223
257
  close: closePopup,
224
258
  };
225
259
  };
@@ -1 +1 @@
1
- {"version":3,"file":"walletPopup.js","sourceRoot":"","sources":["../src/walletPopup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletPopup.js","sourceRoot":"","sources":["../src/walletPopup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirexapp/card-wallet-topup-web",
3
- "version": "1.1.0-beta.3",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "description": "Top up via Apple Pay / Google Pay inside a Wirex-served checkout iframe — review screen + wallet buttons under Wirex's merchant identity; the payment sheet's encrypted token is returned to the host, which executes the top-up. No wallet onboarding on the partner side.",
6
6
  "license": "UNLICENSED",
@@ -37,6 +37,6 @@
37
37
  "prepublishOnly": "yarn clean && yarn build"
38
38
  },
39
39
  "dependencies": {
40
- "@wirexapp/card-sdk-core": "1.1.0-beta.3"
40
+ "@wirexapp/card-sdk-core": "1.1.0"
41
41
  }
42
42
  }