@fantastic.dev/better-stripe 0.12.0 → 0.13.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 (67) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +64 -8
  3. package/dist/client/costRecovery-invoices.d.ts +38 -0
  4. package/dist/client/costRecovery-invoices.d.ts.map +1 -0
  5. package/dist/client/costRecovery-invoices.js +105 -0
  6. package/dist/client/costRecovery-invoices.js.map +1 -0
  7. package/dist/client/costRecovery.d.ts +43 -2
  8. package/dist/client/costRecovery.d.ts.map +1 -1
  9. package/dist/client/costRecovery.js +69 -2
  10. package/dist/client/costRecovery.js.map +1 -1
  11. package/dist/client/index.js +1 -1
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/component/_generated/component.d.ts +78 -0
  14. package/dist/component/_generated/component.d.ts.map +1 -1
  15. package/dist/component/costRecovery/claims.d.ts.map +1 -1
  16. package/dist/component/costRecovery/claims.js +15 -8
  17. package/dist/component/costRecovery/claims.js.map +1 -1
  18. package/dist/component/costRecovery/completion.d.ts +6 -0
  19. package/dist/component/costRecovery/completion.d.ts.map +1 -1
  20. package/dist/component/costRecovery/helpers.d.ts +6 -0
  21. package/dist/component/costRecovery/helpers.d.ts.map +1 -1
  22. package/dist/component/costRecovery/mutations.d.ts +72 -0
  23. package/dist/component/costRecovery/mutations.d.ts.map +1 -1
  24. package/dist/component/costRecovery/mutations.js +57 -0
  25. package/dist/component/costRecovery/mutations.js.map +1 -1
  26. package/dist/component/costRecovery/queries.d.ts +6 -0
  27. package/dist/component/costRecovery/queries.d.ts.map +1 -1
  28. package/dist/component/costRecovery/reservations.d.ts +12 -0
  29. package/dist/component/costRecovery/reservations.d.ts.map +1 -1
  30. package/dist/component/costRecovery/schema.d.ts +44 -2
  31. package/dist/component/costRecovery/schema.d.ts.map +1 -1
  32. package/dist/component/costRecovery/schema.js +6 -0
  33. package/dist/component/costRecovery/schema.js.map +1 -1
  34. package/dist/component/schema.d.ts +17 -1
  35. package/dist/react/workflows/Collections.d.ts.map +1 -1
  36. package/dist/react/workflows/Collections.js +2 -1
  37. package/dist/react/workflows/Collections.js.map +1 -1
  38. package/dist/react/workflows/Refunds.d.ts +14 -3
  39. package/dist/react/workflows/Refunds.d.ts.map +1 -1
  40. package/dist/react/workflows/Refunds.js +58 -16
  41. package/dist/react/workflows/Refunds.js.map +1 -1
  42. package/dist/react/workflows/index.d.ts +3 -1
  43. package/dist/react/workflows/index.d.ts.map +1 -1
  44. package/dist/react/workflows/index.js +2 -1
  45. package/dist/react/workflows/index.js.map +1 -1
  46. package/dist/react/workflows/refund-preview.d.ts +16 -0
  47. package/dist/react/workflows/refund-preview.d.ts.map +1 -0
  48. package/dist/react/workflows/refund-preview.js +38 -0
  49. package/dist/react/workflows/refund-preview.js.map +1 -0
  50. package/docs/react-workflows.md +79 -4
  51. package/package.json +1 -1
  52. package/src/client/costRecovery-invoices.test.ts +401 -0
  53. package/src/client/costRecovery-invoices.transport.test.ts +107 -0
  54. package/src/client/costRecovery-invoices.ts +144 -0
  55. package/src/client/costRecovery.ts +107 -2
  56. package/src/client/index.ts +1 -1
  57. package/src/component/_generated/component.ts +99 -0
  58. package/src/component/costRecovery/claims.ts +18 -8
  59. package/src/component/costRecovery/mutations.ts +72 -0
  60. package/src/component/costRecovery/schema.ts +8 -0
  61. package/src/react/workflows/Collections.test.tsx +36 -0
  62. package/src/react/workflows/Collections.tsx +3 -1
  63. package/src/react/workflows/Refunds.currency.test.tsx +290 -0
  64. package/src/react/workflows/Refunds.tsx +115 -25
  65. package/src/react/workflows/index.ts +8 -1
  66. package/src/react/workflows/refund-preview.test.ts +65 -0
  67. package/src/react/workflows/refund-preview.ts +56 -0
