@mj-biz-apps/orders-core-entities-server 5.30.0 → 5.31.0

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 (39) hide show
  1. package/README.md +67 -41
  2. package/dist/CapturePaymentOperation.d.ts.map +1 -1
  3. package/dist/CapturePaymentOperation.js +4 -2
  4. package/dist/CapturePaymentOperation.js.map +1 -1
  5. package/dist/CheckoutSessionService.d.ts +12 -2
  6. package/dist/CheckoutSessionService.d.ts.map +1 -1
  7. package/dist/CheckoutSessionService.js +103 -25
  8. package/dist/CheckoutSessionService.js.map +1 -1
  9. package/dist/EntitlementGrantClaimDriver.d.ts +1 -1
  10. package/dist/EntitlementGrantClaimDriver.d.ts.map +1 -1
  11. package/dist/EntitlementGrantClaimDriver.js +1 -3
  12. package/dist/EntitlementGrantClaimDriver.js.map +1 -1
  13. package/dist/GuestOrderClaimDriver.d.ts +1 -1
  14. package/dist/GuestOrderClaimDriver.d.ts.map +1 -1
  15. package/dist/GuestOrderClaimDriver.js +16 -10
  16. package/dist/GuestOrderClaimDriver.js.map +1 -1
  17. package/dist/InvoiceBehavior.d.ts +0 -1
  18. package/dist/InvoiceBehavior.d.ts.map +1 -1
  19. package/dist/InvoiceBehavior.js.map +1 -1
  20. package/dist/InvoiceBuilder.d.ts.map +1 -1
  21. package/dist/InvoiceBuilder.js +0 -1
  22. package/dist/InvoiceBuilder.js.map +1 -1
  23. package/dist/PollExternalPaymentsOperation.d.ts +10 -0
  24. package/dist/PollExternalPaymentsOperation.d.ts.map +1 -1
  25. package/dist/PollExternalPaymentsOperation.js +64 -15
  26. package/dist/PollExternalPaymentsOperation.js.map +1 -1
  27. package/dist/ProductPriceEntityServer.d.ts +2 -0
  28. package/dist/ProductPriceEntityServer.d.ts.map +1 -1
  29. package/dist/ProductPriceEntityServer.js +4 -0
  30. package/dist/ProductPriceEntityServer.js.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/package.json +4 -4
  36. package/dist/identityClaimContracts.d.ts +0 -118
  37. package/dist/identityClaimContracts.d.ts.map +0 -1
  38. package/dist/identityClaimContracts.js +0 -58
  39. package/dist/identityClaimContracts.js.map +0 -1
package/README.md CHANGED
@@ -1,50 +1,62 @@
1
1
  # `@mj-biz-apps/orders-core-entities-server`
2
2
 
3
- **Every rule that decides money lives here.** Entity subclasses that override `Save()`, the pure
4
- engines they call, and the remotable operations that expose multi-step work.
3
+ **The server half of the rules that decide money.** Entity subclasses that override `Save()` or
4
+ validation, the engines behind booking, GL resolution, payments and subscriptions, and the remote
5
+ operations that expose multi-step work.
6
+
7
+ The pricing engine — price resolution, promotions, charges and tax — is not here. It lives in
8
+ `@mj-biz-apps/orders-entities` (`packages/Entities/src/pricing/`), so the browser can price an order
9
+ with the same code that books it, and this package re-exports it for server callers.
5
10
 
6
11
  This package is server-only. Import it from the server bootstrap so its `@RegisterClass` decorators
7
12
  fire — nothing here is reachable until they do.
8
13
 
9
14
  ---
10
15
 
11
- ## The shape: pure core, server shell
16
+ ## The shape: pure core, database shell
12
17
 
13
18
  Each domain is split in two, and the split is deliberate rather than tidy.
14
19
 
15
- | Pure (no DB, no entities) | Server (needs a database) |
16
- |---|---|
17
- | `PricingBehavior` | `PriceResolver` |
18
- | `PromotionBehavior` | `PromotionEngine` |
19
- | `ChargeBehavior` | `ChargeEngine` |
20
- | `SubscriptionBehavior` | `OrderEntityServer` |
21
- | `TaxResolver` *(the walk)* | `TaxResolver` *(the lookups)* |
20
+ | Pure (no DB, no entities) | Needs a database | Package |
21
+ |---|---|---|
22
+ | `PricingBehavior` | `PriceResolver` | orders-entities |
23
+ | `PromotionBehavior` | `PromotionEngine` | orders-entities |
24
+ | `ChargeBehavior` | `ChargeEngine` | orders-entities |
25
+ | `TaxResolver` *(the walk)* | `TaxResolver` *(the lookups)* | orders-entities |
26
+ | `SubscriptionBehavior` | `OrderEntityServer` | this package |
22
27
 
