@ozura/elements 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -422,46 +422,58 @@ class Ozura {
422
422
  const raw = await this.getRaw(`/api/v1/transQuery?${qs}`);
423
423
  return { transactions: raw.data, pagination: raw.pagination };
424
424
  }
425
- // ─── Wax key helpers ─────────────────────────────────────────────────────
425
+ // ─── Session helpers ──────────────────────────────────────────────────────
426
426
  /**
427
- * Mint a short-lived, use-limited wax key from the vault.
427
+ * Creates a short-lived payment session key from the vault.
428
428
  *
429
- * Call this server-side to implement the `fetchWaxKey` callback required by
430
- * `OzVault.create()` on the frontend. The wax key replaces the vault secret
431
- * on every browser tokenize call — the secret never leaves your server.
429
+ * Call this from your session endpoint (created with `createSessionMiddleware`
430
+ * or `createSessionHandler`) to issue a key that the frontend SDK will use for
431
+ * tokenization. The vault secret never leaves your server.
432
432
  *
433
- * **Use limits:** by default each wax key accepts up to 3 tokenize calls
434
- * (`maxTokenizeCalls: 3`). After that the vault marks the key as consumed and
435
- * the client SDK transparently re-mints. Keep `maxTokenizeCalls` in sync with
436
- * `VaultOptions.maxTokenizeCalls` so the SDK can proactively refresh before
437
- * hitting the limit rather than waiting for a rejection.
438
- *
439
- * **Session correlation:** the `tokenizationSessionId` forwarded from the SDK's
440
- * `fetchWaxKey` callback should be passed here so the vault can correlate the
441
- * key with the checkout session in its audit log.
433
+ * **Use limits:** each session key accepts up to `sessionLimit` (default 3)
434
+ * card submissions. After that the SDK automatically fetches a new session.
435
+ * Set `sessionLimit` to the same value in `VaultOptions` / `OzElementsProps`
436
+ * so the client can refresh proactively before hitting the limit.
442
437
  *
443
438
  * @example
444
- * // Next.js API route
439
+ * // Manual route (Next.js App Router)
445
440
  * export async function POST(req: Request) {
446
441
  * const { sessionId } = await req.json();
447
- * const { waxKey } = await ozura.mintWaxKey({
448
- * tokenizationSessionId: sessionId,
449
- * maxTokenizeCalls: 3,
450
- * });
451
- * return Response.json({ waxKey });
442
+ * const { sessionKey } = await ozura.createSession({ sessionId });
443
+ * return Response.json({ sessionKey });
452
444
  * }
445
+ *
446
+ * @example
447
+ * // One-liner with createSessionMiddleware (Express)
448
+ * app.post('/api/oz-session', createSessionMiddleware(ozura));
453
449
  */
