@easypayment/medusa-payment-paypal 0.9.4 → 0.9.5

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 (190) hide show
  1. package/.medusa/server/src/admin/index.d.ts +2 -0
  2. package/.medusa/server/src/admin/index.d.ts.map +1 -0
  3. package/.medusa/server/src/admin/index.js +194 -239
  4. package/.medusa/server/src/admin/index.js.map +1 -0
  5. package/.medusa/server/src/admin/index.mjs +195 -240
  6. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.d.ts +8 -0
  7. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.d.ts.map +1 -0
  8. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.js +8 -0
  9. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.js.map +1 -0
  10. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.d.ts +8 -0
  11. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.d.ts.map +1 -0
  12. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.js +8 -0
  13. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.js.map +1 -0
  14. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.d.ts +2 -0
  15. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.d.ts.map +1 -0
  16. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.js +25 -0
  17. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.js.map +1 -0
  18. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.d.ts +12 -0
  19. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.d.ts.map +1 -0
  20. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.js +22 -0
  21. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.js.map +1 -0
  22. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.d.ts +7 -0
  23. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.d.ts.map +1 -0
  24. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.js +40 -0
  25. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.js.map +1 -0
  26. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.d.ts +2 -0
  27. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.d.ts.map +1 -0
  28. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.js +76 -0
  29. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.js.map +1 -0
  30. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.d.ts +2 -0
  31. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.d.ts.map +1 -0
  32. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.js +81 -0
  33. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.js.map +1 -0
  34. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.d.ts +2 -0
  35. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.d.ts.map +1 -0
  36. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.js +9 -0
  37. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.js.map +1 -0
  38. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.d.ts +20 -0
  39. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.d.ts.map +1 -0
  40. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js +440 -0
  41. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js.map +1 -0
  42. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.d.ts +2 -0
  43. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.d.ts.map +1 -0
  44. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.js +9 -0
  45. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.js.map +1 -0
  46. package/.medusa/server/src/admin/routes/settings/paypal/page.d.ts +4 -0
  47. package/.medusa/server/src/admin/routes/settings/paypal/page.d.ts.map +1 -0
  48. package/.medusa/server/src/admin/routes/settings/paypal/page.js +14 -0
  49. package/.medusa/server/src/admin/routes/settings/paypal/page.js.map +1 -0
  50. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.d.ts +2 -0
  51. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.d.ts.map +1 -0
  52. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.js +9 -0
  53. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.js.map +1 -0
  54. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.d.ts +2 -0
  55. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.d.ts.map +1 -0
  56. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.js +109 -0
  57. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.js.map +1 -0
  58. package/.medusa/server/src/api/admin/payment-collections/[id]/payment-sessions/route.d.ts +1 -1
  59. package/.medusa/server/src/api/admin/payment-collections/[id]/payment-sessions/route.d.ts.map +1 -1
  60. package/.medusa/server/src/api/admin/payment-collections/[id]/payment-sessions/route.js +24 -9
  61. package/.medusa/server/src/api/admin/payment-collections/[id]/payment-sessions/route.js.map +1 -1
  62. package/.medusa/server/src/api/admin/paypal/disconnect/route.d.ts.map +1 -1
  63. package/.medusa/server/src/api/admin/paypal/disconnect/route.js +10 -3
  64. package/.medusa/server/src/api/admin/paypal/disconnect/route.js.map +1 -1
  65. package/.medusa/server/src/api/admin/paypal/environment/route.js +2 -2
  66. package/.medusa/server/src/api/admin/paypal/environment/route.js.map +1 -1
  67. package/.medusa/server/src/api/admin/paypal/onboard-complete/route.d.ts.map +1 -1
  68. package/.medusa/server/src/api/admin/paypal/onboard-complete/route.js +3 -2
  69. package/.medusa/server/src/api/admin/paypal/onboard-complete/route.js.map +1 -1
  70. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.js +1 -1
  71. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.js.map +1 -1
  72. package/.medusa/server/src/api/admin/paypal/onboarding-status/route.js +4 -4
  73. package/.medusa/server/src/api/admin/paypal/onboarding-status/route.js.map +1 -1
  74. package/.medusa/server/src/api/admin/paypal/save-credentials/route.d.ts.map +1 -1
  75. package/.medusa/server/src/api/admin/paypal/save-credentials/route.js +21 -8
  76. package/.medusa/server/src/api/admin/paypal/save-credentials/route.js.map +1 -1
  77. package/.medusa/server/src/api/admin/paypal/settings/route.d.ts.map +1 -1
  78. package/.medusa/server/src/api/admin/paypal/settings/route.js +34 -4
  79. package/.medusa/server/src/api/admin/paypal/settings/route.js.map +1 -1
  80. package/.medusa/server/src/api/admin/paypal/status/route.d.ts.map +1 -1
  81. package/.medusa/server/src/api/admin/paypal/status/route.js +11 -5
  82. package/.medusa/server/src/api/admin/paypal/status/route.js.map +1 -1
  83. package/.medusa/server/src/api/store/paypal/capture-order/route.d.ts.map +1 -1
  84. package/.medusa/server/src/api/store/paypal/capture-order/route.js +21 -3
  85. package/.medusa/server/src/api/store/paypal/capture-order/route.js.map +1 -1
  86. package/.medusa/server/src/api/store/paypal/config/route.js +2 -2
  87. package/.medusa/server/src/api/store/paypal/config/route.js.map +1 -1
  88. package/.medusa/server/src/api/store/paypal/create-order/route.d.ts.map +1 -1
  89. package/.medusa/server/src/api/store/paypal/create-order/route.js +13 -9
  90. package/.medusa/server/src/api/store/paypal/create-order/route.js.map +1 -1
  91. package/.medusa/server/src/api/store/paypal/settings/route.js +3 -3
  92. package/.medusa/server/src/api/store/paypal/settings/route.js.map +1 -1
  93. package/.medusa/server/src/api/store/paypal/webhook/route.d.ts.map +1 -1
  94. package/.medusa/server/src/api/store/paypal/webhook/route.js +10 -3
  95. package/.medusa/server/src/api/store/paypal/webhook/route.js.map +1 -1
  96. package/.medusa/server/src/api/store/paypal-complete/route.d.ts.map +1 -1
  97. package/.medusa/server/src/api/store/paypal-complete/route.js +7 -4
  98. package/.medusa/server/src/api/store/paypal-complete/route.js.map +1 -1
  99. package/.medusa/server/src/modules/paypal/clients/paypal-seller.client.js +3 -3
  100. package/.medusa/server/src/modules/paypal/clients/paypal-seller.client.js.map +1 -1
  101. package/.medusa/server/src/modules/paypal/migrations/20270101090000_set_paypal_environment_default_live.d.ts +1 -1
  102. package/.medusa/server/src/modules/paypal/migrations/20270101090000_set_paypal_environment_default_live.d.ts.map +1 -1
  103. package/.medusa/server/src/modules/paypal/migrations/20270101090000_set_paypal_environment_default_live.js +1 -1
  104. package/.medusa/server/src/modules/paypal/migrations/20270101090000_set_paypal_environment_default_live.js.map +1 -1
  105. package/.medusa/server/src/modules/paypal/migrations/20270102090000_add_paypal_seller_email.d.ts +1 -1
  106. package/.medusa/server/src/modules/paypal/migrations/20270102090000_add_paypal_seller_email.d.ts.map +1 -1
  107. package/.medusa/server/src/modules/paypal/migrations/20270102090000_add_paypal_seller_email.js +1 -1
  108. package/.medusa/server/src/modules/paypal/migrations/20270102090000_add_paypal_seller_email.js.map +1 -1
  109. package/.medusa/server/src/modules/paypal/migrations/20270103090000_add_paypal_seller_merchant_id.d.ts +1 -1
  110. package/.medusa/server/src/modules/paypal/migrations/20270103090000_add_paypal_seller_merchant_id.d.ts.map +1 -1
  111. package/.medusa/server/src/modules/paypal/migrations/20270103090000_add_paypal_seller_merchant_id.js +1 -1
  112. package/.medusa/server/src/modules/paypal/migrations/20270103090000_add_paypal_seller_merchant_id.js.map +1 -1
  113. package/.medusa/server/src/modules/paypal/migrations/20270202000000_align_nullable_defaults.d.ts +6 -0
  114. package/.medusa/server/src/modules/paypal/migrations/20270202000000_align_nullable_defaults.d.ts.map +1 -0
  115. package/.medusa/server/src/modules/paypal/migrations/20270202000000_align_nullable_defaults.js +25 -0
  116. package/.medusa/server/src/modules/paypal/migrations/20270202000000_align_nullable_defaults.js.map +1 -0
  117. package/.medusa/server/src/modules/paypal/models/paypal_connection.d.ts +1 -1
  118. package/.medusa/server/src/modules/paypal/models/paypal_connection.js +3 -3
  119. package/.medusa/server/src/modules/paypal/models/paypal_connection.js.map +1 -1
  120. package/.medusa/server/src/modules/paypal/models/paypal_metric.d.ts +1 -1
  121. package/.medusa/server/src/modules/paypal/models/paypal_metric.js +1 -1
  122. package/.medusa/server/src/modules/paypal/models/paypal_metric.js.map +1 -1
  123. package/.medusa/server/src/modules/paypal/models/paypal_webhook_event.d.ts +1 -1
  124. package/.medusa/server/src/modules/paypal/models/paypal_webhook_event.js +1 -1
  125. package/.medusa/server/src/modules/paypal/models/paypal_webhook_event.js.map +1 -1
  126. package/.medusa/server/src/modules/paypal/payment-provider/card-service.d.ts.map +1 -1
  127. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js +95 -76
  128. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js.map +1 -1
  129. package/.medusa/server/src/modules/paypal/payment-provider/service.d.ts.map +1 -1
  130. package/.medusa/server/src/modules/paypal/payment-provider/service.js +39 -89
  131. package/.medusa/server/src/modules/paypal/payment-provider/service.js.map +1 -1
  132. package/.medusa/server/src/modules/paypal/payment-provider/webhook-utils.d.ts.map +1 -1
  133. package/.medusa/server/src/modules/paypal/payment-provider/webhook-utils.js +7 -0
  134. package/.medusa/server/src/modules/paypal/payment-provider/webhook-utils.js.map +1 -1
  135. package/.medusa/server/src/modules/paypal/service.d.ts +10 -8
  136. package/.medusa/server/src/modules/paypal/service.d.ts.map +1 -1
  137. package/.medusa/server/src/modules/paypal/service.js +56 -51
  138. package/.medusa/server/src/modules/paypal/service.js.map +1 -1
  139. package/.medusa/server/src/modules/paypal/types/config.d.ts.map +1 -1
  140. package/.medusa/server/src/modules/paypal/types/config.js +11 -2
  141. package/.medusa/server/src/modules/paypal/types/config.js.map +1 -1
  142. package/.medusa/server/src/modules/paypal/utils/paypal-auth.d.ts.map +1 -1
  143. package/.medusa/server/src/modules/paypal/utils/paypal-auth.js +1 -0
  144. package/.medusa/server/src/modules/paypal/utils/paypal-auth.js.map +1 -1
  145. package/.medusa/server/src/modules/paypal/webhook-processor.d.ts.map +1 -1
  146. package/.medusa/server/src/modules/paypal/webhook-processor.js +1 -1
  147. package/.medusa/server/src/modules/paypal/webhook-processor.js.map +1 -1
  148. package/.medusa/server/src/subscribers/paypal-order-invoice.js +4 -4
  149. package/.medusa/server/src/subscribers/paypal-order-invoice.js.map +1 -1
  150. package/package.json +1 -1
  151. package/src/admin/index.ts +1 -7
  152. package/src/admin/routes/settings/paypal/_components/FieldRow.tsx +29 -0
  153. package/src/admin/routes/settings/paypal/_components/SectionCard.tsx +26 -0
  154. package/src/admin/routes/settings/paypal/_components/Toast.tsx +4 -3
  155. package/src/admin/routes/settings/paypal/_utils/adminFetch.ts +32 -0
  156. package/src/admin/routes/settings/paypal/additional-settings/page.tsx +23 -83
  157. package/src/admin/routes/settings/paypal/advanced-card-payments/page.tsx +17 -77
  158. package/src/admin/routes/settings/paypal/connection/page.tsx +86 -45
  159. package/src/admin/routes/settings/paypal/paypal-settings/page.tsx +23 -101
  160. package/src/api/admin/payment-collections/[id]/payment-sessions/route.ts +26 -9
  161. package/src/api/admin/paypal/disconnect/route.ts +9 -3
  162. package/src/api/admin/paypal/environment/route.ts +2 -2
  163. package/src/api/admin/paypal/onboard-complete/route.ts +4 -3
  164. package/src/api/admin/paypal/onboarding-link/route.ts +1 -1
  165. package/src/api/admin/paypal/onboarding-status/route.ts +5 -5
  166. package/src/api/admin/paypal/save-credentials/route.ts +24 -9
  167. package/src/api/admin/paypal/settings/route.ts +35 -4
  168. package/src/api/admin/paypal/status/route.ts +10 -5
  169. package/src/api/store/paypal/capture-order/route.ts +27 -3
  170. package/src/api/store/paypal/config/route.ts +2 -2
  171. package/src/api/store/paypal/create-order/route.ts +16 -10
  172. package/src/api/store/paypal/settings/route.ts +3 -3
  173. package/src/api/store/paypal/webhook/route.ts +13 -3
  174. package/src/api/store/paypal-complete/route.ts +8 -4
  175. package/src/modules/paypal/clients/paypal-seller.client.ts +3 -3
  176. package/src/modules/paypal/migrations/20270101090000_set_paypal_environment_default_live.ts +1 -1
  177. package/src/modules/paypal/migrations/20270102090000_add_paypal_seller_email.ts +1 -1
  178. package/src/modules/paypal/migrations/20270103090000_add_paypal_seller_merchant_id.ts +1 -1
  179. package/src/modules/paypal/migrations/20270202000000_align_nullable_defaults.ts +44 -0
  180. package/src/modules/paypal/models/paypal_connection.ts +3 -3
  181. package/src/modules/paypal/models/paypal_metric.ts +1 -1
  182. package/src/modules/paypal/models/paypal_webhook_event.ts +1 -1
  183. package/src/modules/paypal/payment-provider/card-service.ts +120 -80
  184. package/src/modules/paypal/payment-provider/service.ts +44 -93
  185. package/src/modules/paypal/payment-provider/webhook-utils.ts +9 -0
  186. package/src/modules/paypal/service.ts +79 -66
  187. package/src/modules/paypal/types/config.ts +18 -2
  188. package/src/modules/paypal/utils/paypal-auth.ts +1 -0
  189. package/src/modules/paypal/webhook-processor.ts +8 -5
  190. package/src/subscribers/paypal-order-invoice.ts +4 -4