23
28
  **Why:** the arithmetic is where the money is, and money should be provable without a database. Two
24
29
  10% promotions are 19% or 20% depending on one setting; a Volume band and a Tiered band give 800 and
25
30
  900 for identical inputs. Those facts are asserted in unit tests that run in milliseconds, and the
26
- server half is then only responsible for finding the right rows.
31
+ database half is then only responsible for finding the right rows. `OrderPricingService` runs the
32
+ four pricing stages in order, for `Save()` and for `Orders.PriceOrder` alike.
27
33
 
28
34
  ## The order confirm, end to end
29
35
 
30
- `OrderEntityServer.Save()` is the spine. Everything happens in ONE transaction:
36
+ `OrderEntityServer.Save()` is the spine. Everything happens in ONE transaction. In outline (the
37
+ method has the full sequence):
31
38
 
32
39
  ```
33
40
  BeginTransaction
34
- assign OrderNumber
35
- save the header
41
+ delete lines the caller removed
42
+ expand bundles into their component lines
43
+ decide subscriptions
36
44
  ── per line, IN MEMORY ─────────────────────────────
37
45
  proration (subscription terms)
38
46
  event service period
39
- price resolution → UnitPrice, ProductPriceID
40
- decide promotions → DiscountAmount
41
- decide charges + resolve tax → LineTax, ChargeAmount
47
+ OrderPricingService: price → promotions → charges → tax
48
+ → UnitPrice, DiscountAmount, ChargeAmount, LineTax
42
49
  ── persist ─────────────────────────────────────────
50
+ save the header (a new order gets its OrderNumber here)
43
51
  save lines
44
52
  write adjustment + charge + component rows
53
+ check the total the caller was shown, if it sent one
45
54
  materialize subscriptions
46
55
  book journal entries
56
+ issue instalments already due
47
57
  create the initial payment
58
+ grant entitlements
59
+ record the OrderConfirmed outbound event (sales only)
48
60
  CommitTransaction
49
61
  ```
50
62
 
@@ -52,23 +64,29 @@ CommitTransaction
52
64
  stylistic: a Confirmed line is frozen by trigger 51003, and because MJ's CRUD procs run under
53
65
  `INSERT-EXEC`, a trigger rollback surfaces as *"Cannot use the ROLLBACK statement within an
54
66
  INSERT-EXEC statement"* — an error naming neither the line nor the rule it broke. Correcting a line
55
- after insert is not an option, so nothing may need correcting.
67
+ after insert is not an option, so nothing may need correcting. A draft being confirmed already has
68
+ its lines, so they are rewritten while the header is still Draft, before the status change that
69
+ freezes them.
56
70
 
57
71
  ## Resolution walks
58
72
 
59
- Two resolvers walk the **same path**, on purpose — anyone who understands one understands the other,
60
- and they cannot drift into disagreeing about what "the product's category tree" means:
73
+ The resolvers follow the **same path** up the product's category tree, on purpose — anyone who
74
+ understands one understands the others, and they cannot drift into disagreeing about what "the
75
+ product's category tree" means:
61
76
 
62
77
  ```
63
- product → its category → that category's ancestors → the company → default
78
+ product → its category → that category's ancestors → …
64
79
  ```
65
80
 
66
- - **`GLAccountResolver`** — role → GL account. Nothing resolving is a hard failure; a guessed account
67
- still balances, so the misposting would be invisible.
68
- - **`PriceResolver`** — product → price, with `BasePriceResolver` pluggable at any level.
81
+ They differ in where the walk ends:
69
82
 
70
- `TaxResolver` uses the same chain for taxability (product → category → ancestors → type), with the
71
- type as a NOT NULL backstop so the walk always terminates.
83
+ - **`GLAccountResolver`** — role → GL account, continuing to the product type, then the company.
84
+ Nothing resolving is a hard failure; a guessed account still balances, so the misposting would be
85
+ invisible.
86
+ - **`PriceResolver`** — product → price, continuing to the company, then the default resolver, with a
87
+ `BasePriceResolver` plugin possible at the product, category and company levels.
88
+ - **`TaxResolver`** — taxability, continuing to the product type, a NOT NULL backstop so the walk
89
+ always terminates.
72
90
 
