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.
- package/CHANGELOG.md +40 -0
- package/README.md +41 -16
- package/dist/adapters/express/index.d.ts +7 -3
- package/dist/adapters/express/index.d.ts.map +1 -1
- package/dist/adapters/express/index.js +41 -21
- package/dist/adapters/express/index.js.map +1 -1
- package/dist/checkout-configurator.d.ts +4 -0
- package/dist/checkout-configurator.d.ts.map +1 -1
- package/dist/checkout-configurator.js +25 -1
- package/dist/checkout-configurator.js.map +1 -1
- package/dist/interfaces/payment-provider.interface.d.ts +1 -0
- package/dist/interfaces/payment-provider.interface.d.ts.map +1 -1
- package/dist/models/payment-result.model.d.ts +9 -1
- package/dist/models/payment-result.model.d.ts.map +1 -1
- package/dist/providers/nexi/nexi.provider.d.ts +5 -0
- package/dist/providers/nexi/nexi.provider.d.ts.map +1 -1
- package/dist/providers/nexi/nexi.provider.js +62 -16
- package/dist/providers/nexi/nexi.provider.js.map +1 -1
- package/dist/providers/paypal/paypal.provider.d.ts.map +1 -1
- package/dist/providers/paypal/paypal.provider.js +37 -10
- package/dist/providers/paypal/paypal.provider.js.map +1 -1
- package/dist/providers/satispay/satispay.provider.d.ts +33 -4
- package/dist/providers/satispay/satispay.provider.d.ts.map +1 -1
- package/dist/providers/satispay/satispay.provider.js +161 -49
- package/dist/providers/satispay/satispay.provider.js.map +1 -1
- package/dist/utils/parsing.util.d.ts +18 -0
- package/dist/utils/parsing.util.d.ts.map +1 -0
- package/dist/utils/parsing.util.js +79 -0
- package/dist/utils/parsing.util.js.map +1 -0
- 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
|
-
|
|
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
|
-
|
|
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
|
|
154
|
+
const signature = sigParams['signature'];
|
|
155
|
+
const signedHeaders = sigParams['headers'] ?? '(request-target) host date digest';
|
|
142
156
|
if (!signature)
|
|
143
157
|
return false;
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
|
|
156
|
-
|
|
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): ${
|
|
227
|
+
parts.push(`(request-target): ${context.method.toLowerCase()} ${context.path}`);
|
|
160
228
|
}
|
|
161
229
|
else if (name === 'digest') {
|
|
162
|
-
parts.push(`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}
|
|
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
|
|
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:
|
|
323
|
+
success: isAccepted,
|
|
247
324
|
paymentId: payment['id'],
|
|
248
|
-
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
|
-
*
|
|
277
|
-
*
|
|
278
|
-
*
|
|
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
|
-
|
|
282
|
-
|
|
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
|
|
385
|
+
const rawId = b['payment_id'] ??
|
|
286
386
|
b['id'] ??
|
|
287
387
|
query['payment_id'];
|
|
288
|
-
if (!
|
|
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
|
|
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:
|
|
402
|
+
success: isAccepted,
|
|
298
403
|
paymentId: payment['id'],
|
|
299
|
-
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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"}
|