@easypayment/medusa-payment-paypal 0.9.14 → 0.9.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/.medusa/server/src/admin/index.js +12 -12
  2. package/.medusa/server/src/admin/index.mjs +12 -12
  3. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js.map +1 -1
  4. package/.medusa/server/src/api/store/paypal/capture-order/route.d.ts.map +1 -1
  5. package/.medusa/server/src/api/store/paypal/capture-order/route.js +27 -12
  6. package/.medusa/server/src/api/store/paypal/capture-order/route.js.map +1 -1
  7. package/.medusa/server/src/api/store/paypal/create-order/route.d.ts.map +1 -1
  8. package/.medusa/server/src/api/store/paypal/create-order/route.js +83 -56
  9. package/.medusa/server/src/api/store/paypal/create-order/route.js.map +1 -1
  10. package/.medusa/server/src/api/store/paypal/webhook/route.d.ts.map +1 -1
  11. package/.medusa/server/src/api/store/paypal/webhook/route.js +2 -1
  12. package/.medusa/server/src/api/store/paypal/webhook/route.js.map +1 -1
  13. package/.medusa/server/src/api/store/paypal-complete/route.d.ts.map +1 -1
  14. package/.medusa/server/src/api/store/paypal-complete/route.js +37 -32
  15. package/.medusa/server/src/api/store/paypal-complete/route.js.map +1 -1
  16. package/.medusa/server/src/jobs/paypal-webhook-retry.d.ts.map +1 -1
  17. package/.medusa/server/src/jobs/paypal-webhook-retry.js +42 -1
  18. package/.medusa/server/src/jobs/paypal-webhook-retry.js.map +1 -1
  19. package/.medusa/server/src/modules/paypal/clients/paypal-seller.client.d.ts.map +1 -1
  20. package/.medusa/server/src/modules/paypal/clients/paypal-seller.client.js +5 -4
  21. package/.medusa/server/src/modules/paypal/clients/paypal-seller.client.js.map +1 -1
  22. package/.medusa/server/src/modules/paypal/payment-provider/card-service.d.ts.map +1 -1
  23. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js +13 -10
  24. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js.map +1 -1
  25. package/.medusa/server/src/modules/paypal/payment-provider/service.d.ts.map +1 -1
  26. package/.medusa/server/src/modules/paypal/payment-provider/service.js +10 -9
  27. package/.medusa/server/src/modules/paypal/payment-provider/service.js.map +1 -1
  28. package/.medusa/server/src/modules/paypal/payment-provider/webhook-utils.d.ts +12 -0
  29. package/.medusa/server/src/modules/paypal/payment-provider/webhook-utils.d.ts.map +1 -1
  30. package/.medusa/server/src/modules/paypal/payment-provider/webhook-utils.js +12 -0
  31. package/.medusa/server/src/modules/paypal/payment-provider/webhook-utils.js.map +1 -1
  32. package/.medusa/server/src/modules/paypal/service.d.ts +10 -1
  33. package/.medusa/server/src/modules/paypal/service.d.ts.map +1 -1
  34. package/.medusa/server/src/modules/paypal/service.js +71 -21
  35. package/.medusa/server/src/modules/paypal/service.js.map +1 -1
  36. package/.medusa/server/src/modules/paypal/utils/amounts.d.ts +9 -1
  37. package/.medusa/server/src/modules/paypal/utils/amounts.d.ts.map +1 -1
  38. package/.medusa/server/src/modules/paypal/utils/amounts.js +17 -5
  39. package/.medusa/server/src/modules/paypal/utils/amounts.js.map +1 -1
  40. package/.medusa/server/src/modules/paypal/utils/paypal-auth.d.ts +0 -8
  41. package/.medusa/server/src/modules/paypal/utils/paypal-auth.d.ts.map +1 -1
  42. package/.medusa/server/src/modules/paypal/utils/paypal-auth.js +0 -22
  43. package/.medusa/server/src/modules/paypal/utils/paypal-auth.js.map +1 -1
  44. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.d.ts +16 -0
  45. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.d.ts.map +1 -0
  46. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.js +31 -0
  47. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.js.map +1 -0
  48. package/.medusa/server/src/modules/paypal/utils/secret-crypto.d.ts +14 -0
  49. package/.medusa/server/src/modules/paypal/utils/secret-crypto.d.ts.map +1 -0
  50. package/.medusa/server/src/modules/paypal/utils/secret-crypto.js +91 -0
  51. package/.medusa/server/src/modules/paypal/utils/secret-crypto.js.map +1 -0
  52. package/.medusa/server/src/modules/paypal/webhook-processor.d.ts.map +1 -1
  53. package/.medusa/server/src/modules/paypal/webhook-processor.js +29 -13
  54. package/.medusa/server/src/modules/paypal/webhook-processor.js.map +1 -1
  55. package/.medusa/server/src/subscribers/paypal-order-invoice.d.ts.map +1 -1
  56. package/.medusa/server/src/subscribers/paypal-order-invoice.js +5 -3
  57. package/.medusa/server/src/subscribers/paypal-order-invoice.js.map +1 -1
  58. package/README.md +12 -0
  59. package/package.json +5 -2
  60. package/src/admin/routes/settings/paypal/connection/page.tsx +1 -1
  61. package/src/api/store/paypal/capture-order/route.ts +39 -17
  62. package/src/api/store/paypal/create-order/route.ts +106 -64
  63. package/src/api/store/paypal/webhook/route.ts +2 -1
  64. package/src/api/store/paypal-complete/route.ts +58 -44
  65. package/src/jobs/paypal-webhook-retry.ts +51 -1
  66. package/src/modules/paypal/clients/paypal-seller.client.ts +6 -4
  67. package/src/modules/paypal/payment-provider/card-service.ts +13 -10
  68. package/src/modules/paypal/payment-provider/service.ts +10 -9
  69. package/src/modules/paypal/payment-provider/webhook-utils.ts +12 -0
  70. package/src/modules/paypal/service.ts +76 -21
  71. package/src/modules/paypal/utils/amounts.ts +17 -8
  72. package/src/modules/paypal/utils/paypal-auth.ts +0 -27
  73. package/src/modules/paypal/utils/paypal-fetch.ts +30 -0
  74. package/src/modules/paypal/utils/secret-crypto.ts +94 -0
  75. package/src/modules/paypal/webhook-processor.ts +32 -15
  76. package/src/subscribers/paypal-order-invoice.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/modules/paypal/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/modules/paypal/service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
