@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.
- package/LICENSE +21 -21
- package/README.md +73 -71
- package/dist/frame/element-frame.js +13 -2
- package/dist/frame/element-frame.js.map +1 -1
- package/dist/frame/tokenizer-frame.html +1 -1
- package/dist/frame/tokenizer-frame.js +2 -2
- package/dist/frame/tokenizer-frame.js.map +1 -1
- package/dist/oz-elements.esm.js +263 -244
- package/dist/oz-elements.esm.js.map +1 -1
- package/dist/oz-elements.umd.js +264 -244
- package/dist/oz-elements.umd.js.map +1 -1
- package/dist/react/index.cjs.js +139 -113
- package/dist/react/index.cjs.js.map +1 -1
- package/dist/react/index.esm.js +138 -113
- package/dist/react/index.esm.js.map +1 -1
- package/dist/react/react/index.d.ts +50 -29
- package/dist/react/sdk/OzVault.d.ts +6 -5
- package/dist/react/sdk/createSessionFetcher.d.ts +29 -0
- package/dist/react/sdk/index.d.ts +6 -26
- package/dist/react/server/index.d.ts +126 -74
- package/dist/react/types/index.d.ts +70 -41
- package/dist/server/index.cjs.js +188 -90
- package/dist/server/index.cjs.js.map +1 -1
- package/dist/server/index.esm.js +187 -91
- package/dist/server/index.esm.js.map +1 -1
- package/dist/server/sdk/OzVault.d.ts +6 -5
- package/dist/server/sdk/createSessionFetcher.d.ts +29 -0
- package/dist/server/sdk/index.d.ts +6 -26
- package/dist/server/server/index.d.ts +126 -74
- package/dist/server/types/index.d.ts +70 -41
- package/dist/types/sdk/OzVault.d.ts +6 -5
- package/dist/types/sdk/createSessionFetcher.d.ts +29 -0
- package/dist/types/sdk/index.d.ts +6 -26
- package/dist/types/server/index.d.ts +126 -74
- package/dist/types/types/index.d.ts +70 -41
- 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
|
-
- [
|
|
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 **
|
|
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** |
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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) —
|
|
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
|
-
###
|
|
242
|
+
### Session endpoint
|
|
243
243
|
|
|
244
|
-
The SDK calls your
|
|
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/
|
|
250
|
-
import { Ozura,
|
|
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 =
|
|
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,
|
|
261
|
+
import { Ozura, createSessionMiddleware } from '@ozura/elements/server';
|
|
266
262
|
|
|
267
|
-
const ozura = new Ozura({
|
|
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/
|
|
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/
|
|
273
|
+
// POST /api/oz-session
|
|
278
274
|
const { sessionId } = await req.json();
|
|
279
|
-
const {
|
|
280
|
-
|
|
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
|
|
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
|
-
| `
|
|
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
|
-
| `
|
|
364
|
-
| `onReady` | `() => void` | — | Called once when the tokenizer iframe has loaded and is ready. Use in vanilla JS to re-check submit-button readiness
|
|
365
|
-
| `
|
|
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
|
-
|
|
363
|
+
¹ Exactly one of `sessionUrl`, `getSessionKey`, or `fetchWaxKey` is required.
|
|
369
364
|
|
|
370
|
-
|
|
365
|
+
Throws `OzError` if the session fetch rejects, returns an empty string, or returns a non-string value.
|
|
371
366
|
|
|
372
|
-
>
|
|
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
|
|
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,
|
|
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
|
|
561
|
+
The session key, its remaining budget, and all iframes are fully preserved — no network calls are made.
|
|
567
562
|
|
|
568
|
-
**
|
|
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
|
|
647
|
+
import { OzElements } from '@ozura/elements/react';
|
|
653
648
|
|
|
654
649
|
<OzElements
|
|
655
650
|
pubKey="pk_live_..."
|
|
656
|
-
|
|
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 `
|
|
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` / `
|
|
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
|
|
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.
|
|
788
|
-
| `tokenizeCount` | `number` | Number of successful tokenizations
|
|
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
|
-
|
|
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="..."
|
|
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
|
|
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
|
-
> **
|
|
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
|
-
|
|
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_..."
|
|
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** (
|
|
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
|
-
//
|
|
1094
|
-
const {
|
|
1095
|
-
|
|
1096
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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 {
|
|
1111
|
-
await ozura.
|
|
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:** `
|
|
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
|
|
1158
|
+
The server package exports factory functions covering two runtimes × two endpoints:
|
|
1157
1159
|
|
|
1158
1160
|
| Function | Runtime | Endpoint |
|
|
1159
1161
|
|---|---|---|
|
|
1160
|
-
| `
|
|
1161
|
-
| `
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1310
|
-
|
|
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://
|
|
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://
|
|
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://
|
|
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
|