@genesis-tech/genesispay-seller 0.8.0 → 0.11.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +96 -38
  2. package/README.md +142 -40
  3. package/dist/client.d.ts +23 -15
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +73 -39
  6. package/dist/client.js.map +1 -1
  7. package/dist/customers.d.ts +2 -2
  8. package/dist/customers.d.ts.map +1 -1
  9. package/dist/customers.js +5 -5
  10. package/dist/customers.js.map +1 -1
  11. package/dist/entitlements.d.ts +19 -0
  12. package/dist/entitlements.d.ts.map +1 -0
  13. package/dist/entitlements.js +30 -0
  14. package/dist/entitlements.js.map +1 -0
  15. package/dist/errors.d.ts +9 -9
  16. package/dist/errors.d.ts.map +1 -1
  17. package/dist/errors.js +18 -18
  18. package/dist/errors.js.map +1 -1
  19. package/dist/genesispay-settlement.d.ts +30 -0
  20. package/dist/genesispay-settlement.d.ts.map +1 -0
  21. package/dist/genesispay-settlement.js +103 -0
  22. package/dist/genesispay-settlement.js.map +1 -0
  23. package/dist/index.d.ts +6 -4
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +4 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/invoices.d.ts +2 -2
  28. package/dist/invoices.d.ts.map +1 -1
  29. package/dist/invoices.js +7 -7
  30. package/dist/invoices.js.map +1 -1
  31. package/dist/mandate-gate.d.ts +5 -5
  32. package/dist/mandate-gate.d.ts.map +1 -1
  33. package/dist/mandate-gate.js +4 -4
  34. package/dist/mandate-gate.js.map +1 -1
  35. package/dist/mandates.d.ts +4 -4
  36. package/dist/mandates.d.ts.map +1 -1
  37. package/dist/mandates.js +9 -9
  38. package/dist/mandates.js.map +1 -1
  39. package/dist/payment-gate.js +1 -1
  40. package/dist/payment-gate.js.map +1 -1
  41. package/dist/plans.d.ts +2 -2
  42. package/dist/plans.d.ts.map +1 -1
  43. package/dist/plans.js +6 -6
  44. package/dist/plans.js.map +1 -1
  45. package/dist/products.d.ts +128 -0
  46. package/dist/products.d.ts.map +1 -0
  47. package/dist/products.js +287 -0
  48. package/dist/products.js.map +1 -0
  49. package/dist/resource.d.ts +2 -2
  50. package/dist/resource.d.ts.map +1 -1
  51. package/dist/resource.js +1 -1
  52. package/dist/resource.js.map +1 -1
  53. package/dist/webhooks.d.ts +25 -25
  54. package/dist/webhooks.d.ts.map +1 -1
  55. package/dist/webhooks.js +30 -29
  56. package/dist/webhooks.js.map +1 -1
  57. package/package.json +2 -2
package/dist/webhooks.js CHANGED
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // The server signs every delivery in `src/features/sellers/webhooks.ts`:
4
4
  //
5
- // PEERPAY-SIGNATURE: t=<unix-seconds>,v1=<hex>
5
+ // GENESISPAY-SIGNATURE: t=<unix-seconds>,v1=<hex>
6
6
  // v1 = HMAC_SHA256(secret, `${t}.${rawBody}`)
7
7
  //
8
8
  // Deliberately implemented on WebCrypto (`globalThis.crypto.subtle`) rather
@@ -16,11 +16,12 @@
16
16
  * the server grows a type this list does not have.
17
17
  *
18
18
  * Exported as a runtime array (not only as a type) so a handler can ask
19
- * `isKnownPeerPayEventType(event.type)` before it decides what to do.
19
+ * `isKnownGenesisPayEventType(event.type)` before it decides what to do.
20
20
  */
