awesome-node-checkout 1.2.0 → 1.2.2

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 (30) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +41 -16
  3. package/dist/adapters/express/index.d.ts +7 -3
  4. package/dist/adapters/express/index.d.ts.map +1 -1
  5. package/dist/adapters/express/index.js +41 -21
  6. package/dist/adapters/express/index.js.map +1 -1
  7. package/dist/checkout-configurator.d.ts +4 -0
  8. package/dist/checkout-configurator.d.ts.map +1 -1
  9. package/dist/checkout-configurator.js +25 -1
  10. package/dist/checkout-configurator.js.map +1 -1
  11. package/dist/interfaces/payment-provider.interface.d.ts +1 -0
  12. package/dist/interfaces/payment-provider.interface.d.ts.map +1 -1
  13. package/dist/models/payment-result.model.d.ts +9 -1
  14. package/dist/models/payment-result.model.d.ts.map +1 -1
  15. package/dist/providers/nexi/nexi.provider.d.ts +5 -0
  16. package/dist/providers/nexi/nexi.provider.d.ts.map +1 -1
  17. package/dist/providers/nexi/nexi.provider.js +62 -16
  18. package/dist/providers/nexi/nexi.provider.js.map +1 -1
  19. package/dist/providers/paypal/paypal.provider.d.ts.map +1 -1
  20. package/dist/providers/paypal/paypal.provider.js +37 -10
  21. package/dist/providers/paypal/paypal.provider.js.map +1 -1
  22. package/dist/providers/satispay/satispay.provider.d.ts +33 -4
  23. package/dist/providers/satispay/satispay.provider.d.ts.map +1 -1
  24. package/dist/providers/satispay/satispay.provider.js +161 -49
  25. package/dist/providers/satispay/satispay.provider.js.map +1 -1
  26. package/dist/utils/parsing.util.d.ts +18 -0
  27. package/dist/utils/parsing.util.d.ts.map +1 -0
  28. package/dist/utils/parsing.util.js +79 -0
  29. package/dist/utils/parsing.util.js.map +1 -0
  30. package/package.json +1 -1
@@ -37,6 +37,7 @@ exports.SatispayProvider = void 0;
37
37
  const crypto = __importStar(require("crypto"));
38
38
  const base_payment_provider_abstract_1 = require("../../abstract/base-payment-provider.abstract");
39
39
  const in_memory_transaction_store_1 = require("../../stores/in-memory-transaction.store");
40
+ const parsing_util_1 = require("../../utils/parsing.util");
40
41
  /**
41
42
  * Satispay Business API provider.
42
43
  * Flow: `webhook` — creates a MATCH_CODE payment, user pays via Satispay app,
@@ -94,28 +95,40 @@ class SatispayProvider extends base_payment_provider_abstract_1.BasePaymentProvi
94
95
  * Supports (request-target) via context or headers, and verifies signature over
95
96
  * headers with constant-time security.
96
97
  */
