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.
- package/CHANGELOG.md +13 -0
- package/dist/Credential.d.ts +12 -0
- package/dist/Credential.d.ts.map +1 -1
- package/dist/Credential.js +22 -4
- package/dist/Credential.js.map +1 -1
- package/dist/Method.d.ts +4 -0
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js +2 -1
- package/dist/Method.js.map +1 -1
- package/dist/proxy/Proxy.d.ts.map +1 -1
- package/dist/proxy/Proxy.js +52 -8
- package/dist/proxy/Proxy.js.map +1 -1
- package/dist/proxy/internal/Route.d.ts.map +1 -1
- package/dist/proxy/internal/Route.js +7 -3
- package/dist/proxy/internal/Route.js.map +1 -1
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +90 -71
- package/dist/server/Mppx.js.map +1 -1
- package/dist/server/Transport.d.ts +5 -1
- package/dist/server/Transport.d.ts.map +1 -1
- package/dist/server/Transport.js +52 -7
- package/dist/server/Transport.js.map +1 -1
- package/dist/server/internal/html/config.d.ts +7 -0
- package/dist/server/internal/html/config.d.ts.map +1 -0
- package/dist/server/internal/html/config.js +3 -0
- package/dist/server/internal/html/config.js.map +1 -0
- package/dist/server/internal/html/serviceWorker.gen.d.ts +2 -0
- package/dist/server/internal/html/serviceWorker.gen.d.ts.map +1 -0
- package/dist/server/internal/html/serviceWorker.gen.js +3 -0
- package/dist/server/internal/html/serviceWorker.gen.js.map +1 -0
- package/dist/stripe/server/Charge.d.ts +5 -0
- package/dist/stripe/server/Charge.d.ts.map +1 -1
- package/dist/stripe/server/Charge.js +14 -6
- package/dist/stripe/server/Charge.js.map +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts +2 -0
- package/dist/stripe/server/internal/html.gen.d.ts.map +1 -0
- package/dist/stripe/server/internal/html.gen.js +3 -0
- package/dist/stripe/server/internal/html.gen.js.map +1 -0
- package/dist/tempo/server/Charge.d.ts +2 -0
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +15 -9
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Session.d.ts.map +1 -1
- package/dist/tempo/server/Session.js +3 -2
- package/dist/tempo/server/Session.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +2 -0
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -0
- package/dist/tempo/server/internal/html.gen.js +3 -0
- package/dist/tempo/server/internal/html.gen.js.map +1 -0
- package/dist/tempo/server/internal/transport.d.ts +1 -1
- package/dist/tempo/server/internal/transport.d.ts.map +1 -1
- package/dist/tempo/server/internal/transport.js +45 -58
- package/dist/tempo/server/internal/transport.js.map +1 -1
- package/package.json +2 -2
- package/src/Credential.ts +28 -4
- package/src/Method.ts +6 -1
- package/src/env.d.ts +1 -0
- package/src/mcp-sdk/server/Transport.test.ts +6 -0
- package/src/proxy/Proxy.test.ts +188 -1
- package/src/proxy/Proxy.ts +58 -9
- package/src/proxy/internal/Route.test.ts +9 -0
- package/src/proxy/internal/Route.ts +5 -2
- package/src/server/Mppx.test.ts +171 -18
- package/src/server/Mppx.ts +120 -79
- package/src/server/Transport.test.ts +16 -2
- package/src/server/Transport.ts +61 -7
- package/src/server/internal/html/config.ts +8 -0
- package/src/server/internal/html/serviceWorker.client.ts +28 -0
- package/src/server/internal/html/serviceWorker.gen.ts +2 -0
- package/src/server/internal/html/serviceWorker.ts +27 -0
- package/src/server/internal/html/tsconfig.worker.client.json +8 -0
- package/src/server/internal/html/tsconfig.worker.json +8 -0
- package/src/stripe/server/Charge.ts +19 -5
- package/src/stripe/server/internal/html/main.ts +106 -0
- package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +21 -0
- package/src/stripe/server/internal/html/package.json +9 -0
- package/src/stripe/server/internal/html/stripe-js-pure.d.ts +7 -0
- package/src/stripe/server/internal/html/tsconfig.json +8 -0
- package/src/stripe/server/internal/html.gen.ts +2 -0
- package/src/tempo/server/Charge.ts +20 -8
- package/src/tempo/server/Session.ts +3 -2
- package/src/tempo/server/internal/html/main.ts +71 -0
- package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +21 -0
- package/src/tempo/server/internal/html/package.json +10 -0
- package/src/tempo/server/internal/html/tsconfig.json +8 -0
- package/src/tempo/server/internal/html.gen.ts +2 -0
- package/src/tempo/server/internal/transport.test.ts +37 -31
- package/src/tempo/server/internal/transport.ts +44 -58
- package/src/tsconfig.json +1 -1
package/dist/server/Mppx.js
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
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
|
|
210
|
+
catch {
|
|
250
211
|
const response = await transport.respondChallenge({
|
|
251
212
|
challenge,
|
|
252
213
|
input,
|
|
253
|
-
error: new Errors.InvalidPayloadError(
|
|
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
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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
|
-
|
|
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) => {
|
package/dist/server/Mppx.js.map
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
|
package/dist/server/Transport.js
CHANGED
|
@@ -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(
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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, '&')
|
|
82
|
+
.replace(/</g, '<')
|
|
83
|
+
.replace(/>/g, '>')}</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":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/server/Transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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;
|
|
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
|
-
|
|
46
|
+
html: html ? { config: html, content: htmlContent } : undefined,
|
|
47
|
+
async verify({ credential, request }) {
|
|
46
48
|
const { challenge } = credential;
|
|
47
|
-
const
|
|
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 =
|
|
55
|
+
const userMetadata = resolvedRequest.methodDetails?.metadata;
|
|
54
56
|
const resolvedMetadata = { ...buildAnalytics({ credential }), ...userMetadata };
|
|
55
57
|
const pi = client
|
|
56
|
-
? await createWithClient({
|
|
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":"AACA,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACrF,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"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"}
|