@ozura/elements 1.1.0 → 1.2.0-next.26

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 (36) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +73 -71
  3. package/dist/frame/element-frame.js +13 -2
  4. package/dist/frame/element-frame.js.map +1 -1
  5. package/dist/frame/tokenizer-frame.html +1 -1
  6. package/dist/frame/tokenizer-frame.js +2 -2
  7. package/dist/frame/tokenizer-frame.js.map +1 -1
  8. package/dist/oz-elements.esm.js +263 -244
  9. package/dist/oz-elements.esm.js.map +1 -1
  10. package/dist/oz-elements.umd.js +264 -244
  11. package/dist/oz-elements.umd.js.map +1 -1
  12. package/dist/react/index.cjs.js +139 -113
  13. package/dist/react/index.cjs.js.map +1 -1
  14. package/dist/react/index.esm.js +138 -113
  15. package/dist/react/index.esm.js.map +1 -1
  16. package/dist/react/react/index.d.ts +50 -29
  17. package/dist/react/sdk/OzVault.d.ts +6 -5
  18. package/dist/react/sdk/createSessionFetcher.d.ts +29 -0
  19. package/dist/react/sdk/index.d.ts +6 -26
  20. package/dist/react/server/index.d.ts +126 -74
  21. package/dist/react/types/index.d.ts +70 -41
  22. package/dist/server/index.cjs.js +188 -90
  23. package/dist/server/index.cjs.js.map +1 -1
  24. package/dist/server/index.esm.js +187 -91
  25. package/dist/server/index.esm.js.map +1 -1
  26. package/dist/server/sdk/OzVault.d.ts +6 -5
  27. package/dist/server/sdk/createSessionFetcher.d.ts +29 -0
  28. package/dist/server/sdk/index.d.ts +6 -26
  29. package/dist/server/server/index.d.ts +126 -74
  30. package/dist/server/types/index.d.ts +70 -41
  31. package/dist/types/sdk/OzVault.d.ts +6 -5
  32. package/dist/types/sdk/createSessionFetcher.d.ts +29 -0
  33. package/dist/types/sdk/index.d.ts +6 -26
  34. package/dist/types/server/index.d.ts +126 -74
  35. package/dist/types/types/index.d.ts +70 -41
  36. package/package.json +1 -1
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Ozura
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ozura
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -18,7 +18,7 @@ Card data is collected inside Ozura-hosted iframes so raw numbers never touch yo
18
18
  - [Quick start — React](#quick-start--react)
19
19
  - [Quick start — Vanilla JS](#quick-start--vanilla-js)
20
20
  - [Server setup](#server-setup)
21
- - [Wax key endpoint](#wax-key-endpoint)
21
+ - [Session endpoint](#session-endpoint)
22
22
  - [Card sale endpoint](#card-sale-endpoint)
23
23
  - [Vanilla JS API](#vanilla-js-api)
24
24
  - [OzVault.create()](#ozvaultcreate)
@@ -81,7 +81,7 @@ Merchant page
81
81
  └── [visible] element-frame.html ← CVV ─┘
82
82
  ```
83
83
 
84
- 1. `OzVault.create()` mounts a hidden tokenizer iframe and fetches a short-lived **wax key** from your server.
84
+ 1. `OzVault.create()` mounts a hidden tokenizer iframe and fetches a short-lived **session key** from your server.
85
85
  2. Calling `vault.createElement()` mounts a visible input iframe for each field.
86
86
  3. `vault.createToken()` opens a direct `MessageChannel` between each element iframe and the tokenizer iframe. Raw values travel over those ports — they never pass through your JavaScript.
87
87
  4. The tokenizer POSTs directly to the vault API over HTTPS and returns a token to your page.
@@ -95,7 +95,7 @@ Your server only ever sees a token, never card data.
95
95
  | Credential | Format | Where it lives | Required for |
96
96
  |---|---|---|---|
97
97
  | **Vault pub key** | `pk_live_…` or `pk_prod_…` | Frontend env var (safe to expose) | All integrations |
98
- | **Vault API key** | `key_…` | Server env var — **never in the browser** | Minting wax keys (all integrations) |
98
+ | **Vault API key** | `key_…` | Server env var — **never in the browser** | Creating sessions (all integrations) |
99
99
  | **Pay API key** | `ak_…` | Server env var only | OzuraPay merchants (card charging) |
100
100
  | **Merchant ID** | `ozu_…` | Server env var only | OzuraPay merchants (card charging) |
101
101
 
@@ -127,13 +127,13 @@ npm install react react-dom # if not already installed
127
127
 
128
128
  ```tsx
129
129
  // 1. Wrap your checkout in <OzElements>
130
- import { OzElements, OzCard, useOzElements, createFetchWaxKey } from '@ozura/elements/react';
130
+ import { OzElements, OzCard, useOzElements } from '@ozura/elements/react';
131
131
 
132
132
  function CheckoutPage() {
133
133
  return (
134
134
  <OzElements
135
135
  pubKey="pk_live_..."
136
- fetchWaxKey={createFetchWaxKey('/api/mint-wax')}
136
+ sessionUrl="/api/oz-session"
137
137
  >
138
138
  <CheckoutForm />
139
139
  </OzElements>
@@ -184,7 +184,7 @@ function CheckoutForm() {
184
184
  > 📖 [Card elements guide](https://docs.ozura.com/sdks/elements/card-elements) — full end-to-end example, field events, submit-button gating, and auto-advance behaviour.
185
185
 
186
186
  ```ts
187
- import { OzVault, createFetchWaxKey } from '@ozura/elements';
187
+ import { OzVault } from '@ozura/elements';
188
188
 
189
189
  // Declare state BEFORE OzVault.create(). The onReady callback fires when the
190
190
  // tokenizer iframe loads — this can happen before create() resolves because the
@@ -199,7 +199,7 @@ function checkReady() {
199
199
 
200
200
  const vault = await OzVault.create({
201
201
  pubKey: 'pk_live_...',
202
- fetchWaxKey: createFetchWaxKey('/api/mint-wax'),
202
+ sessionUrl: '/api/oz-session',
203
203
  onReady: () => { tokenizerIsReady = true; checkReady(); }, // tokenizer iframe loaded
204
204
  });
205
205
 
@@ -237,50 +237,43 @@ vault.destroy();
237
237
 
238
238
  ## Server setup
239
239
 
240
- > 📖 [Server SDK guide](https://docs.ozura.com/sdks/elements/server) — wax key minting, card sale handler factories, IP extraction, and manual implementation patterns.
240
+ > 📖 [Server SDK guide](https://docs.ozura.com/sdks/elements/server) — session creation, card sale handler factories, IP extraction, and manual implementation patterns.
241
241
 
242
- ### Wax key endpoint
242
+ ### Session endpoint
243
243
 
244
- The SDK calls your `fetchWaxKey` function with a `tokenizationSessionId` UUID. Your backend must exchange it for a wax key from the vault.
244
+ The SDK calls your session endpoint whenever it needs to start or refresh a payment session. Your backend creates a short-lived session key from the vault using your vault API key the key never touches the browser.
245
245
 
246
246
  **Next.js App Router (recommended)**
247
247
 
248
248
  ```ts
249
- // app/api/mint-wax/route.ts
250
- import { Ozura, createMintWaxHandler } from '@ozura/elements/server';
249
+ // app/api/oz-session/route.ts
250
+ import { Ozura, createSessionHandler } from '@ozura/elements/server';
251
251
 
252
- const ozura = new Ozura({
253
- merchantId: process.env.MERCHANT_ID!,
254
- apiKey: process.env.MERCHANT_API_KEY!,
255
- vaultKey: process.env.VAULT_API_KEY!,
256
- });
252
+ const ozura = new Ozura({ vaultKey: process.env.VAULT_API_KEY! });
257
253
 
258
- export const POST = createMintWaxHandler(ozura);
254
+ export const POST = createSessionHandler(ozura);
259
255
  ```
260
256
 
261
257
  **Express**
262
258
 
263
259
  ```ts
264
260
  import express from 'express';
265
- import { Ozura, createMintWaxMiddleware } from '@ozura/elements/server';
261
+ import { Ozura, createSessionMiddleware } from '@ozura/elements/server';
266
262
 
267
- const ozura = new Ozura({ merchantId: '...', apiKey: '...', vaultKey: '...' });
263
+ const ozura = new Ozura({ vaultKey: process.env.VAULT_API_KEY! });
268
264
  const app = express();
269
265
 
270
266
  app.use(express.json());
271
- app.post('/api/mint-wax', createMintWaxMiddleware(ozura));
267
+ app.post('/api/oz-session', createSessionMiddleware(ozura));
272
268
  ```
273
269
 
274
- **Manual implementation**
270
+ **Manual implementation** (for custom logic or auth checks)
275
271
 
276
272
  ```ts
277
- // POST /api/mint-wax
273
+ // POST /api/oz-session
278
274
  const { sessionId } = await req.json();
279
- const { waxKey } = await ozura.mintWaxKey({
280
- tokenizationSessionId: sessionId,
281
- maxTokenizeCalls: 3, // vault enforces this limit; must match VaultOptions.maxTokenizeCalls on the client
282
- });
283
- return Response.json({ waxKey });
275
+ const { sessionKey } = await ozura.createSession({ sessionId });
276
+ return Response.json({ sessionKey });
284
277
  ```
285
278
 
286
279
  ### Card sale endpoint
@@ -349,27 +342,29 @@ const result = await ozura.cardSale({
349
342
  const vault = await OzVault.create(options: VaultOptions): Promise<OzVault>
350
343
  ```
351
344
 
352
- Mounts the hidden tokenizer iframe and fetches the wax key concurrently. Both happen in parallel — by the time `create()` resolves, the iframe may already be ready.
345
+ Mounts the hidden tokenizer iframe and fetches a session key concurrently. Both happen in parallel — by the time `create()` resolves, the iframe may already be ready.
353
346
 
354
347
  | Option | Type | Required | Description |
355
348
  |---|---|---|---|
356
349
  | `pubKey` | `string` | ✓ | Your public key from the Ozura admin. |
357
- | `fetchWaxKey` | `(sessionId: string) => Promise<string>` | ✓ | Called with the session ID; must return a wax key string from your server. Use `createFetchWaxKey('/api/mint-wax')` for the common case. |
350
+ | `sessionUrl` | `string` | ✓ ¹ | URL of your session endpoint. The simplest option pass the path and the SDK handles everything. |
351
+ | `getSessionKey` | `(sessionId: string) => Promise<string>` | ✓ ¹ | Custom async callback for obtaining the session key. Use when you need custom headers or auth logic. |
352
+ | `fetchWaxKey` | `(sessionId: string) => Promise<string>` | ✓ ¹ | **Deprecated.** Use `sessionUrl` or `getSessionKey` instead. |
358
353
  | `frameBaseUrl` | `string` | — | Base URL for iframe assets. Defaults to production CDN. Override for local dev (see [Local development](#local-development)). |
359
354
  | `fonts` | `FontSource[]` | — | Custom fonts to inject into all element iframes. |
360
355
  | `appearance` | `Appearance` | — | Global theme and variable overrides. |
361
356
  | `loadTimeoutMs` | `number` | — | Tokenizer iframe load timeout in ms. Default: `10000`. Only takes effect when `onLoadError` is also provided. |
362
357
  | `onLoadError` | `() => void` | — | Called if the tokenizer iframe fails to load within `loadTimeoutMs`. |
363
- | `onWaxRefresh` | `() => void` | — | Called when the SDK silently re-mints an expired wax key mid-tokenization. |
364
- | `onReady` | `() => void` | — | Called once when the tokenizer iframe has loaded and is ready. Use in vanilla JS to re-check submit-button readiness when the tokenizer becomes ready after all element iframes have already fired. In React, `useOzElements().ready` handles this automatically. |
365
- | `maxTokenizeCalls` | `number` | — | Maximum successful `createToken` calls per wax key before the key is considered consumed. Default: `3`. Must match `maxTokenizeCalls` in your server-side `mintWaxKey` call. |
358
+ | `onSessionRefresh` | `() => void` | — | Called when the SDK silently refreshes the session mid-tokenization (key expired or consumed). |
359
+ | `onReady` | `() => void` | — | Called once when the tokenizer iframe has loaded and is ready. Use in vanilla JS to re-check submit-button readiness. In React, `useOzElements().ready` handles this automatically. |
360
+ | `sessionLimit` | `number` | — | Card submissions allowed per session before the SDK refreshes automatically. Default: `3`. Must match `sessionLimit` in your server-side `createSession` call. |
366
361
  | `debug` | `boolean` | — | Enables structured `[OzVault]`-prefixed `console.log` output at every lifecycle event. Safe to use in production — no sensitive data is ever logged. Default: `false`. See [Debug mode](#debug-mode) for details. |
367
362
 
368
- Throws `OzError` if `fetchWaxKey` rejects, returns an empty string, or returns a non-string value.
363
+ ¹ Exactly one of `sessionUrl`, `getSessionKey`, or `fetchWaxKey` is required.
369
364
 
370
- > **`createFetchWaxKey` retry behavior:** The built-in helper enforces a **10-second per-attempt timeout** and retries **once after 750 ms on pure network failures** (connection refused, DNS failure, offline). HTTP 4xx/5xx errors are never retried — they signal endpoint misconfiguration or invalid credentials and require developer action. Errors are thrown as `OzError` instances so you can inspect `err.errorCode` and `err.retryable`.
365
+ Throws `OzError` if the session fetch rejects, returns an empty string, or returns a non-string value.
371
366
 
372
- > **Re-export identity:** `createFetchWaxKey` is exported from both `@ozura/elements` and `@ozura/elements/react`. They are identicalthe same function. Use whichever matches your import context.
367
+ > **`sessionUrl` retry behavior:** The SDK enforces a **10-second per-attempt timeout** and retries **once after 750 ms on pure network failures** (connection refused, DNS failure, offline). HTTP 4xx/5xx errors are never retried they signal endpoint misconfiguration or invalid credentials and require developer action. Errors are thrown as `OzError` instances so you can inspect `err.errorCode`.
373
368
 
374
369
  ---
375
370
 
@@ -470,7 +465,7 @@ Throws `OzError` if:
470
465
  vault.tokenizeCount: number // read-only getter
471
466
  ```
472
467
 
473
- Returns the number of successful `createToken()` / `createBankToken()` calls made against the current wax key. Resets to `0` each time the wax key is refreshed (proactively or reactively). Use this in vanilla JS to display "attempts remaining" feedback or gate the submit button:
468
+ Returns the number of successful `createToken()` / `createBankToken()` calls made in the current session. Resets to `0` each time the session is refreshed (proactively or reactively). Use this in vanilla JS to display "attempts remaining" feedback or gate the submit button:
474
469
 
475
470
  ```ts
476
471
  const MAX = 3; // matches maxTokenizeCalls
@@ -561,11 +556,11 @@ useEffect(() => {
561
556
  vault.reset(): void
562
557
  ```
563
558
 
564
- Clears all mounted card and bank element fields without destroying the vault, re-minting the wax key, or resetting the tokenization budget. Call this after a declined payment to let the customer re-enter their card details on the same checkout screen.
559
+ Clears all mounted card and bank element fields without destroying the vault, refreshing the session, or resetting the tokenization budget. Call this after a declined payment to let the customer re-enter their card details on the same checkout screen.
565
560
 
566
- The wax key, its remaining budget, and all iframes are fully preserved — no network calls are made.
561
+ The session key, its remaining budget, and all iframes are fully preserved — no network calls are made.
567
562
 
568
- **Wax key session model:** One wax key covers the full checkout session. The default `max_tokenize_calls: 3` is enough for two declines and a final attempt. Use `vault.reset()` between declines — not `vault.destroy()` + recreate, which would waste the remaining budget and cause iframe flicker.
563
+ **Session model:** One session covers the full checkout. The default `sessionLimit: 3` is enough for two declines and a final attempt. Use `vault.reset()` between declines — not `vault.destroy()` + recreate, which would waste the remaining budget and cause iframe flicker.
569
564
 
570
565
  ```ts
571
566
  try {
@@ -649,11 +644,11 @@ Auto-advance is built in: the vault automatically moves focus from card number
649
644
  ### OzElements provider
650
645
 
651
646
  ```tsx
652
- import { OzElements, createFetchWaxKey } from '@ozura/elements/react';
647
+ import { OzElements } from '@ozura/elements/react';
653
648
 
654
649
  <OzElements
655
650
  pubKey="pk_live_..."
656
- fetchWaxKey={createFetchWaxKey('/api/mint-wax')}
651
+ sessionUrl="/api/oz-session"
657
652
  appearance={{ theme: 'flat', variables: { colorPrimary: '#6366f1' } }}
658
653
  onLoadError={() => setPaymentUnavailable(true)}
659
654
  >
@@ -663,9 +658,9 @@ import { OzElements, createFetchWaxKey } from '@ozura/elements/react';
663
658
 
664
659
  All `VaultOptions` are accepted as props. The provider creates a single `OzVault` instance and destroys it on unmount.
665
660
 
666
- > **Prop changes and vault lifecycle:** Changing `pubKey`, `frameBaseUrl`, `loadTimeoutMs`, `appearance`, `fonts`, or `maxTokenizeCalls` destroys the current vault and creates a new one — all field iframes will remount. Changing `fetchWaxKey`, `onLoadError`, `onWaxRefresh`, or `onReady` updates the callback in place via refs without recreating the vault.
661
+ > **Prop changes and vault lifecycle:** Changing `pubKey`, `sessionUrl`, `frameBaseUrl`, `loadTimeoutMs`, `appearance`, `fonts`, or `sessionLimit` destroys the current vault and creates a new one — all field iframes will remount. Changing `getSessionKey`, `fetchWaxKey`, `onLoadError`, `onSessionRefresh`, or `onReady` updates the callback in place via refs without recreating the vault.
667
662
 
668
- > **One card form per provider:** A vault holds one element per field type (`cardNumber`, `expiry`, `cvv`, etc.). Rendering two `<OzCard>` components under the same `<OzElements>` provider will cause the second to silently replace the first's iframes, breaking the first form. If you genuinely need two independent card forms on the same page, wrap each in its own `<OzElements>` provider with separate `pubKey` / `fetchWaxKey` configurations.
663
+ > **One card form per provider:** A vault holds one element per field type (`cardNumber`, `expiry`, `cvv`, etc.). Rendering two `<OzCard>` components under the same `<OzElements>` provider will cause the second to silently replace the first's iframes, breaking the first form. If you genuinely need two independent card forms on the same page, wrap each in its own `<OzElements>` provider with separate `pubKey` / `sessionUrl` configurations.
669
664
 
670
665
  ---
671
666
 
@@ -782,10 +777,10 @@ Must be called from inside an `<OzElements>` provider tree.
782
777
  |---|---|---|
783
778
  | `createToken` | `(options?: TokenizeOptions) => Promise<TokenResponse>` | Tokenize mounted card elements. |
784
779
  | `createBankToken` | `(options: BankTokenizeOptions) => Promise<BankTokenResponse>` | Tokenize mounted bank elements. |
785
- | `reset` | `() => void` | Clear all mounted element fields without destroying the vault or re-minting the wax key. Call after a declined payment so the customer can re-enter their details. |
780
+ | `reset` | `() => void` | Clear all mounted element fields without destroying the vault or refreshing the session. Call after a declined payment so the customer can re-enter their details. |
786
781
  | `ready` | `boolean` | `true` when the tokenizer **and** all mounted element iframes are ready. Gate your submit button on this. See note below. |
787
- | `initError` | `Error \| null` | Non-null if `OzVault.create()` failed (e.g. `fetchWaxKey` threw). Render a fallback UI. |
788
- | `tokenizeCount` | `number` | Number of successful tokenizations since the last wax key was minted. Resets on wax refresh or provider re-init. Useful for tracking calls against `maxTokenizeCalls`. |
782
+ | `initError` | `Error \| null` | Non-null if `OzVault.create()` failed (e.g. session endpoint unreachable). Render a fallback UI. |
783
+ | `tokenizeCount` | `number` | Number of successful tokenizations in the current session. Resets on session refresh or provider re-init. Useful for tracking calls against `sessionLimit`. |
789
784
 
790
785
  > **`ready` vs `vault.isReady`:** `ready` from `useOzElements()` is a composite — it combines `vault.isReady` (tokenizer loaded) with element readiness (all mounted input iframes loaded). `vault.isReady` alone is insufficient for gating a submit button. Always use `ready` from `useOzElements()` in React.
791
786
 
@@ -838,7 +833,7 @@ Apply a preset theme and/or variable overrides to all elements at once:
838
833
  // OzVault.create
839
834
  const vault = await OzVault.create({
840
835
  pubKey: '...',
841
- fetchWaxKey: createFetchWaxKey('/api/mint-wax'),
836
+ sessionUrl: '/api/oz-session',
842
837
  appearance: {
843
838
  theme: 'flat', // 'default' | 'night' | 'flat'
844
839
  variables: {
@@ -858,7 +853,7 @@ const vault = await OzVault.create({
858
853
  });
859
854
 
860
855
  // React provider
861
- <OzElements pubKey="..." fetchWaxKey={...} appearance={{ theme: 'night' }}>
856
+ <OzElements pubKey="..." sessionUrl="..." appearance={{ theme: 'night' }}>
862
857
  ```
863
858
 
864
859
  Per-element `style` takes precedence over `appearance` variables.
@@ -921,7 +916,7 @@ Billing is validated and normalized by both `vault.createToken()` and the server
921
916
 
922
917
  ## Error handling
923
918
 
924
- > 📖 [Error handling guide](https://docs.ozura.com/sdks/elements/error-handling) — `OzError` fields, every `errorCode` value, retry guidance, and wax key expiry behaviour.
919
+ > 📖 [Error handling guide](https://docs.ozura.com/sdks/elements/error-handling) — `OzError` fields, every `errorCode` value, retry guidance, and session expiry behaviour.
925
920
 
926
921
  All SDK errors are instances of `OzError`:
927
922
 
@@ -959,7 +954,7 @@ try {
959
954
  | `raw` | `string` | Raw error string from the vault API, if available. |
960
955
  | `retryable` | `boolean` | `true` for `network`, `timeout`, `server`. `false` for `auth`, `validation`, `config`, `unknown`. |
961
956
 
962
- > **Wax key expiry is handled automatically.** When a wax key expires or is consumed between initialization and the user clicking Pay, the SDK silently re-mints a fresh key and retries the tokenization once. You will only receive an `auth` error if the re-mint itself fails — for example, if your `/api/mint-wax` backend endpoint is unreachable. A healthy `auth` error in production means your mint endpoint needs attention, not that the user's card is bad.
957
+ > **Session expiry is handled automatically.** When a session expires or is consumed between initialization and the user clicking Pay, the SDK silently fetches a fresh session and retries the tokenization once. You will only receive an `auth` error if the session refresh itself fails — for example, if your `/api/oz-session` backend endpoint is unreachable. A healthy `auth` error in production means your session endpoint needs attention, not that the user's card is bad.
963
958
 
964
959
  **Error normalisation helpers** (for displaying errors from `cardSale` to users):
965
960
 
@@ -981,14 +976,14 @@ Pass `debug: true` in `VaultOptions` (or as a prop on `<OzElements>`) to activat
981
976
  ```ts
982
977
  const vault = await OzVault.create({
983
978
  pubKey: 'pk_live_...',
984
- fetchWaxKey: createFetchWaxKey('/api/mint-wax'),
979
+ sessionUrl: '/api/oz-session',
985
980
  debug: true, // enables [OzVault] console.log output
986
981
  });
987
982
  ```
988
983
 
989
984
  ```tsx
990
985
  // React
991
- <OzElements pubKey="pk_live_..." fetchWaxKey={...} debug>
986
+ <OzElements pubKey="pk_live_..." sessionUrl="/api/oz-session" debug>
992
987
  ...
993
988
  </OzElements>
994
989
  ```
@@ -1066,7 +1061,7 @@ const ozura = new Ozura({
1066
1061
  });
1067
1062
  ```
1068
1063
 
1069
- > **Tokenize-only integrations** (mint wax keys + tokenize cards, no charging) only need `vaultKey`. The `merchantId` and `apiKey` fields are optional — they are validated lazily and only required when `cardSale()` is called.
1064
+ > **Tokenize-only integrations** (session creation + tokenize cards, no charging) only need `vaultKey`. The `merchantId` and `apiKey` fields are optional — they are validated lazily and only required when `cardSale()` is called.
1070
1065
  >
1071
1066
  > ```ts
1072
1067
  > const ozura = new Ozura({ vaultKey: process.env.VAULT_API_KEY! });
@@ -1090,25 +1085,32 @@ const result = await ozura.cardSale({
1090
1085
  const surcharge = result.surchargeAmount ?? '0.00';
1091
1086
  const tip = result.tipAmount ?? '0.00';
1092
1087
 
1093
- // Mint a wax key (for custom fetchWaxKey implementations)
1094
- const { waxKey, expiresInSeconds } = await ozura.mintWaxKey({
1095
- tokenizationSessionId: sessionId,
1096
- maxTokenizeCalls: 3, // must match VaultOptions.maxTokenizeCalls on the client (default: 3)
1088
+ // Create a session key (for custom session endpoint implementations)
1089
+ const { sessionKey, expiresInSeconds } = await ozura.createSession({
1090
+ sessionId,
1091
+ sessionLimit: 3, // must match VaultOptions.sessionLimit on the client (default: 3)
1092
+ // pass null to remove the cap (vault default = unlimited)
1093
+ // Optional — stored in vault audit log for correlation with your own records:
1094
+ // orderId: order.id,
1095
+ // customerId: user.id,
1096
+ // cartId: cart.id,
1097
+ // metadata: { source: 'web' },
1098
+ // ttlSeconds: 600, // shorter TTL for quicker checkouts (default: 1800)
1097
1099
  });
1098
1100
 
1099
- // Revoke a wax key — call on all three session-end paths
1101
+ // Revoke a session — call on all three session-end paths
1100
1102
  // Best-effort — never throws. Shortens the exposure window before the vault's ~30 min TTL.
1101
- await ozura.revokeWaxKey(waxKey);
1103
+ await ozura.revokeSession(sessionKey);
1102
1104
 
1103
1105
  // Suggested pattern — wire all three exit paths:
1104
1106
  // 1. Payment success
1105
1107
  const result = await ozura.cardSale({ ... });
1106
- await ozura.revokeWaxKey(waxKey); // key is spent; close the window immediately
1108
+ await ozura.revokeSession(sessionKey); // session is spent; close the window immediately
1107
1109
 
1108
1110
  // 2. User cancels checkout
1109
1111
  router.post('/api/cancel', async (req) => {
1110
- const { waxKey } = await db.session.get(req.sessionId);
1111
- await ozura.revokeWaxKey(waxKey);
1112
+ const { sessionKey } = await db.session.get(req.sessionId);
1113
+ await ozura.revokeSession(sessionKey);
1112
1114
  return Response.json({ ok: true });
1113
1115
  });
1114
1116
 
@@ -1147,18 +1149,18 @@ try {
1147
1149
 
1148
1150
  Rate limits: `cardSale` — 100 req/min per merchant. `listTransactions` — 200 req/min per merchant.
1149
1151
 
1150
- > **Retry behavior:** `mintWaxKey` and `listTransactions` retry on 5xx and network errors using exponential backoff (1 s / 2 s / 4 s…) up to `retries + 1` total attempts. **`cardSale` is never retried** — it is a non-idempotent financial operation and the result of a duplicate charge cannot be predicted.
1152
+ > **Retry behavior:** `createSession` and `listTransactions` retry on 5xx and network errors using exponential backoff (1 s / 2 s / 4 s…) up to `retries + 1` total attempts. **`cardSale` is never retried** — it is a non-idempotent financial operation and the result of a duplicate charge cannot be predicted.
1151
1153
 
1152
1154
  ---
1153
1155
 
1154
1156
  ### Route handler factories
1155
1157
 
1156
- The server package exports four factory functions covering two runtimes × two endpoints:
1158
+ The server package exports factory functions covering two runtimes × two endpoints:
1157
1159
 
1158
1160
  | Function | Runtime | Endpoint |
1159
1161
  |---|---|---|
1160
- | `createMintWaxHandler` | Fetch API (Next.js App Router, Cloudflare, Vercel Edge) | `POST /api/mint-wax` |
1161
- | `createMintWaxMiddleware` | Express / Connect | `POST /api/mint-wax` |
1162
+ | `createSessionHandler` | Fetch API (Next.js App Router, Cloudflare, Vercel Edge) | `POST /api/oz-session` |
1163
+ | `createSessionMiddleware` | Express / Connect | `POST /api/oz-session` |
1162
1164
  | `createCardSaleHandler` | Fetch API | `POST /api/charge` |
1163
1165
  | `createCardSaleMiddleware` | Express / Connect | `POST /api/charge` |
1164
1166
 
@@ -1196,7 +1198,7 @@ Set `frameBaseUrl` to point your vault at the local server:
1196
1198
  ```ts
1197
1199
  const vault = await OzVault.create({
1198
1200
  pubKey: 'pk_test_...',
1199
- fetchWaxKey: createFetchWaxKey('/api/mint-wax'),
1201
+ sessionUrl: '/api/oz-session',
1200
1202
  frameBaseUrl: 'http://localhost:4242', // local dev only
1201
1203
  });
1202
1204
  ```
@@ -1206,7 +1208,7 @@ Or in React:
1206
1208
  ```tsx
1207
1209
  <OzElements
1208
1210
  pubKey="pk_test_..."
1209
- fetchWaxKey={createFetchWaxKey('/api/mint-wax')}
1211
+ sessionUrl="/api/oz-session"
1210
1212
  frameBaseUrl="http://localhost:4242"
1211
1213
  >
1212
1214
  ```
@@ -1306,8 +1308,8 @@ Server-specific types are exported from `@ozura/elements/server`:
1306
1308
  import type {
1307
1309
  OzuraConfig,
1308
1310
  CardSaleInput,
1309
- MintWaxKeyOptions,
1310
- MintWaxKeyResult,
1311
+ CreateSessionOptions,
1312
+ CreateSessionResult,
1311
1313
  ListTransactionsInput,
1312
1314
  } from '@ozura/elements/server';
1313
1315
  ```
@@ -643,8 +643,15 @@ var _OzElementFrame = (function (exports) {
643
643
  return;
644
644
  if (v.length > MAX_STYLE_VALUE_LENGTH)
645
645
  return;
646
- if (BLOCKED_VALUE_PATTERNS.test(v))
646
+ if (BLOCKED_VALUE_PATTERNS.test(v)) {
647
+ // Warn specifically for var() since it's a common design-system pattern
648
+ // that developers won't expect to be blocked. Other patterns are security
649
+ // controls that should remain silent.
650
+ if (/var\s*\(/i.test(v)) {
651
+ console.warn(`[OzVault] Style value for "${k}" uses CSS var() which is not supported inside secure iframes. Resolve the variable before passing it to the SDK (e.g. getComputedStyle(el).getPropertyValue('--token')). The value was ignored.`);
652
+ }
647
653
  return;
654
+ }
648
655
  if (CSS_BREAKOUT.test(v))
649
656
  return;
650
657
  this.inputEl.style[k] = v;
@@ -703,8 +710,12 @@ var _OzElementFrame = (function (exports) {
703
710
  return;
704
711
  if (v.length > MAX_STYLE_VALUE_LENGTH)
705
712
  return;
706
- if (BLOCKED_VALUE_PATTERNS.test(v))
713
+ if (BLOCKED_VALUE_PATTERNS.test(v)) {
714
+ if (/var\s*\(/i.test(v)) {
715
+ console.warn(`[OzVault] Style value for "${k}" uses CSS var() which is not supported inside secure iframes. Resolve the variable before passing it to the SDK (e.g. getComputedStyle(el).getPropertyValue('--token')). The value was ignored.`);
716
+ }
707
717
  return;
718
+ }
708
719
  if (CSS_BREAKOUT.test(v))
709
720
  return;
710
721
  const cssProp = k.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
@@ -1 +1 @@
1
- {"version":3,"file":"element-frame.js","sources":["../../src/utils/cardUtils.ts","../../src/frame/protocol.ts","../../src/frame/elementFrame.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-frame.js","sources":["../../src/utils/cardUtils.ts","../../src/frame/protocol.ts","../../src/frame/elementFrame.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self'; connect-src https://api.ozuravault.com; base-uri 'none'; form-action 'none';" />
5
+ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self'; connect-src https://pci-vault-staging-drc0duhcakf4g4fr.eastus-01.azurewebsites.net; base-uri 'none'; form-action 'none';" />
6
6
  <title>Ozura Tokenizer</title>
7
7
  </head>
8
8
  <body>
@@ -38,13 +38,13 @@ var _OzTokenizerFrame = (function (exports) {
38
38
  * assembles the vault tokenization payload, and POSTs it directly to the
39
39
  * vault API. The merchant page never sees raw card data.
40
40
  *
41
- * The vault URL is determined by "https://api.ozuravault.com", injected at build time.
41
+ * The vault URL is determined by "https://pci-vault-staging-drc0duhcakf4g4fr.eastus-01.azurewebsites.net", injected at build time.
42
42
  * The tokenizer ignores any apiUrl sent by the SDK in OZ_TOKENIZE messages —
43
43
  * an attacker who XSSes the merchant page cannot redirect where card data is
44
44
  * sent because the destination is hardcoded in this Ozura-controlled bundle.
45
45
  */
46
46
  var _a;
47
- const VAULT_API_URL = "https://api.ozuravault.com";
47
+ const VAULT_API_URL = "https://pci-vault-staging-drc0duhcakf4g4fr.eastus-01.azurewebsites.net";
48
48
  /**
49
49
  * Defense-in-depth guard: only allows the build-time vault URL origin.
50
50
  * The tokenizer already uses VAULT_API_URL directly and never reads