@easypayment/medusa-payment-paypal 0.9.20 → 0.9.21
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 +91 -87
- package/.medusa/server/src/admin/index.mjs +91 -87
- package/.medusa/server/src/admin/routes/settings/paypal/connection/page.d.ts.map +1 -1
- package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js +53 -42
- package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js.map +1 -1
- package/package.json +1 -1
- package/src/admin/routes/settings/paypal/connection/page.tsx +56 -46
|
@@ -134,20 +134,22 @@ async function adminFetch(path, opts = {}) {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
const DEFAULT_FORM$1 = {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
requireInstantPayment: false,
|
|
141
|
-
sendItemDetails: true,
|
|
142
|
-
invoicePrefix: "PP-",
|
|
143
|
-
creditCardStatementName: "PayPal"
|
|
137
|
+
enabled: true,
|
|
138
|
+
title: "Credit or Debit Card",
|
|
139
|
+
threeDS: "when_required"
|
|
144
140
|
};
|
|
145
141
|
function mergeWithDefaults$1(saved) {
|
|
146
142
|
if (!saved) return { ...DEFAULT_FORM$1 };
|
|
147
143
|
const entries = Object.entries(saved).filter(([, value]) => value !== void 0);
|
|
148
144
|
return { ...DEFAULT_FORM$1, ...Object.fromEntries(entries) };
|
|
149
145
|
}
|
|
150
|
-
|
|
146
|
+
const THREE_DS_OPTIONS = [
|
|
147
|
+
{ value: "when_required", label: "3D Secure when required", hint: "Triggers 3DS only when the card / issuer requires it." },
|
|
148
|
+
{ value: "sli", label: "3D Secure (SCA) / liability shift (recommended)", hint: "Attempts to optimize for liability shift while remaining compliant." },
|
|
149
|
+
{ value: "always", label: "Always request 3D Secure", hint: "Forces 3DS challenge whenever possible (may reduce conversion)." }
|
|
150
|
+
];
|
|
151
|
+
function AdvancedCardPaymentsTab() {
|
|
152
|
+
var _a, _b;
|
|
151
153
|
const [form, setForm] = react.useState(() => ({ ...DEFAULT_FORM$1 }));
|
|
152
154
|
const [loading, setLoading] = react.useState(false);
|
|
153
155
|
const [saving, setSaving] = react.useState(false);
|
|
@@ -162,7 +164,7 @@ function AdditionalSettingsTab() {
|
|
|
162
164
|
setLoading(true);
|
|
163
165
|
const json = await adminFetch("/admin/paypal/settings");
|
|
164
166
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
165
|
-
const saved = payload == null ? void 0 : payload.
|
|
167
|
+
const saved = payload == null ? void 0 : payload.advanced_card_payments;
|
|
166
168
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults$1(saved));
|
|
167
169
|
} catch {
|
|
168
170
|
} finally {
|
|
@@ -173,14 +175,16 @@ function AdditionalSettingsTab() {
|
|
|
173
175
|
async function onSave() {
|
|
174
176
|
try {
|
|
175
177
|
setSaving(true);
|
|
176
|
-
|
|
177
|
-
|
|
178
|
+
const json = await adminFetch("/admin/paypal/settings", {
|
|
179
|
+
method: "POST",
|
|
180
|
+
body: { advanced_card_payments: form }
|
|
181
|
+
});
|
|
178
182
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
179
|
-
const saved = payload == null ? void 0 : payload.
|
|
183
|
+
const saved = payload == null ? void 0 : payload.advanced_card_payments;
|
|
180
184
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults$1(saved));
|
|
181
185
|
setToast({ kind: "success", message: "Settings saved" });
|
|
182
186
|
} catch (e) {
|
|
183
|
-
setToast({ kind: "error", message: e instanceof Error ? e.message : "Failed to save settings" });
|
|
187
|
+
setToast({ kind: "error", message: (e instanceof Error ? e.message : "") || "Failed to save settings." });
|
|
184
188
|
} finally {
|
|
185
189
|
setSaving(false);
|
|
186
190
|
}
|
|
@@ -192,58 +196,42 @@ function AdditionalSettingsTab() {
|
|
|
192
196
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
193
197
|
SectionCard,
|
|
194
198
|
{
|
|
195
|
-
title: "
|
|
196
|
-
description: "
|
|
199
|
+
title: "Advanced Card Payments",
|
|
200
|
+
description: "Control card checkout settings and 3D Secure behavior.",
|
|
197
201
|
right: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
198
202
|
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: onSave, disabled: saving || loading, 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: saving ? "Saving..." : "Save settings" }),
|
|
199
203
|
loading ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-ui-fg-subtle", children: "Loading…" }) : null
|
|
200
204
|
] }),
|
|
201
205
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "divide-y divide-ui-border-base", children: [
|
|
202
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "
|
|
203
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
204
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
205
|
-
] }) }),
|
|
206
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Brand Name", htmlFor: "as-brand-name", children: /* @__PURE__ */ jsxRuntime.jsx("input", { id: "as-brand-name", value: form.brandName, onChange: (e) => setForm((p) => ({ ...p, brandName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) }),
|
|
207
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Landing Page", htmlFor: "as-landing-page", children: /* @__PURE__ */ jsxRuntime.jsxs("select", { id: "as-landing-page", value: form.landingPage, onChange: (e) => setForm((p) => ({ ...p, landingPage: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [
|
|
208
|
-
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "no_preference", children: "No Preference" }),
|
|
209
|
-
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "login", children: "Login" }),
|
|
210
|
-
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "billing", children: "Billing" })
|
|
211
|
-
] }) }),
|
|
212
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Instant Payments", children: /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
213
|
-
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "checkbox", checked: form.requireInstantPayment, onChange: (e) => setForm((p) => ({ ...p, requireInstantPayment: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
214
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-ui-fg-base", children: "Require Instant Payment" })
|
|
215
|
-
] }) }),
|
|
216
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Send Item Details", hint: "Include all line item details in the payment request to PayPal so that they can be seen from the PayPal transaction details page.", children: /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
217
|
-
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "checkbox", checked: form.sendItemDetails, onChange: (e) => setForm((p) => ({ ...p, sendItemDetails: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
218
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-ui-fg-base", children: "Send line item details to PayPal" })
|
|
206
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Enable/Disable", children: /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
207
|
+
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "checkbox", checked: form.enabled, onChange: (e) => setForm((p) => ({ ...p, enabled: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
208
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-ui-fg-base", children: "Enable Advanced Credit/Debit Card" })
|
|
219
209
|
] }) }),
|
|
220
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "
|
|
221
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "
|
|
210
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Title", htmlFor: "acp-title", children: /* @__PURE__ */ jsxRuntime.jsx("input", { id: "acp-title", value: form.title, onChange: (e) => setForm((p) => ({ ...p, title: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "Credit or Debit Card" }) }),
|
|
211
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Contingency for 3D Secure", hint: "Choose when 3D Secure should be triggered during card payments.", htmlFor: "acp-threeds", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
212
|
+
/* @__PURE__ */ jsxRuntime.jsx("select", { id: "acp-threeds", value: form.threeDS, onChange: (e) => setForm((p) => ({ ...p, threeDS: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: THREE_DS_OPTIONS.map((o) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: o.value, children: o.label }, o.value)) }),
|
|
213
|
+
((_a = THREE_DS_OPTIONS.find((o) => o.value === form.threeDS)) == null ? void 0 : _a.hint) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-ui-fg-subtle", children: (_b = THREE_DS_OPTIONS.find((o) => o.value === form.threeDS)) == null ? void 0 : _b.hint }) : null
|
|
214
|
+
] }) })
|
|
222
215
|
] })
|
|
223
216
|
}
|
|
224
217
|
)
|
|
225
218
|
] }) });
|
|
226
219
|
}
|
|
227
|
-
function PayPalApplePayPage() {
|
|
228
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
229
|
-
}
|
|
230
220
|
const DEFAULT_FORM = {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
221
|
+
paymentAction: "capture",
|
|
222
|
+
brandName: "PayPal",
|
|
223
|
+
landingPage: "no_preference",
|
|
224
|
+
requireInstantPayment: false,
|
|
225
|
+
sendItemDetails: true,
|
|
226
|
+
invoicePrefix: "PP-",
|
|
227
|
+
creditCardStatementName: "PayPal"
|
|
234
228
|
};
|
|
235
229
|
function mergeWithDefaults(saved) {
|
|
236
230
|
if (!saved) return { ...DEFAULT_FORM };
|
|
237
231
|
const entries = Object.entries(saved).filter(([, value]) => value !== void 0);
|
|
238
232
|
return { ...DEFAULT_FORM, ...Object.fromEntries(entries) };
|
|
239
233
|
}
|
|
240
|
-
|
|
241
|
-
{ value: "when_required", label: "3D Secure when required", hint: "Triggers 3DS only when the card / issuer requires it." },
|
|
242
|
-
{ value: "sli", label: "3D Secure (SCA) / liability shift (recommended)", hint: "Attempts to optimize for liability shift while remaining compliant." },
|
|
243
|
-
{ value: "always", label: "Always request 3D Secure", hint: "Forces 3DS challenge whenever possible (may reduce conversion)." }
|
|
244
|
-
];
|
|
245
|
-
function AdvancedCardPaymentsTab() {
|
|
246
|
-
var _a, _b;
|
|
234
|
+
function AdditionalSettingsTab() {
|
|
247
235
|
const [form, setForm] = react.useState(() => ({ ...DEFAULT_FORM }));
|
|
248
236
|
const [loading, setLoading] = react.useState(false);
|
|
249
237
|
const [saving, setSaving] = react.useState(false);
|
|
@@ -258,7 +246,7 @@ function AdvancedCardPaymentsTab() {
|
|
|
258
246
|
setLoading(true);
|
|
259
247
|
const json = await adminFetch("/admin/paypal/settings");
|
|
260
248
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
261
|
-
const saved = payload == null ? void 0 : payload.
|
|
249
|
+
const saved = payload == null ? void 0 : payload.additional_settings;
|
|
262
250
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults(saved));
|
|
263
251
|
} catch {
|
|
264
252
|
} finally {
|
|
@@ -269,16 +257,14 @@ function AdvancedCardPaymentsTab() {
|
|
|
269
257
|
async function onSave() {
|
|
270
258
|
try {
|
|
271
259
|
setSaving(true);
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
body: { advanced_card_payments: form }
|
|
275
|
-
});
|
|
260
|
+
setToast(null);
|
|
261
|
+
const json = await adminFetch("/admin/paypal/settings", { method: "POST", body: { additional_settings: form } });
|
|
276
262
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
277
|
-
const saved = payload == null ? void 0 : payload.
|
|
263
|
+
const saved = payload == null ? void 0 : payload.additional_settings;
|
|
278
264
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults(saved));
|
|
279
265
|
setToast({ kind: "success", message: "Settings saved" });
|
|
280
266
|
} catch (e) {
|
|
281
|
-
setToast({ kind: "error", message:
|
|
267
|
+
setToast({ kind: "error", message: e instanceof Error ? e.message : "Failed to save settings" });
|
|
282
268
|
} finally {
|
|
283
269
|
setSaving(false);
|
|
284
270
|
}
|
|
@@ -290,27 +276,44 @@ function AdvancedCardPaymentsTab() {
|
|
|
290
276
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
291
277
|
SectionCard,
|
|
292
278
|
{
|
|
293
|
-
title: "
|
|
294
|
-
description: "
|
|
279
|
+
title: "Additional Settings",
|
|
280
|
+
description: "These settings control checkout behavior and PayPal experience.",
|
|
295
281
|
right: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
296
282
|
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: onSave, disabled: saving || loading, 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: saving ? "Saving..." : "Save settings" }),
|
|
297
283
|
loading ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-ui-fg-subtle", children: "Loading…" }) : null
|
|
298
284
|
] }),
|
|
299
285
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "divide-y divide-ui-border-base", children: [
|
|
300
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "
|
|
301
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
302
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
286
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Payment action", htmlFor: "as-payment-action", children: /* @__PURE__ */ jsxRuntime.jsxs("select", { id: "as-payment-action", value: form.paymentAction, onChange: (e) => setForm((p) => ({ ...p, paymentAction: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [
|
|
287
|
+
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "capture", children: "Capture" }),
|
|
288
|
+
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "authorize", children: "Authorize" })
|
|
303
289
|
] }) }),
|
|
304
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "
|
|
305
|
-
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "
|
|
306
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
307
|
-
|
|
308
|
-
|
|
290
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Brand Name", htmlFor: "as-brand-name", children: /* @__PURE__ */ jsxRuntime.jsx("input", { id: "as-brand-name", value: form.brandName, onChange: (e) => setForm((p) => ({ ...p, brandName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) }),
|
|
291
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Landing Page", htmlFor: "as-landing-page", children: /* @__PURE__ */ jsxRuntime.jsxs("select", { id: "as-landing-page", value: form.landingPage, onChange: (e) => setForm((p) => ({ ...p, landingPage: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [
|
|
292
|
+
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "no_preference", children: "No Preference" }),
|
|
293
|
+
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "login", children: "Login" }),
|
|
294
|
+
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "billing", children: "Billing" })
|
|
295
|
+
] }) }),
|
|
296
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Instant Payments", children: /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
297
|
+
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "checkbox", checked: form.requireInstantPayment, onChange: (e) => setForm((p) => ({ ...p, requireInstantPayment: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
298
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-ui-fg-base", children: "Require Instant Payment" })
|
|
299
|
+
] }) }),
|
|
300
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Send Item Details", hint: "Include all line item details in the payment request to PayPal so that they can be seen from the PayPal transaction details page.", children: /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
301
|
+
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "checkbox", checked: form.sendItemDetails, onChange: (e) => setForm((p) => ({ ...p, sendItemDetails: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
302
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-ui-fg-base", children: "Send line item details to PayPal" })
|
|
303
|
+
] }) }),
|
|
304
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Invoice prefix", htmlFor: "as-invoice-prefix", children: /* @__PURE__ */ jsxRuntime.jsx("input", { id: "as-invoice-prefix", value: form.invoicePrefix, onChange: (e) => setForm((p) => ({ ...p, invoicePrefix: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PP-" }) }),
|
|
305
|
+
/* @__PURE__ */ jsxRuntime.jsx(FieldRow, { label: "Credit Card Statement Name", htmlFor: "as-cc-statement", children: /* @__PURE__ */ jsxRuntime.jsx("input", { id: "as-cc-statement", value: form.creditCardStatementName, onChange: (e) => setForm((p) => ({ ...p, creditCardStatementName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) })
|
|
309
306
|
] })
|
|
310
307
|
}
|
|
311
308
|
)
|
|
312
309
|
] }) });
|
|
313
310
|
}
|
|
311
|
+
function PayPalApplePayPage() {
|
|
312
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
313
|
+
}
|
|
314
|
+
function PayPalGooglePayPage() {
|
|
315
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
316
|
+
}
|
|
314
317
|
const config = adminSdk.defineRouteConfig({
|
|
315
318
|
label: "PayPal Connection"
|
|
316
319
|
});
|
|
@@ -319,7 +322,7 @@ const PARTNER_JS_URLS = {
|
|
|
319
322
|
live: "https://www.paypal.com/webapps/merchantboarding/js/lib/lightbox/partner.js"
|
|
320
323
|
};
|
|
321
324
|
const SERVICE_URL = "/admin/paypal/onboarding-link";
|
|
322
|
-
const POPUP_NAME = "
|
|
325
|
+
const POPUP_NAME = "PPFrame";
|
|
323
326
|
const CACHE_PREFIX = "pp_onboard_cache";
|
|
324
327
|
const CACHE_EXPIRY = 10 * 60 * 1e3;
|
|
325
328
|
const ONBOARDING_COMPLETE_ENDPOINT = "/admin/paypal/onboard-complete";
|
|
@@ -432,7 +435,6 @@ function PayPalConnectionPage() {
|
|
|
432
435
|
const popupRef = react.useRef(null);
|
|
433
436
|
const popupPollRef = react.useRef(null);
|
|
434
437
|
const completedRef = react.useRef(false);
|
|
435
|
-
const partnerBoundRef = react.useRef(false);
|
|
436
438
|
const ppBtnMeasureRef = react.useRef(null);
|
|
437
439
|
const [ppBtnWidth, setPpBtnWidth] = react.useState(null);
|
|
438
440
|
const canSaveManual = react.useMemo(() => {
|
|
@@ -611,7 +613,6 @@ function PayPalConnectionPage() {
|
|
|
611
613
|
if (target == null ? void 0 : target.init) {
|
|
612
614
|
try {
|
|
613
615
|
target.init();
|
|
614
|
-
partnerBoundRef.current = true;
|
|
615
616
|
} catch (e) {
|
|
616
617
|
console.error("[paypal] partner.js init failed:", e);
|
|
617
618
|
}
|
|
@@ -620,7 +621,6 @@ function PayPalConnectionPage() {
|
|
|
620
621
|
if (typeof (signup == null ? void 0 : signup.render) === "function") {
|
|
621
622
|
try {
|
|
622
623
|
signup.render();
|
|
623
|
-
partnerBoundRef.current = true;
|
|
624
624
|
} catch (e) {
|
|
625
625
|
console.error("[paypal] partner.js render failed:", e);
|
|
626
626
|
}
|
|
@@ -635,7 +635,6 @@ function PayPalConnectionPage() {
|
|
|
635
635
|
} catch {
|
|
636
636
|
}
|
|
637
637
|
};
|
|
638
|
-
partnerBoundRef.current = false;
|
|
639
638
|
const existingScript = document.getElementById("paypal-partner-js");
|
|
640
639
|
if (existingScript) {
|
|
641
640
|
(_a = existingScript.parentNode) == null ? void 0 : _a.removeChild(existingScript);
|
|
@@ -748,17 +747,25 @@ function PayPalConnectionPage() {
|
|
|
748
747
|
else window.removeEventListener("resize", update);
|
|
749
748
|
};
|
|
750
749
|
}, [connState, env, finalUrl]);
|
|
750
|
+
react.useEffect(() => {
|
|
751
|
+
const onCaptureClick = (e) => {
|
|
752
|
+
const btn = paypalButtonRef.current;
|
|
753
|
+
if (!btn) return;
|
|
754
|
+
const target = e.target;
|
|
755
|
+
if (!target || !btn.contains(target)) return;
|
|
756
|
+
e.preventDefault();
|
|
757
|
+
if (connStateRef.current !== "ready" || !finalUrlRef.current || inProgressRef.current) {
|
|
758
|
+
return;
|
|
759
|
+
}
|
|
760
|
+
completedRef.current = false;
|
|
761
|
+
const popup = openOnboardingPopup(finalUrlRef.current);
|
|
762
|
+
setPopupBlocked(!popup);
|
|
763
|
+
};
|
|
764
|
+
document.addEventListener("click", onCaptureClick, true);
|
|
765
|
+
return () => document.removeEventListener("click", onCaptureClick, true);
|
|
766
|
+
}, [openOnboardingPopup]);
|
|
751
767
|
const handleConnectClick = (e) => {
|
|
752
768
|
e.preventDefault();
|
|
753
|
-
if (connStateRef.current !== "ready" || !finalUrlRef.current || inProgressRef.current) {
|
|
754
|
-
return;
|
|
755
|
-
}
|
|
756
|
-
if (partnerBoundRef.current) {
|
|
757
|
-
return;
|
|
758
|
-
}
|
|
759
|
-
completedRef.current = false;
|
|
760
|
-
const popup = openOnboardingPopup(finalUrlRef.current);
|
|
761
|
-
setPopupBlocked(!popup);
|
|
762
769
|
};
|
|
763
770
|
const handleSaveManual = async () => {
|
|
764
771
|
if (!canSaveManual || onboardingInProgress) return;
|
|
@@ -1078,9 +1085,6 @@ function PayPalConnectionPage() {
|
|
|
1078
1085
|
` })
|
|
1079
1086
|
] });
|
|
1080
1087
|
}
|
|
1081
|
-
function PayPalGooglePayPage() {
|
|
1082
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1083
|
-
}
|
|
1084
1088
|
function PayPalPayLaterMessagingPage() {
|
|
1085
1089
|
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1086
1090
|
}
|
|
@@ -1298,6 +1302,10 @@ const routeModule = {
|
|
|
1298
1302
|
Component: PayPalSettingsIndexRoute,
|
|
1299
1303
|
path: "/settings/paypal"
|
|
1300
1304
|
},
|
|
1305
|
+
{
|
|
1306
|
+
Component: AdvancedCardPaymentsTab,
|
|
1307
|
+
path: "/settings/paypal/advanced-card-payments"
|
|
1308
|
+
},
|
|
1301
1309
|
{
|
|
1302
1310
|
Component: AdditionalSettingsTab,
|
|
1303
1311
|
path: "/settings/paypal/additional-settings"
|
|
@@ -1307,17 +1315,13 @@ const routeModule = {
|
|
|
1307
1315
|
path: "/settings/paypal/apple-pay"
|
|
1308
1316
|
},
|
|
1309
1317
|
{
|
|
1310
|
-
Component:
|
|
1311
|
-
path: "/settings/paypal/
|
|
1318
|
+
Component: PayPalGooglePayPage,
|
|
1319
|
+
path: "/settings/paypal/google-pay"
|
|
1312
1320
|
},
|
|
1313
1321
|
{
|
|
1314
1322
|
Component: PayPalConnectionPage,
|
|
1315
1323
|
path: "/settings/paypal/connection"
|
|
1316
1324
|
},
|
|
1317
|
-
{
|
|
1318
|
-
Component: PayPalGooglePayPage,
|
|
1319
|
-
path: "/settings/paypal/google-pay"
|
|
1320
|
-
},
|
|
1321
1325
|
{
|
|
1322
1326
|
Component: PayPalPayLaterMessagingPage,
|
|
1323
1327
|
path: "/settings/paypal/pay-later-messaging"
|
|
@@ -133,20 +133,22 @@ async function adminFetch(path, opts = {}) {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
const DEFAULT_FORM$1 = {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
requireInstantPayment: false,
|
|
140
|
-
sendItemDetails: true,
|
|
141
|
-
invoicePrefix: "PP-",
|
|
142
|
-
creditCardStatementName: "PayPal"
|
|
136
|
+
enabled: true,
|
|
137
|
+
title: "Credit or Debit Card",
|
|
138
|
+
threeDS: "when_required"
|
|
143
139
|
};
|
|
144
140
|
function mergeWithDefaults$1(saved) {
|
|
145
141
|
if (!saved) return { ...DEFAULT_FORM$1 };
|
|
146
142
|
const entries = Object.entries(saved).filter(([, value]) => value !== void 0);
|
|
147
143
|
return { ...DEFAULT_FORM$1, ...Object.fromEntries(entries) };
|
|
148
144
|
}
|
|
149
|
-
|
|
145
|
+
const THREE_DS_OPTIONS = [
|
|
146
|
+
{ value: "when_required", label: "3D Secure when required", hint: "Triggers 3DS only when the card / issuer requires it." },
|
|
147
|
+
{ value: "sli", label: "3D Secure (SCA) / liability shift (recommended)", hint: "Attempts to optimize for liability shift while remaining compliant." },
|
|
148
|
+
{ value: "always", label: "Always request 3D Secure", hint: "Forces 3DS challenge whenever possible (may reduce conversion)." }
|
|
149
|
+
];
|
|
150
|
+
function AdvancedCardPaymentsTab() {
|
|
151
|
+
var _a, _b;
|
|
150
152
|
const [form, setForm] = useState(() => ({ ...DEFAULT_FORM$1 }));
|
|
151
153
|
const [loading, setLoading] = useState(false);
|
|
152
154
|
const [saving, setSaving] = useState(false);
|
|
@@ -161,7 +163,7 @@ function AdditionalSettingsTab() {
|
|
|
161
163
|
setLoading(true);
|
|
162
164
|
const json = await adminFetch("/admin/paypal/settings");
|
|
163
165
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
164
|
-
const saved = payload == null ? void 0 : payload.
|
|
166
|
+
const saved = payload == null ? void 0 : payload.advanced_card_payments;
|
|
165
167
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults$1(saved));
|
|
166
168
|
} catch {
|
|
167
169
|
} finally {
|
|
@@ -172,14 +174,16 @@ function AdditionalSettingsTab() {
|
|
|
172
174
|
async function onSave() {
|
|
173
175
|
try {
|
|
174
176
|
setSaving(true);
|
|
175
|
-
|
|
176
|
-
|
|
177
|
+
const json = await adminFetch("/admin/paypal/settings", {
|
|
178
|
+
method: "POST",
|
|
179
|
+
body: { advanced_card_payments: form }
|
|
180
|
+
});
|
|
177
181
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
178
|
-
const saved = payload == null ? void 0 : payload.
|
|
182
|
+
const saved = payload == null ? void 0 : payload.advanced_card_payments;
|
|
179
183
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults$1(saved));
|
|
180
184
|
setToast({ kind: "success", message: "Settings saved" });
|
|
181
185
|
} catch (e) {
|
|
182
|
-
setToast({ kind: "error", message: e instanceof Error ? e.message : "Failed to save settings" });
|
|
186
|
+
setToast({ kind: "error", message: (e instanceof Error ? e.message : "") || "Failed to save settings." });
|
|
183
187
|
} finally {
|
|
184
188
|
setSaving(false);
|
|
185
189
|
}
|
|
@@ -191,58 +195,42 @@ function AdditionalSettingsTab() {
|
|
|
191
195
|
/* @__PURE__ */ jsx(
|
|
192
196
|
SectionCard,
|
|
193
197
|
{
|
|
194
|
-
title: "
|
|
195
|
-
description: "
|
|
198
|
+
title: "Advanced Card Payments",
|
|
199
|
+
description: "Control card checkout settings and 3D Secure behavior.",
|
|
196
200
|
right: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
197
201
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: onSave, disabled: saving || loading, 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: saving ? "Saving..." : "Save settings" }),
|
|
198
202
|
loading ? /* @__PURE__ */ jsx("span", { className: "text-sm text-ui-fg-subtle", children: "Loading…" }) : null
|
|
199
203
|
] }),
|
|
200
204
|
children: /* @__PURE__ */ jsxs("div", { className: "divide-y divide-ui-border-base", children: [
|
|
201
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "
|
|
202
|
-
/* @__PURE__ */ jsx("
|
|
203
|
-
/* @__PURE__ */ jsx("
|
|
204
|
-
] }) }),
|
|
205
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "Brand Name", htmlFor: "as-brand-name", children: /* @__PURE__ */ jsx("input", { id: "as-brand-name", value: form.brandName, onChange: (e) => setForm((p) => ({ ...p, brandName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) }),
|
|
206
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "Landing Page", htmlFor: "as-landing-page", children: /* @__PURE__ */ jsxs("select", { id: "as-landing-page", value: form.landingPage, onChange: (e) => setForm((p) => ({ ...p, landingPage: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [
|
|
207
|
-
/* @__PURE__ */ jsx("option", { value: "no_preference", children: "No Preference" }),
|
|
208
|
-
/* @__PURE__ */ jsx("option", { value: "login", children: "Login" }),
|
|
209
|
-
/* @__PURE__ */ jsx("option", { value: "billing", children: "Billing" })
|
|
210
|
-
] }) }),
|
|
211
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "Instant Payments", children: /* @__PURE__ */ jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
212
|
-
/* @__PURE__ */ jsx("input", { type: "checkbox", checked: form.requireInstantPayment, onChange: (e) => setForm((p) => ({ ...p, requireInstantPayment: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
213
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm text-ui-fg-base", children: "Require Instant Payment" })
|
|
214
|
-
] }) }),
|
|
215
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "Send Item Details", hint: "Include all line item details in the payment request to PayPal so that they can be seen from the PayPal transaction details page.", children: /* @__PURE__ */ jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
216
|
-
/* @__PURE__ */ jsx("input", { type: "checkbox", checked: form.sendItemDetails, onChange: (e) => setForm((p) => ({ ...p, sendItemDetails: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
217
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm text-ui-fg-base", children: "Send line item details to PayPal" })
|
|
205
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Enable/Disable", children: /* @__PURE__ */ jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
206
|
+
/* @__PURE__ */ jsx("input", { type: "checkbox", checked: form.enabled, onChange: (e) => setForm((p) => ({ ...p, enabled: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
207
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-ui-fg-base", children: "Enable Advanced Credit/Debit Card" })
|
|
218
208
|
] }) }),
|
|
219
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "
|
|
220
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "
|
|
209
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Title", htmlFor: "acp-title", children: /* @__PURE__ */ jsx("input", { id: "acp-title", value: form.title, onChange: (e) => setForm((p) => ({ ...p, title: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "Credit or Debit Card" }) }),
|
|
210
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Contingency for 3D Secure", hint: "Choose when 3D Secure should be triggered during card payments.", htmlFor: "acp-threeds", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
211
|
+
/* @__PURE__ */ jsx("select", { id: "acp-threeds", value: form.threeDS, onChange: (e) => setForm((p) => ({ ...p, threeDS: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: THREE_DS_OPTIONS.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: o.label }, o.value)) }),
|
|
212
|
+
((_a = THREE_DS_OPTIONS.find((o) => o.value === form.threeDS)) == null ? void 0 : _a.hint) ? /* @__PURE__ */ jsx("div", { className: "text-xs text-ui-fg-subtle", children: (_b = THREE_DS_OPTIONS.find((o) => o.value === form.threeDS)) == null ? void 0 : _b.hint }) : null
|
|
213
|
+
] }) })
|
|
221
214
|
] })
|
|
222
215
|
}
|
|
223
216
|
)
|
|
224
217
|
] }) });
|
|
225
218
|
}
|
|
226
|
-
function PayPalApplePayPage() {
|
|
227
|
-
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
228
|
-
}
|
|
229
219
|
const DEFAULT_FORM = {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
220
|
+
paymentAction: "capture",
|
|
221
|
+
brandName: "PayPal",
|
|
222
|
+
landingPage: "no_preference",
|
|
223
|
+
requireInstantPayment: false,
|
|
224
|
+
sendItemDetails: true,
|
|
225
|
+
invoicePrefix: "PP-",
|
|
226
|
+
creditCardStatementName: "PayPal"
|
|
233
227
|
};
|
|
234
228
|
function mergeWithDefaults(saved) {
|
|
235
229
|
if (!saved) return { ...DEFAULT_FORM };
|
|
236
230
|
const entries = Object.entries(saved).filter(([, value]) => value !== void 0);
|
|
237
231
|
return { ...DEFAULT_FORM, ...Object.fromEntries(entries) };
|
|
238
232
|
}
|
|
239
|
-
|
|
240
|
-
{ value: "when_required", label: "3D Secure when required", hint: "Triggers 3DS only when the card / issuer requires it." },
|
|
241
|
-
{ value: "sli", label: "3D Secure (SCA) / liability shift (recommended)", hint: "Attempts to optimize for liability shift while remaining compliant." },
|
|
242
|
-
{ value: "always", label: "Always request 3D Secure", hint: "Forces 3DS challenge whenever possible (may reduce conversion)." }
|
|
243
|
-
];
|
|
244
|
-
function AdvancedCardPaymentsTab() {
|
|
245
|
-
var _a, _b;
|
|
233
|
+
function AdditionalSettingsTab() {
|
|
246
234
|
const [form, setForm] = useState(() => ({ ...DEFAULT_FORM }));
|
|
247
235
|
const [loading, setLoading] = useState(false);
|
|
248
236
|
const [saving, setSaving] = useState(false);
|
|
@@ -257,7 +245,7 @@ function AdvancedCardPaymentsTab() {
|
|
|
257
245
|
setLoading(true);
|
|
258
246
|
const json = await adminFetch("/admin/paypal/settings");
|
|
259
247
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
260
|
-
const saved = payload == null ? void 0 : payload.
|
|
248
|
+
const saved = payload == null ? void 0 : payload.additional_settings;
|
|
261
249
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults(saved));
|
|
262
250
|
} catch {
|
|
263
251
|
} finally {
|
|
@@ -268,16 +256,14 @@ function AdvancedCardPaymentsTab() {
|
|
|
268
256
|
async function onSave() {
|
|
269
257
|
try {
|
|
270
258
|
setSaving(true);
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
body: { advanced_card_payments: form }
|
|
274
|
-
});
|
|
259
|
+
setToast(null);
|
|
260
|
+
const json = await adminFetch("/admin/paypal/settings", { method: "POST", body: { additional_settings: form } });
|
|
275
261
|
const payload = (json == null ? void 0 : json.data) ?? json;
|
|
276
|
-
const saved = payload == null ? void 0 : payload.
|
|
262
|
+
const saved = payload == null ? void 0 : payload.additional_settings;
|
|
277
263
|
if (saved && typeof saved === "object") setForm(mergeWithDefaults(saved));
|
|
278
264
|
setToast({ kind: "success", message: "Settings saved" });
|
|
279
265
|
} catch (e) {
|
|
280
|
-
setToast({ kind: "error", message:
|
|
266
|
+
setToast({ kind: "error", message: e instanceof Error ? e.message : "Failed to save settings" });
|
|
281
267
|
} finally {
|
|
282
268
|
setSaving(false);
|
|
283
269
|
}
|
|
@@ -289,27 +275,44 @@ function AdvancedCardPaymentsTab() {
|
|
|
289
275
|
/* @__PURE__ */ jsx(
|
|
290
276
|
SectionCard,
|
|
291
277
|
{
|
|
292
|
-
title: "
|
|
293
|
-
description: "
|
|
278
|
+
title: "Additional Settings",
|
|
279
|
+
description: "These settings control checkout behavior and PayPal experience.",
|
|
294
280
|
right: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
295
281
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: onSave, disabled: saving || loading, 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: saving ? "Saving..." : "Save settings" }),
|
|
296
282
|
loading ? /* @__PURE__ */ jsx("span", { className: "text-sm text-ui-fg-subtle", children: "Loading…" }) : null
|
|
297
283
|
] }),
|
|
298
284
|
children: /* @__PURE__ */ jsxs("div", { className: "divide-y divide-ui-border-base", children: [
|
|
299
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "
|
|
300
|
-
/* @__PURE__ */ jsx("
|
|
301
|
-
/* @__PURE__ */ jsx("
|
|
285
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Payment action", htmlFor: "as-payment-action", children: /* @__PURE__ */ jsxs("select", { id: "as-payment-action", value: form.paymentAction, onChange: (e) => setForm((p) => ({ ...p, paymentAction: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [
|
|
286
|
+
/* @__PURE__ */ jsx("option", { value: "capture", children: "Capture" }),
|
|
287
|
+
/* @__PURE__ */ jsx("option", { value: "authorize", children: "Authorize" })
|
|
302
288
|
] }) }),
|
|
303
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "
|
|
304
|
-
/* @__PURE__ */ jsx(FieldRow, { label: "
|
|
305
|
-
/* @__PURE__ */ jsx("
|
|
306
|
-
|
|
307
|
-
|
|
289
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Brand Name", htmlFor: "as-brand-name", children: /* @__PURE__ */ jsx("input", { id: "as-brand-name", value: form.brandName, onChange: (e) => setForm((p) => ({ ...p, brandName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) }),
|
|
290
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Landing Page", htmlFor: "as-landing-page", children: /* @__PURE__ */ jsxs("select", { id: "as-landing-page", value: form.landingPage, onChange: (e) => setForm((p) => ({ ...p, landingPage: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [
|
|
291
|
+
/* @__PURE__ */ jsx("option", { value: "no_preference", children: "No Preference" }),
|
|
292
|
+
/* @__PURE__ */ jsx("option", { value: "login", children: "Login" }),
|
|
293
|
+
/* @__PURE__ */ jsx("option", { value: "billing", children: "Billing" })
|
|
294
|
+
] }) }),
|
|
295
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Instant Payments", children: /* @__PURE__ */ jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
296
|
+
/* @__PURE__ */ jsx("input", { type: "checkbox", checked: form.requireInstantPayment, onChange: (e) => setForm((p) => ({ ...p, requireInstantPayment: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
297
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-ui-fg-base", children: "Require Instant Payment" })
|
|
298
|
+
] }) }),
|
|
299
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Send Item Details", hint: "Include all line item details in the payment request to PayPal so that they can be seen from the PayPal transaction details page.", children: /* @__PURE__ */ jsxs("label", { className: "inline-flex items-center gap-2", children: [
|
|
300
|
+
/* @__PURE__ */ jsx("input", { type: "checkbox", checked: form.sendItemDetails, onChange: (e) => setForm((p) => ({ ...p, sendItemDetails: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }),
|
|
301
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-ui-fg-base", children: "Send line item details to PayPal" })
|
|
302
|
+
] }) }),
|
|
303
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Invoice prefix", htmlFor: "as-invoice-prefix", children: /* @__PURE__ */ jsx("input", { id: "as-invoice-prefix", value: form.invoicePrefix, onChange: (e) => setForm((p) => ({ ...p, invoicePrefix: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PP-" }) }),
|
|
304
|
+
/* @__PURE__ */ jsx(FieldRow, { label: "Credit Card Statement Name", htmlFor: "as-cc-statement", children: /* @__PURE__ */ jsx("input", { id: "as-cc-statement", value: form.creditCardStatementName, onChange: (e) => setForm((p) => ({ ...p, creditCardStatementName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) })
|
|
308
305
|
] })
|
|
309
306
|
}
|
|
310
307
|
)
|
|
311
308
|
] }) });
|
|
312
309
|
}
|
|
310
|
+
function PayPalApplePayPage() {
|
|
311
|
+
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
312
|
+
}
|
|
313
|
+
function PayPalGooglePayPage() {
|
|
314
|
+
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
315
|
+
}
|
|
313
316
|
const config = defineRouteConfig({
|
|
314
317
|
label: "PayPal Connection"
|
|
315
318
|
});
|
|
@@ -318,7 +321,7 @@ const PARTNER_JS_URLS = {
|
|
|
318
321
|
live: "https://www.paypal.com/webapps/merchantboarding/js/lib/lightbox/partner.js"
|
|
319
322
|
};
|
|
320
323
|
const SERVICE_URL = "/admin/paypal/onboarding-link";
|
|
321
|
-
const POPUP_NAME = "
|
|
324
|
+
const POPUP_NAME = "PPFrame";
|
|
322
325
|
const CACHE_PREFIX = "pp_onboard_cache";
|
|
323
326
|
const CACHE_EXPIRY = 10 * 60 * 1e3;
|
|
324
327
|
const ONBOARDING_COMPLETE_ENDPOINT = "/admin/paypal/onboard-complete";
|
|
@@ -431,7 +434,6 @@ function PayPalConnectionPage() {
|
|
|
431
434
|
const popupRef = useRef(null);
|
|
432
435
|
const popupPollRef = useRef(null);
|
|
433
436
|
const completedRef = useRef(false);
|
|
434
|
-
const partnerBoundRef = useRef(false);
|
|
435
437
|
const ppBtnMeasureRef = useRef(null);
|
|
436
438
|
const [ppBtnWidth, setPpBtnWidth] = useState(null);
|
|
437
439
|
const canSaveManual = useMemo(() => {
|
|
@@ -610,7 +612,6 @@ function PayPalConnectionPage() {
|
|
|
610
612
|
if (target == null ? void 0 : target.init) {
|
|
611
613
|
try {
|
|
612
614
|
target.init();
|
|
613
|
-
partnerBoundRef.current = true;
|
|
614
615
|
} catch (e) {
|
|
615
616
|
console.error("[paypal] partner.js init failed:", e);
|
|
616
617
|
}
|
|
@@ -619,7 +620,6 @@ function PayPalConnectionPage() {
|
|
|
619
620
|
if (typeof (signup == null ? void 0 : signup.render) === "function") {
|
|
620
621
|
try {
|
|
621
622
|
signup.render();
|
|
622
|
-
partnerBoundRef.current = true;
|
|
623
623
|
} catch (e) {
|
|
624
624
|
console.error("[paypal] partner.js render failed:", e);
|
|
625
625
|
}
|
|
@@ -634,7 +634,6 @@ function PayPalConnectionPage() {
|
|
|
634
634
|
} catch {
|
|
635
635
|
}
|
|
636
636
|
};
|
|
637
|
-
partnerBoundRef.current = false;
|
|
638
637
|
const existingScript = document.getElementById("paypal-partner-js");
|
|
639
638
|
if (existingScript) {
|
|
640
639
|
(_a = existingScript.parentNode) == null ? void 0 : _a.removeChild(existingScript);
|
|
@@ -747,17 +746,25 @@ function PayPalConnectionPage() {
|
|
|
747
746
|
else window.removeEventListener("resize", update);
|
|
748
747
|
};
|
|
749
748
|
}, [connState, env, finalUrl]);
|
|
749
|
+
useEffect(() => {
|
|
750
|
+
const onCaptureClick = (e) => {
|
|
751
|
+
const btn = paypalButtonRef.current;
|
|
752
|
+
if (!btn) return;
|
|
753
|
+
const target = e.target;
|
|
754
|
+
if (!target || !btn.contains(target)) return;
|
|
755
|
+
e.preventDefault();
|
|
756
|
+
if (connStateRef.current !== "ready" || !finalUrlRef.current || inProgressRef.current) {
|
|
757
|
+
return;
|
|
758
|
+
}
|
|
759
|
+
completedRef.current = false;
|
|
760
|
+
const popup = openOnboardingPopup(finalUrlRef.current);
|
|
761
|
+
setPopupBlocked(!popup);
|
|
762
|
+
};
|
|
763
|
+
document.addEventListener("click", onCaptureClick, true);
|
|
764
|
+
return () => document.removeEventListener("click", onCaptureClick, true);
|
|
765
|
+
}, [openOnboardingPopup]);
|
|
750
766
|
const handleConnectClick = (e) => {
|
|
751
767
|
e.preventDefault();
|
|
752
|
-
if (connStateRef.current !== "ready" || !finalUrlRef.current || inProgressRef.current) {
|
|
753
|
-
return;
|
|
754
|
-
}
|
|
755
|
-
if (partnerBoundRef.current) {
|
|
756
|
-
return;
|
|
757
|
-
}
|
|
758
|
-
completedRef.current = false;
|
|
759
|
-
const popup = openOnboardingPopup(finalUrlRef.current);
|
|
760
|
-
setPopupBlocked(!popup);
|
|
761
768
|
};
|
|
762
769
|
const handleSaveManual = async () => {
|
|
763
770
|
if (!canSaveManual || onboardingInProgress) return;
|
|
@@ -1077,9 +1084,6 @@ function PayPalConnectionPage() {
|
|
|
1077
1084
|
` })
|
|
1078
1085
|
] });
|
|
1079
1086
|
}
|
|
1080
|
-
function PayPalGooglePayPage() {
|
|
1081
|
-
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1082
|
-
}
|
|
1083
1087
|
function PayPalPayLaterMessagingPage() {
|
|
1084
1088
|
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1085
1089
|
}
|
|
@@ -1297,6 +1301,10 @@ const routeModule = {
|
|
|
1297
1301
|
Component: PayPalSettingsIndexRoute,
|
|
1298
1302
|
path: "/settings/paypal"
|
|
1299
1303
|
},
|
|
1304
|
+
{
|
|
1305
|
+
Component: AdvancedCardPaymentsTab,
|
|
1306
|
+
path: "/settings/paypal/advanced-card-payments"
|
|
1307
|
+
},
|
|
1300
1308
|
{
|
|
1301
1309
|
Component: AdditionalSettingsTab,
|
|
1302
1310
|
path: "/settings/paypal/additional-settings"
|
|
@@ -1306,17 +1314,13 @@ const routeModule = {
|
|
|
1306
1314
|
path: "/settings/paypal/apple-pay"
|
|
1307
1315
|
},
|
|
1308
1316
|
{
|
|
1309
|
-
Component:
|
|
1310
|
-
path: "/settings/paypal/
|
|
1317
|
+
Component: PayPalGooglePayPage,
|
|
1318
|
+
path: "/settings/paypal/google-pay"
|
|
1311
1319
|
},
|
|
1312
1320
|
{
|
|
1313
1321
|
Component: PayPalConnectionPage,
|
|
1314
1322
|
path: "/settings/paypal/connection"
|
|
1315
1323
|
},
|
|
1316
|
-
{
|
|
1317
|
-
Component: PayPalGooglePayPage,
|
|
1318
|
-
path: "/settings/paypal/google-pay"
|
|
1319
|
-
},
|
|
1320
1324
|
{
|
|
1321
1325
|
Component: PayPalPayLaterMessagingPage,
|
|
1322
1326
|
path: "/settings/paypal/pay-later-messaging"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/connection/page.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,MAAM,2CAEjB,CAAA;AAQF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,EAAE;gBACL,MAAM,CAAC,EAAE;oBACP,WAAW,CAAC,EAAE;wBAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;wBAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;qBAAE,CAAA;oBAC3D,WAAW,CAAC,EAAE;wBAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;wBAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;qBAAE,CAAA;oBAC3D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;iBACpB,CAAA;aACF,CAAA;SACF,CAAA;QACD,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;KAClE;CACF;
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/connection/page.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,MAAM,2CAEjB,CAAA;AAQF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,EAAE;gBACL,MAAM,CAAC,EAAE;oBACP,WAAW,CAAC,EAAE;wBAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;wBAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;qBAAE,CAAA;oBAC3D,WAAW,CAAC,EAAE;wBAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;wBAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;qBAAE,CAAA;oBAC3D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;iBACpB,CAAA;aACF,CAAA;SACF,CAAA;QACD,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;KAClE;CACF;AAwID,MAAM,CAAC,OAAO,UAAU,oBAAoB,4CA+2B3C"}
|
|
@@ -17,11 +17,16 @@ const PARTNER_JS_URLS = {
|
|
|
17
17
|
live: "https://www.paypal.com/webapps/merchantboarding/js/lib/lightbox/partner.js",
|
|
18
18
|
};
|
|
19
19
|
const SERVICE_URL = "/admin/paypal/onboarding-link";
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
|
|
20
|
+
// We open the mini-browser popup ourselves, synchronously inside the click
|
|
21
|
+
// gesture (see openOnboardingPopup) — the only reliable way to get a popup
|
|
22
|
+
// rather than a blocked window or a new tab. The window name matches the
|
|
23
|
+
// anchor's `target` and PayPal's conventional "PPFrame": partner.js opens the
|
|
24
|
+
// flow with `window.open(url, target, ...)`, so when it runs right after us it
|
|
25
|
+
// *reuses this already-open window* (a named-window navigation needs no user
|
|
26
|
+
// activation) instead of trying — and failing, asynchronously — to spawn its
|
|
27
|
+
// own. That lets partner.js still wire its completion bridge without ever
|
|
28
|
+
// opening a second/late window.
|
|
29
|
+
const POPUP_NAME = "PPFrame";
|
|
25
30
|
const CACHE_PREFIX = "pp_onboard_cache";
|
|
26
31
|
const CACHE_EXPIRY = 10 * 60 * 1000;
|
|
27
32
|
const ONBOARDING_COMPLETE_ENDPOINT = "/admin/paypal/onboard-complete";
|
|
@@ -174,12 +179,6 @@ function PayPalConnectionPage() {
|
|
|
174
179
|
// Guards against the two redundant completion paths (our own message listener
|
|
175
180
|
// and partner.js's onboardingCallback bridge) both POSTing the same result.
|
|
176
181
|
const completedRef = (0, react_1.useRef)(false);
|
|
177
|
-
// True once partner.js has initialized and bound its click interceptor to the
|
|
178
|
-
// button. When bound, partner.js opens the mini-browser AND wires its
|
|
179
|
-
// postMessage->onboardingCallback bridge (which auto-closes the popup and
|
|
180
|
-
// saves credentials), so we must NOT open a second window. Until it is bound
|
|
181
|
-
// (cold first click), we open the popup ourselves so the click still works.
|
|
182
|
-
const partnerBoundRef = (0, react_1.useRef)(false);
|
|
183
182
|
const ppBtnMeasureRef = (0, react_1.useRef)(null);
|
|
184
183
|
const [ppBtnWidth, setPpBtnWidth] = (0, react_1.useState)(null);
|
|
185
184
|
const canSaveManual = (0, react_1.useMemo)(() => {
|
|
@@ -399,11 +398,10 @@ function PayPalConnectionPage() {
|
|
|
399
398
|
: null;
|
|
400
399
|
if (target?.init) {
|
|
401
400
|
try {
|
|
401
|
+
// Wires partner.js's click interceptor + its postMessage->callback
|
|
402
|
+
// bridge. It will adopt the window we pre-open (same name) rather than
|
|
403
|
+
// open its own.
|
|
402
404
|
target.init();
|
|
403
|
-
// partner.js scans the DOM and binds the button synchronously inside
|
|
404
|
-
// init(), so from here a click is intercepted by partner.js (popup +
|
|
405
|
-
// callback bridge) and we should not also open our own window.
|
|
406
|
-
partnerBoundRef.current = true;
|
|
407
405
|
}
|
|
408
406
|
catch (e) {
|
|
409
407
|
console.error("[paypal] partner.js init failed:", e);
|
|
@@ -413,7 +411,6 @@ function PayPalConnectionPage() {
|
|
|
413
411
|
if (typeof signup?.render === "function") {
|
|
414
412
|
try {
|
|
415
413
|
signup.render();
|
|
416
|
-
partnerBoundRef.current = true;
|
|
417
414
|
}
|
|
418
415
|
catch (e) {
|
|
419
416
|
console.error("[paypal] partner.js render failed:", e);
|
|
@@ -429,9 +426,6 @@ function PayPalConnectionPage() {
|
|
|
429
426
|
}
|
|
430
427
|
catch { }
|
|
431
428
|
};
|
|
432
|
-
// This load hasn't bound the button yet; until init() runs, a click should
|
|
433
|
-
// be handled by us (cold path) rather than assumed to reach partner.js.
|
|
434
|
-
partnerBoundRef.current = false;
|
|
435
429
|
// Remove any stale copy + namespace so the fresh load re-registers against
|
|
436
430
|
// the current environment (sandbox vs live partner.js differ).
|
|
437
431
|
const existingScript = document.getElementById("paypal-partner-js");
|
|
@@ -565,33 +559,50 @@ function PayPalConnectionPage() {
|
|
|
565
559
|
window.removeEventListener("resize", update);
|
|
566
560
|
};
|
|
567
561
|
}, [connState, env, finalUrl]);
|
|
568
|
-
//
|
|
562
|
+
// Capture-phase click handler — the single, reliable opener.
|
|
569
563
|
//
|
|
570
|
-
//
|
|
564
|
+
// It runs on `document` in the CAPTURE phase, i.e. BEFORE the event reaches
|
|
565
|
+
// the anchor where partner.js binds its own (target-phase) handler. That
|
|
566
|
+
// ordering is the whole point:
|
|
567
|
+
// 1. We synchronously open the mini-browser popup here, inside the user
|
|
568
|
+
// gesture, so the browser always renders a real popup (never a blocked
|
|
569
|
+
// window, never a new tab).
|
|
570
|
+
// 2. We do NOT stop propagation, so partner.js's handler still runs a beat
|
|
571
|
+
// later. Since it opens with the same window name (POPUP_NAME), it adopts
|
|
572
|
+
// the window we just opened instead of asynchronously spawning its own
|
|
573
|
+
// (which the browser was blocking — "multiple popups ... lack of user
|
|
574
|
+
// activation") — and it still wires its postMessage->onboardingCallback
|
|
575
|
+
// bridge that auto-closes the popup and saves credentials.
|
|
576
|
+
// 3. We always preventDefault so the anchor's href can never open a tab.
|
|
571
577
|
//
|
|
572
|
-
//
|
|
573
|
-
//
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
578
|
+
// Completion is handled by partner.js's bridge AND by our own postMessage
|
|
579
|
+
// listener (see below), funnelling through one idempotent completeOnboarding.
|
|
580
|
+
(0, react_1.useEffect)(() => {
|
|
581
|
+
const onCaptureClick = (e) => {
|
|
582
|
+
const btn = paypalButtonRef.current;
|
|
583
|
+
if (!btn)
|
|
584
|
+
return;
|
|
585
|
+
const target = e.target;
|
|
586
|
+
if (!target || !btn.contains(target))
|
|
587
|
+
return;
|
|
588
|
+
e.preventDefault();
|
|
589
|
+
if (connStateRef.current !== "ready" ||
|
|
590
|
+
!finalUrlRef.current ||
|
|
591
|
+
inProgressRef.current) {
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
completedRef.current = false;
|
|
595
|
+
const popup = openOnboardingPopup(finalUrlRef.current);
|
|
596
|
+
setPopupBlocked(!popup);
|
|
597
|
+
};
|
|
598
|
+
document.addEventListener("click", onCaptureClick, true);
|
|
599
|
+
return () => document.removeEventListener("click", onCaptureClick, true);
|
|
600
|
+
}, [openOnboardingPopup]);
|
|
601
|
+
// Defensive only: the capture-phase listener above already opened the popup
|
|
602
|
+
// and prevented the default. If for some reason it didn't run, make sure the
|
|
603
|
+
// native target still can't open a tab.
|
|
581
604
|
const handleConnectClick = (e) => {
|
|
582
605
|
e.preventDefault();
|
|
583
|
-
if (connStateRef.current !== "ready" ||
|
|
584
|
-
!finalUrlRef.current ||
|
|
585
|
-
inProgressRef.current) {
|
|
586
|
-
return;
|
|
587
|
-
}
|
|
588
|
-
if (partnerBoundRef.current) {
|
|
589
|
-
// partner.js owns this click (popup + auto-close + callback bridge).
|
|
590
|
-
return;
|
|
591
|
-
}
|
|
592
|
-
completedRef.current = false;
|
|
593
|
-
const popup = openOnboardingPopup(finalUrlRef.current);
|
|
594
|
-
setPopupBlocked(!popup);
|
|
595
606
|
};
|
|
596
607
|
const handleSaveManual = async () => {
|
|
597
608
|
if (!canSaveManual || onboardingInProgress)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/connection/page.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/connection/page.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -36,11 +36,16 @@ declare global {
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
const SERVICE_URL = "/admin/paypal/onboarding-link"
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
|
|
39
|
+
// We open the mini-browser popup ourselves, synchronously inside the click
|
|
40
|
+
// gesture (see openOnboardingPopup) — the only reliable way to get a popup
|
|
41
|
+
// rather than a blocked window or a new tab. The window name matches the
|
|
42
|
+
// anchor's `target` and PayPal's conventional "PPFrame": partner.js opens the
|
|
43
|
+
// flow with `window.open(url, target, ...)`, so when it runs right after us it
|
|
44
|
+
// *reuses this already-open window* (a named-window navigation needs no user
|
|
45
|
+
// activation) instead of trying — and failing, asynchronously — to spawn its
|
|
46
|
+
// own. That lets partner.js still wire its completion bridge without ever
|
|
47
|
+
// opening a second/late window.
|
|
48
|
+
const POPUP_NAME = "PPFrame"
|
|
44
49
|
const CACHE_PREFIX = "pp_onboard_cache"
|
|
45
50
|
const CACHE_EXPIRY = 10 * 60 * 1000
|
|
46
51
|
|
|
@@ -209,12 +214,6 @@ export default function PayPalConnectionPage() {
|
|
|
209
214
|
// Guards against the two redundant completion paths (our own message listener
|
|
210
215
|
// and partner.js's onboardingCallback bridge) both POSTing the same result.
|
|
211
216
|
const completedRef = useRef(false)
|
|
212
|
-
// True once partner.js has initialized and bound its click interceptor to the
|
|
213
|
-
// button. When bound, partner.js opens the mini-browser AND wires its
|
|
214
|
-
// postMessage->onboardingCallback bridge (which auto-closes the popup and
|
|
215
|
-
// saves credentials), so we must NOT open a second window. Until it is bound
|
|
216
|
-
// (cold first click), we open the popup ourselves so the click still works.
|
|
217
|
-
const partnerBoundRef = useRef(false)
|
|
218
217
|
|
|
219
218
|
const ppBtnMeasureRef = useRef<HTMLAnchorElement | null>(null)
|
|
220
219
|
const [ppBtnWidth, setPpBtnWidth] = useState<number | null>(null)
|
|
@@ -463,11 +462,10 @@ export default function PayPalConnectionPage() {
|
|
|
463
462
|
|
|
464
463
|
if (target?.init) {
|
|
465
464
|
try {
|
|
465
|
+
// Wires partner.js's click interceptor + its postMessage->callback
|
|
466
|
+
// bridge. It will adopt the window we pre-open (same name) rather than
|
|
467
|
+
// open its own.
|
|
466
468
|
target.init()
|
|
467
|
-
// partner.js scans the DOM and binds the button synchronously inside
|
|
468
|
-
// init(), so from here a click is intercepted by partner.js (popup +
|
|
469
|
-
// callback bridge) and we should not also open our own window.
|
|
470
|
-
partnerBoundRef.current = true
|
|
471
469
|
} catch (e) {
|
|
472
470
|
console.error("[paypal] partner.js init failed:", e)
|
|
473
471
|
}
|
|
@@ -477,7 +475,6 @@ export default function PayPalConnectionPage() {
|
|
|
477
475
|
if (typeof signup?.render === "function") {
|
|
478
476
|
try {
|
|
479
477
|
signup.render()
|
|
480
|
-
partnerBoundRef.current = true
|
|
481
478
|
} catch (e) {
|
|
482
479
|
console.error("[paypal] partner.js render failed:", e)
|
|
483
480
|
}
|
|
@@ -494,10 +491,6 @@ export default function PayPalConnectionPage() {
|
|
|
494
491
|
} catch {}
|
|
495
492
|
}
|
|
496
493
|
|
|
497
|
-
// This load hasn't bound the button yet; until init() runs, a click should
|
|
498
|
-
// be handled by us (cold path) rather than assumed to reach partner.js.
|
|
499
|
-
partnerBoundRef.current = false
|
|
500
|
-
|
|
501
494
|
// Remove any stale copy + namespace so the fresh load re-registers against
|
|
502
495
|
// the current environment (sandbox vs live partner.js differ).
|
|
503
496
|
const existingScript = document.getElementById("paypal-partner-js")
|
|
@@ -644,38 +637,55 @@ export default function PayPalConnectionPage() {
|
|
|
644
637
|
}
|
|
645
638
|
}, [connState, env, finalUrl])
|
|
646
639
|
|
|
647
|
-
//
|
|
640
|
+
// Capture-phase click handler — the single, reliable opener.
|
|
648
641
|
//
|
|
649
|
-
//
|
|
642
|
+
// It runs on `document` in the CAPTURE phase, i.e. BEFORE the event reaches
|
|
643
|
+
// the anchor where partner.js binds its own (target-phase) handler. That
|
|
644
|
+
// ordering is the whole point:
|
|
645
|
+
// 1. We synchronously open the mini-browser popup here, inside the user
|
|
646
|
+
// gesture, so the browser always renders a real popup (never a blocked
|
|
647
|
+
// window, never a new tab).
|
|
648
|
+
// 2. We do NOT stop propagation, so partner.js's handler still runs a beat
|
|
649
|
+
// later. Since it opens with the same window name (POPUP_NAME), it adopts
|
|
650
|
+
// the window we just opened instead of asynchronously spawning its own
|
|
651
|
+
// (which the browser was blocking — "multiple popups ... lack of user
|
|
652
|
+
// activation") — and it still wires its postMessage->onboardingCallback
|
|
653
|
+
// bridge that auto-closes the popup and saves credentials.
|
|
654
|
+
// 3. We always preventDefault so the anchor's href can never open a tab.
|
|
650
655
|
//
|
|
651
|
-
//
|
|
652
|
-
//
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
656
|
+
// Completion is handled by partner.js's bridge AND by our own postMessage
|
|
657
|
+
// listener (see below), funnelling through one idempotent completeOnboarding.
|
|
658
|
+
useEffect(() => {
|
|
659
|
+
const onCaptureClick = (e: MouseEvent) => {
|
|
660
|
+
const btn = paypalButtonRef.current
|
|
661
|
+
if (!btn) return
|
|
662
|
+
const target = e.target as Node | null
|
|
663
|
+
if (!target || !btn.contains(target)) return
|
|
664
|
+
|
|
665
|
+
e.preventDefault()
|
|
666
|
+
|
|
667
|
+
if (
|
|
668
|
+
connStateRef.current !== "ready" ||
|
|
669
|
+
!finalUrlRef.current ||
|
|
670
|
+
inProgressRef.current
|
|
671
|
+
) {
|
|
672
|
+
return
|
|
673
|
+
}
|
|
662
674
|
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
!
|
|
666
|
-
inProgressRef.current
|
|
667
|
-
) {
|
|
668
|
-
return
|
|
675
|
+
completedRef.current = false
|
|
676
|
+
const popup = openOnboardingPopup(finalUrlRef.current)
|
|
677
|
+
setPopupBlocked(!popup)
|
|
669
678
|
}
|
|
670
679
|
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
}
|
|
680
|
+
document.addEventListener("click", onCaptureClick, true)
|
|
681
|
+
return () => document.removeEventListener("click", onCaptureClick, true)
|
|
682
|
+
}, [openOnboardingPopup])
|
|
675
683
|
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
684
|
+
// Defensive only: the capture-phase listener above already opened the popup
|
|
685
|
+
// and prevented the default. If for some reason it didn't run, make sure the
|
|
686
|
+
// native target still can't open a tab.
|
|
687
|
+
const handleConnectClick = (e: React.MouseEvent<HTMLAnchorElement>) => {
|
|
688
|
+
e.preventDefault()
|
|
679
689
|
}
|
|
680
690
|
|
|
681
691
|
const handleSaveManual = async () => {
|