@mj-biz-apps/orders-core-entities-server 5.1.0 → 5.2.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 (99) hide show
  1. package/README.md +3 -1
  2. package/dist/AdvanceOrderStateOperation.d.ts.map +1 -1
  3. package/dist/AdvanceOrderStateOperation.js +35 -50
  4. package/dist/AdvanceOrderStateOperation.js.map +1 -1
  5. package/dist/BasePaymentProvider.d.ts +24 -0
  6. package/dist/BasePaymentProvider.d.ts.map +1 -1
  7. package/dist/BasePaymentProvider.js +10 -0
  8. package/dist/BasePaymentProvider.js.map +1 -1
  9. package/dist/CancelSubscriptionOperation.d.ts +9 -1
  10. package/dist/CancelSubscriptionOperation.d.ts.map +1 -1
  11. package/dist/CancelSubscriptionOperation.js +15 -3
  12. package/dist/CancelSubscriptionOperation.js.map +1 -1
  13. package/dist/CheckEntitlementOperation.d.ts +27 -0
  14. package/dist/CheckEntitlementOperation.d.ts.map +1 -0
  15. package/dist/CheckEntitlementOperation.js +45 -0
  16. package/dist/CheckEntitlementOperation.js.map +1 -0
  17. package/dist/CheckoutSessionService.d.ts +258 -0
  18. package/dist/CheckoutSessionService.d.ts.map +1 -0
  19. package/dist/CheckoutSessionService.js +1557 -0
  20. package/dist/CheckoutSessionService.js.map +1 -0
  21. package/dist/EntitlementBehavior.d.ts +68 -0
  22. package/dist/EntitlementBehavior.d.ts.map +1 -1
  23. package/dist/EntitlementBehavior.js +126 -0
  24. package/dist/EntitlementBehavior.js.map +1 -1
  25. package/dist/EntitlementEngine.d.ts +11 -0
  26. package/dist/EntitlementEngine.d.ts.map +1 -1
  27. package/dist/EntitlementEngine.js +38 -1
  28. package/dist/EntitlementEngine.js.map +1 -1
  29. package/dist/EntitlementGrantClaimDriver.d.ts +42 -0
  30. package/dist/EntitlementGrantClaimDriver.d.ts.map +1 -0
  31. package/dist/EntitlementGrantClaimDriver.js +158 -0
  32. package/dist/EntitlementGrantClaimDriver.js.map +1 -0
  33. package/dist/EntitlementRead.d.ts +82 -0
  34. package/dist/EntitlementRead.d.ts.map +1 -0
  35. package/dist/EntitlementRead.js +368 -0
  36. package/dist/EntitlementRead.js.map +1 -0
  37. package/dist/FulfillOrderLinesOperation.d.ts.map +1 -1
  38. package/dist/FulfillOrderLinesOperation.js +6 -12
  39. package/dist/FulfillOrderLinesOperation.js.map +1 -1
  40. package/dist/FulfillmentBehavior.js +2 -2
  41. package/dist/FulfillmentBehavior.js.map +1 -1
  42. package/dist/GetFulfillmentQueueOperation.d.ts.map +1 -1
  43. package/dist/GetFulfillmentQueueOperation.js +2 -4
  44. package/dist/GetFulfillmentQueueOperation.js.map +1 -1
  45. package/dist/GuestOrderClaimDriver.d.ts +36 -0
  46. package/dist/GuestOrderClaimDriver.d.ts.map +1 -0
  47. package/dist/GuestOrderClaimDriver.js +161 -0
  48. package/dist/GuestOrderClaimDriver.js.map +1 -0
  49. package/dist/ListEntitlementsOperation.d.ts +21 -0
  50. package/dist/ListEntitlementsOperation.d.ts.map +1 -0
  51. package/dist/ListEntitlementsOperation.js +39 -0
  52. package/dist/ListEntitlementsOperation.js.map +1 -0
  53. package/dist/OrderEntityServer.d.ts.map +1 -1
  54. package/dist/OrderEntityServer.js +2 -5
  55. package/dist/OrderEntityServer.js.map +1 -1
  56. package/dist/OrdersSettings.d.ts +5 -0
  57. package/dist/OrdersSettings.d.ts.map +1 -1
  58. package/dist/OrdersSettings.js +46 -5
  59. package/dist/OrdersSettings.js.map +1 -1
  60. package/dist/PaymentWebhookHandler.d.ts.map +1 -1
  61. package/dist/PaymentWebhookHandler.js +52 -3
  62. package/dist/PaymentWebhookHandler.js.map +1 -1
  63. package/dist/PreviewPriceOperation.d.ts +10 -17
  64. package/dist/PreviewPriceOperation.d.ts.map +1 -1
  65. package/dist/PreviewPriceOperation.js +40 -28
  66. package/dist/PreviewPriceOperation.js.map +1 -1
  67. package/dist/PriceOrderOperation.d.ts +5 -8
  68. package/dist/PriceOrderOperation.d.ts.map +1 -1
  69. package/dist/PriceOrderOperation.js +5 -8
  70. package/dist/PriceOrderOperation.js.map +1 -1
  71. package/dist/StripePaymentProvider.d.ts +13 -1
  72. package/dist/StripePaymentProvider.d.ts.map +1 -1
  73. package/dist/StripePaymentProvider.js +73 -15
  74. package/dist/StripePaymentProvider.js.map +1 -1
  75. package/dist/checkoutCaptureAlert.d.ts +16 -0
  76. package/dist/checkoutCaptureAlert.d.ts.map +1 -0
  77. package/dist/checkoutCaptureAlert.js +55 -0
  78. package/dist/checkoutCaptureAlert.js.map +1 -0
  79. package/dist/checkoutCaptureRetry.d.ts +27 -0
  80. package/dist/checkoutCaptureRetry.d.ts.map +1 -0
  81. package/dist/checkoutCaptureRetry.js +50 -0
  82. package/dist/checkoutCaptureRetry.js.map +1 -0
  83. package/dist/claimDriverHelpers.d.ts +15 -0
  84. package/dist/claimDriverHelpers.d.ts.map +1 -0
  85. package/dist/claimDriverHelpers.js +34 -0
  86. package/dist/claimDriverHelpers.js.map +1 -0
  87. package/dist/identityClaimContracts.d.ts +118 -0
  88. package/dist/identityClaimContracts.d.ts.map +1 -0
  89. package/dist/identityClaimContracts.js +58 -0
  90. package/dist/identityClaimContracts.js.map +1 -0
  91. package/dist/index.d.ts +17 -5
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +16 -3
  94. package/dist/index.js.map +1 -1
  95. package/dist/sql-guards.d.ts +16 -0
  96. package/dist/sql-guards.d.ts.map +1 -1
  97. package/dist/sql-guards.js +21 -0
  98. package/dist/sql-guards.js.map +1 -1
  99. package/package.json +17 -9
