@genesis-tech/genesispay-seller 0.13.2 → 1.5.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 +227 -0
- package/README.md +719 -91
- package/dist/checkout-documents.d.ts +105 -0
- package/dist/checkout-documents.d.ts.map +1 -0
- package/dist/checkout-documents.js +171 -0
- package/dist/checkout-documents.js.map +1 -0
- package/dist/checkout-return.d.ts +5 -5
- package/dist/checkout-return.d.ts.map +1 -1
- package/dist/checkout-return.js +3 -2
- package/dist/checkout-return.js.map +1 -1
- package/dist/client.d.ts +57 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +100 -10
- package/dist/client.js.map +1 -1
- package/dist/contract-mandates.d.ts +39 -0
- package/dist/contract-mandates.d.ts.map +1 -0
- package/dist/contract-mandates.js +98 -0
- package/dist/contract-mandates.js.map +1 -0
- package/dist/contract-usage.d.ts +29 -0
- package/dist/contract-usage.d.ts.map +1 -0
- package/dist/contract-usage.js +92 -0
- package/dist/contract-usage.js.map +1 -0
- package/dist/errors.d.ts +71 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +124 -13
- package/dist/errors.js.map +1 -1
- package/dist/fulfillment-attempts.d.ts +29 -0
- package/dist/fulfillment-attempts.d.ts.map +1 -0
- package/dist/fulfillment-attempts.js +71 -0
- package/dist/fulfillment-attempts.js.map +1 -0
- package/dist/fulfillment.d.ts +152 -0
- package/dist/fulfillment.d.ts.map +1 -0
- package/dist/fulfillment.js +810 -0
- package/dist/fulfillment.js.map +1 -0
- package/dist/genesispay-settlement.d.ts +4 -2
- package/dist/genesispay-settlement.d.ts.map +1 -1
- package/dist/genesispay-settlement.js +412 -15
- package/dist/genesispay-settlement.js.map +1 -1
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/invoices.d.ts +31 -0
- package/dist/invoices.d.ts.map +1 -1
- package/dist/invoices.js +61 -2
- package/dist/invoices.js.map +1 -1
- package/dist/item-tax.d.ts +25 -0
- package/dist/item-tax.d.ts.map +1 -0
- package/dist/item-tax.js +43 -0
- package/dist/item-tax.js.map +1 -0
- package/dist/mandate-gate.d.ts +6 -1
- package/dist/mandate-gate.d.ts.map +1 -1
- package/dist/mandate-gate.js +81 -7
- package/dist/mandate-gate.js.map +1 -1
- package/dist/mandates.d.ts +21 -4
- package/dist/mandates.d.ts.map +1 -1
- package/dist/mandates.js +24 -3
- package/dist/mandates.js.map +1 -1
- package/dist/networks.d.ts.map +1 -1
- package/dist/networks.js +5 -4
- package/dist/networks.js.map +1 -1
- package/dist/payment-gate.d.ts +32 -1
- package/dist/payment-gate.d.ts.map +1 -1
- package/dist/payment-gate.js +275 -11
- package/dist/payment-gate.js.map +1 -1
- package/dist/products.d.ts +40 -16
- package/dist/products.d.ts.map +1 -1
- package/dist/products.js +1078 -56
- package/dist/products.js.map +1 -1
- package/dist/strict-response.d.ts +21 -0
- package/dist/strict-response.d.ts.map +1 -0
- package/dist/strict-response.js +68 -0
- package/dist/strict-response.js.map +1 -0
- package/dist/webhooks.d.ts +77 -2
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +20 -0
- package/dist/webhooks.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-usage.js","sourceRoot":"","sources":["../src/contract-usage.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
|
+
/** Correlation metadata carried by versioned GenesisPay API responses. */
|
|
2
|
+
export type GenesisPayResponseMetadata = {
|
|
3
|
+
requestId?: string | null;
|
|
4
|
+
apiVersion?: string | null;
|
|
5
|
+
};
|
|
1
6
|
/** Missing/invalid key, unresolvable prod URL, or unreachable backend. */
|
|
2
7
|
export declare class GenesisPayConfigError extends Error {
|
|
3
|
-
|
|
8
|
+
readonly requestId: string | null;
|
|
9
|
+
readonly apiVersion: string | null;
|
|
10
|
+
constructor(message: string, metadata?: GenesisPayResponseMetadata);
|
|
11
|
+
}
|
|
12
|
+
export type GenesisPayMandateChargeLocator = {
|
|
13
|
+
id: string;
|
|
14
|
+
status: "pending" | "submitted" | "settled" | "failed";
|
|
15
|
+
amountMinor: string;
|
|
16
|
+
txHash: string | null;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* A mandate pull has durable broadcast authority but no definitive receipt yet.
|
|
20
|
+
* Reuse the original Idempotency-Key; never create a replacement charge.
|
|
21
|
+
*/
|
|
22
|
+
export declare class GenesisPayMandateChargePendingError extends Error {
|
|
23
|
+
readonly status: 503;
|
|
24
|
+
readonly code: "charge_submitted_awaiting_confirmation";
|
|
25
|
+
readonly charge: GenesisPayMandateChargeLocator;
|
|
26
|
+
readonly requestId: string | null;
|
|
27
|
+
readonly apiVersion: string | null;
|
|
28
|
+
constructor(message: string, charge: GenesisPayMandateChargeLocator, metadata?: GenesisPayResponseMetadata);
|
|
4
29
|
}
|
|
5
30
|
/**
|
|
6
31
|
* The requested resource does not exist (HTTP 404). Kept separate from
|
|
@@ -9,11 +34,15 @@ export declare class GenesisPayConfigError extends Error {
|
|
|
9
34
|
* "the key is broken / the backend is unreachable".
|
|
10
35
|
*/
|
|
11
36
|
export declare class GenesisPayNotFoundError extends Error {
|
|
12
|
-
|
|
37
|
+
readonly requestId: string | null;
|
|
38
|
+
readonly apiVersion: string | null;
|
|
39
|
+
constructor(message: string, metadata?: GenesisPayResponseMetadata);
|
|
13
40
|
}
|
|
14
41
|
/** Asset-integrity, mode↔network, or expectedPayTo-pin mismatch — a money-safety stop. */
|
|
15
42
|
export declare class GenesisPayNetworkSafetyError extends Error {
|
|
16
|
-
|
|
43
|
+
readonly requestId: string | null;
|
|
44
|
+
readonly apiVersion: string | null;
|
|
45
|
+
constructor(message: string, metadata?: GenesisPayResponseMetadata);
|
|
17
46
|
}
|
|
18
47
|
/** One rejected field, as the API reports it. `path` is dot-joined ("metadata.orderId"). */
|
|
19
48
|
export type GenesisPayValidationIssue = {
|
|
@@ -30,7 +59,9 @@ export type GenesisPayValidationIssue = {
|
|
|
30
59
|
*/
|
|
31
60
|
export declare class GenesisPayValidationError extends Error {
|
|
32
61
|
readonly issues: GenesisPayValidationIssue[];
|
|
33
|
-
|
|
62
|
+
readonly requestId: string | null;
|
|
63
|
+
readonly apiVersion: string | null;
|
|
64
|
+
constructor(message: string, issues?: GenesisPayValidationIssue[], metadata?: GenesisPayResponseMetadata);
|
|
34
65
|
}
|
|
35
66
|
/**
|
|
36
67
|
* The API key exceeded its rate limit (HTTP 429).
|
|
@@ -42,7 +73,40 @@ export declare class GenesisPayValidationError extends Error {
|
|
|
42
73
|
*/
|
|
43
74
|
export declare class GenesisPayRateLimitError extends Error {
|
|
44
75
|
readonly retryAfterSeconds: number | null;
|
|
45
|
-
|
|
76
|
+
readonly requestId: string | null;
|
|
77
|
+
readonly apiVersion: string | null;
|
|
78
|
+
constructor(message: string, retryAfterSeconds: number | null, metadata?: GenesisPayResponseMetadata);
|
|
79
|
+
}
|
|
80
|
+
/** Expected immutable contract and server evidence disagreed. Never fulfil. */
|
|
81
|
+
export declare class GenesisPayContractMismatchError extends Error {
|
|
82
|
+
readonly code: "contract_mismatch";
|
|
83
|
+
readonly requestId: string | null;
|
|
84
|
+
readonly apiVersion: string | null;
|
|
85
|
+
readonly mismatches: readonly string[];
|
|
86
|
+
constructor(message: string, mismatches: readonly string[], metadata?: GenesisPayResponseMetadata);
|
|
87
|
+
}
|
|
88
|
+
/** More than one authority locator was supplied or resolved to one request. */
|
|
89
|
+
export declare class GenesisPayAmbiguousLocatorError extends Error {
|
|
90
|
+
readonly code: "ambiguous_locator";
|
|
91
|
+
readonly requestId: string | null;
|
|
92
|
+
readonly apiVersion: string | null;
|
|
93
|
+
constructor(message: string, metadata?: GenesisPayResponseMetadata);
|
|
94
|
+
}
|
|
95
|
+
export type GenesisPayEvidenceErrorCode = "malformed_evidence" | "inconsistent_evidence" | "historical_evidence_unavailable" | "unsupported_payment_channel";
|
|
96
|
+
/** Missing, malformed, contradictory, or historically unavailable authority evidence. */
|
|
97
|
+
export declare class GenesisPayEvidenceError extends Error {
|
|
98
|
+
readonly code: GenesisPayEvidenceErrorCode;
|
|
99
|
+
readonly requestId: string | null;
|
|
100
|
+
readonly apiVersion: string | null;
|
|
101
|
+
constructor(code: GenesisPayEvidenceErrorCode, message: string, metadata?: GenesisPayResponseMetadata);
|
|
102
|
+
}
|
|
103
|
+
export type GenesisPayVersionErrorCode = "unsupported_api_version" | "unsupported_evidence_version";
|
|
104
|
+
/** The server or evidence uses a protocol version this SDK cannot safely interpret. */
|
|
105
|
+
export declare class GenesisPayVersionError extends Error {
|
|
106
|
+
readonly code: GenesisPayVersionErrorCode;
|
|
107
|
+
readonly requestId: string | null;
|
|
108
|
+
readonly apiVersion: string | null;
|
|
109
|
+
constructor(code: GenesisPayVersionErrorCode, message: string, metadata?: GenesisPayResponseMetadata);
|
|
46
110
|
}
|
|
47
111
|
export type ThrowForErrorResponseOptions = {
|
|
48
112
|
/** Operation label used in messages, e.g. `POST /api/v1/links`. */
|
|
@@ -51,6 +115,8 @@ export type ThrowForErrorResponseOptions = {
|
|
|
51
115
|
notFoundMessage?: string;
|
|
52
116
|
/** Appended to the message — a next step for the caller, not error detail. */
|
|
53
117
|
hint?: string;
|
|
118
|
+
/** Best-effort correlation metadata from a versioned response. */
|
|
119
|
+
metadata?: GenesisPayResponseMetadata;
|
|
54
120
|
};
|
|
55
121
|
/**
|
|
56
122
|
* Maps a non-OK response onto the right error class and throws it.
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AASA,0EAA0E;AAC1E,qBAAa,qBAAsB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -6,11 +6,37 @@
|
|
|
6
6
|
// `throw new GenesisPayConfigError(...)` for a non-OK status is a bug — 422 and
|
|
7
7
|
// 429 carry information (which field is wrong, how long to wait) that a generic
|
|
8
8
|
// config error throws away.
|
|
9
|
+
function responseMetadata(metadata = {}) {
|
|
10
|
+
return {
|
|
11
|
+
requestId: metadata.requestId ?? null,
|
|
12
|
+
apiVersion: metadata.apiVersion ?? null,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
9
15
|
/** Missing/invalid key, unresolvable prod URL, or unreachable backend. */
|
|
10
16
|
export class GenesisPayConfigError extends Error {
|
|
11
|
-
|
|
17
|
+
requestId;
|
|
18
|
+
apiVersion;
|
|
19
|
+
constructor(message, metadata = {}) {
|
|
12
20
|
super(message);
|
|
13
21
|
this.name = "GenesisPayConfigError";
|
|
22
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A mandate pull has durable broadcast authority but no definitive receipt yet.
|
|
27
|
+
* Reuse the original Idempotency-Key; never create a replacement charge.
|
|
28
|
+
*/
|
|
29
|
+
export class GenesisPayMandateChargePendingError extends Error {
|
|
30
|
+
status = 503;
|
|
31
|
+
code = "charge_submitted_awaiting_confirmation";
|
|
32
|
+
charge;
|
|
33
|
+
requestId;
|
|
34
|
+
apiVersion;
|
|
35
|
+
constructor(message, charge, metadata = {}) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.name = "GenesisPayMandateChargePendingError";
|
|
38
|
+
this.charge = charge;
|
|
39
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
14
40
|
}
|
|
15
41
|
}
|
|
16
42
|
/**
|
|
@@ -20,16 +46,22 @@ export class GenesisPayConfigError extends Error {
|
|
|
20
46
|
* "the key is broken / the backend is unreachable".
|
|
21
47
|
*/
|
|
22
48
|
export class GenesisPayNotFoundError extends Error {
|
|
23
|
-
|
|
49
|
+
requestId;
|
|
50
|
+
apiVersion;
|
|
51
|
+
constructor(message, metadata = {}) {
|
|
24
52
|
super(message);
|
|
25
53
|
this.name = "GenesisPayNotFoundError";
|
|
54
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
26
55
|
}
|
|
27
56
|
}
|
|
28
57
|
/** Asset-integrity, mode↔network, or expectedPayTo-pin mismatch — a money-safety stop. */
|
|
29
58
|
export class GenesisPayNetworkSafetyError extends Error {
|
|
30
|
-
|
|
59
|
+
requestId;
|
|
60
|
+
apiVersion;
|
|
61
|
+
constructor(message, metadata = {}) {
|
|
31
62
|
super(message);
|
|
32
63
|
this.name = "GenesisPayNetworkSafetyError";
|
|
64
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
33
65
|
}
|
|
34
66
|
}
|
|
35
67
|
/**
|
|
@@ -42,10 +74,13 @@ export class GenesisPayNetworkSafetyError extends Error {
|
|
|
42
74
|
*/
|
|
43
75
|
export class GenesisPayValidationError extends Error {
|
|
44
76
|
issues;
|
|
45
|
-
|
|
77
|
+
requestId;
|
|
78
|
+
apiVersion;
|
|
79
|
+
constructor(message, issues = [], metadata = {}) {
|
|
46
80
|
super(message);
|
|
47
81
|
this.name = "GenesisPayValidationError";
|
|
48
82
|
this.issues = issues;
|
|
83
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
49
84
|
}
|
|
50
85
|
}
|
|
51
86
|
/**
|
|
@@ -58,10 +93,61 @@ export class GenesisPayValidationError extends Error {
|
|
|
58
93
|
*/
|
|
59
94
|
export class GenesisPayRateLimitError extends Error {
|
|
60
95
|
retryAfterSeconds;
|
|
61
|
-
|
|
96
|
+
requestId;
|
|
97
|
+
apiVersion;
|
|
98
|
+
constructor(message, retryAfterSeconds, metadata = {}) {
|
|
62
99
|
super(message);
|
|
63
100
|
this.name = "GenesisPayRateLimitError";
|
|
64
101
|
this.retryAfterSeconds = retryAfterSeconds;
|
|
102
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** Expected immutable contract and server evidence disagreed. Never fulfil. */
|
|
106
|
+
export class GenesisPayContractMismatchError extends Error {
|
|
107
|
+
code = "contract_mismatch";
|
|
108
|
+
requestId;
|
|
109
|
+
apiVersion;
|
|
110
|
+
mismatches;
|
|
111
|
+
constructor(message, mismatches, metadata = {}) {
|
|
112
|
+
super(message);
|
|
113
|
+
this.name = "GenesisPayContractMismatchError";
|
|
114
|
+
this.mismatches = [...mismatches];
|
|
115
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/** More than one authority locator was supplied or resolved to one request. */
|
|
119
|
+
export class GenesisPayAmbiguousLocatorError extends Error {
|
|
120
|
+
code = "ambiguous_locator";
|
|
121
|
+
requestId;
|
|
122
|
+
apiVersion;
|
|
123
|
+
constructor(message, metadata = {}) {
|
|
124
|
+
super(message);
|
|
125
|
+
this.name = "GenesisPayAmbiguousLocatorError";
|
|
126
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/** Missing, malformed, contradictory, or historically unavailable authority evidence. */
|
|
130
|
+
export class GenesisPayEvidenceError extends Error {
|
|
131
|
+
code;
|
|
132
|
+
requestId;
|
|
133
|
+
apiVersion;
|
|
134
|
+
constructor(code, message, metadata = {}) {
|
|
135
|
+
super(message);
|
|
136
|
+
this.name = "GenesisPayEvidenceError";
|
|
137
|
+
this.code = code;
|
|
138
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** The server or evidence uses a protocol version this SDK cannot safely interpret. */
|
|
142
|
+
export class GenesisPayVersionError extends Error {
|
|
143
|
+
code;
|
|
144
|
+
requestId;
|
|
145
|
+
apiVersion;
|
|
146
|
+
constructor(code, message, metadata = {}) {
|
|
147
|
+
super(message);
|
|
148
|
+
this.name = "GenesisPayVersionError";
|
|
149
|
+
this.code = code;
|
|
150
|
+
({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
|
|
65
151
|
}
|
|
66
152
|
}
|
|
67
153
|
/**
|
|
@@ -76,9 +162,13 @@ export async function throwForErrorResponse(response, options) {
|
|
|
76
162
|
const detail = body.message ?? body.text;
|
|
77
163
|
const suffix = detail ? `: ${detail}` : "";
|
|
78
164
|
const hint = options.hint ? ` ${options.hint}` : "";
|
|
165
|
+
const pendingMandateCharge = parsePendingMandateCharge(response.status, body.record);
|
|
166
|
+
if (pendingMandateCharge) {
|
|
167
|
+
throw new GenesisPayMandateChargePendingError(detail || "The mandate charge is awaiting confirmation.", pendingMandateCharge, options.metadata);
|
|
168
|
+
}
|
|
79
169
|
if (response.status === 404) {
|
|
80
170
|
throw new GenesisPayNotFoundError(options.notFoundMessage ??
|
|
81
|
-
`GenesisPay ${options.operation} returned 404 (not found)${suffix}${hint}
|
|
171
|
+
`GenesisPay ${options.operation} returned 404 (not found)${suffix}${hint}`, options.metadata);
|
|
82
172
|
}
|
|
83
173
|
// 422 is a rejected *body*; 400 with `issues[]` is a rejected *query string*
|
|
84
174
|
// (`GET /api/v1/mandates` answers that way). Both mean "your input was wrong,
|
|
@@ -90,28 +180,28 @@ export async function throwForErrorResponse(response, options) {
|
|
|
90
180
|
// account.") stays a GenesisPayConfigError exactly as before, so nothing that was
|
|
91
181
|
// a config error yesterday changes class today.
|
|
92
182
|
if (response.status === 422 || (response.status === 400 && body.issues.length > 0)) {
|
|
93
|
-
throw new GenesisPayValidationError(`GenesisPay ${options.operation} rejected the input (${response.status})${suffix}`, body.issues);
|
|
183
|
+
throw new GenesisPayValidationError(`GenesisPay ${options.operation} rejected the input (${response.status})${suffix}`, body.issues, options.metadata);
|
|
94
184
|
}
|
|
95
185
|
if (response.status === 429) {
|
|
96
186
|
const retryAfterSeconds = parseRetryAfterSeconds(response.headers?.get("retry-after") ?? null);
|
|
97
187
|
const wait = retryAfterSeconds === null ? "" : ` Retry after ${retryAfterSeconds}s.`;
|
|
98
|
-
throw new GenesisPayRateLimitError(`GenesisPay ${options.operation} was rate limited (429)${suffix}${wait}`, retryAfterSeconds);
|
|
188
|
+
throw new GenesisPayRateLimitError(`GenesisPay ${options.operation} was rate limited (429)${suffix}${wait}`, retryAfterSeconds, options.metadata);
|
|
99
189
|
}
|
|
100
|
-
throw new GenesisPayConfigError(`GenesisPay ${options.operation} failed: ${response.status}${suffix}${hint}`.trim());
|
|
190
|
+
throw new GenesisPayConfigError(`GenesisPay ${options.operation} failed: ${response.status}${suffix}${hint}`.trim(), options.metadata);
|
|
101
191
|
}
|
|
102
192
|
async function readErrorBody(response) {
|
|
103
193
|
const text = (await response.text().catch(() => "")).trim();
|
|
104
194
|
if (!text)
|
|
105
|
-
return { text: "", message: null, issues: [] };
|
|
195
|
+
return { text: "", message: null, issues: [], record: null };
|
|
106
196
|
let parsed;
|
|
107
197
|
try {
|
|
108
198
|
parsed = JSON.parse(text);
|
|
109
199
|
}
|
|
110
200
|
catch {
|
|
111
|
-
return { text, message: null, issues: [] };
|
|
201
|
+
return { text, message: null, issues: [], record: null };
|
|
112
202
|
}
|
|
113
203
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
114
|
-
return { text, message: null, issues: [] };
|
|
204
|
+
return { text, message: null, issues: [], record: null };
|
|
115
205
|
}
|
|
116
206
|
const record = parsed;
|
|
117
207
|
const message = typeof record.error === "string" && record.error
|
|
@@ -119,7 +209,28 @@ async function readErrorBody(response) {
|
|
|
119
209
|
: typeof record.message === "string" && record.message
|
|
120
210
|
? record.message
|
|
121
211
|
: null;
|
|
122
|
-
return { text, message, issues: toValidationIssues(record.issues) };
|
|
212
|
+
return { text, message, issues: toValidationIssues(record.issues), record };
|
|
213
|
+
}
|
|
214
|
+
function parsePendingMandateCharge(status, record) {
|
|
215
|
+
if (status !== 503 ||
|
|
216
|
+
record?.code !== "charge_submitted_awaiting_confirmation" ||
|
|
217
|
+
!record.charge ||
|
|
218
|
+
typeof record.charge !== "object" ||
|
|
219
|
+
Array.isArray(record.charge))
|
|
220
|
+
return null;
|
|
221
|
+
const charge = record.charge;
|
|
222
|
+
if (typeof charge.id !== "string" ||
|
|
223
|
+
!charge.id ||
|
|
224
|
+
!["pending", "submitted", "settled", "failed"].includes(typeof charge.status === "string" ? charge.status : "") ||
|
|
225
|
+
typeof charge.amountMinor !== "string" ||
|
|
226
|
+
!(typeof charge.txHash === "string" || charge.txHash === null))
|
|
227
|
+
return null;
|
|
228
|
+
return {
|
|
229
|
+
id: charge.id,
|
|
230
|
+
status: charge.status,
|
|
231
|
+
amountMinor: charge.amountMinor,
|
|
232
|
+
txHash: charge.txHash,
|
|
233
|
+
};
|
|
123
234
|
}
|
|
124
235
|
/** Tolerant: anything that is not a `{path, message}` object is dropped, never thrown on. */
|
|
125
236
|
function toValidationIssues(value) {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,4BAA4B;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ApiVersion } from "./fulfillment.js";
|
|
2
|
+
export type FulfillmentAttemptsQuery = {
|
|
3
|
+
clientReferenceId?: string;
|
|
4
|
+
confirmedAfter?: string;
|
|
5
|
+
confirmedBefore?: string;
|
|
6
|
+
cursor?: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
};
|
|
9
|
+
/** Discovery hint, NOT payment authority. Always call fulfillment.verify. */
|
|
10
|
+
export type FulfillmentAttemptCandidate = {
|
|
11
|
+
attemptId: string;
|
|
12
|
+
linkId: string;
|
|
13
|
+
linkType: "single" | "reusable";
|
|
14
|
+
clientReferenceId: string | null;
|
|
15
|
+
confirmedAt: string;
|
|
16
|
+
authorityVersion: string | null;
|
|
17
|
+
};
|
|
18
|
+
export type FulfillmentAttemptList = {
|
|
19
|
+
data: FulfillmentAttemptCandidate[];
|
|
20
|
+
nextCursor: string | null;
|
|
21
|
+
requestId: string;
|
|
22
|
+
apiVersion: ApiVersion;
|
|
23
|
+
};
|
|
24
|
+
export declare function createFulfillmentAttemptsLister(options: {
|
|
25
|
+
baseUrl: string;
|
|
26
|
+
apiKey: string;
|
|
27
|
+
fetchFn: typeof fetch;
|
|
28
|
+
}): (input?: FulfillmentAttemptsQuery) => Promise<FulfillmentAttemptList>;
|
|
29
|
+
//# sourceMappingURL=fulfillment-attempts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fulfillment-attempts.d.ts","sourceRoot":"","sources":["../src/fulfillment-attempts.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAItG,MAAM,MAAM,wBAAwB,GAAG;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,2BAA2B,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,KAAK,CAAC;CACvB,IACe,QAAO,wBAA6B,KAAG,OAAO,CAAC,sBAAsB,CAAC,CAqDrF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { GenesisPayConfigError, GenesisPayEvidenceError, GenesisPayValidationError, throwForErrorResponse } from "./errors.js";
|
|
2
|
+
import { GENESISPAY_API_VERSION, GENESISPAY_VERSION_HEADER } from "./fulfillment.js";
|
|
3
|
+
import { asRecord } from "./resource.js";
|
|
4
|
+
import { requireStrictResponseMetadata, strictResponseContext } from "./strict-response.js";
|
|
5
|
+
export function createFulfillmentAttemptsLister(options) {
|
|
6
|
+
return async (input = {}) => {
|
|
7
|
+
const params = new URLSearchParams();
|
|
8
|
+
for (const [key, value] of Object.entries(input)) {
|
|
9
|
+
if (value === undefined)
|
|
10
|
+
continue;
|
|
11
|
+
if (key === "limit") {
|
|
12
|
+
if (!Number.isInteger(value) || typeof value !== "number" || value < 1 || value > 100) {
|
|
13
|
+
throw new GenesisPayValidationError("limit must be an integer between 1 and 100.", []);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
else if (!["clientReferenceId", "confirmedAfter", "confirmedBefore", "cursor"].includes(key) ||
|
|
17
|
+
typeof value !== "string" || !value.trim()) {
|
|
18
|
+
throw new GenesisPayValidationError("Invalid fulfillment attempt filter.", []);
|
|
19
|
+
}
|
|
20
|
+
params.set(key, String(value));
|
|
21
|
+
}
|
|
22
|
+
let response;
|
|
23
|
+
try {
|
|
24
|
+
response = await options.fetchFn(`${options.baseUrl}/api/v1/fulfillment/attempts?${params}`, {
|
|
25
|
+
method: "GET",
|
|
26
|
+
headers: { authorization: `Bearer ${options.apiKey}`, accept: "application/json", [GENESISPAY_VERSION_HEADER]: GENESISPAY_API_VERSION },
|
|
27
|
+
cache: "no-store",
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
throw new GenesisPayConfigError("Could not reach GenesisPay to discover fulfillment attempts.");
|
|
32
|
+
}
|
|
33
|
+
if (!response.ok) {
|
|
34
|
+
return throwForErrorResponse(response, { operation: "fulfillment attempt listing", metadata: strictResponseContext(response, null) });
|
|
35
|
+
}
|
|
36
|
+
let body;
|
|
37
|
+
try {
|
|
38
|
+
body = await response.text();
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
throw new GenesisPayConfigError("Could not read GenesisPay fulfillment attempt listing.", strictResponseContext(response, null));
|
|
42
|
+
}
|
|
43
|
+
let raw;
|
|
44
|
+
try {
|
|
45
|
+
raw = JSON.parse(body);
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
throw new GenesisPayEvidenceError("malformed_evidence", "Fulfillment attempt listing is not JSON.", strictResponseContext(response, null));
|
|
49
|
+
}
|
|
50
|
+
const metadata = requireStrictResponseMetadata(response, raw, "fulfillment attempt listing");
|
|
51
|
+
const invalid = () => { throw new GenesisPayEvidenceError("malformed_evidence", "Invalid fulfillment attempt listing.", metadata); };
|
|
52
|
+
const root = asRecord(raw);
|
|
53
|
+
if (root?.object !== "fulfillment_attempt_list" || !Array.isArray(root.data) ||
|
|
54
|
+
!(root.nextCursor === null || (typeof root.nextCursor === "string" && root.nextCursor.length > 0)))
|
|
55
|
+
return invalid();
|
|
56
|
+
const data = root.data.map((value) => {
|
|
57
|
+
const row = asRecord(value);
|
|
58
|
+
if (!row || typeof row.attemptId !== "string" || !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(row.attemptId) ||
|
|
59
|
+
typeof row.linkId !== "string" || !row.linkId ||
|
|
60
|
+
(row.linkType !== "single" && row.linkType !== "reusable") ||
|
|
61
|
+
!(row.clientReferenceId === null || typeof row.clientReferenceId === "string") ||
|
|
62
|
+
typeof row.confirmedAt !== "string" || !Number.isFinite(Date.parse(row.confirmedAt)) ||
|
|
63
|
+
!(row.authorityVersion === null || typeof row.authorityVersion === "string"))
|
|
64
|
+
return invalid();
|
|
65
|
+
return { attemptId: row.attemptId, linkId: row.linkId, linkType: row.linkType,
|
|
66
|
+
clientReferenceId: row.clientReferenceId, confirmedAt: row.confirmedAt, authorityVersion: row.authorityVersion };
|
|
67
|
+
});
|
|
68
|
+
return { data, nextCursor: root.nextCursor, ...metadata };
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=fulfillment-attempts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fulfillment-attempts.js","sourceRoot":"","sources":["../src/fulfillment-attempts.ts"],"names":[],"mappings":"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"}
|