@easypayment/medusa-payment-paypal 0.9.26 → 0.9.27
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 +10 -10
- package/.medusa/server/src/admin/index.mjs +10 -10
- package/.medusa/server/src/modules/paypal/payment-provider/card-service.d.ts.map +1 -1
- package/.medusa/server/src/modules/paypal/payment-provider/card-service.js +67 -55
- package/.medusa/server/src/modules/paypal/payment-provider/card-service.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 +15 -5
- package/.medusa/server/src/modules/paypal/payment-provider/service.js.map +1 -1
- package/.medusa/server/src/modules/paypal/utils/amounts.d.ts +10 -0
- package/.medusa/server/src/modules/paypal/utils/amounts.d.ts.map +1 -1
- package/.medusa/server/src/modules/paypal/utils/amounts.js +36 -0
- package/.medusa/server/src/modules/paypal/utils/amounts.js.map +1 -1
- package/package.json +1 -1
- package/src/modules/paypal/payment-provider/card-service.ts +85 -65
- package/src/modules/paypal/payment-provider/service.ts +22 -7
- package/src/modules/paypal/utils/amounts.ts +36 -0
|
@@ -308,12 +308,6 @@ function AdvancedCardPaymentsTab() {
|
|
|
308
308
|
)
|
|
309
309
|
] }) });
|
|
310
310
|
}
|
|
311
|
-
function PayPalGooglePayPage() {
|
|
312
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
313
|
-
}
|
|
314
|
-
function PayPalApplePayPage() {
|
|
315
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
316
|
-
}
|
|
317
311
|
const config = adminSdk.defineRouteConfig({
|
|
318
312
|
label: "PayPal Connection"
|
|
319
313
|
});
|
|
@@ -1029,6 +1023,12 @@ function PayPalConnectionPage() {
|
|
|
1029
1023
|
` })
|
|
1030
1024
|
] });
|
|
1031
1025
|
}
|
|
1026
|
+
function PayPalApplePayPage() {
|
|
1027
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1028
|
+
}
|
|
1029
|
+
function PayPalGooglePayPage() {
|
|
1030
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1031
|
+
}
|
|
1032
1032
|
function PayPalPayLaterMessagingPage() {
|
|
1033
1033
|
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1034
1034
|
}
|
|
@@ -1255,16 +1255,16 @@ const routeModule = {
|
|
|
1255
1255
|
path: "/settings/paypal/advanced-card-payments"
|
|
1256
1256
|
},
|
|
1257
1257
|
{
|
|
1258
|
-
Component:
|
|
1259
|
-
path: "/settings/paypal/
|
|
1258
|
+
Component: PayPalConnectionPage,
|
|
1259
|
+
path: "/settings/paypal/connection"
|
|
1260
1260
|
},
|
|
1261
1261
|
{
|
|
1262
1262
|
Component: PayPalApplePayPage,
|
|
1263
1263
|
path: "/settings/paypal/apple-pay"
|
|
1264
1264
|
},
|
|
1265
1265
|
{
|
|
1266
|
-
Component:
|
|
1267
|
-
path: "/settings/paypal/
|
|
1266
|
+
Component: PayPalGooglePayPage,
|
|
1267
|
+
path: "/settings/paypal/google-pay"
|
|
1268
1268
|
},
|
|
1269
1269
|
{
|
|
1270
1270
|
Component: PayPalPayLaterMessagingPage,
|
|
@@ -307,12 +307,6 @@ function AdvancedCardPaymentsTab() {
|
|
|
307
307
|
)
|
|
308
308
|
] }) });
|
|
309
309
|
}
|
|
310
|
-
function PayPalGooglePayPage() {
|
|
311
|
-
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
312
|
-
}
|
|
313
|
-
function PayPalApplePayPage() {
|
|
314
|
-
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
315
|
-
}
|
|
316
310
|
const config = defineRouteConfig({
|
|
317
311
|
label: "PayPal Connection"
|
|
318
312
|
});
|
|
@@ -1028,6 +1022,12 @@ function PayPalConnectionPage() {
|
|
|
1028
1022
|
` })
|
|
1029
1023
|
] });
|
|
1030
1024
|
}
|
|
1025
|
+
function PayPalApplePayPage() {
|
|
1026
|
+
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1027
|
+
}
|
|
1028
|
+
function PayPalGooglePayPage() {
|
|
1029
|
+
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1030
|
+
}
|
|
1031
1031
|
function PayPalPayLaterMessagingPage() {
|
|
1032
1032
|
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
1033
1033
|
}
|
|
@@ -1254,16 +1254,16 @@ const routeModule = {
|
|
|
1254
1254
|
path: "/settings/paypal/advanced-card-payments"
|
|
1255
1255
|
},
|
|
1256
1256
|
{
|
|
1257
|
-
Component:
|
|
1258
|
-
path: "/settings/paypal/
|
|
1257
|
+
Component: PayPalConnectionPage,
|
|
1258
|
+
path: "/settings/paypal/connection"
|
|
1259
1259
|
},
|
|
1260
1260
|
{
|
|
1261
1261
|
Component: PayPalApplePayPage,
|
|
1262
1262
|
path: "/settings/paypal/apple-pay"
|
|
1263
1263
|
},
|
|
1264
1264
|
{
|
|
1265
|
-
Component:
|
|
1266
|
-
path: "/settings/paypal/
|
|
1265
|
+
Component: PayPalGooglePayPage,
|
|
1266
|
+
path: "/settings/paypal/google-pay"
|
|
1267
1267
|
},
|
|
1268
1268
|
{
|
|
1269
1269
|
Component: PayPalPayLaterMessagingPage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-service.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/card-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"card-service.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/card-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAe,MAAM,2BAA2B,CAAA;AAEhF,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;AAgBlC,KAAK,OAAO,GAAG,EAAE,CAAA;AAYjB,cAAM,0BAA2B,SAAQ,uBAAuB,CAAC,OAAO,CAAC;IACvE,MAAM,CAAC,UAAU,SAAgB;IAEjC,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;YAqBf,uBAAuB;YAQvB,oBAAoB;YAcpB,eAAe;IAmB7B,OAAO,CAAC,iBAAiB;YAWX,oBAAoB;IAclC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,cAAc;IAuBhB,mBAAmB,CACvB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC;IAa/B,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoB5E,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmBtE,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAqLhF,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0K1E,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6GvE,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0GvE,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyB7E,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+BhF,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIvE,uBAAuB,CAC3B,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC;CAGhC;AAED,eAAe,0BAA0B,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
|
|
@@ -574,69 +574,81 @@ class PayPalAdvancedCardProvider extends utils_1.AbstractPaymentProvider {
|
|
|
574
574
|
const paypalData = (data.paypal || {});
|
|
575
575
|
const captureId = String(paypalData.capture_id || data.capture_id || "");
|
|
576
576
|
if (!captureId) {
|
|
577
|
-
throw new
|
|
577
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "PayPal capture_id is required to refund payment. No capture found in session data.");
|
|
578
578
|
}
|
|
579
|
-
const requestId = this.getIdempotencyKey(_input, `refund-${captureId}`);
|
|
580
579
|
// Use the refund amount Medusa passes (top-level input), not the session
|
|
581
580
|
// amount in `data` — otherwise a partial refund would refund the full order.
|
|
582
|
-
|
|
581
|
+
// Medusa passes it as a BigNumberInput, so coerce it to a number; a naive
|
|
582
|
+
// Number() of the object form yields NaN and silently refunds the full
|
|
583
|
+
// capture.
|
|
584
|
+
const amount = (0, amounts_1.toAmountNumber)(_input.amount);
|
|
585
|
+
const requestId = this.getIdempotencyKey(_input, `refund-${captureId}-${amount}`);
|
|
583
586
|
const currencyOverride = await this.resolveCurrencyOverride();
|
|
584
587
|
const currencyCode = (0, currencies_1.normalizeCurrencyCode)(data.currency_code || currencyOverride || "EUR");
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
588
|
+
try {
|
|
589
|
+
const { accessToken, base } = await this.getPayPalAccessToken();
|
|
590
|
+
const refundPayload = amount > 0
|
|
591
|
+
? {
|
|
592
|
+
amount: {
|
|
593
|
+
currency_code: currencyCode,
|
|
594
|
+
value: (0, amounts_1.formatAmountForPayPal)(amount, currencyCode),
|
|
595
|
+
},
|
|
596
|
+
}
|
|
597
|
+
: {};
|
|
598
|
+
const resp = await (0, paypal_fetch_1.paypalFetch)(`${base}/v2/payments/captures/${encodeURIComponent(captureId)}/refund`, {
|
|
599
|
+
method: "POST",
|
|
600
|
+
headers: {
|
|
601
|
+
Authorization: `Bearer ${accessToken}`,
|
|
602
|
+
"Content-Type": "application/json",
|
|
603
|
+
"PayPal-Request-Id": requestId,
|
|
604
|
+
"PayPal-Partner-Attribution-Id": BN_CODE,
|
|
591
605
|
},
|
|
606
|
+
body: JSON.stringify(refundPayload),
|
|
607
|
+
});
|
|
608
|
+
const text = await resp.text();
|
|
609
|
+
if (!resp.ok) {
|
|
610
|
+
const debugId = resp.headers.get("paypal-debug-id");
|
|
611
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `PayPal refund error (${resp.status}): ${text}${debugId ? ` debug_id=${debugId}` : ""}`);
|
|
592
612
|
}
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
"
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
id: refund?.id,
|
|
623
|
-
status: refund?.status,
|
|
624
|
-
amount: refund?.amount,
|
|
625
|
-
raw: refund,
|
|
626
|
-
};
|
|
627
|
-
return {
|
|
628
|
-
data: {
|
|
629
|
-
...(data || {}),
|
|
630
|
-
paypal: {
|
|
631
|
-
...paypalData,
|
|
632
|
-
refund_id: refund?.id,
|
|
633
|
-
refund_status: refund?.status,
|
|
634
|
-
refunds: [...existingRefunds, refundEntry],
|
|
635
|
-
refund,
|
|
613
|
+
const refund = JSON.parse(text);
|
|
614
|
+
// As with captures, a 2xx response does not guarantee the refund stuck.
|
|
615
|
+
// FAILED / CANCELLED / DENIED refunds also return 2xx and must not be
|
|
616
|
+
// recorded as a successful refund. PENDING is accepted: PayPal processes
|
|
617
|
+
// refunds asynchronously and a pending refund will settle.
|
|
618
|
+
const refundStatus = String(refund?.status || "").toUpperCase();
|
|
619
|
+
if ((0, status_utils_1.isRefundFailureStatus)(refundStatus)) {
|
|
620
|
+
const refundDebugId = resp.headers.get("paypal-debug-id");
|
|
621
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `PayPal refund did not succeed (status=${refundStatus}). The refund was not issued.` +
|
|
622
|
+
(refundDebugId ? ` debug_id=${refundDebugId}` : ""));
|
|
623
|
+
}
|
|
624
|
+
const existingRefunds = Array.isArray(paypalData.refunds) ? paypalData.refunds : [];
|
|
625
|
+
const refundEntry = {
|
|
626
|
+
id: refund?.id,
|
|
627
|
+
status: refund?.status,
|
|
628
|
+
amount: refund?.amount,
|
|
629
|
+
raw: refund,
|
|
630
|
+
};
|
|
631
|
+
return {
|
|
632
|
+
data: {
|
|
633
|
+
...(data || {}),
|
|
634
|
+
paypal: {
|
|
635
|
+
...paypalData,
|
|
636
|
+
refund_id: refund?.id,
|
|
637
|
+
refund_status: refund?.status,
|
|
638
|
+
refunds: [...existingRefunds, refundEntry],
|
|
639
|
+
refund,
|
|
640
|
+
},
|
|
641
|
+
refunded_at: new Date().toISOString(),
|
|
636
642
|
},
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
catch (error) {
|
|
646
|
+
// Surface the real reason: Medusa masks any non-MedusaError as a generic
|
|
647
|
+
// "An unknown error occurred." in production, hiding the PayPal failure.
|
|
648
|
+
throw error instanceof utils_1.MedusaError
|
|
649
|
+
? error
|
|
650
|
+
: new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, error?.message || "PayPal refund failed.");
|
|
651
|
+
}
|
|
640
652
|
}
|
|
641
653
|
async retrievePayment(_input) {
|
|
642
654
|
const data = (_input.data || {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-service.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/card-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card-service.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/card-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/payment-provider/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,
|
|
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;AAEhF,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;AAgBlC,KAAK,OAAO,GAAG,EAAE,CAAA;AAYjB,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;IAWtB,eAAe;4BAIW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;YAcjC,uBAAuB;YAQvB,oBAAoB;YAgBpB,eAAe;IAmB7B,OAAO,CAAC,iBAAiB;YAWX,oBAAoB;IAclC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,cAAc;YAWR,aAAa;YAWb,aAAa;YASb,kBAAkB;IAS1B,mBAAmB,CACvB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC;IAY/B,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgC5E,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoBtE,gBAAgB,CACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IAwM5B,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyB5E,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAwC/E,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwMzE,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoJtE,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6HtE,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIvE,uBAAuB,CAC3B,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC;CAGhC;AAED,eAAe,qBAAqB,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -635,14 +635,17 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
635
635
|
const refundReason = String(paypalData.refund_reason || data.refund_reason || data.reason || "").trim();
|
|
636
636
|
const refundReasonCode = String(paypalData.refund_reason_code || data.refund_reason_code || data.reason_code || "").trim();
|
|
637
637
|
if (!captureId) {
|
|
638
|
-
throw new
|
|
638
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "PayPal capture_id is required to refund payment. No capture found in session data.");
|
|
639
639
|
}
|
|
640
|
+
// Medusa passes the refund amount as a BigNumberInput (BigNumber instance or
|
|
641
|
+
// serialized { value, precision }); coerce it to a number so partial refunds
|
|
642
|
+
// send the correct value instead of silently refunding the full capture.
|
|
643
|
+
const refundAmount = (0, amounts_1.toAmountNumber)(input.amount);
|
|
640
644
|
// Include the amount in the idempotency suffix so two sequential partial
|
|
641
645
|
// refunds of the same capture are not deduplicated by PayPal into one.
|
|
642
|
-
const requestId = this.getIdempotencyKey(input, `refund-${captureId}-${
|
|
646
|
+
const requestId = this.getIdempotencyKey(input, `refund-${captureId}-${refundAmount}`);
|
|
643
647
|
const currencyOverride = await this.resolveCurrencyOverride();
|
|
644
648
|
const currencyCode = (0, currencies_1.normalizeCurrencyCode)(data.currency_code || currencyOverride || "EUR");
|
|
645
|
-
const refundAmount = Number(input.amount ?? 0);
|
|
646
649
|
const refundValue = refundAmount > 0
|
|
647
650
|
? (0, amounts_1.formatAmountForPayPal)(refundAmount, currencyCode)
|
|
648
651
|
: null;
|
|
@@ -658,7 +661,9 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
658
661
|
}
|
|
659
662
|
: {};
|
|
660
663
|
if (refundReason) {
|
|
661
|
-
|
|
664
|
+
// PayPal rejects a note_to_payer longer than 255 characters with a 422
|
|
665
|
+
// (which would otherwise fail the whole refund); truncate defensively.
|
|
666
|
+
refundPayload.note_to_payer = refundReason.slice(0, 255);
|
|
662
667
|
}
|
|
663
668
|
const ppResp = await (0, paypal_fetch_1.paypalFetch)(`${base}/v2/payments/captures/${encodeURIComponent(captureId)}/refund`, {
|
|
664
669
|
method: "POST",
|
|
@@ -727,7 +732,12 @@ class PayPalPaymentProvider extends utils_1.AbstractPaymentProvider {
|
|
|
727
732
|
debug_id: debugId,
|
|
728
733
|
message: error?.message,
|
|
729
734
|
});
|
|
730
|
-
|
|
735
|
+
// Surface the real reason to the admin. Medusa's error handler masks any
|
|
736
|
+
// non-MedusaError as a generic "An unknown error occurred." in production,
|
|
737
|
+
// which hid the actual PayPal failure from the order refund UI.
|
|
738
|
+
throw error instanceof utils_1.MedusaError
|
|
739
|
+
? error
|
|
740
|
+
: new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, error?.message || "PayPal refund failed.");
|
|
731
741
|
}
|
|
732
742
|
}
|
|
733
743
|
async cancelPayment(input) {
|
|
@@ -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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"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
export declare function getCurrencyExponent(currencyCode: string): 0 | 3 | 2;
|
|
2
|
+
/**
|
|
3
|
+
* Coerce a Medusa monetary amount into a plain JS number.
|
|
4
|
+
*
|
|
5
|
+
* Medusa passes amounts to payment providers as a `BigNumberInput`, which can be
|
|
6
|
+
* a plain `number`/`string`, a `BigNumber` instance (exposing a `numeric`
|
|
7
|
+
* getter), or the serialized raw form `{ value, precision }`. A naive
|
|
8
|
+
* `Number(amount)` returns `NaN` for the object forms — which silently turns a
|
|
9
|
+
* partial refund/capture into a full one and produces a `…-NaN` idempotency key.
|
|
10
|
+
*/
|
|
11
|
+
export declare function toAmountNumber(amount: unknown): number;
|
|
2
12
|
/**
|
|
3
13
|
* Format a Medusa amount for the PayPal REST API.
|
|
4
14
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amounts.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":"AA2BA,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,aASvD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAGzE"}
|
|
1
|
+
{"version":3,"file":"amounts.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":"AA2BA,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,aASvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAyBtD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAGzE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCurrencyExponent = getCurrencyExponent;
|
|
4
|
+
exports.toAmountNumber = toAmountNumber;
|
|
4
5
|
exports.formatAmountForPayPal = formatAmountForPayPal;
|
|
5
6
|
const ZERO_DECIMAL_CURRENCIES = new Set([
|
|
6
7
|
"BIF",
|
|
@@ -37,6 +38,41 @@ function getCurrencyExponent(currencyCode) {
|
|
|
37
38
|
}
|
|
38
39
|
return 2;
|
|
39
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Coerce a Medusa monetary amount into a plain JS number.
|
|
43
|
+
*
|
|
44
|
+
* Medusa passes amounts to payment providers as a `BigNumberInput`, which can be
|
|
45
|
+
* a plain `number`/`string`, a `BigNumber` instance (exposing a `numeric`
|
|
46
|
+
* getter), or the serialized raw form `{ value, precision }`. A naive
|
|
47
|
+
* `Number(amount)` returns `NaN` for the object forms — which silently turns a
|
|
48
|
+
* partial refund/capture into a full one and produces a `…-NaN` idempotency key.
|
|
49
|
+
*/
|
|
50
|
+
function toAmountNumber(amount) {
|
|
51
|
+
if (amount === null || amount === undefined) {
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
if (typeof amount === "number") {
|
|
55
|
+
return Number.isFinite(amount) ? amount : 0;
|
|
56
|
+
}
|
|
57
|
+
if (typeof amount === "string") {
|
|
58
|
+
const parsed = Number(amount);
|
|
59
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
60
|
+
}
|
|
61
|
+
if (typeof amount === "object") {
|
|
62
|
+
const obj = amount;
|
|
63
|
+
// Medusa BigNumber instance.
|
|
64
|
+
if (typeof obj.numeric === "number" && Number.isFinite(obj.numeric)) {
|
|
65
|
+
return obj.numeric;
|
|
66
|
+
}
|
|
67
|
+
// Serialized raw form: { value: "20", precision: 20 }.
|
|
68
|
+
if (obj.value !== undefined && obj.value !== null) {
|
|
69
|
+
const parsed = Number(obj.value);
|
|
70
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const fallback = Number(amount);
|
|
74
|
+
return Number.isFinite(fallback) ? fallback : 0;
|
|
75
|
+
}
|
|
40
76
|
/**
|
|
41
77
|
* Format a Medusa amount for the PayPal REST API.
|
|
42
78
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":";;AA2BA,kDASC;AAUD,sDAGC;
|
|
1
|
+
{"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":";;AA2BA,kDASC;AAWD,wCAyBC;AAUD,sDAGC;AArFD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,sEAAsE;IACtE,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAEpF,SAAgB,mBAAmB,CAAC,YAAoB;IACtD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,CAAA;IACvC,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAAC,MAAe;IAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAiC,CAAA;QAC7C,6BAA6B;QAC7B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,OAAO,GAAG,CAAC,OAAO,CAAA;QACpB,CAAC;QACD,uDAAuD;QACvD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAe,CAAC,CAAA;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,MAAc,EAAE,YAAoB;IACxE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAClD,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractPaymentProvider } from "@medusajs/framework/utils"
|
|
1
|
+
import { AbstractPaymentProvider, MedusaError } from "@medusajs/framework/utils"
|
|
2
2
|
import { randomUUID } from "crypto"
|
|
3
3
|
import type {
|
|
4
4
|
AuthorizePaymentInput,
|
|
@@ -25,7 +25,7 @@ import type {
|
|
|
25
25
|
WebhookActionResult,
|
|
26
26
|
} from "@medusajs/framework/types"
|
|
27
27
|
import { getPayPalWebhookActionAndData } from "./webhook-utils"
|
|
28
|
-
import { formatAmountForPayPal } from "../utils/amounts"
|
|
28
|
+
import { formatAmountForPayPal, toAmountNumber } from "../utils/amounts"
|
|
29
29
|
import { paypalFetch } from "../utils/paypal-fetch"
|
|
30
30
|
import {
|
|
31
31
|
assertPayPalCurrencySupported,
|
|
@@ -727,84 +727,104 @@ class PayPalAdvancedCardProvider extends AbstractPaymentProvider<Options> {
|
|
|
727
727
|
const paypalData = (data.paypal || {}) as Record<string, any>
|
|
728
728
|
const captureId = String(paypalData.capture_id || data.capture_id || "")
|
|
729
729
|
if (!captureId) {
|
|
730
|
-
throw new
|
|
730
|
+
throw new MedusaError(
|
|
731
|
+
MedusaError.Types.INVALID_DATA,
|
|
732
|
+
"PayPal capture_id is required to refund payment. No capture found in session data."
|
|
733
|
+
)
|
|
731
734
|
}
|
|
732
735
|
|
|
733
|
-
const requestId = this.getIdempotencyKey(_input, `refund-${captureId}`)
|
|
734
736
|
// Use the refund amount Medusa passes (top-level input), not the session
|
|
735
737
|
// amount in `data` — otherwise a partial refund would refund the full order.
|
|
736
|
-
|
|
738
|
+
// Medusa passes it as a BigNumberInput, so coerce it to a number; a naive
|
|
739
|
+
// Number() of the object form yields NaN and silently refunds the full
|
|
740
|
+
// capture.
|
|
741
|
+
const amount = toAmountNumber(_input.amount)
|
|
742
|
+
const requestId = this.getIdempotencyKey(_input, `refund-${captureId}-${amount}`)
|
|
737
743
|
const currencyOverride = await this.resolveCurrencyOverride()
|
|
738
744
|
const currencyCode = normalizeCurrencyCode(
|
|
739
745
|
data.currency_code || currencyOverride || "EUR"
|
|
740
746
|
)
|
|
741
|
-
const { accessToken, base } = await this.getPayPalAccessToken()
|
|
742
|
-
const refundPayload: Record<string, any> =
|
|
743
|
-
amount > 0
|
|
744
|
-
? {
|
|
745
|
-
amount: {
|
|
746
|
-
currency_code: currencyCode,
|
|
747
|
-
value: formatAmountForPayPal(amount, currencyCode),
|
|
748
|
-
},
|
|
749
|
-
}
|
|
750
|
-
: {}
|
|
751
747
|
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
748
|
+
try {
|
|
749
|
+
const { accessToken, base } = await this.getPayPalAccessToken()
|
|
750
|
+
const refundPayload: Record<string, any> =
|
|
751
|
+
amount > 0
|
|
752
|
+
? {
|
|
753
|
+
amount: {
|
|
754
|
+
currency_code: currencyCode,
|
|
755
|
+
value: formatAmountForPayPal(amount, currencyCode),
|
|
756
|
+
},
|
|
757
|
+
}
|
|
758
|
+
: {}
|
|
762
759
|
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
760
|
+
const resp = await paypalFetch(`${base}/v2/payments/captures/${encodeURIComponent(captureId)}/refund`, {
|
|
761
|
+
method: "POST",
|
|
762
|
+
headers: {
|
|
763
|
+
Authorization: `Bearer ${accessToken}`,
|
|
764
|
+
"Content-Type": "application/json",
|
|
765
|
+
"PayPal-Request-Id": requestId,
|
|
766
|
+
"PayPal-Partner-Attribution-Id": BN_CODE,
|
|
767
|
+
},
|
|
768
|
+
body: JSON.stringify(refundPayload),
|
|
769
|
+
})
|
|
772
770
|
|
|
773
|
-
|
|
771
|
+
const text = await resp.text()
|
|
772
|
+
if (!resp.ok) {
|
|
773
|
+
const debugId = resp.headers.get("paypal-debug-id")
|
|
774
|
+
throw new MedusaError(
|
|
775
|
+
MedusaError.Types.UNEXPECTED_STATE,
|
|
776
|
+
`PayPal refund error (${resp.status}): ${text}${
|
|
777
|
+
debugId ? ` debug_id=${debugId}` : ""
|
|
778
|
+
}`
|
|
779
|
+
)
|
|
780
|
+
}
|
|
774
781
|
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
const
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
782
|
+
const refund = JSON.parse(text)
|
|
783
|
+
|
|
784
|
+
// As with captures, a 2xx response does not guarantee the refund stuck.
|
|
785
|
+
// FAILED / CANCELLED / DENIED refunds also return 2xx and must not be
|
|
786
|
+
// recorded as a successful refund. PENDING is accepted: PayPal processes
|
|
787
|
+
// refunds asynchronously and a pending refund will settle.
|
|
788
|
+
const refundStatus = String(refund?.status || "").toUpperCase()
|
|
789
|
+
if (isRefundFailureStatus(refundStatus)) {
|
|
790
|
+
const refundDebugId = resp.headers.get("paypal-debug-id")
|
|
791
|
+
throw new MedusaError(
|
|
792
|
+
MedusaError.Types.UNEXPECTED_STATE,
|
|
793
|
+
`PayPal refund did not succeed (status=${refundStatus}). The refund was not issued.` +
|
|
794
|
+
(refundDebugId ? ` debug_id=${refundDebugId}` : "")
|
|
795
|
+
)
|
|
796
|
+
}
|
|
787
797
|
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
798
|
+
const existingRefunds = Array.isArray(paypalData.refunds) ? paypalData.refunds : []
|
|
799
|
+
const refundEntry = {
|
|
800
|
+
id: refund?.id,
|
|
801
|
+
status: refund?.status,
|
|
802
|
+
amount: refund?.amount,
|
|
803
|
+
raw: refund,
|
|
804
|
+
}
|
|
795
805
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
806
|
+
return {
|
|
807
|
+
data: {
|
|
808
|
+
...(data || {}),
|
|
809
|
+
paypal: {
|
|
810
|
+
...paypalData,
|
|
811
|
+
refund_id: refund?.id,
|
|
812
|
+
refund_status: refund?.status,
|
|
813
|
+
refunds: [...existingRefunds, refundEntry],
|
|
814
|
+
refund,
|
|
815
|
+
},
|
|
816
|
+
refunded_at: new Date().toISOString(),
|
|
805
817
|
},
|
|
806
|
-
|
|
807
|
-
|
|
818
|
+
}
|
|
819
|
+
} catch (error: any) {
|
|
820
|
+
// Surface the real reason: Medusa masks any non-MedusaError as a generic
|
|
821
|
+
// "An unknown error occurred." in production, hiding the PayPal failure.
|
|
822
|
+
throw error instanceof MedusaError
|
|
823
|
+
? error
|
|
824
|
+
: new MedusaError(
|
|
825
|
+
MedusaError.Types.UNEXPECTED_STATE,
|
|
826
|
+
error?.message || "PayPal refund failed."
|
|
827
|
+
)
|
|
808
828
|
}
|
|
809
829
|
}
|
|
810
830
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractPaymentProvider } from "@medusajs/framework/utils"
|
|
1
|
+
import { AbstractPaymentProvider, MedusaError } from "@medusajs/framework/utils"
|
|
2
2
|
import { randomUUID } from "crypto"
|
|
3
3
|
import type {
|
|
4
4
|
AuthorizePaymentInput,
|
|
@@ -24,7 +24,7 @@ import type {
|
|
|
24
24
|
ProviderWebhookPayload,
|
|
25
25
|
WebhookActionResult,
|
|
26
26
|
} from "@medusajs/framework/types"
|
|
27
|
-
import { formatAmountForPayPal, getCurrencyExponent } from "../utils/amounts"
|
|
27
|
+
import { formatAmountForPayPal, getCurrencyExponent, toAmountNumber } from "../utils/amounts"
|
|
28
28
|
import {
|
|
29
29
|
assertPayPalCurrencySupported,
|
|
30
30
|
normalizeCurrencyCode,
|
|
@@ -773,16 +773,22 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
773
773
|
paypalData.refund_reason_code || data.refund_reason_code || data.reason_code || ""
|
|
774
774
|
).trim()
|
|
775
775
|
if (!captureId) {
|
|
776
|
-
throw new
|
|
776
|
+
throw new MedusaError(
|
|
777
|
+
MedusaError.Types.INVALID_DATA,
|
|
777
778
|
"PayPal capture_id is required to refund payment. No capture found in session data."
|
|
778
779
|
)
|
|
779
780
|
}
|
|
780
781
|
|
|
782
|
+
// Medusa passes the refund amount as a BigNumberInput (BigNumber instance or
|
|
783
|
+
// serialized { value, precision }); coerce it to a number so partial refunds
|
|
784
|
+
// send the correct value instead of silently refunding the full capture.
|
|
785
|
+
const refundAmount = toAmountNumber(input.amount)
|
|
786
|
+
|
|
781
787
|
// Include the amount in the idempotency suffix so two sequential partial
|
|
782
788
|
// refunds of the same capture are not deduplicated by PayPal into one.
|
|
783
789
|
const requestId = this.getIdempotencyKey(
|
|
784
790
|
input,
|
|
785
|
-
`refund-${captureId}-${
|
|
791
|
+
`refund-${captureId}-${refundAmount}`
|
|
786
792
|
)
|
|
787
793
|
|
|
788
794
|
const currencyOverride = await this.resolveCurrencyOverride()
|
|
@@ -790,7 +796,6 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
790
796
|
data.currency_code || currencyOverride || "EUR"
|
|
791
797
|
)
|
|
792
798
|
|
|
793
|
-
const refundAmount = Number(input.amount ?? 0)
|
|
794
799
|
const refundValue = refundAmount > 0
|
|
795
800
|
? formatAmountForPayPal(refundAmount, currencyCode)
|
|
796
801
|
: null
|
|
@@ -810,7 +815,9 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
810
815
|
: {}
|
|
811
816
|
|
|
812
817
|
if (refundReason) {
|
|
813
|
-
|
|
818
|
+
// PayPal rejects a note_to_payer longer than 255 characters with a 422
|
|
819
|
+
// (which would otherwise fail the whole refund); truncate defensively.
|
|
820
|
+
refundPayload.note_to_payer = refundReason.slice(0, 255)
|
|
814
821
|
}
|
|
815
822
|
|
|
816
823
|
const ppResp = await paypalFetch(`${base}/v2/payments/captures/${encodeURIComponent(captureId)}/refund`, {
|
|
@@ -891,7 +898,15 @@ class PayPalPaymentProvider extends AbstractPaymentProvider<Options> {
|
|
|
891
898
|
debug_id: debugId,
|
|
892
899
|
message: error?.message,
|
|
893
900
|
})
|
|
894
|
-
|
|
901
|
+
// Surface the real reason to the admin. Medusa's error handler masks any
|
|
902
|
+
// non-MedusaError as a generic "An unknown error occurred." in production,
|
|
903
|
+
// which hid the actual PayPal failure from the order refund UI.
|
|
904
|
+
throw error instanceof MedusaError
|
|
905
|
+
? error
|
|
906
|
+
: new MedusaError(
|
|
907
|
+
MedusaError.Types.UNEXPECTED_STATE,
|
|
908
|
+
error?.message || "PayPal refund failed."
|
|
909
|
+
)
|
|
895
910
|
}
|
|
896
911
|
}
|
|
897
912
|
|
|
@@ -36,6 +36,42 @@ export function getCurrencyExponent(currencyCode: string) {
|
|
|
36
36
|
return 2
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Coerce a Medusa monetary amount into a plain JS number.
|
|
41
|
+
*
|
|
42
|
+
* Medusa passes amounts to payment providers as a `BigNumberInput`, which can be
|
|
43
|
+
* a plain `number`/`string`, a `BigNumber` instance (exposing a `numeric`
|
|
44
|
+
* getter), or the serialized raw form `{ value, precision }`. A naive
|
|
45
|
+
* `Number(amount)` returns `NaN` for the object forms — which silently turns a
|
|
46
|
+
* partial refund/capture into a full one and produces a `…-NaN` idempotency key.
|
|
47
|
+
*/
|
|
48
|
+
export function toAmountNumber(amount: unknown): number {
|
|
49
|
+
if (amount === null || amount === undefined) {
|
|
50
|
+
return 0
|
|
51
|
+
}
|
|
52
|
+
if (typeof amount === "number") {
|
|
53
|
+
return Number.isFinite(amount) ? amount : 0
|
|
54
|
+
}
|
|
55
|
+
if (typeof amount === "string") {
|
|
56
|
+
const parsed = Number(amount)
|
|
57
|
+
return Number.isFinite(parsed) ? parsed : 0
|
|
58
|
+
}
|
|
59
|
+
if (typeof amount === "object") {
|
|
60
|
+
const obj = amount as Record<string, unknown>
|
|
61
|
+
// Medusa BigNumber instance.
|
|
62
|
+
if (typeof obj.numeric === "number" && Number.isFinite(obj.numeric)) {
|
|
63
|
+
return obj.numeric
|
|
64
|
+
}
|
|
65
|
+
// Serialized raw form: { value: "20", precision: 20 }.
|
|
66
|
+
if (obj.value !== undefined && obj.value !== null) {
|
|
67
|
+
const parsed = Number(obj.value)
|
|
68
|
+
return Number.isFinite(parsed) ? parsed : 0
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const fallback = Number(amount as never)
|
|
72
|
+
return Number.isFinite(fallback) ? fallback : 0
|
|
73
|
+
}
|
|
74
|
+
|
|
39
75
|
/**
|
|
40
76
|
* Format a Medusa amount for the PayPal REST API.
|
|
41
77
|
*
|