@easypayment/medusa-paypal 0.3.2 → 0.3.3

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.
@@ -351,6 +351,9 @@ function AdvancedCardPaymentsTab() {
351
351
  )
352
352
  ] }) });
353
353
  }
354
+ function PayPalApplePayPage() {
355
+ return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
356
+ }
354
357
  function PayPalGooglePayPage() {
355
358
  return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
356
359
  }
@@ -938,9 +941,6 @@ function PayPalConnectionPage() {
938
941
  ` })
939
942
  ] });
940
943
  }
941
- function PayPalApplePayPage() {
942
- return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
943
- }
944
944
  function PayPalPayLaterMessagingPage() {
945
945
  return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
946
946
  }
@@ -1351,6 +1351,10 @@ const routeModule = {
1351
1351
  Component: AdvancedCardPaymentsTab,
1352
1352
  path: "/settings/paypal/advanced-card-payments"
1353
1353
  },
1354
+ {
1355
+ Component: PayPalApplePayPage,
1356
+ path: "/settings/paypal/apple-pay"
1357
+ },
1354
1358
  {
1355
1359
  Component: PayPalGooglePayPage,
1356
1360
  path: "/settings/paypal/google-pay"
@@ -1359,10 +1363,6 @@ const routeModule = {
1359
1363
  Component: PayPalConnectionPage,
1360
1364
  path: "/settings/paypal/connection"
1361
1365
  },
1362
- {
1363
- Component: PayPalApplePayPage,
1364
- path: "/settings/paypal/apple-pay"
1365
- },
1366
1366
  {
1367
1367
  Component: PayPalPayLaterMessagingPage,
1368
1368
  path: "/settings/paypal/pay-later-messaging"
@@ -350,6 +350,9 @@ function AdvancedCardPaymentsTab() {
350
350
  )
351
351
  ] }) });
352
352
  }
353
+ function PayPalApplePayPage() {
354
+ return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
355
+ }
353
356
  function PayPalGooglePayPage() {
354
357
  return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
355
358
  }
@@ -937,9 +940,6 @@ function PayPalConnectionPage() {
937
940
  ` })
938
941
  ] });
939
942
  }
940
- function PayPalApplePayPage() {
941
- return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
942
- }
943
943
  function PayPalPayLaterMessagingPage() {
944
944
  return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
945
945
  }
@@ -1350,6 +1350,10 @@ const routeModule = {
1350
1350
  Component: AdvancedCardPaymentsTab,
1351
1351
  path: "/settings/paypal/advanced-card-payments"
1352
1352
  },
1353
+ {
1354
+ Component: PayPalApplePayPage,
1355
+ path: "/settings/paypal/apple-pay"
1356
+ },
1353
1357
  {
1354
1358
  Component: PayPalGooglePayPage,
1355
1359
  path: "/settings/paypal/google-pay"
@@ -1358,10 +1362,6 @@ const routeModule = {
1358
1362
  Component: PayPalConnectionPage,
1359
1363
  path: "/settings/paypal/connection"
1360
1364
  },
1361
- {
1362
- Component: PayPalApplePayPage,
1363
- path: "/settings/paypal/apple-pay"
1364
- },
1365
1365
  {
1366
1366
  Component: PayPalPayLaterMessagingPage,
1367
1367
  path: "/settings/paypal/pay-later-messaging"
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/config/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAQ7E,wBAAsB,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,2BAsDhE"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/config/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAQ7E,wBAAsB,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,2BA6EhE"}
@@ -26,14 +26,23 @@ async function GET(req, res) {
26
26
  currencyCode: currency,
27
27
  paypalCurrencyOverride: apiDetails?.apiDetails?.currency_code || process.env.PAYPAL_CURRENCY,
28
28
  });
29
- // Read payment action from settings so frontend SDK uses correct intent
29
+ // Read settings so frontend SDK mirrors admin controls.
30
30
  const settings = await paypal.getSettings().catch(() => ({}));