package/CHANGELOG.md CHANGED
@@ -14,6 +14,19 @@
14
14
  - Remove internal tracker references from public documentation and add a
15
15
  regression check that prevents their reintroduction.
16
16
 
17
+ ## [0.13.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.12.0...v0.13.0) (2026-10-15)
18
+
19
+ ### Features
20
+
21
+ - **recovery:** reconcile seller cost invoice adjustments ([#159](https://github.com/FantasticDevHQ/better-stripe/issues/159)) ([d1ffdbc](https://github.com/FantasticDevHQ/better-stripe/commit/d1ffdbcb224b6c31ae958c576a4bcd6ff4a0a4dd))
22
+
23
+ ### Bug Fixes
24
+
25
+ - **example:** bind reversal inputs to original charge currency ([#160](https://github.com/FantasticDevHQ/better-stripe/issues/160)) ([6b86926](https://github.com/FantasticDevHQ/better-stripe/commit/6b86926c7d4a173babd2964d4eee086f61c48f63))
26
+ - **example:** reconcile unsettled disputed sources ([#161](https://github.com/FantasticDevHQ/better-stripe/issues/161)) ([9c732bd](https://github.com/FantasticDevHQ/better-stripe/commit/9c732bdc88555210d2172067e6bbf5d2fc513190))
27
+ - **react:** isolate refund preview amounts by currency and status ([#162](https://github.com/FantasticDevHQ/better-stripe/issues/162)) ([601d509](https://github.com/FantasticDevHQ/better-stripe/commit/601d50923dc98f212b29fd4e4e3d856dfffbda44))
28
+ - **react:** preserve original refund currency units ([#157](https://github.com/FantasticDevHQ/better-stripe/issues/157)) ([494827f](https://github.com/FantasticDevHQ/better-stripe/commit/494827f1cb35b0b0ca10b1c6da38a1095bb32500))
29
+
17
30
  ## [0.12.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.11.0...v0.12.0) (2026-10-15)
18
31
 
19
32
  ### Features
package/README.md CHANGED
@@ -38,7 +38,7 @@ See the [customer preview setup and webhook migration guide](docs/accounts-v2-pr
38
38
 
39
39
  ## Status
40
40
 
41
- **Version**: `0.12.0` <!-- x-release-please-version --> (pre-1.0). API may change between minor versions until 1.0.
41
+ **Version**: `0.13.0` <!-- x-release-please-version --> (pre-1.0). API may change between minor versions until 1.0.
42
42
 
43
43
  Used in production by its authors. Webhook pipeline is covered by unit tests and a live E2E harness (`npm run e2e:webhooks`) that fires real Stripe-signed events and asserts the ledger.
44
44
 
@@ -337,9 +337,10 @@ Methods named `get<Entity>` take the component document ID (exception: `getInvoi
337
337
 
338
338
  ### Durable recovery claims
339
339
 
340
- `stripe.costRecovery` is a server-only bookkeeping client. It uses the Convex
341
- component. Its calls do not use Stripe credentials; normal component installation
342
- configuration still applies. It never moves money. Your host authenticates the
340
+ `stripe.costRecovery` is a server-only recovery client backed by the Convex
341
+ component. Bookkeeping methods do not use Stripe credentials or move money.
342
+ Invoice methods use the configured Stripe client and must run in an action.
343
+ Your host authenticates the
343
344
  caller, approves which costs are owed, authorizes the account and recovery scope,
344
345
  and verifies provider outcomes before confirming collection. A recovery scope is
345
346
  an application-defined liability boundary, such as one store. Amounts are signed
@@ -410,15 +411,70 @@ cumulative principal. This records a separate, source-linked rollback claim,
410
411
  preserves the original costs and collection history, and rounds positive and
411
412
  negative amounts symmetrically. Reinstated principal can reduce the rollback
412
413
  again with a newer revision. This bookkeeping operation does not refund or
413
- reverse a transfer. Invoice funding requires a provider-aware adapter; this
414
- settlement rollback helper does not infer invoice payment allocations.
414
+ reverse a transfer. For invoice groups, use the verified funding adapter below;
415
+ do not invent invoice payment allocations.
415
416
 
416
417
  Use `balance(ctx, scope)` for exact maintained totals and
417
418
  `listClaims(ctx, { ...scope, limit, cursor })` for paginated history. `getClaim`, `getGroup` and
418
419
  `getReservation` resume durable workflows. Integrate these server callbacks with
419
420
  the existing unstyled React `CostRecovery` display. These bookkeeping APIs leave
420
- consent, provider fee policy and entitlement changes in the host; provider invoice
421
- reconciliation and the example migration are separate work.
421
+ consent, provider fee policy and entitlement changes in the host.
422
+
423
+ ### Invoice recovery adjustments
424
+
425
+ After authorizing the seller, invoice and liability scope, reserve with
426
+ `sourceKind: "invoice"` and `sourceId: invoiceId`. Allocate bounded batches and
427
+ seal the group before calling Stripe. Then attach exactly one signed adjustment
428
+ for the entire group:
429
+
430
+ ```ts
431
+ const receipt = await recovery.attachInvoice(ctx, { ...scope, groupKey });
432
+ // Invoke from your invoice lifecycle reconciliation, and repeat bounded completion
433
+ // until isDone after payment or release.
434
+ const result = await recovery.reconcileInvoice(ctx, {
435
+ ...scope,
436
+ groupKey,
437
+ releaseUncollectible: false,
438
+ });
439
+ ```
440
+
441
+ The invoice must belong to the authorized customer account, use the same currency,
442
+ and be draft before a new item is created. The package stores its stable group
443
+ identity before the provider call, uses that identity as the idempotency key and
444
+ item metadata, and persists the resulting item ID. Every retry scans all items
445
+ on that exact invoice, recovering a successful creation even if the subsequent
446
+ database write failed or the provider idempotency key expired. A bound item that
447
+ has been deleted, changed or duplicated requires reconciliation; the package
448
+ never silently recreates it. Negative adjustments are credits. Items are not
449
+ discountable.
450
+
451
+ Your host must durably serialize provider operations for each group, including
452
+ attachment and any calls that finish or release it. Never release a reservation
453
+ after a timeout or unknown provider outcome. Draft and open invoices retain their
454
+ reservations, blocking recovery from a second payout. A verified paid invoice
455
+ commits collection; a verified void releases the obligation for a future boundary.
456
+ Uncollectible invoices stay reserved unless your explicit host policy passes
457
+ `releaseUncollectible: true`. Do not use that policy while another process might
458
+ retry payment on the original invoice. Subscription cancellation alone does not
459
+ prove its invoices were voided. These methods never attempt card fallback or
460
+ change a payout schedule.
461
+
462
+ For a collected invoice fully funded by one PaymentIntent, call
463
+ `rollbackInvoice(ctx, { ...scope, groupKey, revision })`. It checks the paid
464
+ invoice, completely paginates its payments, verifies the funding charge and its
465
+ refund/dispute transactions, retains the original funding economics, and records
466
+ a separate proportional rollback claim. Use a durable revision captured before
467
+ provider reconciliation, and retry the full read on revision conflicts. Original
468
+ cost claims remain intact. Multiple payments, partial allocations, mixed customer
469
+ credits and non-PaymentIntent funding return
470
+ `{ status: "not_ready", reason: "invoice_funding_allocation_required" }` without
471
+ changing claims. Provider processing costs can also return their documented
472
+ not-ready reasons. Those cases need a host-approved allocation policy rather than
473
+ guessed amounts. Invoice integration in the example is a separate migration.
474
+
475
+ Provider methods preserve the configured API version and propagate Stripe errors.
476
+ See Stripe's [invoice item creation](https://docs.stripe.com/api/invoiceitems/create)
477
+ and [invoice item pagination](https://docs.stripe.com/api/invoiceitems/list).
422
478
 
423
479
  ### Refund and dispute processing costs
424
480
 
@@ -0,0 +1,38 @@
1
+ import type Stripe from "stripe";
2
+ import type { RecoveryGroup, RecoveryScope } from "./costRecovery.js";
3
+ export type RecoveryInvoiceOptions = RecoveryScope & {
4
+ groupKey: string;
5
+ };
6
+ /** One immutable item per sealed group. Host serializes provider operations per group. */
7
+ export declare function attachRecoveryInvoice(stripe: Stripe, group: RecoveryGroup | null, opts: RecoveryInvoiceOptions, bind: (invoiceItemId: string) => Promise<RecoveryGroup>, create?: boolean): Promise<{
8
+ group: RecoveryGroup;
9
+ invoiceItemId: string;
10
+ invoiceStatus: Stripe.Invoice.Status | null;
11
+ }>;
12
+ /** Refuse ambiguous cash/credit or multi-payment allocations instead of inventing economics. */
13
+ export declare function readInvoiceFunding(stripe: Stripe, group: RecoveryGroup): Promise<{
14
+ status: "not_ready";
15
+ paymentIntentId: string;
16
+ reason: import("./index.js").ProcessingCostNotReadyReason;
17
+ } | {
18
+ status: "ready";
19
+ paymentIntentId: string;
20
+ chargeId: string;
21
+ currency: string;
22
+ gross: number;
23
+ metadata: Record<string, string>;
24
+ processingFee: number;
25
+ refundFeeAdjustment: number;
26
+ disputeFeeAdjustment: number;
27
+ netFees: number;
28
+ refundedPrincipal: number;
29
+ disputedPrincipal: number;
30
+ principalReturned: number;
31
+ refunds: import("./index.js").ProcessingCostRecord[];
32
+ disputes: import("./index.js").ProcessingCostRecord[];
33
+ transactions: import("./index.js").ProcessingCostTransaction[];
34
+ } | {
35
+ status: "not_ready";
36
+ reason: "invoice_funding_allocation_required";
37
+ }>;
38
+ //# sourceMappingURL=costRecovery-invoices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costRecovery-invoices.d.ts","sourceRoot":"","sources":["../../src/client/costRecovery-invoices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAK1E,0FAA0F;AAC1F,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,EACvD,MAAM,UAAO;;;;GAmFd;AAED,gGAAgG;AAChG,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;YA8B/D,WAAW;YACX,qCAAqC;GAYlD"}
@@ -0,0 +1,105 @@
1
+ import { getProcessingCostContext } from "./settlement/processingCosts.js";
2
+ const marker = "bsRecoveryGroup";
3
+ const id = (value) => typeof value === "string" ? value : value?.id;
4
+ /** One immutable item per sealed group. Host serializes provider operations per group. */
5
+ export async function attachRecoveryInvoice(stripe, group, opts, bind, create = true) {
6
+ if (!group ||
7
+ group.groupKey !== opts.groupKey ||
8
+ group.sourceKind !== "invoice" ||
9
+ group.accountId !== opts.accountId ||
10
+ group.scopeKey !== opts.scopeKey ||
11
+ group.currency !== opts.currency)
12
+ throw new Error("Recovery invoice scope does not match the authorized group.");
13
+ if (group.status === "open" ||
14
+ (create && ["released", "releasing"].includes(group.status)))
15
+ throw new Error("Invoice recovery group must be sealed and active.");
16
+ const invoice = await stripe.invoices.retrieve(group.sourceId);
17
+ if (invoice.id !== group.sourceId ||
18
+ invoice.customer_account !== group.accountId)
19
+ throw new Error("Recovery invoice ownership does not match.");
20
+ if (invoice.currency !== group.currency)
21
+ throw new Error("Recovery invoice currency does not match.");
22
+ let found;
23
+ for await (const item of stripe.invoiceItems.list({
24
+ invoice: invoice.id,
25
+ limit: 100,
26
+ })) {
27
+ if (item.metadata?.[marker] !== group._id)
28
+ continue;
29
+ if (found)
30
+ throw new Error("Duplicate recovery invoice items require reconciliation.");
31
+ if (id(item.invoice) !== invoice.id ||
32
+ item.customer_account !== group.accountId ||
33
+ item.currency !== group.currency ||
34
+ item.amount !== group.amount ||
35
+ item.discountable ||
36
+ (group.invoiceItemId && group.invoiceItemId !== item.id))
37
+ throw new Error("Recovery invoice item economics or identity do not match.");
38
+ found = item;
39
+ }
40
+ if (!found) {
41
+ if (group.invoiceItemId)
42
+ throw new Error("Bound recovery invoice item is missing; reconcile before retrying.");
43
+ if (!create)
44
+ throw new Error("Recovery invoice item is missing; no collection can be confirmed.");
45
+ if (group.status !== "sealed")
46
+ throw new Error("New recovery items require a sealed, uncompleted group.");
47
+ if (invoice.status !== "draft")
48
+ throw new Error("New recovery items require a draft invoice.");
49
+ found = await stripe.invoiceItems.create({
50
+ invoice: invoice.id,
51
+ customer_account: group.accountId,
52
+ currency: group.currency,
53
+ amount: group.amount,
54
+ discountable: false,
55
+ description: "Refund and dispute cost adjustment",
56
+ metadata: { [marker]: group._id },
57
+ }, { idempotencyKey: `better-stripe:recovery:${group._id}` });
58
+ }
59
+ const bound = group.invoiceItemId === found.id ? group : await bind(found.id);
60
+ return {
61
+ group: bound,
62
+ invoiceItemId: found.id,
63
+ invoiceStatus: invoice.status,
64
+ };
65
+ }
66
+ /** Refuse ambiguous cash/credit or multi-payment allocations instead of inventing economics. */
67
+ export async function readInvoiceFunding(stripe, group) {
68
+ const invoice = await stripe.invoices.retrieve(group.sourceId);
69
+ if (invoice.customer_account !== group.accountId ||
70
+ invoice.currency !== group.currency ||
71
+ invoice.status !== "paid")
72
+ throw new Error("Invoice funding ownership, currency or paid state does not match.");
73
+ const payments = [];
74
+ for await (const payment of stripe.invoicePayments.list({
75
+ invoice: group.sourceId,
76
+ limit: 100,
77
+ })) {
78
+ if (id(payment.invoice) !== group.sourceId ||
79
+ payment.currency !== group.currency)
80
+ throw new Error("Invoice payment identity or currency does not match.");
81
+ if (payment.status === "paid")
82
+ payments.push(payment);
83
+ }
84
+ const payment = payments[0];
85
+ if (payments.length !== 1 ||
86
+ payment?.payment.type !== "payment_intent" ||
87
+ !payment.payment.payment_intent ||
88
+ payment.amount_paid !== invoice.amount_paid)
89
+ return {
90
+ status: "not_ready",
91
+ reason: "invoice_funding_allocation_required",
92
+ };
93
+ const cost = await getProcessingCostContext(stripe, {
94
+ paymentIntentId: id(payment.payment.payment_intent),
95
+ });
96
+ if (cost.status === "not_ready")
97
+ return cost;
98
+ if (cost.currency !== group.currency || cost.gross !== invoice.amount_paid)
99
+ return {
100
+ status: "not_ready",
101
+ reason: "invoice_funding_allocation_required",
102
+ };
103
+ return cost;
104
+ }
105
+ //# sourceMappingURL=costRecovery-invoices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costRecovery-invoices.js","sourceRoot":"","sources":["../../src/client/costRecovery-invoices.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type Stripe from "stripe";
1
2
  import type { Component, RunCtx } from "./helpers.js";
2
3
  export type RecoveryScope = {
3
4
  accountId: string;
@@ -47,6 +48,12 @@ export type RecoveryGroup = RecoveryGroupOptions & {
47
48
  _creationTime: number;
48
49
  amount: number;
49
50
  pendingOperations: number;
51
+ invoiceItemId?: string;
52
+ invoiceFunding?: {
53
+ sourceChargeId: string;
54
+ sourceGross: number;
55
+ sourceProcessingFee: number;
56
+ };
50
57
  status: "open" | "sealed" | "collecting" | "releasing" | "collected" | "released";
51
58
  };
52
59
  export type RecoveryReservation = {
@@ -63,12 +70,46 @@ export type RecoveryReservation = {
63
70
  }[];
64
71
  status: "reserved" | "collected" | "released" | "empty";
65
72
  };
66
- /** Durable bookkeeping only. Host authorizes policy and verifies provider outcomes. */
73
+ /** Host authorizes policy and scope. Provider methods verify invoice outcomes. */
67
74
  export declare class CostRecoveryClient {
68
75
  private readonly component;
69
- constructor(component: Component);
76
+ private readonly provider?;
77
+ constructor(component: Component, provider?: (() => Stripe) | undefined);
70
78
  private mutate;
71
79
  private query;
80
+ /** Host authorizes the account, scope and invoice group; call from an action. */
81
+ attachInvoice(ctx: RunCtx, opts: RecoveryScope & {
82
+ groupKey: string;
83
+ }): Promise<{
84
+ group: RecoveryGroup;
85
+ invoiceItemId: string;
86
+ invoiceStatus: Stripe.Invoice.Status | null;
87
+ }>;
88
+ /** Re-read Stripe; keep unpaid items reserved. Repeat until isDone after terminal outcomes. */
89
+ reconcileInvoice(ctx: RunCtx, opts: RecoveryScope & {
90
+ groupKey: string;
91
+ releaseUncollectible?: boolean;
92
+ }): Promise<{
93
+ isDone: boolean;
94
+ group: RecoveryGroup;
95
+ invoiceItemId: string;
96
+ invoiceStatus: Stripe.Invoice.Status | null;
97
+ }>;
98
+ /** Reconcile a returned funding charge without changing the original cost claims. */
99
+ rollbackInvoice(ctx: RunCtx, opts: RecoveryScope & {
100
+ groupKey: string;
101
+ revision: number;
102
+ }): Promise<{
103
+ status: "not_ready";
104
+ paymentIntentId: string;
105
+ reason: import("./index.js").ProcessingCostNotReadyReason;
106
+ } | {
107
+ status: "ready";
108
+ claim: RecoveryClaim;
109
+ } | {
110
+ status: "not_ready";
111
+ reason: "invoice_funding_allocation_required";
112
+ }>;
72
113
  recordClaim(ctx: RunCtx, opts: RecoveryObservation): Promise<RecoveryClaim>;
73
114
  reserve(ctx: RunCtx, opts: RecoveryGroupOptions & {
74
115
  operationKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"costRecovery.d.ts","sourceRoot":"","sources":["../../src/client/costRecovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"costRecovery.d.ts","sourceRoot":"","sources":["../../src/client/costRecovery.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
+ import { readInvoiceFunding, attachRecoveryInvoice, } from "./costRecovery-invoices.js";
1
2
  import { runMutationOrThrow } from "./helpers.js";
2
3
  import { componentRef } from "./webhooks/helpers.js";
3
- /** Durable bookkeeping only. Host authorizes policy and verifies provider outcomes. */
4
+ /** Host authorizes policy and scope. Provider methods verify invoice outcomes. */
4
5
  export class CostRecoveryClient {
5
6
  component;
6
- constructor(component) {
7
+ provider;
8
+ constructor(component, provider) {
7
9
  this.component = component;
10
+ this.provider = provider;
8
11
  }
9
12
  async mutate(ctx, path, args) {
10
13
  return (await runMutationOrThrow(ctx, componentRef(this.component, `costRecovery/${path}`), args));
@@ -12,6 +15,70 @@ export class CostRecoveryClient {
12
15
  async query(ctx, path, args) {
13
16
  return (await ctx.runQuery(componentRef(this.component, `costRecovery/queries/${path}`), args));
14
17
  }
18
+ /** Host authorizes the account, scope and invoice group; call from an action. */
19
+ async attachInvoice(ctx, opts) {
20
+ if (!this.provider)
21
+ throw new Error("Invoice recovery requires a Stripe client.");
22
+ const group = await this.getGroup(ctx, { groupKey: opts.groupKey });
23
+ return attachRecoveryInvoice(this.provider(), group, opts, (invoiceItemId) => this.mutate(ctx, "mutations/bindInvoiceItem", {
24
+ groupKey: opts.groupKey,
25
+ invoiceItemId,
26
+ }));
27
+ }
28
+ /** Re-read Stripe; keep unpaid items reserved. Repeat until isDone after terminal outcomes. */
29
+ async reconcileInvoice(ctx, opts) {
30
+ if (!this.provider)
31
+ throw new Error("Invoice recovery requires a Stripe client.");
32
+ const group = await this.getGroup(ctx, { groupKey: opts.groupKey });
33
+ const receipt = await attachRecoveryInvoice(this.provider(), group, opts, (invoiceItemId) => this.mutate(ctx, "mutations/bindInvoiceItem", {
34
+ groupKey: opts.groupKey,
35
+ invoiceItemId,
36
+ }), false);
37
+ const outcome = receipt.invoiceStatus === "paid"
38
+ ? "collect"
39
+ : receipt.invoiceStatus === "void" ||
40
+ (receipt.invoiceStatus === "uncollectible" &&
41
+ opts.releaseUncollectible === true)
42
+ ? "release"
43
+ : null;
44
+ if (!outcome)
45
+ return { ...receipt, isDone: false };
46
+ return {
47
+ ...receipt,
48
+ ...(await this.finish(ctx, { groupKey: opts.groupKey, outcome })),
49
+ };
50
+ }
51
+ /** Reconcile a returned funding charge without changing the original cost claims. */
52
+ async rollbackInvoice(ctx, opts) {
53
+ if (!this.provider)
54
+ throw new Error("Invoice recovery requires a Stripe client.");
55
+ const stripe = this.provider();
56
+ const group = await this.getGroup(ctx, { groupKey: opts.groupKey });
57
+ const receipt = await attachRecoveryInvoice(stripe, group, opts, (invoiceItemId) => this.mutate(ctx, "mutations/bindInvoiceItem", {
58
+ groupKey: opts.groupKey,
59
+ invoiceItemId,
60
+ }), false);
61
+ if (receipt.group.status !== "collected" ||
62
+ receipt.invoiceStatus !== "paid")
63
+ throw new Error("Invoice rollback requires verified collection.");
64
+ const cost = await readInvoiceFunding(stripe, receipt.group);
65
+ if (cost.status === "not_ready")
66
+ return cost;
67
+ await this.mutate(ctx, "mutations/bindInvoiceFunding", {
68
+ groupKey: opts.groupKey,
69
+ sourceChargeId: cost.chargeId,
70
+ sourceGross: cost.gross,
71
+ sourceProcessingFee: cost.processingFee,
72
+ });
73
+ return {
74
+ status: "ready",
75
+ claim: await this.rollback(ctx, {
76
+ groupKey: opts.groupKey,
77
+ returnedPrincipal: cost.principalReturned,
78
+ revision: opts.revision,
79
+ }),
80
+ };
81
+ }
15
82
  recordClaim(ctx, opts) {
16
83
  return this.mutate(ctx, "mutations/record", opts);
17
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"costRecovery.js","sourceRoot":"","sources":["../../src/client/costRecovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAiErD,uFAAuF;AACvF,MAAM,OAAO,kBAAkB;IACA,SAAS;IAAtC,YAA6B,SAAoB;yBAApB,SAAS;IAAc,CAAC;IAC7C,KAAK,CAAC,MAAM,CAClB,GAAW,EACX,IAAY,EACZ,IAA6B;QAE7B,OAAO,CAAC,MAAM,kBAAkB,CAC9B,GAAG,EACH,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,IAAI,EAAE,CAAC,EACpD,IAAI,CACL,CAAM,CAAC;IACV,CAAC;IACO,KAAK,CAAC,KAAK,CACjB,GAAW,EACX,IAAY,EACZ,IAA6B;QAE7B,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CACxB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,IAAI,EAAE,CAAC,EAC5D,IAAI,CACL,CAAM,CAAC;IACV,CAAC;IACD,WAAW,CAAC,GAAW,EAAE,IAAyB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAgB,GAAG,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CACL,GAAW,EACX,IAAqE;QAErE,OAAO,IAAI,CAAC,MAAM,CAGf,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,GAAW,EAAE,IAA0B;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAgB,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,CACJ,GAAW,EACX,IAA0E;QAE1E,OAAO,IAAI,CAAC,MAAM,CAChB,GAAG,EACH,kBAAkB,EAClB,IAAI,CACL,CAAC;IACJ,CAAC;IACD,QAAQ,CACN,GAAW,EACX,IAAuE;QAEvE,OAAO,IAAI,CAAC,MAAM,CAAgB,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,IAAmB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAkB,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,UAAU,CACR,GAAW,EACX,IAAgE;QAEhE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;QACzC,OAAO,IAAI,CAAC,KAAK,CAId,GAAG,EAAE,YAAY,EAAE;YACpB,GAAG,KAAK;YACR,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE;SAClE,CAAC,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,GAAW,EAAE,IAA0B;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAuB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,QAAQ,CAAC,GAAW,EAAE,IAA0B;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAuB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,cAAc,CAAC,GAAW,EAAE,IAA8B;QACxD,OAAO,IAAI,CAAC,KAAK,CAA6B,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"costRecovery.js","sourceRoot":"","sources":["../../src/client/costRecovery.ts"],"names":[],"mappings":"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"}
@@ -501,7 +501,7 @@ export class BetterStripe {
501
501
  return providerReads.getCouponFromStripe(this.stripe(), opts);
502
502
  }
503
503
  get costRecovery() {
504
- return new CostRecoveryClient(this.component);
504
+ return new CostRecoveryClient(this.component, () => this.stripe());
505
505
  }
506
506
  async getProcessingCostContext(_ctx, opts) {
507
507
  return processingCostsImpl.getProcessingCostContext(this.stripe(), opts);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}