@easypayment/medusa-payment-paypal 0.9.29 → 0.9.30

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 (117) hide show
  1. package/.medusa/server/src/admin/index.js +12 -10
  2. package/.medusa/server/src/admin/index.mjs +12 -10
  3. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.d.ts.map +1 -1
  4. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.js +24 -4
  5. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.js.map +1 -1
  6. package/.medusa/server/src/api/store/paypal/capture-order/route.d.ts.map +1 -1
  7. package/.medusa/server/src/api/store/paypal/capture-order/route.js +4 -2
  8. package/.medusa/server/src/api/store/paypal/capture-order/route.js.map +1 -1
  9. package/.medusa/server/src/api/store/paypal/webhook/route.js +1 -1
  10. package/.medusa/server/src/api/store/paypal/webhook/route.js.map +1 -1
  11. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.d.ts +6 -0
  12. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.d.ts.map +1 -0
  13. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.js +14 -0
  14. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.js.map +1 -0
  15. package/.medusa/server/src/modules/paypal/payment-provider/card-service.d.ts +1 -1
  16. package/.medusa/server/src/modules/paypal/payment-provider/card-service.d.ts.map +1 -1
  17. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js +9 -35
  18. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js.map +1 -1
  19. package/.medusa/server/src/modules/paypal/payment-provider/service.d.ts +2 -5
  20. package/.medusa/server/src/modules/paypal/payment-provider/service.d.ts.map +1 -1
  21. package/.medusa/server/src/modules/paypal/payment-provider/service.js +14 -66
  22. package/.medusa/server/src/modules/paypal/payment-provider/service.js.map +1 -1
  23. package/.medusa/server/src/modules/paypal/service.d.ts +1 -1
  24. package/.medusa/server/src/modules/paypal/service.d.ts.map +1 -1
  25. package/.medusa/server/src/modules/paypal/service.js +41 -22
  26. package/.medusa/server/src/modules/paypal/service.js.map +1 -1
  27. package/.medusa/server/src/modules/paypal/utils/amounts.d.ts +1 -1
  28. package/.medusa/server/src/modules/paypal/utils/amounts.d.ts.map +1 -1
  29. package/.medusa/server/src/modules/paypal/utils/amounts.js +17 -6
  30. package/.medusa/server/src/modules/paypal/utils/amounts.js.map +1 -1
  31. package/.medusa/server/src/modules/paypal/utils/credential-resolver.d.ts +42 -0
  32. package/.medusa/server/src/modules/paypal/utils/credential-resolver.d.ts.map +1 -0
  33. package/.medusa/server/src/modules/paypal/utils/credential-resolver.js +186 -0
  34. package/.medusa/server/src/modules/paypal/utils/credential-resolver.js.map +1 -0
  35. package/.medusa/server/src/modules/paypal/utils/payment-session.d.ts.map +1 -1
  36. package/.medusa/server/src/modules/paypal/utils/payment-session.js +7 -1
  37. package/.medusa/server/src/modules/paypal/utils/payment-session.js.map +1 -1
  38. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.d.ts +3 -11
  39. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.d.ts.map +1 -1
  40. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.js +119 -18
  41. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.js.map +1 -1
  42. package/.medusa/server/src/modules/paypal/utils/secret-crypto.d.ts.map +1 -1
  43. package/.medusa/server/src/modules/paypal/utils/secret-crypto.js +6 -0
  44. package/.medusa/server/src/modules/paypal/utils/secret-crypto.js.map +1 -1
  45. package/.medusa/server/src/modules/paypal/webhook-processor.d.ts.map +1 -1
  46. package/.medusa/server/src/modules/paypal/webhook-processor.js +10 -9
  47. package/.medusa/server/src/modules/paypal/webhook-processor.js.map +1 -1
  48. package/package.json +15 -8
  49. package/src/admin/routes/settings/paypal/connection/page.tsx +6 -4
  50. package/src/api/admin/paypal/onboarding-link/route.ts +30 -5
  51. package/src/api/store/paypal/capture-order/route.ts +4 -2
  52. package/src/api/store/paypal/webhook/route.ts +1 -1
  53. package/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.ts +15 -0
  54. package/src/modules/paypal/payment-provider/card-service.ts +9 -40
  55. package/src/modules/paypal/payment-provider/service.ts +18 -68
  56. package/src/modules/paypal/service.ts +43 -23
  57. package/src/modules/paypal/utils/amounts.ts +17 -6
  58. package/src/modules/paypal/utils/credential-resolver.ts +257 -0
  59. package/src/modules/paypal/utils/payment-session.ts +11 -2
  60. package/src/modules/paypal/utils/paypal-fetch.ts +139 -17
  61. package/src/modules/paypal/utils/secret-crypto.ts +5 -0
  62. package/src/modules/paypal/webhook-processor.ts +15 -10
  63. package/.medusa/server/src/admin/index.d.ts +0 -2
  64. package/.medusa/server/src/admin/index.d.ts.map +0 -1
  65. package/.medusa/server/src/admin/index.js.map +0 -1
  66. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.d.ts +0 -8
  67. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.d.ts.map +0 -1
  68. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.js +0 -8
  69. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.js.map +0 -1
  70. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.d.ts +0 -8
  71. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.d.ts.map +0 -1
  72. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.js +0 -8
  73. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.js.map +0 -1
  74. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.d.ts +0 -2
  75. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.d.ts.map +0 -1
  76. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.js +0 -25
  77. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.js.map +0 -1
  78. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.d.ts +0 -12
  79. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.d.ts.map +0 -1
  80. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.js +0 -22
  81. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.js.map +0 -1
  82. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.d.ts +0 -7
  83. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.d.ts.map +0 -1
  84. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.js +0 -40
  85. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.js.map +0 -1
  86. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.d.ts +0 -2
  87. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.d.ts.map +0 -1
  88. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.js +0 -76
  89. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.js.map +0 -1
  90. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.d.ts +0 -2
  91. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.d.ts.map +0 -1
  92. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.js +0 -81
  93. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.js.map +0 -1
  94. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.d.ts +0 -2
  95. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.d.ts.map +0 -1
  96. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.js +0 -9
  97. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.js.map +0 -1
  98. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.d.ts +0 -22
  99. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.d.ts.map +0 -1
  100. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js +0 -595
  101. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js.map +0 -1
  102. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.d.ts +0 -2
  103. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.d.ts.map +0 -1
  104. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.js +0 -9
  105. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.js.map +0 -1
  106. package/.medusa/server/src/admin/routes/settings/paypal/page.d.ts +0 -4
  107. package/.medusa/server/src/admin/routes/settings/paypal/page.d.ts.map +0 -1
  108. package/.medusa/server/src/admin/routes/settings/paypal/page.js +0 -14
  109. package/.medusa/server/src/admin/routes/settings/paypal/page.js.map +0 -1
  110. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.d.ts +0 -2
  111. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.d.ts.map +0 -1
  112. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.js +0 -9
  113. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.js.map +0 -1
  114. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.d.ts +0 -2
  115. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.d.ts.map +0 -1
  116. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.js +0 -109
  117. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.js.map +0 -1