21
- export const PEERPAY_EVENT_TYPES = [
21
+ export const GENESISPAY_EVENT_TYPES = [
22
22
  "payment.confirmed",
23
23
  "link.paid",
24
+ "product.purchased",
24
25
  "agent_payment.pending_approval",
25
26
  "agent_payment.settled",
26
27
  "mandate.active",
@@ -31,22 +32,22 @@ export const PEERPAY_EVENT_TYPES = [
31
32
  "subscription.past_due",
32
33
  ];
33
34
  /** True when `type` is an event type this SDK version knows about. */
34
- export function isKnownPeerPayEventType(type) {
35
- return PEERPAY_EVENT_TYPES.includes(type);
35
+ export function isKnownGenesisPayEventType(type) {
36
+ return GENESISPAY_EVENT_TYPES.includes(type);
36
37
  }
37
38
  /**
38
39
  * Thrown for every rejection path: malformed/missing header, missing `t`/`v1`,
39
40
  * timestamp outside the tolerance window, signature mismatch, non-JSON body.
40
41
  * Messages never contain the secret or the expected signature.
41
42
  */
42
- export class PeerPaySignatureVerificationError extends Error {
43
+ export class GenesisPaySignatureVerificationError extends Error {
43
44
  constructor(message) {
44
45
  super(message);
45
- this.name = "PeerPaySignatureVerificationError";
46
+ this.name = "GenesisPaySignatureVerificationError";
46
47
  }
47
48
  }
48
49
  const DEFAULT_TOLERANCE_SECONDS = 300;
49
- const SIGNATURE_HEADER_NAME = "PEERPAY-SIGNATURE";
50
+ const SIGNATURE_HEADER_NAME = "GENESISPAY-SIGNATURE";
50
51
  const textEncoder = new TextEncoder();
51
52
  const textDecoder = new TextDecoder("utf-8", { fatal: false });
52
53
  /**
@@ -62,14 +63,14 @@ function parseSignatureHeader(header) {
62
63
  continue;
63
64
  const separator = part.indexOf("=");
64
65
  if (separator <= 0) {
65
- throw new PeerPaySignatureVerificationError(`Malformed ${SIGNATURE_HEADER_NAME} header: expected comma-separated key=value pairs.`);
66
+ throw new GenesisPaySignatureVerificationError(`Malformed ${SIGNATURE_HEADER_NAME} header: expected comma-separated key=value pairs.`);
66
67
  }
67
68
  const key = part.slice(0, separator).trim();
68
69
  const value = part.slice(separator + 1).trim();
69
70
  if (key === "t") {
70
71
  // A second `t=` would make the signed payload ambiguous.
71
72
  if (timestampRaw !== undefined) {
72
- throw new PeerPaySignatureVerificationError(`Malformed ${SIGNATURE_HEADER_NAME} header: duplicate "t" value.`);
73
+ throw new GenesisPaySignatureVerificationError(`Malformed ${SIGNATURE_HEADER_NAME} header: duplicate "t" value.`);
73
74
  }
74
75
  timestampRaw = value;
75
76
  }
@@ -80,24 +81,24 @@ function parseSignatureHeader(header) {
80
81
  // Unknown keys (future scheme versions) are ignored on purpose.
81
82
  }
82
83
  if (timestampRaw === undefined || timestampRaw.length === 0) {
83
- throw new PeerPaySignatureVerificationError(`Missing "t" in ${SIGNATURE_HEADER_NAME} header.`);
84
+ throw new GenesisPaySignatureVerificationError(`Missing "t" in ${SIGNATURE_HEADER_NAME} header.`);
84
85
  }
85
86
  if (!/^\d+$/.test(timestampRaw)) {
86
- throw new PeerPaySignatureVerificationError(`Invalid "t" in ${SIGNATURE_HEADER_NAME} header: expected unix seconds.`);
87
+ throw new GenesisPaySignatureVerificationError(`Invalid "t" in ${SIGNATURE_HEADER_NAME} header: expected unix seconds.`);
87
88
  }
88
89
  const timestampSeconds = Number(timestampRaw);
89
90
  if (!Number.isSafeInteger(timestampSeconds)) {
90
- throw new PeerPaySignatureVerificationError(`Invalid "t" in ${SIGNATURE_HEADER_NAME} header: expected unix seconds.`);
91
+ throw new GenesisPaySignatureVerificationError(`Invalid "t" in ${SIGNATURE_HEADER_NAME} header: expected unix seconds.`);
91
92
  }
92
93
  if (signatures.length === 0) {
93
- throw new PeerPaySignatureVerificationError(`Missing "v1" in ${SIGNATURE_HEADER_NAME} header.`);
94
+ throw new GenesisPaySignatureVerificationError(`Missing "v1" in ${SIGNATURE_HEADER_NAME} header.`);
94
95
  }
95
96
  return { timestampSeconds, signatures };
96
97
  }
97
98
  function getSubtleCrypto() {
98
99
  const subtle = globalThis.crypto?.subtle;
99
100
  if (!subtle) {
100
- throw new PeerPaySignatureVerificationError("WebCrypto (globalThis.crypto.subtle) is unavailable in this runtime; webhook verification requires it.");
101
+ throw new GenesisPaySignatureVerificationError("WebCrypto (globalThis.crypto.subtle) is unavailable in this runtime; webhook verification requires it.");
101
102
  }
102
103
  return subtle;
103
104
  }
@@ -145,17 +146,17 @@ function decodeRawBody(rawBody) {
145
146
  * delivery is verified and returned unchanged, so a server that adds a new
146
147
  * event type can never turn a customer's webhook route into a 400. Only the
147
148
  * signature and the envelope (`id`, `type`, `createdAt`, object `data`) can
148
- * reject a delivery. Widen to `PeerPayAnyEvent` and use
149
- * `isKnownPeerPayEventType()` if you want to handle that case explicitly.
149
+ * reject a delivery. Widen to `GenesisPayAnyEvent` and use
150
+ * `isKnownGenesisPayEventType()` if you want to handle that case explicitly.
150
151
  *
151
- * @throws {PeerPaySignatureVerificationError} on any verification failure.
152
+ * @throws {GenesisPaySignatureVerificationError} on any verification failure.
152
153
  *
153
154
  * @example
154
155
  * ```ts
155
156
  * const event = await constructEvent(
156
157
  * await request.text(),
157
- * request.headers.get("peerpay-signature") ?? "",
158
- * process.env.PEERPAY_WEBHOOK_SECRET!,
158
+ * request.headers.get("genesispay-signature") ?? "",
159
+ * process.env.GENESISPAY_WEBHOOK_SECRET!,
159
160
  * );
160
161
  * if (event.type === "payment.confirmed") {
161
162
  * fulfil(event.data.link.clientReferenceId, event.data.attempt.txHash);
@@ -164,14 +165,14 @@ function decodeRawBody(rawBody) {
164
165
  */
165
166
  export async function constructEvent(rawBody, signatureHeader, secret, opts = {}) {
166
167
  if (typeof signatureHeader !== "string" || signatureHeader.trim().length === 0) {
167
- throw new PeerPaySignatureVerificationError(`Missing ${SIGNATURE_HEADER_NAME} header.`);
168
+ throw new GenesisPaySignatureVerificationError(`Missing ${SIGNATURE_HEADER_NAME} header.`);
168
169
  }
169
170
  if (typeof secret !== "string" || secret.length === 0) {
170
- throw new PeerPaySignatureVerificationError("Missing webhook signing secret.");
171
+ throw new GenesisPaySignatureVerificationError("Missing webhook signing secret.");
171
172
  }
172
173
  const toleranceSeconds = opts.toleranceSeconds ?? DEFAULT_TOLERANCE_SECONDS;
173
174
  if (!Number.isFinite(toleranceSeconds) || toleranceSeconds < 0) {
174
- throw new PeerPaySignatureVerificationError("Invalid toleranceSeconds: expected a non-negative number.");
175
+ throw new GenesisPaySignatureVerificationError("Invalid toleranceSeconds: expected a non-negative number.");
175
176
  }
176
177
  const { timestampSeconds, signatures } = parseSignatureHeader(signatureHeader);
177
178
  const nowMs = opts.nowMs ?? Date.now();
@@ -179,7 +180,7 @@ export async function constructEvent(rawBody, signatureHeader, secret, opts = {}
179
180
  const skewSeconds = Math.abs(nowSeconds - timestampSeconds);
180
181
  if (skewSeconds > toleranceSeconds) {
181
182
  // Rejects future timestamps too — a clock-skewed or replayed delivery.
182
- throw new PeerPaySignatureVerificationError(`Webhook timestamp is outside the tolerance window of ${toleranceSeconds}s (off by ${skewSeconds}s).`);
183
+ throw new GenesisPaySignatureVerificationError(`Webhook timestamp is outside the tolerance window of ${toleranceSeconds}s (off by ${skewSeconds}s).`);
183
184
  }
184
185
  const body = decodeRawBody(rawBody);
185
186
  const expected = await computeExpectedSignature(secret, `${timestampSeconds}.${body}`);
@@ -190,17 +191,17 @@ export async function constructEvent(rawBody, signatureHeader, secret, opts = {}
190
191
  matched = timingSafeEqualStrings(expected, candidate.toLowerCase()) || matched;
191
192
  }
192
193
  if (!matched) {
193
- throw new PeerPaySignatureVerificationError("Webhook signature mismatch: the payload does not match the signing secret.");
194
+ throw new GenesisPaySignatureVerificationError("Webhook signature mismatch: the payload does not match the signing secret.");
194
195
  }
195
196
  let parsed;
196
197
  try {
197
198
  parsed = JSON.parse(body);
198
199
  }
199
200
  catch {
200
- throw new PeerPaySignatureVerificationError("Webhook body is not valid JSON.");
201
+ throw new GenesisPaySignatureVerificationError("Webhook body is not valid JSON.");
201
202
  }
202
203
  if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
203
- throw new PeerPaySignatureVerificationError("Webhook body is not a JSON object.");
204
+ throw new GenesisPaySignatureVerificationError("Webhook body is not a JSON object.");
204
205
  }
205
206
  // The envelope is asserted rather than cast. `id` in particular is the
206
207
  // documented idempotency key — it is stable across delivery retries, so an
@@ -210,13 +211,13 @@ export async function constructEvent(rawBody, signatureHeader, secret, opts = {}
210
211
  const envelope = parsed;
211
212
  for (const field of ["id", "type", "createdAt"]) {
212
213
  if (typeof envelope[field] !== "string" || envelope[field] === "") {
213
- throw new PeerPaySignatureVerificationError(`Webhook body is missing a string "${field}" field.`);
214
+ throw new GenesisPaySignatureVerificationError(`Webhook body is missing a string "${field}" field.`);
214
215
  }
215
216
  }
216
217
  if (typeof envelope.data !== "object" ||
217
218
  envelope.data === null ||
218
219
  Array.isArray(envelope.data)) {
219
- throw new PeerPaySignatureVerificationError('Webhook body is missing an object "data" field.');
220
+ throw new GenesisPaySignatureVerificationError('Webhook body is missing an object "data" field.');
220
221
  }
221
222
  return parsed;
222
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genesis-tech/genesispay-seller",
3
- "version": "0.8.0",
3
+ "version": "0.11.0",
4
4
  "description": "Framework-agnostic x402 payment gate for sellers, powered by GenesisPay.",
5
5
  "license": "MIT",
6
6
  "author": "GenesisTech",
@@ -49,7 +49,7 @@
49
49
  "typecheck": "tsc --noEmit"
50
50
  },
51
51
  "dependencies": {
52
- "@genesis-tech/genesispay-protocol": "^0.1.0",
52
+ "@genesis-tech/genesispay-protocol": "^0.3.0",
53
53
  "viem": "^2.48.11"
54
54
  },
55
55
  "devDependencies": {