31
- const additionalSettings = settings && typeof settings === "object" && "data" in settings
32
- ? (settings.data?.additional_settings || {})
31
+ const data = settings && typeof settings === "object" && "data" in settings
32
+ ? (settings.data || {})
33
+ : {};
34
+ const additionalSettings = data && typeof data === "object"
35
+ ? (data.additional_settings || {})
36
+ : {};
37
+ const paypalSettings = data && typeof data === "object"
38
+ ? (data.paypal_settings || {})
33
39
  : {};
34
40
  const paymentAction = typeof additionalSettings.paymentAction === "string"
35
41
  ? additionalSettings.paymentAction
36
42
  : "capture";
43
+ const disableButtons = Array.isArray(paypalSettings.disableButtons)
44
+ ? paypalSettings.disableButtons.filter((value) => typeof value === "string")
45
+ : [];
37
46
  return res.json({
38
47
  environment: creds.environment,
39
48
  client_id: creds.client_id,
@@ -43,6 +52,14 @@ async function GET(req, res) {
43
52
  supported_currencies: (0, currencies_1.getPayPalSupportedCurrencies)(),
44
53
  client_token,
45
54
  intent: paymentAction, // "capture" or "authorize"
55
+ paypal_enabled: paypalSettings.enabled ?? true,
56
+ paypal_title: paypalSettings.title || "PayPal",
57
+ button_color: paypalSettings.buttonColor || "gold",
58
+ button_shape: paypalSettings.buttonShape || "rect",
59
+ button_width: paypalSettings.buttonWidth || "auto",
60
+ button_height: paypalSettings.buttonHeight ?? 45,
61
+ button_label: paypalSettings.buttonLabel || "paypal",
62
+ disable_buttons: disableButtons,
46
63
  });
47
64
  }
48
65
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/config/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/config/route.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easypayment/medusa-paypal",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Industry-standard PayPal integration for Medusa v2",
5
5
  "license": "MIT",
6
6
  "main": "./.medusa/server/src/index.js",
@@ -36,17 +36,32 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
36
36
  apiDetails?.apiDetails?.currency_code || process.env.PAYPAL_CURRENCY,
37
37
  })
38
38
 
39
- // Read payment action from settings so frontend SDK uses correct intent
39
+ // Read settings so frontend SDK mirrors admin controls.
40
40
  const settings = await paypal.getSettings().catch(() => ({}))
41
- const additionalSettings =
41
+ const data =
42
42
  settings && typeof settings === "object" && "data" in settings
43
- ? ((settings as any).data?.additional_settings || {})
43
+ ? ((settings as any).data || {})
44
+ : {}
45
+
46
+ const additionalSettings =
47
+ data && typeof data === "object"
48
+ ? ((data as Record<string, any>).additional_settings || {})
44
49
  : {}
50
+
51
+ const paypalSettings =
52
+ data && typeof data === "object"
53
+ ? ((data as Record<string, any>).paypal_settings || {})
54
+ : {}
55
+
45
56
  const paymentAction =
46
57
  typeof additionalSettings.paymentAction === "string"
47
58
  ? additionalSettings.paymentAction
48
59
  : "capture"
49
60
 
61
+ const disableButtons = Array.isArray(paypalSettings.disableButtons)
62
+ ? paypalSettings.disableButtons.filter((value: unknown): value is string => typeof value === "string")
63
+ : []
64
+
50
65
  return res.json({
51
66
  environment: creds.environment,
52
67
  client_id: creds.client_id,
@@ -56,6 +71,14 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
56
71
  supported_currencies: getPayPalSupportedCurrencies(),
57
72
  client_token,
58
73
  intent: paymentAction, // "capture" or "authorize"
74
+ paypal_enabled: paypalSettings.enabled ?? true,
75
+ paypal_title: paypalSettings.title || "PayPal",
76
+ button_color: paypalSettings.buttonColor || "gold",
77
+ button_shape: paypalSettings.buttonShape || "rect",
78
+ button_width: paypalSettings.buttonWidth || "auto",
79
+ button_height: paypalSettings.buttonHeight ?? 45,
80
+ button_label: paypalSettings.buttonLabel || "paypal",
81
+ disable_buttons: disableButtons,
59
82
  })
60
83
  } catch (e: any) {
61
84
  return res.status(500).json({ message: e?.message || "Failed to load PayPal config" })