@seedhape/x402-merchant-sdk 0.5.2 → 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/dist/seller.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { expressPaywall, Paywall } from "./middleware.js";
2
2
  import { createStripeMppPaywall } from "./stripe-mpp.js";
3
+ import { createAcpCart, createUcpCatalog } from "./protocol-catalog.js";
4
+ import { createUcpHandler } from "./ucp-handler.js";
5
+ import { AGENT_REQUEST_HEADER, AGENT_RESPONSE_HEADER, createInteractionResponseProof, formatAgentIdentityRef, verifyInteractionRequestProof } from "@seedhape/core";
3
6
  /**
4
7
  * Create the first unified merchant integration surface.
5
8
  *
@@ -16,6 +19,8 @@ export function createSeedhapeSeller(config) {
16
19
  for (const product of config.products) {
17
20
  if (!product.id.trim() || !product.endpoint.trim())
18
21
  throw new Error("Seller products require an id and endpoint.");
22
+ if (product.kind !== undefined && !["api", "digital_download", "license", "subscription"].includes(product.kind))
23
+ throw new Error(`Unsupported seller product kind for ${product.id}.`);
19
24
  if (typeof product.fulfill !== "function")
20
25
  throw new Error(`Seller product ${product.id} requires a fulfill callback.`);
21
26
  }
@@ -25,6 +30,11 @@ export function createSeedhapeSeller(config) {
25
30
  throw new Error(`Unknown seller product: ${id}`);
26
31
  return product;
27
32
  };
33
+ const fixedProtocolProducts = () => config.products.map((product) => {
34
+ if (typeof product.price === "string" || typeof product.price === "function")
35
+ throw new Error(`Protocol catalog serialization requires a fixed price for ${product.id}.`);
36
+ return { id: product.id, kind: product.kind, name: product.name, description: product.description, endpoint: product.endpoint, price: product.price, metadata: product.metadata };
37
+ });
28
38
  const resolvePrice = async (product, context) => {
29
39
  const raw = typeof product.price === "function" ? await product.price(context) : product.price;
30
40
  if (raw === null)
@@ -56,7 +66,7 @@ export function createSeedhapeSeller(config) {
56
66
  route: { ...product.metadata, name: product.metadata?.name ?? product.name, description: product.description },
57
67
  });
58
68
  };
59
- return {
69
+ const seller = {
60
70
  catalog() {
61
71
  return config.products.map((product) => {
62
72
  const price = typeof product.price === "string"
@@ -64,16 +74,19 @@ export function createSeedhapeSeller(config) {
64
74
  : typeof product.price === "function"
65
75
  ? { amount: "dynamic", dynamic: true, decimals: x402Config?.decimals, asset: x402Config?.asset, network: x402Config?.network }
66
76
  : { amount: product.price.amount.toString(), decimals: product.price.decimals, asset: product.price.asset, network: product.price.network };
67
- return { id: product.id, name: product.name, description: product.description, endpoint: product.endpoint, price, capabilities: ["quote", "purchase", "receipt"], ...(product.metadata ? { metadata: product.metadata } : {}) };
77
+ return { id: product.id, kind: product.kind ?? "api", name: product.name, description: product.description, endpoint: product.endpoint, price, capabilities: ["quote", "purchase", "receipt"], paymentMethods: [...(x402Config ? ["x402"] : []), ...(stripeMppConfig ? ["mpp"] : [])], ...(product.metadata ? { metadata: product.metadata } : {}) };
68
78
  });
69
79
  },
80
+ ucpCatalog: (origin, currency = "USD") => createUcpCatalog(fixedProtocolProducts(), origin, currency),
81
+ ucpHandler: (options) => createUcpHandler(seller, options),
82
+ acpCart: (items, origin, currency = "USD") => createAcpCart(fixedProtocolProducts(), items, origin, currency),
70
83
  product: (id) => products.get(id) ?? null,
71
84
  capabilities() {
72
85
  return {
73
86
  x402: x402Config ? { state: "enabled" } : { state: "unavailable", reason: "Configure x402 settlement to accept wallet payments." },
74
87
  mpp: stripeMppConfig ? { state: "preview", reason: "Stripe MPP is enabled for clients that advertise the MPP payment scheme." } : config.mpp?.enabled ? { state: "preview", reason: "MPP provider settlement still requires an adapter configuration." } : { state: "unavailable", reason: "Configure MPP provider access to enable machine payments." },
75
- acp: { state: "unavailable", reason: "ACP checkout adapter is not yet mounted in the merchant SDK." },
76
- ucp: { state: "unavailable", reason: "UCP checkout adapter is not yet mounted in the merchant SDK." },
88
+ acp: { state: "preview", reason: "ACP cart serialization is available; payment completion remains host-owned." },
89
+ ucp: { state: "preview", reason: "UCP catalog serialization is available; checkout completion remains host-owned." },
77
90
  ap2: x402Config?.ap2 ? { state: "enabled" } : { state: "unavailable", reason: "AP2 authorization evidence is optional for this seller." },
78
91
  webmcp: { state: "preview", reason: "WebMCP tools must be exposed by the host application." },
79
92
  webBotAuth: { state: "preview", reason: "Web Bot Auth is configured at the host boundary." },
@@ -85,8 +98,41 @@ export function createSeedhapeSeller(config) {
85
98
  const paywall = paywallFor(productId);
86
99
  let mppPromise;
87
100
  return async (request) => {
101
+ const identify = (response) => config.trust ? addAgentIdentityHeaders(response, config.trust) : response;
102
+ let signedRequest;
103
+ if (config.trust && request.headers.has(AGENT_REQUEST_HEADER)) {
104
+ const bodyLimit = config.trust.maxSignedResponseBytes ?? 1_000_000;
105
+ const requestBody = await readBoundedClone(request, bodyLimit);
106
+ if (!requestBody)
107
+ throw new Error(`Signed agent request exceeds the configured ${bodyLimit}-byte limit.`);
108
+ const merchantController = await config.trust.resolveOwner(config.trust.identity.agentId);
109
+ if (merchantController.toLowerCase() !== config.trust.identity.signer.address.toLowerCase())
110
+ throw new Error("Configured response signer does not control the merchant agent identity.");
111
+ signedRequest = await verifyInteractionRequestProof({
112
+ header: request.headers.get(AGENT_REQUEST_HEADER),
113
+ url: request.url,
114
+ method: request.method,
115
+ headers: request.headers,
116
+ body: requestBody,
117
+ expected: { chainId: config.trust.identity.chainId, trustContract: config.trust.identity.trustContract, identityRegistry: config.trust.identity.identityRegistry, merchantId: config.trust.identity.agentId },
118
+ resolveOwner: config.trust.resolveOwner,
119
+ signatureReader: config.trust.signatureReader,
120
+ });
121
+ }
88
122
  const orderId = request.headers.get("x-order-id") ?? request.headers.get("idempotency-key") ?? `${config.merchantId ?? "merchant"}:${product.id}:${Date.now()}`;
89
- const fulfill = async (receipt) => toFetchResponse(await product.fulfill({ product, orderId, request, receipt }));
123
+ const fulfill = async (receipt) => {
124
+ const response = toFetchResponse(await product.fulfill({ product, orderId, request, receipt }));
125
+ if (!signedRequest || !config.trust)
126
+ return response;
127
+ const responseBytes = await readBoundedClone(response, config.trust.maxSignedResponseBytes ?? 1_000_000);
128
+ if (!responseBytes)
129
+ return response;
130
+ const proof = await createInteractionResponseProof({ config: config.trust.identity, request: signedRequest.request, requestSignature: signedRequest.signature, responseBody: responseBytes, status: response.status });
131
+ const headers = new Headers(response.headers);
132
+ headers.set(AGENT_RESPONSE_HEADER, proof.header);
133
+ headers.set("Access-Control-Expose-Headers", [...new Set([...(headers.get("access-control-expose-headers") ?? "").split(",").map((x) => x.trim()).filter(Boolean), AGENT_RESPONSE_HEADER].map((x) => x.toLowerCase()))].join(", "));
134
+ return new Response(response.body, { status: response.status, statusText: response.statusText, headers });
135
+ };
90
136
  const authorization = request.headers.get("authorization") ?? "";
91
137
  const wantsMpp = authorization.startsWith("Payment ") || request.headers.has("accept-payment");
92
138
  if (stripeMppConfig && wantsMpp) {
@@ -98,10 +144,10 @@ export function createSeedhapeSeller(config) {
98
144
  : unitsToDecimal(product.price);
99
145
  mppPromise = createStripeMppPaywall({ ...stripeMppConfig, amount, description: product.description });
100
146
  }
101
- return (await mppPromise).handle(request, () => fulfill());
147
+ return identify(await (await mppPromise).handle(request, () => fulfill()));
102
148
  }
103
149
  if (!paywall)
104
- return fulfill();
150
+ return identify(await fulfill());
105
151
  const url = new URL(request.url);
106
152
  const outcome = await paywall.handle({
107
153
  path: url.pathname,
@@ -112,9 +158,9 @@ export function createSeedhapeSeller(config) {
112
158
  merchantRef: request.headers.get("x-merchant-ref") ?? undefined,
113
159
  });
114
160
  if (outcome.kind === "free")
115
- return fulfill();
161
+ return identify(await fulfill());
116
162
  if (outcome.kind === "paid") {
117
- const response = await fulfill(outcome.receipt);
163
+ const response = identify(await fulfill(outcome.receipt));
118
164
  if (outcome.settlementHeader) {
119
165
  response.headers.set("PAYMENT-RESPONSE", outcome.settlementHeader);
120
166
  response.headers.set("X-PAYMENT-RESPONSE", outcome.settlementHeader);
@@ -126,7 +172,7 @@ export function createSeedhapeSeller(config) {
126
172
  headers.set("PAYMENT-REQUIRED", outcome.paymentRequiredHeader);
127
173
  if (outcome.ap2CheckoutJwt)
128
174
  headers.set("AP2-CHECKOUT-JWT", outcome.ap2CheckoutJwt);
129
- return new Response(JSON.stringify({ error: outcome.reason, ...(outcome.challenge ?? {}) }), { status: outcome.status ?? 402, headers });
175
+ return identify(new Response(JSON.stringify({ error: outcome.reason, ...(outcome.challenge ?? {}) }), { status: outcome.status ?? 402, headers }));
130
176
  };
131
177
  },
132
178
  route(productId) {
@@ -152,23 +198,23 @@ export function createSeedhapeSeller(config) {
152
198
  return authorization.startsWith("Payment ") || Boolean(req.headers?.["accept-payment"]);
153
199
  };
154
200
  return async (req, res, next) => {
201
+ if (config.trust)
202
+ applyAgentIdentityHeaders(res, config.trust);
203
+ let signedRequest;
204
+ try {
205
+ if (config.trust && req.headers?.[AGENT_REQUEST_HEADER] !== undefined)
206
+ signedRequest = await verifyExpressTrustRequest(req, config.trust);
207
+ }
208
+ catch (error) {
209
+ res.status(400).json({ error: `Signed agent request could not be verified: ${String(error)}` });
210
+ return;
211
+ }
155
212
  const fulfill = async () => {
156
213
  const receipt = req.x402Receipt;
157
214
  const orderId = String(req.headers?.["x-order-id"] ?? req.headers?.["idempotency-key"] ?? `${config.merchantId ?? "merchant"}:${product.id}:${Date.now()}`);
158
215
  const result = await product.fulfill({ product, orderId, request: req, receipt });
159
- if (result instanceof Response) {
160
- const body = Buffer.from(await result.arrayBuffer());
161
- res.status(result.status);
162
- result.headers.forEach((value, key) => res.setHeader(key, value));
163
- return res.send(body);
164
- }
165
- if (result && typeof result === "object" && "body" in result) {
166
- const response = result;
167
- for (const [key, value] of Object.entries(response.headers ?? {}))
168
- res.setHeader(key, value);
169
- return res.status(response.status ?? 200).json(response.body);
170
- }
171
- return res.json(result);
216
+ const response = toFetchResponse(result);
217
+ return sendFetchResponse(res, signedRequest && config.trust ? await signSellerResponse(response, signedRequest, config.trust) : response);
172
218
  };
173
219
  try {
174
220
  if (stripeMppConfig && wantsMpp(req)) {
@@ -185,10 +231,11 @@ export function createSeedhapeSeller(config) {
185
231
  });
186
232
  }
187
233
  const mpp = await mppPromise;
188
- const request = toFetchRequest(req);
234
+ const request = toFetchRequest(req, signedRequest ? expressRequestBody(req) : undefined);
189
235
  const response = await mpp.handle(request, async () => {
190
236
  const result = await product.fulfill({ product, orderId: String(req.headers?.["x-order-id"] ?? req.headers?.["idempotency-key"] ?? `${config.merchantId ?? "merchant"}:${product.id}:${Date.now()}`), request: req });
191
- return toFetchResponse(result);
237
+ const fulfilled = toFetchResponse(result);
238
+ return signedRequest ? signSellerResponse(fulfilled, signedRequest, config.trust) : fulfilled;
192
239
  });
193
240
  return sendFetchResponse(res, response);
194
241
  }
@@ -202,6 +249,7 @@ export function createSeedhapeSeller(config) {
202
249
  };
203
250
  },
204
251
  };
252
+ return seller;
205
253
  }
206
254
  function decimalToMoney(value, x402) {
207
255
  if (!x402?.asset || !x402.network || !x402.facilitator)
@@ -220,8 +268,43 @@ function unitsToDecimal(price) {
220
268
  const fraction = (price.amount % scale).toString().padStart(price.decimals, "0").replace(/0+$/, "");
221
269
  return fraction ? `${whole}.${fraction}` : whole.toString();
222
270
  }
223
- function toFetchRequest(req) {
224
- const url = new URL(req.originalUrl ?? req.url, `http://${req.headers?.host ?? "localhost"}`);
271
+ async function verifyExpressTrustRequest(req, trust) {
272
+ const body = expressRequestBody(req);
273
+ const limit = trust.maxSignedResponseBytes ?? 1_000_000;
274
+ if (!body || body.byteLength > limit)
275
+ throw new Error(`Express trust requires rawBody middleware for request bodies up to ${limit} bytes.`);
276
+ const headers = expressHeaders(req);
277
+ const protocol = String(req.protocol ?? (req.secure ? "https" : "http"));
278
+ const url = new URL(req.originalUrl ?? req.url, `${protocol}://${req.headers?.host ?? "localhost"}`).href;
279
+ const controller = await trust.resolveOwner(trust.identity.agentId);
280
+ if (controller.toLowerCase() !== trust.identity.signer.address.toLowerCase())
281
+ throw new Error("Configured response signer does not control the merchant agent identity.");
282
+ return verifyInteractionRequestProof({
283
+ header: headers.get(AGENT_REQUEST_HEADER),
284
+ url,
285
+ method: String(req.method ?? "GET"),
286
+ headers,
287
+ body,
288
+ expected: { chainId: trust.identity.chainId, trustContract: trust.identity.trustContract, identityRegistry: trust.identity.identityRegistry, merchantId: trust.identity.agentId },
289
+ resolveOwner: trust.resolveOwner,
290
+ signatureReader: trust.signatureReader,
291
+ });
292
+ }
293
+ function expressRequestBody(req) {
294
+ if (["GET", "HEAD"].includes(String(req.method ?? "GET").toUpperCase()))
295
+ return new Uint8Array();
296
+ const raw = req.rawBody ?? req.body;
297
+ if (Buffer.isBuffer(raw))
298
+ return new Uint8Array(raw);
299
+ if (typeof raw === "string")
300
+ return new TextEncoder().encode(raw);
301
+ if (raw instanceof Uint8Array)
302
+ return new Uint8Array(raw);
303
+ if (req.headers?.["content-length"] === "0" || req.headers?.["content-length"] === 0)
304
+ return new Uint8Array();
305
+ return null;
306
+ }
307
+ function expressHeaders(req) {
225
308
  const headers = new Headers();
226
309
  for (const [key, value] of Object.entries(req.headers ?? {})) {
227
310
  if (Array.isArray(value))
@@ -229,8 +312,62 @@ function toFetchRequest(req) {
229
312
  else if (value !== undefined)
230
313
  headers.set(key, String(value));
231
314
  }
315
+ return headers;
316
+ }
317
+ async function signSellerResponse(response, request, trust) {
318
+ const body = await readBoundedClone(response, trust.maxSignedResponseBytes ?? 1_000_000);
319
+ if (!body)
320
+ return response;
321
+ const proof = await createInteractionResponseProof({ config: trust.identity, request: request.request, requestSignature: request.signature, responseBody: body, status: response.status });
322
+ const headers = new Headers(response.headers);
323
+ headers.set(AGENT_RESPONSE_HEADER, proof.header);
324
+ headers.set("Access-Control-Expose-Headers", [...new Set([...(headers.get("access-control-expose-headers") ?? "").split(",").map((value) => value.trim()).filter(Boolean), AGENT_RESPONSE_HEADER].map((value) => value.toLowerCase()))].join(", "));
325
+ return new Response(body.byteLength && response.status !== 204 && response.status !== 304 ? body : null, { status: response.status, statusText: response.statusText, headers });
326
+ }
327
+ const AGENT_IDENTITY_HEADERS = ["Agent-Identity", "Signature-Agent", "Signature-KeyId"];
328
+ function agentIdentityHeaderValues(trust) {
329
+ if (!trust.signatureAgent || !trust.keyId)
330
+ return null;
331
+ const signatureAgent = new URL(trust.signatureAgent);
332
+ if (signatureAgent.protocol !== "https:" || signatureAgent.origin !== trust.signatureAgent)
333
+ throw new Error("Merchant Signature-Agent must be a canonical HTTPS origin.");
334
+ return {
335
+ "Agent-Identity": formatAgentIdentityRef(trust.identity.chainId, trust.identity.identityRegistry, trust.identity.agentId),
336
+ "Signature-Agent": trust.signatureAgent,
337
+ "Signature-KeyId": trust.keyId,
338
+ };
339
+ }
340
+ function exposeAgentIdentityHeaders(headers) {
341
+ const exposed = new Set((headers.get("access-control-expose-headers") ?? "").split(",").map((value) => value.trim().toLowerCase()).filter(Boolean));
342
+ for (const name of [...AGENT_IDENTITY_HEADERS, AGENT_RESPONSE_HEADER])
343
+ exposed.add(name.toLowerCase());
344
+ headers.set("Access-Control-Expose-Headers", [...exposed].join(", "));
345
+ }
346
+ function addAgentIdentityHeaders(response, trust) {
347
+ const identityHeaders = agentIdentityHeaderValues(trust);
348
+ if (!identityHeaders)
349
+ return response;
350
+ const headers = new Headers(response.headers);
351
+ for (const [name, value] of Object.entries(identityHeaders))
352
+ headers.set(name, value);
353
+ exposeAgentIdentityHeaders(headers);
354
+ return new Response(response.body, { status: response.status, statusText: response.statusText, headers });
355
+ }
356
+ function applyAgentIdentityHeaders(response, trust) {
357
+ const identityHeaders = agentIdentityHeaderValues(trust);
358
+ if (!identityHeaders)
359
+ return;
360
+ for (const [name, value] of Object.entries(identityHeaders))
361
+ response.setHeader(name, value);
362
+ const headers = new Headers({ "access-control-expose-headers": response.getHeader("access-control-expose-headers") ?? "" });
363
+ exposeAgentIdentityHeaders(headers);
364
+ response.setHeader("Access-Control-Expose-Headers", headers.get("access-control-expose-headers"));
365
+ }
366
+ function toFetchRequest(req, rawBody) {
367
+ const url = new URL(req.originalUrl ?? req.url, `${req.protocol ?? "http"}://${req.headers?.host ?? "localhost"}`);
368
+ const headers = expressHeaders(req);
232
369
  const hasBody = !["GET", "HEAD"].includes(String(req.method).toUpperCase());
233
- return new Request(url, { method: req.method, headers, body: hasBody ? req : undefined });
370
+ return new Request(url, { method: req.method, headers, body: hasBody ? rawBody ? Buffer.from(rawBody) : req : undefined });
234
371
  }
235
372
  async function sendFetchResponse(res, response) {
236
373
  res.status(response.status);
@@ -246,4 +383,34 @@ function toFetchResponse(result) {
246
383
  }
247
384
  return Response.json(result);
248
385
  }
386
+ async function readBoundedClone(response, maxBytes) {
387
+ if (!Number.isSafeInteger(maxBytes) || maxBytes < 1)
388
+ throw new Error("maxSignedResponseBytes must be a positive safe integer.");
389
+ const length = Number(response.headers.get("content-length"));
390
+ if (Number.isFinite(length) && length > maxBytes)
391
+ return null;
392
+ if (!response.body)
393
+ return new Uint8Array();
394
+ const reader = response.clone().body.getReader();
395
+ const chunks = [];
396
+ let size = 0;
397
+ while (true) {
398
+ const { done, value } = await reader.read();
399
+ if (done)
400
+ break;
401
+ size += value.byteLength;
402
+ if (size > maxBytes) {
403
+ await reader.cancel();
404
+ return null;
405
+ }
406
+ chunks.push(value);
407
+ }
408
+ const result = new Uint8Array(size);
409
+ let offset = 0;
410
+ for (const chunk of chunks) {
411
+ result.set(chunk, offset);
412
+ offset += chunk.byteLength;
413
+ }
414
+ return result;
415
+ }
249
416
  //# sourceMappingURL=seller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seller.js","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seller.js","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,9 @@ export interface StripeMppConnectConfig {
11
11
  transferGroup?: string;
12
12
  }
13
13
  export interface StripeMppPaywallOptions {
14
- /** Stripe sandbox/live secret key. Never expose this to an agent or browser. */
14
+ /** Merchant-owned Stripe sandbox/live secret key (Standard/direct mode). Never expose this to an agent or browser. */
15
15
  stripeSecretKey: string;
