@webbers/pay-payments-medusa 2.2.31 → 2.2.32

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webbers/pay-payments-medusa",
3
3
  "displayName": "Medusa v2 Pay. Plugin",
4
- "version": "2.2.31",
4
+ "version": "2.2.32",
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",
@@ -58,7 +58,7 @@ const sdk = new Medusa__default.default({
58
58
  }
59
59
  });
60
60
  const displayName = "Medusa v2 Pay. Plugin";
61
- const version = "2.2.31";
61
+ const version = "2.2.32";
62
62
  function getSortedPaymentMethods(data) {
63
63
  const { checkoutOptions, checkoutSequence } = data;
64
64
  const { primary } = checkoutSequence.default;
@@ -55,7 +55,7 @@ const sdk = new Medusa({
55
55
  }
56
56
  });
57
57
  const displayName = "Medusa v2 Pay. Plugin";
58
- const version = "2.2.31";
58
+ const version = "2.2.32";
59
59
  function getSortedPaymentMethods(data) {
60
60
  const { checkoutOptions, checkoutSequence } = data;
61
61
  const { primary } = checkoutSequence.default;
@@ -0,0 +1,3 @@
1
+ import type { MedusaRequest, MedusaResponse } from '@medusajs/framework/http';
2
+ export declare const GET: (req: MedusaRequest, res: MedusaResponse) => Promise<MedusaResponse>;
3
+ //# sourceMappingURL=route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/api/store/pay/payment-collections/[id]/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO9E,eAAO,MAAM,GAAG,GAAU,KAAK,aAAa,EAAE,KAAK,cAAc,4BA4HhE,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const createPayOrder_1 = require("@webbers/pay-payments-medusa/utils/createPayOrder");
6
+ const services_1 = require("@webbers/pay-payments-medusa/providers/pay/services");
7
+ const GET = async (req, res) => {
8
+ const { id } = req.params;
9
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
10
+ const paymentModuleService = req.scope.resolve(utils_1.Modules.PAYMENT);
11
+ const configModule = req.scope.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
12
+ const payModuleConfig = configModule.modules
13
+ .payment.options.providers.find((p) => p.id === "pay");
14
+ const payProviderId = payModuleConfig.id;
15
+ const payProviderOptions = payModuleConfig.options;
16
+ const hostedCheckout = `pp_pay-hosted-${payProviderId}`;
17
+ // Check if payment collection already has a payment session with the provider
18
+ const { data: checkPaymentCollections } = await query.graph({
19
+ entity: 'payment_collection',
20
+ fields: ['id', 'amount', 'currency_code', 'payment_sessions.provider_id', 'payment_sessions.data'],
21
+ filters: { id },
22
+ });
23
+ if (checkPaymentCollections.length === 0) {
24
+ return res.json({});
25
+ }
26
+ const existingPaymentCollection = checkPaymentCollections?.[0]?.payment_sessions?.find(ps => ps?.provider_id === hostedCheckout);
27
+ if (existingPaymentCollection) {
28
+ return res.json({ checkout_url: existingPaymentCollection?.data?.links?.checkout });
29
+ }
30
+ // Create payment session for provider
31
+ await paymentModuleService.createPaymentSession(id, {
32
+ provider_id: hostedCheckout,
33
+ amount: checkPaymentCollections?.[0]?.amount,
34
+ currency_code: checkPaymentCollections?.[0]?.currency_code,
35
+ data: {},
36
+ });
37
+ const { data: paymentCollections } = await query.graph({
38
+ entity: 'payment_collection',
39
+ fields: [
40
+ 'id',
41
+ 'order.id',
42
+ 'payment_sessions.id',
43
+ 'payment_sessions.currency_code',
44
+ 'payment_sessions.provider_id',
45
+ 'payment_sessions.data',
46
+ 'payment_sessions.amount',
47
+ 'payment_sessions.context',
48
+ 'payment_sessions.payment.*',
49
+ ],
50
+ filters: { id },
51
+ });
52
+ const paymentCollection = paymentCollections[0];
53
+ if (!paymentCollection?.order?.id) {
54
+ return res.status(404).json({ message: 'Order not found for payment collection' });
55
+ }
56
+ const paymentSession = paymentCollection?.payment_sessions?.find(ps => ps?.provider_id === hostedCheckout);
57
+ if (!paymentSession) {
58
+ return res.status(404).json({ message: 'Payment session not found for payment collection' });
59
+ }
60
+ const getBaseProviderIdFromHostedCheckout = (hostedCheckoutId, providerId) => hostedCheckoutId.replace('pp_', '').replace(`_${providerId}`, '');
61
+ const baseProviderId = getBaseProviderIdFromHostedCheckout(hostedCheckout, payProviderId);
62
+ const payServiceProvider = (0, services_1.getPayServiceByProviderId)(baseProviderId);
63
+ if (!payServiceProvider) {
64
+ return res.status(404).json({ message: 'Payment provider not found' });
65
+ }
66
+ const provider = new payServiceProvider(req.scope, payProviderOptions);
67
+ const { data: orders } = await query.graph({
68
+ entity: 'order',
69
+ fields: createPayOrder_1.defaultCreatePayOrderFields,
70
+ filters: { id: paymentCollection.order.id },
71
+ }, {
72
+ throwIfKeyNotFound: true,
73
+ });
74
+ const order = orders[0];
75
+ const payment = await paymentModuleService.authorizePaymentSession(paymentSession.id, {});
76
+ const payload = provider.createPayOrderPayload(order, paymentSession);
77
+ const updatedPaymentSession = await paymentModuleService.updatePaymentSession({
78
+ id: paymentSession.id,
79
+ data: {
80
+ ...(paymentSession.data ?? {}),
81
+ payload,
82
+ },
83
+ currency_code: paymentSession.currency_code,
84
+ amount: paymentSession.amount,
85
+ });
86
+ if (payment) {
87
+ const updatedPayment = await paymentModuleService.updatePayment({
88
+ id: payment.id,
89
+ // @ts-ignore
90
+ data: {
91
+ ...updatedPaymentSession.data,
92
+ ...payload,
93
+ },
94
+ });
95
+ }
96
+ return res.json({ checkout_url: updatedPaymentSession?.data?.links?.checkout });
97
+ };
98
+ exports.GET = GET;
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BheS9wYXltZW50LWNvbGxlY3Rpb25zL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStFO0FBRS9FLHNGQUFrSDtBQUNsSCxrRkFBZ0c7QUFHekYsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBRTFCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV2RixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUUvRSxNQUFNLGVBQWUsR0FBSSxZQUFZLENBQUMsT0FBUTtTQUMzQyxPQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFBO0lBQ25FLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxFQUFZLENBQUE7SUFDbEQsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLENBQUMsT0FBMEIsQ0FBQTtJQUVyRSxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsYUFBYSxFQUFFLENBQUM7SUFFeEQsOEVBQThFO0lBQzlFLE1BQU0sRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFD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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webbers/pay-payments-medusa",
3
3
  "displayName": "Medusa v2 Pay. Plugin",
4
- "version": "2.2.31",
4
+ "version": "2.2.32",
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",