@shushed/helpers 0.0.202-bug-erp-770-20251202013809 → 0.0.202-bug-erp-770-20251202150739

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 (2) hide show
  1. package/dist/index.js +41 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -111320,6 +111320,8 @@ function transformMasterOrder(payload) {
111320
111320
  // Groups Authorisation/Capture together
111321
111321
  payment_refund_number: p.payment_refund_number,
111322
111322
  // Groups refunds together
111323
+ original_payment_refund_id: p.original_payment_refund_id,
111324
+ // Links refunds to original payments
111323
111325
  created_by: p.created_by || invoice0?.created_by || sale0?.created_by,
111324
111326
  source: "payment",
111325
111327
  order_no: p.master_order_no,
@@ -111380,6 +111382,20 @@ function transformMasterOrder(payload) {
111380
111382
  cardPaymentsByToken.set(cp.transaction_id, cp);
111381
111383
  }
111382
111384
  });
111385
+ const paymentsByOriginalRefundId = /* @__PURE__ */ new Map();
111386
+ const paymentsByPaymentNumber = /* @__PURE__ */ new Map();
111387
+ const paymentsByPaymentRefundNumber = /* @__PURE__ */ new Map();
111388
+ normalPays.forEach((p) => {
111389
+ if (p.original_payment_refund_id) {
111390
+ paymentsByOriginalRefundId.set(p.original_payment_refund_id, p);
111391
+ }
111392
+ if (p.payment_number) {
111393
+ paymentsByPaymentNumber.set(p.payment_number, p);
111394
+ }
111395
+ if (p.payment_refund_number) {
111396
+ paymentsByPaymentRefundNumber.set(p.payment_refund_number, p);
111397
+ }
111398
+ });
111383
111399
  const payments = Array.from(groupsMap.values()).map((g) => {
111384
111400
  const sortedEntries = [...g.entries].sort((a, b) => {
111385
111401
  if (a.source === "card_payment" && b.source !== "card_payment") return -1;
@@ -111411,6 +111427,23 @@ function transformMasterOrder(payload) {
111411
111427
  if (!cardPaymentEntryForTransaction && primary.payment_gateway_token) {
111412
111428
  cardPaymentEntryForTransaction = cardPaymentsByToken.get(primary.payment_gateway_token);
111413
111429
  }
111430
+ if (!cardPaymentEntryForTransaction && !primary.payment_gateway_token && g.type === "REFUND") {
111431
+ let originalPayment;
111432
+ if (primary.payment_number) {
111433
+ originalPayment = paymentsByPaymentNumber.get(primary.payment_number);
111434
+ }
111435
+ if (!originalPayment && primary.payment_refund_number) {
111436
+ originalPayment = paymentsByPaymentRefundNumber.get(primary.payment_refund_number);
111437
+ }
111438
+ if (!originalPayment && primary.original_payment_refund_id) {
111439
+ originalPayment = Array.from(normalPays).find(
111440
+ (p) => p.ledger_entry_no === primary.original_payment_refund_id
111441
+ );
111442
+ }
111443
+ if (originalPayment?.payment_gateway_token) {
111444
+ cardPaymentEntryForTransaction = cardPaymentsByToken.get(originalPayment.payment_gateway_token);
111445
+ }
111446
+ }
111414
111447
  const transaction_id = cardPaymentEntryForTransaction?.transaction_id || primary.transaction_id || null;
111415
111448
  const psp_reference = primary.psp_reference || transaction_id || null;
111416
111449
  const paymentCreatedByRaw = primary.created_by || invoice0?.created_by || sale0?.created_by || "";
@@ -111420,8 +111453,14 @@ function transformMasterOrder(payload) {
111420
111453
  const isValidEnum = validEnumValues.includes(paymentCreatedByUpper);
111421
111454
  const created_by = isEmail ? paymentCreatedByRaw : isValidEnum ? paymentCreatedByUpper : "MOTO";
111422
111455
  const journey_label = null;
111423
- const card_number = sortedEntries.find((e) => e.source === "card_payment" && e.card_number)?.card_number || primary.card_number || null;
111424
- const cardPaymentForBrand = sortedEntries.find((e) => e.source === "card_payment" && e.service_type);
111456
+ let card_number = sortedEntries.find((e) => e.source === "card_payment" && e.card_number)?.card_number || primary.card_number || null;
111457
+ if (!card_number && g.type === "REFUND" && cardPaymentEntryForTransaction) {
111458
+ card_number = cardPaymentEntryForTransaction.card_number || null;
111459
+ }
111460
+ let cardPaymentForBrand = sortedEntries.find((e) => e.source === "card_payment" && e.service_type);
111461
+ if (!cardPaymentForBrand && g.type === "REFUND" && cardPaymentEntryForTransaction) {
111462
+ cardPaymentForBrand = cardPaymentEntryForTransaction;
111463
+ }
111425
111464
  const card_brand = cardPaymentForBrand?.service_type ? String(cardPaymentForBrand.service_type).trim() || null : null;
111426
111465
  let status2 = "CAPTURED";
111427
111466
  const isVoucher = pm === "GIFT-CARD" || sortedEntries.some((e) => e.gift_certificate_id) || sortedEntries.some((e) => /(GVOUCHER|VOUCHER|GIFT|EGIFT)/.test(String(e.payment_method_code || "").toUpperCase())) || sortedEntries.some((e) => String(e.service_type || "").toUpperCase().includes("VOUCHER"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shushed/helpers",
3
- "version": "0.0.202-bug-erp-770-20251202013809",
3
+ "version": "0.0.202-bug-erp-770-20251202150739",
4
4
  "author": "",
5
5
  "license": "UNLICENSED",
6
6
  "description": "",