454
- async mintWaxKey(options) {
450
+ async createSession(options) {
455
451
  var _a, _b, _c;
456
452
  const body = {};
457
- if (options === null || options === void 0 ? void 0 : options.tokenizationSessionId) {
458
- body.checkout_session_id = options.tokenizationSessionId;
453
+ if (options === null || options === void 0 ? void 0 : options.sessionId) {
454
+ body.checkout_session_id = options.sessionId;
455
+ }
456
+ // sessionLimit: null → omit field (vault default = unlimited).
457
+ // sessionLimit: undefined → secure default of 3.
458
+ // sessionLimit: number → use that value.
459
+ if ((options === null || options === void 0 ? void 0 : options.sessionLimit) === null) ;
460
+ else {
461
+ body.max_tokenize_calls = (_a = options === null || options === void 0 ? void 0 : options.sessionLimit) !== null && _a !== void 0 ? _a : 3;
459
462
  }
460
- // Always send max_tokenize_calls default 3 if not overridden.
461
- body.max_tokenize_calls = (_a = options === null || options === void 0 ? void 0 : options.maxTokenizeCalls) !== null && _a !== void 0 ? _a : 3;
462
- if ((options === null || options === void 0 ? void 0 : options.maxProxyCalls) !== undefined) {
463
+ // maxProxyCalls: null omit (unlimited). undefined omit (vault default).
464
+ if ((options === null || options === void 0 ? void 0 : options.maxProxyCalls) != null) {
463
465
  body.max_proxy_calls = options.maxProxyCalls;
464
466
  }
467
+ if (options === null || options === void 0 ? void 0 : options.orderId)
468
+ body.order_id = options.orderId;
469
+ if (options === null || options === void 0 ? void 0 : options.customerId)
470
+ body.merchant_customer_id = options.customerId;
471
+ if (options === null || options === void 0 ? void 0 : options.cartId)
472
+ body.cart_id = options.cartId;
473
+ if (options === null || options === void 0 ? void 0 : options.metadata)
474
+ body.metadata = options.metadata;
475
+ if ((options === null || options === void 0 ? void 0 : options.ttlSeconds) != null)
476
+ body.ttl_seconds = options.ttlSeconds;
465
477
  const res = await this.fetchWithRetry(`${this.vaultUrl}/internal/wax-session`, {
466
478
  method: 'POST',
467
479
  headers: {
@@ -473,37 +485,37 @@ class Ozura {
473
485
  const json = await res.json().catch(() => ({}));
474
486
  if (res.status === 201) {
475
487
  const data = json.data;
476
- const waxKey = String((_b = data === null || data === void 0 ? void 0 : data.wax_key) !== null && _b !== void 0 ? _b : '');
477
- if (!waxKey) {
478
- throw new OzuraError('Vault mint response missing data.wax_key', res.status, JSON.stringify(json));
488
+ const sessionKey = String((_b = data === null || data === void 0 ? void 0 : data.wax_key) !== null && _b !== void 0 ? _b : '');
489
+ if (!sessionKey) {
490
+ throw new OzuraError('Vault session response missing data.wax_key', res.status, JSON.stringify(json));
479
491
  }
480
492
  return {
481
- waxKey,
493
+ sessionKey,
482
494
  expiresInSeconds: Number((_c = data === null || data === void 0 ? void 0 : data.expires_in_seconds) !== null && _c !== void 0 ? _c : 1800),
483
495
  };
484
496
  }
485
497
  const errorCode = json.error_code || '';
486
- const message = json.message || json.error || `Wax mint failed (HTTP ${res.status})`;
498
+ const message = json.message || json.error || `Session creation failed (HTTP ${res.status})`;
487
499
  throw new OzuraError(errorCode ? `${message} [${errorCode}]` : message, res.status, errorCode || JSON.stringify(json));
488
500
  }
489
501
  /**
490
- * Revoke a previously minted wax key.
502
+ * Revokes a payment session key.
491
503
  *
492
- * Best-effort: never throws. Call this when the user's session ends (payment
493
- * complete, cancelled, or expired) to close the exposure window before the
494
- * vault TTL (30 min) elapses.
504
+ * Best-effort: never throws. Call this when the user's checkout ends (payment
505
+ * complete, cancelled, or abandoned) to close the key's exposure window before
506
+ * the vault TTL (30 min) elapses.
495
507
  *
496
508
  * - 200 = revoked successfully.
497
509
  * - 404 = key already expired or not found — treated as success.
498
- * - 503 = Redis error; the wax may still be valid. Retry if needed.
510
+ * - 503 = Redis error; the key may still be valid. Retry if needed.
499
511
  *
500
512
  * @example
501
513
  * // After a successful card sale:
502
- * await ozura.revokeWaxKey(waxKey);
514
+ * await ozura.revokeSession(sessionKey);
503
515
  */
504
- async revokeWaxKey(waxKey) {
516
+ async revokeSession(sessionKey) {
505
517
  var _a, _b;
506
- if (!waxKey)
518
+ if (!sessionKey)
507
519
  return;
508
520
  try {
509
521
  const res = await fetch(`${this.vaultUrl}/internal/wax-session/revoke`, {
@@ -512,18 +524,35 @@ class Ozura {
512
524
  'Content-Type': 'application/json',
513
525
  'X-API-Key': this.vaultKey,
514
526
  },
515
- body: JSON.stringify({ wax_key: waxKey }),
527
+ body: JSON.stringify({ wax_key: sessionKey }),
516
528
  signal: timeoutSignal(3000),
517
529
  });
518
530
  if (res.status === 200 || res.status === 404)
519
531
  return;
520
532
  const json = await res.json().catch(() => ({}));
521
- 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 : '');
533
+ console.warn('[Ozura] revokeSession: unexpected status', res.status, (_b = (_a = json.error_code) !== null && _a !== void 0 ? _a : json.message) !== null && _b !== void 0 ? _b : '');
522
534
  }
523
535
  catch (err) {
524
- console.warn('[Ozura] revokeWaxKey: best-effort call failed:', err instanceof Error ? err.message : err);
536
+ console.warn('[Ozura] revokeSession: best-effort call failed:', err instanceof Error ? err.message : err);
525
537
  }
526
538
  }
539
+ /**
540
+ * @deprecated Use {@link createSession} instead.
541
+ */
542
+ async mintWaxKey(options) {
543
+ const { sessionKey, expiresInSeconds } = await this.createSession({
544
+ sessionId: options === null || options === void 0 ? void 0 : options.tokenizationSessionId,
545
+ sessionLimit: options === null || options === void 0 ? void 0 : options.maxTokenizeCalls,
546
+ maxProxyCalls: options === null || options === void 0 ? void 0 : options.maxProxyCalls,
547
+ });
548
+ return { waxKey: sessionKey, expiresInSeconds };
549
+ }
550
+ /**
551
+ * @deprecated Use {@link revokeSession} instead.
552
+ */
553
+ async revokeWaxKey(waxKey) {
554
+ return this.revokeSession(waxKey);
555
+ }
527
556
  // ─── HTTP helpers ────────────────────────────────────────────────────────
528
557
  /**
529
558
  * Execute a fetch with retry on 5xx / network errors.
@@ -629,82 +658,77 @@ class Ozura {
629
658
  }
630
659
  }
631
660
  /**
632
- * Creates a ready-to-use Fetch API route handler for minting wax keys.
661
+ * Creates a ready-to-use Fetch API route handler for payment session creation.
633
662
  *
634
663
  * Drop-in for Next.js App Router, Cloudflare Workers, Vercel Edge, and any
635
664
  * runtime built on the standard Web API `Request` / `Response`.
636
665
  *
637
- * The handler reads `sessionId` (or `tokenizationSessionId`) from the JSON
638
- * request body, calls `ozura.mintWaxKey()`, and returns `{ waxKey }`.
666
+ * The handler reads `sessionId` from the JSON request body, calls
667
+ * `ozura.createSession()`, and returns `{ sessionKey }`.
639
668
  * On error it returns `{ error }` with an appropriate HTTP status.
640
669
  *
641
- * @example
642
- * // app/api/mint-wax/route.ts (Next.js App Router)
643
- * import { Ozura, createMintWaxHandler } from '@ozura/elements/server';
670
+ * Pair with `sessionUrl` on the frontend — no other configuration needed.
644
671
  *
645
- * const ozura = new Ozura({
646
- * merchantId: process.env.MERCHANT_ID!,
647
- * apiKey: process.env.MERCHANT_API_KEY!,
648
- * vaultKey: process.env.VAULT_API_KEY!,
649
- * });
672
+ * @example
673
+ * // app/api/oz-session/route.ts (Next.js App Router)
674
+ * import { Ozura, createSessionHandler } from '@ozura/elements/server';
650
675
  *
651
- * export const POST = createMintWaxHandler(ozura);
676
+ * const ozura = new Ozura({ vaultKey: process.env.VAULT_API_KEY! });
677
+ * export const POST = createSessionHandler(ozura);
652
678
  */
653
- function createMintWaxHandler(ozura) {
679
+ function createSessionHandler(ozura) {
654
680
  return async (req) => {
655
681
  var _a, _b;
656
682
  if (req.method !== 'POST') {
657
683
  return Response.json({ error: 'Method Not Allowed' }, { status: 405 });
658
684
  }
659
- // Reject non-JSON bodies — blocks simple-form CSRF requests which send
660
- // application/x-www-form-urlencoded and cannot set Content-Type to
661
- // application/json without triggering a CORS preflight.
685
+ // Reject non-JSON bodies — blocks simple-form CSRF requests which cannot
686
+ // set Content-Type to application/json without triggering a CORS preflight.
662
687
  const contentType = (_a = req.headers.get('content-type')) !== null && _a !== void 0 ? _a : '';
663
688
  if (!contentType.includes('application/json')) {
664
689
  return Response.json({ error: 'Content-Type must be application/json' }, { status: 415 });
665
690
  }
666
691
  let sessionId;
667
692
  const body = await req.json().catch(() => ({}));
693
+ // Accept both current `sessionId` and legacy `tokenizationSessionId` keys.
668
694
  const raw = (_b = body.sessionId) !== null && _b !== void 0 ? _b : body.tokenizationSessionId;
669
695
  if (typeof raw === 'string' && raw)
670
696
  sessionId = raw;
671
697
  try {
672
- const { waxKey } = await ozura.mintWaxKey({ tokenizationSessionId: sessionId });
673
- return Response.json({ waxKey });
698
+ const { sessionKey } = await ozura.createSession({ sessionId });
699
+ return Response.json({ sessionKey });
674
700
  }
675
701
  catch (err) {
676
702
  const status = err instanceof OzuraError && err.statusCode >= 400 ? err.statusCode : 502;
677
- const message = err instanceof Error ? err.message : 'Failed to mint wax key';
703
+ const message = err instanceof Error ? err.message : 'Failed to create session';
678
704
  return Response.json({ error: message }, { status });
679
705
  }
680
706
  };
681
707
  }
682
708
  /**
683
- * Creates a ready-to-use Express / Connect middleware for minting wax keys.
709
+ * Creates a ready-to-use Express / Connect middleware for payment session creation.
684
710
  *
685
711
  * Requires `express.json()` (or equivalent body-parser) to be registered
686
712
  * before this middleware so `req.body` is available.
687
713
  *
688
- * The middleware reads `sessionId` (or `tokenizationSessionId`) from
689
- * `req.body`, calls `ozura.mintWaxKey()`, and sends `{ waxKey }`.
714
+ * The middleware reads `sessionId` from `req.body`, calls
715
+ * `ozura.createSession()`, and sends `{ sessionKey }`.
690
716
  * On error it sends `{ error }` with an appropriate HTTP status.
691
717
  *
718
+ * Pair with `sessionUrl` on the frontend — no other configuration needed.
719
+ *
692
720
  * @example
693
721
  * // Express
694
722
  * import express from 'express';
695
- * import { Ozura, createMintWaxMiddleware } from '@ozura/elements/server';
723
+ * import { Ozura, createSessionMiddleware } from '@ozura/elements/server';
696
724
  *
697
- * const ozura = new Ozura({
698
- * merchantId: process.env.MERCHANT_ID!,
699
- * apiKey: process.env.MERCHANT_API_KEY!,
700
- * vaultKey: process.env.VAULT_API_KEY!,
701
- * });
725
+ * const ozura = new Ozura({ vaultKey: process.env.VAULT_API_KEY! });
702
726
  *
703
727
  * const app = express();
704
728
  * app.use(express.json());
705
- * app.post('/api/mint-wax', createMintWaxMiddleware(ozura));
729
+ * app.post('/api/oz-session', createSessionMiddleware(ozura));
706
730
  */
707
- function createMintWaxMiddleware(ozura) {
731
+ function createSessionMiddleware(ozura) {
708
732
  return async (req, res) => {
709
733
  var _a, _b, _c;
710
734
  const method = req.method;
@@ -713,7 +737,6 @@ function createMintWaxMiddleware(ozura) {
713
737
  return;
714
738
  }
715
739
  // Reject non-JSON content types — blocks simple-form CSRF requests.
716
- // Express sets req.headers as a plain object; check it directly.
717
740
  const headers = req.headers;
718
741
  const ct = (_a = (typeof (headers === null || headers === void 0 ? void 0 : headers['content-type']) === 'string' ? headers['content-type'] : '')) !== null && _a !== void 0 ? _a : '';
719
742
  if (!ct.includes('application/json')) {
@@ -724,12 +747,76 @@ function createMintWaxMiddleware(ozura) {
724
747
  const raw = (_c = body.sessionId) !== null && _c !== void 0 ? _c : body.tokenizationSessionId;
725
748
  const sessionId = typeof raw === 'string' && raw ? raw : undefined;
726
749
  try {
727
- const { waxKey } = await ozura.mintWaxKey({ tokenizationSessionId: sessionId });
728
- res.json({ waxKey });
750
+ const { sessionKey } = await ozura.createSession({ sessionId });
751
+ res.json({ sessionKey });
752
+ }
753
+ catch (err) {
754
+ const status = err instanceof OzuraError && err.statusCode >= 400 ? err.statusCode : 502;
755
+ const message = err instanceof Error ? err.message : 'Failed to create session';
756
+ res.status(status).json({ error: message });
757
+ }
758
+ };
759
+ }
760
+ /**
761
+ * @deprecated Use {@link createSessionHandler} instead.
762
+ * Returns `{ waxKey }` for backward compatibility with old `createFetchWaxKey` backends.
763
+ */
764
+ function createMintWaxHandler(ozura) {
765
+ return async (req) => {
766
+ var _a, _b;
767
+ if (req.method !== 'POST') {
768
+ return Response.json({ error: 'Method Not Allowed' }, { status: 405 });
769
+ }
770
+ const contentType = (_a = req.headers.get('content-type')) !== null && _a !== void 0 ? _a : '';
771
+ if (!contentType.includes('application/json')) {
772
+ return Response.json({ error: 'Content-Type must be application/json' }, { status: 415 });
773
+ }
774
+ let sessionId;
775
+ const body = await req.json().catch(() => ({}));
776
+ const raw = (_b = body.sessionId) !== null && _b !== void 0 ? _b : body.tokenizationSessionId;
777
+ if (typeof raw === 'string' && raw)
778
+ sessionId = raw;
779
+ try {
780
+ const { sessionKey } = await ozura.createSession({ sessionId });
781
+ // Return `waxKey` for backward compat with old createFetchWaxKey clients.
782
+ return Response.json({ waxKey: sessionKey, sessionKey });
783
+ }
784
+ catch (err) {
785
+ const status = err instanceof OzuraError && err.statusCode >= 400 ? err.statusCode : 502;
786
+ const message = err instanceof Error ? err.message : 'Failed to create session';
787
+ return Response.json({ error: message }, { status });
788
+ }
789
+ };
790
+ }
791
+ /**
792
+ * @deprecated Use {@link createSessionMiddleware} instead.
793
+ * Sends `{ waxKey }` for backward compatibility with old `createFetchWaxKey` clients.
794
+ */
795
+ function createMintWaxMiddleware(ozura) {
796
+ return async (req, res) => {
797
+ var _a, _b, _c;
798
+ const method = req.method;
799
+ if (method && method !== 'POST') {
800
+ res.status(405).json({ error: 'Method Not Allowed' });
801
+ return;
802
+ }
803
+ const headers = req.headers;
804
+ const ct = (_a = (typeof (headers === null || headers === void 0 ? void 0 : headers['content-type']) === 'string' ? headers['content-type'] : '')) !== null && _a !== void 0 ? _a : '';
805
+ if (!ct.includes('application/json')) {
806
+ res.status(415).json({ error: 'Content-Type must be application/json' });
807
+ return;
808
+ }
809
+ const body = ((_b = req.body) !== null && _b !== void 0 ? _b : {});
810
+ const raw = (_c = body.sessionId) !== null && _c !== void 0 ? _c : body.tokenizationSessionId;
811
+ const sessionId = typeof raw === 'string' && raw ? raw : undefined;
812
+ try {
813
+ const { sessionKey } = await ozura.createSession({ sessionId });
814
+ // Send both keys for backward compat with old createFetchWaxKey clients.
815
+ res.json({ waxKey: sessionKey, sessionKey });
729
816
  }
730
817
  catch (err) {
731
818
  const status = err instanceof OzuraError && err.statusCode >= 400 ? err.statusCode : 502;
732
- const message = err instanceof Error ? err.message : 'Failed to mint wax key';
819
+ const message = err instanceof Error ? err.message : 'Failed to create session';
733
820
  res.status(status).json({ error: message });
734
821
  }
735
822
  };
@@ -1021,6 +1108,8 @@ exports.createCardSaleHandler = createCardSaleHandler;
1021
1108
  exports.createCardSaleMiddleware = createCardSaleMiddleware;
1022
1109
  exports.createMintWaxHandler = createMintWaxHandler;
1023
1110
  exports.createMintWaxMiddleware = createMintWaxMiddleware;
1111
+ exports.createSessionHandler = createSessionHandler;
1112
+ exports.createSessionMiddleware = createSessionMiddleware;
1024
1113
  exports.getClientIp = getClientIp;
1025
1114
  exports.normalizeCardSaleError = normalizeCardSaleError;
1026
1115
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/sdk/errors.ts","../../src/utils/billingUtils.ts","../../src/server/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/sdk/errors.ts","../../src/utils/billingUtils.ts","../../src/server/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}