@ozura/elements 1.2.0 → 1.2.3

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.
Files changed (60) hide show
  1. package/README.md +105 -0
  2. package/dist/frame/element-frame.js +60 -4
  3. package/dist/frame/element-frame.js.map +1 -1
  4. package/dist/frame/tokenizer-frame.js +145 -61
  5. package/dist/frame/tokenizer-frame.js.map +1 -1
  6. package/dist/oz-elements.esm.js +221 -97
  7. package/dist/oz-elements.esm.js.map +1 -1
  8. package/dist/oz-elements.umd.js +221 -97
  9. package/dist/oz-elements.umd.js.map +1 -1
  10. package/dist/react/frame/elementFrame.d.ts +9 -0
  11. package/dist/react/frame/tokenizerFrame.d.ts +17 -1
  12. package/dist/react/index.cjs.js +221 -97
  13. package/dist/react/index.cjs.js.map +1 -1
  14. package/dist/react/index.esm.js +221 -97
  15. package/dist/react/index.esm.js.map +1 -1
  16. package/dist/react/sdk/OzElement.d.ts +4 -1
  17. package/dist/react/sdk/OzVault.d.ts +3 -9
  18. package/dist/react/sdk/createSessionFetcher.d.ts +2 -2
  19. package/dist/react/server/index.d.ts +26 -0
  20. package/dist/react/types/index.d.ts +37 -14
  21. package/dist/react/utils/billingUtils.d.ts +2 -1
  22. package/dist/react/vue/index.d.ts +88 -0
  23. package/dist/server/frame/elementFrame.d.ts +9 -0
  24. package/dist/server/frame/tokenizerFrame.d.ts +17 -1
  25. package/dist/server/index.cjs.js +77 -27
  26. package/dist/server/index.cjs.js.map +1 -1
  27. package/dist/server/index.esm.js +77 -27
  28. package/dist/server/index.esm.js.map +1 -1
  29. package/dist/server/sdk/OzElement.d.ts +4 -1
  30. package/dist/server/sdk/OzVault.d.ts +3 -9
  31. package/dist/server/sdk/createSessionFetcher.d.ts +2 -2
  32. package/dist/server/server/index.d.ts +26 -0
  33. package/dist/server/types/index.d.ts +37 -14
  34. package/dist/server/utils/billingUtils.d.ts +2 -1
  35. package/dist/server/vue/index.d.ts +88 -0
  36. package/dist/types/frame/elementFrame.d.ts +9 -0
  37. package/dist/types/frame/tokenizerFrame.d.ts +17 -1
  38. package/dist/types/sdk/OzElement.d.ts +4 -1
  39. package/dist/types/sdk/OzVault.d.ts +3 -9
  40. package/dist/types/sdk/createSessionFetcher.d.ts +2 -2
  41. package/dist/types/server/index.d.ts +26 -0
  42. package/dist/types/types/index.d.ts +37 -14
  43. package/dist/types/utils/billingUtils.d.ts +2 -1
  44. package/dist/types/vue/index.d.ts +88 -0
  45. package/dist/vue/frame/protocol.d.ts +12 -0
  46. package/dist/vue/index.cjs.js +2335 -0
  47. package/dist/vue/index.cjs.js.map +1 -0
  48. package/dist/vue/index.esm.js +2327 -0
  49. package/dist/vue/index.esm.js.map +1 -0
  50. package/dist/vue/sdk/OzElement.d.ts +99 -0
  51. package/dist/vue/sdk/OzVault.d.ts +250 -0
  52. package/dist/vue/sdk/createSessionFetcher.d.ts +29 -0
  53. package/dist/vue/sdk/errors.d.ts +65 -0
  54. package/dist/vue/sdk/index.d.ts +14 -0
  55. package/dist/vue/types/index.d.ts +667 -0
  56. package/dist/vue/utils/appearance.d.ts +22 -0
  57. package/dist/vue/utils/billingUtils.d.ts +61 -0
  58. package/dist/vue/utils/uuid.d.ts +12 -0
  59. package/dist/vue/vue/index.d.ts +88 -0
  60. package/package.json +15 -3
