@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":"fulfillment.js","sourceRoot":"","sources":["../src/fulfillment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PlanAwareVerifySettlement } from "./payment-gate.js";
|
|
2
2
|
/**
|
|
3
3
|
* Default GenesisPay app base URL — the public "development" facilitator. Used
|
|
4
4
|
* when `facilitatorBaseUrl` is omitted so integrators don't have to configure a
|
|
@@ -19,6 +19,8 @@ export type GenesisPaySettlementOptions = {
|
|
|
19
19
|
apiKey: string;
|
|
20
20
|
/** Override for testing; defaults to global fetch. */
|
|
21
21
|
fetchFn?: typeof fetch;
|
|
22
|
+
/** Maximum time for preparation, a signed settlement request and any async polling. Defaults to 120 seconds. */
|
|
23
|
+
settlementPollTimeoutMs?: number;
|
|
22
24
|
};
|
|
23
25
|
/**
|
|
24
26
|
* Built-in settlement hook that forwards the PAYMENT-SIGNATURE payload to the
|
|
@@ -26,5 +28,5 @@ export type GenesisPaySettlementOptions = {
|
|
|
26
28
|
* the EIP-3009 authorization on-chain (or verifies a payer-provided txHash)
|
|
27
29
|
* and verifies the USDC transfer before reporting success.
|
|
28
30
|
*/
|
|
29
|
-
export declare function genesisPaySettlement(options: GenesisPaySettlementOptions):
|
|
31
|
+
export declare function genesisPaySettlement(options: GenesisPaySettlementOptions): PlanAwareVerifySettlement;
|
|
30
32
|
//# sourceMappingURL=genesispay-settlement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genesispay-settlement.d.ts","sourceRoot":"","sources":["../src/genesispay-settlement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,
|
|
1
|
+
{"version":3,"file":"genesispay-settlement.d.ts","sourceRoot":"","sources":["../src/genesispay-settlement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,yBAAyB,EAE1B,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAE7E,MAAM,MAAM,2BAA2B,GAAG;IACxC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,gHAAgH;IAChH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,yBAAyB,CA8P3B"}
|
|
@@ -21,18 +21,187 @@ export function genesisPaySettlement(options) {
|
|
|
21
21
|
throw new Error("genesisPaySettlement requires a GenesisPay seller API key (gp_sk_...).");
|
|
22
22
|
}
|
|
23
23
|
const fetchFn = options.fetchFn ?? fetch;
|
|
24
|
-
|
|
24
|
+
const settlementPollTimeoutMs = options.settlementPollTimeoutMs ?? 120_000;
|
|
25
|
+
if (!Number.isFinite(settlementPollTimeoutMs) || settlementPollTimeoutMs <= 0) {
|
|
26
|
+
throw new Error("settlementPollTimeoutMs must be greater than zero.");
|
|
27
|
+
}
|
|
28
|
+
const verify = async (context) => {
|
|
25
29
|
const { requirement } = context;
|
|
30
|
+
const settlementDeadline = Date.now() + settlementPollTimeoutMs;
|
|
31
|
+
const payerBroadcastHash = readHistoricalSettlementTransaction(context.payment);
|
|
26
32
|
let response;
|
|
33
|
+
let body;
|
|
27
34
|
try {
|
|
28
|
-
response = await
|
|
35
|
+
({ response, body } = await requestBeforeDeadline(async (signal) => {
|
|
36
|
+
const settlementResponse = await fetchFn(settleUrl, {
|
|
37
|
+
method: "POST",
|
|
38
|
+
headers: {
|
|
39
|
+
"Content-Type": "application/json",
|
|
40
|
+
Authorization: `Bearer ${apiKey}`,
|
|
41
|
+
},
|
|
42
|
+
body: JSON.stringify({
|
|
43
|
+
...(context.planId ? { planId: context.planId } : {}),
|
|
44
|
+
paymentSignature: context.paymentSignatureHeader,
|
|
45
|
+
requirement: {
|
|
46
|
+
resource: requirement.resource,
|
|
47
|
+
network: requirement.network,
|
|
48
|
+
chainId: requirement.chainId,
|
|
49
|
+
assetAddress: requirement.assetAddress,
|
|
50
|
+
amountUsdcMinor: requirement.maxAmountRequired,
|
|
51
|
+
payTo: requirement.payTo,
|
|
52
|
+
description: requirement.description || undefined,
|
|
53
|
+
maxTimeoutSeconds: requirement.maxTimeoutSeconds,
|
|
54
|
+
},
|
|
55
|
+
}),
|
|
56
|
+
signal,
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
response: settlementResponse,
|
|
60
|
+
body: await readJsonBody(settlementResponse),
|
|
61
|
+
};
|
|
62
|
+
}, settlementDeadline));
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
const errorReason = `Failed to reach the GenesisPay facilitator: ${describeError(error)}`;
|
|
66
|
+
return {
|
|
67
|
+
ok: false,
|
|
68
|
+
outcomeUnknown: true,
|
|
69
|
+
errorReason,
|
|
70
|
+
...(payerBroadcastHash
|
|
71
|
+
? {
|
|
72
|
+
settlement: payerBroadcastOutcomeUnknownSettlement({
|
|
73
|
+
transactionHash: payerBroadcastHash,
|
|
74
|
+
requirement,
|
|
75
|
+
errorReason,
|
|
76
|
+
}),
|
|
77
|
+
}
|
|
78
|
+
: {}),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const settlement = tryParseSettlement(body);
|
|
82
|
+
if (response.status === 200 && settlement?.success) {
|
|
83
|
+
if (isExactVerifiedSynchronousSettlement(settlement, context, payerBroadcastHash)) {
|
|
84
|
+
return { ok: true, settlement };
|
|
85
|
+
}
|
|
86
|
+
const errorReason = "GenesisPay facilitator returned success without exact verified settlement evidence.";
|
|
87
|
+
const transactionHash = payerBroadcastHash ??
|
|
88
|
+
(isTransactionHash(settlement.transaction) ? settlement.transaction : null);
|
|
89
|
+
return {
|
|
90
|
+
ok: false,
|
|
91
|
+
outcomeUnknown: true,
|
|
92
|
+
errorReason,
|
|
93
|
+
...(transactionHash
|
|
94
|
+
? {
|
|
95
|
+
settlement: payerBroadcastOutcomeUnknownSettlement({
|
|
96
|
+
transactionHash,
|
|
97
|
+
requirement,
|
|
98
|
+
errorReason,
|
|
99
|
+
}),
|
|
100
|
+
}
|
|
101
|
+
: {}),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
if (response.status === 202) {
|
|
105
|
+
const acceptance = parseSettlementAcceptance(body, settleUrl, context.planId);
|
|
106
|
+
if (!acceptance) {
|
|
107
|
+
const errorReason = "GenesisPay facilitator returned an invalid async settlement acceptance.";
|
|
108
|
+
return {
|
|
109
|
+
ok: false,
|
|
110
|
+
outcomeUnknown: true,
|
|
111
|
+
errorReason,
|
|
112
|
+
...(payerBroadcastHash
|
|
113
|
+
? {
|
|
114
|
+
settlement: payerBroadcastOutcomeUnknownSettlement({
|
|
115
|
+
transactionHash: payerBroadcastHash,
|
|
116
|
+
requirement,
|
|
117
|
+
errorReason,
|
|
118
|
+
}),
|
|
119
|
+
}
|
|
120
|
+
: {}),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
const outcome = await pollSettlementStatus({
|
|
124
|
+
acceptance,
|
|
125
|
+
apiKey,
|
|
126
|
+
fetchFn,
|
|
127
|
+
timeoutDeadline: settlementDeadline,
|
|
128
|
+
});
|
|
129
|
+
if (!outcome.ok) {
|
|
130
|
+
const transactionHash = outcome.txHash ?? payerBroadcastHash;
|
|
131
|
+
if (!transactionHash)
|
|
132
|
+
return outcome;
|
|
133
|
+
return {
|
|
134
|
+
...outcome,
|
|
135
|
+
outcomeUnknown: true,
|
|
136
|
+
settlement: {
|
|
137
|
+
success: false,
|
|
138
|
+
transaction: transactionHash,
|
|
139
|
+
network: requirement.network,
|
|
140
|
+
amount: requirement.maxAmountRequired,
|
|
141
|
+
errorReason: outcome.errorReason,
|
|
142
|
+
extensions: {
|
|
143
|
+
// A hash learned from the authenticated status endpoint has
|
|
144
|
+
// server-verified authorization ownership. A payer-carried hash
|
|
145
|
+
// is still indispensable reconciliation evidence, but remains
|
|
146
|
+
// explicitly unverified until the server adopts it (MR-202).
|
|
147
|
+
authorizationVerified: Boolean(outcome.txHash),
|
|
148
|
+
settlementVerified: false,
|
|
149
|
+
asyncSettlement: true,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
const payer = readPayer(context.payment);
|
|
155
|
+
const confirmed = {
|
|
156
|
+
success: true,
|
|
157
|
+
transaction: outcome.txHash,
|
|
158
|
+
network: requirement.network,
|
|
159
|
+
amount: requirement.maxAmountRequired,
|
|
160
|
+
...(payer ? { payer } : {}),
|
|
161
|
+
extensions: {
|
|
162
|
+
authorizationVerified: true,
|
|
163
|
+
settlementVerified: true,
|
|
164
|
+
asyncSettlement: true,
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
return { ok: true, settlement: confirmed };
|
|
168
|
+
}
|
|
169
|
+
const errorReason = settlement?.errorReason ??
|
|
170
|
+
readErrorMessage(body) ??
|
|
171
|
+
`GenesisPay facilitator settlement failed with status ${response.status}.`;
|
|
172
|
+
const outcomeSettlement = settlement ??
|
|
173
|
+
(payerBroadcastHash
|
|
174
|
+
? payerBroadcastOutcomeUnknownSettlement({
|
|
175
|
+
transactionHash: payerBroadcastHash,
|
|
176
|
+
requirement,
|
|
177
|
+
errorReason,
|
|
178
|
+
})
|
|
179
|
+
: undefined);
|
|
180
|
+
return {
|
|
181
|
+
ok: false,
|
|
182
|
+
...(response.status >= 500 ||
|
|
183
|
+
response.ok ||
|
|
184
|
+
Boolean(settlement?.transaction) ||
|
|
185
|
+
payerBroadcastHash
|
|
186
|
+
? { outcomeUnknown: true }
|
|
187
|
+
: {}),
|
|
188
|
+
errorReason,
|
|
189
|
+
...(outcomeSettlement ? { settlement: outcomeSettlement } : {}),
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
verify.prepare = async ({ payer, idempotencyKey, requirement, authority }) => {
|
|
193
|
+
const prepareUrl = settleUrl.replace(/\/settle$/, "/settlement-plans");
|
|
194
|
+
const { response, body } = await requestBeforeDeadline(async (signal) => {
|
|
195
|
+
const preparationResponse = await fetchFn(prepareUrl, {
|
|
29
196
|
method: "POST",
|
|
30
197
|
headers: {
|
|
31
198
|
"Content-Type": "application/json",
|
|
32
199
|
Authorization: `Bearer ${apiKey}`,
|
|
33
200
|
},
|
|
34
201
|
body: JSON.stringify({
|
|
35
|
-
|
|
202
|
+
idempotencyKey: idempotencyKey ?? globalThis.crypto.randomUUID(),
|
|
203
|
+
payer,
|
|
204
|
+
...(authority ? { authority } : {}),
|
|
36
205
|
requirement: {
|
|
37
206
|
resource: requirement.resource,
|
|
38
207
|
network: requirement.network,
|
|
@@ -41,28 +210,256 @@ export function genesisPaySettlement(options) {
|
|
|
41
210
|
amountUsdcMinor: requirement.maxAmountRequired,
|
|
42
211
|
payTo: requirement.payTo,
|
|
43
212
|
description: requirement.description || undefined,
|
|
213
|
+
maxTimeoutSeconds: requirement.maxTimeoutSeconds,
|
|
44
214
|
},
|
|
45
215
|
}),
|
|
216
|
+
signal,
|
|
46
217
|
});
|
|
218
|
+
return {
|
|
219
|
+
response: preparationResponse,
|
|
220
|
+
body: await readJsonBody(preparationResponse),
|
|
221
|
+
};
|
|
222
|
+
}, Date.now() + settlementPollTimeoutMs);
|
|
223
|
+
if (!response.ok) {
|
|
224
|
+
throw new Error(readErrorMessage(body) ??
|
|
225
|
+
`GenesisPay facilitator preparation failed with status ${response.status}.`);
|
|
226
|
+
}
|
|
227
|
+
return parsePreparedSettlement(body);
|
|
228
|
+
};
|
|
229
|
+
return verify;
|
|
230
|
+
}
|
|
231
|
+
function readHistoricalSettlementTransaction(payment) {
|
|
232
|
+
for (const key of ["txHash", "transaction", "transactionHash"]) {
|
|
233
|
+
const value = payment.extensions?.[key];
|
|
234
|
+
if (isTransactionHash(value)) {
|
|
235
|
+
return value;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
function isExactVerifiedSynchronousSettlement(settlement, context, expectedTransactionHash) {
|
|
241
|
+
if (!isTransactionHash(settlement.transaction) ||
|
|
242
|
+
(expectedTransactionHash !== null &&
|
|
243
|
+
settlement.transaction.toLowerCase() !== expectedTransactionHash.toLowerCase()) ||
|
|
244
|
+
settlement.network !== context.requirement.network ||
|
|
245
|
+
settlement.amount !== context.requirement.maxAmountRequired ||
|
|
246
|
+
settlement.extensions?.authorizationVerified !== true ||
|
|
247
|
+
settlement.extensions?.settlementVerified !== true) {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
const payer = readPayer(context.payment);
|
|
251
|
+
return !payer || settlement.payer?.toLowerCase() === payer.toLowerCase();
|
|
252
|
+
}
|
|
253
|
+
function isTransactionHash(value) {
|
|
254
|
+
return typeof value === "string" && /^0x[0-9a-fA-F]{64}$/.test(value);
|
|
255
|
+
}
|
|
256
|
+
function payerBroadcastOutcomeUnknownSettlement(input) {
|
|
257
|
+
return {
|
|
258
|
+
success: false,
|
|
259
|
+
transaction: input.transactionHash,
|
|
260
|
+
network: input.requirement.network,
|
|
261
|
+
amount: input.requirement.maxAmountRequired,
|
|
262
|
+
errorReason: input.errorReason,
|
|
263
|
+
extensions: {
|
|
264
|
+
authorizationVerified: false,
|
|
265
|
+
settlementVerified: false,
|
|
266
|
+
},
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
function parseSettlementAcceptance(body, settleUrl, expectedPlanId) {
|
|
270
|
+
if (!expectedPlanId ||
|
|
271
|
+
typeof body !== "object" ||
|
|
272
|
+
body === null ||
|
|
273
|
+
!("version" in body) ||
|
|
274
|
+
body.version !== 1 ||
|
|
275
|
+
!("planId" in body) ||
|
|
276
|
+
body.planId !== expectedPlanId ||
|
|
277
|
+
!("state" in body) ||
|
|
278
|
+
body.state !== "queued" ||
|
|
279
|
+
!("statusUrl" in body) ||
|
|
280
|
+
typeof body.statusUrl !== "string" ||
|
|
281
|
+
!("expiresAt" in body) ||
|
|
282
|
+
typeof body.expiresAt !== "string" ||
|
|
283
|
+
!("pollAfterMs" in body) ||
|
|
284
|
+
typeof body.pollAfterMs !== "number") {
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
try {
|
|
288
|
+
const statusUrl = new URL(body.statusUrl);
|
|
289
|
+
const expectedStatusUrl = new URL(settleUrl);
|
|
290
|
+
expectedStatusUrl.pathname = expectedStatusUrl.pathname.replace(/\/settle$/, `/settlements/${encodeURIComponent(expectedPlanId)}`);
|
|
291
|
+
if (statusUrl.href !== expectedStatusUrl.href)
|
|
292
|
+
return null;
|
|
293
|
+
const expiresAtMs = Date.parse(body.expiresAt);
|
|
294
|
+
if (!Number.isFinite(expiresAtMs))
|
|
295
|
+
return null;
|
|
296
|
+
return {
|
|
297
|
+
planId: expectedPlanId,
|
|
298
|
+
statusUrl: statusUrl.href,
|
|
299
|
+
expiresAtMs,
|
|
300
|
+
pollAfterMs: Math.min(Math.max(Math.floor(body.pollAfterMs), 100), 2_000),
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
async function pollSettlementStatus(input) {
|
|
308
|
+
const timeoutDeadline = input.timeoutDeadline;
|
|
309
|
+
let submittedTxHash = null;
|
|
310
|
+
const outcomeUnknown = (errorReason) => ({
|
|
311
|
+
ok: false,
|
|
312
|
+
outcomeUnknown: true,
|
|
313
|
+
...(submittedTxHash ? { txHash: submittedTxHash } : {}),
|
|
314
|
+
errorReason,
|
|
315
|
+
});
|
|
316
|
+
let deadline = Math.min(input.acceptance.expiresAtMs, timeoutDeadline);
|
|
317
|
+
// An idempotent replay can return an acceptance whose issuance window has
|
|
318
|
+
// already elapsed even though its durable status is submitted or settled.
|
|
319
|
+
// Poll that status once, then keep polling only inside the applicable bound.
|
|
320
|
+
let firstPoll = true;
|
|
321
|
+
while (firstPoll || Date.now() < deadline) {
|
|
322
|
+
const replayRead = firstPoll;
|
|
323
|
+
firstPoll = false;
|
|
324
|
+
let response;
|
|
325
|
+
let body;
|
|
326
|
+
try {
|
|
327
|
+
({ response, body } = await requestBeforeDeadline(async (signal) => {
|
|
328
|
+
const statusResponse = await input.fetchFn(input.acceptance.statusUrl, {
|
|
329
|
+
headers: { Authorization: `Bearer ${input.apiKey}` },
|
|
330
|
+
cache: "no-store",
|
|
331
|
+
signal,
|
|
332
|
+
});
|
|
333
|
+
return {
|
|
334
|
+
response: statusResponse,
|
|
335
|
+
body: await readJsonBody(statusResponse),
|
|
336
|
+
};
|
|
337
|
+
}, replayRead && deadline <= Date.now() ? timeoutDeadline : deadline));
|
|
47
338
|
}
|
|
48
339
|
catch (error) {
|
|
340
|
+
return outcomeUnknown(`Failed to poll GenesisPay settlement: ${describeError(error)}`);
|
|
341
|
+
}
|
|
342
|
+
if (!response.ok) {
|
|
343
|
+
return outcomeUnknown(readErrorMessage(body) ??
|
|
344
|
+
`GenesisPay settlement status failed with status ${response.status}.`);
|
|
345
|
+
}
|
|
346
|
+
if (typeof body !== "object" ||
|
|
347
|
+
body === null ||
|
|
348
|
+
!("state" in body) ||
|
|
349
|
+
!("version" in body) ||
|
|
350
|
+
body.version !== 1 ||
|
|
351
|
+
!("planId" in body) ||
|
|
352
|
+
body.planId !== input.acceptance.planId) {
|
|
353
|
+
return outcomeUnknown("GenesisPay returned settlement status for an invalid plan contract.");
|
|
354
|
+
}
|
|
355
|
+
if (body.state === "settled" &&
|
|
356
|
+
"txHash" in body &&
|
|
357
|
+
typeof body.txHash === "string" &&
|
|
358
|
+
/^0x[0-9a-fA-F]{64}$/.test(body.txHash) &&
|
|
359
|
+
"sellerTransferVerified" in body &&
|
|
360
|
+
body.sellerTransferVerified === true) {
|
|
361
|
+
return { ok: true, txHash: body.txHash };
|
|
362
|
+
}
|
|
363
|
+
if (body.state === "failed" || body.state === "expired") {
|
|
364
|
+
if (submittedTxHash) {
|
|
365
|
+
return outcomeUnknown(`GenesisPay reported ${body.state} after transaction ${submittedTxHash} was submitted. Do not initiate another payment; continue reconciliation with the same plan.`);
|
|
366
|
+
}
|
|
49
367
|
return {
|
|
50
368
|
ok: false,
|
|
51
|
-
errorReason: `
|
|
369
|
+
errorReason: `GenesisPay async settlement ${body.state}.`,
|
|
52
370
|
};
|
|
53
371
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (response.ok && settlement?.success) {
|
|
57
|
-
return { ok: true, settlement };
|
|
372
|
+
if (body.state !== "queued" && body.state !== "submitted") {
|
|
373
|
+
return outcomeUnknown("GenesisPay returned an invalid settlement state.");
|
|
58
374
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
375
|
+
if (body.state === "submitted") {
|
|
376
|
+
if ("txHash" in body &&
|
|
377
|
+
typeof body.txHash === "string" &&
|
|
378
|
+
/^0x[0-9a-fA-F]{64}$/.test(body.txHash)) {
|
|
379
|
+
const candidate = body.txHash;
|
|
380
|
+
if (submittedTxHash &&
|
|
381
|
+
submittedTxHash.toLowerCase() !== candidate.toLowerCase()) {
|
|
382
|
+
return outcomeUnknown("GenesisPay returned conflicting submitted transaction evidence. Do not initiate another payment; continue reconciliation with the same plan.");
|
|
383
|
+
}
|
|
384
|
+
submittedTxHash = candidate;
|
|
385
|
+
// Queue expiry ends untouched work, but an observed transaction must
|
|
386
|
+
// continue reconciliation for the caller's full polling budget.
|
|
387
|
+
deadline = timeoutDeadline;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
const remainingMs = deadline - Date.now();
|
|
391
|
+
if (remainingMs <= 0)
|
|
392
|
+
break;
|
|
393
|
+
await delay(Math.min(input.acceptance.pollAfterMs, remainingMs));
|
|
394
|
+
}
|
|
395
|
+
return outcomeUnknown(submittedTxHash
|
|
396
|
+
? `GenesisPay transaction ${submittedTxHash} is submitted but still pending. Do not initiate another payment; continue reconciliation with the same plan.`
|
|
397
|
+
: "GenesisPay async settlement is still pending.");
|
|
398
|
+
}
|
|
399
|
+
function readPayer(payment) {
|
|
400
|
+
if (typeof payment !== "object" || payment === null || !("payload" in payment)) {
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
const payload = payment.payload;
|
|
404
|
+
if (typeof payload !== "object" || payload === null || !("authorization" in payload)) {
|
|
405
|
+
return null;
|
|
406
|
+
}
|
|
407
|
+
const authorization = payload.authorization;
|
|
408
|
+
if (typeof authorization !== "object" ||
|
|
409
|
+
authorization === null ||
|
|
410
|
+
!("from" in authorization) ||
|
|
411
|
+
typeof authorization.from !== "string" ||
|
|
412
|
+
!/^0x[0-9a-fA-F]{40}$/.test(authorization.from)) {
|
|
413
|
+
return null;
|
|
414
|
+
}
|
|
415
|
+
return authorization.from;
|
|
416
|
+
}
|
|
417
|
+
function delay(milliseconds) {
|
|
418
|
+
return new Promise((resolve) => setTimeout(resolve, milliseconds));
|
|
419
|
+
}
|
|
420
|
+
async function requestBeforeDeadline(request, deadlineMs) {
|
|
421
|
+
const remainingMs = deadlineMs - Date.now();
|
|
422
|
+
if (remainingMs <= 0)
|
|
423
|
+
throw new Error("settlement polling deadline exceeded");
|
|
424
|
+
const controller = new AbortController();
|
|
425
|
+
let timer;
|
|
426
|
+
try {
|
|
427
|
+
return await Promise.race([
|
|
428
|
+
request(controller.signal),
|
|
429
|
+
new Promise((_resolve, reject) => {
|
|
430
|
+
timer = setTimeout(() => {
|
|
431
|
+
controller.abort();
|
|
432
|
+
reject(new Error("settlement polling deadline exceeded"));
|
|
433
|
+
}, remainingMs);
|
|
434
|
+
}),
|
|
435
|
+
]);
|
|
436
|
+
}
|
|
437
|
+
finally {
|
|
438
|
+
if (timer)
|
|
439
|
+
clearTimeout(timer);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
function parsePreparedSettlement(body) {
|
|
443
|
+
if (typeof body !== "object" ||
|
|
444
|
+
body === null ||
|
|
445
|
+
!("planId" in body) ||
|
|
446
|
+
typeof body.planId !== "string" ||
|
|
447
|
+
!("authorization" in body) ||
|
|
448
|
+
typeof body.authorization !== "object" ||
|
|
449
|
+
body.authorization === null) {
|
|
450
|
+
throw new Error("GenesisPay facilitator returned an invalid settlement plan.");
|
|
451
|
+
}
|
|
452
|
+
const authorization = body.authorization;
|
|
453
|
+
const required = ["from", "to", "value", "validAfter", "validBefore", "nonce"];
|
|
454
|
+
if (required.some((field) => typeof authorization[field] !== "string")) {
|
|
455
|
+
throw new Error("GenesisPay facilitator returned an invalid authorization.");
|
|
456
|
+
}
|
|
457
|
+
return {
|
|
458
|
+
settlementPlan: {
|
|
459
|
+
planId: body.planId,
|
|
460
|
+
sellerAuthorization: authorization,
|
|
461
|
+
feeAuthorization: null,
|
|
462
|
+
},
|
|
66
463
|
};
|
|
67
464
|
}
|
|
68
465
|
function buildSettleUrl(facilitatorBaseUrl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genesispay-settlement.js","sourceRoot":"","sources":["../src/genesispay-settlement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"genesispay-settlement.js","sourceRoot":"","sources":["../src/genesispay-settlement.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
export { GenesisPay, type GenesisPayKeyMode, type GenesisPayClientOptions, type SellerConfig, type CheckoutAmountInput, type CheckoutCreateInput, type CheckoutLink, type CheckoutSession, type CheckoutAttempt, type CheckoutAttemptStatus, type SimulatePaymentOptions, type GateConfig, type ResolvingGate, } from "./client.js";
|
|
1
|
+
export { GenesisPay, type GenesisPayKeyMode, type GenesisPayClientOptions, type SellerConfig, type CheckoutAmountInput, type CheckoutCreateInput, type IdempotentCreationOptions, type CheckoutLink, type CheckoutSession, type CheckoutAttempt, type CheckoutAttemptStatus, type SimulatePaymentOptions, type GateConfig, type ResolvingGate, } from "./client.js";
|
|
2
2
|
export { type SubscriptionPlan, type SubscriptionPlanStatus, type PlanCreateInput, type PlansResource, } from "./plans.js";
|
|
3
|
-
export
|
|
3
|
+
export type { ExternalOrderTax, ItemTax, ItemTaxUpdate, PaymentLinkTax } from "./item-tax.js";
|
|
4
|
+
export { type Product, type ProductCreateInput, type ProductPaymentLink, type ProductCheckoutCreateInput, type ProductCheckoutLink, type ProductCheckoutCreationOptions, type ProductDelivery, type ProductGate, type ProductGatePurchase, type ProductsResource, createGateRequestFingerprint, } from "./products.js";
|
|
4
5
|
export { type EntitlementsResource, type VerifiedEntitlement } from "./entitlements.js";
|
|
6
|
+
export { GENESISPAY_API_VERSION, GENESISPAY_VERSION_HEADER, GENESISPAY_REQUEST_ID_HEADER, GENESISPAY_PAYMENT_ATTEMPT_ID_HEADER, type ApiVersion, type DeploymentMode, type SupportedAsset, type PaymentChannel, type DeliveryType, type SettlementStrategy, type NetworkContract, type ExpectedDeliveryContract, type ExpectedProductContract, type ExpectedPaymentLinkContract, type ExpectedFulfillmentContract, type FulfillmentLocator, type VerifiedPayment, type FulfillmentVerification, type FulfillmentResource, } from "./fulfillment.js";
|
|
5
7
|
export { type Customer, type CustomerCreateInput, type CustomerUpdateInput, type CustomersResource, } from "./customers.js";
|
|
6
|
-
export { type Invoice, type InvoiceStatus, type InvoiceLineInput, type InvoiceDraftInput, type InvoiceEmailDelivery, type InvoicesResource, } from "./invoices.js";
|
|
8
|
+
export { type Invoice, type InvoiceStatus, type InvoiceSummary, type InvoiceSummaryPage, type InvoiceSummaryListOptions, type InvoiceLineInput, type InvoiceDraftInput, type InvoiceEmailDelivery, type InvoicesResource, } from "./invoices.js";
|
|
9
|
+
export { type CheckoutDocument, type CheckoutDocumentKind, type CheckoutDocumentSnapshot, type CheckoutDocumentsResource, } from "./checkout-documents.js";
|
|
7
10
|
export { type Mandate, type MandateKind, type MandateStatus, type MandateCreateInput, type MandateCreateResult, type MandateCharge, type MandateChargeInput, type MandateChargeStatus, type MandateListOptions, type MandateListPage, type PermitTypedData, type MandatesResource, } from "./mandates.js";
|
|
8
|
-
export { GenesisPayConfigError, GenesisPayNetworkSafetyError, GenesisPayNotFoundError, GenesisPayValidationError, GenesisPayRateLimitError, type GenesisPayValidationIssue, } from "./errors.js";
|
|
9
|
-
export { constructEvent, isKnownGenesisPayEventType, GENESISPAY_EVENT_TYPES, GenesisPaySignatureVerificationError, type GenesisPayEvent, type GenesisPayAnyEvent, type GenesisPayUnknownEvent, type GenesisPayEventType, type GenesisPayPaymentEvent, type GenesisPayMandateEvent, type GenesisPayAgentPaymentEvent, type GenesisPayPaymentEventData, type GenesisPayMandateEventData, type ConstructEventOptions, } from "./webhooks.js";
|
|
11
|
+
export { GenesisPayConfigError, GenesisPayNetworkSafetyError, GenesisPayNotFoundError, GenesisPayValidationError, GenesisPayRateLimitError, GenesisPayMandateChargePendingError, GenesisPayContractMismatchError, GenesisPayAmbiguousLocatorError, GenesisPayEvidenceError, GenesisPayVersionError, type GenesisPayValidationIssue, type GenesisPayResponseMetadata, type GenesisPayMandateChargeLocator, type GenesisPayEvidenceErrorCode, type GenesisPayVersionErrorCode, } from "./errors.js";
|
|
12
|
+
export { constructEvent, isKnownGenesisPayEventType, GENESISPAY_EVENT_TYPES, GenesisPaySignatureVerificationError, type GenesisPayEvent, type GenesisPayAnyEvent, type GenesisPayUnknownEvent, type GenesisPayEventType, type GenesisPayPaymentEvent, type GenesisPayFulfillmentEvent, type GenesisPayFulfillmentEventData, type GenesisPayMandateEvent, type GenesisPayAgentPaymentEvent, type GenesisPayPaymentEventData, type GenesisPayMandateEventData, type ConstructEventOptions, } from "./webhooks.js";
|
|
10
13
|
export { createPaymentGate, type PaymentGate, type PaymentGateConfig, type SettlementContext, type SettlementVerification, type VerifySettlement, type WrapOptions, } from "./payment-gate.js";
|
|
11
14
|
export { genesisPaySettlement, DEFAULT_FACILITATOR_BASE_URL, type GenesisPaySettlementOptions, } from "./genesispay-settlement.js";
|
|
12
15
|
export { resolvePaymentGateNetwork, type PaymentGateNetwork, type PaymentGateNetworkConfig, } from "./networks.js";
|
|
13
16
|
export { parseUsdcAmountToMinorUnits } from "./usdc-amount.js";
|
|
17
|
+
export type { FulfillmentAttemptCandidate, FulfillmentAttemptList, FulfillmentAttemptsQuery } from "./fulfillment-attempts.js";
|
|
14
18
|
export { CHECKOUT_RETURN_LINK_ID_PARAM, CHECKOUT_RETURN_STATUS_PARAM, parseCheckoutReturnHint, type CheckoutReturnHint, } from "./checkout-return.js";
|
|
15
19
|
export { createMandateGate, MANDATE_HEADER, type MandateChargeOutcome, type MandateGate, type MandateGateOptions, } from "./mandate-gate.js";
|
|
20
|
+
export { type ContractSubscriptionCreateInput, type ContractSubscriptionCreateResult, type ContractPerUseCreateInput, type ContractPerUseCreateResult, type ContractMandateTypedData } from "./contract-mandates.js";
|
|
21
|
+
export type { ContractUsageCharge, ContractUsageInput } from "./contract-usage.js";
|
|
16
22
|
//# sourceMappingURL=index.d.ts.map
|