@@ -7,31 +7,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  /**
8
8
  * Orders.PreviewPrice — what would this customer pay for this product, and why? (plan D69)
9
9
  *
10
- * THE ONE RULE THAT MATTERS: this runs the REAL pipeline. It calls `ResolvePrice`, the same function
11
- * the order path calls, with the same context shape. A preview computed by a parallel simplified
12
- * implementation is worse than no preview, because people trust it and it diverges silently — the
13
- * quote says one number and the invoice says another, and nobody can say which is wrong.
10
+ * THE ONE RULE THAT MATTERS: this is a one-line `OrderPricingService` call. Save, `Orders.PriceOrder`,
11
+ * and this operation share that walk. Calling `ResolvePrice` here used to be a second entry point;
12
+ * it could return base list while booking used the member list (IT PC14).
14
13
  *
15
- * Nothing is written. That is the only difference from pricing a line.
14
+ * Nothing is written. Lines are materialised with `NewRecord()` and never `Save()`'d — same as
15
+ * `Orders.PriceOrder`.
16
16
  *
17
- * WHAT IT IS FOR
18
- * - a sales rep checking what an account is entitled to before quoting
19
- * - a product screen showing "your price" against list
20
- * - proving a new price rule does what its author meant before it goes live
17
+ * The output is still one SKU's unit price and decomposition. Promotions / charges / tax that the
18
+ * walk also runs on a one-line order are not the contract of this operation (they need a full
19
+ * header; use `Orders.PriceOrder`). UnitPrice / ExtendedAmount come from the walk's line stamp.
21
20
  *
22
- * Refusals come back INSIDE the output as `Success: false` with the reason — the same contract
23
- * `Orders.RefundPayment` and `Orders.ApplyAccountCredit` use. Only genuine faults throw. An
24
- * ambiguous rule set is a refusal, not a fault: it is a configuration problem the caller can fix,
25
- * and the message names the rules that collided.
26
- *
27
- * CONNECTS TO:
28
- * ENGINE: ./PriceResolver.ts (ResolvePrice — the same call the order path makes)
29
- * DOC: plans/archive/pricing-charges-and-promotions.md §9
21
+ * Refusals come back INSIDE the output as `Success: false`. Ambiguous rules and unpriced products
22
+ * are refusals, not faults.
30
23
  */
31
- import { BaseRemotableOperation, LogError, RunView, } from '@memberjunction/core';
24
+ import { BaseRemotableOperation, LogError, Metadata, RunView, } from '@memberjunction/core';
32
25
  import { RegisterClass } from '@memberjunction/global';
26
+ import { OrderPricingService, PriceResolutionError, ResolvePriceListForCustomer } from '@mj-biz-apps/orders-entities';
33
27
  import { RequireOptionalUUID, RequireUUID } from './sql-guards.js';
