@easypayment/medusa-paypal 0.3.2 → 0.3.4
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/src/admin/index.js +7 -7
- package/.medusa/server/src/admin/index.mjs +7 -7
- package/.medusa/server/src/api/store/paypal/config/route.d.ts.map +1 -1
- package/.medusa/server/src/api/store/paypal/config/route.js +28 -3
- package/.medusa/server/src/api/store/paypal/config/route.js.map +1 -1
- package/package.json +1 -1
- package/src/api/store/paypal/config/route.ts +37 -3
|
@@ -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,
|
|
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,2BAwFhE"}
|
|
@@ -26,14 +26,30 @@ async function GET(req, res) {
|
|
|
26
26
|
currencyCode: currency,
|
|
27
27
|
paypalCurrencyOverride: apiDetails?.apiDetails?.currency_code || process.env.PAYPAL_CURRENCY,
|
|
28
28
|
});
|
|
29
|
-
// Read
|
|
29
|
+
// Read settings so frontend SDK mirrors admin controls.
|
|
30
30
|
const settings = await paypal.getSettings().catch(() => ({}));
|
|
31
|
-
const
|
|
32
|
-
? (settings.data
|
|
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
|
+
if (paypalSettings.enabled === false) {
|
|
44
|
+
return res.status(403).json({ message: "PayPal is currently disabled." });
|
|
45
|
+
}
|
|
46
|
+
const disableButtons = Array.isArray(paypalSettings.disableButtons)
|
|
47
|
+
? paypalSettings.disableButtons.filter((value) => typeof value === "string")
|
|
48
|
+
: [];
|
|
49
|
+
const advancedCardSettings = data && typeof data === "object"
|
|
50
|
+
? (data.advanced_card_payments || {})
|
|
51
|
+
: {};
|
|
52
|
+
const cardEnabled = advancedCardSettings.enabled !== false;
|
|
37
53
|
return res.json({
|
|
38
54
|
environment: creds.environment,
|
|
39
55
|
client_id: creds.client_id,
|
|
@@ -43,6 +59,15 @@ async function GET(req, res) {
|
|
|
43
59
|
supported_currencies: (0, currencies_1.getPayPalSupportedCurrencies)(),
|
|
44
60
|
client_token,
|
|
45
61
|
intent: paymentAction, // "capture" or "authorize"
|
|
62
|
+
paypal_enabled: paypalSettings.enabled ?? true,
|
|
63
|
+
paypal_title: paypalSettings.title || "PayPal",
|
|
64
|
+
card_enabled: cardEnabled,
|
|
65
|
+
button_color: paypalSettings.buttonColor || "gold",
|
|
66
|
+
button_shape: paypalSettings.buttonShape || "rect",
|
|
67
|
+
button_width: paypalSettings.buttonWidth || "auto",
|
|
68
|
+
button_height: paypalSettings.buttonHeight ?? 45,
|
|
69
|
+
button_label: paypalSettings.buttonLabel || "paypal",
|
|
70
|
+
disable_buttons: disableButtons,
|
|
46
71
|
});
|
|
47
72
|
}
|
|
48
73
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/config/route.ts"],"names":[],"mappings":";;AAQA,
|
|
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
|
@@ -36,17 +36,42 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
|
|
|
36
36
|
apiDetails?.apiDetails?.currency_code || process.env.PAYPAL_CURRENCY,
|
|
37
37
|
})
|
|
38
38
|
|
|
39
|
-
// Read
|
|
39
|
+
// Read settings so frontend SDK mirrors admin controls.
|
|
40
40
|
const settings = await paypal.getSettings().catch(() => ({}))
|
|
41
|
-
const
|
|
41
|
+
const data =
|
|
42
42
|
settings && typeof settings === "object" && "data" in settings
|
|
43
|
-
? ((settings as any).data
|
|
43
|
+
? ((settings as any).data || {})
|
|
44
|
+
: {}
|
|
45
|
+
|
|
46
|
+
const additionalSettings =
|
|
47
|
+
data && typeof data === "object"
|
|
48
|
+
? ((data as Record<string, any>).additional_settings || {})
|
|
49
|
+
: {}
|
|
50
|
+
|
|
51
|
+
const paypalSettings =
|
|
52
|
+
data && typeof data === "object"
|
|
53
|
+
? ((data as Record<string, any>).paypal_settings || {})
|
|
44
54
|
: {}
|
|
55
|
+
|
|
45
56
|
const paymentAction =
|
|
46
57
|
typeof additionalSettings.paymentAction === "string"
|
|
47
58
|
? additionalSettings.paymentAction
|
|
48
59
|
: "capture"
|
|
49
60
|
|
|
61
|
+
if (paypalSettings.enabled === false) {
|
|
62
|
+
return res.status(403).json({ message: "PayPal is currently disabled." })
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const disableButtons = Array.isArray(paypalSettings.disableButtons)
|
|
66
|
+
? paypalSettings.disableButtons.filter((value: unknown): value is string => typeof value === "string")
|
|
67
|
+
: []
|
|
68
|
+
|
|
69
|
+
const advancedCardSettings =
|
|
70
|
+
data && typeof data === "object"
|
|
71
|
+
? ((data as Record<string, any>).advanced_card_payments || {})
|
|
72
|
+
: {}
|
|
73
|
+
const cardEnabled: boolean = advancedCardSettings.enabled !== false
|
|
74
|
+
|
|
50
75
|
return res.json({
|
|
51
76
|
environment: creds.environment,
|
|
52
77
|
client_id: creds.client_id,
|
|
@@ -56,6 +81,15 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
|
|
|
56
81
|
supported_currencies: getPayPalSupportedCurrencies(),
|
|
57
82
|
client_token,
|
|
58
83
|
intent: paymentAction, // "capture" or "authorize"
|
|
84
|
+
paypal_enabled: paypalSettings.enabled ?? true,
|
|
85
|
+
paypal_title: paypalSettings.title || "PayPal",
|
|
86
|
+
card_enabled: cardEnabled,
|
|
87
|
+
button_color: paypalSettings.buttonColor || "gold",
|
|
88
|
+
button_shape: paypalSettings.buttonShape || "rect",
|
|
89
|
+
button_width: paypalSettings.buttonWidth || "auto",
|
|
90
|
+
button_height: paypalSettings.buttonHeight ?? 45,
|
|
91
|
+
button_label: paypalSettings.buttonLabel || "paypal",
|
|
92
|
+
disable_buttons: disableButtons,
|
|
59
93
|
})
|
|
60
94
|
} catch (e: any) {
|
|
61
95
|
return res.status(500).json({ message: e?.message || "Failed to load PayPal config" })
|