@@ -52,11 +52,17 @@ function toAmountNumber(amount) {
52
52
  return 0;
53
53
  }
54
54
  if (typeof amount === "number") {
55
- return Number.isFinite(amount) ? amount : 0;
55
+ if (!Number.isFinite(amount)) {
56
+ throw new Error(`Invalid payment amount: non-finite number (${amount})`);
57
+ }
58
+ return amount;
56
59
  }
57
60
  if (typeof amount === "string") {
58
61
  const parsed = Number(amount);
59
- return Number.isFinite(parsed) ? parsed : 0;
62
+ if (!Number.isFinite(parsed)) {
63
+ throw new Error(`Invalid payment amount: unparseable string "${amount}"`);
64
+ }
65
+ return parsed;
60
66
  }
61
67
  if (typeof amount === "object") {
62
68
  const obj = amount;
@@ -67,11 +73,13 @@ function toAmountNumber(amount) {
67
73
  // Serialized raw form: { value: "20", precision: 20 }.
68
74
  if (obj.value !== undefined && obj.value !== null) {
69
75
  const parsed = Number(obj.value);
70
- return Number.isFinite(parsed) ? parsed : 0;
76
+ if (!Number.isFinite(parsed)) {
77
+ throw new Error(`Invalid payment amount: unparseable BigNumber value "${obj.value}"`);
78
+ }
79
+ return parsed;
71
80
  }
72
81
  }
73
- const fallback = Number(amount);
74
- return Number.isFinite(fallback) ? fallback : 0;
82
+ throw new Error(`Invalid payment amount: unrecognized type (${typeof amount})`);
75
83
  }
