@webbers/pay-payments-medusa 1.0.4 → 1.0.6
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/.medusa/server/package.json +15 -14
- package/.medusa/server/src/admin/index.js +2 -1
- package/.medusa/server/src/admin/index.mjs +2 -1
- package/.medusa/server/src/api/admin/pay/clear-cache/route.js +4 -2
- package/.medusa/server/src/constants.js +176 -0
- package/.medusa/server/src/providers/pay/core/pay-base.js +19 -3
- package/.medusa/server/src/providers/pay/services/index.js +22 -12
- package/.medusa/server/src/providers/pay/services/pay-almapay.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-apple-pay.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-billink.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-blik.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-eps.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-google-pay.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-ideal-in3.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-klarna.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-mobilepay.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-mondu.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-paybybank.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-payconiq.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-paypal.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-przelewy24.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-riverty.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-spraypay.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-twint.js +21 -0
- package/.medusa/server/src/providers/pay/services/pay-wechatpay.js +21 -0
- package/.medusa/server/src/providers/pay/types/index.js +20 -2
- package/.medusa/server/src/providers/pay/utils/getExpirationForPaymentMethod.js +7 -5
- package/.medusa/server/src/subscribers/payment-failed.js +36 -0
- package/.medusa/server/src/workflows/hooks/order-created.js +12 -9
- package/README.md +40 -30
- package/package.json +15 -14
- package/.medusa/server/src/providers/pay/utils/paymentMethodMap.js +0 -133
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webbers/pay-payments-medusa",
|
|
3
3
|
"displayName": "Medusa v2 Pay. Plugin",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.6",
|
|
5
5
|
"description": "The Pay.nl payment provider plugin for Medusa v2",
|
|
6
6
|
"author": "Webbers B.V. <development@webbers.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"require": "./.medusa/server/src/admin/index.js",
|
|
20
20
|
"default": "./.medusa/server/src/admin/index.js"
|
|
21
21
|
},
|
|
22
|
-
"./*": "./.medusa/server/src/*.js"
|
|
22
|
+
"./*": "./.medusa/server/src/*.js",
|
|
23
|
+
"./constants": "./constants.js"
|
|
23
24
|
},
|
|
24
25
|
"keywords": [
|
|
25
26
|
"medusa",
|
|
@@ -42,11 +43,11 @@
|
|
|
42
43
|
"@medusajs/test-utils": "^2.7.1",
|
|
43
44
|
"@medusajs/types": "^2.7.1",
|
|
44
45
|
"@medusajs/ui": "^4.0.9",
|
|
45
|
-
"@mikro-orm/cli": "6.4.3",
|
|
46
|
-
"@mikro-orm/core": "6.4.3",
|
|
47
|
-
"@mikro-orm/knex": "6.4.3",
|
|
48
|
-
"@mikro-orm/migrations": "6.4.3",
|
|
49
|
-
"@mikro-orm/postgresql": "6.4.3",
|
|
46
|
+
"@mikro-orm/cli": "^6.4.3",
|
|
47
|
+
"@mikro-orm/core": "^6.4.3",
|
|
48
|
+
"@mikro-orm/knex": "^6.4.3",
|
|
49
|
+
"@mikro-orm/migrations": "^6.4.3",
|
|
50
|
+
"@mikro-orm/postgresql": "^6.4.3",
|
|
50
51
|
"@swc/core": "1.5.7",
|
|
51
52
|
"@types/node": "^20.17.45",
|
|
52
53
|
"@types/react": "^18.3.21",
|
|
@@ -71,13 +72,13 @@
|
|
|
71
72
|
"@medusajs/js-sdk": "^2.7.1",
|
|
72
73
|
"@medusajs/medusa": "^2.7.1",
|
|
73
74
|
"@medusajs/test-utils": "^2.7.1",
|
|
74
|
-
"@medusajs/ui": "4.0.3",
|
|
75
|
-
"@mikro-orm/cli": "6.4.3",
|
|
76
|
-
"@mikro-orm/core": "6.4.3",
|
|
77
|
-
"@mikro-orm/knex": "6.4.3",
|
|
78
|
-
"@mikro-orm/migrations": "6.4.3",
|
|
79
|
-
"@mikro-orm/postgresql": "6.4.3",
|
|
80
|
-
"@tanstack/react-query": "
|
|
75
|
+
"@medusajs/ui": "^4.0.3",
|
|
76
|
+
"@mikro-orm/cli": "^6.4.3",
|
|
77
|
+
"@mikro-orm/core": "^6.4.3",
|
|
78
|
+
"@mikro-orm/knex": "^6.4.3",
|
|
79
|
+
"@mikro-orm/migrations": "^6.4.3",
|
|
80
|
+
"@mikro-orm/postgresql": "^6.4.3",
|
|
81
|
+
"@tanstack/react-query": "5.64.2",
|
|
81
82
|
"awilix": "^8.0.1",
|
|
82
83
|
"pg": "^8.13.0"
|
|
83
84
|
},
|
|
@@ -57,7 +57,7 @@ const sdk = new Medusa__default.default({
|
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
const displayName = "Medusa v2 Pay. Plugin";
|
|
60
|
-
const version = "1.0.
|
|
60
|
+
const version = "1.0.6";
|
|
61
61
|
function getSortedPaymentMethods(data) {
|
|
62
62
|
const { checkoutOptions, checkoutSequence } = data;
|
|
63
63
|
const { primary } = checkoutSequence.default;
|
|
@@ -133,6 +133,7 @@ const PaySettingPage = () => {
|
|
|
133
133
|
refetchConfig();
|
|
134
134
|
ui.toast.success("Success", { description: "Successfully cleared cache" });
|
|
135
135
|
}).catch((error) => {
|
|
136
|
+
console.log("error", error);
|
|
136
137
|
ui.toast.error("Error", { description: getErrorMessage(error) });
|
|
137
138
|
});
|
|
138
139
|
};
|
|
@@ -54,7 +54,7 @@ const sdk = new Medusa({
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
const displayName = "Medusa v2 Pay. Plugin";
|
|
57
|
-
const version = "1.0.
|
|
57
|
+
const version = "1.0.6";
|
|
58
58
|
function getSortedPaymentMethods(data) {
|
|
59
59
|
const { checkoutOptions, checkoutSequence } = data;
|
|
60
60
|
const { primary } = checkoutSequence.default;
|
|
@@ -130,6 +130,7 @@ const PaySettingPage = () => {
|
|
|
130
130
|
refetchConfig();
|
|
131
131
|
toast.success("Success", { description: "Successfully cleared cache" });
|
|
132
132
|
}).catch((error) => {
|
|
133
|
+
console.log("error", error);
|
|
133
134
|
toast.error("Error", { description: getErrorMessage(error) });
|
|
134
135
|
});
|
|
135
136
|
};
|
|
@@ -13,11 +13,13 @@ const GET = async (req, res) => {
|
|
|
13
13
|
const slCode = payProviderOptions.slCode;
|
|
14
14
|
const key = `${constants_1.PAY_CACHE_KEY.CONFIG}:${slCode}`;
|
|
15
15
|
await cacheModuleService.invalidate(key);
|
|
16
|
-
return res.status(200).send(
|
|
16
|
+
return res.status(200).send({
|
|
17
|
+
message: "Successfully cleared cache",
|
|
18
|
+
});
|
|
17
19
|
}
|
|
18
20
|
catch (err) {
|
|
19
21
|
return res.status(500).send(err);
|
|
20
22
|
}
|
|
21
23
|
};
|
|
22
24
|
exports.GET = GET;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BheS9jbGVhci1jYWNoZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBNEU7QUFDNUUsd0VBQXNFO0FBRy9ELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNwQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQ3hDLENBQUE7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLGtCQUFrQixHQUFJLFlBQVksQ0FBQyxPQUFRO2FBQzlDLE9BQWdCLENBQUMsT0FBUSxDQUFDLFNBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDO2FBQ2hFLE9BQTBCLENBQUE7UUFFN0IsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFBO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLEdBQUcseUJBQWEsQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFFLENBQUE7UUFFL0MsTUFBTSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFeEMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQixPQUFPLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBekJZLFFBQUEsR0FBRyxPQXlCZiJ9
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.payPaymentMethods = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* All available payment methods for Pay.
|
|
6
|
+
* See: https://developer.pay.nl/docs/payment-option-ids-subids
|
|
7
|
+
*/
|
|
8
|
+
const types_1 = require("./providers/pay/types");
|
|
9
|
+
/**
|
|
10
|
+
* Combined all payment methods
|
|
11
|
+
*/
|
|
12
|
+
exports.payPaymentMethods = [
|
|
13
|
+
/**
|
|
14
|
+
* Country or region specific payment methods
|
|
15
|
+
*/
|
|
16
|
+
{ id: 10, value: types_1.PaymentProviderKeys.IDEAL, name: "iDEAL", type: "regional" }, // For NL. Only EUR. See below for SubID's
|
|
17
|
+
{
|
|
18
|
+
id: 436,
|
|
19
|
+
value: types_1.PaymentProviderKeys.BAN_CONTACT,
|
|
20
|
+
name: "Bancontact",
|
|
21
|
+
type: "regional",
|
|
22
|
+
}, // For BE. Only EUR
|
|
23
|
+
{
|
|
24
|
+
id: 2970,
|
|
25
|
+
value: types_1.PaymentProviderKeys.PAYBYBANK,
|
|
26
|
+
name: "Pay By Bank",
|
|
27
|
+
type: "regional",
|
|
28
|
+
}, // Pay By Bank }, Based on PSD2 Payment Initiation Servies
|
|
29
|
+
{ id: 559, name: "SOFORT Banking", type: "regional" }, // E-commerce. For DE, AT, CH, PL }, BE and ES. Only EUR.
|
|
30
|
+
{ id: 577, name: "SOFORT Banking", type: "regional" }, // Digital Services. For DE, AT, CH, PL }, BE and ES. Only EUR.
|
|
31
|
+
{ id: 595, name: "SOFORT Banking", type: "regional" }, // High Risk. For DE, AT, CH, PL }, BE and ES. Only EUR.
|
|
32
|
+
{ id: 694, name: "Giropay", type: "regional" }, // For DE. Not all local banks support Giropay. (Depricated)
|
|
33
|
+
{
|
|
34
|
+
id: 1978,
|
|
35
|
+
name: "WeChat Pay e-commerce",
|
|
36
|
+
value: types_1.PaymentProviderKeys.WECHATPAY,
|
|
37
|
+
type: "regional",
|
|
38
|
+
}, // For CN.
|
|
39
|
+
{ id: 2074, name: "WeChat Quickpay", type: "regional" }, // For CN.
|
|
40
|
+
{
|
|
41
|
+
id: 2062,
|
|
42
|
+
name: "EPS Überweisung",
|
|
43
|
+
value: types_1.PaymentProviderKeys.EPS,
|
|
44
|
+
type: "regional",
|
|
45
|
+
}, // For AT. Only EUR.
|
|
46
|
+
{ id: 2080, name: "Alipay", type: "regional" }, // For CN.
|
|
47
|
+
{
|
|
48
|
+
id: 2151,
|
|
49
|
+
name: "Przelewy24",
|
|
50
|
+
value: types_1.PaymentProviderKeys.PRZELEWY24,
|
|
51
|
+
type: "regional",
|
|
52
|
+
}, // For PL. Only PLN.
|
|
53
|
+
{ id: 2271, name: "Multibanco", type: "regional" }, // For PT. Only EUR.
|
|
54
|
+
{
|
|
55
|
+
id: 2379,
|
|
56
|
+
name: "Payconiq",
|
|
57
|
+
value: types_1.PaymentProviderKeys.PAYCONIQ,
|
|
58
|
+
type: "regional",
|
|
59
|
+
}, // For BE and LU. Only EUR.
|
|
60
|
+
{ id: 2718, name: "Trustly", type: "regional" }, // For SE, FI, DE, NL, UK, EE, LV, LT, DK, PL, NO, ES, CZ, BE }, AT and SK. Local currencies.
|
|
61
|
+
{ id: 2856, name: "Blik", value: types_1.PaymentProviderKeys.BLIK, type: "regional" }, // For PL.
|
|
62
|
+
{
|
|
63
|
+
id: 3558,
|
|
64
|
+
name: "MobilePay",
|
|
65
|
+
value: types_1.PaymentProviderKeys.MOBILEPAY,
|
|
66
|
+
type: "regional",
|
|
67
|
+
}, // For DK & FI
|
|
68
|
+
{ id: 2907, name: "AliPay PLUS", type: "regional" }, // For CN.
|
|
69
|
+
{ id: 3840, name: "Twint", value: types_1.PaymentProviderKeys.TWINT, type: "regional" }, // For CN.
|
|
70
|
+
/**
|
|
71
|
+
* Card Not Present payments
|
|
72
|
+
*/
|
|
73
|
+
{ id: 706, name: "Visa / Mastercard", type: "card_not_present" },
|
|
74
|
+
{ id: 709, name: "Visa / Mastercard", type: "card_not_present" }, // High risk
|
|
75
|
+
{ id: 3141, name: "Visa", type: "card_not_present" },
|
|
76
|
+
{ id: 3138, name: "Mastercard", type: "card_not_present" },
|
|
77
|
+
{ id: 707, name: "PostePay", type: "card_not_present" },
|
|
78
|
+
{ id: 708, name: "PostePay", type: "card_not_present" }, // High risk
|
|
79
|
+
{ id: 2268, name: "Carte Bancaire", type: "card_not_present" },
|
|
80
|
+
{ id: 712, name: "Maestro", type: "card_not_present" },
|
|
81
|
+
{ id: 715, name: "Maestro", type: "card_not_present" }, // High risk
|
|
82
|
+
{ id: 1705, name: "American Express", type: "card_not_present" },
|
|
83
|
+
{ id: 1939, name: "Dankort", type: "card_not_present" },
|
|
84
|
+
{ id: 1945, name: "Nexi", type: "card_not_present" },
|
|
85
|
+
{ id: 2277, name: types_1.PaymentProviderKeys.APPLE_PAY, type: "card_not_present" },
|
|
86
|
+
{ id: 2558, name: types_1.PaymentProviderKeys.GOOGLE_PAY, type: "card_not_present" },
|
|
87
|
+
/**
|
|
88
|
+
* BNPL & Installments
|
|
89
|
+
*/
|
|
90
|
+
{
|
|
91
|
+
id: 2561,
|
|
92
|
+
value: types_1.PaymentProviderKeys.RIVERTY,
|
|
93
|
+
name: "Riverty",
|
|
94
|
+
type: "buy_now_pay_later",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: 1672,
|
|
98
|
+
value: types_1.PaymentProviderKeys.BILLINK,
|
|
99
|
+
name: "Billink",
|
|
100
|
+
type: "buy_now_pay_later",
|
|
101
|
+
}, // For NL.
|
|
102
|
+
{
|
|
103
|
+
id: 1717,
|
|
104
|
+
name: "Klarna",
|
|
105
|
+
value: types_1.PaymentProviderKeys.KLARNA,
|
|
106
|
+
type: "buy_now_pay_later",
|
|
107
|
+
}, // For NL, BE, DE, SE, NO, FI, DK, AT }, UK & US
|
|
108
|
+
{
|
|
109
|
+
id: 1813,
|
|
110
|
+
name: "iDEAL In3",
|
|
111
|
+
value: types_1.PaymentProviderKeys.IDEAL_IN3,
|
|
112
|
+
type: "buy_now_pay_later",
|
|
113
|
+
}, // For NL. Only EUR.
|
|
114
|
+
{
|
|
115
|
+
id: 1987,
|
|
116
|
+
name: "SprayPay",
|
|
117
|
+
value: types_1.PaymentProviderKeys.SPRAYPAY,
|
|
118
|
+
type: "buy_now_pay_later",
|
|
119
|
+
}, // For NL. Only EUR.
|
|
120
|
+
{ id: 2107, name: "CreditClick", type: "buy_now_pay_later" },
|
|
121
|
+
{ id: 2931, name: "NOTYD", type: "buy_now_pay_later" }, // For NL businesses
|
|
122
|
+
{
|
|
123
|
+
id: 3552,
|
|
124
|
+
name: "AlmaPAY",
|
|
125
|
+
value: types_1.PaymentProviderKeys.ALMAPAY,
|
|
126
|
+
type: "buy_now_pay_later",
|
|
127
|
+
}, // For NL, BE, DE, AT, LU, FR, ES, IT }, PT & IE
|
|
128
|
+
{
|
|
129
|
+
id: 3192,
|
|
130
|
+
name: "Mondu",
|
|
131
|
+
value: types_1.PaymentProviderKeys.MONDU,
|
|
132
|
+
type: "buy_now_pay_later",
|
|
133
|
+
}, // For NL businesses
|
|
134
|
+
/**
|
|
135
|
+
* In-Person Payments (Card Present)
|
|
136
|
+
*/
|
|
137
|
+
{ id: 1013, name: "Bancontact", type: "in_person" },
|
|
138
|
+
{ id: 1002, name: "Visa Electron", type: "in_person" },
|
|
139
|
+
{ id: 1003, name: "V Pay", type: "in_person" },
|
|
140
|
+
{ id: 1009, name: "Maestro", type: "in_person" },
|
|
141
|
+
{ id: 1052, name: "Visa Debit", type: "in_person" },
|
|
142
|
+
{ id: 1053, name: "Mastercard Debit", type: "in_person" },
|
|
143
|
+
{ id: 2002, name: "Visa", type: "in_person" },
|
|
144
|
+
{ id: 2003, name: "Mastercard", type: "in_person" },
|
|
145
|
+
{ id: 2004, name: "American Express", type: "in_person" },
|
|
146
|
+
{ id: 2005, name: "Diners/Discover", type: "in_person" },
|
|
147
|
+
{ id: 2007, name: "JCB", type: "in_person" },
|
|
148
|
+
{ id: 2008, name: "UnionPay", type: "in_person" },
|
|
149
|
+
{ id: 2009, name: "Monizze", type: "in_person" },
|
|
150
|
+
{ id: 2012, name: "CMFC", type: "in_person" },
|
|
151
|
+
{ id: 2014, name: "Basic Card", type: "in_person" },
|
|
152
|
+
{ id: 3003, name: "Sodexo Card", type: "in_person" },
|
|
153
|
+
{ id: 3004, name: "Edenred", type: "in_person" },
|
|
154
|
+
{ id: 3013, name: "CCV Card", type: "in_person" },
|
|
155
|
+
{ id: 3014, name: "Travelcard", type: "in_person" },
|
|
156
|
+
{ id: 3020, name: "Company cards", type: "in_person" },
|
|
157
|
+
{ id: 3021, name: "Wordline WL", type: "in_person" },
|
|
158
|
+
{ id: 3100, name: "Equens WL", type: "in_person" },
|
|
159
|
+
{ id: 3200, name: "Yourgift", type: "in_person" },
|
|
160
|
+
{ id: 3300, name: "Giftcard", type: "in_person" },
|
|
161
|
+
/**
|
|
162
|
+
* Alternative payment methods
|
|
163
|
+
*/
|
|
164
|
+
{ id: 136, name: "Bank Transfer (SCT)", type: "alternative" }, // Only SEPA countries.
|
|
165
|
+
{ id: 137, name: "SEPA Direct Debit", type: "alternative" }, // Only SEPA countries.
|
|
166
|
+
{
|
|
167
|
+
id: 138,
|
|
168
|
+
name: "PayPal",
|
|
169
|
+
value: types_1.PaymentProviderKeys.PAYPAL,
|
|
170
|
+
type: "alternative",
|
|
171
|
+
}, // Not collecting funds
|
|
172
|
+
{ id: 1903, name: "Amazon Pay", type: "alternative" }, //
|
|
173
|
+
{ id: 553, name: "Paysafecard", type: "alternative" }, // For NL, BE, DE, AR, AU, BG, CA, CY, DK, FI, FR, GR, HU, EI, IT, KW, HR, LV, LT, LU, MT, MX, NO, AT, PE, PL, PT, RO, SL, SK, ES, CZ, TR, UR, US, UK, SE }, CH.
|
|
174
|
+
{ id: 1600, name: "Telephone payments", type: "alternative" }, // For NL. Only EUR.
|
|
175
|
+
];
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7O0dBR0c7QUFDSCxpREFBK0U7QUFnQi9FOztHQUVHO0FBQ1UsUUFBQSxpQkFBaUIsR0FBb0I7SUFDaEQ7O09BRUc7SUFDSCxFQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLDJCQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUMsRUFBRSwwQ0FBMEM7SUFDdkg7UUFDRSxFQUFFLEVBQUUsR0FBRztRQUNQLEtBQUssRUFBRSwyQkFBbUIsQ0FBQyxXQUFXO1FBQ3RDLElBQUksRUFBRSxZQUFZO1FBQ2xCLElBQUksRUFBRSxVQUFVO0tBQ2pCLEVBQUUsbUJBQW1CO0lBQ3RCO1FBQ0UsRUFBRSxFQUFFLElBQUk7UUFDUixLQUFLLEVBQUUsMkJBQW1CLENBQUMsU0FBUztRQUNwQyxJQUFJLEVBQUUsYUFBYTtRQUNuQixJQUFJLEVBQUUsVUFBVTtLQUNqQixFQUFFLDBEQUEwRDtJQUM3RCxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUMsRUFBRSx5REFBeUQ7SUFDOUcsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFDLEVBQUUsK0RBQStEO0lBQ3BILEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQyxFQUFFLHdEQUF3RDtJQUM3RyxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFDLEVBQUUsNERBQTREO0lBQzFHO1FBQ0UsRUFBRSxFQUFFLElB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RSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQ2pELEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQztJQUN2RCxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQzNDLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7SUFDakQsRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQ3ZELEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQztJQUN0RCxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQzFDLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7SUFDL0MsRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQztJQUM5QyxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQzNDLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7SUFDakQsRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQztJQUNsRCxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQzlDLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7SUFDL0MsRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQztJQUNqRCxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQ3BELEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7SUFDbEQsRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQztJQUNoRCxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO0lBQy9DLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7SUFDL0M7O09BRUc7SUFDSCxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxhQUFhLEVBQUMsRUFBRSx1QkFBdUI7SUFDcEYsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLEVBQUUsdUJBQXVCO0lBQ2xGO1FBQ0UsRUFBRSxFQUFFLEdBQUc7UUFDUCxJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSwyQkFBbUIsQ0FBQyxNQUFNO1FBQ2pDLElBQUksRUFBRSxhQUFhO0tBQ3BCLEVBQUUsdUJBQXVCO0lBQzFCLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUMsRUFBRSxFQUFFO0lBQ3ZELEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUMsRUFBRSxnS0FBZ0s7SUFDck4sRUFBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLEVBQUUsb0JBQW9CO0NBQ2xGLENBQUEifQ==
|
|
@@ -58,6 +58,7 @@ class PayBase extends utils_1.AbstractPaymentProvider {
|
|
|
58
58
|
process.env.NODE_ENV === "test" ||
|
|
59
59
|
false;
|
|
60
60
|
this.client_ = new pay_client_1.PayClient(options, this.logger_);
|
|
61
|
+
this.eventBusService_ = container.event_bus;
|
|
61
62
|
}
|
|
62
63
|
createPayOrderPayload(order, session_id, paymentMethodInput) {
|
|
63
64
|
const currency = order.currency_code.toUpperCase();
|
|
@@ -279,9 +280,17 @@ class PayBase extends utils_1.AbstractPaymentProvider {
|
|
|
279
280
|
}
|
|
280
281
|
try {
|
|
281
282
|
const payment = await this.client_.getOrder(id);
|
|
282
|
-
|
|
283
|
+
const cancelledStatusses = [
|
|
284
|
+
constants_1.PayPaymentStatus.CANCEL,
|
|
285
|
+
constants_1.PayPaymentStatus.EXPIRED,
|
|
286
|
+
constants_1.PayPaymentStatus.DENIED_64,
|
|
287
|
+
constants_1.PayPaymentStatus.DENIED_63,
|
|
288
|
+
constants_1.PayPaymentStatus.CANCEL_61,
|
|
289
|
+
constants_1.PayPaymentStatus.CHARGEBACK,
|
|
290
|
+
];
|
|
291
|
+
if (cancelledStatusses.includes(payment.status.code)) {
|
|
283
292
|
this.debug_ &&
|
|
284
|
-
this.logger_.info(`Pay. payment ${id} is already expired, no need to cancel`);
|
|
293
|
+
this.logger_.info(`Pay. payment ${id} is already canceled or expired, no need to cancel`);
|
|
285
294
|
return {
|
|
286
295
|
data: {
|
|
287
296
|
id,
|
|
@@ -506,6 +515,13 @@ class PayBase extends utils_1.AbstractPaymentProvider {
|
|
|
506
515
|
case constants_1.PayPaymentStatus.DENIED_63:
|
|
507
516
|
case constants_1.PayPaymentStatus.CANCEL_61:
|
|
508
517
|
case constants_1.PayPaymentStatus.CHARGEBACK:
|
|
518
|
+
await this.eventBusService_.emit({
|
|
519
|
+
name: "pay_payment.canceled",
|
|
520
|
+
data: {
|
|
521
|
+
// This will be the Order ID that has been set during the creation of the payment
|
|
522
|
+
id: payment.reference,
|
|
523
|
+
},
|
|
524
|
+
}, {});
|
|
509
525
|
return {
|
|
510
526
|
action: utils_1.PaymentActions.CANCELED,
|
|
511
527
|
data: baseData,
|
|
@@ -555,4 +571,4 @@ class PayBase extends utils_1.AbstractPaymentProvider {
|
|
|
555
571
|
}
|
|
556
572
|
}
|
|
557
573
|
exports.default = PayBase;
|
|
558
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9jb3JlL3BheS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBNkJBLHFEQU1rQztBQVNsQyw2Q0FBc0M7QUFDdEMsb0RBQTJCO0FBQzNCLDJDQUE0QztBQUM1QywyR0FBa0Y7QUFVbEY7O0dBRUc7QUFDSCxNQUFlLE9BQVEsU0FBUSwrQkFBd0M7SUFNckU7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBd0I7UUFDN0MsSUFDRSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2YsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNqQixDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2YsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNqQixDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQ2xCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFDbEIsQ0FBQztZQUNELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHlHQUF5RyxDQUMxRyxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxTQUFTLEVBQUUsT0FBd0I7UUFDN0MsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQWUzQiwwQkFBcUIsR0FBRyxDQUN0QixLQUFrRCxFQUNsRCxFQUFFO1lBQ0YsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFnQixDQUFBO1lBQ2pELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQTtZQUU3RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzdDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSTtnQkFDekMsQ0FB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
|
|
574
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9jb3JlL3BheS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBNkJBLHFEQU9rQztBQVdsQyw2Q0FBc0M7QUFDdEMsb0RBQTJCO0FBQzNCLDJDQUE0QztBQUM1QywyR0FBa0Y7QUFTbEY7O0dBRUc7QUFDSCxNQUFlLE9BQVEsU0FBUSwrQkFBd0M7SUFPckU7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBd0I7UUFDN0MsSUFDRSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2YsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNqQixDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2YsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNqQixDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQ2xCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFDbEIsQ0FBQztZQUNELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHlHQUF5RyxDQUMxRyxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxTQUFTLEVBQUUsT0FBd0I7UUFDN0MsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQWdCM0IsMEJBQXFCLEdBQUcsQ0FDdEIsS0FBa0QsRUFDbEQsRUFBRTtZQUNGLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBZ0IsQ0FBQTtZQUNqRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUE7WUFFN0QsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUM3QyxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUk7Z0JBQ3pDLENB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
|
|
@@ -3,15 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
exports.getPayServiceByProviderId = void 0;
|
|
7
|
+
const pay_bancontact_1 = __importDefault(require("./pay-bancontact"));
|
|
8
|
+
const pay_creditcard_1 = __importDefault(require("./pay-creditcard"));
|
|
9
|
+
const pay_ideal_1 = __importDefault(require("./pay-ideal"));
|
|
10
|
+
const pay_provider_1 = __importDefault(require("./pay-provider"));
|
|
11
|
+
const pay_softpos_1 = __importDefault(require("./pay-softpos"));
|
|
12
|
+
const serviceClasses = [
|
|
13
|
+
pay_bancontact_1.default,
|
|
14
|
+
pay_creditcard_1.default,
|
|
15
|
+
pay_ideal_1.default,
|
|
16
|
+
pay_provider_1.default,
|
|
17
|
+
pay_softpos_1.default,
|
|
18
|
+
];
|
|
19
|
+
// Build registry once
|
|
20
|
+
const serviceRegistry = {};
|
|
21
|
+
for (const ServiceClass of serviceClasses) {
|
|
22
|
+
serviceRegistry[ServiceClass.identifier] = ServiceClass;
|
|
23
|
+
}
|
|
24
|
+
const getPayServiceByProviderId = (providerId) => serviceRegistry[providerId] || null;
|
|
25
|
+
exports.getPayServiceByProviderId = getPayServiceByProviderId;
|
|
26
|
+
exports.default = serviceRegistry;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzRUFBbUQ7QUFDbkQsc0VBQW1EO0FBQ25ELDREQUF5QztBQUN6QyxrRUFBK0M7QUFDL0MsZ0VBQTZDO0FBRTdDLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLHdCQUFvQjtJQUNwQix3QkFBb0I7SUFDcEIsbUJBQWU7SUFDZixzQkFBa0I7SUFDbEIscUJBQWlCO0NBQ2xCLENBQUE7QUFFRCxzQkFBc0I7QUFDdEIsTUFBTSxlQUFlLEdBQXdCLEVBQUUsQ0FBQTtBQUUvQyxLQUFLLE1BQU0sWUFBWSxJQUFJLGNBQWMsRUFBRSxDQUFDO0lBQzFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFBO0FBQ3pELENBQUM7QUFFTSxNQUFNLHlCQUF5QixHQUFHLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQzlELGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUE7QUFEeEIsUUFBQSx5QkFBeUIsNkJBQ0Q7QUFFckMsa0JBQWUsZUFBZSxDQUFBIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const pay_base_1 = __importDefault(require("../core/pay-base"));
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
class PaySpraypayService extends pay_base_1.default {
|
|
9
|
+
get paymentCreateOptions() {
|
|
10
|
+
return {
|
|
11
|
+
methodId: 3552,
|
|
12
|
+
webhookUrl: this.options_.medusaUrl +
|
|
13
|
+
"/hooks/payment/" +
|
|
14
|
+
types_1.PaymentProviderKeys.ALMAPAY +
|
|
15
|
+
"_pay",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
PaySpraypayService.identifier = types_1.PaymentProviderKeys.ALMAPAY;
|
|
20
|
+
exports.default = PaySpraypayService;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWFsbWFwYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9wYXktYWxtYXBheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFzQztBQUN0QyxvQ0FBNEQ7QUFFNUQsTUFBTSxrQkFBbUIsU0FBUSxrQkFBTztJQUd0QyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUN2QixpQkFBaUI7Z0JBQ2pCLDJCQUFtQixDQUFDLE9BQU87Z0JBQzNCLE1BQU07U0FDVCxDQUFBO0lBQ0gsQ0FBQzs7QUFYTSw2QkFBVSxHQUFHLDJCQUFtQixDQUFDLE9BQU8sQ0FBQTtBQWNqRCxrQkFBZSxrQkFBa0IsQ0FBQSJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const pay_base_1 = __importDefault(require("../core/pay-base"));
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
class PayApplePayService extends pay_base_1.default {
|
|
9
|
+
get paymentCreateOptions() {
|
|
10
|
+
return {
|
|
11
|
+
methodId: 2277,
|
|
12
|
+
webhookUrl: this.options_.medusaUrl +
|
|
13
|
+
"/hooks/payment/" +
|
|
14
|
+
types_1.PaymentProviderKeys.APPLE_PAY +
|
|
15
|
+
"_pay",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
PayApplePayService.identifier = types_1.PaymentProviderKeys.APPLE_PAY;
|
|
20
|
+
exports.default = PayApplePayService;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWFwcGxlLXBheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGF5L3NlcnZpY2VzL3BheS1hcHBsZS1wYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRUFBc0M7QUFDdEMsb0NBQTREO0FBRTVELE1BQU0sa0JBQW1CLFNBQVEsa0JBQU87SUFHdEMsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztnQkFDdkIsaUJBQWlCO2dCQUNqQiwyQkFBbUIsQ0FBQyxTQUFTO2dCQUM3QixNQUFNO1NBQ1QsQ0FBQTtJQUNILENBQUM7O0FBWE0sNkJBQVUsR0FBRywyQkFBbUIsQ0FBQyxTQUFTLENBQUE7QUFjbkQsa0JBQWUsa0JBQWtCLENBQUEifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const pay_base_1 = __importDefault(require("../core/pay-base"));
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
class PayBillinkService extends pay_base_1.default {
|
|
9
|
+
get paymentCreateOptions() {
|
|
10
|
+
return {
|
|
11
|
+
methodId: 1672,
|
|
12
|
+
webhookUrl: this.options_.medusaUrl +
|
|
13
|
+
"/hooks/payment/" +
|
|
14
|
+
types_1.PaymentProviderKeys.BILLINK +
|
|
15
|
+
"_pay",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
PayBillinkService.identifier = types_1.PaymentProviderKeys.BILLINK;
|
|
20
|
+
exports.default = PayBillinkService;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWJpbGxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9wYXktYmlsbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFzQztBQUN0QyxvQ0FBNEQ7QUFFNUQsTUFBTSxpQkFBa0IsU0FBUSxrQkFBTztJQUdyQyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUN2QixpQkFBaUI7Z0JBQ2pCLDJCQUFtQixDQUFDLE9BQU87Z0JBQzNCLE1BQU07U0FDVCxDQUFBO0lBQ0gsQ0FBQzs7QUFYTSw0QkFBVSxHQUFHLDJCQUFtQixDQUFDLE9BQU8sQ0FBQTtBQWNqRCxrQkFBZSxpQkFBaUIsQ0FBQSJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const pay_base_1 = __importDefault(require("../core/pay-base"));
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
class PayBlikService extends pay_base_1.default {
|
|
9
|
+
get paymentCreateOptions() {
|
|
10
|
+
return {
|
|
11
|
+
methodId: 2856,
|
|
12
|
+
webhookUrl: this.options_.medusaUrl +
|
|
13
|
+
"/hooks/payment/" +
|
|
14
|
+
types_1.PaymentProviderKeys.BLIK +
|
|
15
|
+
"_pay",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
PayBlikService.identifier = types_1.PaymentProviderKeys.BLIK;
|
|
20
|
+
exports.default = PayBlikService;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWJsaWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9wYXktYmxpay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFzQztBQUN0QyxvQ0FBNEQ7QUFFNUQsTUFBTSxjQUFlLFNBQVEsa0JBQU87SUFHbEMsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztnQkFDdkIsaUJBQWlCO2dCQUNqQiwyQkFBbUIsQ0FBQyxJQUFJO2dCQUN4QixNQUFNO1NBQ1QsQ0FBQTtJQUNILENBQUM7O0FBWE0seUJBQVUsR0FBRywyQkFBbUIsQ0FBQyxJQUFJLENBQUE7QUFjOUMsa0JBQWUsY0FBYyxDQUFBIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const pay_base_1 = __importDefault(require("../core/pay-base"));
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
class PayTwintService extends pay_base_1.default {
|
|
9
|
+
get paymentCreateOptions() {
|
|
10
|
+
return {
|
|
11
|
+
methodId: 2062,
|
|
12
|
+
webhookUrl: this.options_.medusaUrl +
|
|
13
|
+
"/hooks/payment/" +
|
|
14
|
+
types_1.PaymentProviderKeys.EPS +
|
|
15
|
+
"_pay",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
PayTwintService.identifier = types_1.PaymentProviderKeys.EPS;
|
|
20
|
+
exports.default = PayTwintService;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGF5L3NlcnZpY2VzL3BheS1lcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRUFBc0M7QUFDdEMsb0NBQTREO0FBRTVELE1BQU0sZUFBZ0IsU0FBUSxrQkFBTztJQUduQyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUN2QixpQkFBaUI7Z0JBQ2pCLDJCQUFtQixDQUFDLEdBQUc7Z0JBQ3ZCLE1BQU07U0FDVCxDQUFBO0lBQ0gsQ0FBQzs7QUFYTSwwQkFBVSxHQUFHLDJCQUFtQixDQUFDLEdBQUcsQ0FBQTtBQWM3QyxrQkFBZSxlQUFlLENBQUEifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const pay_base_1 = __importDefault(require("../core/pay-base"));
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
class PayGooglePayService extends pay_base_1.default {
|
|
9
|
+
get paymentCreateOptions() {
|
|
10
|
+
return {
|
|
11
|
+
methodId: 2558,
|
|
12
|
+
webhookUrl: this.options_.medusaUrl +
|
|
13
|
+
"/hooks/payment/" +
|
|
14
|
+
types_1.PaymentProviderKeys.GOOGLE_PAY +
|
|
15
|
+
"_pay",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
PayGooglePayService.identifier = types_1.PaymentProviderKeys.GOOGLE_PAY;
|
|
20
|
+
exports.default = PayGooglePayService;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWdvb2dsZS1wYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9wYXktZ29vZ2xlLXBheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFzQztBQUN0QyxvQ0FBNEQ7QUFFNUQsTUFBTSxtQkFBb0IsU0FBUSxrQkFBTztJQUd2QyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUN2QixpQkFBaUI7Z0JBQ2pCLDJCQUFtQixDQUFDLFVBQVU7Z0JBQzlCLE1BQU07U0FDVCxDQUFBO0lBQ0gsQ0FBQzs7QUFYTSw4QkFBVSxHQUFHLDJCQUFtQixDQUFDLFVBQVUsQ0FBQTtBQWNwRCxrQkFBZSxtQkFBbUIsQ0FBQSJ9
|