@ozura/elements 0.1.0-beta.5 → 0.1.0-beta.7
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/README.md +210 -40
- package/dist/frame/element-frame.html +1 -1
- package/dist/frame/tokenizer-frame.html +1 -1
- package/dist/frame/tokenizer-frame.js +40 -16
- package/dist/frame/tokenizer-frame.js.map +1 -1
- package/dist/oz-elements.esm.js +98 -41
- package/dist/oz-elements.esm.js.map +1 -1
- package/dist/oz-elements.umd.js +98 -40
- package/dist/oz-elements.umd.js.map +1 -1
- package/dist/react/frame/tokenizerFrame.d.ts +4 -4
- package/dist/react/index.cjs.js +127 -47
- package/dist/react/index.cjs.js.map +1 -1
- package/dist/react/index.esm.js +127 -47
- package/dist/react/index.esm.js.map +1 -1
- package/dist/react/react/index.d.ts +18 -5
- package/dist/react/sdk/OzVault.d.ts +40 -4
- package/dist/react/sdk/errors.d.ts +4 -3
- package/dist/react/sdk/index.d.ts +2 -2
- package/dist/react/server/index.d.ts +116 -16
- package/dist/react/types/index.d.ts +122 -6
- package/dist/server/frame/tokenizerFrame.d.ts +4 -4
- package/dist/server/index.cjs.js +218 -26
- package/dist/server/index.cjs.js.map +1 -1
- package/dist/server/index.esm.js +217 -27
- package/dist/server/index.esm.js.map +1 -1
- package/dist/server/sdk/OzVault.d.ts +40 -4
- package/dist/server/sdk/errors.d.ts +4 -3
- package/dist/server/sdk/index.d.ts +2 -2
- package/dist/server/server/index.d.ts +116 -16
- package/dist/server/types/index.d.ts +122 -6
- package/dist/types/frame/tokenizerFrame.d.ts +4 -4
- package/dist/types/sdk/OzVault.d.ts +40 -4
- package/dist/types/sdk/errors.d.ts +4 -3
- package/dist/types/sdk/index.d.ts +2 -2
- package/dist/types/server/index.d.ts +116 -16
- package/dist/types/types/index.d.ts +122 -6
- package/package.json +1 -1
package/dist/server/index.esm.js
CHANGED
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
*/
|
|
29
29
|
// ─── Configuration ───────────────────────────────────────────────────────────
|
|
30
30
|
const DEFAULT_API_URL = "https://ozurapay-pay-api-v2-staging-c8abbdfhfbd3c5em.eastus-01.azurewebsites.net";
|
|
31
|
+
const DEFAULT_VAULT_URL = "https://pci-vault-staging-drc0duhcakf4g4fr.eastus-01.azurewebsites.net";
|
|
31
32
|
const DEFAULT_TIMEOUT = 30000;
|
|
32
33
|
// ─── Error ───────────────────────────────────────────────────────────────────
|
|
33
34
|
class OzuraError extends Error {
|
|
@@ -61,6 +62,7 @@ class Ozura {
|
|
|
61
62
|
this.apiKey = config.apiKey;
|
|
62
63
|
this.vaultKey = config.vaultKey;
|
|
63
64
|
this.apiUrl = config.apiUrl || DEFAULT_API_URL;
|
|
65
|
+
this.vaultUrl = config.vaultUrl || DEFAULT_VAULT_URL;
|
|
64
66
|
this.timeoutMs = (_a = config.timeoutMs) !== null && _a !== void 0 ? _a : DEFAULT_TIMEOUT;
|
|
65
67
|
this.retries = (_b = config.retries) !== null && _b !== void 0 ? _b : DEFAULT_RETRIES;
|
|
66
68
|
}
|
|
@@ -101,20 +103,6 @@ class Ozura {
|
|
|
101
103
|
}
|
|
102
104
|
return this.post('/api/v1/cardSale', body, true);
|
|
103
105
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Retrieve a single transaction by ID.
|
|
106
|
-
*
|
|
107
|
-
* **Known issue:** The Pay API requires the API key as a query parameter
|
|
108
|
-
* (`access_token`), which means it can appear in server logs, CDN caches,
|
|
109
|
-
* and HTTP Referer headers. This is a Pay API design issue — the SDK will
|
|
110
|
-
* switch to header-based auth once the backend supports it.
|
|
111
|
-
*
|
|
112
|
-
* Rate limit: 100 requests/minute per merchant.
|
|
113
|
-
*/
|
|
114
|
-
async getTransaction(transactionId) {
|
|
115
|
-
const qs = new URLSearchParams({ access_token: this.apiKey });
|
|
116
|
-
return this.get(`/api/v1/transactions/${encodeURIComponent(transactionId)}?${qs}`);
|
|
117
|
-
}
|
|
118
106
|
/**
|
|
119
107
|
* List transactions by date range with pagination.
|
|
120
108
|
*
|
|
@@ -122,6 +110,8 @@ class Ozura {
|
|
|
122
110
|
*/
|
|
123
111
|
async listTransactions(input = {}) {
|
|
124
112
|
const params = { merchantId: this.merchantId };
|
|
113
|
+
if (input.transactionId)
|
|
114
|
+
params.transactionId = input.transactionId;
|
|
125
115
|
if (input.dateFrom)
|
|
126
116
|
params.dateFrom = input.dateFrom;
|
|
127
117
|
if (input.dateTo)
|
|
@@ -142,6 +132,102 @@ class Ozura {
|
|
|
142
132
|
const raw = await this.getRaw(`/api/v1/transQuery?${qs}`);
|
|
143
133
|
return { transactions: raw.data, pagination: raw.pagination };
|
|
144
134
|
}
|
|
135
|
+
// ─── Wax key helpers ─────────────────────────────────────────────────────
|
|
136
|
+
/**
|
|
137
|
+
* Mint a short-lived wax key from the vault.
|
|
138
|
+
*
|
|
139
|
+
* Call this server-side to implement the `fetchWaxKey` callback required by
|
|
140
|
+
* `OzVault.create()` on the frontend. The wax key replaces the vault secret
|
|
141
|
+
* on every browser tokenize call — the secret never leaves your server.
|
|
142
|
+
*
|
|
143
|
+
* The `tokenizationSessionId` passed to `fetchWaxKey` by the SDK should be
|
|
144
|
+
* forwarded here for correlation; it is stored by the vault alongside the
|
|
145
|
+
* wax key but is not used for authentication.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* // Next.js API route
|
|
149
|
+
* export async function POST(req: Request) {
|
|
150
|
+
* const { sessionId } = await req.json();
|
|
151
|
+
* const { waxKey } = await ozura.mintWaxKey({ tokenizationSessionId: sessionId });
|
|
152
|
+
* return Response.json({ waxKey });
|
|
153
|
+
* }
|
|
154
|
+
*/
|
|
155
|
+
async mintWaxKey(options) {
|
|
156
|
+
var _a, _b;
|
|
157
|
+
const body = {};
|
|
158
|
+
if (options === null || options === void 0 ? void 0 : options.tokenizationSessionId) {
|
|
159
|
+
body.checkout_session_id = options.tokenizationSessionId;
|
|
160
|
+
}
|
|
161
|
+
let res;
|
|
162
|
+
try {
|
|
163
|
+
res = await fetch(`${this.vaultUrl}/internal/wax-session`, {
|
|
164
|
+
method: 'POST',
|
|
165
|
+
headers: {
|
|
166
|
+
'Content-Type': 'application/json',
|
|
167
|
+
'X-API-Key': this.vaultKey,
|
|
168
|
+
},
|
|
169
|
+
body: JSON.stringify(body),
|
|
170
|
+
signal: AbortSignal.timeout(this.timeoutMs),
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
const msg = err instanceof Error ? err.message : 'Network error';
|
|
175
|
+
throw new OzuraError(`Wax key mint failed: ${msg}`, 0, msg);
|
|
176
|
+
}
|
|
177
|
+
const json = await res.json().catch(() => ({}));
|
|
178
|
+
if (res.status === 201) {
|
|
179
|
+
const data = json.data;
|
|
180
|
+
const waxKey = String((_a = data === null || data === void 0 ? void 0 : data.wax_key) !== null && _a !== void 0 ? _a : '');
|
|
181
|
+
if (!waxKey) {
|
|
182
|
+
throw new OzuraError('Vault mint response missing data.wax_key', res.status, JSON.stringify(json));
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
waxKey,
|
|
186
|
+
expiresInSeconds: Number((_b = data === null || data === void 0 ? void 0 : data.expires_in_seconds) !== null && _b !== void 0 ? _b : 1800),
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
const errorCode = json.error_code || '';
|
|
190
|
+
const message = json.message || json.error || `Wax mint failed (HTTP ${res.status})`;
|
|
191
|
+
throw new OzuraError(errorCode ? `${message} [${errorCode}]` : message, res.status, errorCode || JSON.stringify(json));
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Revoke a previously minted wax key.
|
|
195
|
+
*
|
|
196
|
+
* Best-effort: never throws. Call this when the user's session ends (payment
|
|
197
|
+
* complete, cancelled, or expired) to close the exposure window before the
|
|
198
|
+
* vault TTL (30 min) elapses.
|
|
199
|
+
*
|
|
200
|
+
* - 200 = revoked successfully.
|
|
201
|
+
* - 404 = key already expired or not found — treated as success.
|
|
202
|
+
* - 503 = Redis error; the wax may still be valid. Retry if needed.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* // After a successful card sale:
|
|
206
|
+
* await ozura.revokeWaxKey(waxKey);
|
|
207
|
+
*/
|
|
208
|
+
async revokeWaxKey(waxKey) {
|
|
209
|
+
var _a, _b;
|
|
210
|
+
if (!waxKey)
|
|
211
|
+
return;
|
|
212
|
+
try {
|
|
213
|
+
const res = await fetch(`${this.vaultUrl}/internal/wax-session/revoke`, {
|
|
214
|
+
method: 'POST',
|
|
215
|
+
headers: {
|
|
216
|
+
'Content-Type': 'application/json',
|
|
217
|
+
'X-API-Key': this.vaultKey,
|
|
218
|
+
},
|
|
219
|
+
body: JSON.stringify({ wax_key: waxKey }),
|
|
220
|
+
signal: AbortSignal.timeout(3000),
|
|
221
|
+
});
|
|
222
|
+
if (res.status === 200 || res.status === 404)
|
|
223
|
+
return;
|
|
224
|
+
const json = await res.json().catch(() => ({}));
|
|
225
|
+
console.warn('[Ozura] revokeWaxKey: unexpected status', res.status, (_b = (_a = json.error_code) !== null && _a !== void 0 ? _a : json.message) !== null && _b !== void 0 ? _b : '');
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
console.warn('[Ozura] revokeWaxKey: best-effort call failed:', err instanceof Error ? err.message : err);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
145
231
|
// ─── HTTP helpers ────────────────────────────────────────────────────────
|
|
146
232
|
/**
|
|
147
233
|
* Execute a fetch with retry on 5xx / network errors.
|
|
@@ -187,6 +273,13 @@ class Ozura {
|
|
|
187
273
|
throw new OzuraError('Network error', 0);
|
|
188
274
|
}
|
|
189
275
|
async post(path, body, includeVaultKey) {
|
|
276
|
+
// Enforce: the server SDK sends x-api-key on every request, so it must
|
|
277
|
+
// never be used to call the vault tokenize endpoint. Tokenization is
|
|
278
|
+
// client-side only (OzVault + tokenizerFrame). Surface misuse immediately.
|
|
279
|
+
if (/\/tokenize\b/i.test(path)) {
|
|
280
|
+
throw new OzuraError('The server SDK must not call the vault tokenize endpoint. ' +
|
|
281
|
+
'Tokenization must be performed client-side via the OzVault SDK.', 0);
|
|
282
|
+
}
|
|
190
283
|
const headers = {
|
|
191
284
|
'Content-Type': 'application/json',
|
|
192
285
|
'x-api-key': this.apiKey,
|
|
@@ -201,14 +294,12 @@ class Ozura {
|
|
|
201
294
|
});
|
|
202
295
|
return this.handleResponse(res);
|
|
203
296
|
}
|
|
204
|
-
async get(path) {
|
|
205
|
-
const res = await this.fetchWithRetry(`${this.apiUrl}${path}`, {
|
|
206
|
-
method: 'GET',
|
|
207
|
-
headers: { 'x-api-key': this.apiKey },
|
|
208
|
-
});
|
|
209
|
-
return this.handleResponse(res);
|
|
210
|
-
}
|
|
211
297
|
async getRaw(path) {
|
|
298
|
+
// Enforce: same rule as post() — x-api-key must never reach /tokenize.
|
|
299
|
+
if (/\/tokenize\b/i.test(path)) {
|
|
300
|
+
throw new OzuraError('The server SDK must not call the vault tokenize endpoint. ' +
|
|
301
|
+
'Tokenization must be performed client-side via the OzVault SDK.', 0);
|
|
302
|
+
}
|
|
212
303
|
const res = await this.fetchWithRetry(`${this.apiUrl}${path}`, {
|
|
213
304
|
method: 'GET',
|
|
214
305
|
headers: { 'x-api-key': this.apiKey },
|
|
@@ -240,11 +331,103 @@ class Ozura {
|
|
|
240
331
|
return ((_a = json.data) !== null && _a !== void 0 ? _a : json);
|
|
241
332
|
}
|
|
242
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Creates a ready-to-use Fetch API route handler for minting wax keys.
|
|
336
|
+
*
|
|
337
|
+
* Drop-in for Next.js App Router, Cloudflare Workers, Vercel Edge, and any
|
|
338
|
+
* runtime built on the standard Web API `Request` / `Response`.
|
|
339
|
+
*
|
|
340
|
+
* The handler reads `sessionId` (or `tokenizationSessionId`) from the JSON
|
|
341
|
+
* request body, calls `ozura.mintWaxKey()`, and returns `{ waxKey }`.
|
|
342
|
+
* On error it returns `{ error }` with an appropriate HTTP status.
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* // app/api/mint-wax/route.ts (Next.js App Router)
|
|
346
|
+
* import { Ozura, createMintWaxHandler } from '@ozura/elements/server';
|
|
347
|
+
*
|
|
348
|
+
* const ozura = new Ozura({
|
|
349
|
+
* merchantId: process.env.MERCHANT_ID!,
|
|
350
|
+
* apiKey: process.env.MERCHANT_API_KEY!,
|
|
351
|
+
* vaultKey: process.env.VAULT_API_KEY!,
|
|
352
|
+
* });
|
|
353
|
+
*
|
|
354
|
+
* export const POST = createMintWaxHandler(ozura);
|
|
355
|
+
*/
|
|
356
|
+
function createMintWaxHandler(ozura) {
|
|
357
|
+
return async (req) => {
|
|
358
|
+
var _a;
|
|
359
|
+
let sessionId;
|
|
360
|
+
try {
|
|
361
|
+
const body = await req.json().catch(() => ({}));
|
|
362
|
+
const raw = (_a = body.sessionId) !== null && _a !== void 0 ? _a : body.tokenizationSessionId;
|
|
363
|
+
if (typeof raw === 'string' && raw)
|
|
364
|
+
sessionId = raw;
|
|
365
|
+
}
|
|
366
|
+
catch (_b) {
|
|
367
|
+
// unreadable body — proceed without sessionId
|
|
368
|
+
}
|
|
369
|
+
try {
|
|
370
|
+
const { waxKey } = await ozura.mintWaxKey({ tokenizationSessionId: sessionId });
|
|
371
|
+
return Response.json({ waxKey });
|
|
372
|
+
}
|
|
373
|
+
catch (err) {
|
|
374
|
+
const status = err instanceof OzuraError && err.statusCode >= 400 ? err.statusCode : 502;
|
|
375
|
+
const message = err instanceof Error ? err.message : 'Failed to mint wax key';
|
|
376
|
+
return Response.json({ error: message }, { status });
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Creates a ready-to-use Express / Connect middleware for minting wax keys.
|
|
382
|
+
*
|
|
383
|
+
* Requires `express.json()` (or equivalent body-parser) to be registered
|
|
384
|
+
* before this middleware so `req.body` is available.
|
|
385
|
+
*
|
|
386
|
+
* The middleware reads `sessionId` (or `tokenizationSessionId`) from
|
|
387
|
+
* `req.body`, calls `ozura.mintWaxKey()`, and sends `{ waxKey }`.
|
|
388
|
+
* On error it sends `{ error }` with an appropriate HTTP status.
|
|
389
|
+
*
|
|
390
|
+
* @example
|
|
391
|
+
* // Express
|
|
392
|
+
* import express from 'express';
|
|
393
|
+
* import { Ozura, createMintWaxMiddleware } from '@ozura/elements/server';
|
|
394
|
+
*
|
|
395
|
+
* const ozura = new Ozura({
|
|
396
|
+
* merchantId: process.env.MERCHANT_ID!,
|
|
397
|
+
* apiKey: process.env.MERCHANT_API_KEY!,
|
|
398
|
+
* vaultKey: process.env.VAULT_API_KEY!,
|
|
399
|
+
* });
|
|
400
|
+
*
|
|
401
|
+
* const app = express();
|
|
402
|
+
* app.use(express.json());
|
|
403
|
+
* app.post('/api/mint-wax', createMintWaxMiddleware(ozura));
|
|
404
|
+
*/
|
|
405
|
+
function createMintWaxMiddleware(ozura) {
|
|
406
|
+
return async (req, res) => {
|
|
407
|
+
var _a, _b;
|
|
408
|
+
const body = ((_a = req.body) !== null && _a !== void 0 ? _a : {});
|
|
409
|
+
const raw = (_b = body.sessionId) !== null && _b !== void 0 ? _b : body.tokenizationSessionId;
|
|
410
|
+
const sessionId = typeof raw === 'string' && raw ? raw : undefined;
|
|
411
|
+
try {
|
|
412
|
+
const { waxKey } = await ozura.mintWaxKey({ tokenizationSessionId: sessionId });
|
|
413
|
+
res.json({ waxKey });
|
|
414
|
+
}
|
|
415
|
+
catch (err) {
|
|
416
|
+
const status = err instanceof OzuraError && err.statusCode >= 400 ? err.statusCode : 502;
|
|
417
|
+
const message = err instanceof Error ? err.message : 'Failed to mint wax key';
|
|
418
|
+
res.status(status).json({ error: message });
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
}
|
|
243
422
|
// ─── Utilities ────────────────────────────────────────────────────────────────
|
|
244
423
|
/**
|
|
245
424
|
* Extract the client IP address from a server request object.
|
|
246
425
|
* Works with Express (`req.ip`), Fastify (`request.ip`), Next.js App Router
|
|
247
|
-
* (`req.headers.get(
|
|
426
|
+
* (`req.headers.get(…)`), and raw Node.js `IncomingMessage`.
|
|
427
|
+
*
|
|
428
|
+
* Header priority: `req.ip` (framework-resolved) → `cf-connecting-ip`
|
|
429
|
+
* (Cloudflare) → `x-forwarded-for` (reverse proxy) → `x-real-ip` →
|
|
430
|
+
* `socket.remoteAddress` → `"0.0.0.0"`.
|
|
248
431
|
*
|
|
249
432
|
* @example
|
|
250
433
|
* // Express / Fastify
|
|
@@ -257,19 +440,26 @@ function getClientIp(req) {
|
|
|
257
440
|
// Express / Fastify: req.ip
|
|
258
441
|
if (typeof req.ip === 'string' && req.ip)
|
|
259
442
|
return req.ip;
|
|
260
|
-
// Next.js App Router
|
|
443
|
+
// Headers API (Next.js App Router, Fetch API)
|
|
261
444
|
const headers = req.headers;
|
|
262
445
|
if (headers && typeof headers.get === 'function') {
|
|
263
|
-
const
|
|
446
|
+
const get = (name) => headers.get(name);
|
|
447
|
+
const cfIp = get('cf-connecting-ip');
|
|
448
|
+
if (cfIp)
|
|
449
|
+
return cfIp;
|
|
450
|
+
const xff = get('x-forwarded-for');
|
|
264
451
|
if (xff)
|
|
265
452
|
return xff.split(',')[0].trim();
|
|
266
|
-
const realIp =
|
|
453
|
+
const realIp = get('x-real-ip');
|
|
267
454
|
if (realIp)
|
|
268
455
|
return realIp;
|
|
269
456
|
}
|
|
270
|
-
// Node.js IncomingMessage: req.headers
|
|
457
|
+
// Node.js IncomingMessage: req.headers object
|
|
271
458
|
if (headers && typeof headers === 'object') {
|
|
272
459
|
const h = headers;
|
|
460
|
+
const cfIp = h['cf-connecting-ip'];
|
|
461
|
+
if (typeof cfIp === 'string' && cfIp)
|
|
462
|
+
return cfIp;
|
|
273
463
|
const xff = h['x-forwarded-for'];
|
|
274
464
|
if (typeof xff === 'string' && xff)
|
|
275
465
|
return xff.split(',')[0].trim();
|
|
@@ -286,5 +476,5 @@ function getClientIp(req) {
|
|
|
286
476
|
return '0.0.0.0';
|
|
287
477
|
}
|
|
288
478
|
|
|
289
|
-
export { Ozura, OzuraError, getClientIp };
|
|
479
|
+
export { Ozura, OzuraError, createMintWaxHandler, createMintWaxMiddleware, getClientIp };
|
|
290
480
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../src/server/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/server/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,20 @@ import { ElementType, BankElementType, ElementOptions, VaultOptions, TokenizeOpt
|
|
|
4
4
|
* The main entry point for OzElements. Creates and manages iframe-based
|
|
5
5
|
* card input elements that keep raw card data isolated from the merchant page.
|
|
6
6
|
*
|
|
7
|
+
* Use the static `OzVault.create()` factory — do not call `new OzVault()` directly.
|
|
8
|
+
*
|
|
7
9
|
* @example
|
|
8
|
-
* const vault =
|
|
10
|
+
* const vault = await OzVault.create({
|
|
11
|
+
* pubKey: 'pk_live_...',
|
|
12
|
+
* fetchWaxKey: async (sessionId) => {
|
|
13
|
+
* // Call your backend — which calls ozura.mintWaxKey() from oz-elements/server
|
|
14
|
+
* const { waxKey } = await fetch('/api/mint-wax', {
|
|
15
|
+
* method: 'POST',
|
|
16
|
+
* body: JSON.stringify({ sessionId }),
|
|
17
|
+
* }).then(r => r.json());
|
|
18
|
+
* return waxKey;
|
|
19
|
+
* },
|
|
20
|
+
* });
|
|
9
21
|
* const cardNum = vault.createElement('cardNumber');
|
|
10
22
|
* cardNum.mount('#card-number');
|
|
11
23
|
* const { token, cvcSession } = await vault.createToken({
|
|
@@ -13,9 +25,9 @@ import { ElementType, BankElementType, ElementOptions, VaultOptions, TokenizeOpt
|
|
|
13
25
|
* });
|
|
14
26
|
*/
|
|
15
27
|
export declare class OzVault {
|
|
16
|
-
private
|
|
28
|
+
private waxKey;
|
|
29
|
+
private tokenizationSessionId;
|
|
17
30
|
private pubKey;
|
|
18
|
-
private apiUrl;
|
|
19
31
|
private frameBaseUrl;
|
|
20
32
|
private frameOrigin;
|
|
21
33
|
private fonts;
|
|
@@ -36,7 +48,30 @@ export declare class OzVault {
|
|
|
36
48
|
private boundHandleMessage;
|
|
37
49
|
private _pendingMount;
|
|
38
50
|
private loadErrorTimeoutId;
|
|
39
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Internal constructor — use `OzVault.create()` instead.
|
|
53
|
+
* The constructor mounts the tokenizer iframe immediately so it can start
|
|
54
|
+
* loading in parallel while `fetchWaxKey` is being awaited.
|
|
55
|
+
*/
|
|
56
|
+
private constructor();
|
|
57
|
+
/**
|
|
58
|
+
* Creates and returns a ready `OzVault` instance.
|
|
59
|
+
*
|
|
60
|
+
* Internally this:
|
|
61
|
+
* 1. Generates a `tokenizationSessionId` (UUID).
|
|
62
|
+
* 2. Starts loading the hidden tokenizer iframe immediately.
|
|
63
|
+
* 3. Calls `options.fetchWaxKey(tokenizationSessionId)` concurrently — your
|
|
64
|
+
* backend mints a session-bound wax key from the vault and returns it.
|
|
65
|
+
* 4. Resolves with the vault instance once the wax key is stored. The iframe
|
|
66
|
+
* has been loading the whole time, so `isReady` may already be true or
|
|
67
|
+
* will fire shortly after.
|
|
68
|
+
*
|
|
69
|
+
* The returned vault is ready to create elements immediately. `createToken()`
|
|
70
|
+
* additionally requires `vault.isReady` (tokenizer iframe loaded).
|
|
71
|
+
*
|
|
72
|
+
* @throws {OzError} if `fetchWaxKey` throws or returns an empty string.
|
|
73
|
+
*/
|
|
74
|
+
static create(options: VaultOptions): Promise<OzVault>;
|
|
40
75
|
/**
|
|
41
76
|
* True once the hidden tokenizer iframe has loaded and signalled ready.
|
|
42
77
|
* Use this to gate the pay button when building custom UIs without React.
|
|
@@ -63,6 +98,7 @@ export declare class OzVault {
|
|
|
63
98
|
createBankElement(type: BankElementType, options?: ElementOptions): OzElement;
|
|
64
99
|
/** Returns the existing bank element of the given type, or null if none has been created. */
|
|
65
100
|
getBankElement(type: BankElementType): OzElement | null;
|
|
101
|
+
private createElementInto;
|
|
66
102
|
/**
|
|
67
103
|
* Tokenizes mounted bank account elements. Raw account and routing numbers
|
|
68
104
|
* never leave the Ozura-origin iframes — the tokenizer iframe POSTs directly
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* errors.ts — error types and normalisation for OzElements.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* - normalizeVaultError
|
|
6
|
-
* -
|
|
4
|
+
* Three normalisation functions:
|
|
5
|
+
* - normalizeVaultError — maps raw vault /tokenize errors to user-facing messages (card flows)
|
|
6
|
+
* - normalizeBankVaultError — maps raw vault /tokenize errors to user-facing messages (bank/ACH flows)
|
|
7
|
+
* - normalizeCardSaleError — maps raw cardSale API errors to user-facing messages
|
|
7
8
|
*
|
|
8
9
|
* Error keys in normalizeCardSaleError are taken directly from checkout's
|
|
9
10
|
* errorMapping.ts so the same error strings produce the same user-facing copy.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { OzVault } from './OzVault';
|
|
2
2
|
export { OzElement } from './OzElement';
|
|
3
|
-
export { OzError, normalizeVaultError, normalizeCardSaleError } from './errors';
|
|
3
|
+
export { OzError, normalizeVaultError, normalizeBankVaultError, normalizeCardSaleError } from './errors';
|
|
4
4
|
export type { OzErrorCode } from './errors';
|
|
5
|
-
export type { ElementType, BankElementType, ElementOptions, ElementStyleConfig, ElementStyle, ElementChangeEvent, VaultOptions, TokenizeOptions, BankTokenizeOptions, TokenResponse, BankTokenResponse, CardMetadata, BankAccountMetadata, FontSource, CssFontSource, CustomFontSource, BillingDetails, BillingAddress, CardSaleRequest, CardSaleResponseData, CardSaleApiResponse, Appearance, AppearanceVariables, OzTheme, TransactionQueryParams, TransactionQueryPagination, TransactionQueryResponse, } from '../types';
|
|
5
|
+
export type { ElementType, BankElementType, ElementOptions, ElementStyleConfig, ElementStyle, ElementChangeEvent, VaultOptions, TokenizeOptions, BankTokenizeOptions, TokenResponse, BankTokenResponse, CardMetadata, BankAccountMetadata, FontSource, CssFontSource, CustomFontSource, BillingDetails, BillingAddress, CardSaleRequest, CardSaleResponseData, CardSaleApiResponse, Appearance, AppearanceVariables, OzTheme, TransactionQueryParams, TransactionQueryPagination, TransactionQueryResponse, TransactionType, CardTransactionType, AchTransactionType, CryptoTransactionType, TransactionBase, CardTransactionData, AchTransactionData, CryptoTransactionData, TransactionData, } from '../types';
|