mppx 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/Credential.d.ts +12 -0
  3. package/dist/Credential.d.ts.map +1 -1
  4. package/dist/Credential.js +22 -4
  5. package/dist/Credential.js.map +1 -1
  6. package/dist/Method.d.ts +4 -0
  7. package/dist/Method.d.ts.map +1 -1
  8. package/dist/Method.js +2 -1
  9. package/dist/Method.js.map +1 -1
  10. package/dist/proxy/Proxy.d.ts.map +1 -1
  11. package/dist/proxy/Proxy.js +52 -8
  12. package/dist/proxy/Proxy.js.map +1 -1
  13. package/dist/proxy/internal/Route.d.ts.map +1 -1
  14. package/dist/proxy/internal/Route.js +7 -3
  15. package/dist/proxy/internal/Route.js.map +1 -1
  16. package/dist/server/Mppx.d.ts.map +1 -1
  17. package/dist/server/Mppx.js +90 -71
  18. package/dist/server/Mppx.js.map +1 -1
  19. package/dist/server/Transport.d.ts +5 -1
  20. package/dist/server/Transport.d.ts.map +1 -1
  21. package/dist/server/Transport.js +52 -7
  22. package/dist/server/Transport.js.map +1 -1
  23. package/dist/server/internal/html/config.d.ts +7 -0
  24. package/dist/server/internal/html/config.d.ts.map +1 -0
  25. package/dist/server/internal/html/config.js +3 -0
  26. package/dist/server/internal/html/config.js.map +1 -0
  27. package/dist/server/internal/html/serviceWorker.gen.d.ts +2 -0
  28. package/dist/server/internal/html/serviceWorker.gen.d.ts.map +1 -0
  29. package/dist/server/internal/html/serviceWorker.gen.js +3 -0
  30. package/dist/server/internal/html/serviceWorker.gen.js.map +1 -0
  31. package/dist/stripe/server/Charge.d.ts +5 -0
  32. package/dist/stripe/server/Charge.d.ts.map +1 -1
  33. package/dist/stripe/server/Charge.js +14 -6
  34. package/dist/stripe/server/Charge.js.map +1 -1
  35. package/dist/stripe/server/internal/html.gen.d.ts +2 -0
  36. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -0
  37. package/dist/stripe/server/internal/html.gen.js +3 -0
  38. package/dist/stripe/server/internal/html.gen.js.map +1 -0
  39. package/dist/tempo/server/Charge.d.ts +2 -0
  40. package/dist/tempo/server/Charge.d.ts.map +1 -1
  41. package/dist/tempo/server/Charge.js +15 -9
  42. package/dist/tempo/server/Charge.js.map +1 -1
  43. package/dist/tempo/server/Session.d.ts.map +1 -1
  44. package/dist/tempo/server/Session.js +3 -2
  45. package/dist/tempo/server/Session.js.map +1 -1
  46. package/dist/tempo/server/internal/html.gen.d.ts +2 -0
  47. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -0
  48. package/dist/tempo/server/internal/html.gen.js +3 -0
  49. package/dist/tempo/server/internal/html.gen.js.map +1 -0
  50. package/dist/tempo/server/internal/transport.d.ts +1 -1
  51. package/dist/tempo/server/internal/transport.d.ts.map +1 -1
  52. package/dist/tempo/server/internal/transport.js +45 -58
  53. package/dist/tempo/server/internal/transport.js.map +1 -1
  54. package/package.json +2 -2
  55. package/src/Credential.ts +28 -4
  56. package/src/Method.ts +6 -1
  57. package/src/env.d.ts +1 -0
  58. package/src/mcp-sdk/server/Transport.test.ts +6 -0
  59. package/src/proxy/Proxy.test.ts +188 -1
  60. package/src/proxy/Proxy.ts +58 -9
  61. package/src/proxy/internal/Route.test.ts +9 -0
  62. package/src/proxy/internal/Route.ts +5 -2
  63. package/src/server/Mppx.test.ts +171 -18
  64. package/src/server/Mppx.ts +120 -79
  65. package/src/server/Transport.test.ts +16 -2
  66. package/src/server/Transport.ts +61 -7
  67. package/src/server/internal/html/config.ts +8 -0
  68. package/src/server/internal/html/serviceWorker.client.ts +28 -0
  69. package/src/server/internal/html/serviceWorker.gen.ts +2 -0
  70. package/src/server/internal/html/serviceWorker.ts +27 -0
  71. package/src/server/internal/html/tsconfig.worker.client.json +8 -0
  72. package/src/server/internal/html/tsconfig.worker.json +8 -0
  73. package/src/stripe/server/Charge.ts +19 -5
  74. package/src/stripe/server/internal/html/main.ts +106 -0
  75. package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +21 -0
  76. package/src/stripe/server/internal/html/package.json +9 -0
  77. package/src/stripe/server/internal/html/stripe-js-pure.d.ts +7 -0
  78. package/src/stripe/server/internal/html/tsconfig.json +8 -0
  79. package/src/stripe/server/internal/html.gen.ts +2 -0
  80. package/src/tempo/server/Charge.ts +20 -8
  81. package/src/tempo/server/Session.ts +3 -2
  82. package/src/tempo/server/internal/html/main.ts +71 -0
  83. package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +21 -0
  84. package/src/tempo/server/internal/html/package.json +10 -0
  85. package/src/tempo/server/internal/html/tsconfig.json +8 -0
  86. package/src/tempo/server/internal/html.gen.ts +2 -0
  87. package/src/tempo/server/internal/transport.test.ts +37 -31
  88. package/src/tempo/server/internal/transport.ts +44 -58
  89. package/src/tsconfig.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { isDeepStrictEqual } from 'node:util';