@@ -0,0 +1,440 @@
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.config = void 0;
7
+ exports.default = PayPalConnectionPage;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const react_1 = require("react");
10
+ const admin_sdk_1 = require("@medusajs/admin-sdk");
11
+ const Tabs_1 = __importDefault(require("../_components/Tabs"));
12
+ exports.config = (0, admin_sdk_1.defineRouteConfig)({
13
+ label: "PayPal Connection",
14
+ });
15
+ const PARTNER_JS_URL = "https://www.paypal.com/webapps/merchantboarding/js/lib/lightbox/partner.js";
16
+ const SERVICE_URL = "/admin/paypal/onboarding-link";
17
+ const CACHE_KEY = "pp_onboard_cache";
18
+ const CACHE_EXPIRY = 10 * 60 * 1000;
19
+ const ONBOARDING_COMPLETE_ENDPOINT = "/admin/paypal/onboard-complete";
20
+ const STATUS_ENDPOINT = "/admin/paypal/status";
21
+ const SAVE_CREDENTIALS_ENDPOINT = "/admin/paypal/save-credentials";
22
+ const DISCONNECT_ENDPOINT = "/admin/paypal/disconnect";
23
+ let cachedUrl = null;
24
+ if (typeof window !== "undefined") {
25
+ try {
26
+ const cached = localStorage.getItem(CACHE_KEY);
27
+ if (cached) {
28
+ const data = JSON.parse(cached);
29
+ if (new Date().getTime() - data.ts < CACHE_EXPIRY) {
30
+ cachedUrl = data.url;
31
+ }
32
+ }
33
+ }
34
+ catch (e) {
35
+ console.error("Cache read error:", e);
36
+ }
37
+ }
38
+ function PayPalConnectionPage() {
39
+ const [env, setEnv] = (0, react_1.useState)("live");
40
+ (0, react_1.useEffect)(() => {
41
+ fetch("/admin/paypal/environment", { method: "GET", credentials: "include" })
42
+ .then((r) => r.json())
43
+ .then((d) => {
44
+ const v = d?.environment === "sandbox" ? "sandbox" : "live";
45
+ setEnv(v);
46
+ })
47
+ .catch(() => { });
48
+ }, []);
49
+ (0, react_1.useEffect)(() => {
50
+ const preloadHref = PARTNER_JS_URL;
51
+ let preloadLink = null;
52
+ const existingPreload = document.head.querySelector(`link[rel="preload"][href="${preloadHref}"]`);
53
+ if (!existingPreload) {
54
+ preloadLink = document.createElement("link");
55
+ preloadLink.rel = "preload";
56
+ preloadLink.href = preloadHref;
57
+ preloadLink.as = "script";
58
+ document.head.appendChild(preloadLink);
59
+ }
60
+ let ppScript = null;
61
+ const existingScript = document.getElementById("paypal-partner-js");
62
+ if (!existingScript) {
63
+ ppScript = document.createElement("script");
64
+ ppScript.id = "paypal-partner-js";
65
+ ppScript.src = preloadHref;
66
+ ppScript.async = true;
67
+ document.head.appendChild(ppScript);
68
+ }
69
+ return () => {
70
+ if (preloadLink && preloadLink.parentNode) {
71
+ preloadLink.parentNode.removeChild(preloadLink);
72
+ }
73
+ if (ppScript && ppScript.parentNode) {
74
+ ppScript.parentNode.removeChild(ppScript);
75
+ }
76
+ };
77
+ }, []);
78
+ const [connState, setConnState] = (0, react_1.useState)("loading");
79
+ const [error, setError] = (0, react_1.useState)(null);
80
+ const [finalUrl, setFinalUrl] = (0, react_1.useState)("");
81
+ const [showManual, setShowManual] = (0, react_1.useState)(false);
82
+ const [clientId, setClientId] = (0, react_1.useState)("");
83
+ const [secret, setSecret] = (0, react_1.useState)("");
84
+ const [statusInfo, setStatusInfo] = (0, react_1.useState)(null);
85
+ const [onboardingInProgress, setOnboardingInProgress] = (0, react_1.useState)(false);
86
+ const initLoaderRef = (0, react_1.useRef)(null);
87
+ const paypalButtonRef = (0, react_1.useRef)(null);
88
+ const errorLogRef = (0, react_1.useRef)(null);
89
+ const runIdRef = (0, react_1.useRef)(0);
90
+ const currentRunId = (0, react_1.useRef)(0);
91
+ const ppBtnMeasureRef = (0, react_1.useRef)(null);
92
+ const [ppBtnWidth, setPpBtnWidth] = (0, react_1.useState)(null);
93
+ const canSaveManual = (0, react_1.useMemo)(() => {
94
+ return clientId.trim().length > 0 && secret.trim().length > 0;
95
+ }, [clientId, secret]);
96
+ const fetchFreshLink = (0, react_1.useCallback)((runId) => {
97
+ if (initLoaderRef.current) {
98
+ const loaderText = initLoaderRef.current.querySelector("#loader-text");
99
+ if (loaderText)
100
+ loaderText.textContent = "Generating onboarding session...";
101
+ }
102
+ fetch(SERVICE_URL, {
103
+ method: "POST",
104
+ headers: { "content-type": "application/json" },
105
+ credentials: "include",
106
+ body: JSON.stringify({
107
+ products: ["PPCP"],
108
+ }),
109
+ })
110
+ .then((r) => {
111
+ if (!r.ok)
112
+ throw new Error(`Service returned ${r.status}`);
113
+ return r.json();
114
+ })
115
+ .then((data) => {
116
+ if (runId !== currentRunId.current)
117
+ return;
118
+ const href = data?.onboarding_url;
119
+ if (!href) {
120
+ showError("Onboarding URL not returned.");
121
+ return;
122
+ }
123
+ const finalUrl = href + (href.includes("?") ? "&" : "?") + "displayMode=minibrowser";
124
+ localStorage.setItem(CACHE_KEY, JSON.stringify({
125
+ url: finalUrl,
126
+ ts: Date.now(),
127
+ }));
128
+ activatePayPal(finalUrl, runId);
129
+ })
130
+ .catch(() => {
131
+ if (runId !== currentRunId.current)
132
+ return;
133
+ showError("Unable to connect to service.");
134
+ });
135
+ }, [env]);
136
+ const showUI = (0, react_1.useCallback)(() => {
137
+ const btn = document.querySelector('[data-paypal-button="true"]');
138
+ if (btn && window.PAYPAL?.apps?.Signup?.miniBrowser?.init) {
139
+ window.PAYPAL.apps.Signup.miniBrowser.init();
140
+ }
141
+ setConnState("ready");
142
+ }, []);
143
+ const showError = (0, react_1.useCallback)((msg) => {
144
+ setConnState("error");
145
+ setError(msg);
146
+ }, []);
147
+ const activatePayPal = (0, react_1.useCallback)((url, runId) => {
148
+ if (paypalButtonRef.current) {
149
+ paypalButtonRef.current.href = url;
150
+ }
151
+ setFinalUrl(url);
152
+ let attempts = 0;
153
+ const MAX_ATTEMPTS = 200;
154
+ const tryInit = () => {
155
+ if (runId !== currentRunId.current)
156
+ return;
157
+ if (window.PAYPAL?.apps?.Signup) {
158
+ showUI();
159
+ return;
160
+ }
161
+ attempts++;
162
+ if (attempts >= MAX_ATTEMPTS) {
163
+ showError("PayPal partner script failed to load. Please refresh and try again.");
164
+ return;
165
+ }
166
+ setTimeout(tryInit, 50);
167
+ };
168
+ tryInit();
169
+ }, [showUI]);
170
+ (0, react_1.useEffect)(() => {
171
+ currentRunId.current = ++runIdRef.current;
172
+ const runId = currentRunId.current;
173
+ let cancelled = false;
174
+ const run = async () => {
175
+ setConnState("loading");
176
+ setError(null);
177
+ setFinalUrl("");
178
+ try {
179
+ const r = await fetch(`${STATUS_ENDPOINT}?environment=${env}`, {
180
+ method: "GET",
181
+ credentials: "include",
182
+ });
183
+ const st = await r.json().catch(() => ({}));
184
+ if (cancelled || runId !== currentRunId.current)
185
+ return;
186
+ setStatusInfo(st);
187
+ const isConnected = st?.status === "connected" && st?.seller_client_id_present === true;
188
+ if (isConnected) {
189
+ setConnState("connected");
190
+ setShowManual(false);
191
+ return;
192
+ }
193
+ }
194
+ catch (e) {
195
+ console.error(e);
196
+ }
197
+ if (cachedUrl) {
198
+ activatePayPal(cachedUrl, runId);
199
+ }
200
+ else {
201
+ fetchFreshLink(runId);
202
+ }
203
+ };
204
+ run();
205
+ return () => {
206
+ cancelled = true;
207
+ currentRunId.current = 0;
208
+ };
209
+ }, [env, fetchFreshLink, activatePayPal]);
210
+ (0, react_1.useLayoutEffect)(() => {
211
+ window.onboardingCallback = async function (authCode, sharedId) {
212
+ try {
213
+ window.onbeforeunload = null;
214
+ }
215
+ catch { }
216
+ setOnboardingInProgress(true);
217
+ setConnState("loading");
218
+ setError(null);
219
+ const payload = {
220
+ authCode,
221
+ sharedId,
222
+ env: env === "sandbox" ? "sandbox" : "live",
223
+ };
224
+ try {
225
+ const res = await fetch(ONBOARDING_COMPLETE_ENDPOINT, {
226
+ method: "POST",
227
+ headers: { "content-type": "application/json" },
228
+ credentials: "include",
229
+ body: JSON.stringify(payload),
230
+ });
231
+ if (!res.ok) {
232
+ const txt = await res.text().catch(() => "");
233
+ throw new Error(txt || `Onboarding exchange failed (${res.status})`);
234
+ }
235
+ try {
236
+ const close1 = window.PAYPAL?.apps?.Signup?.MiniBrowser?.closeFlow;
237
+ if (typeof close1 === "function")
238
+ close1();
239
+ }
240
+ catch { }
241
+ try {
242
+ const close2 = window.PAYPAL?.apps?.Signup?.miniBrowser &&
243
+ window.PAYPAL.apps.Signup.miniBrowser.closeFlow;
244
+ if (typeof close2 === "function")
245
+ close2();
246
+ }
247
+ catch { }
248
+ try {
249
+ localStorage.removeItem(CACHE_KEY);
250
+ }
251
+ catch { }
252
+ try {
253
+ const statusRes = await fetch(`${STATUS_ENDPOINT}?environment=${env}`, {
254
+ method: "GET",
255
+ credentials: "include",
256
+ });
257
+ const refreshedStatus = await statusRes.json().catch(() => ({}));
258
+ setStatusInfo(refreshedStatus || null);
259
+ setConnState("connected");
260
+ setShowManual(false);
261
+ }
262
+ catch {
263
+ setConnState("connected");
264
+ setShowManual(false);
265
+ }
266
+ setOnboardingInProgress(false);
267
+ }
268
+ catch (e) {
269
+ console.error(e);
270
+ setConnState("error");
271
+ setError(e?.message || "Exchange failed while saving credentials.");
272
+ setOnboardingInProgress(false);
273
+ }
274
+ };
275
+ return () => {
276
+ window.onboardingCallback = undefined;
277
+ };
278
+ }, [env]);
279
+ (0, react_1.useLayoutEffect)(() => {
280
+ const el = ppBtnMeasureRef.current;
281
+ if (!el)
282
+ return;
283
+ const update = () => {
284
+ const w = Math.round(el.getBoundingClientRect().width || 0);
285
+ if (w > 0)
286
+ setPpBtnWidth(w);
287
+ };
288
+ update();
289
+ let ro = null;
290
+ if (typeof ResizeObserver !== "undefined") {
291
+ ro = new ResizeObserver(() => update());
292
+ ro.observe(el);
293
+ }
294
+ else {
295
+ window.addEventListener("resize", update);
296
+ }
297
+ return () => {
298
+ if (ro)
299
+ ro.disconnect();
300
+ else
301
+ window.removeEventListener("resize", update);
302
+ };
303
+ }, [connState, env, finalUrl]);
304
+ const handleConnectClick = (e) => {
305
+ if (connState !== "ready" || !finalUrl || onboardingInProgress) {
306
+ e.preventDefault();
307
+ }
308
+ };
309
+ const handleSaveManual = async () => {
310
+ if (!canSaveManual || onboardingInProgress)
311
+ return;
312
+ setOnboardingInProgress(true);
313
+ setConnState("loading");
314
+ setError(null);
315
+ try {
316
+ const res = await fetch(SAVE_CREDENTIALS_ENDPOINT, {
317
+ method: "POST",
318
+ headers: { "content-type": "application/json" },
319
+ credentials: "include",
320
+ body: JSON.stringify({
321
+ clientId: clientId.trim(),
322
+ clientSecret: secret.trim(),
323
+ environment: env,
324
+ }),
325
+ });
326
+ if (!res.ok) {
327
+ const txt = await res.text().catch(() => "");
328
+ throw new Error(txt || `Save credentials failed (${res.status})`);
329
+ }
330
+ const statusRes = await fetch(`${STATUS_ENDPOINT}?environment=${env}`, {
331
+ method: "GET",
332
+ credentials: "include",
333
+ });
334
+ const refreshedStatus = await statusRes.json().catch(() => ({}));
335
+ setConnState("connected");
336
+ setStatusInfo(refreshedStatus || null);
337
+ setShowManual(false);
338
+ try {
339
+ localStorage.removeItem(CACHE_KEY);
340
+ }
341
+ catch { }
342
+ }
343
+ catch (e) {
344
+ console.error(e);
345
+ setConnState("error");
346
+ setError(e?.message || "Failed to save credentials.");
347
+ }
348
+ finally {
349
+ setOnboardingInProgress(false);
350
+ }
351
+ };
352
+ const handleDisconnect = async () => {
353
+ if (onboardingInProgress)
354
+ return;
355
+ if (!window.confirm("Disconnect PayPal for this environment?"))
356
+ return;
357
+ setOnboardingInProgress(true);
358
+ setConnState("loading");
359
+ setError(null);
360
+ setFinalUrl("");
361
+ setShowManual(false);
362
+ setStatusInfo(null);
363
+ try {
364
+ const res = await fetch(DISCONNECT_ENDPOINT, {
365
+ method: "POST",
366
+ headers: { "content-type": "application/json" },
367
+ credentials: "include",
368
+ body: JSON.stringify({ environment: env }),
369
+ });
370
+ if (!res.ok) {
371
+ const t = await res.text().catch(() => "");
372
+ throw new Error(t || `Disconnect failed (${res.status})`);
373
+ }
374
+ try {
375
+ localStorage.removeItem(CACHE_KEY);
376
+ }
377
+ catch { }
378
+ currentRunId.current = ++runIdRef.current;
379
+ const runId = currentRunId.current;
380
+ fetchFreshLink(runId);
381
+ }
382
+ catch (e) {
383
+ console.error(e);
384
+ setConnState("error");
385
+ setError(e?.message || "Failed to disconnect.");
386
+ }
387
+ finally {
388
+ setOnboardingInProgress(false);
389
+ }
390
+ };
391
+ const handleEnvChange = async (e) => {
392
+ const next = e.target.value;
393
+ setEnv(next);
394
+ cachedUrl = null;
395
+ try {
396
+ await fetch("/admin/paypal/environment", {
397
+ method: "POST",
398
+ headers: { "content-type": "application/json" },
399
+ credentials: "include",
400
+ body: JSON.stringify({ environment: next }),
401
+ });
402
+ }
403
+ catch { }
404
+ try {
405
+ localStorage.removeItem(CACHE_KEY);
406
+ }
407
+ catch { }
408
+ };
409
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "p-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-6", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-start justify-between gap-4", children: (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Gateway By Easy Payment" }) }) }), (0, jsx_runtime_1.jsx)(Tabs_1.default, {}), (0, jsx_runtime_1.jsx)("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-1 gap-y-6 p-4 md:grid-cols-[260px_1fr] md:items-start", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-sm font-medium pt-2", children: "Environment" }), (0, jsx_runtime_1.jsx)("div", { className: "max-w-xl", children: (0, jsx_runtime_1.jsxs)("select", { value: env, onChange: handleEnvChange, disabled: onboardingInProgress, className: "w-full rounded-md border border-ui-border-base bg-transparent px-3 py-2 text-sm", children: [(0, jsx_runtime_1.jsx)("option", { value: "sandbox", children: "Sandbox (Test Mode)" }), (0, jsx_runtime_1.jsx)("option", { value: "live", children: "Live (Production)" })] }) }), (0, jsx_runtime_1.jsx)("div", { className: "text-sm font-medium pt-2", children: env === "sandbox" ? "Connect to PayPal (Sandbox)" : "Connect to PayPal" }), (0, jsx_runtime_1.jsx)("div", { className: "max-w-xl", children: connState === "connected" ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { className: "text-sm text-green-600 bg-green-50 p-3 rounded border border-green-200", children: ["\u2705 Successfully connected to PayPal!", (0, jsx_runtime_1.jsx)("a", { "data-paypal-button": "true", "data-paypal-onboard-complete": "onboardingCallback", href: "#", style: { display: "none" }, children: "PayPal" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-3 rounded-md border border-ui-border-base bg-ui-bg-subtle p-3 text-xs text-ui-fg-subtle", children: [(0, jsx_runtime_1.jsx)("div", { className: "font-medium text-ui-fg-base", children: "Connected PayPal account" }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-1", children: ["Email:", " ", (0, jsx_runtime_1.jsx)("span", { className: "font-mono text-ui-fg-base", children: statusInfo?.seller_email || "Unavailable" })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "mt-3 flex items-center gap-2", children: (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleDisconnect, disabled: onboardingInProgress, className: "transition-fg relative inline-flex w-fit items-center justify-center overflow-hidden rounded-md outline-none shadow-buttons-neutral text-ui-fg-base bg-ui-button-neutral after:transition-fg after:absolute after:inset-0 after:content-[''] after:button-neutral-gradient hover:bg-ui-button-neutral-hover hover:after:button-neutral-hover-gradient active:bg-ui-button-neutral-pressed active:after:button-neutral-pressed-gradient focus-visible:shadow-buttons-neutral-focus disabled:bg-ui-bg-disabled disabled:border-ui-border-base disabled:text-ui-fg-disabled disabled:shadow-buttons-neutral disabled:after:hidden txt-compact-small-plus px-3 py-1.5", children: "Disconnect" }) })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { ref: initLoaderRef, id: "init-loader", className: `status-msg mb-4 ${connState !== "loading" ? "hidden" : "block"}`, children: [(0, jsx_runtime_1.jsx)("div", { className: "loader inline-block align-middle mr-2" }), (0, jsx_runtime_1.jsx)("span", { id: "loader-text", className: "text-sm", children: onboardingInProgress
410
+ ? "Configuring connection to PayPal…"
411
+ : "Checking connection..." })] }), (0, jsx_runtime_1.jsxs)("div", { className: `${connState === "ready" ? "block" : "hidden"}`, children: [(0, jsx_runtime_1.jsx)("a", { ref: (node) => {
412
+ paypalButtonRef.current = node;
413
+ ppBtnMeasureRef.current = node;
414
+ }, id: "paypal-button", "data-paypal-button": "true", href: finalUrl || "#", "data-paypal-onboard-complete": "onboardingCallback", onClick: handleConnectClick, className: "transition-fg relative inline-flex w-fit items-center justify-center overflow-hidden rounded-md outline-none no-underline shadow-buttons-neutral text-ui-fg-base bg-ui-button-neutral after:transition-fg after:absolute after:inset-0 after:content-[''] after:button-neutral-gradient hover:bg-ui-button-neutral-hover hover:after:button-neutral-hover-gradient active:bg-ui-button-neutral-pressed active:after:button-neutral-pressed-gradient focus-visible:shadow-buttons-neutral-focus disabled:bg-ui-bg-disabled disabled:border-ui-border-base disabled:text-ui-fg-disabled disabled:shadow-buttons-neutral disabled:after:hidden txt-compact-small-plus px-3 py-1.5", style: {
415
+ cursor: onboardingInProgress ? "not-allowed" : "pointer",
416
+ opacity: onboardingInProgress ? 0.6 : 1,
417
+ pointerEvents: onboardingInProgress ? "none" : "auto",
418
+ }, children: "Connect to PayPal" }), (0, jsx_runtime_1.jsx)("div", { className: "mt-2", style: {
419
+ width: ppBtnWidth ? `${ppBtnWidth}px` : "auto",
420
+ marginTop: "20px",
421
+ marginBottom: "10px",
422
+ }, children: (0, jsx_runtime_1.jsx)("div", { className: "flex justify-center", children: (0, jsx_runtime_1.jsx)("span", { className: "text-[11px] text-ui-fg-muted leading-none", children: "OR" }) }) }), (0, jsx_runtime_1.jsx)("div", { className: "mt-1", children: (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setShowManual(!showManual), disabled: onboardingInProgress, className: "text-sm text-ui-fg-interactive underline whitespace-nowrap disabled:opacity-50 disabled:cursor-not-allowed", children: "Click here to insert credentials manually" }) })] }), (0, jsx_runtime_1.jsx)("div", { className: `${connState === "ready" ? "hidden" : "block"} mt-3`, children: (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setShowManual(!showManual), disabled: onboardingInProgress, className: "text-sm text-ui-fg-interactive underline whitespace-nowrap disabled:opacity-50 disabled:cursor-not-allowed", children: "Click here to insert credentials manually" }) }), (0, jsx_runtime_1.jsx)("div", { ref: errorLogRef, id: "error-log", className: `mt-4 text-left text-xs bg-red-50 text-red-600 p-3 border border-red-200 rounded ${connState === "error" && error ? "block" : "hidden"}`, children: error })] })) }), showManual && ((0, jsx_runtime_1.jsx)("div", { className: "md:col-span-2", children: (0, jsx_runtime_1.jsxs)("div", { className: "ml-[260px] max-w-xl mt-4 grid grid-cols-1 gap-3 md:grid-cols-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-1", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "pp-manual-client-id", className: "text-sm font-medium", children: "Client ID" }), (0, jsx_runtime_1.jsx)("input", { id: "pp-manual-client-id", type: "text", value: clientId, onChange: (e) => setClientId(e.target.value), disabled: onboardingInProgress, className: "rounded-md border border-ui-border-base bg-transparent px-3 py-2 text-sm disabled:opacity-50", placeholder: env === "sandbox" ? "Sandbox Client ID" : "Live Client ID" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-1", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "pp-manual-secret", className: "text-sm font-medium", children: "Secret" }), (0, jsx_runtime_1.jsx)("input", { id: "pp-manual-secret", type: "password", value: secret, onChange: (e) => setSecret(e.target.value), disabled: onboardingInProgress, className: "rounded-md border border-ui-border-base bg-transparent px-3 py-2 text-sm disabled:opacity-50", placeholder: env === "sandbox" ? "Sandbox Secret" : "Live Secret" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "md:col-span-2 rounded-md border border-ui-border-base bg-ui-bg-subtle p-4 text-sm text-ui-fg-subtle", children: [(0, jsx_runtime_1.jsx)("p", { className: "font-medium text-ui-fg-base", children: "Get your Client ID and Secret in 3 steps:" }), (0, jsx_runtime_1.jsxs)("ol", { className: "mt-2 list-decimal space-y-2 pl-5", children: [(0, jsx_runtime_1.jsxs)("li", { children: ["Open", " ", (0, jsx_runtime_1.jsx)("a", { href: "https://developer.paypal.com/dashboard/", target: "_blank", rel: "noreferrer", className: "text-ui-fg-interactive underline", children: "Log in to Dashboard" }), " ", "and sign in or create an account."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Select ", (0, jsx_runtime_1.jsx)("span", { className: "font-medium text-ui-fg-base", children: "Apps & Credentials" }), ", then choose ", (0, jsx_runtime_1.jsx)("span", { className: "font-medium text-ui-fg-base", children: "Create App" }), " if you need a new project."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Copy your app's ", (0, jsx_runtime_1.jsx)("span", { className: "font-medium text-ui-fg-base", children: "Client ID" }), " and ", (0, jsx_runtime_1.jsx)("span", { className: "font-medium text-ui-fg-base", children: "Secret" }), ", paste them above, then click ", (0, jsx_runtime_1.jsx)("span", { className: "font-medium text-ui-fg-base", children: "Save credentials" }), "."] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "md:col-span-2 flex items-center gap-2 mt-2", children: [(0, jsx_runtime_1.jsx)("button", { type: "button", className: "transition-fg relative inline-flex w-fit items-center justify-center overflow-hidden rounded-md outline-none shadow-buttons-neutral text-ui-fg-base bg-ui-button-neutral after:transition-fg after:absolute after:inset-0 after:content-[''] after:button-neutral-gradient hover:bg-ui-button-neutral-hover hover:after:button-neutral-hover-gradient active:bg-ui-button-neutral-pressed active:after:button-neutral-pressed-gradient focus-visible:shadow-buttons-neutral-focus disabled:bg-ui-bg-disabled disabled:border-ui-border-base disabled:text-ui-fg-disabled disabled:shadow-buttons-neutral disabled:after:hidden txt-compact-small-plus px-3 py-1.5", onClick: () => setShowManual(false), disabled: onboardingInProgress, children: "Cancel" }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: "transition-fg relative inline-flex w-fit items-center justify-center overflow-hidden rounded-md outline-none shadow-buttons-neutral text-ui-fg-base bg-ui-button-neutral after:transition-fg after:absolute after:inset-0 after:content-[''] after:button-neutral-gradient hover:bg-ui-button-neutral-hover hover:after:button-neutral-hover-gradient active:bg-ui-button-neutral-pressed active:after:button-neutral-pressed-gradient focus-visible:shadow-buttons-neutral-focus disabled:bg-ui-bg-disabled disabled:border-ui-border-base disabled:text-ui-fg-disabled disabled:shadow-buttons-neutral disabled:after:hidden txt-compact-small-plus px-3 py-1.5", disabled: !canSaveManual || onboardingInProgress, onClick: handleSaveManual, children: "Save credentials" })] })] }) }))] }) })] }), (0, jsx_runtime_1.jsx)("style", { children: `
423
+ .loader {
424
+ border: 3px solid #f3f3f3;
425
+ border-top: 3px solid #0070ba;
426
+ border-radius: 50%;
427
+ width: 18px;
428
+ height: 18px;
429
+ animation: spin 1s linear infinite;
430
+ display: inline-block;
431
+ vertical-align: middle;
432
+ margin-right: 8px;
433
+ }
434
+ @keyframes spin {
435
+ 0% { transform: rotate(0deg); }
436
+ 100% { transform: rotate(360deg); }
437
+ }
438
+ ` })] }));
439
+ }
440
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/connection/page.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function PayPalGooglePayPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/google-pay/page.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAE1C"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = PayPalGooglePayPage;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_router_dom_1 = require("react-router-dom");
6
+ function PayPalGooglePayPage() {
7
+ return (0, jsx_runtime_1.jsx)(react_router_dom_1.Navigate, { to: "/settings/paypal/connection", replace: true });
8
+ }
9
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/google-pay/page.tsx"],"names":[],"mappings":";;AAEA,sCAEC;;AAJD,uDAA2C;AAE3C,SAAwB,mBAAmB;IACzC,OAAO,uBAAC,2BAAQ,IAAC,EAAE,EAAC,6BAA6B,EAAC,OAAO,SAAG,CAAA;AAC9D,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const config: import("@medusajs/admin-sdk").RouteConfig;
2
+ declare const PayPalSettingsIndexRoute: () => import("react/jsx-runtime").JSX.Element;
3
+ export default PayPalSettingsIndexRoute;
4
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/routes/settings/paypal/page.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,2CAEjB,CAAA;AAEF,QAAA,MAAM,wBAAwB,+CAE7B,CAAA;AAED,eAAe,wBAAwB,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const admin_sdk_1 = require("@medusajs/admin-sdk");
6
+ const react_router_dom_1 = require("react-router-dom");
7
+ exports.config = (0, admin_sdk_1.defineRouteConfig)({
8
+ label: "PayPal",
9
+ });
10
+ const PayPalSettingsIndexRoute = () => {
11
+ return (0, jsx_runtime_1.jsx)(react_router_dom_1.Navigate, { to: "connection", replace: true });
12
+ };
13
+ exports.default = PayPalSettingsIndexRoute;
14
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../src/admin/routes/settings/paypal/page.tsx"],"names":[],"mappings":";;;;AACA,mDAAuD;AACvD,uDAA2C;AAE9B,QAAA,MAAM,GAAG,IAAA,6BAAiB,EAAC;IACtC,KAAK,EAAE,QAAQ;CAChB,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACpC,OAAO,uBAAC,2BAAQ,IAAC,EAAE,EAAC,YAAY,EAAC,OAAO,SAAG,CAAA;AAC7C,CAAC,CAAA;AAED,kBAAe,wBAAwB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export default function PayPalPayLaterMessagingPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/pay-later-messaging/page.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,2BAA2B,4CAElD"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = PayPalPayLaterMessagingPage;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_router_dom_1 = require("react-router-dom");
6
+ function PayPalPayLaterMessagingPage() {
7
+ return (0, jsx_runtime_1.jsx)(react_router_dom_1.Navigate, { to: "/settings/paypal/connection", replace: true });
8
+ }
9
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/pay-later-messaging/page.tsx"],"names":[],"mappings":";;AAEA,8CAEC;;AAJD,uDAA2C;AAE3C,SAAwB,2BAA2B;IACjD,OAAO,uBAAC,2BAAQ,IAAC,EAAE,EAAC,6BAA6B,EAAC,OAAO,SAAG,CAAA;AAC9D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function PayPalSettingsTab(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/paypal-settings/page.tsx"],"names":[],"mappings":"AAoDA,MAAM,CAAC,OAAO,UAAU,iBAAiB,4CA4NxC"}