76
84
  /**
77
85
  * Format a Medusa amount for the PayPal REST API.
@@ -82,7 +90,10 @@ function toAmountNumber(amount) {
82
90
  * for the currency — it must NOT divide/convert to minor units.
83
91
  */
84
92
  function formatAmountForPayPal(amount, currencyCode) {
93
+ if (!Number.isFinite(amount)) {
94
+ throw new Error(`Invalid payment amount for PayPal formatting: ${amount}`);
95
+ }
85
96
  const exponent = getCurrencyExponent(currencyCode);
86
- return Number(amount || 0).toFixed(exponent);
97
+ return amount.toFixed(exponent);
87
98
  }
88
99
  //# sourceMappingURL=amounts.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/amounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ type Environment = "sandbox" | "live";
2
+ interface ActiveCredentials {
3
+ environment: Environment;
4
+ client_id: string;
5
+ client_secret: string;
6
+ }
7
+ interface AccessTokenResult {
8
+ accessToken: string;
9
+ base: string;
10
+ }
11
+ export interface ResolvedSettings {
12
+ additionalSettings: Record<string, unknown>;
13
+ advancedCardSettings: Record<string, unknown>;
14
+ apiDetails: Record<string, unknown>;
15
+ }
16
+ /**
17
+ * Self-contained credential and token management for PayPal payment providers.
18
+ *
19
+ * Payment providers in Medusa v2 run inside the payment module's scoped
20
+ * container, which is isolated from the application container where the
21
+ * PayPal module service lives. This resolver bypasses the container boundary
22
+ * entirely by reading credentials directly from the database via pgConnection
23
+ * (knex), which Medusa injects into every module container.
24
+ *
25
+ * Same source of truth (paypal_connection / paypal_settings tables), zero
26
+ * cross-container dependencies.
27
+ */
28
+ export declare class PayPalCredentialResolver {
29
+ private db;
30
+ private tokenRefreshPromise;
31
+ constructor(pgConnection: any);
32
+ private getConnectionRow;
33
+ private getEnvCreds;
34
+ getActiveCredentials(): Promise<ActiveCredentials>;
35
+ getAccessToken(): Promise<AccessTokenResult>;
36
+ private refreshAccessToken;
37
+ getSettings(): Promise<ResolvedSettings>;
38
+ recordAuditEvent(eventType: string, metadata?: Record<string, unknown>): Promise<void>;
39
+ recordMetric(name: string, metadata?: Record<string, unknown>): Promise<void>;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=credential-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-resolver.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/credential-resolver.ts"],"names":[],"mappings":"AAMA,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAErC,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,mBAAmB,CAA+B;gBAE9C,YAAY,EAAE,GAAG;YAIf,gBAAgB;IAS9B,OAAO,CAAC,WAAW;IAab,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAyBlD,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;YAiCpC,kBAAkB;IAsD1B,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA2BxC,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAgB9B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAgCpE"}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayPalCredentialResolver = void 0;
4
+ const paypal_fetch_1 = require("./paypal-fetch");
5
+ const secret_crypto_1 = require("./secret-crypto");
6
+ const BN_CODE = "MBJTechnolabs_SI_SPB";
7
+ const TOKEN_MARGIN_MS = 2 * 60 * 1000;
8
+ /**
9
+ * Self-contained credential and token management for PayPal payment providers.
10
+ *
11
+ * Payment providers in Medusa v2 run inside the payment module's scoped
12
+ * container, which is isolated from the application container where the
13
+ * PayPal module service lives. This resolver bypasses the container boundary
14
+ * entirely by reading credentials directly from the database via pgConnection
15
+ * (knex), which Medusa injects into every module container.
16
+ *
17
+ * Same source of truth (paypal_connection / paypal_settings tables), zero
18
+ * cross-container dependencies.
19
+ */
20
+ class PayPalCredentialResolver {
21
+ db;
22
+ tokenRefreshPromise = null;
23
+ constructor(pgConnection) {
24
+ this.db = pgConnection;
25
+ }
26
+ async getConnectionRow() {
27
+ const rows = await this.db("paypal_connection")
28
+ .select("*")
29
+ .orderBy("created_at", "desc")
30
+ .limit(1);
31
+ return rows?.[0] ?? null;
32
+ }
33
+ getEnvCreds(row, env) {
34
+ const meta = (row?.metadata || {});
35
+ const creds = meta?.credentials?.[env] || {};
36
+ return {
37
+ clientId: creds.client_id || creds.clientId || undefined,
38
+ clientSecret: (0, secret_crypto_1.decryptSecret)(creds.client_secret || creds.clientSecret) || undefined,
39
+ };
40
+ }
41
+ async getActiveCredentials() {
42
+ const row = await this.getConnectionRow();
43
+ if (!row) {
44
+ throw new Error("PayPal connection not found. Please complete onboarding in the admin panel.");
45
+ }
46
+ const env = row.environment === "sandbox" ? "sandbox" : "live";
47
+ const c = this.getEnvCreds(row, env);
48
+ if (!c.clientId || !c.clientSecret) {
49
+ throw new Error(`PayPal credentials missing for environment "${env}". Please save credentials in the admin panel.`);
50
+ }
51
+ return {
52
+ environment: env,
53
+ client_id: c.clientId,
54
+ client_secret: c.clientSecret,
55
+ };
56
+ }
57
+ async getAccessToken() {
58
+ const creds = await this.getActiveCredentials();
59
+ const base = creds.environment === "live"
60
+ ? "https://api-m.paypal.com"
61
+ : "https://api-m.sandbox.paypal.com";
62
+ const row = await this.getConnectionRow();
63
+ if (row?.app_access_token && row.app_access_token_expires_at) {
64
+ const expiresAt = new Date(row.app_access_token_expires_at);
65
+ if (expiresAt.getTime() - Date.now() > TOKEN_MARGIN_MS) {
66
+ return {
67
+ accessToken: (0, secret_crypto_1.decryptSecret)(row.app_access_token),
68
+ base,
69
+ };
70
+ }
71
+ }
72
+ if (this.tokenRefreshPromise) {
73
+ const accessToken = await this.tokenRefreshPromise;
74
+ return { accessToken, base };
75
+ }
76
+ this.tokenRefreshPromise = this.refreshAccessToken(row, creds).finally(() => {
77
+ this.tokenRefreshPromise = null;
78
+ });
79
+ const accessToken = await this.tokenRefreshPromise;
80
+ return { accessToken, base };
81
+ }
82
+ async refreshAccessToken(row, creds) {
83
+ const base = creds.environment === "live"
84
+ ? "https://api-m.paypal.com"
85
+ : "https://api-m.sandbox.paypal.com";
86
+ const basic = Buffer.from(`${creds.client_id}:${creds.client_secret}`).toString("base64");
87
+ const body = new URLSearchParams();
88
+ body.set("grant_type", "client_credentials");
89
+ const res = await (0, paypal_fetch_1.paypalFetch)(`${base}/v1/oauth2/token`, {
90
+ method: "POST",
91
+ headers: {
92
+ "Content-Type": "application/x-www-form-urlencoded",
93
+ Authorization: `Basic ${basic}`,
94
+ "PayPal-Partner-Attribution-Id": BN_CODE,
95
+ },
96
+ body,
97
+ signal: AbortSignal.timeout(30_000),
98
+ });
99
+ const json = await res.json().catch(() => ({}));
100
+ if (!res.ok) {
101
+ throw new Error(`PayPal client_credentials failed (${res.status}): ${JSON.stringify(json)}`);
102
+ }
103
+ const accessToken = String(json.access_token || "");
104
+ if (!accessToken) {
105
+ throw new Error("PayPal client_credentials succeeded but access_token is missing.");
106
+ }
107
+ const expiresIn = Number(json.expires_in || 3600);
108
+ const newExpiresAt = new Date(Date.now() + expiresIn * 1000);
109
+ if (row?.id) {
110
+ await this.db("paypal_connection").where("id", row.id).update({
111
+ app_access_token: (0, secret_crypto_1.encryptSecret)(accessToken),
112
+ app_access_token_expires_at: newExpiresAt,
113
+ updated_at: new Date(),
114
+ });
115
+ }
116
+ return accessToken;
117
+ }
118
+ async getSettings() {
119
+ try {
120
+ const rows = await this.db("paypal_settings")
121
+ .select("data")
122
+ .limit(1);
123
+ const data = (rows?.[0]?.data || {});
124
+ return {
125
+ additionalSettings: (data.additional_settings || {}),
126
+ advancedCardSettings: (data.advanced_card_payments || {}),
127
+ apiDetails: (data.api_details || {}),
128
+ };
129
+ }
130
+ catch {
131
+ return {
132
+ additionalSettings: {},
133
+ advancedCardSettings: {},
134
+ apiDetails: {},
135
+ };
136
+ }
137
+ }
138
+ async recordAuditEvent(eventType, metadata) {
139
+ try {
140
+ console.info(JSON.stringify({
141
+ log: "paypal_audit",
142
+ event_type: eventType,
143
+ at: new Date().toISOString(),
144
+ ...(metadata ? { metadata } : {}),
145
+ }));
146
+ }
147
+ catch {
148
+ // audit logging must never break the payment flow
149
+ }
150
+ }
151
+ async recordMetric(name, metadata) {
152
+ try {
153
+ const rows = await this.db("paypal_metric")
154
+ .select("*")
155
+ .where("name", name)
156
+ .limit(1);
157
+ const row = rows?.[0];
158
+ const current = (row?.data || {});
159
+ const next = {
160
+ ...current,
161
+ ...(metadata || {}),
162
+ count: Number(current.count || 0) + 1,
163
+ last_recorded_at: new Date().toISOString(),
164
+ };
165
+ if (row) {
166
+ await this.db("paypal_metric")
167
+ .where("id", row.id)
168
+ .update({ data: JSON.stringify(next), updated_at: new Date() });
169
+ }
170
+ else {
171
+ await this.db("paypal_metric").insert({
172
+ id: `ppmet_${Date.now().toString(36)}${Math.random().toString(36).slice(2, 8)}`,
173
+ name,
174
+ data: JSON.stringify(next),
175
+ created_at: new Date(),
176
+ updated_at: new Date(),
177
+ });
178
+ }
179
+ }
180
+ catch {
181
+ // metrics must never break the payment flow
182
+ }
183
+ }
184
+ }
185
+ exports.PayPalCredentialResolver = PayPalCredentialResolver;
186
+ //# sourceMappingURL=credential-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-resolver.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/credential-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"payment-session.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/payment-session.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAmCnC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GACvC,MAAM,GAAG,IAAI,CAIf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAcf"}
1
+ {"version":3,"file":"payment-session.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/payment-session.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAmCnC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GACvC,MAAM,GAAG,IAAI,CAIf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -72,7 +72,13 @@ async function updatePayPalSessionData(sessionId, extraData, scope) {
72
72
  });