97
- verifyWebhookSignature(bodyOrHeaders, headersOrBody, context) {
98
+ /**
99
+ * Validates that the payment ID contains only safe alphanumeric/hyphen characters.
100
+ */
101
+ isValidPaymentId(id) {
102
+ return (typeof id === 'string' &&
103
+ /^[A-Za-z0-9_-]{1,64}$/.test(id) &&
104
+ !id.includes('/') &&
105
+ !id.includes('..'));
106
+ }
107
+ /**
108
+ * Verifies the HTTP Signature in an inbound Satispay webhook request.
109
+ * Satispay signs webhooks with their own RSA private key; we verify using
110
+ * the corresponding public key supplied in `config.webhookPublicKey`.
111
+ *
112
+ * Validates:
113
+ * - Presence and format of Authorization/Signature header
114
+ * - Freshness of Date header within `signatureMaxAgeMs` (default 5 minutes)
115
+ * - Exact match between Digest header and SHA-256 of raw body
116
+ * - (request-target) exclusively from context (never client body/headers)
117
+ * - Constant-time RSA-SHA256 signature verification
118
+ */
119
+ verifyWebhookSignature(body, headers, context) {
98
120
  if (!this.config.webhookPublicKey) {
99
121
  return true; // verification skipped — no public key configured
100
122
  }
123
+ if (!headers || typeof headers !== 'object') {
124
+ return false;
125
+ }
101
126
  try {
102
- let body = bodyOrHeaders;
103
- let headers = headersOrBody;
104
- // Handle argument order flexibility: verifyWebhookSignature(body, headers) or (headers, body)
105
- if (typeof body === 'object' &&
106
- body !== null &&
107
- (('authorization' in body) || ('Authorization' in body) || ('signature' in body) || ('Signature' in body)) &&
108
- (!headers || !('authorization' in headers || 'signature' in headers))) {
109
- headers = body;
110
- body = headersOrBody;
111
- }
112
- if (!headers)
113
- return false;
114
- const authHeader = (headers['authorization'] ??
127
+ const authHeader = headers['authorization'] ??
115
128
  headers['Authorization'] ??
116
129
  headers['signature'] ??
117
- headers['Signature']);
118
- if (!authHeader)
130
+ headers['Signature'];
131
+ if (!authHeader || typeof authHeader !== 'string')
119
132
  return false;
120
133
  // Parse the Signature params from the Authorization header.
121
134
  // Format: Signature keyId="...", algorithm="...", headers="...", signature="..."
@@ -129,7 +142,7 @@ class SatispayProvider extends base_payment_provider_abstract_1.BasePaymentProvi
129
142
  const eqIdx = part.indexOf('="');
130
143
  if (eqIdx === -1)
131
144
  continue;
132
- const key = part.slice(0, eqIdx).trim();
145
+ const key = part.slice(0, eqIdx).trim().toLowerCase();
133
146
  const valueStart = eqIdx + 2;
134
147
  const valueEnd = part.lastIndexOf('"');
135
148
  if (valueEnd <= valueStart)
@@ -138,28 +151,83 @@ class SatispayProvider extends base_payment_provider_abstract_1.BasePaymentProvi
138
151
  if (key)
139
152
  sigParams[key] = value;
140
153
  }
141
- const { signature, headers: signedHeaders = '(request-target) host date digest' } = sigParams;
154
+ const signature = sigParams['signature'];
155
+ const signedHeaders = sigParams['headers'] ?? '(request-target) host date digest';
142
156
  if (!signature)
143
157
  return false;
144
- // Reconstruct the signed message from the incoming headers
145
- const headerNames = signedHeaders.split(' ');
158
+ const headerNames = signedHeaders.split(' ').map((h) => h.trim().toLowerCase()).filter(Boolean);
159
+ // Require minimum signed headers
160
+ if (!headerNames.includes('(request-target)') || !headerNames.includes('date')) {
161
+ return false;
162
+ }
163
+ const hasBody = (context?.rawBody !== undefined &&
164
+ (typeof context.rawBody === 'string'
165
+ ? context.rawBody.length > 0
166
+ : Buffer.isBuffer(context.rawBody)
167
+ ? context.rawBody.length > 0
168
+ : false)) ||
169
+ (body !== undefined &&
170
+ body !== null &&
171
+ (typeof body === 'string'
172
+ ? body.length > 0
173
+ : Buffer.isBuffer(body)
174
+ ? body.length > 0
175
+ : typeof body === 'object'
176
+ ? Object.keys(body).length > 0
177
+ : false));
178
+ if (hasBody && !headerNames.includes('digest')) {
179
+ return false;
180
+ }
181
+ // 1. Freshness check on Date: Date header is strictly required
182
+ const rawDate = headers['date'] ?? headers['Date'];
183
+ if (!rawDate)
184
+ return false;
185
+ const dateParsed = new Date(rawDate);
186
+ if (isNaN(dateParsed.getTime()))
187
+ return false;
188
+ const maxAgeMs = this.config.signatureMaxAgeMs ?? 300000;
189
+ if (Math.abs(Date.now() - dateParsed.getTime()) > maxAgeMs) {
190
+ return false;
191
+ }
192
+ // 2. Digest comparison: Digest header MUST match SHA-256 of the raw body
146
193
  const headerDigest = headers['digest'] ?? headers['Digest'];
147
- const bodyString = body !== undefined && body !== null
148
- ? (typeof body === 'string' ? body : JSON.stringify(body))
149
- : '';
150
- const computedDigest = 'SHA-256=' + crypto.createHash('sha256').update(bodyString).digest('base64');
151
- const digest = headerDigest ?? computedDigest;
194
+ if (headerNames.includes('digest') || hasBody) {
195
+ if (!headerDigest)
196
+ return false;
197
+ let rawBytes;
198
+ if (context?.rawBody !== undefined) {
199
+ rawBytes = Buffer.isBuffer(context.rawBody)
200
+ ? context.rawBody
201
+ : Buffer.from(context.rawBody, 'utf-8');
202
+ }
203
+ else if (Buffer.isBuffer(body)) {
204
+ rawBytes = body;
205
+ }
206
+ else if (typeof body === 'string') {
207
+ rawBytes = Buffer.from(body, 'utf-8');
208
+ }
209
+ else if (body !== undefined && body !== null && typeof body === 'object') {
210
+ rawBytes = Buffer.from(JSON.stringify(body), 'utf-8');
211
+ }
212
+ else {
213
+ rawBytes = Buffer.from('', 'utf-8');
214
+ }
215
+ const expectedDigest = 'SHA-256=' + crypto.createHash('sha256').update(rawBytes).digest('base64');
216
+ if (headerDigest !== expectedDigest) {
217
+ return false;
218
+ }
219
+ }
220
+ // 3. Reconstruct the signed message from headers and context
152
221
  const parts = [];
153
222
  for (const name of headerNames) {
154
223
  if (name === '(request-target)') {
155
- const target = headers['(request-target)'] ??
156
- (context?.method && context?.path ? `${context.method.toLowerCase()} ${context.path}` : undefined);
157
- if (!target)
224
+ // (request-target) MUST come strictly from context
225
+ if (!context?.method || !context?.path)
158
226
  return false;
159
- parts.push(`(request-target): ${target}`);
227
+ parts.push(`(request-target): ${context.method.toLowerCase()} ${context.path}`);
160
228
  }
161
229
  else if (name === 'digest') {
162
- parts.push(`digest: ${digest}`);
230
+ parts.push(`digest: ${headerDigest}`);
163
231
  }
164
232
  else {
165
233
  const value = headers[name] ??
@@ -189,7 +257,7 @@ class SatispayProvider extends base_payment_provider_abstract_1.BasePaymentProvi
189
257
  });
190
258
  const text = await response.text();
191
259
  if (!response.ok) {
192
- throw new Error(`Satispay API ${response.status}: ${text}`);
260
+ throw new Error(`Satispay API returned HTTP ${response.status}`);
193
261
  }
194
262
  return JSON.parse(text);
195
263
  }
@@ -237,18 +305,34 @@ class SatispayProvider extends base_payment_provider_abstract_1.BasePaymentProvi
237
305
  return this.getPaymentDetails(paymentId);
238
306
  }