1
2
  import * as Challenge from '../Challenge.js';
2
3
  import * as Credential from '../Credential.js';
3
4
  import * as Errors from '../Errors.js';
@@ -122,10 +123,12 @@ function createMethodFn(parameters) {
122
123
  });
123
124
  // Credential was provided but malformed
124
125
  if (credentialError) {
126
+ const reason = getSafeCredentialReason(credentialError);
125
127
  const response = await transport.respondChallenge({
126
128
  challenge,
127
129
  input,
128
- error: new Errors.MalformedCredentialError({ reason: credentialError.message }),
130
+ error: new Errors.MalformedCredentialError(reason ? { reason } : {}),
131
+ html: method.html,
129
132
  });
130
133
  return { challenge: response, status: 402 };
131
134
  }
@@ -135,6 +138,7 @@ function createMethodFn(parameters) {
135
138
  challenge,
136
139
  input,
137
140
  error: new Errors.PaymentRequiredError({ description }),
141
+ html: method.html,
138
142
  });
139
143
  return { challenge: response, status: 402 };
140
144
  }
@@ -148,6 +152,7 @@ function createMethodFn(parameters) {
148
152
  id: credential.challenge.id,
149
153
  reason: 'challenge was not issued by this server',
150
154
  }),
155
+ html: method.html,
151
156
  });
152
157
  return { challenge: response, status: 402 };
153
158
  }
@@ -158,13 +163,6 @@ function createMethodFn(parameters) {
158
163
  // Note: we compare specific payment parameters rather than the full
159
164
  // request because the `request` hook may produce credential-dependent
160
165
  // output (e.g. `feePayer` differs between 402 and credential calls).
161
- //
162
- // Skip this check for topUp and voucher actions: the route's
163
- // `request` hook may produce a different amount because these
164
- // requests carry no application body (e.g. no model field for
165
- // dynamic pricing). The credential echoes a challenge obtained
166
- // from the original request which had the correct amount; the
167
- // on-chain voucher signature is the real validation.
168
166
  {
169
167
  for (const field of ['method', 'intent', 'realm']) {
170
168
  if (credential.challenge[field] !== challenge[field]) {
@@ -175,59 +173,22 @@ function createMethodFn(parameters) {
175
173
  id: credential.challenge.id,
176
174
  reason: `credential ${field} does not match this route's requirements`,
177
175
  }),
176
+ html: method.html,
178
177
  });
179
178
  return { challenge: response, status: 402 };
180
179
  }
181
180
  }