73
73
  }
74
74
  catch (e) {
75
- console.error("[PayPal] updatePayPalSessionData failed:", e?.message);
75
+ const msg = e instanceof Error ? e.message : String(e);
76
+ console.error("[PayPal] updatePayPalSessionData failed:", msg);
77
+ const hasCaptureData = "capture_id" in extraData || "order_id" in extraData;
78
+ if (hasCaptureData) {
79
+ console.error("[PayPal] CRITICAL: Payment data (capture/order) was NOT persisted to session.", { sessionId, keys: Object.keys(extraData) });
80
+ }
81
+ throw e;
76
82
  }
77
83
  }
78
84
  //# sourceMappingURL=payment-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment-session.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/payment-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment-session.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/payment-session.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,8 @@
1
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.
2
+ * Outbound HTTP for PayPal API calls with timeout, circuit breaker, and
3
+ * optional retry for critical payment operations.
8
4
  */
9
5
  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
6
  export declare function paypalFetch(input: string | URL, init?: RequestInit): Promise<Response>;
7
+ export declare function paypalFetchWithRetry(input: string | URL, init?: RequestInit): Promise<Response>;
16
8
  //# sourceMappingURL=paypal-fetch.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"paypal-fetch.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,sBAAsB,QAG/B,CAAA;AAkEJ,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,QAAQ,CAAC,CA0BnB;AA0BD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,QAAQ,CAAC,CAmBnB"}