239
307
  async getPaymentDetails(paymentId) {
308
+ if (!this.isValidPaymentId(paymentId)) {
309
+ return {
310
+ success: false,
311
+ paymentId: typeof paymentId === 'string' ? paymentId : undefined,
312
+ status: 'FAILED',
313
+ error: 'Invalid payment ID format',
314
+ };
315
+ }
240
316
  try {
241
- const payment = await this.request('GET', `${this.apiUrl}/payments/${paymentId}`);
242
- const amountUnit = payment['amount_unit'];
243
- const amount = amountUnit != null && !isNaN(Number(amountUnit)) ? Number(amountUnit) / 100 : undefined;
317
+ const payment = await this.request('GET', `${this.apiUrl}/payments/${encodeURIComponent(paymentId)}`);
318
+ const amount = (0, parsing_util_1.parseAmountFromCents)(payment['amount_unit']);
244
319
  const currency = payment['currency'];
320
+ const status = payment['status'];
321
+ const isAccepted = status === 'ACCEPTED' && amount !== undefined;
245
322
  return {
246
- success: true,
323
+ success: isAccepted,
247
324
  paymentId: payment['id'],
248
- status: payment['status'],
325
+ status: status ?? 'UNKNOWN',
249
326
  amount,
250
327
  currency,
251
328
  raw: payment,
329
+ ...(isAccepted
330
+ ? {}
331
+ : {
332
+ error: status === 'ACCEPTED' && amount === undefined
333
+ ? 'Payment amount is missing or invalid'
334
+ : `Payment is ${status ?? 'unknown'}`,
335
+ }),
252
336
  };
253
337
  }
254
338
  catch (error) {
@@ -256,9 +340,17 @@ class SatispayProvider extends base_payment_provider_abstract_1.BasePaymentProvi
256
340
  }
257
341
  }
