connect-sdk-nodejs 4.18.0 → 4.20.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/README.md
CHANGED
|
@@ -47,7 +47,7 @@ There are two types of tests:
|
|
|
47
47
|
```
|
|
48
48
|
npm run test:unit
|
|
49
49
|
```
|
|
50
|
-
2. Integration tests. Before you can run these, you first need to copy file `__tests__/config.json.dist` to `__tests__/config.json` and replace all values as needed.
|
|
50
|
+
2. Integration tests. Before you can run these, you first need to copy file `__tests__/config.json.dist` to `__tests__/config.json` and replace all values as needed. If needed, a `proxy` property can be added with nested properties `host`, `scheme` (defaults to `http`), `port` (defaults to 3128) and `credentials` (optional, in the format `<username>:<password>`).
|
|
51
51
|
Run these tests as follows:
|
|
52
52
|
|
|
53
53
|
```
|
|
@@ -29,6 +29,7 @@ export interface FindProductgroupsParams extends PaymentContext {
|
|
|
29
29
|
locale?: string;
|
|
30
30
|
amount?: number;
|
|
31
31
|
isRecurring?: boolean;
|
|
32
|
+
isInstallments?: boolean;
|
|
32
33
|
hide?: string[];
|
|
33
34
|
}
|
|
34
35
|
export interface GetProductgroupParams extends PaymentContext {
|
|
@@ -37,5 +38,6 @@ export interface GetProductgroupParams extends PaymentContext {
|
|
|
37
38
|
locale?: string;
|
|
38
39
|
amount?: number;
|
|
39
40
|
isRecurring?: boolean;
|
|
41
|
+
isInstallments?: boolean;
|
|
40
42
|
hide?: string[];
|
|
41
43
|
}
|
|
@@ -57,6 +57,7 @@ export interface FindProductsParams extends PaymentContext {
|
|
|
57
57
|
locale?: string;
|
|
58
58
|
amount?: number;
|
|
59
59
|
isRecurring?: boolean;
|
|
60
|
+
isInstallments?: boolean;
|
|
60
61
|
hide?: string[];
|
|
61
62
|
}
|
|
62
63
|
export interface GetProductParams extends PaymentContext {
|
|
@@ -65,6 +66,7 @@ export interface GetProductParams extends PaymentContext {
|
|
|
65
66
|
locale?: string;
|
|
66
67
|
amount?: number;
|
|
67
68
|
isRecurring?: boolean;
|
|
69
|
+
isInstallments?: boolean;
|
|
68
70
|
hide?: string[];
|
|
69
71
|
forceBasicFlow?: boolean;
|
|
70
72
|
}
|
package/lib/model/types.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export interface Context {
|
|
|
21
21
|
obfuscationRules?: {
|
|
22
22
|
[key: string]: ObfuscationRule;
|
|
23
23
|
};
|
|
24
|
+
proxy?: ProxyConfiguration;
|
|
24
25
|
}
|
|
25
26
|
export interface FileMetaData {
|
|
26
27
|
contentType: string | null;
|
|
@@ -68,6 +69,12 @@ export interface PaymentContext {
|
|
|
68
69
|
extraHeaders?: Header[];
|
|
69
70
|
idemPotence?: IdemPotence;
|
|
70
71
|
}
|
|
72
|
+
export interface ProxyConfiguration {
|
|
73
|
+
host: string;
|
|
74
|
+
scheme?: "http" | "https";
|
|
75
|
+
port?: number;
|
|
76
|
+
credentials?: string;
|
|
77
|
+
}
|
|
71
78
|
export declare type SdkCallback = (error: SdkResponseError | null, result: SdkResponse | null) => void;
|
|
72
79
|
export interface SdkContext {
|
|
73
80
|
setContext(context: Context): void;
|
|
@@ -8,6 +8,7 @@ const connection = require("../utils/connection");
|
|
|
8
8
|
const sdkcontext = require("../utils/context");
|
|
9
9
|
const uuid = require("uuid");
|
|
10
10
|
function prepareRequest(o, context, options, contentType) {
|
|
11
|
+
var _a, _b;
|
|
11
12
|
const date = headers.date();
|
|
12
13
|
let path = o.modulePath;
|
|
13
14
|
if (o.paymentContext) {
|
|
@@ -55,6 +56,15 @@ function prepareRequest(o, context, options, contentType) {
|
|
|
55
56
|
options.headers[serverMetaInfo.key] = serverMetaInfo.value;
|
|
56
57
|
extraHeaders.push(serverMetaInfo);
|
|
57
58
|
options.headers.Authorization = "GCS v1HMAC:" + context.apiKeyId + ":" + sdkcontext.getSignature(o.method, contentType, date, extraHeaders, options.path);
|
|
59
|
+
if (context.proxy) {
|
|
60
|
+
options.path = `${options.protocol}//${options.host}:${options.port}${options.path}`;
|
|
61
|
+
options.host = context.proxy.host;
|
|
62
|
+
options.protocol = ((_a = context.proxy.scheme) !== null && _a !== void 0 ? _a : "http") + ":";
|
|
63
|
+
options.port = (_b = context.proxy.port) !== null && _b !== void 0 ? _b : 3128;
|
|
64
|
+
if (context.proxy.credentials) {
|
|
65
|
+
options.headers["Proxy-Authorization"] = "Basic " + Buffer.from(context.proxy.credentials).toString("base64");
|
|
66
|
+
}
|
|
67
|
+
}
|
|
58
68
|
}
|
|
59
69
|
function handleResponse(error, response, cb) {
|
|
60
70
|
if (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communicator.js","sourceRoot":"","sources":["../../src/utils/communicator.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;AAE7D,4BAA6B;AAG7B,4CAA6C;AAC7C,kDAAmD;AACnD,+CAAgD;AAChD,6BAA8B;AAG9B,SAAS,cAAc,CAAC,CAAa,EAAE,OAAgB,EAAE,OAA6B,EAAE,WAAmB
|
|
1
|
+
{"version":3,"file":"communicator.js","sourceRoot":"","sources":["../../src/utils/communicator.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/headers.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.date = date;
|
|
|
9
9
|
function serverMetaInfo(sdkContext) {
|
|
10
10
|
const info = {
|
|
11
11
|
sdkCreator: "Ingenico",
|
|
12
|
-
sdkIdentifier: "NodejsServerSDK/v4.
|
|
12
|
+
sdkIdentifier: "NodejsServerSDK/v4.20.0",
|
|
13
13
|
platformIdentifier: process.env["OS"] + " Node.js/" + process.versions.node
|
|
14
14
|
};
|
|
15
15
|
if (sdkContext.getIntegrator() !== null) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "connect-sdk-nodejs",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.20.0",
|
|
4
4
|
"description": "SDK to communicate with the Ingenico ePayments platform using the Ingenico Connect Server API",
|
|
5
5
|
"homepage": "https://github.com/Ingenico-ePayments/connect-sdk-nodejs#readme",
|
|
6
6
|
"bugs": {
|