@unchainedshop/plugins 2.8.7 → 2.8.10
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/lib/payment/datatrans-v2/api/makeFetcher.d.ts +1 -1
- package/lib/payment/datatrans-v2/middleware.js +1 -1
- package/lib/payment/datatrans-v2/middleware.js.map +1 -1
- package/lib/payment/payrexx/api/index.d.ts +0 -2
- package/lib/payment/payrexx/api/index.js +35 -71
- package/lib/payment/payrexx/api/index.js.map +1 -1
- package/lib/payment/payrexx/api/makeFetcher.d.ts +3 -0
- package/lib/payment/payrexx/api/makeFetcher.js +72 -0
- package/lib/payment/payrexx/api/makeFetcher.js.map +1 -0
- package/lib/payment/payrexx/index.js +72 -36
- package/lib/payment/payrexx/index.js.map +1 -1
- package/lib/payment/payrexx/middleware.js +52 -25
- package/lib/payment/payrexx/middleware.js.map +1 -1
- package/lib/payment/payrexx/payrexx.d.ts +16 -1
- package/lib/payment/payrexx/payrexx.js +29 -6
- package/lib/payment/payrexx/payrexx.js.map +1 -1
- package/lib/payment/postfinance-checkout/api.d.ts +0 -2
- package/lib/payment/postfinance-checkout/utils.d.ts +0 -2
- package/package.json +24 -24
- package/src/payment/datatrans-v2/middleware.ts +1 -1
- package/src/payment/payrexx/api/index.ts +39 -87
- package/src/payment/payrexx/api/makeFetcher.ts +87 -0
- package/src/payment/payrexx/index.ts +81 -37
- package/src/payment/payrexx/middleware.ts +67 -30
- package/src/payment/payrexx/payrexx.ts +34 -7
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference lib="dom" />
|
|
2
|
-
declare const _default: (endpoint: string, merchantId: string, secret: string) => (path: string, body: unknown) => Promise<Response
|
|
2
|
+
declare const _default: (endpoint: string, merchantId: string, secret: string) => ((path: string, body: unknown) => Promise<Response>);
|
|
3
3
|
export default _default;
|
|
@@ -30,7 +30,7 @@ export const datatransHandler = async (req, res) => {
|
|
|
30
30
|
try {
|
|
31
31
|
if (transaction.type === 'card_check') {
|
|
32
32
|
const paymentProviderId = referenceId;
|
|
33
|
-
const paymentCredentials = await modules.payment.registerCredentials(paymentProviderId, { userId, transactionContext: { transactionId: transaction.transactionId } },
|
|
33
|
+
const paymentCredentials = await modules.payment.registerCredentials(paymentProviderId, { userId, transactionContext: { transactionId: transaction.transactionId } }, resolvedContext);
|
|
34
34
|
logger.info(`registered payment credentials for ${userId}`, {
|
|
35
35
|
userId,
|
|
36
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIrE,MAAM,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GAAG,QAAQ,CAAC,YAAY,GAC3C,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,MAAM,MAAM,GAAG,YAAY,CAAC,0CAA0C,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACjD,MAAM,eAAe,GAAG,GAAG,CAAC,gBAA2B,CAAC;IACxD,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACvC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;YAC5C,QAAQ,EAAE,kBAAyB;YACnC,OAAO,EAAE,mBAAmB,IAAI,kBAAkB;SACnD,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,MAAM,mBAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/E,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAA0B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAA0B,CAAC;QAEzF,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACjC,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE7E,IAAI,CAAC;gBACH,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACtC,MAAM,iBAAiB,GAAG,WAAW,CAAC;oBACtC,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAClE,iBAAiB,EACjB,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,EAAE,EAC5E,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,6 @@ export type GatewayObject = {
|
|
|
25
25
|
};
|
|
26
26
|
export type TransactionObject = any;
|
|
27
27
|
declare const createPayrexxAPI: (instance: string, secret: string) => {
|
|
28
|
-
buildSignature(query?: string): Promise<string>;
|
|
29
|
-
buildUrl(path: any, params?: {}): string;
|
|
30
28
|
chargePreAuthorized(id: any, params: any): Promise<any>;
|
|
31
29
|
deleteReservation(id: any): Promise<any>;
|
|
32
30
|
getGateway(id: any): Promise<GatewayObject>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import makeFetcher from './makeFetcher.js';
|
|
1
2
|
const baseUrl = 'https://api.payrexx.com/v1.0/';
|
|
2
3
|
export var GatewayObjectStatus;
|
|
3
4
|
(function (GatewayObjectStatus) {
|
|
@@ -14,78 +15,41 @@ export var GatewayObjectStatus;
|
|
|
14
15
|
GatewayObjectStatus["error"] = "error";
|
|
15
16
|
GatewayObjectStatus["uncaptured"] = "_";
|
|
16
17
|
})(GatewayObjectStatus || (GatewayObjectStatus = {}));
|
|
17
|
-
const createPayrexxAPI = (instance, secret) =>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
url.search = new URLSearchParams({ instance, ...params }).toString();
|
|
26
|
-
return url.href;
|
|
27
|
-
},
|
|
28
|
-
async chargePreAuthorized(id, params) {
|
|
29
|
-
const queryParams = { ...params };
|
|
30
|
-
const signature = await this.buildSignature(new URLSearchParams(queryParams).toString());
|
|
31
|
-
queryParams.ApiSignature = signature;
|
|
32
|
-
const url = this.buildUrl(`Transaction/${id}/`);
|
|
33
|
-
const result = await fetch(url, {
|
|
34
|
-
method: 'POST',
|
|
35
|
-
body: new URLSearchParams(queryParams).toString(),
|
|
36
|
-
headers: {
|
|
37
|
-
accept: 'application/json',
|
|
38
|
-
'content-type': 'application/x-www-form-urlencoded',
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
if (result.ok) {
|
|
42
|
-
return result.json();
|
|
43
|
-
}
|
|
44
|
-
throw new Error(await result.text());
|
|
45
|
-
},
|
|
46
|
-
async deleteReservation(id) {
|
|
47
|
-
const url = this.buildUrl(`Transaction/${id}/`, { ApiSignature: await this.buildSignature() });
|
|
48
|
-
const result = await fetch(url, {
|
|
49
|
-
method: 'DELETE',
|
|
50
|
-
headers: {
|
|
51
|
-
accept: 'application/json',
|
|
52
|
-
'content-type': 'application/x-www-form-urlencoded',
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
if (result.ok) {
|
|
56
|
-
return result.json();
|
|
57
|
-
}
|
|
58
|
-
throw new Error(await result.text());
|
|
59
|
-
},
|
|
60
|
-
async getGateway(id) {
|
|
61
|
-
const url = this.buildUrl(`Gateway/${id}/`, { ApiSignature: await this.buildSignature() });
|
|
62
|
-
const result = await fetch(url);
|
|
63
|
-
if (!result.ok)
|
|
18
|
+
const createPayrexxAPI = (instance, secret) => {
|
|
19
|
+
const fetchPayrexx = makeFetcher(baseUrl, instance, secret);
|
|
20
|
+
return {
|
|
21
|
+
async chargePreAuthorized(id, params) {
|
|
22
|
+
const result = await fetchPayrexx(`Transaction/${id}`, 'POST', params);
|
|
23
|
+
if (result.ok) {
|
|
24
|
+
return result.json();
|
|
25
|
+
}
|
|
64
26
|
throw new Error(await result.text());
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
27
|
+
},
|
|
28
|
+
async deleteReservation(id) {
|
|
29
|
+
const result = await fetchPayrexx(`Transaction/${id}`, 'DELETE');
|
|
30
|
+
if (result.ok) {
|
|
31
|
+
return result.json();
|
|
32
|
+
}
|
|
33
|
+
throw new Error(await result.text());
|
|
34
|
+
},
|
|
35
|
+
async getGateway(id) {
|
|
36
|
+
const result = await fetchPayrexx(`Gateway/${id}`, 'GET');
|
|
37
|
+
if (!result.ok)
|
|
38
|
+
throw new Error(await result.text());
|
|
39
|
+
const { status, data } = await result.json();
|
|
40
|
+
if (status !== 'success')
|
|
41
|
+
return null;
|
|
42
|
+
return data?.[0];
|
|
43
|
+
},
|
|
44
|
+
async createGateway(params) {
|
|
45
|
+
const result = await fetchPayrexx('Gateway', 'POST', params);
|
|
46
|
+
if (result.ok) {
|
|
47
|
+
return result.json();
|
|
48
|
+
}
|
|
49
|
+
throw new Error(await result.text());
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
};
|
|
89
53
|
export default createPayrexxAPI;
|
|
90
54
|
// where you want to consume the payrexx module:
|
|
91
55
|
// const payrexx = payrexx.init(instance, api_secret);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/payment/payrexx/api/index.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,+BAA+B,CAAC;AAEhD,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,8CAAuB,CAAA;IACvB,8CAAuB,CAAA;IACvB,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,4CAAqB,CAAA;IACrB,4CAAqB,CAAA;IACrB,sDAA+B,CAAA;IAC/B,gEAA2C,CAAA;IAC3C,gDAAyB,CAAA;IACzB,sCAAe,CAAA;IACf,uCAAgB,CAAA;AAClB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B;AAgBD,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/payment/payrexx/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,OAAO,GAAG,+BAA+B,CAAC;AAEhD,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,8CAAuB,CAAA;IACvB,8CAAuB,CAAA;IACvB,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,4CAAqB,CAAA;IACrB,4CAAqB,CAAA;IACrB,sDAA+B,CAAA;IAC/B,gEAA2C,CAAA;IAC3C,gDAAyB,CAAA;IACzB,sCAAe,CAAA;IACf,uCAAgB,CAAA;AAClB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B;AAgBD,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE5D,OAAO;QACL,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM;YAClC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACvE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAE;YACjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACtC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,MAAM;YACxB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC;AAEhC,gDAAgD;AAChD,sDAAsD;AACtD,iDAAiD;AACjD,iBAAiB;AACjB,4BAA4B;AAC5B,MAAM;AAEN,iCAAiC;AACjC,2CAA2C;AAC3C,qCAAqC;AACrC,IAAI"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/// <reference lib="dom" />
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import util from 'util';
|
|
4
|
+
import { resolve } from 'path';
|
|
5
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
6
|
+
const readFile = util.promisify(fs.readFile);
|
|
7
|
+
const { PAYREXX_API_MOCKS_PATH } = process.env;
|
|
8
|
+
const logger = createLogger('unchained:payrexx');
|
|
9
|
+
export default (baseUrl = 'https://api.payrexx.com/v1.0/', instance = null, secret = null) => {
|
|
10
|
+
if (PAYREXX_API_MOCKS_PATH) {
|
|
11
|
+
return async (path) => {
|
|
12
|
+
try {
|
|
13
|
+
const filePath = resolve(process.env.PWD, PAYREXX_API_MOCKS_PATH, `${path}.json`);
|
|
14
|
+
const content = await readFile(filePath);
|
|
15
|
+
const textData = content.toString();
|
|
16
|
+
const jsonData = JSON.parse(textData);
|
|
17
|
+
return {
|
|
18
|
+
json: async () => jsonData,
|
|
19
|
+
text: async () => textData,
|
|
20
|
+
ok: !jsonData?.error,
|
|
21
|
+
status: jsonData?.error ? 500 : 204,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
logger.error('Mock: Error while trying reading and parsing file', {
|
|
26
|
+
...error,
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
json: async () => ({ error: { code: 'MOCK', message: 'MOCK' } }),
|
|
30
|
+
text: async () => 'MOCK',
|
|
31
|
+
ok: false,
|
|
32
|
+
status: 500,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const buildSignature = async (query = '') => {
|
|
38
|
+
const key = await crypto.subtle.importKey('raw', new TextEncoder().encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign', 'verify']);
|
|
39
|
+
const signature = await crypto.subtle.sign('HMAC', key, new TextEncoder().encode(query));
|
|
40
|
+
return btoa(String.fromCharCode(...new Uint8Array(signature)));
|
|
41
|
+
};
|
|
42
|
+
const buildUrl = (path, params = {}) => {
|
|
43
|
+
const url = new URL(`${path}/`, baseUrl);
|
|
44
|
+
url.search = new URLSearchParams({ instance, ...params }).toString();
|
|
45
|
+
return url.href;
|
|
46
|
+
};
|
|
47
|
+
return async (path, method, data) => {
|
|
48
|
+
logger.verbose(`${method} ${path}`);
|
|
49
|
+
if (method === 'POST') {
|
|
50
|
+
const queryParams = { ...data };
|
|
51
|
+
const signature = await buildSignature(new URLSearchParams(queryParams).toString());
|
|
52
|
+
queryParams.ApiSignature = signature;
|
|
53
|
+
const url = buildUrl(path);
|
|
54
|
+
return fetch(url, {
|
|
55
|
+
method,
|
|
56
|
+
body: new URLSearchParams(queryParams).toString(),
|
|
57
|
+
headers: {
|
|
58
|
+
accept: 'application/json',
|
|
59
|
+
'content-type': 'application/x-www-form-urlencoded',
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (method === 'DELETE' || method === 'GET') {
|
|
64
|
+
const url = buildUrl(path, { ApiSignature: await buildSignature() });
|
|
65
|
+
return fetch(url, {
|
|
66
|
+
method,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
throw new Error('Method not supported');
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=makeFetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeFetcher.js","sourceRoot":"","sources":["../../../../src/payment/payrexx/api/makeFetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PaymentAdapter, PaymentDirector, PaymentError } from '@unchainedshop/core-payment';
|
|
2
2
|
import { createLogger } from '@unchainedshop/logger';
|
|
3
|
-
import { mapOrderDataToGatewayObject } from './payrexx.js';
|
|
3
|
+
import { mapOrderDataToGatewayObject, mapUserToGatewayObject } from './payrexx.js';
|
|
4
4
|
import createPayrexxAPI, { GatewayObjectStatus } from './api/index.js';
|
|
5
5
|
export * from './middleware.js';
|
|
6
6
|
const logger = createLogger('unchained:core-payment:payrexx');
|
|
@@ -37,21 +37,46 @@ const Payrexx = {
|
|
|
37
37
|
isPayLaterAllowed() {
|
|
38
38
|
return false;
|
|
39
39
|
},
|
|
40
|
-
validate: async () => {
|
|
41
|
-
throw new Error('Token Registration Flow not implemented yet');
|
|
42
|
-
},
|
|
43
|
-
register: async () => {
|
|
44
|
-
throw new Error('Token Registration Flow not implemented yet');
|
|
45
|
-
},
|
|
46
40
|
sign: async (transactionContext = {}) => {
|
|
47
|
-
const { orderPayment, order } = params.paymentContext;
|
|
41
|
+
const { orderPayment, userId, order } = params.paymentContext;
|
|
48
42
|
if (orderPayment) {
|
|
43
|
+
// Order Checkout signing (One-time payment)
|
|
49
44
|
const pricing = await modules.orders.pricingSheet(order);
|
|
50
45
|
const gatewayObject = mapOrderDataToGatewayObject({ order, orderPayment, pricing }, transactionContext);
|
|
51
46
|
const gateway = await api.createGateway(gatewayObject);
|
|
52
47
|
return JSON.stringify(gateway);
|
|
53
48
|
}
|
|
54
|
-
|
|
49
|
+
// Payment Credential Registration signing
|
|
50
|
+
const user = await modules.users.findUserById(userId);
|
|
51
|
+
const emailAddress = modules.users.primaryEmail(user)?.address;
|
|
52
|
+
const gateway = await api.createGateway(mapUserToGatewayObject({
|
|
53
|
+
userId,
|
|
54
|
+
emailAddress,
|
|
55
|
+
currencyCode: 'CHF',
|
|
56
|
+
}));
|
|
57
|
+
return JSON.stringify(gateway);
|
|
58
|
+
},
|
|
59
|
+
// async validate(credentials) {
|
|
60
|
+
// if (!credentials.meta) return false;
|
|
61
|
+
// const { objectKey, currency } = credentials.meta;
|
|
62
|
+
// const result = await api().validate({
|
|
63
|
+
// refno: Buffer.from(`valid-${new Date().getTime()}`, 'hex').toString('base64'),
|
|
64
|
+
// currency,
|
|
65
|
+
// [objectKey]: JSON.parse(credentials.token),
|
|
66
|
+
// });
|
|
67
|
+
// return Boolean((result as ValidateResponseSuccess)?.transactionId);
|
|
68
|
+
// },
|
|
69
|
+
async register(transactionResponse) {
|
|
70
|
+
// const { transactionId } = transactionResponse;
|
|
71
|
+
console.log({ transactionResponse });
|
|
72
|
+
throw new Error('Not implemented');
|
|
73
|
+
// const result = (await api().status({
|
|
74
|
+
// transactionId,
|
|
75
|
+
// })) as StatusResponseSuccess;
|
|
76
|
+
// if (result.transactionId) {
|
|
77
|
+
// return parseRegistrationData(result);
|
|
78
|
+
// }
|
|
79
|
+
return null;
|
|
55
80
|
},
|
|
56
81
|
async confirm() {
|
|
57
82
|
const { orderPayment } = params.paymentContext;
|
|
@@ -63,13 +88,17 @@ const Payrexx = {
|
|
|
63
88
|
if (!gatewayObject) {
|
|
64
89
|
return false;
|
|
65
90
|
}
|
|
66
|
-
if (
|
|
67
|
-
|
|
91
|
+
if (
|
|
92
|
+
// gatewayObject.status === GatewayObjectStatus.authorized || // authorized is only used for tokenization!
|
|
93
|
+
gatewayObject.status === GatewayObjectStatus.reserved) {
|
|
68
94
|
const allTransactions = gatewayObject.invoices?.flatMap((invoice) => invoice.transactions);
|
|
69
|
-
await Promise.all(allTransactions.map(async (transaction) => api.chargePreAuthorized(transaction.id, {})));
|
|
95
|
+
await Promise.all(allTransactions.map(async (transaction) => api.chargePreAuthorized(transaction.id, { referenceId: '__IGNORE_WEBHOOK__' })));
|
|
70
96
|
return true;
|
|
71
97
|
}
|
|
72
|
-
|
|
98
|
+
if (gatewayObject.status === GatewayObjectStatus.confirmed) {
|
|
99
|
+
return true; // already confirmed, no need to confirm
|
|
100
|
+
}
|
|
101
|
+
return false; // some other status with refund or anything, can't confirm!
|
|
73
102
|
},
|
|
74
103
|
async cancel() {
|
|
75
104
|
const { orderPayment } = params.paymentContext;
|
|
@@ -86,7 +115,10 @@ const Payrexx = {
|
|
|
86
115
|
await Promise.all(allTransactions.map(async (transaction) => api.deleteReservation(transaction.id)));
|
|
87
116
|
return true;
|
|
88
117
|
}
|
|
89
|
-
|
|
118
|
+
if (gatewayObject.status === GatewayObjectStatus.confirmed) {
|
|
119
|
+
return false; // already confirmed, can't cancel anymore
|
|
120
|
+
}
|
|
121
|
+
return true; // some other status with refund or anything, no need to cancel
|
|
90
122
|
},
|
|
91
123
|
charge: async ({ gatewayId, paymentCredentials }) => {
|
|
92
124
|
if (!gatewayId && !paymentCredentials) {
|
|
@@ -102,22 +134,18 @@ const Payrexx = {
|
|
|
102
134
|
}
|
|
103
135
|
const pricing = await modules.orders.pricingSheet(order);
|
|
104
136
|
const { currency, amount } = pricing.total({ useNetPrice: false });
|
|
105
|
-
if (
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
return false;
|
|
118
|
-
case GatewayObjectStatus.authorized:
|
|
119
|
-
case GatewayObjectStatus.reserved:
|
|
120
|
-
case GatewayObjectStatus.confirmed:
|
|
137
|
+
if (
|
|
138
|
+
// gatewayObject.status === 'authorized' || // authorized is only used for tokenization!
|
|
139
|
+
gatewayObject.status === 'reserved' ||
|
|
140
|
+
gatewayObject.status === 'confirmed') {
|
|
141
|
+
try {
|
|
142
|
+
if (gatewayObject.currency !== currency.toUpperCase() ||
|
|
143
|
+
gatewayObject.amount !== Math.round(amount)) {
|
|
144
|
+
throw new Error('The price has changed since the intent has been created');
|
|
145
|
+
}
|
|
146
|
+
if (gatewayObject.referenceId !== orderPayment?._id) {
|
|
147
|
+
throw new Error('The order payment is different from the initiating intent');
|
|
148
|
+
}
|
|
121
149
|
// confirm will do the transition, to do a checkout those stati above are fine
|
|
122
150
|
logger.verbose(`Mark as charged, status is ${gatewayObject.status}`, {
|
|
123
151
|
orderPaymentId: gatewayObject.referenceId,
|
|
@@ -126,13 +154,21 @@ const Payrexx = {
|
|
|
126
154
|
transactionId: gatewayId,
|
|
127
155
|
gatewayObject,
|
|
128
156
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
if (gatewayObject.status === GatewayObjectStatus.reserved) {
|
|
160
|
+
// Cancel the reservation if it's reserved and the order has been manipulated
|
|
161
|
+
const allTransactions = gatewayObject.invoices?.flatMap((invoice) => invoice.transactions);
|
|
162
|
+
await Promise.all(allTransactions.map(async (transaction) => api.deleteReservation(transaction.id)));
|
|
163
|
+
}
|
|
164
|
+
throw e;
|
|
165
|
+
}
|
|
135
166
|
}
|
|
167
|
+
logger.verbose('Charge not possible', {
|
|
168
|
+
orderPaymentId: gatewayObject.referenceId,
|
|
169
|
+
status: gatewayObject.status,
|
|
170
|
+
});
|
|
171
|
+
throw new Error(`Gateway Status ${gatewayObject.status} does not allow checkout`);
|
|
136
172
|
},
|
|
137
173
|
};
|
|
138
174
|
return adapterActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/payment/payrexx/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/payment/payrexx/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,39 +15,66 @@ export const payrexxHandler = async (request, response) => {
|
|
|
15
15
|
}));
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
|
-
if (transaction.status === 'confirmed')
|
|
18
|
+
if ((transaction.status === 'confirmed' && transaction.referenceId === '__IGNORE_WEBHOOK__') ||
|
|
19
|
+
transaction.status === 'waiting') {
|
|
19
20
|
// Ignore confirmed transactions, because those hooks are generated through calling the confirm()
|
|
20
21
|
// method in the payment adapter and could lead to double bookings.
|
|
22
|
+
logger.verbose(`unhandled transaction state: ${transaction.status}`);
|
|
23
|
+
response.writeHead(200);
|
|
24
|
+
response.end(JSON.stringify({
|
|
25
|
+
ignored: true,
|
|
26
|
+
message: `Unhandled transaction state: ${transaction.status}`,
|
|
27
|
+
}));
|
|
28
|
+
return;
|
|
21
29
|
}
|
|
22
30
|
logger.verbose(`Processing event`, {
|
|
23
31
|
transactionId: transaction.id,
|
|
24
32
|
});
|
|
25
33
|
try {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
if (transaction.preAuthorizationId) {
|
|
35
|
+
// Pre-Authorization Flow, referenceId is a userId
|
|
36
|
+
const { referenceId: paymentProviderId, invoice } = transaction;
|
|
37
|
+
const userId = '';
|
|
38
|
+
logger.verbose(`register credentials for: ${userId}`);
|
|
39
|
+
await modules.payment.registerCredentials(paymentProviderId, { userId, transactionContext: { gatewayId: invoice.paymentRequestId } }, resolvedContext);
|
|
40
|
+
logger.info(`registration successful`, {
|
|
41
|
+
paymentProviderId,
|
|
42
|
+
userId,
|
|
43
|
+
});
|
|
44
|
+
response.writeHead(200);
|
|
45
|
+
response.end(JSON.stringify({
|
|
46
|
+
message: 'registration successful',
|
|
47
|
+
paymentProviderId,
|
|
48
|
+
userId,
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const { referenceId: orderPaymentId, invoice } = transaction;
|
|
53
|
+
logger.verbose(`checkout with orderPaymentId: ${orderPaymentId}`);
|
|
54
|
+
await modules.orders.payments.logEvent(orderPaymentId, {
|
|
55
|
+
transactionId: transaction.id,
|
|
56
|
+
});
|
|
57
|
+
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
58
|
+
orderPaymentId,
|
|
59
|
+
});
|
|
60
|
+
if (!orderPayment) {
|
|
61
|
+
throw new Error(`order payment not found with orderPaymentId: ${orderPaymentId}`);
|
|
62
|
+
}
|
|
63
|
+
const order = await modules.orders.checkout(orderPayment.orderId, {
|
|
64
|
+
paymentContext: {
|
|
65
|
+
gatewayId: invoice.paymentRequestId,
|
|
66
|
+
},
|
|
67
|
+
}, resolvedContext);
|
|
68
|
+
logger.info(`checkout successful`, {
|
|
69
|
+
orderPaymentId,
|
|
70
|
+
orderId: order._id,
|
|
71
|
+
});
|
|
72
|
+
response.writeHead(200);
|
|
73
|
+
response.end(JSON.stringify({
|
|
74
|
+
message: 'checkout successful',
|
|
75
|
+
orderId: order._id,
|
|
76
|
+
}));
|
|
36
77
|
}
|
|
37
|
-
const order = await modules.orders.checkout(orderPayment.orderId, {
|
|
38
|
-
paymentContext: {
|
|
39
|
-
gatewayId: invoice.paymentRequestId,
|
|
40
|
-
},
|
|
41
|
-
}, resolvedContext);
|
|
42
|
-
logger.info(`checkout successful`, {
|
|
43
|
-
orderPaymentId,
|
|
44
|
-
orderId: order._id,
|
|
45
|
-
});
|
|
46
|
-
response.writeHead(200);
|
|
47
|
-
response.end(JSON.stringify({
|
|
48
|
-
message: 'checkout successful',
|
|
49
|
-
orderId: order._id,
|
|
50
|
-
}));
|
|
51
78
|
}
|
|
52
79
|
catch (error) {
|
|
53
80
|
logger.error(error, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/payrexx/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,wCAAwC,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACxD,MAAM,eAAe,GAAG,OAAO,CAAC,gBAA2B,CAAC;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAEpC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAErC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAC1C,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yBAAyB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B;SACrG,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/payrexx/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,28 @@ export declare const mapOrderDataToGatewayObject: ({ order, orderPayment, pricin
|
|
|
3
3
|
orderPayment: any;
|
|
4
4
|
pricing: any;
|
|
5
5
|
}, options?: {}) => {
|
|
6
|
+
referenceId: any;
|
|
7
|
+
successRedirectUrl: string;
|
|
8
|
+
failedRedirectUrl: string;
|
|
9
|
+
cancelRedirectUrl: string;
|
|
6
10
|
amount: number;
|
|
7
11
|
currency: any;
|
|
8
12
|
purpose: string;
|
|
9
13
|
reservation: boolean;
|
|
10
14
|
skipResultPage: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const mapUserToGatewayObject: ({ userId, emailAddress, currencyCode }: {
|
|
17
|
+
userId: any;
|
|
18
|
+
emailAddress: any;
|
|
19
|
+
currencyCode: any;
|
|
20
|
+
}, options?: {}) => {
|
|
21
|
+
referenceId: any;
|
|
11
22
|
successRedirectUrl: string;
|
|
12
23
|
failedRedirectUrl: string;
|
|
13
24
|
cancelRedirectUrl: string;
|
|
14
|
-
|
|
25
|
+
amount: number;
|
|
26
|
+
currency: any;
|
|
27
|
+
purpose: string;
|
|
28
|
+
preAuthorization: boolean;
|
|
29
|
+
skipResultPage: boolean;
|
|
15
30
|
};
|