258
342
  async refundPayment(paymentId, amount) {
343
+ if (!this.isValidPaymentId(paymentId)) {
344
+ return {
345
+ success: false,
346
+ paymentId: typeof paymentId === 'string' ? paymentId : undefined,
347
+ status: 'REFUND_FAILED',
348
+ error: 'Invalid payment ID format',
349
+ };
350
+ }
259
351
  try {
260
352
  const body = amount ? { amount_unit: Math.round(amount * 100) } : {};
261
- const refund = await this.request('POST', `${this.apiUrl}/payments/${paymentId}/refunds`, body);
353
+ const refund = await this.request('POST', `${this.apiUrl}/payments/${encodeURIComponent(paymentId)}/refunds`, body);
262
354
  return {
263
355
  success: true,
264
356
  paymentId: refund['id'],
@@ -273,33 +365,53 @@ class SatispayProvider extends base_payment_provider_abstract_1.BasePaymentProvi
273
365
  /**
274
366
  * Handles the async webhook notification from Satispay.
275
367
  * Satispay calls this URL with `payment_id` (the Satispay payment UUID).
276
- * The HTTP Signature in the Authorization header is verified against
277
- * `config.webhookPublicKey` (when configured) before processing.
278
- * We then confirm the payment status via an authenticated API call.
368
+ *
369
+ * Flow:
370
+ * - POST webhooks: The HTTP Signature in the Authorization header is verified
371
+ * against `config.webhookPublicKey` (when configured) before processing.
372
+ * - GET callbacks: Satispay GET callbacks (?payment_id=...) do not carry HTTP signatures.
373
+ * An unsigned GET is accepted solely as a trigger for a secure server-to-server
374
+ * API re-read using the merchant's RSA private key. The payment ID is validated
375
+ * and nothing from the query string is trusted.
279
376
  */
280
377
  async handleWebhook(body, headers = {}, query = {}, context) {
281
- if (!this.verifyWebhookSignature(body, headers, context)) {
282
- return { success: false, error: 'Webhook signature verification failed' };
378
+ const isGet = context?.method?.toUpperCase() === 'GET';
379
+ if (!isGet) {
380
+ if (!this.verifyWebhookSignature(body, headers, context)) {
381
+ return { success: false, error: 'Webhook signature verification failed' };
382
+ }
283
383
  }
284
384
  const b = body ?? {};
285
- const paymentId = b['payment_id'] ??
385
+ const rawId = b['payment_id'] ??
286
386
  b['id'] ??
287
387
  query['payment_id'];
288
- if (!paymentId) {
388
+ if (!rawId) {
289
389
  return { success: false, error: 'Missing payment_id in webhook body or query' };
290
390
  }
391
+ if (!this.isValidPaymentId(rawId)) {
392
+ return { success: false, error: 'Invalid payment ID format' };
393
+ }
394
+ const paymentId = rawId;
291
395
  try {
292
- const payment = await this.request('GET', `${this.apiUrl}/payments/${paymentId}`);
293
- const amountUnit = payment['amount_unit'];
294
- const amount = amountUnit != null && !isNaN(Number(amountUnit)) ? Number(amountUnit) / 100 : undefined;
396
+ const payment = await this.request('GET', `${this.apiUrl}/payments/${encodeURIComponent(paymentId)}`);
397
+ const amount = (0, parsing_util_1.parseAmountFromCents)(payment['amount_unit']);
295
398
  const currency = payment['currency'];
399
+ const status = payment['status'];
400
+ const isAccepted = status === 'ACCEPTED' && amount !== undefined;
296
401
  return {
297
- success: payment['status'] === 'ACCEPTED',
402
+ success: isAccepted,
298
403
  paymentId: payment['id'],
299
- status: payment['status'],
404
+ status: status ?? 'UNKNOWN',
300
405
  amount,
301
406
  currency,
302
407
  raw: payment,
408
+ ...(isAccepted
409
+ ? {}
410
+ : {
411
+ error: status === 'ACCEPTED' && amount === undefined
412
+ ? 'Payment amount is missing or invalid'
413
+ : `Payment is ${status ?? 'unknown'}`,
414
+ }),
303
415
  };
304
416
  }
305
417
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"satispay.provider.js","sourceRoot":"","sources":["../../../src/providers/satispay/satispay.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"satispay.provider.js","sourceRoot":"","sources":["../../../src/providers/satispay/satispay.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Safely parses an amount value into a finite number.
3
+ * Returns undefined for null, undefined, boolean, empty strings, whitespace, NaN, and Infinity.
4
+ * Enforces strict decimal notation (rejects hex '0x10' and scientific '1e3').
5
+ */
6
+ export declare function parseAmount(val: unknown): number | undefined;
7
+ /**
8
+ * Safely parses amounts denominated in minor units (cents) into major units.
9
+ * Returns undefined if the input cannot be parsed or is not an integer number of cents.
10
+ */
11
+ export declare function parseAmountFromCents(val: unknown): number | undefined;
12
+ /**
13
+ * Maps Nexi ISO-4217 numeric currency codes to alpha-3 codes.
14
+ * Returns 3-letter uppercase alpha code if recognized or already alpha,
15
+ * otherwise undefined.
16
+ */
17
+ export declare function parseNexiCurrency(code: unknown): string | undefined;
18
+ //# sourceMappingURL=parsing.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.util.d.ts","sourceRoot":"","sources":["../../src/utils/parsing.util.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAY5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAYrE;AAoBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAUnE"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAmount = parseAmount;
4
+ exports.parseAmountFromCents = parseAmountFromCents;
5
+ exports.parseNexiCurrency = parseNexiCurrency;
6
+ /**
7
+ * Safely parses an amount value into a finite number.
8
+ * Returns undefined for null, undefined, boolean, empty strings, whitespace, NaN, and Infinity.
9
+ * Enforces strict decimal notation (rejects hex '0x10' and scientific '1e3').
10
+ */
11
+ function parseAmount(val) {
12
+ if (val == null || typeof val === 'boolean')
13
+ return undefined;
14
+ if (typeof val === 'number') {
15
+ return !isNaN(val) && isFinite(val) ? val : undefined;
16
+ }
17
+ if (typeof val === 'string') {
18
+ const str = val.trim();
19
+ if (!/^-?\d+(\.\d+)?$/.test(str))
20
+ return undefined;
21
+ const num = Number(str);
22
+ return !isNaN(num) && isFinite(num) ? num : undefined;
23
+ }
24
+ return undefined;
25
+ }
26
+ /**
27
+ * Safely parses amounts denominated in minor units (cents) into major units.
28
+ * Returns undefined if the input cannot be parsed or is not an integer number of cents.
29
+ */
30
+ function parseAmountFromCents(val) {
31
+ if (val == null || typeof val === 'boolean')
32
+ return undefined;
33
+ if (typeof val === 'number') {
34
+ return Number.isInteger(val) && isFinite(val) ? val / 100 : undefined;
35
+ }
36
+ if (typeof val === 'string') {
37
+ const str = val.trim();
38
+ if (!/^-?\d+$/.test(str))
39
+ return undefined;
40
+ const num = Number(str);
41
+ return !isNaN(num) && isFinite(num) ? num / 100 : undefined;
42
+ }
43
+ return undefined;
44
+ }
45
+ const NEXI_NUMERIC_CURRENCY_MAP = {
46
+ '978': 'EUR',
47
+ '840': 'USD',
48
+ '826': 'GBP',
49
+ '756': 'CHF',
50
+ '392': 'JPY',
51
+ '036': 'AUD',
52
+ '124': 'CAD',
53
+ '702': 'SGD',
54
+ '752': 'SEK',
55
+ '578': 'NOK',
56
+ '208': 'DKK',
57
+ '484': 'MXN',
58
+ '949': 'TRY',
59
+ '986': 'BRL',
60
+ '356': 'INR',
61
+ };
62
+ /**
63
+ * Maps Nexi ISO-4217 numeric currency codes to alpha-3 codes.
64
+ * Returns 3-letter uppercase alpha code if recognized or already alpha,
65
+ * otherwise undefined.
66
+ */
67
+ function parseNexiCurrency(code) {
68
+ if (typeof code !== 'string' && typeof code !== 'number')
69
+ return undefined;
70
+ const str = String(code).trim();
71
+ if (NEXI_NUMERIC_CURRENCY_MAP[str]) {
72
+ return NEXI_NUMERIC_CURRENCY_MAP[str];
73
+ }
74
+ if (/^[A-Za-z]{3}$/.test(str)) {
75
+ return str.toUpperCase();
76
+ }
77
+ return undefined;
78
+ }
79
+ //# sourceMappingURL=parsing.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.util.js","sourceRoot":"","sources":["../../src/utils/parsing.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awesome-node-checkout",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "Framework-agnostic payment checkout library for Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",