182
- // Use safeParse (not raw payload) so only methods whose schema
183
- // defines `action` can trigger the skip. Without this, a client
184
- // could inject `action: 'topUp'` on a charge credential to bypass
185
- // the amount check. Zod strips unknown keys, so charge payloads
186
- // (which don't define `action`) will have it removed.
187
- const parsed = method.schema.credential.payload.safeParse(credential.payload);
188
- const action = parsed.success
189
- ? parsed.data?.action
190
- : undefined;
191
- if (action !== 'topUp' && action !== 'voucher') {
192
- const routeReq = challenge.request;
193
- const echoedReq = credential.challenge.request;
194
- const routeDetails = (routeReq.methodDetails ?? {});
195
- const echoedDetails = (echoedReq.methodDetails ?? {});
196
- for (const field of ['amount', 'currency', 'recipient']) {
197
- const routeVal = routeReq[field] ?? routeDetails[field];
198
- if (routeVal !== undefined &&
199
- String(routeVal) !== String(echoedReq[field] ?? echoedDetails[field])) {
200
- const response = await transport.respondChallenge({
201
- challenge,
202
- input,
203
- error: new Errors.InvalidChallengeError({
204
- id: credential.challenge.id,
205
- reason: `credential ${field} does not match this route's requirements`,
206
- }),
207
- });
208
- return { challenge: response, status: 402 };
209
- }
210
- }
211
- // Compare payment-relevant methodDetails fields (memo, splits).
212
- // These are excluded from the top-level field check above but
213
- // affect verification semantics — a credential issued for a
214
- // no-splits route must not be accepted on a splits route.
215
- for (const field of ['memo', 'splits']) {
216
- const routeVal = routeDetails[field];
217
- const echoedVal = echoedDetails[field];
218
- if (routeVal !== undefined &&
219
- JSON.stringify(routeVal) !== JSON.stringify(echoedVal)) {
220
- const response = await transport.respondChallenge({
221
- challenge,
222
- input,
223
- error: new Errors.InvalidChallengeError({
224
- id: credential.challenge.id,
225
- reason: `credential ${field} does not match this route's requirements`,
226
- }),
227
- });
228
- return { challenge: response, status: 402 };
229
- }
230
- }
181
+ const mismatch = getRequestBindingMismatch(challenge.request, credential.challenge.request);
182
+ if (mismatch) {
183
+ const response = await transport.respondChallenge({
184
+ challenge,
185
+ input,
186
+ error: new Errors.InvalidChallengeError({
187
+ id: credential.challenge.id,
188
+ reason: `credential ${mismatch} does not match this route's requirements`,
189
+ }),
190
+ });
191
+ return { challenge: response, status: 402 };
231
192
  }
232
193
  }
233
194
  // Reject credentials without expires (fail-closed) or with expired timestamp