73
91
  ## Refusals are a feature
74
92
 
@@ -93,20 +111,15 @@ reasons applied.
93
111
  Multi-step work with guards, exposed through `BaseRemotableOperation`. Logical refusals come back
94
112
  **inside** the output as `Success: false` with a reason; only genuine faults throw.
95
113
 
96
- | Operation | Does |
97
- |---|---|
98
- | `Orders.PreviewPrice` | Dry-run pricing. **Runs the real pipeline** — a preview that diverges from what is charged is worse than none |
99
- | `Orders.ApplyAccountCredit` | Spends an order's negative balance on another order. Zero-amount payment, two offsetting lines |
100
- | `Orders.RefundPayment` | Mirrors a capture (D53), proportionally across the orders it settled |
101
- | `Orders.CancelSubscription` | Cancels with the term's own rules. Revokes standing grants when access-through has already passed |
102
- | `Orders.SpawnRenewals` | Spawns renewal orders as Drafts |
103
- | `Orders.CheckEntitlement` | Does this person currently have this capability? Evaluated, not a poll of `Status`. Fail closed |
104
- | `Orders.ListEntitlements` | The person's library, one row per Code, same evaluator |
114
+ Each operation is a row in [`metadata/remote-operations/`](../../metadata/remote-operations/), the
115
+ source of truth; CodeGen emits its typed base into `@mj-biz-apps/orders-entities`, and this package
116
+ holds the implementations. The full list, with scopes and why each one is an operation rather than a
117
+ save, is in [`docs/orders-api-and-ui-architecture.md`](../../docs/orders-api-and-ui-architecture.md) §2.
105
118
 
106
119
  ## Accounting boundary
107
120
 
108
- `AccountingBridge` is the only place that knows about bizapps-accounting. Orders resolves accounts
109
- and submits balanced drafts; accounting owns the ledger.
121
+ Orders resolves accounts — `GLAccountResolver`, wired to accounting's engine by `AccountingBridge` —
122
+ and submits balanced drafts to `Accounting.CreateJournalEntries`; accounting owns the ledger.
110
123
 
111
124
  Two constraints that shape everything: accounting derives an entry's company **from its accounts**,
112
125
  so a cross-company entry cannot be booked at all — which is why intercompany legs are per company
@@ -115,8 +128,10 @@ an entry (sides swapped, positive amounts), never a negation.
115
128
 
116
129
  ## Testing
117
130
 
118
- - **Unit** (`src/__tests__`, vitest, no DB) — the pure engines. Volume vs Tiered, stacking
119
- arithmetic, charge basis, the taxability walk, allocation.
131
+ - **Unit** (vitest, no DB) — the pure engines. Volume vs Tiered, stacking arithmetic, charge basis
132
+ and the taxability walk are in `packages/Entities/src/__tests__`, beside the pricing engine;
133
+ subscriptions, allocation and the rest of this package are in `src/__tests__`. `pnpm run test:unit`
134
+ at the root runs every package's.
120
135
  - **Integration** — `@mj-biz-apps/orders-integration-tests`, transaction-per-check with rollback.
121
136
 
122
137
  Both suites are mutation-tested: break the code deliberately, confirm the checks catch it. Worth the
@@ -125,7 +140,8 @@ entry.
125
140
 
126
141
  ## Adding behaviour
127
142
 
128
- Prefer a plugin over an edit:
143
+ Prefer a plugin over an edit. The three base classes come from `@mj-biz-apps/orders-entities` (this
144
+ package re-exports them):
129
145
 
130
146
  ```ts
131
147
  @RegisterClass(BasePriceResolver, `Company:${companyId}`)
@@ -138,5 +154,15 @@ export class TwoYearMember extends BasePromotionQualifier { /* ... */ }
138
154
  export class RooftopResolver extends BaseTaxJurisdictionResolver { /* ... */ }
139
155
  ```
140
156
 
157
+ A price plugin is server code, so the browser cannot run it. Set `PricingDriverClass` to the plugin's
158
+ key on the product, the category (inherited by child categories), the product type, or the company's
159
+ `OrderCompanyPolicy`; the most specific non-empty level wins. `ResolvePrice` invokes the resolver
160
+ registered under that key first, then falls back to the `Product:<id>`, `Category:<id>` and
161
+ `Company:<id>` keys. A key with no registered resolver refuses the line with a `PriceResolutionError`
162
+ naming the key, rather than pricing it by the default. `CanPriceOrderLocally` reads the same walk and
163
+ reports that the order cannot be priced locally, and `MJOPricingScheduler`, the pricing service
164
+ behind the order screens, sends it to `Orders.PriceOrder` instead, as it does for any order carrying
165
+ a promotion code.
166
+
141
167
  If you must edit an engine: put the arithmetic in the pure half with a unit test, and keep the
