@easypayment/medusa-paypal 0.4.7 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +7 -7
- package/.medusa/server/src/admin/index.mjs +7 -7
- package/.medusa/server/src/api/store/paypal/create-order/route.d.ts.map +1 -1
- package/.medusa/server/src/api/store/paypal/create-order/route.js +62 -139
- package/.medusa/server/src/api/store/paypal/create-order/route.js.map +1 -1
- package/.medusa/server/src/modules/paypal/migrations/20260115120000_create_paypal_connection.js +22 -22
- package/.medusa/server/src/modules/paypal/migrations/20260123090000_create_paypal_settings.js +11 -11
- package/.medusa/server/src/modules/paypal/migrations/20260201090000_create_paypal_webhook_event.js +18 -18
- package/.medusa/server/src/modules/paypal/migrations/20260401090000_create_paypal_metric.js +16 -16
- package/.medusa/server/src/modules/paypal/migrations/20260701090000_add_paypal_webhook_event_processing.js +20 -20
- package/.medusa/server/src/modules/paypal/migrations/20261101090000_remove_paypal_reconciliation_status.js +14 -14
- package/.medusa/server/src/modules/paypal/migrations/20261201090000_remove_paypal_audit_log.js +15 -15
- package/README.md +142 -142
- package/package.json +75 -75
- package/src/admin/index.ts +7 -7
- package/src/admin/routes/settings/paypal/_components/Tabs.tsx +52 -52
- package/src/admin/routes/settings/paypal/_components/Toast.tsx +51 -51
- package/src/admin/routes/settings/paypal/additional-settings/page.tsx +200 -200
- package/src/admin/routes/settings/paypal/advanced-card-payments/page.tsx +183 -183
- package/src/admin/routes/settings/paypal/apple-pay/page.tsx +5 -5
- package/src/admin/routes/settings/paypal/connection/page.tsx +754 -754
- package/src/admin/routes/settings/paypal/google-pay/page.tsx +5 -5
- package/src/admin/routes/settings/paypal/pay-later-messaging/page.tsx +5 -5
- package/src/admin/routes/settings/paypal/paypal-settings/page.tsx +376 -376
- package/src/api/admin/payment-collections/[id]/payment-sessions/route.ts +24 -24
- package/src/api/admin/paypal/disconnect/route.ts +8 -8
- package/src/api/admin/paypal/environment/route.ts +25 -25
- package/src/api/admin/paypal/onboard-complete/route.ts +44 -44
- package/src/api/admin/paypal/onboarding-link/route.ts +45 -45
- package/src/api/admin/paypal/onboarding-status/route.ts +18 -18
- package/src/api/admin/paypal/rotate-credentials/route.ts +8 -8
- package/src/api/admin/paypal/save-credentials/route.ts +14 -14
- package/src/api/admin/paypal/settings/route.ts +14 -14
- package/src/api/admin/paypal/status/route.ts +12 -12
- package/src/api/store/payment-collections/[id]/payment-sessions/route.ts +65 -65
- package/src/api/store/paypal/capture-order/route.ts +276 -276
- package/src/api/store/paypal/config/route.ts +102 -102
- package/src/api/store/paypal/create-order/route.ts +77 -176
- package/src/api/store/paypal/settings/route.ts +19 -19
- package/src/api/store/paypal/webhook/route.ts +246 -246
- package/src/api/store/paypal-complete/route.ts +75 -75
- package/src/jobs/paypal-reconcile.ts +112 -112
- package/src/jobs/paypal-webhook-retry.ts +85 -85
- package/src/modules/paypal/clients/paypal-seller.client.ts +59 -59
- package/src/modules/paypal/index.ts +8 -8
- package/src/modules/paypal/migrations/20260115120000_create_paypal_connection.ts +33 -33
- package/src/modules/paypal/migrations/20260123090000_create_paypal_settings.ts +22 -22
- package/src/modules/paypal/migrations/20260201090000_create_paypal_webhook_event.ts +29 -29
- package/src/modules/paypal/migrations/20260401090000_create_paypal_metric.ts +27 -27
- package/src/modules/paypal/migrations/20260701090000_add_paypal_webhook_event_processing.ts +31 -31
- package/src/modules/paypal/migrations/20261101090000_remove_paypal_reconciliation_status.ts +25 -25
- package/src/modules/paypal/migrations/20261201090000_remove_paypal_audit_log.ts +26 -26
- package/src/modules/paypal/migrations/20270101090000_set_paypal_environment_default_live.ts +11 -11
- package/src/modules/paypal/models/paypal_connection.ts +21 -21
- package/src/modules/paypal/models/paypal_metric.ts +9 -9
- package/src/modules/paypal/models/paypal_settings.ts +8 -8
- package/src/modules/paypal/models/paypal_webhook_event.ts +19 -19
- package/src/modules/paypal/payment-provider/README.md +22 -22
- package/src/modules/paypal/payment-provider/card-service.ts +760 -760
- package/src/modules/paypal/payment-provider/index.ts +19 -19
- package/src/modules/paypal/payment-provider/service.ts +1121 -1121
- package/src/modules/paypal/payment-provider/webhook-utils.ts +88 -88
- package/src/modules/paypal/service.ts +1247 -1247
- package/src/modules/paypal/types/config.ts +47 -47
- package/src/modules/paypal/utils/amounts.ts +41 -41
- package/src/modules/paypal/utils/crypto.ts +51 -51
- package/src/modules/paypal/utils/currencies.ts +84 -84
- package/src/modules/paypal/utils/paypal-auth.ts +32 -32
- package/src/modules/paypal/utils/provider-ids.ts +15 -15
- package/src/modules/paypal/webhook-processor.ts +215 -215
|
@@ -183,9 +183,6 @@ function AdditionalSettingsTab() {
|
|
|
183
183
|
)
|
|
184
184
|
] }) });
|
|
185
185
|
}
|
|
186
|
-
function PayPalApplePayPage() {
|
|
187
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
188
|
-
}
|
|
189
186
|
async function adminFetch$1(path, opts = {}) {
|
|
190
187
|
var _a;
|
|
191
188
|
const { method = "GET", body, query } = opts;
|
|
@@ -325,6 +322,9 @@ function AdvancedCardPaymentsTab() {
|
|
|
325
322
|
)
|
|
326
323
|
] }) });
|
|
327
324
|
}
|
|
325
|
+
function PayPalApplePayPage() {
|
|
326
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
327
|
+
}
|
|
328
328
|
const config = adminSdk.defineRouteConfig({
|
|
329
329
|
label: "PayPal Connection",
|
|
330
330
|
hide: true
|
|
@@ -1216,14 +1216,14 @@ const routeModule = {
|
|
|
1216
1216
|
Component: AdditionalSettingsTab,
|
|
1217
1217
|
path: "/settings/paypal/additional-settings"
|
|
1218
1218
|
},
|
|
1219
|
-
{
|
|
1220
|
-
Component: PayPalApplePayPage,
|
|
1221
|
-
path: "/settings/paypal/apple-pay"
|
|
1222
|
-
},
|
|
1223
1219
|
{
|
|
1224
1220
|
Component: AdvancedCardPaymentsTab,
|
|
1225
1221
|
path: "/settings/paypal/advanced-card-payments"
|
|
1226
1222
|
},
|
|
1223
|
+
{
|
|
1224
|
+
Component: PayPalApplePayPage,
|
|
1225
|
+
path: "/settings/paypal/apple-pay"
|
|
1226
|
+
},
|
|
1227
1227
|
{
|
|
1228
1228
|
Component: PayPalConnectionPage,
|
|
1229
1229
|
path: "/settings/paypal/connection"
|
|
@@ -182,9 +182,6 @@ function AdditionalSettingsTab() {
|
|
|
182
182
|
)
|
|
183
183
|
] }) });
|
|
184
184
|
}
|
|
185
|
-
function PayPalApplePayPage() {
|
|
186
|
-
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
187
|
-
}
|
|
188
185
|
async function adminFetch$1(path, opts = {}) {
|
|
189
186
|
var _a;
|
|
190
187
|
const { method = "GET", body, query } = opts;
|
|
@@ -324,6 +321,9 @@ function AdvancedCardPaymentsTab() {
|
|
|
324
321
|
)
|
|
325
322
|
] }) });
|
|
326
323
|
}
|
|
324
|
+
function PayPalApplePayPage() {
|
|
325
|
+
return /* @__PURE__ */ jsx(Navigate, { to: "/settings/paypal/connection", replace: true });
|
|
326
|
+
}
|
|
327
327
|
const config = defineRouteConfig({
|
|
328
328
|
label: "PayPal Connection",
|
|
329
329
|
hide: true
|
|
@@ -1215,14 +1215,14 @@ const routeModule = {
|
|
|
1215
1215
|
Component: AdditionalSettingsTab,
|
|
1216
1216
|
path: "/settings/paypal/additional-settings"
|
|
1217
1217
|
},
|
|
1218
|
-
{
|
|
1219
|
-
Component: PayPalApplePayPage,
|
|
1220
|
-
path: "/settings/paypal/apple-pay"
|
|
1221
|
-
},
|
|
1222
1218
|
{
|
|
1223
1219
|
Component: AdvancedCardPaymentsTab,
|
|
1224
1220
|
path: "/settings/paypal/advanced-card-payments"
|
|
1225
1221
|
},
|
|
1222
|
+
{
|
|
1223
|
+
Component: PayPalApplePayPage,
|
|
1224
|
+
path: "/settings/paypal/apple-pay"
|
|
1225
|
+
},
|
|
1226
1226
|
{
|
|
1227
1227
|
Component: PayPalConnectionPage,
|
|
1228
1228
|
path: "/settings/paypal/connection"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/create-order/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/create-order/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAuG7E,wBAAsB,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,2BAsWjE"}
|
|
@@ -79,95 +79,6 @@ function resolveCancelUrl(req) {
|
|
|
79
79
|
}
|
|
80
80
|
return `${configured.replace(/\/$/, "")}/cart`;
|
|
81
81
|
}
|
|
82
|
-
// ---------------------------------------------------------------------------
|
|
83
|
-
// buildPayPalLineItems
|
|
84
|
-
//
|
|
85
|
-
// This function mirrors the WooCommerce PayPal plugin reconciliation logic:
|
|
86
|
-
//
|
|
87
|
-
// 1. Convert each item's line_subtotal from MINOR units (cents) to MAJOR
|
|
88
|
-
// units (euros/dollars) using the currency exponent factor.
|
|
89
|
-
// e.g. 1000 cents ÷ 100 = €10.00
|
|
90
|
-
//
|
|
91
|
-
// 2. Compute unit_amount = line_subtotal_major / quantity (pre-discount
|
|
92
|
-
// price per unit, rounded to currency decimal places).
|
|
93
|
-
//
|
|
94
|
-
// 3. Sum all (unit_amount × quantity) — this is "roundedItemSum".
|
|
95
|
-
//
|
|
96
|
-
// 4. Compare roundedItemSum with subtotalMajor (cart.subtotal in major
|
|
97
|
-
// units, already correct from Medusa). If there is any rounding
|
|
98
|
-
// discrepancy (e.g. ±0.01), insert a single "Line Item Amount Offset"
|
|
99
|
-
// item worth exactly `diff` to absorb it.
|
|
100
|
-
// After this: sum(items) === subtotalMajor exactly.
|
|
101
|
-
//
|
|
102
|
-
// 5. breakdown.item_total is ALWAYS set to subtotalMajor — never modified.
|
|
103
|
-
// The offset item ensures the items array sums to match it.
|
|
104
|
-
//
|
|
105
|
-
// 6. If the final breakdownSum (item_total + shipping + tax - discount)
|
|
106
|
-
// does not match cart.total, absorb the gap via shipping_discount
|
|
107
|
-
// (if gap < 0) or by adding to tax_total (if gap > 0).
|
|
108
|
-
// This guarantees the PayPal order total always matches cart.total exactly.
|
|
109
|
-
// ---------------------------------------------------------------------------
|
|
110
|
-
function buildPayPalLineItems(lineItems, subtotalMajor, currency, exponent, sendItemDetails) {
|
|
111
|
-
if (!sendItemDetails || lineItems.length === 0) {
|
|
112
|
-
return { items: [], adjustedItemTotal: subtotalMajor };
|
|
113
|
-
}
|
|
114
|
-
// factor = 100 for EUR/USD, 1 for JPY, 1000 for KWD, etc.
|
|
115
|
-
const factor = Math.pow(10, exponent);
|
|
116
|
-
// Step 1 & 2: Build raw items with proper unit amounts
|
|
117
|
-
const rawItems = lineItems
|
|
118
|
-
.map((item) => {
|
|
119
|
-
const quantity = Number(item?.quantity || 0);
|
|
120
|
-
if (!quantity || Number.isNaN(quantity))
|
|
121
|
-
return null;
|
|
122
|
-
// item.subtotal is in MINOR units (cents) — must divide by factor
|
|
123
|
-
const lineSubtotalMinor = Number(item?.subtotal ?? Number(item?.unit_price || 0) * quantity);
|
|
124
|
-
const lineSubtotalMajor = lineSubtotalMinor / factor;
|
|
125
|
-
// unit price per item, rounded to currency decimal places
|
|
126
|
-
const unitAmount = parseFloat((lineSubtotalMajor / quantity).toFixed(exponent));
|
|
127
|
-
if (Number.isNaN(unitAmount))
|
|
128
|
-
return null;
|
|
129
|
-
return {
|
|
130
|
-
quantity,
|
|
131
|
-
unitAmount,
|
|
132
|
-
paypalItem: {
|
|
133
|
-
name: String(item?.title || "Item").slice(0, 127),
|
|
134
|
-
quantity: String(quantity),
|
|
135
|
-
unit_amount: {
|
|
136
|
-
currency_code: currency,
|
|
137
|
-
value: unitAmount.toFixed(exponent),
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
};
|
|
141
|
-
})
|
|
142
|
-
.filter(Boolean);
|
|
143
|
-
if (rawItems.length === 0) {
|
|
144
|
-
return { items: [], adjustedItemTotal: subtotalMajor };
|
|
145
|
-
}
|
|
146
|
-
// Step 3: Sum of (unit_amount × quantity) after rounding
|
|
147
|
-
const roundedItemSum = rawItems.reduce((sum, item) => sum + item.unitAmount * item.quantity, 0);
|
|
148
|
-
const roundedItemSumFixed = parseFloat(roundedItemSum.toFixed(exponent));
|
|
149
|
-
// Step 4: Calculate rounding difference
|
|
150
|
-
// diff = how much to add as an offset item so that:
|
|
151
|
-
// roundedItemSumFixed + diff === subtotalMajor
|
|
152
|
-
const diff = parseFloat((subtotalMajor - roundedItemSumFixed).toFixed(exponent));
|
|
153
|
-
const finalItems = rawItems.map((item) => item.paypalItem);
|
|
154
|
-
if (Math.abs(diff) > 0.000001) {
|
|
155
|
-
// Insert a tiny offset item to absorb the rounding gap.
|
|
156
|
-
// After this: sum(finalItems unit_amount × quantity) === subtotalMajor exactly.
|
|
157
|
-
finalItems.push({
|
|
158
|
-
name: "Line Item Amount Offset",
|
|
159
|
-
quantity: "1",
|
|
160
|
-
unit_amount: {
|
|
161
|
-
currency_code: currency,
|
|
162
|
-
value: diff.toFixed(exponent),
|
|
163
|
-
},
|
|
164
|
-
});
|
|
165
|
-
// NOTE: adjustedItemTotal stays as subtotalMajor — do NOT add diff here.
|
|
166
|
-
// The offset item brings the items sum UP to subtotalMajor.
|
|
167
|
-
// Adding diff to adjustedItemTotal would cause a double-count.
|
|
168
|
-
}
|
|
169
|
-
return { items: finalItems, adjustedItemTotal: subtotalMajor };
|
|
170
|
-
}
|
|
171
82
|
async function POST(req, res) {
|
|
172
83
|
const paypal = req.scope.resolve("paypal_onboarding");
|
|
173
84
|
let debugId = null;
|
|
@@ -182,12 +93,9 @@ async function POST(req, res) {
|
|
|
182
93
|
if (existingOrderId) {
|
|
183
94
|
return res.json({ id: existingOrderId });
|
|
184
95
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
// EXCEPT item-level fields (item.unit_price, item.subtotal, item.total)
|
|
189
|
-
// which are in MINOR units (cents). This is the root cause of the bug.
|
|
190
|
-
// -------------------------------------------------------------------------
|
|
96
|
+
/**
|
|
97
|
+
* ✅ Medusa v2 cart retrieval via Query Graph
|
|
98
|
+
*/
|
|
191
99
|
const query = req.scope.resolve("query");
|
|
192
100
|
const { data } = await query.graph({
|
|
193
101
|
entity: "cart",
|
|
@@ -226,9 +134,9 @@ async function POST(req, res) {
|
|
|
226
134
|
? advancedCardSettings.threeDS
|
|
227
135
|
: "when_required";
|
|
228
136
|
const threeDsMethod = isCardPayment
|
|
229
|
-
? threeDsRaw === "always"
|
|
137
|
+
? (threeDsRaw === "always"
|
|
230
138
|
? "SCA_ALWAYS"
|
|
231
|
-
: "SCA_WHEN_REQUIRED"
|
|
139
|
+
: "SCA_WHEN_REQUIRED")
|
|
232
140
|
: null;
|
|
233
141
|
const configuredCurrency = typeof apiDetails.currency_code === "string"
|
|
234
142
|
? (0, currencies_1.normalizeCurrencyCode)(apiDetails.currency_code)
|
|
@@ -239,16 +147,7 @@ async function POST(req, res) {
|
|
|
239
147
|
paypalCurrencyOverride: configuredCurrency,
|
|
240
148
|
});
|
|
241
149
|
const exponent = (0, amounts_1.getCurrencyExponent)(currency);
|
|
242
|
-
// -------------------------------------------------------------------------
|
|
243
|
-
// Cart-level totals — these are already in MAJOR units (euros/dollars)
|
|
244
|
-
// e.g. cart.total = 20 means €20.00
|
|
245
|
-
// -------------------------------------------------------------------------
|
|
246
150
|
const totalMajor = Number(cart.total || 0);
|
|
247
|
-
const subtotalMajor = Number(cart.subtotal || 0);
|
|
248
|
-
const shippingMajor = Number(cart.shipping_total || 0);
|
|
249
|
-
const taxMajor = Number(cart.tax_total || 0);
|
|
250
|
-
const discountMajor = Number(cart.discount_total || 0);
|
|
251
|
-
const giftCardMajor = Number(cart.gift_card_total || 0);
|
|
252
151
|
const value = totalMajor.toFixed(exponent);
|
|
253
152
|
const paymentActionRaw = typeof additionalSettings.paymentAction === "string"
|
|
254
153
|
? additionalSettings.paymentAction
|
|
@@ -278,12 +177,12 @@ async function POST(req, res) {
|
|
|
278
177
|
? additionalSettings.invoicePrefix
|
|
279
178
|
: "";
|
|
280
179
|
const invoiceId = `${invoicePrefix}${cart.id}`.trim() || cart.id;
|
|
281
|
-
const returnUrl = typeof apiDetails.storefront_url === "string" && apiDetails.storefront_url.trim()
|
|
180
|
+
const returnUrl = (typeof apiDetails.storefront_url === "string" && apiDetails.storefront_url.trim()
|
|
282
181
|
? `${apiDetails.storefront_url.replace(/\/$/, "")}/checkout`
|
|
283
|
-
: resolveReturnUrl(req);
|
|
284
|
-
const cancelUrl = typeof apiDetails.storefront_url === "string" && apiDetails.storefront_url.trim()
|
|
182
|
+
: resolveReturnUrl(req));
|
|
183
|
+
const cancelUrl = (typeof apiDetails.storefront_url === "string" && apiDetails.storefront_url.trim()
|
|
285
184
|
? `${apiDetails.storefront_url.replace(/\/$/, "")}/cart`
|
|
286
|
-
: resolveCancelUrl(req);
|
|
185
|
+
: resolveCancelUrl(req));
|
|
287
186
|
const applicationContext = {
|
|
288
187
|
...(brandName ? { brand_name: brandName } : {}),
|
|
289
188
|
...(landingPage ? { landing_page: landingPage } : {}),
|
|
@@ -291,16 +190,58 @@ async function POST(req, res) {
|
|
|
291
190
|
...(returnUrl ? { return_url: returnUrl } : {}),
|
|
292
191
|
...(cancelUrl ? { cancel_url: cancelUrl } : {}),
|
|
293
192
|
};
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
193
|
+
const subtotalMajor = Number(cart.subtotal || 0);
|
|
194
|
+
const shippingMajor = Number(cart.shipping_total || 0);
|
|
195
|
+
const taxMajor = Number(cart.tax_total || 0);
|
|
196
|
+
const discountMajor = Number(cart.discount_total || 0);
|
|
197
|
+
const giftCardMajor = Number(cart.gift_card_total || 0);
|
|
298
198
|
const lineItems = Array.isArray(cart.items) ? cart.items : [];
|
|
299
|
-
|
|
300
|
-
//
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
199
|
+
// factor converts MINOR units (cents) → MAJOR units (euros)
|
|
200
|
+
// e.g. item.subtotal=1000, factor=100 → €10.00
|
|
201
|
+
const factor = Math.pow(10, exponent);
|
|
202
|
+
const purchaseItemsRaw = sendItemDetails
|
|
203
|
+
? lineItems
|
|
204
|
+
.map((item) => {
|
|
205
|
+
const quantity = Number(item?.quantity || 0);
|
|
206
|
+
// item.subtotal is in MINOR units (cents) — divide by factor to get euros
|
|
207
|
+
const lineSubtotalMinor = Number(item?.subtotal ?? (Number(item?.unit_price || 0) * quantity));
|
|
208
|
+
const lineSubtotalMajor = lineSubtotalMinor / factor;
|
|
209
|
+
const unitAmount = quantity > 0 ? parseFloat((lineSubtotalMajor / quantity).toFixed(exponent)) : 0;
|
|
210
|
+
if (!quantity || Number.isNaN(quantity) || Number.isNaN(unitAmount)) {
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
quantity,
|
|
215
|
+
unitAmount,
|
|
216
|
+
paypalItem: {
|
|
217
|
+
name: String(item?.title || "Item").slice(0, 127),
|
|
218
|
+
quantity: String(Math.max(1, quantity)),
|
|
219
|
+
unit_amount: {
|
|
220
|
+
currency_code: currency,
|
|
221
|
+
value: unitAmount.toFixed(exponent),
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
})
|
|
226
|
+
.filter(Boolean)
|
|
227
|
+
: [];
|
|
228
|
+
const roundedItemSum = purchaseItemsRaw.reduce((sum, item) => sum + item.unitAmount * item.quantity, 0);
|
|
229
|
+
const roundedItemSumFixed = parseFloat(roundedItemSum.toFixed(exponent));
|
|
230
|
+
const diff = parseFloat((subtotalMajor - roundedItemSumFixed).toFixed(exponent));
|
|
231
|
+
const finalPurchaseItems = purchaseItemsRaw.map((item) => item.paypalItem);
|
|
232
|
+
// adjustedItemTotal stays as subtotalMajor — the offset item absorbs the rounding gap
|
|
233
|
+
// so that sum(unit_amount × quantity) === subtotalMajor exactly
|
|
234
|
+
const adjustedItemTotal = subtotalMajor;
|
|
235
|
+
if (Math.abs(diff) > 0.000001 && sendItemDetails && finalPurchaseItems.length > 0) {
|
|
236
|
+
finalPurchaseItems.push({
|
|
237
|
+
name: "Line Item Amount Offset",
|
|
238
|
+
quantity: "1",
|
|
239
|
+
unit_amount: {
|
|
240
|
+
currency_code: currency,
|
|
241
|
+
value: diff.toFixed(exponent),
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
}
|
|
304
245
|
const breakdown = {};
|
|
305
246
|
if (adjustedItemTotal > 0) {
|
|
306
247
|
breakdown.item_total = {
|
|
@@ -320,8 +261,6 @@ async function POST(req, res) {
|
|
|
320
261
|
value: taxMajor.toFixed(exponent),
|
|
321
262
|
};
|
|
322
263
|
}
|
|
323
|
-
// Discounts and gift cards — only include if we are also sending items,
|
|
324
|
-
// otherwise PayPal rejects breakdown with discount but no items.
|
|
325
264
|
const discountValue = discountMajor + giftCardMajor;
|
|
326
265
|
if (discountValue > 0 && finalPurchaseItems.length > 0) {
|
|
327
266
|
breakdown.discount = {
|
|
@@ -329,25 +268,16 @@ async function POST(req, res) {
|
|
|
329
268
|
value: discountValue.toFixed(exponent),
|
|
330
269
|
};
|
|
331
270
|
}
|
|
332
|
-
// -------------------------------------------------------------------------
|
|
333
|
-
// Final reconciliation: ensure breakdown sums exactly to cart total.
|
|
334
|
-
// If there is a gap (can happen due to rounding across multiple fields),
|
|
335
|
-
// absorb it via shipping_discount (if we over-counted) or tax_total
|
|
336
|
-
// (if we under-counted). This is exactly what WooCommerce does.
|
|
337
|
-
// -------------------------------------------------------------------------
|
|
338
271
|
const breakdownSum = parseFloat((adjustedItemTotal + shippingMajor + taxMajor - discountValue).toFixed(exponent));
|
|
339
272
|
if (Math.abs(breakdownSum - totalMajor) > 0.000001) {
|
|
340
273
|
const gap = parseFloat((totalMajor - breakdownSum).toFixed(exponent));
|
|
341
274
|
if (gap > 0) {
|
|
342
|
-
// We under-counted — add the gap to tax_total
|
|
343
|
-
const existingTax = Number(breakdown.tax_total?.value || 0);
|
|
344
275
|
breakdown.tax_total = {
|
|
345
276
|
currency_code: currency,
|
|
346
|
-
value: parseFloat((
|
|
277
|
+
value: parseFloat(((Number(breakdown.tax_total?.value || 0) + gap).toFixed(exponent))).toFixed(exponent),
|
|
347
278
|
};
|
|
348
279
|
}
|
|
349
280
|
else {
|
|
350
|
-
// We over-counted — add shipping_discount to bring total down
|
|
351
281
|
breakdown.shipping_discount = {
|
|
352
282
|
currency_code: currency,
|
|
353
283
|
value: Math.abs(gap).toFixed(exponent),
|
|
@@ -360,13 +290,6 @@ async function POST(req, res) {
|
|
|
360
290
|
client_secret: creds.client_secret,
|
|
361
291
|
});
|
|
362
292
|
const requestId = resolveIdempotencyKey(req, "create-order", `pp-create-${cart.id}`);
|
|
363
|
-
// Log what we are sending to PayPal for debugging
|
|
364
|
-
console.info("[PayPal] create-order payload", {
|
|
365
|
-
cart_id: cart.id,
|
|
366
|
-
value,
|
|
367
|
-
breakdown,
|
|
368
|
-
item_count: finalPurchaseItems.length,
|
|
369
|
-
});
|
|
370
293
|
const ppResp = await fetch(`${base}/v2/checkout/orders`, {
|
|
371
294
|
method: "POST",
|
|
372
295
|
headers: {
|
|
@@ -415,7 +338,7 @@ async function POST(req, res) {
|
|
|
415
338
|
}
|
|
416
339
|
const order = JSON.parse(ppText);
|
|
417
340
|
await attachPayPalOrderToSession(req, cart.id, order.id);
|
|
418
|
-
console.info("[PayPal] create-order
|
|
341
|
+
console.info("[PayPal] create-order", {
|
|
419
342
|
cart_id: cart.id,
|
|
420
343
|
order_id: order.id,
|
|
421
344
|
request_id: requestId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/create-order/route.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../src/api/store/paypal/create-order/route.ts"],"names":[],"mappings":"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"}
|
package/.medusa/server/src/modules/paypal/migrations/20260115120000_create_paypal_connection.js
CHANGED
|
@@ -4,31 +4,31 @@ exports.Migration20260115120000 = void 0;
|
|
|
4
4
|
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20260115120000 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
|
-
this.addSql(`
|
|
8
|
-
CREATE TABLE IF NOT EXISTS "paypal_connection" (
|
|
9
|
-
"id" text NOT NULL,
|
|
10
|
-
"environment" text NOT NULL DEFAULT 'sandbox',
|
|
11
|
-
"status" text NOT NULL DEFAULT 'disconnected',
|
|
12
|
-
"shared_id" text NULL,
|
|
13
|
-
"auth_code" text NULL,
|
|
14
|
-
"seller_client_id" text NULL,
|
|
15
|
-
"seller_client_secret" text NULL,
|
|
16
|
-
"app_access_token" text NULL,
|
|
17
|
-
"app_access_token_expires_at" timestamptz NULL,
|
|
18
|
-
"metadata" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
19
|
-
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
20
|
-
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
21
|
-
"deleted_at" timestamptz NULL,
|
|
22
|
-
CONSTRAINT "paypal_connection_pkey" PRIMARY KEY ("id")
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
CREATE INDEX IF NOT EXISTS "idx_paypal_connection_deleted_at"
|
|
26
|
-
ON "paypal_connection" ("deleted_at");
|
|
7
|
+
this.addSql(`
|
|
8
|
+
CREATE TABLE IF NOT EXISTS "paypal_connection" (
|
|
9
|
+
"id" text NOT NULL,
|
|
10
|
+
"environment" text NOT NULL DEFAULT 'sandbox',
|
|
11
|
+
"status" text NOT NULL DEFAULT 'disconnected',
|
|
12
|
+
"shared_id" text NULL,
|
|
13
|
+
"auth_code" text NULL,
|
|
14
|
+
"seller_client_id" text NULL,
|
|
15
|
+
"seller_client_secret" text NULL,
|
|
16
|
+
"app_access_token" text NULL,
|
|
17
|
+
"app_access_token_expires_at" timestamptz NULL,
|
|
18
|
+
"metadata" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
19
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
20
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
21
|
+
"deleted_at" timestamptz NULL,
|
|
22
|
+
CONSTRAINT "paypal_connection_pkey" PRIMARY KEY ("id")
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
CREATE INDEX IF NOT EXISTS "idx_paypal_connection_deleted_at"
|
|
26
|
+
ON "paypal_connection" ("deleted_at");
|
|
27
27
|
`);
|
|
28
28
|
}
|
|
29
29
|
async down() {
|
|
30
|
-
this.addSql(`
|
|
31
|
-
DROP TABLE IF EXISTS "paypal_connection" CASCADE;
|
|
30
|
+
this.addSql(`
|
|
31
|
+
DROP TABLE IF EXISTS "paypal_connection" CASCADE;
|
|
32
32
|
`);
|
|
33
33
|
}
|
|
34
34
|
}
|
package/.medusa/server/src/modules/paypal/migrations/20260123090000_create_paypal_settings.js
CHANGED
|
@@ -4,17 +4,17 @@ exports.Migration20260123090000 = void 0;
|
|
|
4
4
|
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20260123090000 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
|
-
this.addSql(`
|
|
8
|
-
CREATE TABLE IF NOT EXISTS "paypal_settings" (
|
|
9
|
-
"id" text NOT NULL,
|
|
10
|
-
"data" jsonb NULL,
|
|
11
|
-
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
12
|
-
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
13
|
-
"deleted_at" timestamptz NULL,
|
|
14
|
-
CONSTRAINT "paypal_settings_pkey" PRIMARY KEY ("id")
|
|
15
|
-
);
|
|
16
|
-
CREATE INDEX IF NOT EXISTS "idx_paypal_settings_deleted_at"
|
|
17
|
-
ON "paypal_settings" ("deleted_at");
|
|
7
|
+
this.addSql(`
|
|
8
|
+
CREATE TABLE IF NOT EXISTS "paypal_settings" (
|
|
9
|
+
"id" text NOT NULL,
|
|
10
|
+
"data" jsonb NULL,
|
|
11
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
12
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
13
|
+
"deleted_at" timestamptz NULL,
|
|
14
|
+
CONSTRAINT "paypal_settings_pkey" PRIMARY KEY ("id")
|
|
15
|
+
);
|
|
16
|
+
CREATE INDEX IF NOT EXISTS "idx_paypal_settings_deleted_at"
|
|
17
|
+
ON "paypal_settings" ("deleted_at");
|
|
18
18
|
`);
|
|
19
19
|
}
|
|
20
20
|
async down() {
|
package/.medusa/server/src/modules/paypal/migrations/20260201090000_create_paypal_webhook_event.js
CHANGED
|
@@ -4,27 +4,27 @@ exports.Migration20260201090000 = void 0;
|
|
|
4
4
|
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20260201090000 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
|
-
this.addSql(`
|
|
8
|
-
CREATE TABLE IF NOT EXISTS "paypal_webhook_event" (
|
|
9
|
-
"id" text NOT NULL,
|
|
10
|
-
"event_id" text NOT NULL,
|
|
11
|
-
"event_type" text NOT NULL,
|
|
12
|
-
"resource_id" text NULL,
|
|
13
|
-
"payload" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
14
|
-
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
15
|
-
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
16
|
-
"deleted_at" timestamptz NULL,
|
|
17
|
-
CONSTRAINT "paypal_webhook_event_pkey" PRIMARY KEY ("id"),
|
|
18
|
-
CONSTRAINT "paypal_webhook_event_event_id_unique" UNIQUE ("event_id")
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
CREATE INDEX IF NOT EXISTS "idx_paypal_webhook_event_deleted_at"
|
|
22
|
-
ON "paypal_webhook_event" ("deleted_at");
|
|
7
|
+
this.addSql(`
|
|
8
|
+
CREATE TABLE IF NOT EXISTS "paypal_webhook_event" (
|
|
9
|
+
"id" text NOT NULL,
|
|
10
|
+
"event_id" text NOT NULL,
|
|
11
|
+
"event_type" text NOT NULL,
|
|
12
|
+
"resource_id" text NULL,
|
|
13
|
+
"payload" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
14
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
15
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
16
|
+
"deleted_at" timestamptz NULL,
|
|
17
|
+
CONSTRAINT "paypal_webhook_event_pkey" PRIMARY KEY ("id"),
|
|
18
|
+
CONSTRAINT "paypal_webhook_event_event_id_unique" UNIQUE ("event_id")
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
CREATE INDEX IF NOT EXISTS "idx_paypal_webhook_event_deleted_at"
|
|
22
|
+
ON "paypal_webhook_event" ("deleted_at");
|
|
23
23
|
`);
|
|
24
24
|
}
|
|
25
25
|
async down() {
|
|
26
|
-
this.addSql(`
|
|
27
|
-
DROP TABLE IF EXISTS "paypal_webhook_event" CASCADE;
|
|
26
|
+
this.addSql(`
|
|
27
|
+
DROP TABLE IF EXISTS "paypal_webhook_event" CASCADE;
|
|
28
28
|
`);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -4,25 +4,25 @@ exports.Migration20260401090000 = void 0;
|
|
|
4
4
|
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20260401090000 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
|
-
this.addSql(`
|
|
8
|
-
CREATE TABLE IF NOT EXISTS "paypal_metric" (
|
|
9
|
-
"id" text NOT NULL,
|
|
10
|
-
"name" text NOT NULL,
|
|
11
|
-
"data" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
12
|
-
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
13
|
-
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
14
|
-
"deleted_at" timestamptz NULL,
|
|
15
|
-
CONSTRAINT "paypal_metric_pkey" PRIMARY KEY ("id"),
|
|
16
|
-
CONSTRAINT "paypal_metric_name_unique" UNIQUE ("name")
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
CREATE INDEX IF NOT EXISTS "idx_paypal_metric_deleted_at"
|
|
20
|
-
ON "paypal_metric" ("deleted_at");
|
|
7
|
+
this.addSql(`
|
|
8
|
+
CREATE TABLE IF NOT EXISTS "paypal_metric" (
|
|
9
|
+
"id" text NOT NULL,
|
|
10
|
+
"name" text NOT NULL,
|
|
11
|
+
"data" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
12
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
13
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
14
|
+
"deleted_at" timestamptz NULL,
|
|
15
|
+
CONSTRAINT "paypal_metric_pkey" PRIMARY KEY ("id"),
|
|
16
|
+
CONSTRAINT "paypal_metric_name_unique" UNIQUE ("name")
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE INDEX IF NOT EXISTS "idx_paypal_metric_deleted_at"
|
|
20
|
+
ON "paypal_metric" ("deleted_at");
|
|
21
21
|
`);
|
|
22
22
|
}
|
|
23
23
|
async down() {
|
|
24
|
-
this.addSql(`
|
|
25
|
-
DROP TABLE IF EXISTS "paypal_metric" CASCADE;
|
|
24
|
+
this.addSql(`
|
|
25
|
+
DROP TABLE IF EXISTS "paypal_metric" CASCADE;
|
|
26
26
|
`);
|
|
27
27
|
}
|
|
28
28
|
}
|