1
  export declare function getCurrencyExponent(currencyCode: string): 0 | 3 | 2;
2
- export declare function formatAmountForPayPal(minorAmount: number, currencyCode: string): string;
2
+ /**
3
+ * Format a Medusa amount for the PayPal REST API.
4
+ *
5
+ * Medusa passes monetary amounts to payment providers in MAJOR units
6
+ * (e.g. `10` for €10.00), and PayPal's Orders/Payments API also expects major
7
+ * units as a string (e.g. `"10.00"`). So this only fixes the decimal precision
8
+ * for the currency — it must NOT divide/convert to minor units.
9
+ */
10
+ export declare function formatAmountForPayPal(amount: number, currencyCode: string): string;
3
11
  //# sourceMappingURL=amounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"amounts.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":"AAqBA,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,aASvD;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,UAMrB"}
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"}
@@ -7,12 +7,18 @@ const ZERO_DECIMAL_CURRENCIES = new Set([
7
7
  "CLP",
8
8
  "DJF",
9
9
  "GNF",
10
+ // PayPal does NOT support decimals for HUF, JPY and TWD — even though HUF and
11
+ // TWD have 2 ISO 4217 minor digits, PayPal rejects amounts like "1000.00" for
12
+ // them (DECIMAL_PRECISION). They must be sent as whole numbers ("1000").
13
+ // See https://developer.paypal.com/api/rest/reference/currency-codes/
14
+ "HUF",
10
15
  "JPY",
11
16
  "KMF",
12
17
  "KRW",
13
18
  "MGA",
14
19
  "PYG",
15
20
  "RWF",
21
+ "TWD",
16
22
  "UGX",
17
23
  "VND",
18
24
  "VUV",
@@ -20,7 +26,7 @@ const ZERO_DECIMAL_CURRENCIES = new Set([
20
26
  "XOF",
21
27
  "XPF",
22
28
  ]);
23
- const THREE_DECIMAL_CURRENCIES = new Set(["BHD", "JOD", "KWD", "OMR", "TND"]);
29
+ const THREE_DECIMAL_CURRENCIES = new Set(["BHD", "IQD", "JOD", "KWD", "OMR", "TND"]);
24
30
  function getCurrencyExponent(currencyCode) {
25
31
  const code = currencyCode.toUpperCase();
26
32
  if (ZERO_DECIMAL_CURRENCIES.has(code)) {
@@ -31,10 +37,16 @@ function getCurrencyExponent(currencyCode) {
31
37
  }
32
38
  return 2;
33
39
  }
34
- function formatAmountForPayPal(minorAmount, currencyCode) {
40
+ /**
41
+ * Format a Medusa amount for the PayPal REST API.
42
+ *
43
+ * Medusa passes monetary amounts to payment providers in MAJOR units
44
+ * (e.g. `10` for €10.00), and PayPal's Orders/Payments API also expects major
45
+ * units as a string (e.g. `"10.00"`). So this only fixes the decimal precision
46
+ * for the currency — it must NOT divide/convert to minor units.
47
+ */
48
+ function formatAmountForPayPal(amount, currencyCode) {
35
49
  const exponent = getCurrencyExponent(currencyCode);
36
- const factor = 10 ** exponent;
37
- const majorAmount = Number(minorAmount || 0) / factor;
38
- return majorAmount.toFixed(exponent);
50
+ return Number(amount || 0).toFixed(exponent);
39
51
  }
40
52
  //# sourceMappingURL=amounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":";;AAqBA,kDASC;AAED,sDAQC;AAxCD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,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;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAE7E,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,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAA;IAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,MAAM,CAAA;IACrD,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":";;AA2BA,kDASC;AAUD,sDAGC;AAjDD,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;;;;;;;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"}
@@ -1,10 +1,2 @@
1
1
  export declare function getPayPalApiBase(environment: string): string;
2
- export declare function getPayPalAccessToken(opts: {
3
- environment: string;
4
- client_id: string;
5
- client_secret: string;
6
- }): Promise<{
7
- accessToken: string;
8
- base: string;
9
- }>;
10
2
  //# sourceMappingURL=paypal-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paypal-auth.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-auth.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAI5D;AAID,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBjD"}
1
+ {"version":3,"file":"paypal-auth.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-auth.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAI5D"}
@@ -1,31 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPayPalApiBase = getPayPalApiBase;
4
- exports.getPayPalAccessToken = getPayPalAccessToken;
5
4
  function getPayPalApiBase(environment) {
6
5
  return environment === "live"
7
6
  ? "https://api-m.paypal.com"
8
7
  : "https://api-m.sandbox.paypal.com";
9
8
  }
10
- const BN_CODE = "MBJTechnolabs_SI_SPB";
11
- async function getPayPalAccessToken(opts) {
12
- const base = getPayPalApiBase(opts.environment);
13
- const auth = Buffer.from(`${opts.client_id}:${opts.client_secret}`).toString("base64");
14
- const resp = await fetch(`${base}/v1/oauth2/token`, {
15
- method: "POST",
16
- headers: {
17
- Authorization: `Basic ${auth}`,
18
- "Content-Type": "application/x-www-form-urlencoded",
19
- "PayPal-Partner-Attribution-Id": BN_CODE,
20
- },
21
- body: "grant_type=client_credentials",
22
- signal: AbortSignal.timeout(30_000),
23
- });
24
- const text = await resp.text();
25
- if (!resp.ok) {
26
- throw new Error(`PayPal token error (${resp.status}): ${text}`);
27
- }
28
- const json = JSON.parse(text);
29
- return { accessToken: String(json.access_token), base };
30
- }
31
9
  //# sourceMappingURL=paypal-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paypal-auth.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-auth.ts"],"names":[],"mappings":";;AAAA,4CAIC;AAID,oDAuBC;AA/BD,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,OAAO,WAAW,KAAK,MAAM;QAC3B,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,kCAAkC,CAAA;AACxC,CAAC;AAED,MAAM,OAAO,GAAG,sBAAsB,CAAA;AAE/B,KAAK,UAAU,oBAAoB,CAAC,IAI1C;IACC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,kBAAkB,EAAE;QAClD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,IAAI,EAAE;YAC9B,cAAc,EAAE,mCAAmC;YACnD,+BAA+B,EAAE,OAAO;SACzC;QACD,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;IAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"paypal-auth.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-auth.ts"],"names":[],"mappings":";;AAAA,4CAIC;AAJD,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,OAAO,WAAW,KAAK,MAAM;QAC3B,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,kCAAkC,CAAA;AACxC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Default timeout (ms) for all server-side outbound PayPal HTTP calls.
3
+ *
4
+ * Without a timeout, a slow or hung PayPal socket holds a Node request handler
5
+ * (and any DB connection it owns) open indefinitely; under load these
6
+ * accumulate and exhaust the event loop / connection pool, cascading into
7
+ * checkout-wide failures. Override with PAYPAL_HTTP_TIMEOUT_MS.
8
+ */
9
+ export declare const PAYPAL_HTTP_TIMEOUT_MS: number;
10
+ /**
11
+ * `fetch` that always enforces a timeout for PayPal / outbound calls. If the
12
+ * caller already supplies an AbortSignal, it is respected as-is (the caller is
13
+ * assumed to manage its own deadline).
14
+ */
15
+ export declare function paypalFetch(input: string | URL, init?: RequestInit): Promise<Response>;
16
+ //# sourceMappingURL=paypal-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paypal-fetch.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,QAG/B,CAAA;AAEJ;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,QAAQ,CAAC,CAQnB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PAYPAL_HTTP_TIMEOUT_MS = void 0;
4
+ exports.paypalFetch = paypalFetch;
5
+ /**
6
+ * Default timeout (ms) for all server-side outbound PayPal HTTP calls.
7
+ *
8
+ * Without a timeout, a slow or hung PayPal socket holds a Node request handler
9
+ * (and any DB connection it owns) open indefinitely; under load these
10
+ * accumulate and exhaust the event loop / connection pool, cascading into
11
+ * checkout-wide failures. Override with PAYPAL_HTTP_TIMEOUT_MS.
12
+ */
13
+ exports.PAYPAL_HTTP_TIMEOUT_MS = (() => {
14
+ const v = Number(process.env.PAYPAL_HTTP_TIMEOUT_MS);
15
+ return Number.isFinite(v) && v > 0 ? v : 30_000;
16
+ })();
17
+ /**
18
+ * `fetch` that always enforces a timeout for PayPal / outbound calls. If the
19
+ * caller already supplies an AbortSignal, it is respected as-is (the caller is
20
+ * assumed to manage its own deadline).
21
+ */
22
+ function paypalFetch(input, init = {}) {
23
+ if (init.signal) {
24
+ return fetch(input, init);
25
+ }
26
+ return fetch(input, {
27
+ ...init,
28
+ signal: AbortSignal.timeout(exports.PAYPAL_HTTP_TIMEOUT_MS),
29
+ });
30
+ }
31
+ //# sourceMappingURL=paypal-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paypal-fetch.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-fetch.ts"],"names":[],"mappings":";;;AAkBA,kCAWC;AA7BD;;;;;;;GAOG;AACU,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACpD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACjD,CAAC,CAAC,EAAE,CAAA;AAEJ;;;;GAIG;AACH,SAAgB,WAAW,CACzB,KAAmB,EACnB,OAAoB,EAAE;IAEtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,EAAE;QAClB,GAAG,IAAI;QACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,8BAAsB,CAAC;KACpD,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare function isSecretEncryptionEnabled(): boolean;
2
+ export declare function isEncrypted(value: unknown): boolean;
3
+ /**
4
+ * Encrypt a secret for storage. Returns the input unchanged when no key is
5
+ * configured or when the value is empty/already encrypted.
6
+ */
7
+ export declare function encryptSecret<T extends string | null | undefined>(value: T): T | string;
8
+ /**
9
+ * Decrypt a stored secret. Returns non-encrypted (legacy plaintext) values
10
+ * unchanged. Throws if the value is encrypted but no key is configured, or if
11
+ * authentication fails (wrong key / tampering).
12
+ */
13
+ export declare function decryptSecret<T extends string | null | undefined>(value: T): T | string;
14
+ //# sourceMappingURL=secret-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-crypto.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/secret-crypto.ts"],"names":[],"mappings":"AAuCA,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAavF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAsBvF"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSecretEncryptionEnabled = isSecretEncryptionEnabled;
4
+ exports.isEncrypted = isEncrypted;
5
+ exports.encryptSecret = encryptSecret;
6
+ exports.decryptSecret = decryptSecret;
7
+ const crypto_1 = require("crypto");
8
+ /**
9
+ * Opt-in encryption-at-rest for PayPal secrets (client secret, app access
10
+ * token).
11
+ *
12
+ * Activated only when `PAYPAL_ENCRYPTION_KEY` is set. When it is unset (the
13
+ * default), both functions are the identity — behavior is byte-for-byte
14
+ * unchanged, so existing deployments are unaffected.
15
+ *
16
+ * Format: `enc:v1:<iv_b64>:<tag_b64>:<ciphertext_b64>` using AES-256-GCM
17
+ * (authenticated, so tampering is detected on decrypt). Legacy plaintext values
18
+ * (no prefix) are returned as-is on decrypt, so secrets stored before
19
+ * encryption was enabled keep working and are upgraded on the next save.
20
+ */
21
+ const PREFIX = "enc:v1:";
22
+ let cachedRaw;
23
+ let cachedKey = null;
24
+ /**
25
+ * `@types/node` 22.0-22.6 typed `Buffer` as `Buffer<ArrayBufferLike>`, which is
26
+ * rejected where the `crypto` APIs and `Buffer.concat` expect a plain
27
+ * `Uint8Array` (the regression was fixed in 22.8). Narrowing each byte view to
28
+ * `Uint8Array` at the call boundary sidesteps it without changing runtime
29
+ * behavior, and stays valid on every other `@types/node` / TypeScript version.
30
+ */
31
+ const bytes = (view) => view;
32
+ function getKey() {
33
+ const raw = (process.env.PAYPAL_ENCRYPTION_KEY || "").trim();
34
+ if (raw !== cachedRaw) {
35
+ cachedRaw = raw;
36
+ // Accept a key of any length/format; derive a stable 32-byte AES key.
37
+ cachedKey = raw ? (0, crypto_1.createHash)("sha256").update(raw).digest() : null;
38
+ }
39
+ return cachedKey;
40
+ }
41
+ function isSecretEncryptionEnabled() {
42
+ return getKey() !== null;
43
+ }
44
+ function isEncrypted(value) {
45
+ return typeof value === "string" && value.startsWith(PREFIX);
46
+ }
47
+ /**
48
+ * Encrypt a secret for storage. Returns the input unchanged when no key is
49
+ * configured or when the value is empty/already encrypted.
50
+ */
51
+ function encryptSecret(value) {
52
+ if (!value) {
53
+ return value;
54
+ }
55
+ const key = getKey();
56
+ if (!key || isEncrypted(value)) {
57
+ return value;
58
+ }
59
+ const iv = (0, crypto_1.randomBytes)(12);
60
+ const cipher = (0, crypto_1.createCipheriv)("aes-256-gcm", bytes(key), bytes(iv));
61
+ const ciphertext = Buffer.concat([bytes(cipher.update(String(value), "utf8")), bytes(cipher.final())]);
62
+ const tag = cipher.getAuthTag();
63
+ return `${PREFIX}${iv.toString("base64")}:${tag.toString("base64")}:${ciphertext.toString("base64")}`;
64
+ }
65
+ /**
66
+ * Decrypt a stored secret. Returns non-encrypted (legacy plaintext) values
67
+ * unchanged. Throws if the value is encrypted but no key is configured, or if
68
+ * authentication fails (wrong key / tampering).
69
+ */
70
+ function decryptSecret(value) {
71
+ if (!value || !isEncrypted(value)) {
72
+ return value;
73
+ }
74
+ const key = getKey();
75
+ if (!key) {
76
+ throw new Error("PayPal secret is encrypted but PAYPAL_ENCRYPTION_KEY is not set. Restore the key to decrypt stored credentials.");
77
+ }
78
+ const body = String(value).slice(PREFIX.length);
79
+ const [ivB64, tagB64, ctB64] = body.split(":");
80
+ if (!ivB64 || !tagB64 || !ctB64) {
81
+ throw new Error("PayPal secret ciphertext is malformed.");
82
+ }
83
+ const decipher = (0, crypto_1.createDecipheriv)("aes-256-gcm", bytes(key), bytes(Buffer.from(ivB64, "base64")));
84
+ decipher.setAuthTag(bytes(Buffer.from(tagB64, "base64")));
85
+ const plaintext = Buffer.concat([
86
+ bytes(decipher.update(bytes(Buffer.from(ctB64, "base64")))),
87
+ bytes(decipher.final()),
88
+ ]);
89
+ return plaintext.toString("utf8");
90
+ }
91
+ //# sourceMappingURL=secret-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-crypto.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/secret-crypto.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-processor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/paypal/webhook-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAKhE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,MAAM,EACN,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAejD,CAAA;AAWD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAErE;AAGD,eAAO,MAAM,wBAAwB,UAKpC,CAAA;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAWD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAID,eAAO,MAAM,oBAAoB,QAAoC,CAAA;AAErE,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAKpE;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAWnF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CASjF;AAGD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAqCtB;AA+GD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;CACxB;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B,GACA,OAAO,CAAC,aAAa,CAAC,CA2FxB"}
1
+ {"version":3,"file":"webhook-processor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/paypal/webhook-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAKhE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,MAAM,EACN,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAejD,CAAA;AAWD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAErE;AAGD,eAAO,MAAM,wBAAwB,UAKpC,CAAA;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAWD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAID,eAAO,MAAM,oBAAoB,QAAoC,CAAA;AAErE,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAKpE;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAWnF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CASjF;AAGD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAwCtB;AA+GD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;CACxB;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B,GACA,OAAO,CAAC,aAAa,CAAC,CAyGxB"}
@@ -119,7 +119,10 @@ function extractIdentifiers(resource, eventType) {
119
119
  refundId = String(resource?.id || "").trim() || null;
120
120
  orderId = String(related?.order_id || "").trim() || null;
121
121
  captureId = String(related?.capture_id || "").trim() || null;
122
- cartId = null;
122
+ // The refund resource carries the capture's custom_id (the cart id) when it
123
+ // was set on the purchase unit — use it so refunds resolve directly instead
124
+ // of always falling back to a session scan.
125
+ cartId = String(resource?.custom_id || "").trim() || null;
123
126
  }
124
127
  return { orderId, captureId, refundId, cartId };
125
128
  }
@@ -206,20 +209,33 @@ async function processPayPalWebhookEvent(container, input) {
206
209
  return { orderId, captureId, refundId, cartId: rawCartId, sessionUpdated: false };
207
210
  }
208
211
  let cartId = rawCartId;
209
- if (!cartId) {
212
+ if (!cartId && (orderId || captureId)) {
210
213
  try {
211
214
  const paymentModule = container.resolve(utils_1.Modules.PAYMENT);
212
- const allSessions = await paymentModule.listPaymentSessions({
213
- provider_id: ["pp_paypal_paypal", "pp_paypal_card_paypal_card"],
214
- }, { take: 200 });
215
- const matchedSession = (allSessions || []).find((s) => {
216
- const pp = (s.data || {}).paypal || {};
217
- if (orderId && pp.order_id === orderId)
218
- return true;
219
- if (captureId && pp.capture_id === captureId)
220
- return true;
221
- return false;
222
- });
215
+ // Fallback when the webhook resource carries no custom_id: locate the
216
+ // PayPal session whose stored data matches this order_id / capture_id.
217
+ // Paginate to exhaustion rather than scanning a single fixed page — on a
218
+ // busy store the matching session is frequently beyond the first page, so
219
+ // a hard cap would silently drop capture/refund status updates.
220
+ const PAGE_SIZE = 200;
221
+ const MAX_PAGES = 100; // safety bound (20k sessions) against a misbehaving driver
222
+ let matchedSession = null;
223
+ for (let page = 0; page < MAX_PAGES && !matchedSession; page++) {
224
+ const sessions = await paymentModule.listPaymentSessions({ provider_id: [...provider_ids_1.PAYPAL_PROVIDER_IDS] }, { take: PAGE_SIZE, skip: page * PAGE_SIZE });
225
+ if (!sessions || sessions.length === 0)
226
+ break;
227
+ matchedSession =
228
+ sessions.find((s) => {
229
+ const pp = (s.data || {}).paypal || {};
230
+ if (orderId && pp.order_id === orderId)
231
+ return true;
232
+ if (captureId && pp.capture_id === captureId)
233
+ return true;
234
+ return false;
235
+ }) || null;
236
+ if (sessions.length < PAGE_SIZE)
237
+ break;
238
+ }
223
239
  if (matchedSession?.payment_collection_id) {
224
240
  const colls = await paymentModule.listPaymentCollections({ id: [matchedSession.payment_collection_id] }, { take: 1 });
225
241
  cartId = String(colls?.[0]?.cart_id || "").trim() || null;