@easypayment/medusa-paypal 0.2.0 → 0.2.1
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 +199 -199
- package/.medusa/server/src/admin/index.mjs +199 -199
- package/.medusa/server/src/api/store/payment-collections/[id]/payment-sessions/route.d.ts.map +1 -1
- package/.medusa/server/src/api/store/payment-collections/[id]/payment-sessions/route.js +7 -1
- package/.medusa/server/src/api/store/payment-collections/[id]/payment-sessions/route.js.map +1 -1
- package/.medusa/server/src/modules/paypal/payment-provider/service.d.ts.map +1 -1
- package/.medusa/server/src/modules/paypal/payment-provider/service.js +27 -4
- package/.medusa/server/src/modules/paypal/payment-provider/service.js.map +1 -1
- package/package.json +1 -1
- package/src/api/store/payment-collections/[id]/payment-sessions/route.ts +8 -1
- package/src/modules/paypal/payment-provider/service.ts +32 -4
|
@@ -1217,13 +1217,92 @@ function PayPalConnectionPage() {
|
|
|
1217
1217
|
` })
|
|
1218
1218
|
] });
|
|
1219
1219
|
}
|
|
1220
|
+
function formatDate$2(value) {
|
|
1221
|
+
if (!value) {
|
|
1222
|
+
return "";
|
|
1223
|
+
}
|
|
1224
|
+
const parsed = new Date(value);
|
|
1225
|
+
if (Number.isNaN(parsed.getTime())) {
|
|
1226
|
+
return value;
|
|
1227
|
+
}
|
|
1228
|
+
return parsed.toLocaleString();
|
|
1229
|
+
}
|
|
1230
|
+
function PayPalAuditLogsPage() {
|
|
1231
|
+
const [logs, setLogs] = react.useState([]);
|
|
1232
|
+
const [loading, setLoading] = react.useState(false);
|
|
1233
|
+
const [error, setError] = react.useState(null);
|
|
1234
|
+
const fetchLogs = react.useCallback(async () => {
|
|
1235
|
+
try {
|
|
1236
|
+
setLoading(true);
|
|
1237
|
+
setError(null);
|
|
1238
|
+
const response = await fetch("/admin/paypal/audit-logs?limit=50", {
|
|
1239
|
+
credentials: "include",
|
|
1240
|
+
headers: {
|
|
1241
|
+
Accept: "application/json"
|
|
1242
|
+
}
|
|
1243
|
+
});
|
|
1244
|
+
if (!response.ok) {
|
|
1245
|
+
const message = await response.text().catch(() => "");
|
|
1246
|
+
throw new Error(message || "Failed to load audit logs.");
|
|
1247
|
+
}
|
|
1248
|
+
const data = await response.json().catch(() => ({}));
|
|
1249
|
+
setLogs((data == null ? void 0 : data.logs) || []);
|
|
1250
|
+
} catch (fetchError) {
|
|
1251
|
+
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load audit logs.");
|
|
1252
|
+
setLogs([]);
|
|
1253
|
+
} finally {
|
|
1254
|
+
setLoading(false);
|
|
1255
|
+
}
|
|
1256
|
+
}, []);
|
|
1257
|
+
react.useEffect(() => {
|
|
1258
|
+
fetchLogs();
|
|
1259
|
+
}, [fetchLogs]);
|
|
1260
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1261
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1262
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Audit Logs" }),
|
|
1263
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Track administrative changes and credential events for PayPal configuration." })
|
|
1264
|
+
] }),
|
|
1265
|
+
/* @__PURE__ */ jsxRuntime.jsx(PayPalTabs, {}),
|
|
1266
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1267
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1268
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest events" }),
|
|
1269
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1270
|
+
"button",
|
|
1271
|
+
{
|
|
1272
|
+
type: "button",
|
|
1273
|
+
onClick: fetchLogs,
|
|
1274
|
+
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1275
|
+
disabled: loading,
|
|
1276
|
+
children: loading ? "Refreshing..." : "Refresh"
|
|
1277
|
+
}
|
|
1278
|
+
)
|
|
1279
|
+
] }) }),
|
|
1280
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
|
|
1281
|
+
error ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1282
|
+
!error && logs.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading audit logs..." : "No audit log entries found yet." }) : null,
|
|
1283
|
+
logs.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "min-w-full text-left text-sm", children: [
|
|
1284
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { className: "text-ui-fg-muted", children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
1285
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "pb-2 pr-4 font-medium", children: "Timestamp" }),
|
|
1286
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "pb-2 pr-4 font-medium", children: "Event" }),
|
|
1287
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "pb-2 font-medium", children: "Details" })
|
|
1288
|
+
] }) }),
|
|
1289
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: logs.map((entry) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-t border-ui-border-base", children: [
|
|
1290
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: formatDate$2(entry.created_at) || "—" }),
|
|
1291
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: entry.event_type || "—" }),
|
|
1292
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-3 text-ui-fg-subtle", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "whitespace-pre-wrap rounded-md bg-ui-bg-subtle p-2 text-xs text-ui-fg-subtle", children: JSON.stringify(entry.metadata || {}, null, 2) }) })
|
|
1293
|
+
] }, entry.id)) })
|
|
1294
|
+
] }) }) : null
|
|
1295
|
+
] })
|
|
1296
|
+
] })
|
|
1297
|
+
] }) });
|
|
1298
|
+
}
|
|
1220
1299
|
const EMPTY_FILTERS = {
|
|
1221
1300
|
dispute_id: "",
|
|
1222
1301
|
status: "",
|
|
1223
1302
|
order_id: "",
|
|
1224
1303
|
cart_id: ""
|
|
1225
1304
|
};
|
|
1226
|
-
function formatDate$
|
|
1305
|
+
function formatDate$1(value) {
|
|
1227
1306
|
if (!value) {
|
|
1228
1307
|
return "";
|
|
1229
1308
|
}
|
|
@@ -1402,208 +1481,19 @@ function PayPalDisputesPage() {
|
|
|
1402
1481
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: dispute.amount ? `${dispute.amount} ${dispute.currency_code || ""}` : "-" }),
|
|
1403
1482
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: dispute.order_id || "-" }),
|
|
1404
1483
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: dispute.cart_id || "-" }),
|
|
1405
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-ui-fg-subtle", children: formatDate$
|
|
1484
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-ui-fg-subtle", children: formatDate$1(dispute.updated_at || dispute.created_at) })
|
|
1406
1485
|
] }, dispute.id)) })
|
|
1407
1486
|
] }) }),
|
|
1408
1487
|
error ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-ui-border-base px-4 py-3 text-sm text-ui-fg-error", children: error }) : null
|
|
1409
1488
|
] })
|
|
1410
1489
|
] }) });
|
|
1411
1490
|
}
|
|
1412
|
-
function formatDate$1(value) {
|
|
1413
|
-
if (!value) {
|
|
1414
|
-
return "";
|
|
1415
|
-
}
|
|
1416
|
-
const parsed = new Date(value);
|
|
1417
|
-
if (Number.isNaN(parsed.getTime())) {
|
|
1418
|
-
return value;
|
|
1419
|
-
}
|
|
1420
|
-
return parsed.toLocaleString();
|
|
1421
|
-
}
|
|
1422
|
-
function PayPalAuditLogsPage() {
|
|
1423
|
-
const [logs, setLogs] = react.useState([]);
|
|
1424
|
-
const [loading, setLoading] = react.useState(false);
|
|
1425
|
-
const [error, setError] = react.useState(null);
|
|
1426
|
-
const fetchLogs = react.useCallback(async () => {
|
|
1427
|
-
try {
|
|
1428
|
-
setLoading(true);
|
|
1429
|
-
setError(null);
|
|
1430
|
-
const response = await fetch("/admin/paypal/audit-logs?limit=50", {
|
|
1431
|
-
credentials: "include",
|
|
1432
|
-
headers: {
|
|
1433
|
-
Accept: "application/json"
|
|
1434
|
-
}
|
|
1435
|
-
});
|
|
1436
|
-
if (!response.ok) {
|
|
1437
|
-
const message = await response.text().catch(() => "");
|
|
1438
|
-
throw new Error(message || "Failed to load audit logs.");
|
|
1439
|
-
}
|
|
1440
|
-
const data = await response.json().catch(() => ({}));
|
|
1441
|
-
setLogs((data == null ? void 0 : data.logs) || []);
|
|
1442
|
-
} catch (fetchError) {
|
|
1443
|
-
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load audit logs.");
|
|
1444
|
-
setLogs([]);
|
|
1445
|
-
} finally {
|
|
1446
|
-
setLoading(false);
|
|
1447
|
-
}
|
|
1448
|
-
}, []);
|
|
1449
|
-
react.useEffect(() => {
|
|
1450
|
-
fetchLogs();
|
|
1451
|
-
}, [fetchLogs]);
|
|
1452
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1453
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1454
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Audit Logs" }),
|
|
1455
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Track administrative changes and credential events for PayPal configuration." })
|
|
1456
|
-
] }),
|
|
1457
|
-
/* @__PURE__ */ jsxRuntime.jsx(PayPalTabs, {}),
|
|
1458
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1459
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1460
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest events" }),
|
|
1461
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1462
|
-
"button",
|
|
1463
|
-
{
|
|
1464
|
-
type: "button",
|
|
1465
|
-
onClick: fetchLogs,
|
|
1466
|
-
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1467
|
-
disabled: loading,
|
|
1468
|
-
children: loading ? "Refreshing..." : "Refresh"
|
|
1469
|
-
}
|
|
1470
|
-
)
|
|
1471
|
-
] }) }),
|
|
1472
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
|
|
1473
|
-
error ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1474
|
-
!error && logs.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading audit logs..." : "No audit log entries found yet." }) : null,
|
|
1475
|
-
logs.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "min-w-full text-left text-sm", children: [
|
|
1476
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { className: "text-ui-fg-muted", children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
1477
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "pb-2 pr-4 font-medium", children: "Timestamp" }),
|
|
1478
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "pb-2 pr-4 font-medium", children: "Event" }),
|
|
1479
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "pb-2 font-medium", children: "Details" })
|
|
1480
|
-
] }) }),
|
|
1481
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: logs.map((entry) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-t border-ui-border-base", children: [
|
|
1482
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: formatDate$1(entry.created_at) || "—" }),
|
|
1483
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: entry.event_type || "—" }),
|
|
1484
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-3 text-ui-fg-subtle", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "whitespace-pre-wrap rounded-md bg-ui-bg-subtle p-2 text-xs text-ui-fg-subtle", children: JSON.stringify(entry.metadata || {}, null, 2) }) })
|
|
1485
|
-
] }, entry.id)) })
|
|
1486
|
-
] }) }) : null
|
|
1487
|
-
] })
|
|
1488
|
-
] })
|
|
1489
|
-
] }) });
|
|
1490
|
-
}
|
|
1491
1491
|
function PayPalGooglePayPage() {
|
|
1492
1492
|
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1493
1493
|
}
|
|
1494
1494
|
function PayPalPayLaterMessagingPage() {
|
|
1495
1495
|
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1496
1496
|
}
|
|
1497
|
-
function formatDate(value) {
|
|
1498
|
-
if (!value) {
|
|
1499
|
-
return "—";
|
|
1500
|
-
}
|
|
1501
|
-
const parsed = new Date(value);
|
|
1502
|
-
if (Number.isNaN(parsed.getTime())) {
|
|
1503
|
-
return value;
|
|
1504
|
-
}
|
|
1505
|
-
return parsed.toLocaleString();
|
|
1506
|
-
}
|
|
1507
|
-
function PayPalReconciliationStatusPage() {
|
|
1508
|
-
const [status, setStatus] = react.useState({});
|
|
1509
|
-
const [loading, setLoading] = react.useState(false);
|
|
1510
|
-
const [error, setError] = react.useState(null);
|
|
1511
|
-
const fetchStatus = react.useCallback(async () => {
|
|
1512
|
-
try {
|
|
1513
|
-
setLoading(true);
|
|
1514
|
-
setError(null);
|
|
1515
|
-
const response = await fetch("/admin/paypal/reconciliation-status", {
|
|
1516
|
-
credentials: "include",
|
|
1517
|
-
headers: {
|
|
1518
|
-
Accept: "application/json"
|
|
1519
|
-
}
|
|
1520
|
-
});
|
|
1521
|
-
if (!response.ok) {
|
|
1522
|
-
const message = await response.text().catch(() => "");
|
|
1523
|
-
throw new Error(message || "Failed to load reconciliation status.");
|
|
1524
|
-
}
|
|
1525
|
-
const data = await response.json().catch(() => ({}));
|
|
1526
|
-
setStatus((data == null ? void 0 : data.status) || {});
|
|
1527
|
-
} catch (fetchError) {
|
|
1528
|
-
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load reconciliation status.");
|
|
1529
|
-
setStatus({});
|
|
1530
|
-
} finally {
|
|
1531
|
-
setLoading(false);
|
|
1532
|
-
}
|
|
1533
|
-
}, []);
|
|
1534
|
-
react.useEffect(() => {
|
|
1535
|
-
fetchStatus();
|
|
1536
|
-
}, [fetchStatus]);
|
|
1537
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1538
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1539
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Reconciliation Status" }),
|
|
1540
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Monitor reconciliation health and drift detection for PayPal payment sessions." })
|
|
1541
|
-
] }),
|
|
1542
|
-
/* @__PURE__ */ jsxRuntime.jsx(PayPalTabs, {}),
|
|
1543
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1544
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1545
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest reconciliation run" }),
|
|
1546
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1547
|
-
"button",
|
|
1548
|
-
{
|
|
1549
|
-
type: "button",
|
|
1550
|
-
onClick: fetchStatus,
|
|
1551
|
-
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1552
|
-
disabled: loading,
|
|
1553
|
-
children: loading ? "Refreshing..." : "Refresh"
|
|
1554
|
-
}
|
|
1555
|
-
)
|
|
1556
|
-
] }) }),
|
|
1557
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
|
|
1558
|
-
error ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1559
|
-
!error && Object.keys(status).length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading reconciliation status..." : "No reconciliation data yet." }) : null,
|
|
1560
|
-
Object.keys(status).length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 text-sm text-ui-fg-base md:grid-cols-2", children: [
|
|
1561
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1562
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last run" }),
|
|
1563
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_run_at) })
|
|
1564
|
-
] }),
|
|
1565
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1566
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last run status" }),
|
|
1567
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium capitalize", children: status.last_run_status || "—" })
|
|
1568
|
-
] }),
|
|
1569
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1570
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last success" }),
|
|
1571
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_success_at) })
|
|
1572
|
-
] }),
|
|
1573
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1574
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last failure" }),
|
|
1575
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_failure_at) })
|
|
1576
|
-
] }),
|
|
1577
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1578
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Sessions checked" }),
|
|
1579
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.sessions_checked ?? 0 })
|
|
1580
|
-
] }),
|
|
1581
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1582
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Sessions updated" }),
|
|
1583
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.sessions_updated ?? 0 })
|
|
1584
|
-
] }),
|
|
1585
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1586
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Drift detections" }),
|
|
1587
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.drift_count ?? 0 })
|
|
1588
|
-
] }),
|
|
1589
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1590
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last drift order" }),
|
|
1591
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.last_drift_order_id || "—" }),
|
|
1592
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 text-xs text-ui-fg-subtle", children: formatDate(status.last_drift_at) })
|
|
1593
|
-
] }),
|
|
1594
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
1595
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last error" }),
|
|
1596
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.last_error || "No errors recorded." })
|
|
1597
|
-
] }),
|
|
1598
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
1599
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Total runs" }),
|
|
1600
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.runs ?? 0 })
|
|
1601
|
-
] })
|
|
1602
|
-
] }) : null
|
|
1603
|
-
] })
|
|
1604
|
-
] })
|
|
1605
|
-
] }) });
|
|
1606
|
-
}
|
|
1607
1497
|
const DISPLAY_LOCATION_OPTIONS = [
|
|
1608
1498
|
{ value: "product", label: "Product Page" },
|
|
1609
1499
|
{ value: "cart", label: "Cart Page" },
|
|
@@ -2041,6 +1931,116 @@ function PayPalSettingsTab() {
|
|
|
2041
1931
|
)
|
|
2042
1932
|
] }) });
|
|
2043
1933
|
}
|
|
1934
|
+
function formatDate(value) {
|
|
1935
|
+
if (!value) {
|
|
1936
|
+
return "—";
|
|
1937
|
+
}
|
|
1938
|
+
const parsed = new Date(value);
|
|
1939
|
+
if (Number.isNaN(parsed.getTime())) {
|
|
1940
|
+
return value;
|
|
1941
|
+
}
|
|
1942
|
+
return parsed.toLocaleString();
|
|
1943
|
+
}
|
|
1944
|
+
function PayPalReconciliationStatusPage() {
|
|
1945
|
+
const [status, setStatus] = react.useState({});
|
|
1946
|
+
const [loading, setLoading] = react.useState(false);
|
|
1947
|
+
const [error, setError] = react.useState(null);
|
|
1948
|
+
const fetchStatus = react.useCallback(async () => {
|
|
1949
|
+
try {
|
|
1950
|
+
setLoading(true);
|
|
1951
|
+
setError(null);
|
|
1952
|
+
const response = await fetch("/admin/paypal/reconciliation-status", {
|
|
1953
|
+
credentials: "include",
|
|
1954
|
+
headers: {
|
|
1955
|
+
Accept: "application/json"
|
|
1956
|
+
}
|
|
1957
|
+
});
|
|
1958
|
+
if (!response.ok) {
|
|
1959
|
+
const message = await response.text().catch(() => "");
|
|
1960
|
+
throw new Error(message || "Failed to load reconciliation status.");
|
|
1961
|
+
}
|
|
1962
|
+
const data = await response.json().catch(() => ({}));
|
|
1963
|
+
setStatus((data == null ? void 0 : data.status) || {});
|
|
1964
|
+
} catch (fetchError) {
|
|
1965
|
+
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load reconciliation status.");
|
|
1966
|
+
setStatus({});
|
|
1967
|
+
} finally {
|
|
1968
|
+
setLoading(false);
|
|
1969
|
+
}
|
|
1970
|
+
}, []);
|
|
1971
|
+
react.useEffect(() => {
|
|
1972
|
+
fetchStatus();
|
|
1973
|
+
}, [fetchStatus]);
|
|
1974
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1975
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1976
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Reconciliation Status" }),
|
|
1977
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Monitor reconciliation health and drift detection for PayPal payment sessions." })
|
|
1978
|
+
] }),
|
|
1979
|
+
/* @__PURE__ */ jsxRuntime.jsx(PayPalTabs, {}),
|
|
1980
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1981
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1982
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest reconciliation run" }),
|
|
1983
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1984
|
+
"button",
|
|
1985
|
+
{
|
|
1986
|
+
type: "button",
|
|
1987
|
+
onClick: fetchStatus,
|
|
1988
|
+
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1989
|
+
disabled: loading,
|
|
1990
|
+
children: loading ? "Refreshing..." : "Refresh"
|
|
1991
|
+
}
|
|
1992
|
+
)
|
|
1993
|
+
] }) }),
|
|
1994
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
|
|
1995
|
+
error ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1996
|
+
!error && Object.keys(status).length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading reconciliation status..." : "No reconciliation data yet." }) : null,
|
|
1997
|
+
Object.keys(status).length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 text-sm text-ui-fg-base md:grid-cols-2", children: [
|
|
1998
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1999
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last run" }),
|
|
2000
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_run_at) })
|
|
2001
|
+
] }),
|
|
2002
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2003
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last run status" }),
|
|
2004
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium capitalize", children: status.last_run_status || "—" })
|
|
2005
|
+
] }),
|
|
2006
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2007
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last success" }),
|
|
2008
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_success_at) })
|
|
2009
|
+
] }),
|
|
2010
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2011
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last failure" }),
|
|
2012
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_failure_at) })
|
|
2013
|
+
] }),
|
|
2014
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2015
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Sessions checked" }),
|
|
2016
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.sessions_checked ?? 0 })
|
|
2017
|
+
] }),
|
|
2018
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2019
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Sessions updated" }),
|
|
2020
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.sessions_updated ?? 0 })
|
|
2021
|
+
] }),
|
|
2022
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2023
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Drift detections" }),
|
|
2024
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.drift_count ?? 0 })
|
|
2025
|
+
] }),
|
|
2026
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2027
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last drift order" }),
|
|
2028
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.last_drift_order_id || "—" }),
|
|
2029
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 text-xs text-ui-fg-subtle", children: formatDate(status.last_drift_at) })
|
|
2030
|
+
] }),
|
|
2031
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
2032
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Last error" }),
|
|
2033
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.last_error || "No errors recorded." })
|
|
2034
|
+
] }),
|
|
2035
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
2036
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ui-fg-subtle", children: "Total runs" }),
|
|
2037
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 font-medium", children: status.runs ?? 0 })
|
|
2038
|
+
] })
|
|
2039
|
+
] }) : null
|
|
2040
|
+
] })
|
|
2041
|
+
] })
|
|
2042
|
+
] }) });
|
|
2043
|
+
}
|
|
2044
2044
|
const widgetModule = { widgets: [] };
|
|
2045
2045
|
const routeModule = {
|
|
2046
2046
|
routes: [
|
|
@@ -2064,14 +2064,14 @@ const routeModule = {
|
|
|
2064
2064
|
Component: PayPalConnectionPage,
|
|
2065
2065
|
path: "/settings/paypal/connection"
|
|
2066
2066
|
},
|
|
2067
|
-
{
|
|
2068
|
-
Component: PayPalDisputesPage,
|
|
2069
|
-
path: "/settings/paypal/disputes"
|
|
2070
|
-
},
|
|
2071
2067
|
{
|
|
2072
2068
|
Component: PayPalAuditLogsPage,
|
|
2073
2069
|
path: "/settings/paypal/audit-logs"
|
|
2074
2070
|
},
|
|
2071
|
+
{
|
|
2072
|
+
Component: PayPalDisputesPage,
|
|
2073
|
+
path: "/settings/paypal/disputes"
|
|
2074
|
+
},
|
|
2075
2075
|
{
|
|
2076
2076
|
Component: PayPalGooglePayPage,
|
|
2077
2077
|
path: "/settings/paypal/google-pay"
|
|
@@ -2080,13 +2080,13 @@ const routeModule = {
|
|
|
2080
2080
|
Component: PayPalPayLaterMessagingPage,
|
|
2081
2081
|
path: "/settings/paypal/pay-later-messaging"
|
|
2082
2082
|
},
|
|
2083
|
-
{
|
|
2084
|
-
Component: PayPalReconciliationStatusPage,
|
|
2085
|
-
path: "/settings/paypal/reconciliation-status"
|
|
2086
|
-
},
|
|
2087
2083
|
{
|
|
2088
2084
|
Component: PayPalSettingsTab,
|
|
2089
2085
|
path: "/settings/paypal/paypal-settings"
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
Component: PayPalReconciliationStatusPage,
|
|
2089
|
+
path: "/settings/paypal/reconciliation-status"
|
|
2090
2090
|
}
|
|
2091
2091
|
]
|
|
2092
2092
|
};
|
|
@@ -1216,13 +1216,92 @@ function PayPalConnectionPage() {
|
|
|
1216
1216
|
` })
|
|
1217
1217
|
] });
|
|
1218
1218
|
}
|
|
1219
|
+
function formatDate$2(value) {
|
|
1220
|
+
if (!value) {
|
|
1221
|
+
return "";
|
|
1222
|
+
}
|
|
1223
|
+
const parsed = new Date(value);
|
|
1224
|
+
if (Number.isNaN(parsed.getTime())) {
|
|
1225
|
+
return value;
|
|
1226
|
+
}
|
|
1227
|
+
return parsed.toLocaleString();
|
|
1228
|
+
}
|
|
1229
|
+
function PayPalAuditLogsPage() {
|
|
1230
|
+
const [logs, setLogs] = useState([]);
|
|
1231
|
+
const [loading, setLoading] = useState(false);
|
|
1232
|
+
const [error, setError] = useState(null);
|
|
1233
|
+
const fetchLogs = useCallback(async () => {
|
|
1234
|
+
try {
|
|
1235
|
+
setLoading(true);
|
|
1236
|
+
setError(null);
|
|
1237
|
+
const response = await fetch("/admin/paypal/audit-logs?limit=50", {
|
|
1238
|
+
credentials: "include",
|
|
1239
|
+
headers: {
|
|
1240
|
+
Accept: "application/json"
|
|
1241
|
+
}
|
|
1242
|
+
});
|
|
1243
|
+
if (!response.ok) {
|
|
1244
|
+
const message = await response.text().catch(() => "");
|
|
1245
|
+
throw new Error(message || "Failed to load audit logs.");
|
|
1246
|
+
}
|
|
1247
|
+
const data = await response.json().catch(() => ({}));
|
|
1248
|
+
setLogs((data == null ? void 0 : data.logs) || []);
|
|
1249
|
+
} catch (fetchError) {
|
|
1250
|
+
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load audit logs.");
|
|
1251
|
+
setLogs([]);
|
|
1252
|
+
} finally {
|
|
1253
|
+
setLoading(false);
|
|
1254
|
+
}
|
|
1255
|
+
}, []);
|
|
1256
|
+
useEffect(() => {
|
|
1257
|
+
fetchLogs();
|
|
1258
|
+
}, [fetchLogs]);
|
|
1259
|
+
return /* @__PURE__ */ jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1260
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1261
|
+
/* @__PURE__ */ jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Audit Logs" }),
|
|
1262
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Track administrative changes and credential events for PayPal configuration." })
|
|
1263
|
+
] }),
|
|
1264
|
+
/* @__PURE__ */ jsx(PayPalTabs, {}),
|
|
1265
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1266
|
+
/* @__PURE__ */ jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1267
|
+
/* @__PURE__ */ jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest events" }),
|
|
1268
|
+
/* @__PURE__ */ jsx(
|
|
1269
|
+
"button",
|
|
1270
|
+
{
|
|
1271
|
+
type: "button",
|
|
1272
|
+
onClick: fetchLogs,
|
|
1273
|
+
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1274
|
+
disabled: loading,
|
|
1275
|
+
children: loading ? "Refreshing..." : "Refresh"
|
|
1276
|
+
}
|
|
1277
|
+
)
|
|
1278
|
+
] }) }),
|
|
1279
|
+
/* @__PURE__ */ jsxs("div", { className: "p-4", children: [
|
|
1280
|
+
error ? /* @__PURE__ */ jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1281
|
+
!error && logs.length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading audit logs..." : "No audit log entries found yet." }) : null,
|
|
1282
|
+
logs.length > 0 ? /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "min-w-full text-left text-sm", children: [
|
|
1283
|
+
/* @__PURE__ */ jsx("thead", { className: "text-ui-fg-muted", children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
1284
|
+
/* @__PURE__ */ jsx("th", { className: "pb-2 pr-4 font-medium", children: "Timestamp" }),
|
|
1285
|
+
/* @__PURE__ */ jsx("th", { className: "pb-2 pr-4 font-medium", children: "Event" }),
|
|
1286
|
+
/* @__PURE__ */ jsx("th", { className: "pb-2 font-medium", children: "Details" })
|
|
1287
|
+
] }) }),
|
|
1288
|
+
/* @__PURE__ */ jsx("tbody", { children: logs.map((entry) => /* @__PURE__ */ jsxs("tr", { className: "border-t border-ui-border-base", children: [
|
|
1289
|
+
/* @__PURE__ */ jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: formatDate$2(entry.created_at) || "—" }),
|
|
1290
|
+
/* @__PURE__ */ jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: entry.event_type || "—" }),
|
|
1291
|
+
/* @__PURE__ */ jsx("td", { className: "py-3 text-ui-fg-subtle", children: /* @__PURE__ */ jsx("pre", { className: "whitespace-pre-wrap rounded-md bg-ui-bg-subtle p-2 text-xs text-ui-fg-subtle", children: JSON.stringify(entry.metadata || {}, null, 2) }) })
|
|
1292
|
+
] }, entry.id)) })
|
|
1293
|
+
] }) }) : null
|
|
1294
|
+
] })
|
|
1295
|
+
] })
|
|
1296
|
+
] }) });
|
|
1297
|
+
}
|
|
1219
1298
|
const EMPTY_FILTERS = {
|
|
1220
1299
|
dispute_id: "",
|
|
1221
1300
|
status: "",
|
|
1222
1301
|
order_id: "",
|
|
1223
1302
|
cart_id: ""
|
|
1224
1303
|
};
|
|
1225
|
-
function formatDate$
|
|
1304
|
+
function formatDate$1(value) {
|
|
1226
1305
|
if (!value) {
|
|
1227
1306
|
return "";
|
|
1228
1307
|
}
|
|
@@ -1401,208 +1480,19 @@ function PayPalDisputesPage() {
|
|
|
1401
1480
|
/* @__PURE__ */ jsx("td", { className: "px-4 py-3", children: dispute.amount ? `${dispute.amount} ${dispute.currency_code || ""}` : "-" }),
|
|
1402
1481
|
/* @__PURE__ */ jsx("td", { className: "px-4 py-3", children: dispute.order_id || "-" }),
|
|
1403
1482
|
/* @__PURE__ */ jsx("td", { className: "px-4 py-3", children: dispute.cart_id || "-" }),
|
|
1404
|
-
/* @__PURE__ */ jsx("td", { className: "px-4 py-3 text-ui-fg-subtle", children: formatDate$
|
|
1483
|
+
/* @__PURE__ */ jsx("td", { className: "px-4 py-3 text-ui-fg-subtle", children: formatDate$1(dispute.updated_at || dispute.created_at) })
|
|
1405
1484
|
] }, dispute.id)) })
|
|
1406
1485
|
] }) }),
|
|
1407
1486
|
error ? /* @__PURE__ */ jsx("div", { className: "border-t border-ui-border-base px-4 py-3 text-sm text-ui-fg-error", children: error }) : null
|
|
1408
1487
|
] })
|
|
1409
1488
|
] }) });
|
|
1410
1489
|
}
|
|
1411
|
-
function formatDate$1(value) {
|
|
1412
|
-
if (!value) {
|
|
1413
|
-
return "";
|
|
1414
|
-
}
|
|
1415
|
-
const parsed = new Date(value);
|
|
1416
|
-
if (Number.isNaN(parsed.getTime())) {
|
|
1417
|
-
return value;
|
|
1418
|
-
}
|
|
1419
|
-
return parsed.toLocaleString();
|
|
1420
|
-
}
|
|
1421
|
-
function PayPalAuditLogsPage() {
|
|
1422
|
-
const [logs, setLogs] = useState([]);
|
|
1423
|
-
const [loading, setLoading] = useState(false);
|
|
1424
|
-
const [error, setError] = useState(null);
|
|
1425
|
-
const fetchLogs = useCallback(async () => {
|
|
1426
|
-
try {
|
|
1427
|
-
setLoading(true);
|
|
1428
|
-
setError(null);
|
|
1429
|
-
const response = await fetch("/admin/paypal/audit-logs?limit=50", {
|
|
1430
|
-
credentials: "include",
|
|
1431
|
-
headers: {
|
|
1432
|
-
Accept: "application/json"
|
|
1433
|
-
}
|
|
1434
|
-
});
|
|
1435
|
-
if (!response.ok) {
|
|
1436
|
-
const message = await response.text().catch(() => "");
|
|
1437
|
-
throw new Error(message || "Failed to load audit logs.");
|
|
1438
|
-
}
|
|
1439
|
-
const data = await response.json().catch(() => ({}));
|
|
1440
|
-
setLogs((data == null ? void 0 : data.logs) || []);
|
|
1441
|
-
} catch (fetchError) {
|
|
1442
|
-
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load audit logs.");
|
|
1443
|
-
setLogs([]);
|
|
1444
|
-
} finally {
|
|
1445
|
-
setLoading(false);
|
|
1446
|
-
}
|
|
1447
|
-
}, []);
|
|
1448
|
-
useEffect(() => {
|
|
1449
|
-
fetchLogs();
|
|
1450
|
-
}, [fetchLogs]);
|
|
1451
|
-
return /* @__PURE__ */ jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1452
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
1453
|
-
/* @__PURE__ */ jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Audit Logs" }),
|
|
1454
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Track administrative changes and credential events for PayPal configuration." })
|
|
1455
|
-
] }),
|
|
1456
|
-
/* @__PURE__ */ jsx(PayPalTabs, {}),
|
|
1457
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1458
|
-
/* @__PURE__ */ jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1459
|
-
/* @__PURE__ */ jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest events" }),
|
|
1460
|
-
/* @__PURE__ */ jsx(
|
|
1461
|
-
"button",
|
|
1462
|
-
{
|
|
1463
|
-
type: "button",
|
|
1464
|
-
onClick: fetchLogs,
|
|
1465
|
-
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1466
|
-
disabled: loading,
|
|
1467
|
-
children: loading ? "Refreshing..." : "Refresh"
|
|
1468
|
-
}
|
|
1469
|
-
)
|
|
1470
|
-
] }) }),
|
|
1471
|
-
/* @__PURE__ */ jsxs("div", { className: "p-4", children: [
|
|
1472
|
-
error ? /* @__PURE__ */ jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1473
|
-
!error && logs.length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading audit logs..." : "No audit log entries found yet." }) : null,
|
|
1474
|
-
logs.length > 0 ? /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "min-w-full text-left text-sm", children: [
|
|
1475
|
-
/* @__PURE__ */ jsx("thead", { className: "text-ui-fg-muted", children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
1476
|
-
/* @__PURE__ */ jsx("th", { className: "pb-2 pr-4 font-medium", children: "Timestamp" }),
|
|
1477
|
-
/* @__PURE__ */ jsx("th", { className: "pb-2 pr-4 font-medium", children: "Event" }),
|
|
1478
|
-
/* @__PURE__ */ jsx("th", { className: "pb-2 font-medium", children: "Details" })
|
|
1479
|
-
] }) }),
|
|
1480
|
-
/* @__PURE__ */ jsx("tbody", { children: logs.map((entry) => /* @__PURE__ */ jsxs("tr", { className: "border-t border-ui-border-base", children: [
|
|
1481
|
-
/* @__PURE__ */ jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: formatDate$1(entry.created_at) || "—" }),
|
|
1482
|
-
/* @__PURE__ */ jsx("td", { className: "py-3 pr-4 text-ui-fg-base", children: entry.event_type || "—" }),
|
|
1483
|
-
/* @__PURE__ */ jsx("td", { className: "py-3 text-ui-fg-subtle", children: /* @__PURE__ */ jsx("pre", { className: "whitespace-pre-wrap rounded-md bg-ui-bg-subtle p-2 text-xs text-ui-fg-subtle", children: JSON.stringify(entry.metadata || {}, null, 2) }) })
|
|
1484
|
-
] }, entry.id)) })
|
|
1485
|
-
] }) }) : null
|
|
1486
|
-
] })
|
|
1487
|
-
] })
|
|
1488
|
-
] }) });
|
|
1489
|
-
}
|
|
1490
1490
|
function PayPalGooglePayPage() {
|
|
1491
1491
|
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1492
1492
|
}
|
|
1493
1493
|
function PayPalPayLaterMessagingPage() {
|
|
1494
1494
|
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1495
1495
|
}
|
|
1496
|
-
function formatDate(value) {
|
|
1497
|
-
if (!value) {
|
|
1498
|
-
return "—";
|
|
1499
|
-
}
|
|
1500
|
-
const parsed = new Date(value);
|
|
1501
|
-
if (Number.isNaN(parsed.getTime())) {
|
|
1502
|
-
return value;
|
|
1503
|
-
}
|
|
1504
|
-
return parsed.toLocaleString();
|
|
1505
|
-
}
|
|
1506
|
-
function PayPalReconciliationStatusPage() {
|
|
1507
|
-
const [status, setStatus] = useState({});
|
|
1508
|
-
const [loading, setLoading] = useState(false);
|
|
1509
|
-
const [error, setError] = useState(null);
|
|
1510
|
-
const fetchStatus = useCallback(async () => {
|
|
1511
|
-
try {
|
|
1512
|
-
setLoading(true);
|
|
1513
|
-
setError(null);
|
|
1514
|
-
const response = await fetch("/admin/paypal/reconciliation-status", {
|
|
1515
|
-
credentials: "include",
|
|
1516
|
-
headers: {
|
|
1517
|
-
Accept: "application/json"
|
|
1518
|
-
}
|
|
1519
|
-
});
|
|
1520
|
-
if (!response.ok) {
|
|
1521
|
-
const message = await response.text().catch(() => "");
|
|
1522
|
-
throw new Error(message || "Failed to load reconciliation status.");
|
|
1523
|
-
}
|
|
1524
|
-
const data = await response.json().catch(() => ({}));
|
|
1525
|
-
setStatus((data == null ? void 0 : data.status) || {});
|
|
1526
|
-
} catch (fetchError) {
|
|
1527
|
-
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load reconciliation status.");
|
|
1528
|
-
setStatus({});
|
|
1529
|
-
} finally {
|
|
1530
|
-
setLoading(false);
|
|
1531
|
-
}
|
|
1532
|
-
}, []);
|
|
1533
|
-
useEffect(() => {
|
|
1534
|
-
fetchStatus();
|
|
1535
|
-
}, [fetchStatus]);
|
|
1536
|
-
return /* @__PURE__ */ jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1537
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
1538
|
-
/* @__PURE__ */ jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Reconciliation Status" }),
|
|
1539
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Monitor reconciliation health and drift detection for PayPal payment sessions." })
|
|
1540
|
-
] }),
|
|
1541
|
-
/* @__PURE__ */ jsx(PayPalTabs, {}),
|
|
1542
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1543
|
-
/* @__PURE__ */ jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1544
|
-
/* @__PURE__ */ jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest reconciliation run" }),
|
|
1545
|
-
/* @__PURE__ */ jsx(
|
|
1546
|
-
"button",
|
|
1547
|
-
{
|
|
1548
|
-
type: "button",
|
|
1549
|
-
onClick: fetchStatus,
|
|
1550
|
-
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1551
|
-
disabled: loading,
|
|
1552
|
-
children: loading ? "Refreshing..." : "Refresh"
|
|
1553
|
-
}
|
|
1554
|
-
)
|
|
1555
|
-
] }) }),
|
|
1556
|
-
/* @__PURE__ */ jsxs("div", { className: "p-4", children: [
|
|
1557
|
-
error ? /* @__PURE__ */ jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1558
|
-
!error && Object.keys(status).length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading reconciliation status..." : "No reconciliation data yet." }) : null,
|
|
1559
|
-
Object.keys(status).length > 0 ? /* @__PURE__ */ jsxs("div", { className: "grid gap-4 text-sm text-ui-fg-base md:grid-cols-2", children: [
|
|
1560
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1561
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last run" }),
|
|
1562
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_run_at) })
|
|
1563
|
-
] }),
|
|
1564
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1565
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last run status" }),
|
|
1566
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium capitalize", children: status.last_run_status || "—" })
|
|
1567
|
-
] }),
|
|
1568
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1569
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last success" }),
|
|
1570
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_success_at) })
|
|
1571
|
-
] }),
|
|
1572
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1573
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last failure" }),
|
|
1574
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_failure_at) })
|
|
1575
|
-
] }),
|
|
1576
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1577
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Sessions checked" }),
|
|
1578
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.sessions_checked ?? 0 })
|
|
1579
|
-
] }),
|
|
1580
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1581
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Sessions updated" }),
|
|
1582
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.sessions_updated ?? 0 })
|
|
1583
|
-
] }),
|
|
1584
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1585
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Drift detections" }),
|
|
1586
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.drift_count ?? 0 })
|
|
1587
|
-
] }),
|
|
1588
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1589
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last drift order" }),
|
|
1590
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.last_drift_order_id || "—" }),
|
|
1591
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 text-xs text-ui-fg-subtle", children: formatDate(status.last_drift_at) })
|
|
1592
|
-
] }),
|
|
1593
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
1594
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last error" }),
|
|
1595
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.last_error || "No errors recorded." })
|
|
1596
|
-
] }),
|
|
1597
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
1598
|
-
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Total runs" }),
|
|
1599
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.runs ?? 0 })
|
|
1600
|
-
] })
|
|
1601
|
-
] }) : null
|
|
1602
|
-
] })
|
|
1603
|
-
] })
|
|
1604
|
-
] }) });
|
|
1605
|
-
}
|
|
1606
1496
|
const DISPLAY_LOCATION_OPTIONS = [
|
|
1607
1497
|
{ value: "product", label: "Product Page" },
|
|
1608
1498
|
{ value: "cart", label: "Cart Page" },
|
|
@@ -2040,6 +1930,116 @@ function PayPalSettingsTab() {
|
|
|
2040
1930
|
)
|
|
2041
1931
|
] }) });
|
|
2042
1932
|
}
|
|
1933
|
+
function formatDate(value) {
|
|
1934
|
+
if (!value) {
|
|
1935
|
+
return "—";
|
|
1936
|
+
}
|
|
1937
|
+
const parsed = new Date(value);
|
|
1938
|
+
if (Number.isNaN(parsed.getTime())) {
|
|
1939
|
+
return value;
|
|
1940
|
+
}
|
|
1941
|
+
return parsed.toLocaleString();
|
|
1942
|
+
}
|
|
1943
|
+
function PayPalReconciliationStatusPage() {
|
|
1944
|
+
const [status, setStatus] = useState({});
|
|
1945
|
+
const [loading, setLoading] = useState(false);
|
|
1946
|
+
const [error, setError] = useState(null);
|
|
1947
|
+
const fetchStatus = useCallback(async () => {
|
|
1948
|
+
try {
|
|
1949
|
+
setLoading(true);
|
|
1950
|
+
setError(null);
|
|
1951
|
+
const response = await fetch("/admin/paypal/reconciliation-status", {
|
|
1952
|
+
credentials: "include",
|
|
1953
|
+
headers: {
|
|
1954
|
+
Accept: "application/json"
|
|
1955
|
+
}
|
|
1956
|
+
});
|
|
1957
|
+
if (!response.ok) {
|
|
1958
|
+
const message = await response.text().catch(() => "");
|
|
1959
|
+
throw new Error(message || "Failed to load reconciliation status.");
|
|
1960
|
+
}
|
|
1961
|
+
const data = await response.json().catch(() => ({}));
|
|
1962
|
+
setStatus((data == null ? void 0 : data.status) || {});
|
|
1963
|
+
} catch (fetchError) {
|
|
1964
|
+
setError((fetchError == null ? void 0 : fetchError.message) || "Failed to load reconciliation status.");
|
|
1965
|
+
setStatus({});
|
|
1966
|
+
} finally {
|
|
1967
|
+
setLoading(false);
|
|
1968
|
+
}
|
|
1969
|
+
}, []);
|
|
1970
|
+
useEffect(() => {
|
|
1971
|
+
fetchStatus();
|
|
1972
|
+
}, [fetchStatus]);
|
|
1973
|
+
return /* @__PURE__ */ jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1974
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1975
|
+
/* @__PURE__ */ jsx("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Reconciliation Status" }),
|
|
1976
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-ui-fg-subtle", children: "Monitor reconciliation health and drift detection for PayPal payment sessions." })
|
|
1977
|
+
] }),
|
|
1978
|
+
/* @__PURE__ */ jsx(PayPalTabs, {}),
|
|
1979
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-ui-border-base bg-ui-bg-base shadow-sm", children: [
|
|
1980
|
+
/* @__PURE__ */ jsx("div", { className: "border-b border-ui-border-base p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1981
|
+
/* @__PURE__ */ jsx("div", { className: "text-base font-semibold text-ui-fg-base", children: "Latest reconciliation run" }),
|
|
1982
|
+
/* @__PURE__ */ jsx(
|
|
1983
|
+
"button",
|
|
1984
|
+
{
|
|
1985
|
+
type: "button",
|
|
1986
|
+
onClick: fetchStatus,
|
|
1987
|
+
className: "rounded-md border border-ui-border-base px-3 py-2 text-sm text-ui-fg-base",
|
|
1988
|
+
disabled: loading,
|
|
1989
|
+
children: loading ? "Refreshing..." : "Refresh"
|
|
1990
|
+
}
|
|
1991
|
+
)
|
|
1992
|
+
] }) }),
|
|
1993
|
+
/* @__PURE__ */ jsxs("div", { className: "p-4", children: [
|
|
1994
|
+
error ? /* @__PURE__ */ jsx("div", { className: "rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600", children: error }) : null,
|
|
1995
|
+
!error && Object.keys(status).length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-sm text-ui-fg-subtle", children: loading ? "Loading reconciliation status..." : "No reconciliation data yet." }) : null,
|
|
1996
|
+
Object.keys(status).length > 0 ? /* @__PURE__ */ jsxs("div", { className: "grid gap-4 text-sm text-ui-fg-base md:grid-cols-2", children: [
|
|
1997
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
1998
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last run" }),
|
|
1999
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_run_at) })
|
|
2000
|
+
] }),
|
|
2001
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2002
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last run status" }),
|
|
2003
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium capitalize", children: status.last_run_status || "—" })
|
|
2004
|
+
] }),
|
|
2005
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2006
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last success" }),
|
|
2007
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_success_at) })
|
|
2008
|
+
] }),
|
|
2009
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2010
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last failure" }),
|
|
2011
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: formatDate(status.last_failure_at) })
|
|
2012
|
+
] }),
|
|
2013
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2014
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Sessions checked" }),
|
|
2015
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.sessions_checked ?? 0 })
|
|
2016
|
+
] }),
|
|
2017
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2018
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Sessions updated" }),
|
|
2019
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.sessions_updated ?? 0 })
|
|
2020
|
+
] }),
|
|
2021
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2022
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Drift detections" }),
|
|
2023
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.drift_count ?? 0 })
|
|
2024
|
+
] }),
|
|
2025
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3", children: [
|
|
2026
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last drift order" }),
|
|
2027
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.last_drift_order_id || "—" }),
|
|
2028
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 text-xs text-ui-fg-subtle", children: formatDate(status.last_drift_at) })
|
|
2029
|
+
] }),
|
|
2030
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
2031
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Last error" }),
|
|
2032
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.last_error || "No errors recorded." })
|
|
2033
|
+
] }),
|
|
2034
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-ui-border-base bg-ui-bg-subtle p-3 md:col-span-2", children: [
|
|
2035
|
+
/* @__PURE__ */ jsx("div", { className: "text-ui-fg-subtle", children: "Total runs" }),
|
|
2036
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 font-medium", children: status.runs ?? 0 })
|
|
2037
|
+
] })
|
|
2038
|
+
] }) : null
|
|
2039
|
+
] })
|
|
2040
|
+
] })
|
|
2041
|
+
] }) });
|
|
2042
|
+
}
|
|
2043
2043
|
const widgetModule = { widgets: [] };
|
|
2044
2044
|
const routeModule = {
|
|
2045
2045
|
routes: [
|
|
@@ -2063,14 +2063,14 @@ const routeModule = {
|
|
|
2063
2063
|
Component: PayPalConnectionPage,
|
|
2064
2064
|
path: "/settings/paypal/connection"
|
|
2065
2065
|
},
|
|
2066
|
-
{
|
|
2067
|
-
Component: PayPalDisputesPage,
|
|
2068
|
-
path: "/settings/paypal/disputes"
|
|
2069
|
-
},
|
|
2070
2066
|
{
|
|
2071
2067
|
Component: PayPalAuditLogsPage,
|
|
2072
2068
|
path: "/settings/paypal/audit-logs"
|
|
2073
2069
|
},
|
|
2070
|
+
{
|
|
2071
|
+
Component: PayPalDisputesPage,
|
|
2072
|
+
path: "/settings/paypal/disputes"
|
|
2073
|
+
},
|
|
2074
2074
|
{
|
|
2075
2075
|
Component: PayPalGooglePayPage,
|
|
2076
2076
|
path: "/settings/paypal/google-pay"
|
|
@@ -2079,13 +2079,13 @@ const routeModule = {
|
|
|
2079
2079
|
Component: PayPalPayLaterMessagingPage,
|
|
2080
2080
|
path: "/settings/paypal/pay-later-messaging"
|
|
2081
2081
|
},
|
|
2082
|
-
{
|
|
2083
|
-
Component: PayPalReconciliationStatusPage,
|
|
2084
|
-
path: "/settings/paypal/reconciliation-status"
|
|
2085
|
-
},
|
|
2086
2082
|
{
|
|
2087
2083
|
Component: PayPalSettingsTab,
|
|
2088
2084
|
path: "/settings/paypal/paypal-settings"
|
|
2085
|
+
},
|
|
2086
|
+
{
|
|
2087
|
+
Component: PayPalReconciliationStatusPage,
|
|
2088
|
+
path: "/settings/paypal/reconciliation-status"
|
|
2089
2089
|
}
|
|
2090
2090
|
]
|
|
2091
2091
|
};
|
package/.medusa/server/src/api/store/payment-collections/[id]/payment-sessions/route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/api/store/payment-collections/[id]/payment-sessions/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAiB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/api/store/payment-collections/[id]/payment-sessions/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAiB,MAAM,0BAA0B,CAAA;AAc5F,wBAAsB,IAAI,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,cAAc,iBAuBtE"}
|
|
@@ -3,6 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.POST = POST;
|
|
4
4
|
const core_flows_1 = require("@medusajs/core-flows");
|
|
5
5
|
const http_1 = require("@medusajs/framework/http");
|
|
6
|
+
const defaultPaymentCollectionFields = [
|
|
7
|
+
"id",
|
|
8
|
+
"currency_code",
|
|
9
|
+
"amount",
|
|
10
|
+
"*payment_sessions",
|
|
11
|
+
];
|
|
6
12
|
async function POST(req, res) {
|
|
7
13
|
const collectionId = req.params.id;
|
|
8
14
|
const { provider_id, data } = req.body;
|
|
@@ -18,7 +24,7 @@ async function POST(req, res) {
|
|
|
18
24
|
entity: "payment_collection",
|
|
19
25
|
idOrFilter: collectionId,
|
|
20
26
|
scope: req.scope,
|
|
21
|
-
fields: req.queryConfig
|
|
27
|
+
fields: req.queryConfig?.fields ?? defaultPaymentCollectionFields,
|
|
22
28
|
});
|
|
23
29
|
res.status(200).json({
|
|
24
30
|
payment_collection: paymentCollection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../../src/api/store/payment-collections/[id]/payment-sessions/route.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../../src/api/store/payment-collections/[id]/payment-sessions/route.ts"],"names":[],"mappings":";;AAeA,oBAuBC;AAtCD,qDAAoE;AACpE,mDAA4F;AAO5F,MAAM,8BAA8B,GAAG;IACrC,IAAI;IACJ,eAAe;IACf,QAAQ;IACR,mBAAmB;CACpB,CAAA;AAEM,KAAK,UAAU,IAAI,CAAC,GAAuB,EAAE,GAAmB;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;IAClC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAgC,CAAA;IAElE,MAAM,IAAA,0CAA6B,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QACjD,KAAK,EAAE;YACL,qBAAqB,EAAE,YAAY;YACnC,WAAW;YACX,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ;YACvC,IAAI;SACL;KACF,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,MAAM,IAAA,oBAAa,EAAC;QAC5C,MAAM,EAAE,oBAAoB;QAC5B,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,8BAA8B;KAClE,CAAC,CAAA;IAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,kBAAkB,EAAE,iBAAiB;KACtC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AASlC,KAAK,OAAO,GAAG,EAAE,CAAA;AAWjB,cAAM,qBAAsB,SAAQ,uBAAuB,CAAC,OAAO,CAAC;IAClE,MAAM,CAAC,UAAU,SAAW;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAExB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO;IAKzD,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AASlC,KAAK,OAAO,GAAG,EAAE,CAAA;AAWjB,cAAM,qBAAsB,SAAQ,uBAAuB,CAAC,OAAO,CAAC;IAClE,MAAM,CAAC,UAAU,SAAW;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAExB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO;IAKzD,OAAO,CAAC,oBAAoB;YAWd,eAAe;YAoBf,uBAAuB;YAQvB,oBAAoB;YAgCpB,eAAe;IAkB7B,OAAO,CAAC,iBAAiB;YAQX,oBAAoB;IAclC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,cAAc;YA6BR,aAAa;YAeb,aAAa;YAab,kBAAkB;IAa1B,mBAAmB,CACvB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC;IAarC;;;OAGG;IACG,eAAe,CACnB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC;IAkC3B,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsBtE,gBAAgB,CACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IA+I5B,eAAe,CACnB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC;IAyB3B,gBAAgB,CACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IAwC5B,cAAc,CAClB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAgL1B,aAAa,CACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAiHzB,aAAa,CACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAqIzB,aAAa,CACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;OAGG;IACG,uBAAuB,CAC3B,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC;CAGhC;AAED,eAAe,qBAAqB,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -24,10 +24,21 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
24
24
|
}
|
|
25
25
|
resolvePayPalService() {
|
|
26
26
|
const container = this.container;
|
|
27
|
-
|
|
27
|
+
try {
|
|
28
|
+
return container.resolve("paypal_onboarding");
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
28
33
|
}
|
|
29
34
|
async resolveSettings() {
|
|
30
35
|
const paypal = this.resolvePayPalService();
|
|
36
|
+
if (!paypal) {
|
|
37
|
+
return {
|
|
38
|
+
additionalSettings: {},
|
|
39
|
+
apiDetails: {},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
31
42
|
const settings = await paypal.getSettings().catch(() => ({}));
|
|
32
43
|
const data = settings && typeof settings === "object" && "data" in settings
|
|
33
44
|
? (settings.data ?? {})
|
|
@@ -46,6 +57,9 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
46
57
|
}
|
|
47
58
|
async getPayPalAccessToken() {
|
|
48
59
|
const paypal = this.resolvePayPalService();
|
|
60
|
+
if (!paypal) {
|
|
61
|
+
throw new Error("PayPal module service is unavailable. Ensure the PayPal module is registered in Medusa config.");
|
|
62
|
+
}
|
|
49
63
|
const creds = await paypal.getActiveCredentials();
|
|
50
64
|
const base = creds.environment === "live"
|
|
51
65
|
? "https://api-m.paypal.com"
|
|
@@ -178,8 +192,11 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
178
192
|
return "pending";
|
|
179
193
|
}
|
|
180
194
|
async recordFailure(eventType, metadata) {
|
|
195
|
+
const paypal = this.resolvePayPalService();
|
|
196
|
+
if (!paypal) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
181
199
|
try {
|
|
182
|
-
const paypal = this.resolvePayPalService();
|
|
183
200
|
await paypal.recordPaymentLog(eventType, metadata);
|
|
184
201
|
await paypal.recordAuditEvent(eventType, metadata);
|
|
185
202
|
await paypal.recordMetric(eventType);
|
|
@@ -189,8 +206,11 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
189
206
|
}
|
|
190
207
|
}
|
|
191
208
|
async recordSuccess(metricName) {
|
|
209
|
+
const paypal = this.resolvePayPalService();
|
|
210
|
+
if (!paypal) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
192
213
|
try {
|
|
193
|
-
const paypal = this.resolvePayPalService();
|
|
194
214
|
await paypal.recordMetric(metricName);
|
|
195
215
|
}
|
|
196
216
|
catch {
|
|
@@ -198,8 +218,11 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
198
218
|
}
|
|
199
219
|
}
|
|
200
220
|
async recordPaymentEvent(eventType, metadata) {
|
|
221
|
+
const paypal = this.resolvePayPalService();
|
|
222
|
+
if (!paypal) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
201
225
|
try {
|
|
202
|
-
const paypal = this.resolvePayPalService();
|
|
203
226
|
await paypal.recordPaymentLog(eventType, metadata);
|
|
204
227
|
}
|
|
205
228
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,6 +6,13 @@ type CreatePaymentSessionBody = {
|
|
|
6
6
|
data?: Record<string, unknown>
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
const defaultPaymentCollectionFields = [
|
|
10
|
+
"id",
|
|
11
|
+
"currency_code",
|
|
12
|
+
"amount",
|
|
13
|
+
"*payment_sessions",
|
|
14
|
+
]
|
|
15
|
+
|
|
9
16
|
export async function POST(req: MedusaStoreRequest, res: MedusaResponse) {
|
|
10
17
|
const collectionId = req.params.id
|
|
11
18
|
const { provider_id, data } = req.body as CreatePaymentSessionBody
|
|
@@ -23,7 +30,7 @@ export async function POST(req: MedusaStoreRequest, res: MedusaResponse) {
|
|
|
23
30
|
entity: "payment_collection",
|
|
24
31
|
idOrFilter: collectionId,
|
|
25
32
|
scope: req.scope,
|
|
26
|
-
fields: req.queryConfig
|
|
33
|
+
fields: req.queryConfig?.fields ?? defaultPaymentCollectionFields,
|
|
27
34
|
})
|
|
28
35
|
|
|
29
36
|
res.status(200).json({
|
|
@@ -57,11 +57,22 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
57
57
|
const container = this.container as {
|
|
58
58
|
resolve<T>(key: string): T
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
try {
|
|
61
|
+
return container.resolve<PayPalModuleService>("paypal_onboarding")
|
|
62
|
+
} catch {
|
|
63
|
+
return null
|
|
64
|
+
}
|
|
61
65
|
}
|
|
62
66
|
|
|
63
67
|
private async resolveSettings() {
|
|
64
68
|
const paypal = this.resolvePayPalService()
|
|
69
|
+
if (!paypal) {
|
|
70
|
+
return {
|
|
71
|
+
additionalSettings: {},
|
|
72
|
+
apiDetails: {},
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
65
76
|
const settings = await paypal.getSettings().catch(() => ({}))
|
|
66
77
|
const data =
|
|
67
78
|
settings && typeof settings === "object" && "data" in settings
|
|
@@ -83,6 +94,11 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
83
94
|
|
|
84
95
|
private async getPayPalAccessToken() {
|
|
85
96
|
const paypal = this.resolvePayPalService()
|
|
97
|
+
if (!paypal) {
|
|
98
|
+
throw new Error(
|
|
99
|
+
"PayPal module service is unavailable. Ensure the PayPal module is registered in Medusa config."
|
|
100
|
+
)
|
|
101
|
+
}
|
|
86
102
|
const creds = await paypal.getActiveCredentials()
|
|
87
103
|
const base =
|
|
88
104
|
creds.environment === "live"
|
|
@@ -248,8 +264,12 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
248
264
|
}
|
|
249
265
|
|
|
250
266
|
private async recordFailure(eventType: string, metadata?: Record<string, unknown>) {
|
|
267
|
+
const paypal = this.resolvePayPalService()
|
|
268
|
+
if (!paypal) {
|
|
269
|
+
return
|
|
270
|
+
}
|
|
271
|
+
|
|
251
272
|
try {
|
|
252
|
-
const paypal = this.resolvePayPalService()
|
|
253
273
|
await paypal.recordPaymentLog(eventType, metadata)
|
|
254
274
|
await paypal.recordAuditEvent(eventType, metadata)
|
|
255
275
|
await paypal.recordMetric(eventType)
|
|
@@ -259,8 +279,12 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
259
279
|
}
|
|
260
280
|
|
|
261
281
|
private async recordSuccess(metricName: string) {
|
|
282
|
+
const paypal = this.resolvePayPalService()
|
|
283
|
+
if (!paypal) {
|
|
284
|
+
return
|
|
285
|
+
}
|
|
286
|
+
|
|
262
287
|
try {
|
|
263
|
-
const paypal = this.resolvePayPalService()
|
|
264
288
|
await paypal.recordMetric(metricName)
|
|
265
289
|
} catch {
|
|
266
290
|
// ignore metrics failures
|
|
@@ -268,8 +292,12 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
268
292
|
}
|
|
269
293
|
|
|
270
294
|
private async recordPaymentEvent(eventType: string, metadata?: Record<string, unknown>) {
|
|
295
|
+
const paypal = this.resolvePayPalService()
|
|
296
|
+
if (!paypal) {
|
|
297
|
+
return
|
|
298
|
+
}
|
|
299
|
+
|
|
271
300
|
try {
|
|
272
|
-
const paypal = this.resolvePayPalService()
|
|
273
301
|
await paypal.recordPaymentLog(eventType, metadata)
|
|
274
302
|
} catch {
|
|
275
303
|
// ignore payment logging failures
|