34
- import { PriceResolutionError, ResolvePrice, ResolvePriceListForCustomer } from '@mj-biz-apps/orders-entities';
28
+ const ORDER_LINE_ENTITY = 'MJ_BizApps_Orders: Order Lines';
35
29
  let PreviewPriceOperation = class PreviewPriceOperation extends BaseRemotableOperation {
36
30
  constructor() {
37
31
  super(...arguments);
@@ -59,7 +53,12 @@ let PreviewPriceOperation = class PreviewPriceOperation extends BaseRemotableOpe
59
53
  if (Number.isNaN(asOf.getTime())) {
60
54
  return { Success: false, Message: `AsOf is not a valid date (received ${String(input.AsOf)}).` };
61
55
  }
62
- const ctx = {
56
+ const md = new Metadata();
57
+ const line = await md.GetEntityObject(ORDER_LINE_ENTITY, user);
58
+ line.NewRecord();
59
+ line.ProductID = input.ProductID;
60
+ line.Quantity = quantity;
61
+ const listCtx = {
63
62
  ProductID: input.ProductID,
64
63
  ProductCategoryID: product.ProductCategoryID,
65
64
  CompanyID: product.CompanyID,
@@ -71,7 +70,21 @@ let PreviewPriceOperation = class PreviewPriceOperation extends BaseRemotableOpe
71
70
  ...(input.FeeType ? { FeeType: input.FeeType } : {}),
72
71
  };
73
72
  try {
74
- const resolved = await ResolvePrice(ctx, provider, user);
73
+ const result = await new OrderPricingService({ Provider: provider, User: user }).Price({
74
+ OrderHeaderID: null,
75
+ CompanyID: product.CompanyID,
76
+ BillToPersonID: input.PersonID ?? null,
77
+ BillToOrganizationID: input.OrganizationID ?? null,
78
+ OrderDate: asOf,
79
+ ShipToAddressID: null,
80
+ Lines: [line],
81
+ PromotionCodes: [],
82
+ ManualDiscounts: [],
83
+ Charges: [],
84
+ ...(input.PriceListID !== undefined ? { PriceListID: input.PriceListID } : {}),
85
+ ...(input.FeeType ? { FeeType: input.FeeType } : {}),
86
+ });
87
+ const resolved = result.PriceComponents.get(line);
75
88
  if (!resolved) {
76
89
  return {
77
90
  Success: false,
@@ -82,7 +95,7 @@ let PreviewPriceOperation = class PreviewPriceOperation extends BaseRemotableOpe
82
95
  }
83
96
  // Report the list actually in force, even when the winning rule was a base rule: "you are
84
97
  // on WHOLESALE but this SKU has no wholesale rate" is the answer people are looking for.
85
- const listID = resolved.PriceListID ?? (await ResolvePriceListForCustomer(ctx, provider, user));
98
+ const listID = resolved.PriceListID ?? (await ResolvePriceListForCustomer(listCtx, provider, user));
86
99
  const listName = listID ? await this.loadPriceListName(provider, user, listID) : null;
87
100
  return {
88
101
  Success: true,
@@ -104,12 +117,11 @@ let PreviewPriceOperation = class PreviewPriceOperation extends BaseRemotableOpe
104
117
  };
105
118
  }
106
119
  catch (err) {
107
- // A configuration problem the caller can act on — an ambiguous rule set, an unimplemented
108
- // pricing model — is a REFUSAL with its reason, not a fault. Reporting it as a thrown
109
- // error would make the preview look broken when it is in fact working correctly and
110
- // telling you something true.
111
- if (err instanceof PriceResolutionError) {
112
- return { Success: false, Message: err.message, Quantity: quantity };
120
+ // Configuration problems (ambiguous rules, unpriced SKU) are REFUSALS with a reason, not
121
+ // faults. The walk throws those; mapping them here keeps the PreviewPrice contract.
122
+ const message = err instanceof Error ? err.message : String(err);
123
+ if (err instanceof PriceResolutionError || /cannot be priced|ambiguous/i.test(message)) {
124
+ return { Success: false, Message: message, Quantity: quantity };
113
125
  }
114
126
  LogError(err);
115
127
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewPriceOperation.js","sourceRoot":"","sources":["../src/PreviewPriceOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PreviewPriceOperation.js","sourceRoot":"","sources":["../src/PreviewPriceOperation.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,12 @@
1
1
  /**
2
2
  * @fileoverview `Orders.PriceOrder` — what a whole order comes to, persisting nothing.
3
3
  *
4
- * THE ONE RULE THAT MATTERS, same as `Orders.PreviewPrice`: this runs the REAL pipeline. It calls
5
- * `OrderPricingService`, which is precisely what `OrderEntityServer.Save()` calls before it books.
6
- * There is no second implementation to drift, which is the only way the number on the screen and
7
- * the number in the ledger stay the same.
4
+ * THE ONE RULE THAT MATTERS: this runs `OrderPricingService`, which is precisely what
5
+ * `OrderEntityServer.Save()` and `Orders.PreviewPrice` call. There is no second implementation to
6
+ * drift, which is the only way the number on the screen and the number in the ledger stay the same.
8
7
  *
9
- * WHY IT EXISTS ALONGSIDE `PreviewPrice`. That operation answers for ONE product and says so in its
10
- * own description — its answer is advisory, because promotions stack against ORDER totals, charges
11
- * apportion ACROSS lines, and tax computes on the discounted amount rather than list price. A
12
- * per-line preview cannot see any of that. This one can.
8
+ * WHY IT EXISTS ALONGSIDE `PreviewPrice`. That operation is a one-line call to the same service and
9
+ * reports one SKU's unit price. This one prices the whole header — promotions, charges, tax.
13
10
  *
14
11
  * WHAT IT REPLACED. An earlier `Orders.PreviewOrder` ran the REAL save inside a transaction that
15
12
  * always rolled back, then read the computed values off the entities before they vanished. The
@@ -1 +1 @@
1
- {"version":3,"file":"PriceOrderOperation.d.ts","sourceRoot":"","sources":["../src/PriceOrderOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EACH,sBAAsB,EAEtB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAQ9B,UAAU,eAAe;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACpC,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChH,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpH;AAED,UAAU,UAAU;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,UAAU,gBAAgB;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,qBACa,mBAAoB,SAAQ,sBAAsB,CAAC,eAAe,EAAE,gBAAgB,CAAC;IACvF,YAAY,SAAuB;cAE1B,eAAe,CAC3B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,gBAAgB,CAAC;CAmG/B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"PriceOrderOperation.d.ts","sourceRoot":"","sources":["../src/PriceOrderOperation.ts"],"names":[],"mappings":"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"}
@@ -7,15 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  /**
8
8
  * @fileoverview `Orders.PriceOrder` — what a whole order comes to, persisting nothing.
9
9
  *
10
- * THE ONE RULE THAT MATTERS, same as `Orders.PreviewPrice`: this runs the REAL pipeline. It calls
11
- * `OrderPricingService`, which is precisely what `OrderEntityServer.Save()` calls before it books.
12
- * There is no second implementation to drift, which is the only way the number on the screen and
13
- * the number in the ledger stay the same.
10
+ * THE ONE RULE THAT MATTERS: this runs `OrderPricingService`, which is precisely what
11
+ * `OrderEntityServer.Save()` and `Orders.PreviewPrice` call. There is no second implementation to
12
+ * drift, which is the only way the number on the screen and the number in the ledger stay the same.
14
13
  *
15
- * WHY IT EXISTS ALONGSIDE `PreviewPrice`. That operation answers for ONE product and says so in its
16
- * own description — its answer is advisory, because promotions stack against ORDER totals, charges
17
- * apportion ACROSS lines, and tax computes on the discounted amount rather than list price. A
18
- * per-line preview cannot see any of that. This one can.
14
+ * WHY IT EXISTS ALONGSIDE `PreviewPrice`. That operation is a one-line call to the same service and
15
+ * reports one SKU's unit price. This one prices the whole header — promotions, charges, tax.
19
16
  *
20
17
  * WHAT IT REPLACED. An earlier `Orders.PreviewOrder` ran the REAL save inside a transaction that
21
18
  * always rolled back, then read the computed values off the entities before they vanished. The
@@ -1 +1 @@
1
- {"version":3,"file":"PriceOrderOperation.js","sourceRoot":"","sources":["../src/PriceOrderOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PriceOrderOperation.js","sourceRoot":"","sources":["../src/PriceOrderOperation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BasePaymentProvider, type CaptureRequest, type CaptureResult, type CreateIntentRequest, type CreateIntentResult, type RefundRequest, type RefundResult, type WebhookEvent } from './BasePaymentProvider.js';
1
+ import { BasePaymentProvider, type CaptureRequest, type CaptureResult, type CreateIntentRequest, type CreateIntentResult, type RefundRequest, type RefundResult, type RetrieveIntentRequest, type RetrieveIntentResult, type WebhookEvent } from './BasePaymentProvider.js';
2
2
  import { type IntentStatus } from './PaymentProviderBehavior.js';
3
3
  export declare class StripePaymentProvider extends BasePaymentProvider {
4
4
  get HandledEventKinds(): readonly string[];
@@ -25,6 +25,7 @@ export declare class StripePaymentProvider extends BasePaymentProvider {
25
25
  */
26
26
  protected DecorateIntentBody(_body: Record<string, string>, _request: CreateIntentRequest): void;
27
27
  CreateIntent(request: CreateIntentRequest): Promise<CreateIntentResult>;
28
+ RetrieveIntent(request: RetrieveIntentRequest): Promise<RetrieveIntentResult>;
28
29
  Capture(request: CaptureRequest): Promise<CaptureResult>;
29
30
  Refund(request: RefundRequest): Promise<RefundResult>;
30
31
  VerifyWebhook(rawBody: string, headers: Record<string, string | undefined>): Promise<{
@@ -46,6 +47,12 @@ export declare class StripePaymentProvider extends BasePaymentProvider {
46
47
  Reason?: string;
47
48
  Body: Record<string, unknown>;
48
49
  }>;
50
+ /**
51
+ * Map a Succeeded Stripe PaymentIntent body onto our CaptureResult. Shared by a real
52
+ * POST /capture and by the already-captured retrieve fallback so both paths stamp the
53
+ * same charge id and fee.
54
+ */
55
+ private captureResultFromIntent;
49
56
  /** `latest_charge` is a string on modern API versions and an object on older expanded responses. */
50
57
  protected latestCharge(object: Record<string, unknown>): string | null;
51
58
  /**
@@ -66,6 +73,11 @@ export declare class StripePaymentProvider extends BasePaymentProvider {
66
73
  * body with template strings is exactly how an unescaped value ends up changing the request.
67
74
  */
68
75
  export declare function ToFormBody(fields: Record<string, string>): string;
76
+ /**
77
+ * True when Stripe refused POST /capture because the intent was already captured
78
+ * (automatic-capture confirmCardPayment, or a retried Capture).
79
+ */
80
+ export declare function stripeCaptureAlreadyCollected(reason: string | undefined, body: Record<string, unknown>): boolean;
69
81
  /** Tree-shaking anchor — call from the server bootstrap so @RegisterClass is retained. */
70
82
  export declare function LoadStripePaymentProvider(): void;
71
83
  //# sourceMappingURL=StripePaymentProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StripePaymentProvider.d.ts","sourceRoot":"","sources":["../src/StripePaymentProvider.ts"],"names":[],"mappings":"AA8BA,OAAO,EACH,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAKH,KAAK,YAAY,EACpB,MAAM,8BAA8B,CAAC;AAYtC,qBACa,qBAAsB,SAAQ,mBAAmB;IAC1D,IAAoB,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAEzD;IAED,sEAAsE;IACtE,SAAS,KAAK,OAAO,IAAI,OAAO,CAE/B;IAUD;;;;;OAKG;IACH,SAAS,KAAK,gBAAgB,IAAI,YAAY,CAE7C;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAInE;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAM1E,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+CvE,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAoDxD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAiCrD,aAAa,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC5C,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/B,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAiDvE;;;;;;;;OAQG;cACa,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,KAAK,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,cAAc,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAuD3E,oGAAoG;IACpG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAStE;;;;;;;OAOG;cACa,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAcjG;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAMjE;AAED,0FAA0F;AAC1F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
1
+ {"version":3,"file":"StripePaymentProvider.d.ts","sourceRoot":"","sources":["../src/StripePaymentProvider.ts"],"names":[],"mappings":"AA8BA,OAAO,EACH,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAKH,KAAK,YAAY,EACpB,MAAM,8BAA8B,CAAC;AAYtC,qBACa,qBAAsB,SAAQ,mBAAmB;IAC1D,IAAoB,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAEzD;IAED,sEAAsE;IACtE,SAAS,KAAK,OAAO,IAAI,OAAO,CAE/B;IAUD;;;;;OAKG;IACH,SAAS,KAAK,gBAAgB,IAAI,YAAY,CAE7C;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAInE;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAM1E,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6CvE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2B7E,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDxD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAiCrD,aAAa,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC5C,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/B,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAqDvE;;;;;;;;OAQG;cACa,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,KAAK,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,cAAc,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAuD3E;;;;OAIG;YACW,uBAAuB;IAoBrC,oGAAoG;IACpG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAStE;;;;;;;OAOG;cACa,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAcjG;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAMjE;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CACzC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAST;AAED,0FAA0F;AAC1F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
@@ -130,6 +130,27 @@ let StripePaymentProvider = class StripePaymentProvider extends BasePaymentProvi
130
130
  ClientSecret: result.Body.client_secret,
131
131
  };
132
132
  }
133
+ async RetrieveIntent(request) {
134
+ if (!request.ProviderIntentID) {
135
+ return { Success: false, Reason: 'A Stripe retrieve needs a provider intent id.' };
136
+ }
137
+ if (this.useStub) {
138
+ // The stub never sees a browser confirmCardPayment; it stays RequiresPayment
139
+ // until Capture, matching the card rail's opening state.
140
+ return { Success: true, Status: this.StubIntentStatus };
141
+ }
142
+ const result = await this.call('GET', `/payment_intents/${encodeURIComponent(request.ProviderIntentID)}`);
143
+ if (!result.Ok) {
144
+ return { Success: false, Reason: result.Reason };
145
+ }
146
+ const currency = (result.Body.currency ?? 'usd').toUpperCase();
147
+ const minor = Number(result.Body.amount_received ?? result.Body.amount ?? 0);
148
+ return {
149
+ Success: true,
150
+ Status: MapStripeIntentStatus(result.Body.status),
151
+ Amount: Number.isFinite(minor) && minor > 0 ? FromMinorUnits(minor, currency) : undefined,
152
+ };
153
+ }
133
154
  // ─── Capture ───────────────────────────────────────────────────────────────
134
155
  async Capture(request) {
135
156
  if (this.useStub) {
@@ -150,28 +171,28 @@ let StripePaymentProvider = class StripePaymentProvider extends BasePaymentProvi
150
171
  body.amount_to_capture = String(ToMinorUnits(request.Amount, request.CurrencyCode));
151
172
  }
152
173
  const captured = await this.call('POST', `/payment_intents/${encodeURIComponent(request.ProviderIntentID)}/capture`, body);
153
- if (!captured.Ok)
174
+ if (!captured.Ok) {
175
+ // Browser confirmCardPayment with automatic capture already captured the intent.
176
+ // POST /capture then returns payment_intent_unexpected_state. Treat that as
177
+ // success by reading the Succeeded intent — same money, not a second capture.
178
+ if (stripeCaptureAlreadyCollected(captured.Reason, captured.Body)) {
179
+ const retrieved = await this.call('GET', `/payment_intents/${encodeURIComponent(request.ProviderIntentID)}`);
180
+ if (retrieved.Ok) {
181
+ const retrievedStatus = MapStripeIntentStatus(retrieved.Body.status);
182
+ if (retrievedStatus === 'Succeeded') {
183
+ return this.captureResultFromIntent(retrieved.Body, request);
184
+ }
185
+ }
186
+ }
154
187
  return { Success: false, Reason: captured.Reason };
188
+ }
155
189
  const status = MapStripeIntentStatus(captured.Body.status);
156
190
  if (status !== 'Succeeded') {
157
191
  // A capture that did not succeed is a REFUSAL, not a fault: the card was declined, or the
158
192
  // intent needed action. Reporting success here would book cash that never arrived.
159
193
  return { Success: false, Reason: `Stripe reported the intent as '${captured.Body.status}' after capture.`, Status: status };
160
194
  }
161
- const currency = captured.Body.currency ?? request.CurrencyCode;
162
- const amountMinor = Number(captured.Body.amount_received ?? captured.Body.amount ?? 0);
163
- const charge = this.latestCharge(captured.Body);
164
- return {
165
- Success: true,
166
- Amount: FromMinorUnits(amountMinor, currency),
167
- // UNDEFINED rather than zero when the fee is not expanded in the response. Stripe reports
168
- // it on the balance transaction, which needs a separate fetch, and "we do not know the fee"
169
- // must not read as "there was no fee" — the first leaves the fee leg unbooked, the second
170
- // books a wrong one.
171
- FeeAmount: await this.feeFor(charge, currency),
172
- ProviderChargeID: charge ?? undefined,
173
- Status: 'Succeeded',
174
- };
195
+ return this.captureResultFromIntent(captured.Body, request);
175
196
  }
176
197
  // ─── Refund ────────────────────────────────────────────────────────────────
177
198
  async Refund(request) {
@@ -236,6 +257,10 @@ let StripePaymentProvider = class StripePaymentProvider extends BasePaymentProvi
236
257
  return null;
237
258
  const currency = (object.currency ?? 'usd').toUpperCase();
238
259
  const event = { EventID: String(payload.id), Kind: kind, CurrencyCode: currency };
260
+ const created = Number(payload.created);
261
+ if (Number.isFinite(created) && created > 0) {
262
+ event.OccurredAt = new Date(created * 1000);
263
+ }
239
264
  if (kind.startsWith('payment_intent.')) {
240
265
  event.ProviderIntentID = object.id;
241
266
  event.ProviderChargeID = this.latestCharge(object) ?? undefined;
@@ -320,6 +345,27 @@ let StripePaymentProvider = class StripePaymentProvider extends BasePaymentProvi
320
345
  LogError(`Stripe ${method} ${path} refused: ${reason}`);
321
346
  return { Ok: false, Body: parsed, Reason: reason };
322
347
  }
348
+ /**
349
+ * Map a Succeeded Stripe PaymentIntent body onto our CaptureResult. Shared by a real
350
+ * POST /capture and by the already-captured retrieve fallback so both paths stamp the
351
+ * same charge id and fee.
352
+ */
353
+ async captureResultFromIntent(body, request) {
354
+ const currency = body.currency ?? request.CurrencyCode;
355
+ const amountMinor = Number(body.amount_received ?? body.amount ?? 0);
356
+ const charge = this.latestCharge(body);
357
+ return {
358
+ Success: true,
359
+ Amount: FromMinorUnits(amountMinor, currency),
360
+ // UNDEFINED rather than zero when the fee is not expanded in the response. Stripe reports
361
+ // it on the balance transaction, which needs a separate fetch, and "we do not know the fee"
362
+ // must not read as "there was no fee" — the first leaves the fee leg unbooked, the second
363
+ // books a wrong one.
364
+ FeeAmount: await this.feeFor(charge, currency),
365
+ ProviderChargeID: charge ?? undefined,
366
+ Status: 'Succeeded',
367
+ };
368
+ }
323
369
  /** `latest_charge` is a string on modern API versions and an object on older expanded responses. */
324
370
  latestCharge(object) {
325
371
  const latest = object.latest_charge;
@@ -377,6 +423,18 @@ export function ToFormBody(fields) {
377
423
  }
378
424
  return params.toString();
379
425
  }
426
+ /**
427
+ * True when Stripe refused POST /capture because the intent was already captured
428
+ * (automatic-capture confirmCardPayment, or a retried Capture).
429
+ */
430
+ export function stripeCaptureAlreadyCollected(reason, body) {
431
+ const error = (body?.error ?? {});
432
+ const code = String(error.code ?? '');
433
+ const msg = `${reason ?? ''} ${String(error.message ?? '')}`.toLowerCase();
434
+ return (code === 'payment_intent_unexpected_state' ||
435
+ msg.includes('already been captured') ||
436
+ msg.includes('already succeeded'));
437
+ }
380
438
  /** Tree-shaking anchor — call from the server bootstrap so @RegisterClass is retained. */
381
439
  export function LoadStripePaymentProvider() {
382
440
  // intentionally empty
@@ -1 +1 @@
1
- {"version":3,"file":"StripePaymentProvider.js","sourceRoot":"","sources":["../src/StripePaymentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StripePaymentProvider.js","sourceRoot":"","sources":["../src/StripePaymentProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Durable signal when a settled checkout payment will never book on retry.
3
+ *
4
+ * The log marker is the alert floor. A Tasks row is the human-visible artifact —
5
+ * only if bizapps-tasks is installed AND a GENERAL TaskType can be resolved by
6
+ * Code. TypeID is NOT NULL with no default; writing a Task without it always fails.
7
+ *
8
+ * Reads and writes go through the generated Tasks subclasses, not `.Get()` / `.Set()`.
9
+ */
10
+ import { type UserInfo } from '@memberjunction/core';
11
+ export declare const CHECKOUT_CAPTURE_TASK_ENTITY = "MJ_BizApps_Tasks: Tasks";
12
+ export declare const CHECKOUT_CAPTURE_TASK_TYPE_ENTITY = "MJ_BizApps_Tasks: Task Types";
13
+ /** Seeded TaskType.Code — resolved at runtime, never a hardcoded GUID. */
14
+ export declare const CHECKOUT_CAPTURE_TASK_TYPE_CODE = "GENERAL";
15
+ export declare function raiseCheckoutCaptureTerminalAlert(orderID: string, sessionID: string | undefined, reason: string, contextUser?: UserInfo): Promise<void>;
16
+ //# sourceMappingURL=checkoutCaptureAlert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkoutCaptureAlert.d.ts","sourceRoot":"","sources":["../src/checkoutCaptureAlert.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA+B,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQlF,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AACtE,eAAO,MAAM,iCAAiC,iCAAiC,CAAC;AAChF,0EAA0E;AAC1E,eAAO,MAAM,+BAA+B,YAAY,CAAC;AAEzD,wBAAsB,iCAAiC,CACnD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Durable signal when a settled checkout payment will never book on retry.
3
+ *
4
+ * The log marker is the alert floor. A Tasks row is the human-visible artifact —
5
+ * only if bizapps-tasks is installed AND a GENERAL TaskType can be resolved by
6
+ * Code. TypeID is NOT NULL with no default; writing a Task without it always fails.
7
+ *
8
+ * Reads and writes go through the generated Tasks subclasses, not `.Get()` / `.Set()`.
9
+ */
10
+ import { LogError, Metadata, RunView } from '@memberjunction/core';
11
+ import { CHECKOUT_CAPTURE_TERMINAL_LOG_MARKER } from './checkoutCaptureRetry.js';
12
+ import { EscapeText } from './sql-guards.js';
13
+ export const CHECKOUT_CAPTURE_TASK_ENTITY = 'MJ_BizApps_Tasks: Tasks';
14
+ export const CHECKOUT_CAPTURE_TASK_TYPE_ENTITY = 'MJ_BizApps_Tasks: Task Types';
15
+ /** Seeded TaskType.Code — resolved at runtime, never a hardcoded GUID. */
16
+ export const CHECKOUT_CAPTURE_TASK_TYPE_CODE = 'GENERAL';
17
+ export async function raiseCheckoutCaptureTerminalAlert(orderID, sessionID, reason, contextUser) {
18
+ LogError(`${CHECKOUT_CAPTURE_TERMINAL_LOG_MARKER} Settled payment was not booked onto confirmed checkout order ${orderID}` +
19
+ `${sessionID ? ` session=${sessionID}` : ''}: ${reason}`);
20
+ if (!contextUser) {
21
+ return;
22
+ }
23
+ try {
24
+ const md = new Metadata();
25
+ if (!md.EntityByName(CHECKOUT_CAPTURE_TASK_ENTITY)) {
26
+ return;
27
+ }
28
+ const rv = new RunView();
29
+ const types = await rv.RunView({
30
+ EntityName: CHECKOUT_CAPTURE_TASK_TYPE_ENTITY,
31
+ ExtraFilter: `Code = '${EscapeText(CHECKOUT_CAPTURE_TASK_TYPE_CODE)}'`,
32
+ ResultType: 'entity_object',
33
+ MaxRows: 1,
34
+ }, contextUser);
35
+ const typeID = types.Success ? types.Results?.[0]?.ID : undefined;
36
+ if (!typeID) {
37
+ LogError(`${CHECKOUT_CAPTURE_TERMINAL_LOG_MARKER} No GENERAL TaskType — cannot raise a Task`);
38
+ return;
39
+ }
40
+ const task = await md.GetEntityObject(CHECKOUT_CAPTURE_TASK_ENTITY, contextUser);
41
+ task.NewRecord();
42
+ task.TypeID = typeID;
43
+ task.Name = `Checkout capture not booked: ${orderID}`;
44
+ task.Description =
45
+ `A Stripe payment settled and the checkout order is Confirmed, but Orders.CapturePayment was refused and will not succeed on retry.\n\nOrder: ${orderID}\nSession: ${sessionID ?? '(unknown)'}\nReason: ${reason}`;
46
+ task.Status = 'Open';
47
+ if (!(await task.Save())) {
48
+ LogError(`${CHECKOUT_CAPTURE_TERMINAL_LOG_MARKER} Could not raise a Task: ${task.LatestResult?.CompleteMessage ?? 'unknown error'}`);
49
+ }
50
+ }
51
+ catch (err) {
52
+ LogError(`${CHECKOUT_CAPTURE_TERMINAL_LOG_MARKER} Could not raise a Task: ${err instanceof Error ? err.message : String(err)}`);
53
+ }
54
+ }
55
+ //# sourceMappingURL=checkoutCaptureAlert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkoutCaptureAlert.js","sourceRoot":"","sources":["../src/checkoutCaptureAlert.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AAKlF,OAAO,EAAE,oCAAoC,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAChF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACnD,OAAe,EACf,SAA6B,EAC7B,MAAc,EACd,WAAsB;IAEtB,QAAQ,CACJ,GAAG,oCAAoC,iEAAiE,OAAO,EAAE;QAC7G,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAC/D,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,EAAE,CAAC;YACjD,OAAO;QACX,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAC1B;YACI,UAAU,EAAE,iCAAiC;YAC7C,WAAW,EAAE,WAAW,UAAU,CAAC,+BAA+B,CAAC,GAAG;YACtE,UAAU,EAAE,eAAe;YAC3B,OAAO,EAAE,CAAC;SACb,EACD,WAAW,CACd,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,QAAQ,CAAC,GAAG,oCAAoC,4CAA4C,CAAC,CAAC;YAC9F,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CACjC,4BAA4B,EAC5B,WAAW,CACd,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,gCAAgC,OAAO,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW;YACZ,gJAAgJ,OAAO,cAAc,SAAS,IAAI,WAAW,aAAa,MAAM,EAAE,CAAC;QACvN,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvB,QAAQ,CACJ,GAAG,oCAAoC,4BAA4B,IAAI,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAC7H,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,QAAQ,CACJ,GAAG,oCAAoC,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxH,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Classify a failed checkout CapturePayment as terminal vs transient so the
3
+ * payment webhook 500s (Stripe retries) only when a later attempt might work.
4
+ *
5
+ * Unclassified defaults to transient: convergence matters more than tidiness,
6
+ * and the event-age bound makes that bias affordable.
7
+ */
8
+ import type { WebhookEvent } from './BasePaymentProvider.js';
9
+ /** Stripe retries ~3 days; stop 500ing well inside that envelope. */
10
+ export declare const CHECKOUT_CAPTURE_RETRY_WINDOW_MS: number;
11
+ /** Grep / alert marker when a settled checkout payment will never book on retry. */
12
+ export declare const CHECKOUT_CAPTURE_TERMINAL_LOG_MARKER = "[CHECKOUT-CAPTURE-TERMINAL]";
13
+ /**
14
+ * CapturePayment `Blockers[].Code` values that will not change on replay.
15
+ * `CaptureFailed` is deliberately absent — it wraps a thrown save-path error.
16
+ */
17
+ export declare const TERMINAL_CAPTURE_BLOCKER_CODES: ReadonlySet<string>;
18
+ export declare const TERMINAL_CAPTURE_PRECHECKS: ReadonlySet<string>;
19
+ export declare function isTerminalCapturePrecheck(message: string): boolean;
20
+ /** True when a later CapturePayment might succeed. Empty / unknown codes retry. */
21
+ export declare function isCaptureRefusalRetryable(blockerCodes: readonly string[]): boolean;
22
+ /**
23
+ * Missing OccurredAt does NOT disable retries (the bound cannot be applied, and
24
+ * that is logged by the caller). Present-and-older-than-window → stop 500ing.
25
+ */
26
+ export declare function webhookEventExceedsRetryWindow(event: Pick<WebhookEvent, 'OccurredAt'>, nowMs?: number, windowMs?: number): boolean;
27
+ //# sourceMappingURL=checkoutCaptureRetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkoutCaptureRetry.d.ts","sourceRoot":"","sources":["../src/checkoutCaptureRetry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qEAAqE;AACrE,eAAO,MAAM,gCAAgC,QAAsB,CAAC;AAEpE,oFAAoF;AACpF,eAAO,MAAM,oCAAoC,gCAAgC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,CAe7D,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAIzD,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAKlF;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACvC,KAAK,GAAE,MAAmB,EAC1B,QAAQ,GAAE,MAAyC,GACpD,OAAO,CAKT"}