16
- /** Stripe business profile ID (`profile_test_...` in a sandbox). */
16
+ /** Stripe business profile owned by the same Stripe account as stripeSecretKey. */
17
17
  profileId: string;
18
18
  /** HMAC key used to bind a credential to the challenge. */
19
19
  mppSecretKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-mpp.d.ts","sourceRoot":"","sources":["../src/stripe-mpp.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,iEAAiE;IACjE,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,wEAAwE;IACxE,gBAAgB,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAiBxC;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB;IAqCzE,iEAAiE;sBAjBnC,OAAO,KAAG,OAAO,CAAC,sBAAsB,CAAC;IAmBvE,4EAA4E;oBACtD,OAAO,WAAW,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;GAejG"}
1
+ {"version":3,"file":"stripe-mpp.d.ts","sourceRoot":"","sources":["../src/stripe-mpp.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,sHAAsH;IACtH,eAAe,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,iEAAiE;IACjE,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,wEAAwE;IACxE,gBAAgB,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAiBxC;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB;IAyCzE,iEAAiE;sBAnBnC,OAAO,KAAG,OAAO,CAAC,sBAAsB,CAAC;IAqBvE,4EAA4E;oBACtD,OAAO,WAAW,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;GAejG"}
@@ -23,6 +23,10 @@ export async function createStripeMppPaywall(options) {
23
23
  throw new Error("Stripe MPP requires a Stripe profileId.");
24
24
  if (options.mppSecretKey.length < 32)
25
25
  throw new Error("Stripe MPP mppSecretKey must be at least 32 characters.");
26
+ if (options.depositAddresses && !options.stripeClient)
27
+ throw new Error("Stripe MPP stablecoin depositAddresses require a configured stripeClient.");
28
+ if (options.depositAddresses && options.connect)
29
+ throw new Error("Stripe MPP stablecoin depositAddresses cannot be combined with a Connect charge in this adapter.");
26
30
  const { Mppx, stripe } = await loadMppx();
27
31
  const methods = options.stripeClient && !options.connect
28
32
  ? await stripe.create({
@@ -50,7 +54,9 @@ export async function createStripeMppPaywall(options) {
50
54
  paymentMethodTypes: options.paymentMethodTypes ?? ["card"],
51
55
  ...(options.metadata ? { metadata: options.metadata } : {}),
52
56
  };
53
- const result = await mppx.stripe.charge(chargeOptions)(request);
57
+ // Use the protocol-level handler so a merchant-owned Stripe client can
58
+ // advertise both SPT card payments and Tempo stablecoin payments.
59
+ const result = await mppx.charge(chargeOptions)(request);
54
60
  if (result.status === 402)
55
61
  return { status: 402, response: result.challenge };
56
62
  return { status: 200, response: result.withReceipt(new Response(null, { status: 204 })) };
@@ -69,7 +75,7 @@ export async function createStripeMppPaywall(options) {
69
75
  paymentMethodTypes: options.paymentMethodTypes ?? ["card"],
70
76
  ...(options.metadata ? { metadata: options.metadata } : {}),
71
77
  };
72
- const result = await mppx.stripe.charge(chargeOptions)(request);
78
+ const result = await mppx.charge(chargeOptions)(request);
73
79
  if (result.status === 402)
74
80
  return result.challenge;
75
81
  return result.withReceipt(await fulfill());
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-mpp.js","sourceRoot":"","sources":["../src/stripe-mpp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe-mpp.js","sourceRoot":"","sources":["../src/stripe-mpp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { SeedhapeSeller } from "./seller.js";
2
+ export type UcpHandlerOptions = {
3
+ origin: string;
4
+ currency?: string;
5
+ };
6
+ /** Fetch-compatible UCP adapter for Express, Next.js, Hono, and node:http. */
7
+ export declare function createUcpHandler(seller: SeedhapeSeller, options: UcpHandlerOptions): (request: Request) => Promise<Response>;
8
+ //# sourceMappingURL=ucp-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ucp-handler.d.ts","sourceRoot":"","sources":["../src/ucp-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,aAAa,CAAC;AA6ChF,MAAM,MAAM,iBAAiB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,IAOpD,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAuDlE"}