@@ -1,31 +1,132 @@
1
1
  "use strict";
2
+ /**
3
+ * Outbound HTTP for PayPal API calls with timeout, circuit breaker, and
4
+ * optional retry for critical payment operations.
5
+ */
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
7
  exports.PAYPAL_HTTP_TIMEOUT_MS = void 0;
4
8
  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
- */
9
+ exports.paypalFetchWithRetry = paypalFetchWithRetry;
13
10
  exports.PAYPAL_HTTP_TIMEOUT_MS = (() => {
14
11
  const v = Number(process.env.PAYPAL_HTTP_TIMEOUT_MS);
15
12
  return Number.isFinite(v) && v > 0 ? v : 30_000;
16
13
  })();
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
- */
14
+ // ---------------------------------------------------------------------------
15
+ // Circuit breaker
16
+ // ---------------------------------------------------------------------------
17
+ const CB_FAILURE_THRESHOLD = 5;
18
+ const CB_WINDOW_MS = 30_000;
19
+ const CB_HALF_OPEN_MS = 60_000;
20
+ let cbState = "closed";
21
+ let cbFailures = [];
22
+ let cbOpenedAt = 0;
23
+ let cbHalfOpenProbeInFlight = false;
24
+ function cbRecordSuccess() {
25
+ cbState = "closed";
26
+ cbFailures = [];
27
+ cbHalfOpenProbeInFlight = false;
28
+ }
29
+ function cbRecordFailure() {
30
+ cbHalfOpenProbeInFlight = false;
31
+ const now = Date.now();
32
+ cbFailures = cbFailures.filter((t) => now - t < CB_WINDOW_MS);
33
+ cbFailures.push(now);
34
+ if (cbFailures.length >= CB_FAILURE_THRESHOLD) {
35
+ cbState = "open";
36
+ cbOpenedAt = now;
37
+ console.warn(`[PayPal] circuit breaker OPEN after ${CB_FAILURE_THRESHOLD} failures in ${CB_WINDOW_MS / 1000}s`);
38
+ }
39
+ }
40
+ function cbAllowRequest() {
41
+ if (cbState === "closed")
42
+ return true;
43
+ if (cbState === "open") {
44
+ if (Date.now() - cbOpenedAt >= CB_HALF_OPEN_MS) {
45
+ cbState = "half-open";
46
+ cbHalfOpenProbeInFlight = true;
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+ // half-open: allow only one probe at a time
52
+ if (cbHalfOpenProbeInFlight)
53
+ return false;
54
+ cbHalfOpenProbeInFlight = true;
55
+ return true;
56
+ }
57
+ class CircuitOpenError extends Error {
58
+ constructor() {
59
+ super("PayPal circuit breaker is open — API calls are temporarily blocked after repeated failures. Will retry automatically.");
60
+ this.name = "CircuitOpenError";
61
+ }
62
+ }
63
+ // ---------------------------------------------------------------------------
64
+ // Core fetch with timeout + circuit breaker
65
+ // ---------------------------------------------------------------------------
22
66
  function paypalFetch(input, init = {}) {
23
- if (init.signal) {
24
- return fetch(input, init);
67
+ if (!cbAllowRequest()) {
68
+ return Promise.reject(new CircuitOpenError());
25
69
  }
26
- return fetch(input, {
27
- ...init,
28
- signal: AbortSignal.timeout(exports.PAYPAL_HTTP_TIMEOUT_MS),
70
+ const fetchPromise = init.signal
71
+ ? fetch(input, init)
72
+ : fetch(input, {
73
+ ...init,
74
+ signal: AbortSignal.timeout(exports.PAYPAL_HTTP_TIMEOUT_MS),
75
+ });
76
+ return fetchPromise.then((res) => {
77
+ if (res.status >= 500) {
78
+ cbRecordFailure();
79
+ }
80
+ else {
81
+ cbRecordSuccess();
82
+ }
83
+ return res;
84
+ }, (err) => {
85
+ cbRecordFailure();
86
+ throw err;
29
87
  });
30
88
  }
89
+ // ---------------------------------------------------------------------------
90
+ // Retry wrapper for critical payment operations (capture, refund)
91
+ // ---------------------------------------------------------------------------
92
+ const MAX_RETRIES = 2;
93
+ const BASE_DELAY_MS = 500;
94
+ function jitteredDelay(attempt) {
95
+ const base = BASE_DELAY_MS * Math.pow(2, attempt);
96
+ return base + Math.random() * base;
97
+ }
98
+ function isRetryable(err) {
99
+ if (err instanceof CircuitOpenError)
100
+ return true;
101
+ if (err instanceof Error) {
102
+ if (err.name === "TimeoutError" || err.name === "AbortError")
103
+ return true;
104
+ }
105
+ return false;
106
+ }
107
+ function isRetryableStatus(status) {
108
+ return status >= 500 || status === 429;
109
+ }
110
+ async function paypalFetchWithRetry(input, init = {}) {
111
+ let lastError;
112
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
113
+ try {
114
+ const res = await paypalFetch(input, init);
115
+ if (isRetryableStatus(res.status) && attempt < MAX_RETRIES) {
116
+ const delay = jitteredDelay(attempt);
117
+ await new Promise((r) => setTimeout(r, delay));
118
+ continue;
119
+ }
120
+ return res;
121
+ }
122
+ catch (err) {
123
+ lastError = err;
124
+ if (!isRetryable(err) || attempt >= MAX_RETRIES)
125
+ throw err;
126
+ const delay = jitteredDelay(attempt);
127
+ await new Promise((r) => setTimeout(r, delay));
128
+ }
129
+ }
130
+ throw lastError;
131
+ }
31
132
  //# sourceMappingURL=paypal-fetch.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"paypal-fetch.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/paypal-fetch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secret-crypto.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/secret-crypto.ts"],"names":[],"mappings":"AAuFA,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAevF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CA+BvF"}
1
+ {"version":3,"file":"secret-crypto.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/secret-crypto.ts"],"names":[],"mappings":"AA4FA,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAevF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CA+BvF"}
@@ -39,6 +39,7 @@ const SALT_LEN = 16;
39
39
  let cachedRaw;
40
40
  let cachedRawKey = null;
41
41
  let legacyV1Key = null;
42
+ const V2_KEY_CACHE_MAX = 100;
42
43
  const v2KeyCache = new Map();
43
44
  /**
44
45
  * `@types/node` 22.0-22.6 typed `Buffer` as `Buffer<ArrayBufferLike>`, which is
@@ -70,6 +71,11 @@ function deriveV2Key(raw, salt) {
70
71
  r: SCRYPT_R,
71
72
  p: SCRYPT_P,
72
73
  });
74
+ if (v2KeyCache.size >= V2_KEY_CACHE_MAX) {
75
+ const oldest = v2KeyCache.keys().next().value;
76
+ if (oldest !== undefined)
77
+ v2KeyCache.delete(oldest);
78
+ }
73
79
  v2KeyCache.set(cacheKey, key);
74
80
  }
75
81
  return key;
@@ -1 +1 @@
1
- {"version":3,"file":"secret-crypto.js","sourceRoot":"","sources":["../../../../../../src/modules/paypal/utils/secret-crypto.ts"],"names":[],"mappings":"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"}
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,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"}
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,CA8GxB"}