142
- server half to finding rows.
168
+ database half to finding rows.
@@ -1 +1 @@
1
- {"version":3,"file":"CapturePaymentOperation.d.ts","sourceRoot":"","sources":["../src/CapturePaymentOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAKH,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,6BAA6B,IAAI,iCAAiC,EAOlE,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAClC,MAAM,8BAA8B,CAAC;AAkBtC,qBACa,uBAAwB,SAAQ,iCAAiC;cAC1D,eAAe,CAC3B,KAAK,EAAE,yBAAyB,EAChC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,0BAA0B,CAAC;IA+OtC;;;;;;;OAOG;YACW,YAAY;IAoG1B;;;;;;;;;;OAUG;YACW,qBAAqB;IAenC;;;;;;OAMG;YACW,OAAO;IAqErB,uGAAuG;YACzF,WAAW;IA8DzB,yFAAyF;YAC3E,iBAAiB;IAgB/B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;CAWjB;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
1
+ {"version":3,"file":"CapturePaymentOperation.d.ts","sourceRoot":"","sources":["../src/CapturePaymentOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAKH,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,6BAA6B,IAAI,iCAAiC,EAOlE,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAElC,MAAM,8BAA8B,CAAC;AAkBtC,qBACa,uBAAwB,SAAQ,iCAAiC;cAC1D,eAAe,CAC3B,KAAK,EAAE,yBAAyB,EAChC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,0BAA0B,CAAC;IA+OtC;;;;;;;OAOG;YACW,YAAY;IAoG1B;;;;;;;;;;OAUG;YACW,qBAAqB;IAenC;;;;;;OAMG;YACW,OAAO;IAuErB,uGAAuG;YACzF,WAAW;IA8DzB,yFAAyF;YAC3E,iBAAiB;IAgB/B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;CAWjB;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -25,7 +25,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
25
25
  */
26
26
  import { BaseRemotableOperation, RunView, } from '@memberjunction/core';
27
27
  import { RegisterClass } from '@memberjunction/global';
28
- import { OrdersCapturePaymentOperation as OrdersCapturePaymentOperationBase, } from '@mj-biz-apps/orders-entities';
28
+ import { OrdersCapturePaymentOperation as OrdersCapturePaymentOperationBase, DerivePaymentStatus, } from '@mj-biz-apps/orders-entities';
29
29
  import { CalendarDayOrToday } from './calendar-day.js';
30
30
  import { RequireDate, RequireOptionalUUID, RequireUUID } from './sql-guards.js';
31
31
  import { ResolvePaymentProvider } from './PaymentProviderResolver.js';
@@ -376,7 +376,9 @@ let CapturePaymentOperation = class CapturePaymentOperation extends OrdersCaptur
376
376
  OrderNumber: o.OrderNumber,
377
377
  AmountPaid: money(Number(o.AmountPaid ?? 0)),
378
378
  Balance: money(Number(o.Balance ?? 0)),
379
- PaymentStatus: o.PaymentStatus,
379
+ // Derived, not read: the order stores no payment status, only the amounts the
380
+ // rollup triggers keep current. Same rule the order screens and checks use.
381
+ PaymentStatus: DerivePaymentStatus(o.TotalGross, o.AmountPaid, o.Balance),
380
382
  // Over-payment is ACCEPTED (D68). The surplus is a negative balance and becomes
381
383
  // spendable credit — the account-credit screen depends on these existing.
382
384
  HasCredit: Number(o.Balance ?? 0) < 0,
@@ -1 +1 @@
1
- {"version":3,"file":"CapturePaymentOperation.js","sourceRoot":"","sources":["../src/CapturePaymentOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CapturePaymentOperation.js","sourceRoot":"","sources":["../src/CapturePaymentOperation.ts"],"names":[],"mappings":"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"}
@@ -156,8 +156,8 @@ export interface CompleteCheckoutResult {
156
156
  PaymentIntentID?: string;
157
157
  ClientSecret?: string;
158
158
  /**
159
- * The IdentityClaim row id minted for the buyer's email (the actual verification token is
160
- * only ever delivered in the claim email — it is never returned through the checkout path).
159
+ * The IdentityClaim row id minted for the buyer's email. The verification token is never
160
+ * returned through the checkout path; it would only travel in the claim e-mail, which is off.
161
161
  */
162
162
  ClaimToken?: string;
163
163
  }
@@ -265,8 +265,18 @@ export declare class CheckoutSessionService {
265
265
  private static createOrderLine;
266
266
  /**
267
267
  * Dynamically populates and coerces extension companion properties from a field map.
268
+ * Returns the Person it resolved (null when none) and the extension row, so a caller that
269
+ * resolved without creating can create the Person later and set it with `setExtensionPerson`.
268
270
  */
269
271
  private static hydrateLineExtension;
272
+ /** Sets an extension row's attendee Person, when it has an updatable PersonID / AttendeePersonID column. */
273
+ private static setExtensionPerson;
274
+ /**
275
+ * A per-unit product books one line per unit, so it needs one set of unit details per unit. A
276
+ * widget that sends fewer or more sets than the quantity (a per-line widget sends one) would
277
+ * otherwise book a different number of units than the buyer chose (#583).
278
+ */
279
+ private static unitDetailsMismatch;
270
280
  /**
271
281
  * Extracts unit field maps from an input line across all polymorphic formats.
272
282
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CheckoutSessionService.d.ts","sourceRoot":"","sources":["../src/CheckoutSessionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckoutSessionService.d.ts","sourceRoot":"","sources":["../src/CheckoutSessionService.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,8 @@
9
9
  */
10
10
  import { LogError, Metadata, RunView } from '@memberjunction/core';
11
11
  import { BusinessTimeZoneEngine } from '@mj-biz-apps/common-entities';
12
- // Local fallback engine — see identityClaimContracts.ts. Restore this import to
13
- // '@memberjunction/core-entities-server' once MJ publishes the engine.
12
+ import { IdentityClaimEngineServer } from '@memberjunction/core-entities-server';
14
13
  import { CalendarDayOrToday } from './calendar-day.js';
15
- import { IdentityClaimEngineServer } from './identityClaimContracts.js';
16
14
  import { CheckBillingLocation, LoadOrdersEngine, OrderPricingService, OrdersEngine, TodayAsDateValue, CheckAnswersAgainstQuestions, CheckCheckoutAnswers, ReadCheckoutQuestions, NormalizeCheckoutAttribution, CheckCheckoutChoices, ChoicesForStorage, ReadCheckoutChoiceGroups, CheckChoicesAgainstGroups } from '@mj-biz-apps/orders-entities';
17
15
  import { EscapeText } from './sql-guards.js';
18
16
  import { RunPrePurchaseChecks } from './CheckoutPrePurchaseCheck.js';
@@ -493,17 +491,26 @@ export class CheckoutSessionService {
493
491
  else if (['int', 'bigint', 'smallint', 'tinyint', 'decimal', 'numeric', 'float', 'real', 'money', 'smallmoney'].includes(sqlType)) {
494
492
  fieldType = 'number';
495
493
  }
496
- else if (['ntext', 'text', 'nvarchar(max)', 'varchar(max)'].includes(sqlType) || (f.Length && f.Length > 255)) {
494
+ else if (['ntext', 'text'].includes(sqlType) || f.Length === -1 || f.MaxLength > 255) {
495
+ // MJ stores NVARCHAR(MAX) as Type 'nvarchar' with Length -1. Length is bytes;
496
+ // MaxLength is characters, which is what the 255 threshold means.
497
497
  fieldType = 'textarea';
498
498
  }
499
+ const options = fieldType === 'select'
500
+ ? [...(f.EntityFieldValues ?? [])]
501
+ .sort((a, b) => a.Sequence - b.Sequence)
502
+ .map(v => ({ label: v.Value, value: v.Value }))
503
+ : undefined;
499
504
  const camelName = f.Name.charAt(0).toLowerCase() + f.Name.slice(1);
500
505
  const label = f.DisplayName?.trim() || f.Name.replace(/([a-z])([A-Z])/g, '$1 $2');
501
506
  discoveredFields.push({
502
507
  name: camelName,
503
508
  label,
504
509
  type: fieldType,
505
- required: !f.AllowsNull,
506
- placeholder: f.Description || label
510
+ // A column with a default is filled by the database when the buyer leaves it blank.
511
+ required: !f.AllowsNull && !f.HasDefaultValue,
512
+ placeholder: f.Description || label,
513
+ ...(options ? { options } : {})
507
514
  });
508
515
  }
509
516
  configObj.extensionFields = discoveredFields;
@@ -715,10 +722,12 @@ export class CheckoutSessionService {
715
722
  }
716
723
  /**
717
724
  * Dynamically populates and coerces extension companion properties from a field map.
725
+ * Returns the Person it resolved (null when none) and the extension row, so a caller that
726
+ * resolved without creating can create the Person later and set it with `setExtensionPerson`.
718
727
  */
719
728
  static async hydrateLineExtension(line, extensionEntityName, fieldValues, contextUser, createPersons = true) {
720
729
  if (!fieldValues || Object.keys(fieldValues).length === 0) {
721
- return;
730
+ return { PersonID: null, Extension: null };
722
731
  }
723
732
  // Build descriptive summary for the line card if names/email are present
724
733
  const firstName = fieldValues['FirstName'] || fieldValues['firstName'];
@@ -732,9 +741,9 @@ export class CheckoutSessionService {
732
741
  if (nameOrEmail) {
733
742
  line.Description = String(nameOrEmail);
734
743
  }
735
- // Auto-resolve PersonID if person fields exist on the entity or extension. Person
736
- // creation only happens on the completion path — draft pricing passes createPersons=false
737
- // so abandoned checkouts never mint Person rows.
744
+ // Auto-resolve PersonID if person fields exist on the entity or extension. Neither draft
745
+ // pricing nor completion creates here (createPersons=false): completion creates a missing
746
+ // attendee only once payment has checked out (#583).
738
747
  const resolvedPersonID = await this.resolveOrEnsurePerson(fieldValues, contextUser, createPersons);
739
748
  const excludedClientFields = new Set([
740
749
  'id',
@@ -750,10 +759,7 @@ export class CheckoutSessionService {
750
759
  if (ext) {
751
760
  const extFieldsByName = new Map((ext.EntityInfo?.Fields ?? []).map((f) => [f.Name.toLowerCase(), f]));
752
761
  if (resolvedPersonID) {
753
- const extPField = extFieldsByName.get('personid') || extFieldsByName.get('attendeepersonid');
754
- if (extPField && !extPField.IsPrimaryKey && !extPField.IsVirtual && extPField.AllowUpdateAPI) {
755
- ext.Set(extPField.Name, resolvedPersonID);
756
- }
762
+ this.setExtensionPerson(ext, resolvedPersonID);
757
763
  }
758
764
  for (const [key, rawValue] of Object.entries(fieldValues)) {
759
765
  const lowerKey = key.toLowerCase();
@@ -776,6 +782,26 @@ export class CheckoutSessionService {
776
782
  }
777
783
  }
778
784
  }
785
+ return { PersonID: resolvedPersonID, Extension: ext };
786
+ }
787
+ /** Sets an extension row's attendee Person, when it has an updatable PersonID / AttendeePersonID column. */
788
+ static setExtensionPerson(ext, personID) {
789
+ const fields = ext.EntityInfo?.Fields ?? [];
790
+ const field = fields.find((f) => f.Name.toLowerCase() === 'personid') ?? fields.find((f) => f.Name.toLowerCase() === 'attendeepersonid');
791
+ if (field && !field.IsPrimaryKey && !field.IsVirtual && field.AllowUpdateAPI) {
792
+ ext.Set(field.Name, personID);
793
+ }
794
+ }
795
+ /**
796
+ * A per-unit product books one line per unit, so it needs one set of unit details per unit. A
797
+ * widget that sends fewer or more sets than the quantity (a per-line widget sends one) would
798
+ * otherwise book a different number of units than the buyer chose (#583).
799
+ */
800
+ static unitDetailsMismatch(unitMode, quantity, unitPayloads) {
801
+ if (unitMode !== 'perUnit' || unitPayloads.length === 0 || unitPayloads.length === quantity) {
802
+ return null;
803
+ }
804
+ return `Enter details for each of the ${quantity} items (details were given for ${unitPayloads.length}).`;
779
805
  }
780
806
  /**
781
807
  * Extracts unit field maps from an input line across all polymorphic formats.
@@ -1009,6 +1035,10 @@ export class CheckoutSessionService {
1009
1035
  if (unitPayloads.length > effectiveMax) {
1010
1036
  return failed(`Unit payload count ${unitPayloads.length} exceeds maximum allowed quantity of ${effectiveMax} for this item`);
1011
1037
  }
1038
+ const unitMismatch = this.unitDetailsMismatch(unitMode, inputLine.Quantity, unitPayloads);
1039
+ if (unitMismatch) {
1040
+ return failed(unitMismatch);
1041
+ }
1012
1042
  if ((unitMode === 'perUnit' || unitPayloads.length > 1) && unitPayloads.length > 0) {
1013
1043
  for (const unitData of unitPayloads) {
1014
1044
  const line = await this.createOrderLine(order, targetExtensionEntity, md, contextUser);
@@ -1551,10 +1581,12 @@ export class CheckoutSessionService {
1551
1581
  Status: 'Open'
1552
1582
  };
1553
1583
  }
1554
- // Resolve — creating if necessary — the payer Person. OrderHeaderEntity.Validate()
1555
- // refuses to confirm an order without a customer, so a missing payer must fail
1556
- // HERE with a clear message, not deep inside Confirm(). Contact fields come from
1557
- // the first unit payload (name etc.); the email is the session's captured email.
1584
+ // Resolve the payer Person; a new buyer's Person is created only once payment has
1585
+ // checked out (below), so a refused payment leaves none behind (#583). Confirm()
1586
+ // refuses an order without a customer, so a payer that can never be created (no
1587
+ // e-mail) must fail HERE with a clear message. Contact fields come from the first unit
1588
+ // payload (name etc.); the email is the session's captured email.
1589
+ let newPayerFields = null;
1558
1590
  if (!session.PersonID) {
1559
1591
  const firstPayload = linesInput.length > 0 ? this.extractUnitPayloads(linesInput[0])[0] ?? {} : {};
1560
1592
  const payerFields = { ...firstPayload, Email: session.Email ?? '' };
@@ -1568,12 +1600,15 @@ export class CheckoutSessionService {
1568
1600
  payerFields['Name'] = localPart;
1569
1601
  }
1570
1602
  }
1571
- const payerPersonID = await this.resolveOrEnsurePerson(payerFields, contextUser, true);
1603
+ const payerPersonID = await this.resolveOrEnsurePerson(payerFields, contextUser, false);
1572
1604
  if (payerPersonID) {
1573
1605
  session.PersonID = payerPersonID;
1574
1606
  }
1607
+ else if (session.Email?.trim()) {
1608
+ newPayerFields = payerFields;
1609
+ }
1575
1610
  }
1576
- if (!session.PersonID) {
1611
+ if (!session.PersonID && !newPayerFields) {
1577
1612
  await CheckoutSessionService.revertSessionOpenAtomic(sessionID, md, contextUser);
1578
1613
  session.Status = 'Open';
1579
1614
  return {
@@ -1597,6 +1632,8 @@ export class CheckoutSessionService {
1597
1632
  // this checkout cannot prove. Config() is a no-op once loaded.
1598
1633
  await BusinessTimeZoneEngine.Instance.Config(false, contextUser ?? md.CurrentUser, Metadata.Provider);
1599
1634
  order.OrderDate = TodayAsDateValue();
1635
+ // Attendees whose e-mail matches no Person yet: created after payment checks out.
1636
+ const newAttendees = [];
1600
1637
  let sequence = 1;
1601
1638
  for (const inputLine of linesInput) {
1602
1639
  // Validate quantity: must be positive integer >= 1
@@ -1664,13 +1701,30 @@ export class CheckoutSessionService {
1664
1701
  Status: 'Open'
1665
1702
  };
1666
1703
  }
1704
+ const unitMismatch = this.unitDetailsMismatch(unitMode, inputLine.Quantity, unitPayloads);
1705
+ if (unitMismatch) {
1706
+ await CheckoutSessionService.revertSessionOpenAtomic(sessionID, md, contextUser);
1707
+ session.Status = 'Open';
1708
+ return {
1709
+ Success: false,
1710
+ ErrorMessage: unitMismatch,
1711
+ SessionID: sessionID,
1712
+ Status: 'Open'
1713
+ };
1714
+ }
1715
+ const hydrate = async (line, unitData) => {
1716
+ const hydrated = await this.hydrateLineExtension(line, targetExtensionEntity, unitData, contextUser, false);
1717
+ if (!hydrated.PersonID && hydrated.Extension) {
1718
+ newAttendees.push({ Fields: unitData, Extension: hydrated.Extension });
1719
+ }
1720
+ };
1667
1721
  if ((unitMode === 'perUnit' || unitPayloads.length > 1) && unitPayloads.length > 0) {
1668
1722
  for (const unitData of unitPayloads) {
1669
1723
  const line = await this.createOrderLine(order, targetExtensionEntity, md, contextUser);
1670
1724
  line.ProductID = inputLine.ProductID;
1671
1725
  line.Quantity = 1;
1672
1726
  line.LineNumber = sequence++;
1673
- await this.hydrateLineExtension(line, targetExtensionEntity, unitData, contextUser);
1727
+ await hydrate(line, unitData);
1674
1728
  }
1675
1729
  }
1676
1730
  else {
@@ -1679,7 +1733,7 @@ export class CheckoutSessionService {
1679
1733
  line.Quantity = inputLine.Quantity;
1680
1734
  line.LineNumber = sequence++;
1681
1735
  if (unitPayloads.length > 0) {
1682
- await this.hydrateLineExtension(line, targetExtensionEntity, unitPayloads[0], contextUser);
1736
+ await hydrate(line, unitPayloads[0]);
1683
1737
  }
1684
1738
  }
1685
1739
  }
@@ -1718,8 +1772,11 @@ export class CheckoutSessionService {
1718
1772
  Provider: (order.ProviderToUse ?? md),
1719
1773
  User: contextUser ?? order.ContextCurrentUser,
1720
1774
  });
1721
- // Priced inline, exactly as the draft was: the Address row is recorded only once
1722
- // payment checks out, so a refused payment leaves no row behind.
1775
+ // Priced inline, exactly as the draft was: the Address row and any new Person are
1776
+ // recorded only once payment checks out, so a refused payment leaves no row behind.
1777
+ // A new buyer is priced with no BillToPersonID, as the draft was; a Person created
1778
+ // moments later holds no price list, membership, exemption or order history, so
1779
+ // pricing it would not change the price.
1723
1780
  const priced = await pricingService.Price({
1724
1781
  OrderHeaderID: order.ID || null,
1725
1782
  CompanyID: widget.CompanyID,
@@ -1783,6 +1840,22 @@ export class CheckoutSessionService {
1783
1840
  // an order. Record the attempt; Confirm rolls back on failure, the record does not.
1784
1841
  confirmStep = await CheckoutStepLog.Begin(sessionID, 'Confirm', 'Checkout', contextUser);
1785
1842
  }
1843
+ // Payment has checked out (or none was due): create the Persons the checkout needs.
1844
+ if (newPayerFields) {
1845
+ const payerPersonID = await this.resolveOrEnsurePerson(newPayerFields, contextUser, true);
1846
+ if (!payerPersonID) {
1847
+ throw new Error(`Could not create the buyer's Person record for ${session.Email}`);
1848
+ }
1849
+ session.PersonID = payerPersonID;
1850
+ order.BillToPersonID = payerPersonID;
1851
+ order.ShipToPersonID = payerPersonID;
1852
+ }
1853
+ for (const attendee of newAttendees) {
1854
+ const attendeePersonID = await this.resolveOrEnsurePerson(attendee.Fields, contextUser, true);
1855
+ if (attendeePersonID) {
1856
+ this.setExtensionPerson(attendee.Extension, attendeePersonID);
1857
+ }
1858
+ }
1786
1859
  // The billing location is the only location a self-serve sale has, so it is both the
1787
1860
  // bill-to and the ship-to — the ship-to is what tax is resolved from when Confirm()
1788
1861
  // re-prices the order.
@@ -1816,13 +1889,18 @@ export class CheckoutSessionService {
1816
1889
  let claimToken;
1817
1890
  if (session.Email) {
1818
1891
  try {
1892
+ // Claim types are cached at startup; Config() is a no-op once loaded.
1893
+ await IdentityClaimEngineServer.Instance.Config(false, contextUser);
1819
1894
  const claim = await IdentityClaimEngineServer.Instance.CreateClaim({
1820
1895
  ClaimTypeName: 'GuestOrder',
1821
1896
  RecordID: order.ID,
1822
1897
  EntityID: md.EntityByName(ORDER_HEADER_ENTITY)?.ID ?? null,
1823
1898
  NormalizedEmail: session.Email,
1824
1899
  Payload: { OrderID: order.ID, OrderNumber: order.OrderNumber || order.ID },
1825
- SendEmail: true
1900
+ // Claim e-mails stay off until a claim e-mail template and the portal base
1901
+ // URL are configured; without them MJ sends a generic message linking to
1902
+ // its default host.
1903
+ SendEmail: false
1826
1904
  }, contextUser);
1827
1905
  claimToken = claim?.ID;
1828
1906
  }