@@ -73,10 +73,15 @@ var _OzTokenizerFrame = (function (exports) {
73
73
  class TokenizerFrame {
74
74
  constructor() {
75
75
  this.hostOrigin = '';
76
- /** Wax key delivered once via OZ_INIT. Used for all tokenize calls. */
76
+ /**
77
+ * Session key — delivered via OZ_INIT on first ready and again after each
78
+ * auto-refresh. The latest value is always used for tokenize calls.
79
+ */
77
80
  this.waxKey = '';
78
81
  this.pending = new Map();
79
82
  this.pendingBank = new Map();
83
+ /** Mirrors the parent vault's debug flag — set via OZ_INIT. When true, the frame relays debug-level info in addition to errors/warnings. */
84
+ this.debug = false;
80
85
  const p = new URLSearchParams(location.hash.slice(1));
81
86
  this.vaultId = p.get('vaultId') || '';
82
87
  const fromUrl = p.get('parentOrigin');
@@ -85,6 +90,21 @@ var _OzTokenizerFrame = (function (exports) {
85
90
  window.addEventListener('message', this.onMessage.bind(this));
86
91
  window.parent.postMessage({ __oz: true, vaultId: this.vaultId, type: 'OZ_FRAME_READY', frameId: '__tokenizer__', __ozVersion: PROTOCOL_VERSION }, this.hostOrigin || window.location.origin);
87
92
  }
93
+ /**
94
+ * Relays a message to the parent window as OZ_DEBUG_LOG so it surfaces in
95
+ * the merchant page's DevTools console rather than the hidden tokenizer-frame
96
+ * context.
97
+ *
98
+ * Level semantics:
99
+ * 'error' — always relayed (genuine failure)
100
+ * 'warn' — always relayed (developer misconfiguration)
101
+ * 'log' — only relayed when debug mode is enabled (lifecycle / timing info)
102
+ */
103
+ postDebugLog(level, message, target) {
104
+ if (level === 'log' && !this.debug)
105
+ return;
106
+ window.parent.postMessage({ __oz: true, vaultId: this.vaultId, type: 'OZ_DEBUG_LOG', level, message }, target || this.hostOrigin || window.location.origin);
107
+ }
88
108
  onMessage(event) {
89
109
  const msg = event.data;
90
110
  if (!msg || msg.__oz !== true || msg.vaultId !== this.vaultId)
@@ -103,6 +123,9 @@ var _OzTokenizerFrame = (function (exports) {
103
123
  if (event.origin === this.hostOrigin && typeof msg.waxKey === 'string' && msg.waxKey) {
104
124
  this.waxKey = msg.waxKey;
105
125
  }
126
+ if (event.origin === this.hostOrigin && typeof msg.debug === 'boolean') {
127
+ this.debug = msg.debug;
128
+ }
106
129
  break;
107
130
  case 'OZ_TOKENIZE':
108
131
  if (!this.hostOrigin || event.origin !== this.hostOrigin)
@@ -115,7 +138,7 @@ var _OzTokenizerFrame = (function (exports) {
115
138
  // Number.isInteger rejects NaN and Infinity which typeof === 'number'
116
139
  // but would make values.size >= fieldCount always false, hanging forever.
117
140
  if (!Number.isInteger(rawCount) || rawCount < 1) {
118
- console.warn('[OzTokenizer] Rejected OZ_TOKENIZE: invalid fieldCount', rawCount);
141
+ this.postDebugLog('warn', `[OzTokenizer] Rejected OZ_TOKENIZE: invalid fieldCount ${rawCount}`);
119
142
  window.parent.postMessage({
120
143
  __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
121
144
  requestId: msg.requestId,
@@ -126,7 +149,7 @@ var _OzTokenizerFrame = (function (exports) {
126
149
  }
127
150
  const requestId = typeof msg.requestId === 'string' && msg.requestId ? msg.requestId : null;
128
151
  if (!requestId) {
129
- console.warn('[OzTokenizer] Rejected OZ_TOKENIZE: missing or invalid requestId');
152
+ this.postDebugLog('warn', '[OzTokenizer] Rejected OZ_TOKENIZE: missing or invalid requestId');
130
153
  return;
131
154
  }
132
155
  const sessionPorts = Array.from(event.ports);
@@ -140,10 +163,9 @@ var _OzTokenizerFrame = (function (exports) {
140
163
  this.pending.set(requestId, {
141
164
  kind: 'card',
142
165
  requestId,
143
- // Prefer the internally stored wax key (delivered once via OZ_INIT).
144
- // Fall back to the message payload for the brief window where the
145
- // OZ_INIT delivery may not have been processed yet.
146
- waxKey: this.waxKey || (msg.waxKey || ''),
166
+ // The wax key is always available from OZ_INIT, which is delivered
167
+ // before any OZ_TOKENIZE because createToken() requires isReady === true.
168
+ waxKey: this.waxKey,
147
169
  tokenizationSessionId: msg.tokenizationSessionId || '',
148
170
  pubKey: msg.pubKey || '',
149
171
  firstName: msg.firstName || '',
@@ -157,32 +179,64 @@ var _OzTokenizerFrame = (function (exports) {
157
179
  // Each element iframe sends its field value via a dedicated MessagePort
158
180
  // transferred here. This removes the window.parent named-frame dependency.
159
181
  for (const port of sessionPorts) {
182
+ port.onmessageerror = () => {
183
+ // Structured-clone deserialization failed — the field value cannot be
184
+ // read. Post an error so the SDK doesn't hang for 30 seconds.
185
+ this.pending.delete(requestId);
186
+ window.parent.postMessage({
187
+ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
188
+ requestId, error: 'Field value MessagePort deserialization failed.', errorCode: 'unknown',
189
+ }, this.hostOrigin || window.location.origin);
190
+ };
160
191
  port.onmessage = (e) => {
161
- const data = e.data;
162
- if (!data || data.__oz !== true || data.vaultId !== this.vaultId || data.type !== 'OZ_FIELD_VALUE')
163
- return;
164
- const session = this.pending.get(requestId);
165
- if (!session)
166
- return;
167
- const fieldType = typeof data.fieldType === 'string' ? data.fieldType : null;
168
- const value = typeof data.value === 'string' ? data.value : null;
169
- if (!fieldType || value === null)
170
- return;
171
- session.values.set(fieldType, value);
172
- if (typeof data.last4 === 'string' && data.last4)
173
- session.cardMeta.last4 = data.last4;
174
- if (typeof data.brand === 'string' && data.brand)
175
- session.cardMeta.brand = data.brand;
176
- if (typeof data.expMonth === 'string' && data.expMonth)
177
- session.cardMeta.expMonth = data.expMonth;
178
- if (typeof data.expYear === 'string' && data.expYear)
179
- session.cardMeta.expYear = data.expYear;
180
- if (session.values.size >= session.fieldCount) {
192
+ try {
193
+ const data = e.data;
194
+ if (!data || data.__oz !== true || data.vaultId !== this.vaultId || data.type !== 'OZ_FIELD_VALUE')
195
+ return;
196
+ const session = this.pending.get(requestId);
197
+ if (!session)
198
+ return;
199
+ const fieldType = typeof data.fieldType === 'string' ? data.fieldType : null;
200
+ const value = typeof data.value === 'string' ? data.value : null;
201
+ if (!fieldType || value === null)
202
+ return;
203
+ session.values.set(fieldType, value);
204
+ if (typeof data.last4 === 'string' && data.last4)
205
+ session.cardMeta.last4 = data.last4;
206
+ if (typeof data.brand === 'string' && data.brand)
207
+ session.cardMeta.brand = data.brand;
208
+ if (typeof data.expMonth === 'string' && data.expMonth)
209
+ session.cardMeta.expMonth = data.expMonth;
210
+ if (typeof data.expYear === 'string' && data.expYear)
211
+ session.cardMeta.expYear = data.expYear;
212
+ if (session.values.size >= session.fieldCount) {
213
+ this.postDebugLog('log', `[OzTokenizer] All ${session.fieldCount} field(s) received for requestId ${requestId.slice(0, 12)}…, posting to vault`, session.hostOrigin || window.location.origin);
214
+ this.pending.delete(requestId);
215
+ session.ports.forEach(p => p.close());
216
+ this.tokenize(session).catch(err => {
217
+ // tokenize() has its own internal error handling via postToVault, but
218
+ // guard against any unexpected throw so the SDK never hangs waiting for
219
+ // a response that will never arrive.
220
+ this.postDebugLog('error', `[OzTokenizer] Unhandled error in tokenize: ${err instanceof Error ? err.message : err}`, session.hostOrigin || window.location.origin);
221
+ window.parent.postMessage({
222
+ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
223
+ requestId: session.requestId,
224
+ error: err instanceof Error ? err.message : 'Internal tokenizer error',
225
+ errorCode: 'unknown',
226
+ }, session.hostOrigin || window.location.origin);
227
+ });
228
+ }
229
+ }
230
+ catch (err) {
231
+ // Unexpected synchronous throw inside the port handler — post an error
232
+ // so the SDK can surface it rather than hanging until the 30s timeout.
233
+ this.postDebugLog('error', `[OzTokenizer] Unexpected error in card port.onmessage: ${err instanceof Error ? err.message : err}`);
181
234
  this.pending.delete(requestId);
182
- session.ports.forEach(p => p.close());
183
- this.tokenize(session).catch(err => {
184
- console.error('[OzTokenizer] Unhandled error in tokenize:', err);
185
- });
235
+ window.parent.postMessage({
236
+ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
237
+ requestId, error: err instanceof Error ? err.message : 'Internal field collection error',
238
+ errorCode: 'unknown',
239
+ }, this.hostOrigin || window.location.origin);
186
240
  }
187
241
  };
188
242
  }
@@ -194,7 +248,7 @@ var _OzTokenizerFrame = (function (exports) {
194
248
  {
195
249
  const rawCount = msg.fieldCount;
196
250
  if (!Number.isInteger(rawCount) || rawCount < 1) {
197
- console.warn('[OzTokenizer] Rejected OZ_BANK_TOKENIZE: invalid fieldCount', rawCount);
251
+ this.postDebugLog('warn', `[OzTokenizer] Rejected OZ_BANK_TOKENIZE: invalid fieldCount ${rawCount}`);
198
252
  window.parent.postMessage({
199
253
  __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
200
254
  requestId: msg.requestId,
@@ -205,7 +259,7 @@ var _OzTokenizerFrame = (function (exports) {
205
259
  }
206
260
  const requestId = typeof msg.requestId === 'string' && msg.requestId ? msg.requestId : null;
207
261
  if (!requestId) {
208
- console.warn('[OzTokenizer] Rejected OZ_BANK_TOKENIZE: missing or invalid requestId');
262
+ this.postDebugLog('warn', '[OzTokenizer] Rejected OZ_BANK_TOKENIZE: missing or invalid requestId');
209
263
  return;
210
264
  }
211
265
  const bankSessionPorts = Array.from(event.ports);
@@ -218,8 +272,9 @@ var _OzTokenizerFrame = (function (exports) {
218
272
  this.pendingBank.set(requestId, {
219
273
  kind: 'bank',
220
274
  requestId,
221
- // Same wax key preference: stored value first, message payload as fallback.
222
- waxKey: this.waxKey || (msg.waxKey || ''),
275
+ // The wax key is always available from OZ_INIT, which is delivered
276
+ // before any OZ_BANK_TOKENIZE because createBankToken() requires isReady === true.
277
+ waxKey: this.waxKey,
223
278
  tokenizationSessionId: msg.tokenizationSessionId || '',
224
279
  pubKey: msg.pubKey || '',
225
280
  firstName: msg.firstName || '',
@@ -231,30 +286,56 @@ var _OzTokenizerFrame = (function (exports) {
231
286
  ports: bankSessionPorts,
232
287
  });
233
288
  for (const port of bankSessionPorts) {
289
+ port.onmessageerror = () => {
290
+ this.pendingBank.delete(requestId);
291
+ window.parent.postMessage({
292
+ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
293
+ requestId, error: 'Bank field value MessagePort deserialization failed.', errorCode: 'unknown',
294
+ }, this.hostOrigin || window.location.origin);
295
+ };
234
296
  port.onmessage = (e) => {
235
- const data = e.data;
236
- if (!data || data.__oz !== true || data.vaultId !== this.vaultId || data.type !== 'OZ_FIELD_VALUE')
237
- return;
238
- const bankSession = this.pendingBank.get(requestId);
239
- if (!bankSession)
240
- return;
241
- const fieldType = typeof data.fieldType === 'string' ? data.fieldType : null;
242
- const value = typeof data.value === 'string' ? data.value : null;
243
- if (!fieldType || value === null)
244
- return;
245
- bankSession.values.set(fieldType, value);
246
- if (fieldType === 'accountNumber' && typeof data.last4 === 'string' && data.last4) {
247
- bankSession.bankMeta.last4 = data.last4;
248
- }
249
- if (fieldType === 'routingNumber') {
250
- bankSession.bankMeta.routingNumberLast4 = value.slice(-4);
297
+ try {
298
+ const data = e.data;
299
+ if (!data || data.__oz !== true || data.vaultId !== this.vaultId || data.type !== 'OZ_FIELD_VALUE')
300
+ return;
301
+ const bankSession = this.pendingBank.get(requestId);
302
+ if (!bankSession)
303
+ return;
304
+ const fieldType = typeof data.fieldType === 'string' ? data.fieldType : null;
305
+ const value = typeof data.value === 'string' ? data.value : null;
306
+ if (!fieldType || value === null)
307
+ return;
308
+ bankSession.values.set(fieldType, value);
309
+ if (fieldType === 'accountNumber' && typeof data.last4 === 'string' && data.last4) {
310
+ bankSession.bankMeta.last4 = data.last4;
311
+ }
312
+ if (fieldType === 'routingNumber') {
313
+ bankSession.bankMeta.routingNumberLast4 = value.slice(-4);
314
+ }
315
+ if (bankSession.values.size >= bankSession.fieldCount) {
316
+ this.postDebugLog('log', `[OzTokenizer] All ${bankSession.fieldCount} field(s) received for requestId ${requestId.slice(0, 12)}…, posting to vault`, bankSession.hostOrigin || window.location.origin);
317
+ this.pendingBank.delete(requestId);
318
+ bankSession.ports.forEach(p => p.close());
319
+ this.tokenizeBank(bankSession).catch(err => {
320
+ // Same guard as the card path — prevent a 30s hang on unexpected throws.
321
+ this.postDebugLog('error', `[OzTokenizer] Unhandled error in tokenizeBank: ${err instanceof Error ? err.message : err}`, bankSession.hostOrigin || window.location.origin);
322
+ window.parent.postMessage({
323
+ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
324
+ requestId: bankSession.requestId,
325
+ error: err instanceof Error ? err.message : 'Internal tokenizer error',
326
+ errorCode: 'unknown',
327
+ }, bankSession.hostOrigin || window.location.origin);
328
+ });
329
+ }
251
330
  }
252
- if (bankSession.values.size >= bankSession.fieldCount) {
331
+ catch (err) {
332
+ this.postDebugLog('error', `[OzTokenizer] Unexpected error in bank port.onmessage: ${err instanceof Error ? err.message : err}`);
253
333
  this.pendingBank.delete(requestId);
254
- bankSession.ports.forEach(p => p.close());
255
- this.tokenizeBank(bankSession).catch(err => {
256
- console.error('[OzTokenizer] Unhandled error in tokenizeBank:', err);
257
- });
334
+ window.parent.postMessage({
335
+ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR',
336
+ requestId, error: err instanceof Error ? err.message : 'Internal field collection error',
337
+ errorCode: 'unknown',
338
+ }, this.hostOrigin || window.location.origin);
258
339
  }
259
340
  };
260
341
  }
@@ -291,23 +372,23 @@ var _OzTokenizerFrame = (function (exports) {
291
372
  * postMessage to `target`.
292
373
  */
293
374
  async postToVault(requestId, apiUrl, waxKey, pubKey, body, target, logLabel) {
294
- var _a, _b;
375
+ var _a, _b, _c;
295
376
  if (!isAllowedVaultOrigin(apiUrl)) {
296
377
  let error;
297
378
  try {
298
379
  new URL(apiUrl);
299
380
  error = 'Vault API URL is not permitted.';
300
381
  }
301
- catch (_c) {
382
+ catch (_d) {
302
383
  error = 'Invalid vault API URL.';
303
384
  }
304
- console.error(`[OzTokenizer] Blocked ${logLabel} request to vault origin:`, apiUrl);
385
+ this.postDebugLog('error', `[OzTokenizer] Blocked ${logLabel} request to vault origin: ${apiUrl}`, target);
305
386
  window.parent.postMessage({ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR', requestId, error, errorCode: 'config' }, target);
306
387
  return null;
307
388
  }
308
389
  if (!waxKey) {
309
390
  const error = 'Wax key is missing. Ensure OzVault.create() completed successfully before calling createToken().';
310
- console.error(`[OzTokenizer] ${error}`);
391
+ this.postDebugLog('error', `[OzTokenizer] ${error}`, target);
311
392
  window.parent.postMessage({ __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR', requestId, error, errorCode: 'config' }, target);
312
393
  return null;
313
394
  }
@@ -319,12 +400,15 @@ var _OzTokenizerFrame = (function (exports) {
319
400
  if (pubKey) {
320
401
  headers['X-Pub-Key'] = pubKey;
321
402
  }
403
+ const vaultRequestStart = Date.now();
322
404
  const data = await this.fetchWithRetry(`${apiUrl}/tokenize`, {
323
405
  method: 'POST',
324
406
  headers,
325
407
  body: JSON.stringify(body),
326
408
  });
327
- const token = String((_b = (_a = data === null || data === void 0 ? void 0 : data.token) !== null && _a !== void 0 ? _a : data === null || data === void 0 ? void 0 : data.id) !== null && _b !== void 0 ? _b : '');
409
+ const vaultDurationMs = Date.now() - vaultRequestStart;
410
+ this.postDebugLog('log', `[OzTokenizer] Vault ${logLabel} POST completed in ${vaultDurationMs}ms, token present: ${Boolean((_a = data === null || data === void 0 ? void 0 : data.token) !== null && _a !== void 0 ? _a : data === null || data === void 0 ? void 0 : data.id)}`, target);
411
+ const token = String((_c = (_b = data === null || data === void 0 ? void 0 : data.token) !== null && _b !== void 0 ? _b : data === null || data === void 0 ? void 0 : data.id) !== null && _c !== void 0 ? _c : '');
328
412
  if (!token) {
329
413
  window.parent.postMessage({
330
414
  __oz: true, vaultId: this.vaultId, type: 'OZ_TOKEN_ERROR', requestId,
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer-frame.js","sources":["../../src/sdk/errors.ts","../../src/frame/protocol.ts","../../src/frame/tokenizerFrame.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenizer-frame.js","sources":["../../src/sdk/errors.ts","../../src/frame/protocol.ts","../../src/frame/tokenizerFrame.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}