@webbers/pay-payments-medusa 1.0.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.
Files changed (27) hide show
  1. package/.medusa/server/package.json +90 -0
  2. package/.medusa/server/src/admin/index.js +229 -0
  3. package/.medusa/server/src/admin/index.mjs +228 -0
  4. package/.medusa/server/src/api/admin/pay/clear-cache/route.js +23 -0
  5. package/.medusa/server/src/api/admin/pay/payment-methods/route.js +36 -0
  6. package/.medusa/server/src/api/store/pay/payment-methods/route.js +36 -0
  7. package/.medusa/server/src/providers/pay/core/constants.js +52 -0
  8. package/.medusa/server/src/providers/pay/core/http-client.js +107 -0
  9. package/.medusa/server/src/providers/pay/core/pay-base.js +561 -0
  10. package/.medusa/server/src/providers/pay/core/pay-client.js +118 -0
  11. package/.medusa/server/src/providers/pay/index.js +22 -0
  12. package/.medusa/server/src/providers/pay/services/index.js +17 -0
  13. package/.medusa/server/src/providers/pay/services/pay-bancontact.js +21 -0
  14. package/.medusa/server/src/providers/pay/services/pay-creditcard.js +21 -0
  15. package/.medusa/server/src/providers/pay/services/pay-ideal.js +21 -0
  16. package/.medusa/server/src/providers/pay/services/pay-provider.js +23 -0
  17. package/.medusa/server/src/providers/pay/services/pay-softpos.js +20 -0
  18. package/.medusa/server/src/providers/pay/types/common.js +3 -0
  19. package/.medusa/server/src/providers/pay/types/index.js +28 -0
  20. package/.medusa/server/src/providers/pay/types/order.js +3 -0
  21. package/.medusa/server/src/providers/pay/types/transaction.js +3 -0
  22. package/.medusa/server/src/providers/pay/utils/getExpirationForPaymentMethod.js +16 -0
  23. package/.medusa/server/src/providers/pay/utils/getSortedPaymentMethods.js +20 -0
  24. package/.medusa/server/src/providers/pay/utils/paymentMethodMap.js +133 -0
  25. package/.medusa/server/src/workflows/hooks/order-created.js +96 -0
  26. package/README.md +221 -0
  27. package/package.json +90 -0
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayClient = void 0;
4
+ const http_client_1 = require("./http-client");
5
+ const constants_1 = require("../core/constants");
6
+ const package_json_1 = require("../../../../package.json");
7
+ class PayClient {
8
+ constructor(options, logger) {
9
+ this.httpClient_ = new http_client_1.HttpClient({ options, logger });
10
+ this.serviceId_ = options.slCode;
11
+ }
12
+ /**
13
+ * Create a new order.
14
+ * @param data
15
+ * @param returnPath
16
+ */
17
+ async createOrder(data) {
18
+ return await this.httpClient_.tguRequest({
19
+ endpoint: constants_1.PayApiPath.ORDER_CREATE,
20
+ data: {
21
+ ...data,
22
+ serviceId: this.serviceId_,
23
+ stats: {
24
+ object: `${package_json_1.displayName}|version ${package_json_1.version}`,
25
+ },
26
+ },
27
+ });
28
+ }
29
+ async updateOrder(orderId, data) {
30
+ return await this.httpClient_.tguRequest({
31
+ endpoint: constants_1.PayApiPath.ORDER_UPDATE.replace("{id}", orderId),
32
+ data,
33
+ });
34
+ }
35
+ async getOrder(orderId) {
36
+ return await this.httpClient_.tguRequest({
37
+ endpoint: constants_1.PayApiPath.ORDER_STATUS.replace("{id}", orderId),
38
+ method: "GET",
39
+ });
40
+ }
41
+ async captureOrder(orderId) {
42
+ return await this.httpClient_.tguRequest({
43
+ endpoint: constants_1.PayApiPath.ORDER_CAPTURE.replace("{id}", orderId),
44
+ method: "PATCH",
45
+ });
46
+ }
47
+ async abortOrder(orderId) {
48
+ return await this.httpClient_.tguRequest({
49
+ endpoint: constants_1.PayApiPath.ORDER_ABORT.replace("{id}", orderId),
50
+ method: "PATCH",
51
+ });
52
+ }
53
+ /**
54
+ * Get service location config.
55
+ */
56
+ async getConfig() {
57
+ return await this.httpClient_.apiRequest({
58
+ endpoint: constants_1.PayApiPath.GET_CONFIG.replace("{id}", this.serviceId_),
59
+ method: "GET",
60
+ });
61
+ }
62
+ /**
63
+ * Retrieve transaction status.
64
+ * @param orderId
65
+ */
66
+ async getTransaction(orderId) {
67
+ return await this.httpClient_.apiRequest({
68
+ endpoint: constants_1.PayApiPath.GET_TRANSACTION.replace("{id}", orderId),
69
+ method: "GET",
70
+ });
71
+ }
72
+ /**
73
+ * Refunds a captured payment, by ID. For a full refund, include an empty
74
+ * payload in the JSON request body. For a partial refund, include an amount
75
+ * object in the JSON request body.
76
+ * @param paymentId
77
+ * @param data
78
+ */
79
+ async refundPayment(paymentId, data) {
80
+ return await this.httpClient_.apiRequest({
81
+ endpoint: constants_1.PayApiPath.TRANSACTION_REFUND.replace("{id}", paymentId),
82
+ data,
83
+ method: "PATCH",
84
+ });
85
+ }
86
+ /**
87
+ * Create the one-off direct debit
88
+ * @param data
89
+ */
90
+ async createDirectDebit(data) {
91
+ if (this.httpClient_.testMode) {
92
+ console.log("createDirectDebit", data);
93
+ }
94
+ else {
95
+ return await this.httpClient_.restApiV3Request({
96
+ endpoint: constants_1.PayApiPath.DIRECT_DEBIT,
97
+ data: {
98
+ ...data,
99
+ serviceId: this.serviceId_,
100
+ },
101
+ });
102
+ }
103
+ }
104
+ /**
105
+ * Create the one-off direct debit
106
+ * @param data
107
+ */
108
+ async getDirectDebitInfo(mandateId) {
109
+ return await this.httpClient_.restApiV3Request({
110
+ endpoint: constants_1.PayApiPath.DIRECT_DEBIT_INFO,
111
+ data: {
112
+ mandateId,
113
+ },
114
+ });
115
+ }
116
+ }
117
+ exports.PayClient = PayClient;
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGF5L2NvcmUvcGF5LWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBd0M7QUFleEMsaURBQTRDO0FBQzVDLDJEQUE2RDtBQUc3RCxNQUFhLFNBQVM7SUFJcEIsWUFBWSxPQUF3QixFQUFFLE1BQWM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHdCQUFVLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsV0FBVyxDQUNmLElBQW9DO1FBRXBDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUN2QyxRQUFRLEVBQUUsc0JBQVUsQ0FBQyxZQUFZO1lBQ2pDLElBQUksRUFBRTtnQkFDSixHQUFHLElBQUk7Z0JBQ1AsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMxQixLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFLEdBQUcsMEJBQVcsWUFBWSxzQkFBTyxFQUFFO2lCQUM1QzthQUNGO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQ2YsT0FBZSxFQUNmLElBQWlCO1FBRWpCLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUN2QyxRQUFRLEVBQUUsc0JBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7WUFDMUQsSUFBSTtTQUNMLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQWU7UUFDNUIsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMs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
@@ -0,0 +1,22 @@
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 utils_1 = require("@medusajs/framework/utils");
7
+ const pay_bancontact_1 = __importDefault(require("./services/pay-bancontact"));
8
+ const pay_creditcard_1 = __importDefault(require("./services/pay-creditcard"));
9
+ const pay_ideal_1 = __importDefault(require("./services/pay-ideal"));
10
+ const pay_provider_1 = __importDefault(require("./services/pay-provider"));
11
+ const pay_softpos_1 = __importDefault(require("./services/pay-softpos"));
12
+ const services = [
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
+ exports.default = (0, utils_1.ModuleProvider)(utils_1.Modules.PAYMENT, {
20
+ services,
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUFpRTtBQUVqRSwrRUFBNEQ7QUFDNUQsK0VBQTREO0FBQzVELHFFQUFrRDtBQUNsRCwyRUFBd0Q7QUFDeEQseUVBQXNEO0FBRXRELE1BQU0sUUFBUSxHQUFHO0lBQ2Ysd0JBQW9CO0lBQ3BCLHdCQUFvQjtJQUNwQixtQkFBZTtJQUNmLHNCQUFrQjtJQUNsQixxQkFBaUI7Q0FDbEIsQ0FBQTtBQUVELGtCQUFlLElBQUEsc0JBQWMsRUFBQyxlQUFPLENBQUMsT0FBTyxFQUFFO0lBQzdDLFFBQVE7Q0FDVCxDQUFDLENBQUEifQ==
@@ -0,0 +1,17 @@
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
+ exports.PaySoftposService = exports.PayProviderService = exports.PayIdealService = exports.PayCreditcardService = exports.PayBancontactService = void 0;
7
+ var pay_bancontact_1 = require("./pay-bancontact");
8
+ Object.defineProperty(exports, "PayBancontactService", { enumerable: true, get: function () { return __importDefault(pay_bancontact_1).default; } });
9
+ var pay_creditcard_1 = require("./pay-creditcard");
10
+ Object.defineProperty(exports, "PayCreditcardService", { enumerable: true, get: function () { return __importDefault(pay_creditcard_1).default; } });
11
+ var pay_ideal_1 = require("./pay-ideal");
12
+ Object.defineProperty(exports, "PayIdealService", { enumerable: true, get: function () { return __importDefault(pay_ideal_1).default; } });
13
+ var pay_provider_1 = require("./pay-provider");
14
+ Object.defineProperty(exports, "PayProviderService", { enumerable: true, get: function () { return __importDefault(pay_provider_1).default; } });
15
+ var pay_softpos_1 = require("./pay-softpos");
16
+ Object.defineProperty(exports, "PaySoftposService", { enumerable: true, get: function () { return __importDefault(pay_softpos_1).default; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBZ0U7QUFBeEQsdUlBQUEsT0FBTyxPQUF3QjtBQUN2QyxtREFBZ0U7QUFBeEQsdUlBQUEsT0FBTyxPQUF3QjtBQUN2Qyx5Q0FBc0Q7QUFBOUMsNkhBQUEsT0FBTyxPQUFtQjtBQUNsQywrQ0FBNEQ7QUFBcEQsbUlBQUEsT0FBTyxPQUFzQjtBQUNyQyw2Q0FBMEQ7QUFBbEQsaUlBQUEsT0FBTyxPQUFxQiJ9
@@ -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 PayBancontactService extends pay_base_1.default {
9
+ get paymentCreateOptions() {
10
+ return {
11
+ method_id: 436,
12
+ webhookUrl: this.options_.medusaUrl +
13
+ "/hooks/payment/" +
14
+ types_1.PaymentProviderKeys.BAN_CONTACT +
15
+ "_pay",
16
+ };
17
+ }
18
+ }
19
+ PayBancontactService.identifier = types_1.PaymentProviderKeys.BAN_CONTACT;
20
+ exports.default = PayBancontactService;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWJhbmNvbnRhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9wYXktYmFuY29udGFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFzQztBQUN0QyxvQ0FBNEQ7QUFFNUQsTUFBTSxvQkFBcUIsU0FBUSxrQkFBTztJQUd4QyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsU0FBUyxFQUFFLEdBQUc7WUFDZCxVQUFVLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUN2QixpQkFBaUI7Z0JBQ2pCLDJCQUFtQixDQUFDLFdBQVc7Z0JBQy9CLE1BQU07U0FDVCxDQUFBO0lBQ0gsQ0FBQzs7QUFYTSwrQkFBVSxHQUFHLDJCQUFtQixDQUFDLFdBQVcsQ0FBQTtBQWNyRCxrQkFBZSxvQkFBb0IsQ0FBQSJ9
@@ -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 PayCreditcardService extends pay_base_1.default {
9
+ get paymentCreateOptions() {
10
+ return {
11
+ method_id: 706,
12
+ webhookUrl: this.options_.medusaUrl +
13
+ "/hooks/payment/" +
14
+ types_1.PaymentProviderKeys.CREDITCARD +
15
+ "_pay",
16
+ };
17
+ }
18
+ }
19
+ PayCreditcardService.identifier = types_1.PaymentProviderKeys.CREDITCARD;
20
+ exports.default = PayCreditcardService;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWNyZWRpdGNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9wYXktY3JlZGl0Y2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFzQztBQUN0QyxvQ0FBNEQ7QUFFNUQsTUFBTSxvQkFBcUIsU0FBUSxrQkFBTztJQUd4QyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsU0FBUyxFQUFFLEdBQUc7WUFDZCxVQUFVLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUN2QixpQkFBaUI7Z0JBQ2pCLDJCQUFtQixDQUFDLFVBQVU7Z0JBQzlCLE1BQU07U0FDVCxDQUFBO0lBQ0gsQ0FBQzs7QUFYTSwrQkFBVSxHQUFHLDJCQUFtQixDQUFDLFVBQVUsQ0FBQTtBQWNwRCxrQkFBZSxvQkFBb0IsQ0FBQSJ9
@@ -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 PayIdealService extends pay_base_1.default {
9
+ get paymentCreateOptions() {
10
+ return {
11
+ method_id: 10,
12
+ webhookUrl: this.options_.medusaUrl +
13
+ "/hooks/payment/" +
14
+ types_1.PaymentProviderKeys.IDEAL +
15
+ "_pay",
16
+ };
17
+ }
18
+ }
19
+ PayIdealService.identifier = types_1.PaymentProviderKeys.IDEAL;
20
+ exports.default = PayIdealService;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LWlkZWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9wYXkvc2VydmljZXMvcGF5LWlkZWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0VBQXNDO0FBQ3RDLG9DQUE0RDtBQUU1RCxNQUFNLGVBQWdCLFNBQVEsa0JBQU87SUFHbkMsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTztZQUNMLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztnQkFDdkIsaUJBQWlCO2dCQUNqQiwyQkFBbUIsQ0FBQyxLQUFLO2dCQUN6QixNQUFNO1NBQ1QsQ0FBQTtJQUNILENBQUM7O0FBWE0sMEJBQVUsR0FBRywyQkFBbUIsQ0FBQyxLQUFLLENBQUE7QUFjL0Msa0JBQWUsZUFBZSxDQUFBIn0=
@@ -0,0 +1,23 @@
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 PayProviderService extends pay_base_1.default {
9
+ constructor(_, options) {
10
+ super(_, options);
11
+ }
12
+ get paymentCreateOptions() {
13
+ return {
14
+ webhookUrl: this.options_.medusaUrl +
15
+ "/hooks/payment/" +
16
+ types_1.PaymentProviderKeys.PAY_HOSTED_CHECKOUT +
17
+ "_pay",
18
+ };
19
+ }
20
+ }
21
+ PayProviderService.identifier = types_1.PaymentProviderKeys.PAY_HOSTED_CHECKOUT;
22
+ exports.default = PayProviderService;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9wYXkvc2VydmljZXMvcGF5LXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0VBQXNDO0FBQ3RDLG9DQUE0RDtBQUU1RCxNQUFNLGtCQUFtQixTQUFRLGtCQUFPO0lBR3RDLFlBQVksQ0FBQyxFQUFFLE9BQU87UUFDcEIsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTztZQUNMLFVBQVUsRUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7Z0JBQ3ZCLGlCQUFpQjtnQkFDakIsMkJBQW1CLENBQUMsbUJBQW1CO2dCQUN2QyxNQUFNO1NBQ1QsQ0FBQTtJQUNILENBQUM7O0FBZE0sNkJBQVUsR0FBRywyQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQTtBQWlCN0Qsa0JBQWUsa0JBQWtCLENBQUEifQ==
@@ -0,0 +1,20 @@
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 PaySoftposService extends pay_base_1.default {
9
+ get paymentCreateOptions() {
10
+ return {
11
+ webhookUrl: this.options_.medusaUrl +
12
+ "/hooks/payment/" +
13
+ types_1.PaymentProviderKeys.SOFTPOS +
14
+ "_pay",
15
+ };
16
+ }
17
+ }
18
+ PaySoftposService.identifier = types_1.PaymentProviderKeys.SOFTPOS;
19
+ exports.default = PaySoftposService;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5LXNvZnRwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS9zZXJ2aWNlcy9wYXktc29mdHBvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUFzQztBQUN0QyxvQ0FBNEQ7QUFFNUQsTUFBTSxpQkFBa0IsU0FBUSxrQkFBTztJQUdyQyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsVUFBVSxFQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztnQkFDdkIsaUJBQWlCO2dCQUNqQiwyQkFBbUIsQ0FBQyxPQUFPO2dCQUMzQixNQUFNO1NBQ1QsQ0FBQTtJQUNILENBQUM7O0FBVk0sNEJBQVUsR0FBRywyQkFBbUIsQ0FBQyxPQUFPLENBQUE7QUFhakQsa0JBQWUsaUJBQWlCLENBQUEifQ==
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9wYXkvdHlwZXMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.PaymentProviderKeys = void 0;
18
+ exports.PaymentProviderKeys = {
19
+ PAY_HOSTED_CHECKOUT: "pay-hosted-checkout",
20
+ BAN_CONTACT: "pay-bancontact",
21
+ CREDITCARD: "pay-creditcard-group",
22
+ IDEAL: "pay-ideal",
23
+ SOFTPOS: "pay-softpos",
24
+ };
25
+ __exportStar(require("./common"), exports);
26
+ __exportStar(require("./order"), exports);
27
+ __exportStar(require("./transaction"), exports);
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQXdCYSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLG1CQUFtQixFQUFFLHFCQUFxQjtJQUMxQyxXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFQUFFLFdBQVc7SUFDbEIsT0FBTyxFQUFFLGFBQWE7Q0FDdkIsQ0FBQTtBQVNELDJDQUF3QjtBQUN4QiwwQ0FBdUI7QUFDdkIsZ0RBQTZCIn0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS90eXBlcy9vcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS90eXBlcy90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const paymentMethodMap_1 = require("./paymentMethodMap");
4
+ function getExpirationForPaymentMethod(paymentMethod) {
5
+ if (paymentMethodMap_1.regionalPaymentMethods[paymentMethod?.id]) {
6
+ return "+15 minutes";
7
+ }
8
+ if (paymentMethodMap_1.bnplPaymentMethods[paymentMethod?.id] &&
9
+ // Exclude SprayPay
10
+ paymentMethod.id !== 1987) {
11
+ return "+30 minutes";
12
+ }
13
+ return "+4 hours";
14
+ }
15
+ exports.default = getExpirationForPaymentMethod;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RXhwaXJhdGlvbkZvclBheW1lbnRNZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS91dGlscy9nZXRFeHBpcmF0aW9uRm9yUGF5bWVudE1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHlEQUE2RTtBQUU3RSxTQUFTLDZCQUE2QixDQUFDLGFBQStCO0lBQ3BFLElBQUkseUNBQXNCLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUMsT0FBTyxhQUFhLENBQUE7SUFDdEIsQ0FBQztJQUVELElBQ0UscUNBQWtCLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztRQUNyQyxtQkFBbUI7UUFDbkIsYUFBYSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQ3pCLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQztBQUVELGtCQUFlLDZCQUE2QixDQUFBIn0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getSortedPaymentMethods(data) {
4
+ const { checkoutOptions, checkoutSequence } = data;
5
+ const { primary } = checkoutSequence.default;
6
+ // Create a map of tag -> checkoutOption for quick lookup
7
+ const optionsMap = new Map();
8
+ checkoutOptions.forEach((option) => optionsMap.set(option.tag, option));
9
+ // Flatten paymentMethods in the order of `primary`
10
+ const sortedPaymentMethods = [];
11
+ for (const tag of primary) {
12
+ const option = optionsMap.get(tag);
13
+ if (option && option.paymentMethods) {
14
+ sortedPaymentMethods.push(...option.paymentMethods);
15
+ }
16
+ }
17
+ return sortedPaymentMethods;
18
+ }
19
+ exports.default = getSortedPaymentMethods;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U29ydGVkUGF5bWVudE1ldGhvZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheS91dGlscy9nZXRTb3J0ZWRQYXltZW50TWV0aG9kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLFNBQVMsdUJBQXVCLENBQzlCLElBR0M7SUFFRCxNQUFNLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLEdBQUcsSUFBSSxDQUFBO0lBQ2hELE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUE7SUFFMUMseURBQXlEO0lBQ3pELE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUE2QixDQUFBO0lBQ3ZELGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRXZFLG1EQUFtRDtJQUNuRCxNQUFNLG9CQUFvQixHQUF3QyxFQUFFLENBQUE7SUFFcEUsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMxQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2xDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDckQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLG9CQUFvQixDQUFBO0FBQzdCLENBQUM7QUFFRCxrQkFBZSx1QkFBdUIsQ0FBQSJ9
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * All available payment methods for Pay.
4
+ * See: https://developer.pay.nl/docs/payment-option-ids-subids
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.subIdsIdealBanks = exports.paymentMethodMap = exports.alternativePaymentMethods = exports.bnplPaymentMethods = exports.inPersonPaymentMethods = exports.cnpPaymentMethods = exports.regionalPaymentMethods = void 0;
8
+ /**
9
+ * Country or region specific payment methods
10
+ */
11
+ exports.regionalPaymentMethods = {
12
+ 10: "iDEAL", // For NL. Only EUR. See below for SubID's
13
+ 436: "Bancontact", // For BE. Only EUR
14
+ 2970: "Pay By Bank", // Pay By Bank, Based on PSD2 Payment Initiation Servies
15
+ 559: "SOFORT Banking", // E-commerce. For DE, AT, CH, PL, BE and ES. Only EUR.
16
+ 577: "SOFORT Banking", // Digital Services. For DE, AT, CH, PL, BE and ES. Only EUR.
17
+ 595: "SOFORT Banking", // High Risk. For DE, AT, CH, PL, BE and ES. Only EUR.
18
+ 694: "Giropay", // For DE. Not all local banks support Giropay. (Depricated)
19
+ 1978: "WeChat Pay e-commerce", // For CN.
20
+ 2074: "WeChat Quickpay", // For CN.
21
+ 2062: "EPS Überweisung", // For AT. Only EUR.
22
+ 2080: "Alipay", // For CN.
23
+ 2151: "Przelewy24", // For PL. Only PLN.
24
+ 2271: "Multibanco", // For PT. Only EUR.
25
+ 2379: "Payconiq", // For BE and LU. Only EUR.
26
+ 2718: "Trustly", // For SE, FI, DE, NL, UK, EE, LV, LT, DK, PL, NO, ES, CZ, BE, AT and SK. Local currencies.
27
+ 2856: "Blik", // For PL.
28
+ 3558: "MobilePay", // For DK & FI
29
+ 2907: "AliPay PLUS", // For CN.
30
+ };
31
+ /**
32
+ * Card Not Present payments
33
+ */
34
+ exports.cnpPaymentMethods = {
35
+ 706: "Visa / Mastercard",
36
+ 709: "Visa / Mastercard", // High risk
37
+ 3141: "Visa",
38
+ 3138: "Mastercard",
39
+ 707: "PostePay",
40
+ 708: "PostePay", // High risk
41
+ 2268: "Carte Bancaire",
42
+ 712: "Maestro",
43
+ 715: "Maestro", // High risk
44
+ 1705: "American Express",
45
+ 1939: "Dankort",
46
+ 1945: "Nexi",
47
+ 2277: "Apple Pay",
48
+ 2558: "Google Pay",
49
+ };
50
+ /**
51
+ * In-Person Payments (Card Present)
52
+ */
53
+ exports.inPersonPaymentMethods = {
54
+ 1013: "Bancontact",
55
+ 1002: "Visa Electron",
56
+ 1003: "V Pay",
57
+ 1009: "Maestro",
58
+ 1052: "Visa Debit",
59
+ 1053: "Mastercard Debit",
60
+ 2002: "Visa",
61
+ 2003: "Mastercard",
62
+ 2004: "American Express",
63
+ 2005: "Diners/Discover",
64
+ 2007: "JCB",
65
+ 2008: "UnionPay",
66
+ 2009: "Monizze",
67
+ 2012: "CMFC",
68
+ 2014: "Basic Card",
69
+ 3003: "Sodexo Card",
70
+ 3004: "Edenred",
71
+ 3013: "CCV Card",
72
+ 3014: "Travelcard",
73
+ 3020: "Company cards",
74
+ 3021: "Wordline WL",
75
+ 3100: "Equens WL",
76
+ 3200: "Yourgift",
77
+ 3300: "Giftcard",
78
+ };
79
+ /**
80
+ * BNPL & Installments
81
+ */
82
+ exports.bnplPaymentMethods = {
83
+ 2561: "Riverty",
84
+ 1672: "Billink", // For NL.
85
+ 1717: "Klarna", // For NL, BE, DE, SE, NO, FI, DK, AT, UK & US
86
+ 1813: "iDEAL In3", // For NL. Only EUR.
87
+ 3192: "In3 Business", // For NL businesses
88
+ 1987: "SprayPay", // For NL. Only EUR.
89
+ 2107: "CreditClick",
90
+ 2931: "NOTYD", // For NL businesses
91
+ 3552: "AlmaPAY", // For NL, BE, DE, AT, LU, FR, ES, IT, PT & IE
92
+ };
93
+ /**
94
+ * Alternative payment methods
95
+ */
96
+ exports.alternativePaymentMethods = {
97
+ 136: "Bank Transfer (SCT)", // Only SEPA countries.
98
+ 137: "SEPA Direct Debit", // Only SEPA countries.
99
+ 138: "PayPal", // Not collecting funds
100
+ 1903: "Amazon Pay", //
101
+ 553: "Paysafecard", // 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.
102
+ 1600: "Telephone payments", // For NL. Only EUR.
103
+ };
104
+ /**
105
+ * Combined all payment methods
106
+ */
107
+ exports.paymentMethodMap = {
108
+ ...exports.regionalPaymentMethods,
109
+ ...exports.cnpPaymentMethods,
110
+ ...exports.inPersonPaymentMethods,
111
+ ...exports.bnplPaymentMethods,
112
+ ...exports.alternativePaymentMethods,
113
+ };
114
+ /**
115
+ * SubID's of iDEAL banks
116
+ */
117
+ exports.subIdsIdealBanks = {
118
+ 1: "ABN AMRO", // ABNANL2A
119
+ 2: "Rabobank", // RABONL2U
120
+ 4: "ING Bank", // INGBNL2A
121
+ 8: "ASN Bank", // ASNBNL21
122
+ 5: "SNS Bank", // SNSBNL2A
123
+ 9: "RegioBank", // RBRBNL21
124
+ 10: "Triodos Bank", // TRIONL2U
125
+ 11: "Van Lanschot Bankiers", // FVLBNL22
126
+ 12: "Knab", // KNABNL2H
127
+ 5080: "bunq", // BUNQNL2A
128
+ 5084: "Revolut", // REVONL2A
129
+ 23355: "N26", // NTSBDEB1
130
+ 23358: "yoursafe", // BITSNL2A
131
+ 23361: "Nationale Nederlanden", // NNBANL2G
132
+ };
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudE1ldGhvZE1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGF5L3V0aWxzL3BheW1lbnRNZXRob2RNYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUg7O0dBRUc7QUFDVSxRQUFBLHNCQUFzQixHQUEyQjtJQUM1RCxFQUFFLEVBQUUsT0FBTyxFQUFFLDBDQUEwQztJQUN2RCxHQUFHLEVBQUUsWUFBWSxFQUFFLG1CQUFtQjtJQUN0QyxJQUFJLEVBQUUsYUFBYSxFQUFFLHdEQUF3RDtJQUM3RSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsdURBQXVEO0lBQzlFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSw2REFBNkQ7SUFDcEYsR0FBRyxFQUFFLGdCQUFnQixFQUFFLHNEQUFzRDtJQUM3RSxHQUFHLEVBQUUsU0FBUyxFQUFFLDREQUE0RDtJQUM1RSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsVUFBVTtJQUN6QyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsVUFBVTtJQUNuQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CO0lBQzdDLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVTtJQUMxQixJQUFJLEVBQUUsWUFBWSxFQUFFLG9CQUFvQjtJQUN4QyxJQUFJLEVBQUUsWUFBWSxFQUFFLG9CQUFvQjtJQUN4QyxJQUFJLEVBQUUsVUFBVSxFQUFFLDJCQUEyQjtJQUM3QyxJQUFJLEVBQUUsU0FBUyxFQUFFLDJGQUEyRjtJQUM1RyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVU7SUFDeEIsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjO0lBQ2pDLElBQUksRUFBRSxhQUFhLEVBQUUsVUFBVTtDQUNoQyxDQUFBO0FBRUQ7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUEyQjtJQUN2RCxHQUFHLEVBQUUsbUJBQW1CO0lBQ3hCLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxZQUFZ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
@@ -0,0 +1,96 @@
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 utils_1 = require("@medusajs/framework/utils");
7
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
8
+ const pay_provider_1 = __importDefault(require("../../providers/pay/services/pay-provider"));
9
+ /**
10
+ * Pay. needs order information to validate and/or verify with after pay payment
11
+ * solutions. Therefore, Medusa payment sessions are ignored, but then we need to
12
+ * create the Pay. order payment here in the order created flow.
13
+ */
14
+ // @ts-ignore
15
+ core_flows_1.completeCartWorkflow.hooks.orderCreated(async ({ order_id, cart_id }, { container }) => {
16
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
17
+ const paymentModuleService = container.resolve(utils_1.Modules.PAYMENT);
18
+ const configModule = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
19
+ const payProviderOptions = configModule.modules
20
+ .payment.options.providers.find((p) => p.id === "pay")
21
+ .options;
22
+ const { data: [order], } = await query.graph({
23
+ entity: "order",
24
+ fields: [
25
+ "id",
26
+ "display_id",
27
+ "total",
28
+ "currency_code",
29
+ "subtotal",
30
+ "tax_total",
31
+ "discount_total",
32
+ "discount_subtotal",
33
+ "discount_tax_total",
34
+ "gift_card_total",
35
+ "gift_card_tax_total",
36
+ "shipping_total",
37
+ "shipping_subtotal",
38
+ "shipping_tax_total",
39
+ "original_total",
40
+ "original_subtotal",
41
+ "original_tax_total",
42
+ "item_total",
43
+ "item_subtotal",
44
+ "item_tax_total",
45
+ "original_item_total",
46
+ "original_item_subtotal",
47
+ "original_item_tax_total",
48
+ "items.*",
49
+ "customer.*",
50
+ "shipping_address.*",
51
+ "billing_address.*",
52
+ "sales_channel.*",
53
+ "payment_collections.*",
54
+ "payment_collections.payment_sessions.*",
55
+ ],
56
+ filters: { id: order_id },
57
+ }, {
58
+ throwIfKeyNotFound: true,
59
+ });
60
+ // Check if there is a Pay. payment pending, if so update payment status to
61
+ // pending and update the Pay. order information
62
+ let payPaymentSession;
63
+ for (const pc of order.payment_collections ?? []) {
64
+ if (!pc?.payment_sessions)
65
+ continue;
66
+ const paymentSession = pc.payment_sessions.find((p) => p.provider_id.startsWith("pp_pay"));
67
+ if (paymentSession) {
68
+ payPaymentSession = paymentSession;
69
+ break;
70
+ }
71
+ }
72
+ if (!!payPaymentSession) {
73
+ await paymentModuleService.updatePaymentCollections(payPaymentSession.payment_collection_id, {
74
+ status: utils_1.PaymentCollectionStatus.NOT_PAID,
75
+ });
76
+ const payProviderService = new pay_provider_1.default(container, payProviderOptions);
77
+ const updatedPaymentSession = await paymentModuleService.updatePaymentSession({
78
+ id: payPaymentSession.id,
79
+ data: {
80
+ ...(payPaymentSession.data ?? {}),
81
+ payload: payProviderService.createPayOrderPayload(order, payPaymentSession.data?.session_id, payPaymentSession.data
82
+ ?.paymentMethodInput),
83
+ },
84
+ currency_code: payPaymentSession.currency_code,
85
+ amount: payPaymentSession.amount,
86
+ });
87
+ if (updatedPaymentSession.payment?.id) {
88
+ await paymentModuleService.updatePayment({
89
+ id: updatedPaymentSession.payment.id,
90
+ // @ts-ignore
91
+ data: updatedPaymentSession.data,
92
+ });
93
+ }
94
+ }
95
+ });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItY3JlYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaG9va3Mvb3JkZXItY3JlYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUlrQztBQUNsQyw0REFBZ0U7QUFTaEUsNkZBQTBFO0FBVzFFOzs7O0dBSUc7QUFDSCxhQUFhO0FBQ2IsaUNBQW9CLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FDckMsS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUErQixFQUFFLEVBQUU7SUFDdkUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzVDLGVBQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUE7SUFDRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNwQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQ3hDLENBQUE7SUFFRCxNQUFNLGtCQUFrQixHQUFJLFlBQVksQ0FBQyxPQUFRO1NBQzlDLE9BQWdCLENBQUMsT0FBUSxDQUFDLFNBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDO1NBQ2hFLE9BQTBCLENBQUE7SUFFN0IsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQStCLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FDL0M7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixZQUFZO1lBQ1osT0FBTztZQUNQLGVBQWU7WUFDZixVQUFVO1lBQ1YsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGlCQUFp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