@@ -246,11 +207,11 @@ function createMethodFn(parameters) {
246
207
  try {
247
208
  method.schema.credential.payload.parse(credential.payload);
248
209
  }
249
- catch (e) {
210
+ catch {
250
211
  const response = await transport.respondChallenge({
251
212
  challenge,
252
213
  input,
253
- error: new Errors.InvalidPayloadError({ reason: e.message }),
214
+ error: new Errors.InvalidPayloadError(),
254
215
  });
255
216
  return { challenge: response, status: 402 };
256
217
  }
@@ -261,9 +222,9 @@ function createMethodFn(parameters) {
261
222
  receiptData = await verify({ credential, request });
262
223
  }
263
224
  catch (e) {
264
- const error = e instanceof Errors.PaymentError
265
- ? e
266
- : new Errors.VerificationFailedError({ reason: e.message });
225
+ if (!(e instanceof Errors.PaymentError))
226
+ console.error('mppx: internal verification error', e);
227
+ const error = e instanceof Errors.PaymentError ? e : new Errors.VerificationFailedError();
267
228
  const response = await transport.respondChallenge({
268
229
  challenge,
269
230
  input,
@@ -284,6 +245,8 @@ function createMethodFn(parameters) {
284
245
  withReceipt(response) {
285
246
  if (managementResponse) {
286
247
  return transport.respondReceipt({
248
+ credential,
249
+ input,
287
250
  receipt: receiptData,
288
251
  response: managementResponse,
289
252
  challengeId: credential.challenge.id,
@@ -292,6 +255,8 @@ function createMethodFn(parameters) {
292
255
  if (!response)
293
256
  throw new Error('withReceipt() requires a response argument');
294
257
  return transport.respondReceipt({
258
+ credential,
259
+ input,
295
260
  receipt: receiptData,
296
261
  response: response,
297
262
  challengeId: credential.challenge.id,
@@ -310,6 +275,15 @@ function createMethodFn(parameters) {
310
275
  });
311
276
  };
312
277
  }
278
+ function getSafeCredentialReason(error) {
279
+ if (error instanceof Credential.InvalidCredentialEncodingError)
280
+ return error.message;
281
+ if (error instanceof Credential.MissingAuthorizationHeaderError)
282
+ return error.message;
283
+ if (error instanceof Credential.MissingPaymentSchemeError)
284
+ return error.message;
285
+ return undefined;
286
+ }
313
287
  const defaultRealm = 'MPP Payment';
314
288
  const Warnings = {
315
289
  realmFallback: 'realm-fallback',
@@ -335,6 +309,59 @@ function resolveRealmFromRequest(input) {
335
309
  warnOnce(Warnings.realmFallback, `Could not auto-detect realm from request. Falling back to "${defaultRealm}". Set \`realm\` in Mppx.create() or the MPP_REALM env var.`);
336
310
  return defaultRealm;
337
311
  }
312
+ const requestBindingFields = [
313
+ 'amount',
314
+ 'currency',
315
+ 'recipient',
316
+ 'chainId',
317
+ 'memo',
318
+ 'splits',
319
+ ];
320
+ function getRequestBindingMismatch(expectedRequest, actualRequest) {
321
+ const expected = getRequestBinding(expectedRequest);
322
+ const actual = getRequestBinding(actualRequest);
323
+ return requestBindingFields.find((field) => !requestBindingValuesMatch(field, expected[field], actual[field]));
324
+ }
325
+ function getRequestBinding(request) {
326
+ const methodDetails = (request.methodDetails ?? {});
327
+ return {
328
+ amount: request.amount ?? methodDetails.amount,
329
+ currency: request.currency ?? methodDetails.currency,
330
+ recipient: request.recipient ?? methodDetails.recipient,
331
+ chainId: request.chainId ?? methodDetails.chainId,
332
+ memo: methodDetails.memo,
333
+ splits: methodDetails.splits,
334
+ };
335
+ }
336
+ function requestBindingValuesMatch(field, expected, actual) {
337
+ return isDeepStrictEqual(normalizeRequestBindingValue(field, expected), normalizeRequestBindingValue(field, actual));
338
+ }
339
+ function normalizeRequestBindingValue(field, value) {
340
+ switch (field) {
341
+ case 'memo':
342
+ return normalizeHex(value);
343
+ case 'splits':
344
+ return normalizeComparable(value);
345
+ default:
346
+ return normalizeScalar(value);
347
+ }
348
+ }
349
+ function normalizeScalar(value) {
350
+ return value === undefined ? undefined : String(value);
351
+ }
352
+ function normalizeHex(value) {
353
+ return typeof value === 'string' && value.startsWith('0x') ? value.toLowerCase() : value;
354
+ }
355
+ function normalizeComparable(value) {
356
+ if (Array.isArray(value))
357
+ return value.map(normalizeComparable);
358
+ if (value && typeof value === 'object') {
359
+ return Object.fromEntries(Object.entries(value)
360
+ .sort(([left], [right]) => left.localeCompare(right))
361
+ .map(([key, nested]) => [key, normalizeComparable(nested)]));
362
+ }
363
+ return normalizeHex(value);
364
+ }
338
365
  /**
339
366
  * Combines multiple configured payment handlers into a single route handler
340
367
  * that presents all methods to the client via multiple `WWW-Authenticate` headers.
@@ -381,7 +408,6 @@ export function compose(...handlers) {
381
408
  if (credential) {
382
409
  const { method: credMethod, intent: credIntent } = credential.challenge;
383
410
  const credReq = credential.challenge.request;
384
- const credDetails = (credReq.methodDetails ?? {});
385
411
  // Filter by name+intent, then narrow by comparing stable request fields
386
412
  // from the echoed challenge against each handler's canonical request.
387
413
  // Uses the schema-parsed canonical form (not raw options) so that
@@ -394,14 +420,7 @@ export function compose(...handlers) {
394
420
  const canonical = meta._canonicalRequest;
395
421
  if (!canonical)
396
422
  return true;
397
- const canonicalDetails = (canonical.methodDetails ?? {});
398
- for (const field of ['amount', 'currency', 'recipient', 'chainId']) {
399
- const canonicalVal = canonical[field] ?? canonicalDetails[field];
400
- if (canonicalVal !== undefined &&
401
- String(canonicalVal) !== String(credReq[field] ?? credDetails[field]))
402
- return false;
403
- }
404
- return true;
423
+ return !getRequestBindingMismatch(canonical, credReq);
405
424
  });
406
425
  const match = candidates[0] ??
407
426
  handlers.find((h) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Mppx.js","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mppx.js","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import * as Errors from '../Errors.js';
4
4
  import type { Distribute, UnionToIntersection } from '../internal/types.js';
5
5
  import * as core_Mcp from '../Mcp.js';
6
6
  import * as Receipt from '../Receipt.js';
7
+ import * as Html from './internal/html/config.js';
7
8
  export { type McpSdk, mcpSdk } from '../mcp-sdk/server/Transport.js';
8
9
  /**
9
10
  * Server-side transport adapter.
@@ -23,11 +24,14 @@ export type Transport<in out input = unknown, in out challengeOutput = unknown,
23
24
  respondChallenge: (options: {
24
25
  challenge: Challenge.Challenge;
25
26
  error?: Errors.PaymentError | undefined;
27
+ html?: Html.Options | undefined;
26
28
  input: input;
27
29
  }) => challengeOutput | Promise<challengeOutput>;
28
30
  /** Attaches a receipt to a successful response. */
29
31
  respondReceipt: (options: {
30
32
  challengeId: string;
33
+ credential: Credential.Credential;
34
+ input: input;
31
35
  receipt: Receipt.Receipt;
32
36
  response: receiptResponse;
33
37
  }) => receiptOutput;
@@ -62,7 +66,7 @@ export type WithReceipt<transport extends AnyTransport = Http> = WithReceiptOver
62
66
  * name: 'custom',
63
67
  * getCredential(input) { ... },
64
68
  * respondChallenge({ challenge, input }) { ... },
65
- * respondReceipt({ receipt, response, challengeId }) { ... },
69
+ * respondReceipt({ receipt, response, challengeId, credential, input }) { ... },
66
70
  * })
67
71
  * ```
68
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
+ import { Json } from 'ox';
1
2
  import * as Challenge from '../Challenge.js';
2
3
  import * as Credential from '../Credential.js';
3
4
  import * as Errors from '../Errors.js';
4
5
  import * as core_Mcp from '../Mcp.js';
5
6
  import * as Receipt from '../Receipt.js';
7
+ import * as Html from './internal/html/config.js';
8
+ import { serviceWorker } from './internal/html/serviceWorker.gen.js';
6
9
  export { mcpSdk } from '../mcp-sdk/server/Transport.js';
7
10
  /**
8
11
  * Creates a custom server-side transport.
@@ -15,7 +18,7 @@ export { mcpSdk } from '../mcp-sdk/server/Transport.js';
15
18
  * name: 'custom',
16
19
  * getCredential(input) { ... },
17
20
  * respondChallenge({ challenge, input }) { ... },
18
- * respondReceipt({ receipt, response, challengeId }) { ... },
21
+ * respondReceipt({ receipt, response, challengeId, credential, input }) { ... },
19
22
  * })
20
23
  * ```
21
24
  */
@@ -41,16 +44,58 @@ export function http() {
41
44
  return null;
42
45
  return Credential.deserialize(payment);
43
46
  },
44
- respondChallenge({ challenge, error }) {
47
+ respondChallenge(options) {
48
+ const { challenge, error, input } = options;
49
+ if (options.html && new URL(input.url).searchParams.has(Html.serviceWorkerParam))
50
+ return new Response(serviceWorker, {
51
+ status: 200,
52
+ headers: {
53
+ 'Content-Type': 'application/javascript',
54
+ 'Cache-Control': 'no-store',
55
+ },
56
+ });
45
57
  const headers = {
46
58
  'WWW-Authenticate': Challenge.serialize(challenge),
47
59
  'Cache-Control': 'no-store',
48
60
  };
49
- let body = null;
50
- if (error) {
51
- headers['Content-Type'] = 'application/problem+json';
52
- body = JSON.stringify(error.toProblemDetails(challenge.id));
53
- }
61
+ const body = (() => {
62
+ if (options.html && input.headers.get('Accept')?.includes('text/html')) {
63
+ headers['Content-Type'] = 'text/html; charset=utf-8';
64
+ const html = String.raw;
65
+ return html `<!doctype html>
66
+ <html lang="en">
67
+ <head>
68
+ <meta charset="UTF-8" />
69
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
70
+ <title>Payment Required</title>
71
+ <style>
72
+ :root {
73
+ color-scheme: dark light;
74
+ }
75
+ </style>
76
+ </head>
77
+ <body>
78
+ <h1>Payment Required</h1>
79
+ <pre>
80
+ ${Json.stringify(challenge, null, 2)
81
+ .replace(/&/g, '&amp;')
82
+ .replace(/</g, '&lt;')
83
+ .replace(/>/g, '&gt;')}</pre
84
+ >
85
+ <div id="root"></div>
86
+ <script id="${Html.dataId}" type="application/json">
87
+ ${Json.stringify({ config: options.html.config, challenge }).replace(/</g, '\\u003c')}
88
+ </script>
89
+ ${options.html.content}
90
+ </body>
91
+ </html> `;
92
+ }
93
+ if (error) {
94
+ headers['Content-Type'] = 'application/problem+json';
95
+ return JSON.stringify(error.toProblemDetails(challenge.id));
96
+ }
97
+ return null;
98
+ })();
54
99
  return new Response(body, { status: error?.status ?? 402, headers });
55
100
  },
56
101
  respondReceipt({ receipt, response }) {
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type Options = {
2
+ config: Record<string, unknown>;
3
+ content: string;
4
+ };
5
+ export declare const dataId = "__MPPX_DATA__";
6
+ export declare const serviceWorkerParam = "__mppx_worker";
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/html/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,MAAM,kBAAkB,CAAA;AAErC,eAAO,MAAM,kBAAkB,kBAAkB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export const dataId = '__MPPX_DATA__';
2
+ export const serviceWorkerParam = '__mppx_worker';
3
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/server/internal/html/config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,CAAA;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const serviceWorker = "(function(){let e=self,t;e.addEventListener(`activate`,t=>{t.waitUntil(e.clients.claim())}),e.addEventListener(`message`,e=>{if(!e.source)return;let n=e.data?.credential;typeof n!=`string`||!n.startsWith(`Payment `)||(t=n,e.ports[0]?.postMessage(`ack`))}),e.addEventListener(`fetch`,n=>{if(!t||n.request.mode!==`navigate`||new URL(n.request.url).origin!==e.location.origin)return;let r=new Headers(n.request.headers);r.set(`Authorization`,t),t=void 0,n.respondWith(fetch(n.request,{headers:r})),e.registration.unregister()})})();";
2
+ //# sourceMappingURL=serviceWorker.gen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceWorker.gen.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/html/serviceWorker.gen.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,shBAAshB,CAAA"}
@@ -0,0 +1,3 @@
1
+ // Generated — do not edit.
2
+ export const serviceWorker = "(function(){let e=self,t;e.addEventListener(`activate`,t=>{t.waitUntil(e.clients.claim())}),e.addEventListener(`message`,e=>{if(!e.source)return;let n=e.data?.credential;typeof n!=`string`||!n.startsWith(`Payment `)||(t=n,e.ports[0]?.postMessage(`ack`))}),e.addEventListener(`fetch`,n=>{if(!t||n.request.mode!==`navigate`||new URL(n.request.url).origin!==e.location.origin)return;let r=new Headers(n.request.headers);r.set(`Authorization`,t),t=void 0,n.respondWith(fetch(n.request,{headers:r})),e.registration.unregister()})})();";
3
+ //# sourceMappingURL=serviceWorker.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceWorker.gen.js","sourceRoot":"","sources":["../../../../src/server/internal/html/serviceWorker.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,aAAa,GAAG,mhBAAmhB,CAAA"}
@@ -74,6 +74,11 @@ export declare function charge<const parameters extends charge.Parameters>(param
74
74
  export declare namespace charge {
75
75
  type Defaults = LooseOmit<Method.RequestDefaults<typeof Methods.charge>, 'recipient'>;
76
76
  type Parameters = {
77
+ /** Render payment page when Accept header is text/html (e.g. in browsers) */
78
+ html?: {
79
+ createTokenUrl: string;
80
+ publishableKey: string;
81
+ } | undefined;
77
82
  /** Optional metadata to include in SPT creation requests. */
78
83
  metadata?: Record<string, string> | undefined;
79
84
  } & Defaults & OneOf<{
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAuExF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;IAErF,KAAK,UAAU,GAAG;QAChB,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAC9C,GAAG,QAAQ,GACV,KAAK,CACD;QACE,yGAAyG;QACzG,MAAM,EAAE,YAAY,CAAA;KACrB,GACD;QACE,6BAA6B;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB,CACJ,CAAA;IAEH,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,IAAI,CACvD,UAAU,EACV,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,QAAQ,CAAC,CAC1C,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACzB"}
1
+ {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAkFxF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;IAErF,KAAK,UAAU,GAAG;QAChB,6EAA6E;QAC7E,IAAI,CAAC,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;QACrE,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAC9C,GAAG,QAAQ,GACV,KAAK,CACD;QACE,yGAAyG;QACzG,MAAM,EAAE,YAAY,CAAA;KACrB,GACD;QACE,6BAA6B;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB,CACJ,CAAA;IAEH,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,IAAI,CACvD,UAAU,EACV,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,QAAQ,CAAC,CAC1C,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACzB"}
@@ -2,6 +2,7 @@ import { PaymentActionRequiredError, VerificationFailedError } from '../../Error
2
2
  import * as Expires from '../../Expires.js';
3
3
  import * as Method from '../../Method.js';
4
4
  import * as Methods from '../Methods.js';
5
+ import { html as htmlContent } from './internal/html.gen.js';
5
6
  /**
6
7
  * Creates a Stripe charge method intent for usage on the server.
7
8
  *
@@ -28,7 +29,7 @@ import * as Methods from '../Methods.js';
28
29
  * ```
29
30
  */
30
31
  export function charge(parameters) {
31
- const { amount, currency, decimals, description, externalId, metadata, networkId, paymentMethodTypes, } = parameters;
32
+ const { amount, currency, decimals, description, externalId, html, metadata, networkId, paymentMethodTypes, } = parameters;
32
33
  const client = 'client' in parameters ? parameters.client : undefined;
33
34
  const secretKey = 'secretKey' in parameters ? parameters.secretKey : undefined;
34
35
  return Method.toServer(Methods.charge, {
@@ -42,22 +43,29 @@ export function charge(parameters) {
42
43
  networkId,
43
44
  paymentMethodTypes,
44
45
  },
45
- async verify({ credential }) {
46
+ html: html ? { config: html, content: htmlContent } : undefined,
47
+ async verify({ credential, request }) {
46
48
  const { challenge } = credential;
47
- const { request } = challenge;
49
+ const resolvedRequest = Methods.charge.schema.request.parse(request);
48
50
  Expires.assert(challenge.expires, challenge.id);
49
51
  const parsed = Methods.charge.schema.credential.payload.safeParse(credential.payload);
50
52
  if (!parsed.success)
51
53
  throw new Error('Invalid credential payload: missing or malformed spt');
52
54
  const { spt, externalId: credentialExternalId } = parsed.data;
53
- const userMetadata = request.methodDetails?.metadata;
55
+ const userMetadata = resolvedRequest.methodDetails?.metadata;
54
56
  const resolvedMetadata = { ...buildAnalytics({ credential }), ...userMetadata };
55
57
  const pi = client
56
- ? await createWithClient({ client, challenge, request, spt, metadata: resolvedMetadata })
58
+ ? await createWithClient({
59
+ client,
60
+ challenge,
61
+ request: resolvedRequest,
62
+ spt,
63
+ metadata: resolvedMetadata,
64
+ })
57
65
  : await createWithSecretKey({
58
66
  secretKey: secretKey,
59
67
  challenge,
60
- request,
68
+ request: resolvedRequest,
61
69
  spt,
62
70
  metadata: resolvedMetadata,
63
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"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"}