@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.
- package/CHANGELOG.md +96 -38
- package/README.md +142 -40
- package/dist/client.d.ts +23 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +73 -39
- package/dist/client.js.map +1 -1
- package/dist/customers.d.ts +2 -2
- package/dist/customers.d.ts.map +1 -1
- package/dist/customers.js +5 -5
- package/dist/customers.js.map +1 -1
- package/dist/entitlements.d.ts +19 -0
- package/dist/entitlements.d.ts.map +1 -0
- package/dist/entitlements.js +30 -0
- package/dist/entitlements.js.map +1 -0
- package/dist/errors.d.ts +9 -9
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +18 -18
- package/dist/errors.js.map +1 -1
- package/dist/genesispay-settlement.d.ts +30 -0
- package/dist/genesispay-settlement.d.ts.map +1 -0
- package/dist/genesispay-settlement.js +103 -0
- package/dist/genesispay-settlement.js.map +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/invoices.d.ts +2 -2
- package/dist/invoices.d.ts.map +1 -1
- package/dist/invoices.js +7 -7
- package/dist/invoices.js.map +1 -1
- package/dist/mandate-gate.d.ts +5 -5
- package/dist/mandate-gate.d.ts.map +1 -1
- package/dist/mandate-gate.js +4 -4
- package/dist/mandate-gate.js.map +1 -1
- package/dist/mandates.d.ts +4 -4
- package/dist/mandates.d.ts.map +1 -1
- package/dist/mandates.js +9 -9
- package/dist/mandates.js.map +1 -1
- package/dist/payment-gate.js +1 -1
- package/dist/payment-gate.js.map +1 -1
- package/dist/plans.d.ts +2 -2
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +6 -6
- package/dist/plans.js.map +1 -1
- package/dist/products.d.ts +128 -0
- package/dist/products.d.ts.map +1 -0
- package/dist/products.js +287 -0
- package/dist/products.js.map +1 -0
- package/dist/resource.d.ts +2 -2
- package/dist/resource.d.ts.map +1 -1
- package/dist/resource.js +1 -1
- package/dist/resource.js.map +1 -1
- package/dist/webhooks.d.ts +25 -25
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +30 -29
- package/dist/webhooks.js.map +1 -1
- package/package.json +2 -2
package/dist/client.d.ts
CHANGED
|
@@ -3,17 +3,19 @@ import type { CustomersResource } from "./customers.js";
|
|
|
3
3
|
import type { InvoicesResource } from "./invoices.js";
|
|
4
4
|
import type { VerifySettlement } from "./payment-gate.js";
|
|
5
5
|
import type { PlansResource } from "./plans.js";
|
|
6
|
+
import type { ProductsResource } from "./products.js";
|
|
7
|
+
import type { EntitlementsResource } from "./entitlements.js";
|
|
6
8
|
import type { PaymentGateNetwork } from "./networks.js";
|
|
7
|
-
import type { ConstructEventOptions,
|
|
9
|
+
import type { ConstructEventOptions, GenesisPayEvent } from "./webhooks.js";
|
|
8
10
|
/**
|
|
9
|
-
* The legacy `
|
|
11
|
+
* The legacy `GenesisPay` client — a Stripe-like entry point that owns the seller key and
|
|
10
12
|
* resolves everything else (payout wallet, network, base URL) from it. The key
|
|
11
|
-
* prefix decides the mode: `
|
|
12
|
-
* `
|
|
13
|
+
* prefix decides the mode: `gp_sk_test_…` / legacy `gp_sk_…` → test,
|
|
14
|
+
* `gp_sk_live_…` → live. See docs/archive/SELLER_SDK_DX_SPEC.md.
|
|
13
15
|
*/
|
|
14
|
-
export type
|
|
15
|
-
export type
|
|
16
|
-
/**
|
|
16
|
+
export type GenesisPayKeyMode = "test" | "live";
|
|
17
|
+
export type GenesisPayClientOptions = {
|
|
18
|
+
/** gp_sk_test_… | gp_sk_live_… | legacy gp_sk_… — the only required field. */
|
|
17
19
|
apiKey: string;
|
|
18
20
|
/** Overrides the mode→URL default (self-host / staging). Must be https (http only for localhost). */
|
|
19
21
|
baseUrl?: string;
|
|
@@ -26,7 +28,7 @@ export type PeerPayClientOptions = {
|
|
|
26
28
|
};
|
|
27
29
|
export type SellerConfig = {
|
|
28
30
|
id: string;
|
|
29
|
-
mode:
|
|
31
|
+
mode: GenesisPayKeyMode;
|
|
30
32
|
payTo: string | null;
|
|
31
33
|
hasPayTo: boolean;
|
|
32
34
|
network: {
|
|
@@ -50,7 +52,7 @@ export type CheckoutAmountInput = {
|
|
|
50
52
|
*
|
|
51
53
|
* Passing the deprecated `amountUsdc` alongside it is allowed only when
|
|
52
54
|
* both are the same amount; two different values throw
|
|
53
|
-
* `
|
|
55
|
+
* `GenesisPayValidationError` before the request.
|
|
54
56
|
*/
|
|
55
57
|
amount: string;
|
|
56
58
|
/** @deprecated Use `amount` alone. */
|
|
@@ -179,9 +181,9 @@ export interface ResolvingGate {
|
|
|
179
181
|
/** Warm the seller-config cache (and surface auth/wallet errors) before traffic. */
|
|
180
182
|
prime(): Promise<void>;
|
|
181
183
|
}
|
|
182
|
-
export {
|
|
183
|
-
export declare class
|
|
184
|
-
readonly mode:
|
|
184
|
+
export { GenesisPayConfigError, GenesisPayNetworkSafetyError, GenesisPayNotFoundError, GenesisPayRateLimitError, GenesisPayValidationError, type GenesisPayValidationIssue, } from "./errors.js";
|
|
185
|
+
export declare class GenesisPay {
|
|
186
|
+
readonly mode: GenesisPayKeyMode;
|
|
185
187
|
readonly baseUrl: string;
|
|
186
188
|
readonly checkout: {
|
|
187
189
|
create(input: CheckoutCreateInput): Promise<CheckoutLink>;
|
|
@@ -200,6 +202,10 @@ export declare class PeerPay {
|
|
|
200
202
|
};
|
|
201
203
|
/** Subscription plans and their hosted `checkoutUrl` — see ./plans.ts. */
|
|
202
204
|
readonly plans: PlansResource;
|
|
205
|
+
/** The merchant's catalogue and its canonical payment links — see ./products.ts. */
|
|
206
|
+
readonly products: ProductsResource;
|
|
207
|
+
/** Seller-scoped redirect-entitlement verification. */
|
|
208
|
+
readonly entitlements: EntitlementsResource;
|
|
203
209
|
/** Reusable billing contacts for one-off invoices. */
|
|
204
210
|
readonly customers: CustomersResource;
|
|
205
211
|
/** Draft, finalize, deliver, and collect one-off invoices. */
|
|
@@ -219,7 +225,7 @@ export declare class PeerPay {
|
|
|
219
225
|
* and verification needs the endpoint secret rather than the API key.
|
|
220
226
|
*/
|
|
221
227
|
readonly webhooks: {
|
|
222
|
-
constructEvent(rawBody: string | Uint8Array, signatureHeader: string, secret: string, opts?: ConstructEventOptions): Promise<
|
|
228
|
+
constructEvent(rawBody: string | Uint8Array, signatureHeader: string, secret: string, opts?: ConstructEventOptions): Promise<GenesisPayEvent>;
|
|
223
229
|
};
|
|
224
230
|
private readonly apiKey;
|
|
225
231
|
private readonly fetchFn;
|
|
@@ -233,7 +239,9 @@ export declare class PeerPay {
|
|
|
233
239
|
* the key, the base URL or `fetch` into them.
|
|
234
240
|
*/
|
|
235
241
|
private readonly request;
|
|
236
|
-
constructor(options:
|
|
242
|
+
constructor(options: GenesisPayClientOptions);
|
|
243
|
+
/** Raw on purpose: product-gate negotiation must preserve 402 protocol headers. */
|
|
244
|
+
private performProductGateRequest;
|
|
237
245
|
/**
|
|
238
246
|
* Resolve (and cache) the seller config from the key. Single-flight so a
|
|
239
247
|
* cold-start burst shares one request; failures are never cached (the memo is
|
|
@@ -266,7 +274,7 @@ export declare class PeerPay {
|
|
|
266
274
|
private createCheckout;
|
|
267
275
|
/**
|
|
268
276
|
* Fetch the current state of a checkout link. `paid` is the field to poll on;
|
|
269
|
-
* an unknown publicId raises `
|
|
277
|
+
* an unknown publicId raises `GenesisPayNotFoundError`, never a config error.
|
|
270
278
|
*/
|
|
271
279
|
private retrieveCheckout;
|
|
272
280
|
/** Test-mode only — see the doc on `checkout.simulatePayment`. */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAaxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GenesisPayConfigError, GenesisPayNetworkSafetyError, GenesisPayValidationError, throwForErrorResponse, } from "./errors.js";
|
|
2
2
|
import { createMandatesResource } from "./mandates.js";
|
|
3
3
|
import { createCustomersResource } from "./customers.js";
|
|
4
4
|
import { createInvoicesResource } from "./invoices.js";
|
|
5
5
|
import { createPaymentGate } from "./payment-gate.js";
|
|
6
|
-
import { DEFAULT_FACILITATOR_BASE_URL,
|
|
6
|
+
import { DEFAULT_FACILITATOR_BASE_URL, genesisPaySettlement } from "./genesispay-settlement.js";
|
|
7
7
|
import { createPlansResource } from "./plans.js";
|
|
8
|
+
import { createProductsResource } from "./products.js";
|
|
9
|
+
import { createEntitlementsResource } from "./entitlements.js";
|
|
8
10
|
import { resolvePaymentGateNetwork } from "./networks.js";
|
|
9
11
|
import { parseUsdcAmountToMinorUnits } from "./usdc-amount.js";
|
|
10
12
|
import { asRecord, oneOf, optionalMetadata, optionalString, requiredString, toCount, } from "./resource.js";
|
|
@@ -12,14 +14,20 @@ import { constructEvent } from "./webhooks.js";
|
|
|
12
14
|
// The error classes live in ./errors.js (shared with every future resource:
|
|
13
15
|
// plans, mandates, …) and are re-exported here so existing imports from
|
|
14
16
|
// "./client.js" keep working.
|
|
15
|
-
export {
|
|
17
|
+
export { GenesisPayConfigError, GenesisPayNetworkSafetyError, GenesisPayNotFoundError, GenesisPayRateLimitError, GenesisPayValidationError, } from "./errors.js";
|
|
16
18
|
/**
|
|
17
|
-
* Production GenesisPay facilitator
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* Production GenesisPay facilitator. Hardcoded so a live key always resolves to
|
|
20
|
+
* our facilitator with zero config, mirroring the test default.
|
|
21
|
+
*
|
|
22
|
+
* This is the custom domain, deliberately, not the Railway-generated hostname.
|
|
23
|
+
* The generated form is derived from the service name, so it breaks the moment
|
|
24
|
+
* the service is renamed — and `peerpay-app-production.up.railway.app`, which
|
|
25
|
+
* this used to point at, never existed at all: production has exactly one
|
|
26
|
+
* domain, `genesispay.finance`. Every zero-config live key resolved to a dead
|
|
27
|
+
* host until this line was fixed. Point it at a domain we own, not at one
|
|
28
|
+
* Railway generates for us.
|
|
21
29
|
*/
|
|
22
|
-
const PRODUCTION_FACILITATOR_BASE_URL = "https://
|
|
30
|
+
const PRODUCTION_FACILITATOR_BASE_URL = "https://genesispay.finance";
|
|
23
31
|
// Both facilitator URLs are hardcoded so the key mode alone routes to the right
|
|
24
32
|
// GenesisPay facilitator; an explicit `baseUrl` still overrides for self-host/staging.
|
|
25
33
|
const MODE_BASE_URLS = {
|
|
@@ -32,7 +40,7 @@ const MODE_BASE_URLS = {
|
|
|
32
40
|
* able to leave the caller without the one fact that matters: the endpoint is
|
|
33
41
|
* gated on the *key mode*, and a live key can never mint a payment.
|
|
34
42
|
*/
|
|
35
|
-
const SIMULATE_PAYMENT_LIVE_KEY_HINT = "simulate-payment only works with a test-mode key (
|
|
43
|
+
const SIMULATE_PAYMENT_LIVE_KEY_HINT = "simulate-payment only works with a test-mode key (gp_sk_test_…); this client " +
|
|
36
44
|
"is using a live key, and live keys can only record real, on-chain payments.";
|
|
37
45
|
/** Which networks each key mode may legitimately resolve to (fail-closed guard). */
|
|
38
46
|
const MODE_NETWORKS = {
|
|
@@ -40,18 +48,18 @@ const MODE_NETWORKS = {
|
|
|
40
48
|
live: ["base"],
|
|
41
49
|
};
|
|
42
50
|
function parseKeyMode(apiKey) {
|
|
43
|
-
if (apiKey.startsWith("
|
|
51
|
+
if (apiKey.startsWith("gp_sk_live_"))
|
|
44
52
|
return "live";
|
|
45
|
-
if (apiKey.startsWith("
|
|
46
|
-
return "test"; //
|
|
47
|
-
throw new
|
|
53
|
+
if (apiKey.startsWith("gp_sk_"))
|
|
54
|
+
return "test"; // gp_sk_test_… and legacy gp_sk_<32>
|
|
55
|
+
throw new GenesisPayConfigError("apiKey must be a GenesisPay seller key (gp_sk_test_… or gp_sk_live_…).");
|
|
48
56
|
}
|
|
49
57
|
function normalizeBaseUrl(url) {
|
|
50
58
|
const trimmed = url.trim().replace(/\/+$/, "");
|
|
51
59
|
const isHttps = /^https:\/\//i.test(trimmed);
|
|
52
60
|
const isLocalHttp = /^http:\/\/(localhost|127\.0\.0\.1)(:\d+)?(\/|$)/i.test(trimmed);
|
|
53
61
|
if (!isHttps && !isLocalHttp) {
|
|
54
|
-
throw new
|
|
62
|
+
throw new GenesisPayConfigError(`baseUrl must be https (got "${trimmed}").`);
|
|
55
63
|
}
|
|
56
64
|
return trimmed;
|
|
57
65
|
}
|
|
@@ -183,10 +191,10 @@ function amountsDisagree(a, b) {
|
|
|
183
191
|
function resolveCheckoutAmount(input) {
|
|
184
192
|
const { amount, amountUsdc } = input;
|
|
185
193
|
if (amount === undefined && amountUsdc === undefined) {
|
|
186
|
-
throw new
|
|
194
|
+
throw new GenesisPayValidationError('checkout.create requires `amount` — a decimal string in the link\'s asset, e.g. "5.00".', [{ path: "amount", message: "amount is required." }]);
|
|
187
195
|
}
|
|
188
196
|
if (amount !== undefined && amountUsdc !== undefined && amountsDisagree(amount, amountUsdc)) {
|
|
189
|
-
throw new
|
|
197
|
+
throw new GenesisPayValidationError(`checkout.create got amount "${amount}" and the deprecated amountUsdc "${amountUsdc}", ` +
|
|
190
198
|
"which are different amounts. Set `amount` on its own.", [{ path: "amount", message: "amount and amountUsdc disagree." }]);
|
|
191
199
|
}
|
|
192
200
|
return (amount ?? amountUsdc);
|
|
@@ -203,12 +211,16 @@ function paymentUnavailableResponse(error) {
|
|
|
203
211
|
message: `Payment is temporarily unavailable: ${describeError(error)}`,
|
|
204
212
|
}, { status: 503 });
|
|
205
213
|
}
|
|
206
|
-
export class
|
|
214
|
+
export class GenesisPay {
|
|
207
215
|
mode;
|
|
208
216
|
baseUrl;
|
|
209
217
|
checkout;
|
|
210
218
|
/** Subscription plans and their hosted `checkoutUrl` — see ./plans.ts. */
|
|
211
219
|
plans;
|
|
220
|
+
/** The merchant's catalogue and its canonical payment links — see ./products.ts. */
|
|
221
|
+
products;
|
|
222
|
+
/** Seller-scoped redirect-entitlement verification. */
|
|
223
|
+
entitlements;
|
|
212
224
|
/** Reusable billing contacts for one-off invoices. */
|
|
213
225
|
customers;
|
|
214
226
|
/** Draft, finalize, deliver, and collect one-off invoices. */
|
|
@@ -243,13 +255,13 @@ export class PeerPay {
|
|
|
243
255
|
constructor(options) {
|
|
244
256
|
const apiKey = options.apiKey?.trim();
|
|
245
257
|
if (!apiKey) {
|
|
246
|
-
throw new
|
|
258
|
+
throw new GenesisPayConfigError("apiKey (gp_sk_test_… / gp_sk_live_…) is required.");
|
|
247
259
|
}
|
|
248
260
|
this.apiKey = apiKey;
|
|
249
261
|
this.mode = parseKeyMode(apiKey);
|
|
250
262
|
const chosen = options.baseUrl?.trim() || MODE_BASE_URLS[this.mode];
|
|
251
263
|
if (!chosen) {
|
|
252
|
-
throw new
|
|
264
|
+
throw new GenesisPayConfigError(`GenesisPay ${this.mode} base URL is not configured yet; pass baseUrl explicitly.`);
|
|
253
265
|
}
|
|
254
266
|
this.baseUrl = normalizeBaseUrl(chosen);
|
|
255
267
|
this.fetchFn = options.fetchFn ?? fetch;
|
|
@@ -263,6 +275,10 @@ export class PeerPay {
|
|
|
263
275
|
// Both resources get the same bound request seam, so their errors go
|
|
264
276
|
// through the one shared mapper in ./errors.ts like checkout's do.
|
|
265
277
|
this.plans = createPlansResource(this.request, (wallet, what) => this.assertPinnedDestination(wallet, what));
|
|
278
|
+
// Shares the client's own link mapper so the minted link's shape cannot
|
|
279
|
+
// drift from `checkout.create`'s.
|
|
280
|
+
this.products = createProductsResource(this.request, (wallet, what) => this.assertPinnedDestination(wallet, what), (raw) => toCheckoutLink(raw), (publicId, body) => this.performProductGateRequest(publicId, body));
|
|
281
|
+
this.entitlements = createEntitlementsResource(this.request);
|
|
266
282
|
this.mandates = createMandatesResource(this.request);
|
|
267
283
|
this.customers = createCustomersResource(this.request);
|
|
268
284
|
this.invoices = createInvoicesResource(this.request);
|
|
@@ -272,6 +288,19 @@ export class PeerPay {
|
|
|
272
288
|
constructEvent: (rawBody, signatureHeader, secret, opts) => constructEvent(rawBody, signatureHeader, secret, opts),
|
|
273
289
|
};
|
|
274
290
|
}
|
|
291
|
+
/** Raw on purpose: product-gate negotiation must preserve 402 protocol headers. */
|
|
292
|
+
async performProductGateRequest(publicId, body) {
|
|
293
|
+
return this.fetchFn(`${this.baseUrl}/api/v1/products/${encodeURIComponent(publicId)}/x402`, {
|
|
294
|
+
method: "POST",
|
|
295
|
+
headers: {
|
|
296
|
+
authorization: `Bearer ${this.apiKey}`,
|
|
297
|
+
"content-type": "application/json",
|
|
298
|
+
accept: "application/json",
|
|
299
|
+
},
|
|
300
|
+
body: JSON.stringify(body),
|
|
301
|
+
cache: "no-store",
|
|
302
|
+
});
|
|
303
|
+
}
|
|
275
304
|
/**
|
|
276
305
|
* Resolve (and cache) the seller config from the key. Single-flight so a
|
|
277
306
|
* cold-start burst shares one request; failures are never cached (the memo is
|
|
@@ -296,7 +325,7 @@ export class PeerPay {
|
|
|
296
325
|
}
|
|
297
326
|
gate(config) {
|
|
298
327
|
const innerGates = new Map();
|
|
299
|
-
const defaultSettle =
|
|
328
|
+
const defaultSettle = genesisPaySettlement({
|
|
300
329
|
facilitatorBaseUrl: this.baseUrl,
|
|
301
330
|
apiKey: this.apiKey,
|
|
302
331
|
fetchFn: this.fetchFn,
|
|
@@ -352,10 +381,10 @@ export class PeerPay {
|
|
|
352
381
|
});
|
|
353
382
|
}
|
|
354
383
|
catch (error) {
|
|
355
|
-
throw new
|
|
384
|
+
throw new GenesisPayConfigError(`Failed to reach GenesisPay to resolve the seller: ${describeError(error)}`);
|
|
356
385
|
}
|
|
357
386
|
if (!response.ok) {
|
|
358
|
-
// 401/403/500 land on
|
|
387
|
+
// 401/403/500 land on GenesisPayConfigError with the key/base-URL hint; a
|
|
359
388
|
// 429 on the seller lookup is a rate limit like any other, not a broken key.
|
|
360
389
|
await throwForErrorResponse(response, {
|
|
361
390
|
operation: "GET /api/v1/seller",
|
|
@@ -373,24 +402,24 @@ export class PeerPay {
|
|
|
373
402
|
// system they always do (both come from the deployment network at creation);
|
|
374
403
|
// a disagreement means key/DB corruption or a spoofed response — fail closed.
|
|
375
404
|
if (config.mode !== this.mode) {
|
|
376
|
-
throw new
|
|
405
|
+
throw new GenesisPayNetworkSafetyError(`Key mode "${this.mode}" does not match the server-resolved mode "${config.mode}".`);
|
|
377
406
|
}
|
|
378
407
|
// (2) Mode↔network: a live key must never resolve to a testnet, and vice
|
|
379
408
|
// versa. Checked before the asset table so an unknown/foreign network name
|
|
380
409
|
// surfaces as a typed safety error instead of a generic lookup throw.
|
|
381
410
|
if (!MODE_NETWORKS[this.mode].includes(net.networkName)) {
|
|
382
|
-
throw new
|
|
411
|
+
throw new GenesisPayNetworkSafetyError(`A ${this.mode} key must not resolve to network "${net.networkName}".`);
|
|
383
412
|
}
|
|
384
413
|
// (3) Asset integrity: the backend-reported USDC/chainId must match the
|
|
385
414
|
// SDK's own native-USDC table for that (now-known) network.
|
|
386
415
|
const known = resolvePaymentGateNetwork(net.networkName);
|
|
387
416
|
if (known.chainId !== net.chainId ||
|
|
388
417
|
known.usdcAddress.toLowerCase() !== String(net.usdcAddress).toLowerCase()) {
|
|
389
|
-
throw new
|
|
418
|
+
throw new GenesisPayNetworkSafetyError(`Backend network is inconsistent for "${net.networkName}" (chainId ${net.chainId}, usdc ${net.usdcAddress}).`);
|
|
390
419
|
}
|
|
391
420
|
// (4) Optional local pin on the payout wallet.
|
|
392
421
|
if (this.expectedPayTo && config.payTo && config.payTo.toLowerCase() !== this.expectedPayTo) {
|
|
393
|
-
throw new
|
|
422
|
+
throw new GenesisPayNetworkSafetyError(`Resolved payTo does not match expectedPayTo.`);
|
|
394
423
|
}
|
|
395
424
|
}
|
|
396
425
|
/**
|
|
@@ -406,10 +435,15 @@ export class PeerPay {
|
|
|
406
435
|
assertPinnedDestination(wallet, what) {
|
|
407
436
|
if (!this.expectedPayTo)
|
|
408
437
|
return;
|
|
409
|
-
if (typeof wallet !== "string" || !wallet)
|
|
410
|
-
|
|
438
|
+
if (typeof wallet !== "string" || !wallet) {
|
|
439
|
+
// Fail CLOSED. A response that omits the destination is exactly the
|
|
440
|
+
// response the pin cannot vouch for — an intermediary that strips the
|
|
441
|
+
// field must not read as "matches". Silently returning here made the
|
|
442
|
+
// guarantee bypassable by omission.
|
|
443
|
+
throw new GenesisPayNetworkSafetyError(`The ${what} response carried no destinationWallet to check against expectedPayTo.`);
|
|
444
|
+
}
|
|
411
445
|
if (wallet.toLowerCase() !== this.expectedPayTo) {
|
|
412
|
-
throw new
|
|
446
|
+
throw new GenesisPayNetworkSafetyError(`The ${what} was created with a destinationWallet that does not match expectedPayTo.`);
|
|
413
447
|
}
|
|
414
448
|
}
|
|
415
449
|
/**
|
|
@@ -433,11 +467,11 @@ export class PeerPay {
|
|
|
433
467
|
});
|
|
434
468
|
}
|
|
435
469
|
catch (error) {
|
|
436
|
-
throw new
|
|
470
|
+
throw new GenesisPayConfigError(`Failed to reach GenesisPay to ${options.action}: ${describeError(error)}`);
|
|
437
471
|
}
|
|
438
472
|
if (!response.ok) {
|
|
439
|
-
// Shared mapping: 422 →
|
|
440
|
-
// 429 →
|
|
473
|
+
// Shared mapping: 422 → GenesisPayValidationError (with the field issues),
|
|
474
|
+
// 429 → GenesisPayRateLimitError (with Retry-After), 404 → NotFound, rest → Config.
|
|
441
475
|
await throwForErrorResponse(response, {
|
|
442
476
|
operation: options.operation,
|
|
443
477
|
notFoundMessage: options.notFoundMessage,
|
|
@@ -474,19 +508,19 @@ export class PeerPay {
|
|
|
474
508
|
});
|
|
475
509
|
const link = asRecord(body)?.link;
|
|
476
510
|
if (!link || typeof link.payUrl !== "string" || !link.payUrl) {
|
|
477
|
-
throw new
|
|
511
|
+
throw new GenesisPayConfigError(`GenesisPay link created but no payUrl in response: ${JSON.stringify(body)}`);
|
|
478
512
|
}
|
|
479
513
|
this.assertPinnedDestination(link.destinationWallet, "checkout link");
|
|
480
514
|
return toCheckoutLink(link);
|
|
481
515
|
}
|
|
482
516
|
/**
|
|
483
517
|
* Fetch the current state of a checkout link. `paid` is the field to poll on;
|
|
484
|
-
* an unknown publicId raises `
|
|
518
|
+
* an unknown publicId raises `GenesisPayNotFoundError`, never a config error.
|
|
485
519
|
*/
|
|
486
520
|
async retrieveCheckout(publicId) {
|
|
487
521
|
const id = publicId?.trim();
|
|
488
522
|
if (!id) {
|
|
489
|
-
throw new
|
|
523
|
+
throw new GenesisPayConfigError("checkout.retrieve(publicId) requires the publicId returned by checkout.create().");
|
|
490
524
|
}
|
|
491
525
|
const body = await this.request({
|
|
492
526
|
path: `/api/v1/links/${encodeURIComponent(id)}`,
|
|
@@ -496,7 +530,7 @@ export class PeerPay {
|
|
|
496
530
|
});
|
|
497
531
|
const link = asRecord(body)?.link;
|
|
498
532
|
if (!link || typeof link.publicId !== "string" || !link.publicId) {
|
|
499
|
-
throw new
|
|
533
|
+
throw new GenesisPayConfigError(`GenesisPay returned no link for publicId "${id}": ${JSON.stringify(body)}`);
|
|
500
534
|
}
|
|
501
535
|
return toCheckoutSession(link);
|
|
502
536
|
}
|
|
@@ -504,7 +538,7 @@ export class PeerPay {
|
|
|
504
538
|
async simulateCheckoutPayment(publicId, opts) {
|
|
505
539
|
const id = publicId?.trim();
|
|
506
540
|
if (!id) {
|
|
507
|
-
throw new
|
|
541
|
+
throw new GenesisPayConfigError("checkout.simulatePayment(publicId) requires the publicId returned by checkout.create().");
|
|
508
542
|
}
|
|
509
543
|
const body = await this.request({
|
|
510
544
|
method: "POST",
|
|
@@ -525,7 +559,7 @@ export class PeerPay {
|
|
|
525
559
|
const record = asRecord(body);
|
|
526
560
|
const link = record?.link;
|
|
527
561
|
if (!link || typeof link.publicId !== "string" || !link.publicId) {
|
|
528
|
-
throw new
|
|
562
|
+
throw new GenesisPayConfigError(`GenesisPay simulated a payment on "${id}" but returned no link: ${JSON.stringify(body)}`);
|
|
529
563
|
}
|
|
530
564
|
// The attempt is not an optional detail here the way an unknown field would
|
|
531
565
|
// be: without it the merged session would report `paid: false` right after
|
|
@@ -533,7 +567,7 @@ export class PeerPay {
|
|
|
533
567
|
// older backend — the endpoint and the field shipped together.
|
|
534
568
|
const [attempt] = toCheckoutAttempts([record?.attempt]);
|
|
535
569
|
if (!attempt) {
|
|
536
|
-
throw new
|
|
570
|
+
throw new GenesisPayConfigError(`GenesisPay simulated a payment on "${id}" but returned no attempt: ${JSON.stringify(body)}`);
|
|
537
571
|
}
|
|
538
572
|
return toSimulatedCheckoutSession(link, attempt);
|
|
539
573
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/customers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type GenesisPayRequest } from "./resource.js";
|
|
2
2
|
export type Customer = {
|
|
3
3
|
id: string;
|
|
4
4
|
publicId: string;
|
|
@@ -36,6 +36,6 @@ export interface CustomersResource {
|
|
|
36
36
|
update(publicId: string, input: CustomerUpdateInput): Promise<Customer>;
|
|
37
37
|
archive(publicId: string): Promise<Customer>;
|
|
38
38
|
}
|
|
39
|
-
export declare function createCustomersResource(request:
|
|
39
|
+
export declare function createCustomersResource(request: GenesisPayRequest): CustomersResource;
|
|
40
40
|
export declare function toCustomer(raw: Record<string, unknown>): Customer;
|
|
41
41
|
//# sourceMappingURL=customers.d.ts.map
|
package/dist/customers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../src/customers.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,
|
|
1
|
+
{"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../src/customers.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9C;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CAoDrF;AAmCD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAkBjE"}
|
package/dist/customers.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// `
|
|
2
|
-
import {
|
|
1
|
+
// `genesispay.customers.*` — reusable billing contacts over `/api/v1/customers`.
|
|
2
|
+
import { GenesisPayConfigError } from "./errors.js";
|
|
3
3
|
import { asRecord, optionalMetadata, optionalString, requiredString, } from "./resource.js";
|
|
4
4
|
export function createCustomersResource(request) {
|
|
5
5
|
return {
|
|
@@ -12,7 +12,7 @@ export function createCustomersResource(request) {
|
|
|
12
12
|
});
|
|
13
13
|
const rows = asRecord(body)?.customers;
|
|
14
14
|
if (!Array.isArray(rows)) {
|
|
15
|
-
throw new
|
|
15
|
+
throw new GenesisPayConfigError(`GenesisPay GET /api/v1/customers returned no customers array: ${JSON.stringify(body)}`);
|
|
16
16
|
}
|
|
17
17
|
return rows
|
|
18
18
|
.map(asRecord)
|
|
@@ -43,14 +43,14 @@ async function customerRequest(request, method, path, body, action) {
|
|
|
43
43
|
});
|
|
44
44
|
const raw = asRecord(asRecord(response)?.customer);
|
|
45
45
|
if (!raw?.publicId) {
|
|
46
|
-
throw new
|
|
46
|
+
throw new GenesisPayConfigError(`GenesisPay ${method} ${path} returned no customer: ${JSON.stringify(response)}`);
|
|
47
47
|
}
|
|
48
48
|
return toCustomer(raw);
|
|
49
49
|
}
|
|
50
50
|
function requirePublicId(publicId, method) {
|
|
51
51
|
const id = publicId?.trim();
|
|
52
52
|
if (!id) {
|
|
53
|
-
throw new
|
|
53
|
+
throw new GenesisPayConfigError(`${method}(publicId) requires the publicId returned by customers.create().`);
|
|
54
54
|
}
|
|
55
55
|
return id;
|
|
56
56
|
}
|
package/dist/customers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customers.js","sourceRoot":"","sources":["../src/customers.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"customers.js","sourceRoot":"","sources":["../src/customers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type GenesisPayRequest } from "./resource.js";
|
|
2
|
+
export type VerifiedEntitlement = {
|
|
3
|
+
valid: boolean;
|
|
4
|
+
entitlement: {
|
|
5
|
+
publicId: string;
|
|
6
|
+
productId: string;
|
|
7
|
+
sku: string | null;
|
|
8
|
+
paymentAttemptId: string;
|
|
9
|
+
simulated: boolean;
|
|
10
|
+
expiresAt: string;
|
|
11
|
+
redemptionCount: number;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export interface EntitlementsResource {
|
|
15
|
+
/** Seller-scoped hard check for a redirect entitlement. */
|
|
16
|
+
verify(entitlementId: string): Promise<VerifiedEntitlement>;
|
|
17
|
+
}
|
|
18
|
+
export declare function createEntitlementsResource(request: GenesisPayRequest): EntitlementsResource;
|
|
19
|
+
//# sourceMappingURL=entitlements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../src/entitlements.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEjG,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,CAuB3F"}
|