@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":"webhook-processor.js","sourceRoot":"","sources":["../../../../../src/modules/paypal/webhook-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook-processor.js","sourceRoot":"","sources":["../../../../../src/modules/paypal/webhook-processor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"paypal-order-invoice.d.ts","sourceRoot":"","sources":["../../../../src/subscribers/paypal-order-invoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAO3E,wBAA8B,yBAAyB,CAAC,EACtD,KAAK,EACL,SAAS,GACV,EAAE,cAAc,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,iBA4JhC;AAED,eAAO,MAAM,MAAM,EAAE,gBAEpB,CAAA"}
1
+ {"version":3,"file":"paypal-order-invoice.d.ts","sourceRoot":"","sources":["../../../../src/subscribers/paypal-order-invoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAQ3E,wBAA8B,yBAAyB,CAAC,EACtD,KAAK,EACL,SAAS,GACV,EAAE,cAAc,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,iBA6JhC;AAED,eAAO,MAAM,MAAM,EAAE,gBAEpB,CAAA"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.config = void 0;
4
4
  exports.default = paypalOrderInvoiceHandler;
5
5
  const paypal_auth_1 = require("../modules/paypal/utils/paypal-auth");
6
+ const paypal_fetch_1 = require("../modules/paypal/utils/paypal-fetch");
6
7
  const provider_ids_1 = require("../modules/paypal/utils/provider-ids");
7
8
  const PATCHABLE_STATUSES = new Set(["CREATED", "APPROVED", "SAVED"]);
8
9
  async function paypalOrderInvoiceHandler({ event, container, }) {
@@ -56,11 +57,12 @@ async function paypalOrderInvoiceHandler({ event, container, }) {
56
57
  if (!invoiceId)
57
58
  return;
58
59
  const creds = await paypal.getActiveCredentials();
59
- const { accessToken, base } = await (0, paypal_auth_1.getPayPalAccessToken)(creds);
60
+ const base = (0, paypal_auth_1.getPayPalApiBase)(creds.environment);
61
+ const accessToken = await paypal.getAppAccessToken();
60
62
  let paypalOrderStatus = "";
61
63
  let currentInvoiceId = "";
62
64
  try {
63
- const statusResp = await fetch(`${base}/v2/checkout/orders/${encodeURIComponent(paypalOrderId)}`, { headers: { Authorization: `Bearer ${accessToken}` } });
65
+ const statusResp = await (0, paypal_fetch_1.paypalFetch)(`${base}/v2/checkout/orders/${encodeURIComponent(paypalOrderId)}`, { headers: { Authorization: `Bearer ${accessToken}` } });
64
66
  if (statusResp.ok) {
65
67
  const currentOrder = await statusResp.json().catch(() => ({}));
66
68
  paypalOrderStatus = String(currentOrder?.status || "").toUpperCase();
@@ -86,7 +88,7 @@ async function paypalOrderInvoiceHandler({ event, container, }) {
86
88
  console.info(`[PayPal] invoice_id already "${invoiceId}" — skipping PATCH`);
87
89
  return;
88
90
  }
89
- const patchResp = await fetch(`${base}/v2/checkout/orders/${encodeURIComponent(paypalOrderId)}`, {
91
+ const patchResp = await (0, paypal_fetch_1.paypalFetch)(`${base}/v2/checkout/orders/${encodeURIComponent(paypalOrderId)}`, {
90
92
  method: "PATCH",
91
93
  headers: {
92
94
  Authorization: `Bearer ${accessToken}`,
@@ -1 +1 @@
1
- {"version":3,"file":"paypal-order-invoice.js","sourceRoot":"","sources":["../../../../src/subscribers/paypal-order-invoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paypal-order-invoice.js","sourceRoot":"","sources":["../../../../src/subscribers/paypal-order-invoice.ts"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -131,6 +131,10 @@ npx medusa db:migrate
131
131
 
132
132
  Credentials are saved automatically. Prefer manual setup? Click **Insert credentials manually** and paste your Client ID and Secret from [developer.paypal.com](https://developer.paypal.com/dashboard/).
133
133
 
134
+ > **🔐 Encrypt secrets at rest (recommended for production).** Set `PAYPAL_ENCRYPTION_KEY` to any strong random string. The seller client secret and PayPal app access token are then stored AES‑256‑GCM‑encrypted in the database; without it they are stored in plaintext (the previous default). Encryption is transparent — existing plaintext credentials keep working and are upgraded to ciphertext the next time they are saved/refreshed.
135
+ >
136
+ > Keep this key safe and backed up: **if it is lost, stored credentials cannot be decrypted** and you must reconnect PayPal. Rotating the key requires re‑saving credentials.
137
+
134
138
  ---
135
139
 
136
140
  ### Step 4 — Enable providers in your region
@@ -167,6 +171,14 @@ See the [storefront integration & testing guide →](https://www.npmjs.com/packa
167
171
 
168
172
  ---
169
173
 
174
+ ## 📊 Observability
175
+
176
+ - **Metrics** — operational counters (e.g. `create_order_success`, `capture_order_failed`, `webhook_success`, `webhook_dead_letter`) are persisted in the `paypal_metric` table.
177
+ - **Audit trail** — security/lifecycle events (credential changes, environment switches, webhook registration, capture/refund failures, alerts) are emitted as structured JSON log lines tagged `"log":"paypal_audit"`. In production, ship stdout to your log aggregator and filter on that tag. Sensitive fields (secrets, tokens) are redacted before logging.
178
+ - **Webhooks** — every received event is recorded in `paypal_webhook_event` with status (`processed` / `failed` / `dead_letter` / `ignored`), attempt count, and last error; failures are retried by the `paypal-webhook-retry` job.
179
+
180
+ ---
181
+
170
182
  ## 📄 License
171
183
 
172
184
  MIT © [Easy Payment](https://www.npmjs.com/package/@easypayment/medusa-payment-paypal)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easypayment/medusa-payment-paypal",
3
- "version": "0.9.14",
3
+ "version": "0.9.16",
4
4
  "description": "PayPal integration for Medusa v2",
5
5
  "author": "EasyPayment Plugins",
6
6
  "license": "MIT",
@@ -36,6 +36,8 @@
36
36
  "scripts": {
37
37
  "build": "medusa plugin:build",
38
38
  "develop": "medusa plugin:develop",
39
+ "test": "vitest run",
40
+ "test:watch": "vitest",
39
41
  "prepublishOnly": "npm run build"
40
42
  },
41
43
  "devDependencies": {
@@ -47,7 +49,8 @@
47
49
  "@medusajs/ui": "^4.0.0",
48
50
  "@medusajs/icons": "2.12.5",
49
51
  "@swc/core": "^1.5.7",
50
- "typescript": "^5.6.2"
52
+ "typescript": "^5.6.2",
53
+ "vitest": "^2.0.5"
51
54
  },
52
55
  "peerDependencies": {
53
56
  "@medusajs/admin-sdk": "^2.12.0",
@@ -89,7 +89,7 @@ export default function PayPalConnectionPage() {
89
89
  const [onboardingInProgress, setOnboardingInProgress] = useState(false)
90
90
 
91
91
  const initLoaderRef = useRef<HTMLDivElement>(null)
92
- const paypalButtonRef = useRef<HTMLAnchorElement>(null)
92
+ const paypalButtonRef = useRef<HTMLAnchorElement | null>(null)
93
93
  const errorLogRef = useRef<HTMLDivElement>(null)
94
94
  const runIdRef = useRef(0)
95
95
  const currentRunId = useRef(0)
@@ -1,9 +1,10 @@
1
1
  import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http"
2
- import type { IPaymentModuleService } from "@medusajs/framework/types"
3
- import { Modules } from "@medusajs/framework/utils"
2
+ import type { IPaymentModuleService, Logger } from "@medusajs/framework/types"
3
+ import { ContainerRegistrationKeys, Modules } from "@medusajs/framework/utils"
4
4
  import { randomUUID } from "crypto"
5
5
  import type PayPalModuleService from "../../../../modules/paypal/service"
6
- import { getPayPalAccessToken } from "../../../../modules/paypal/utils/paypal-auth"
6
+ import { getPayPalApiBase } from "../../../../modules/paypal/utils/paypal-auth"
7
+ import { paypalFetch } from "../../../../modules/paypal/utils/paypal-fetch"
7
8
  import { isPayPalProviderId } from "../../../../modules/paypal/utils/provider-ids"
8
9
 
9
10
  const BN_CODE = "MBJTechnolabs_SI_SPB"
@@ -174,6 +175,8 @@ async function getExistingCapture(cartId: string, orderId: string, scope: any) {
174
175
 
175
176
  export async function POST(req: MedusaRequest, res: MedusaResponse) {
176
177
  const paypal = req.scope.resolve<PayPalModuleService>("paypal_onboarding")
178
+ const logger = req.scope.resolve<Logger>(ContainerRegistrationKeys.LOGGER)
179
+ const requestId = randomUUID()
177
180
  const { scope } = req
178
181
  let debugId: string | null = null
179
182
 
@@ -194,17 +197,24 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
194
197
  return res.status(400).json({ message: "Invalid order_id format" })
195
198
  }
196
199
 
200
+ // Bind the capture to the cart's own PayPal session, fail-closed: the
201
+ // order_id MUST be the one this cart's session created (stored by
202
+ // create-order). This prevents capturing an arbitrary, caller-supplied
203
+ // order_id against the merchant account.
197
204
  const session = await findPayPalSessionForCart(cartId, scope)
198
- if (session) {
199
- const sessionOrderId = String(
200
- (session.session_data?.paypal as Record<string, unknown>)?.order_id ||
201
- session.session_data?.order_id || ""
202
- )
203
- if (sessionOrderId && sessionOrderId !== orderId) {
204
- return res.status(400).json({
205
- message: "order_id does not match the payment session for this cart",
206
- })
207
- }
205
+ const sessionOrderId = String(
206
+ (session?.session_data?.paypal as Record<string, unknown>)?.order_id ||
207
+ session?.session_data?.order_id || ""
208
+ )
209
+ if (!session || !sessionOrderId) {
210
+ return res.status(409).json({
211
+ message: "No PayPal order is associated with this cart's payment session",
212
+ })
213
+ }
214
+ if (sessionOrderId !== orderId) {
215
+ return res.status(400).json({
216
+ message: "order_id does not match the payment session for this cart",
217
+ })
208
218
  }
209
219
 
210
220
  const existingCapture = await getExistingCapture(cartId, orderId, scope)
@@ -213,7 +223,10 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
213
223
  }
214
224
 
215
225
  const creds = await paypal.getActiveCredentials()
216
- const { accessToken, base } = await getPayPalAccessToken(creds)
226
+ // Cached app access token (single-flight refresh) — avoids an OAuth
227
+ // round-trip on every capture-order call.
228
+ const base = getPayPalApiBase(creds.environment)
229
+ const accessToken = await paypal.getAppAccessToken()
217
230
  const settings = await paypal.getSettings().catch(() => ({}))
218
231
  const data =
219
232
  settings && typeof settings === "object" && "data" in settings
@@ -232,7 +245,7 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
232
245
  ? `${base}/v2/checkout/orders/${safeOrderId}/authorize`
233
246
  : `${base}/v2/checkout/orders/${safeOrderId}/capture`
234
247
 
235
- const ppResp = await fetch(endpoint, {
248
+ const ppResp = await paypalFetch(endpoint, {
236
249
  method: "POST",
237
250
  headers: {
238
251
  Authorization: `Bearer ${accessToken}`,
@@ -269,17 +282,26 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
269
282
  ? res.json({ authorization: payload })
270
283
  : res.json({ capture: payload })
271
284
  } catch (e: any) {
285
+ const body = (req.body || {}) as Body
286
+ logger.error(
287
+ `[paypal] capture-order failed (request_id=${requestId}, cart_id=${
288
+ body.cart_id ?? "n/a"
289
+ }, order_id=${body.order_id ?? "n/a"}, debug_id=${debugId ?? "n/a"}): ${
290
+ e?.message ?? String(e)
291
+ }`,
292
+ e instanceof Error ? e : undefined
293
+ )
272
294
  try {
273
- const body = (req.body || {}) as Body
274
295
  await paypal.recordAuditEvent("capture_order_failed", {
275
296
  cart_id: body.cart_id,
276
297
  order_id: body.order_id,
277
298
  debug_id: debugId,
299
+ request_id: requestId,
278
300
  message: e?.message || String(e),
279
301
  })
280
302
  await paypal.recordMetric("capture_order_failed")
281
303
  } catch {
282
304
  }
283
- return res.status(500).json({ message: "Failed to capture PayPal order" })
305
+ return res.status(500).json({ message: "Failed to capture PayPal order", request_id: requestId })
284
306
  }
285
307
  }
@@ -1,11 +1,14 @@
1
1
  import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http"
2
+ import type { Logger } from "@medusajs/framework/types"
3
+ import { ContainerRegistrationKeys } from "@medusajs/framework/utils"
2
4
  import { randomUUID } from "crypto"
3
5
  import { getCurrencyExponent } from "../../../../modules/paypal/utils/amounts"
4
6
  import {
5
7
  assertPayPalCurrencySupported,
6
8
  normalizeCurrencyCode,
7
9
  } from "../../../../modules/paypal/utils/currencies"
8
- import { getPayPalAccessToken } from "../../../../modules/paypal/utils/paypal-auth"
10
+ import { getPayPalApiBase } from "../../../../modules/paypal/utils/paypal-auth"
11
+ import { paypalFetch } from "../../../../modules/paypal/utils/paypal-fetch"
9
12
  import type PayPalModuleService from "../../../../modules/paypal/service"
10
13
  import { isPayPalProviderId } from "../../../../modules/paypal/utils/provider-ids"
11
14
 
@@ -104,6 +107,8 @@ function resolveCancelUrl(req: MedusaRequest) {
104
107
 
105
108
  export async function POST(req: MedusaRequest, res: MedusaResponse) {
106
109
  const paypal = req.scope.resolve<PayPalModuleService>("paypal_onboarding")
110
+ const logger = req.scope.resolve<Logger>(ContainerRegistrationKeys.LOGGER)
111
+ const requestId = randomUUID()
107
112
  let debugId: string | null = null
108
113
 
109
114
  try {
@@ -296,87 +301,113 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
296
301
 
297
302
  const finalPurchaseItems = purchaseItemsRaw.map((item: any) => item.paypalItem)
298
303
 
299
- const adjustedItemTotal = sendItemDetails && finalPurchaseItems.length > 0
300
- ? roundedItemSumFixed
301
- : subtotalMajor
304
+ // Reconcile rounding drift so the items we send sum to the cart subtotal.
305
+ if (finalPurchaseItems.length > 0) {
306
+ const diff = parseFloat((subtotalMajor - roundedItemSumFixed).toFixed(exponent))
307
+ if (Math.abs(diff) > 0.000001) {
308
+ finalPurchaseItems.push({
309
+ name: "Line Item Amount Offset",
310
+ quantity: "1",
311
+ unit_amount: {
312
+ currency_code: currency,
313
+ value: diff.toFixed(exponent),
314
+ },
315
+ })
316
+ }
317
+ }
302
318
 
303
- const diff = parseFloat((subtotalMajor - roundedItemSumFixed).toFixed(exponent))
319
+ // Only send line items (and an item_total) when we actually have them.
320
+ const sendItems = finalPurchaseItems.length > 0
321
+
322
+ // item_total MUST equal the exact sum of (unit_amount * quantity) of the
323
+ // items we send; otherwise PayPal rejects with ITEM_TOTAL_MISMATCH.
324
+ const itemsTotalMajor = sendItems
325
+ ? parseFloat(
326
+ finalPurchaseItems
327
+ .reduce(
328
+ (sum: number, it: any) =>
329
+ sum + Number(it.unit_amount.value) * Number(it.quantity),
330
+ 0
331
+ )
332
+ .toFixed(exponent)
333
+ )
334
+ : 0
304
335
 
305
- if (Math.abs(diff) > 0.000001 && sendItemDetails && finalPurchaseItems.length > 0) {
306
- finalPurchaseItems.push({
307
- name: "Line Item Amount Offset",
308
- quantity: "1",
309
- unit_amount: {
310
- currency_code: currency,
311
- value: diff.toFixed(exponent),
312
- },
313
- })
314
- }
336
+ const discountValue = discountMajor + giftCardMajor
315
337
 
338
+ // Build a breakdown only when we send line items. A breakdown whose
339
+ // item_total has no matching items (or items with no item_total) is
340
+ // rejected by PayPal, so with no items we send just the order total.
316
341
  const breakdown: Record<string, any> = {}
317
- if (adjustedItemTotal > 0) {
318
- breakdown.item_total = {
319
- currency_code: currency,
320
- value: adjustedItemTotal.toFixed(exponent),
321
- }
322
- }
323
- if (shippingMajor > 0) {
324
- breakdown.shipping = {
325
- currency_code: currency,
326
- value: shippingMajor.toFixed(exponent),
327
- }
328
- }
329
- if (taxMajor > 0) {
330
- breakdown.tax_total = {
331
- currency_code: currency,
332
- value: taxMajor.toFixed(exponent),
342
+ if (sendItems) {
343
+ if (itemsTotalMajor > 0) {
344
+ breakdown.item_total = {
345
+ currency_code: currency,
346
+ value: itemsTotalMajor.toFixed(exponent),
347
+ }
333
348
  }
334
- }
335
-
336
- const discountValue = discountMajor + giftCardMajor
337
- if (discountValue > 0 && finalPurchaseItems.length > 0) {
338
- breakdown.discount = {
339
- currency_code: currency,
340
- value: discountValue.toFixed(exponent),
349
+ if (shippingMajor > 0) {
350
+ breakdown.shipping = {
351
+ currency_code: currency,
352
+ value: shippingMajor.toFixed(exponent),
353
+ }
341
354
  }
342
- }
343
-
344
- const breakdownSum = parseFloat(
345
- (adjustedItemTotal + shippingMajor + taxMajor - discountValue).toFixed(exponent)
346
- )
347
-
348
- if (Math.abs(breakdownSum - totalMajor) > 0.000001) {
349
- const gap = parseFloat((totalMajor - breakdownSum).toFixed(exponent))
350
-
351
- if (gap > 0) {
355
+ if (taxMajor > 0) {
352
356
  breakdown.tax_total = {
353
357
  currency_code: currency,
354
- value: parseFloat(
355
- ((Number(breakdown.tax_total?.value || 0) + gap).toFixed(exponent))
356
- ).toFixed(exponent),
358
+ value: taxMajor.toFixed(exponent),
357
359
  }
358
- } else {
359
- breakdown.shipping_discount = {
360
+ }
361
+ if (discountValue > 0) {
362
+ breakdown.discount = {
360
363
  currency_code: currency,
361
- value: Math.abs(gap).toFixed(exponent),
364
+ value: discountValue.toFixed(exponent),
365
+ }
366
+ }
367
+
368
+ const breakdownSum = parseFloat(
369
+ (itemsTotalMajor + shippingMajor + taxMajor - discountValue).toFixed(exponent)
370
+ )
371
+
372
+ if (Math.abs(breakdownSum - totalMajor) > 0.000001) {
373
+ const gap = parseFloat((totalMajor - breakdownSum).toFixed(exponent))
374
+
375
+ if (gap > 0) {
376
+ breakdown.tax_total = {
377
+ currency_code: currency,
378
+ value: parseFloat(
379
+ ((Number(breakdown.tax_total?.value || 0) + gap).toFixed(exponent))
380
+ ).toFixed(exponent),
381
+ }
382
+ } else {
383
+ breakdown.shipping_discount = {
384
+ currency_code: currency,
385
+ value: Math.abs(gap).toFixed(exponent),
386
+ }
362
387
  }
363
388
  }
364
389
  }
365
390
 
366
- const { accessToken, base } = await getPayPalAccessToken({
367
- environment: creds.environment,
368
- client_id: creds.client_id,
369
- client_secret: creds.client_secret,
370
- })
391
+ logger.debug(
392
+ `[paypal] create-order line items (request_id=${requestId}): send_item_details=${sendItemDetails}, cart_items=${lineItems.length}, sent_items=${finalPurchaseItems.length}, items_total=${itemsTotalMajor}, subtotal=${subtotalMajor}, total=${totalMajor}`
393
+ )
394
+
395
+ // Use the module's cached app access token (single-flight refresh, ~9h TTL)
396
+ // instead of minting a fresh OAuth token on every create-order call.
397
+ const base = getPayPalApiBase(creds.environment)
398
+ const accessToken = await paypal.getAppAccessToken()
371
399
 
372
- const requestId = resolveIdempotencyKey(req, "create-order", `pp-create-${cart.id}`)
400
+ // Deterministic-per-cart idempotency key for the PayPal call. Kept distinct
401
+ // from `requestId` (the log/response correlation id declared at the top of
402
+ // POST) so the two never shadow each other.
403
+ const paypalRequestId = resolveIdempotencyKey(req, "create-order", `pp-create-${cart.id}`)
373
404
 
374
- const ppResp = await fetch(`${base}/v2/checkout/orders`, {
405
+ const ppResp = await paypalFetch(`${base}/v2/checkout/orders`, {
375
406
  method: "POST",
376
407
  headers: {
377
408
  Authorization: `Bearer ${accessToken}`,
378
409
  "Content-Type": "application/json",
379
- "PayPal-Request-Id": requestId,
410
+ "PayPal-Request-Id": paypalRequestId,
380
411
  "PayPal-Partner-Attribution-Id": BN_CODE,
381
412
  },
382
413
  body: JSON.stringify({
@@ -384,6 +415,10 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
384
415
  purchase_units: [
385
416
  {
386
417
  reference_id: "default",
418
+ // Set custom_id on the purchase unit (not just the order) so PayPal
419
+ // propagates the cart id onto capture/refund webhook resources,
420
+ // letting webhooks resolve the session directly without a scan.
421
+ custom_id: cart.id,
387
422
  invoice_id: invoiceId,
388
423
  ...(statementName ? { soft_descriptor: statementName.slice(0, 22) } : {}),
389
424
  amount: {
@@ -434,11 +469,18 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
434
469
  }
435
470
  return res.json({ id: order.id })
436
471
  } catch (e: any) {
472
+ const body = (req.body || {}) as Body
473
+ logger.error(
474
+ `[paypal] create-order failed (request_id=${requestId}, cart_id=${
475
+ body.cart_id ?? "n/a"
476
+ }, debug_id=${debugId ?? "n/a"}): ${e?.message ?? String(e)}`,
477
+ e instanceof Error ? e : undefined
478
+ )
437
479
  try {
438
- const body = (req.body || {}) as Body
439
480
  await paypal.recordAuditEvent("create_order_failed", {
440
481
  cart_id: body.cart_id,
441
482
  debug_id: debugId,
483
+ request_id: requestId,
442
484
  message: e?.message || String(e),
443
485
  })
444
486
  await paypal.recordMetric("create_order_failed")
@@ -450,6 +492,6 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
450
492
  rawMessage.includes("PayPal is configured for")
451
493
  const status = isCurrencyError ? 400 : 500
452
494
  const message = isCurrencyError ? rawMessage : "Failed to create PayPal order"
453
- return res.status(status).json({ message })
495
+ return res.status(status).json({ message, request_id: requestId })
454
496
  }
455
497
  }
@@ -1,5 +1,6 @@
1
1
  import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http"
2
2
  import type PayPalModuleService from "../../../../modules/paypal/service"
3
+ import { paypalFetch } from "../../../../modules/paypal/utils/paypal-fetch"
3
4
  import {
4
5
  computeNextRetryAt,
5
6
  isAllowedEventType,
@@ -158,7 +159,7 @@ async function verifyWebhookSignature(
158
159
  throw new Error(`Missing required PayPal webhook headers: ${missing.join(", ")}`)
159
160
  }
160
161
 
161
- const resp = await fetch(`${base}/v1/notifications/verify-webhook-signature`, {
162
+ const resp = await paypalFetch(`${base}/v1/notifications/verify-webhook-signature`, {
162
163
  method: "POST",
163
164
  headers: {
164
165
  Authorization: `Bearer ${accessToken}`,