@fantastic.dev/better-stripe 0.21.0 → 0.23.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 (107) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +8 -5
  3. package/dist/client/connect/payoutActivationProof.d.ts +16 -0
  4. package/dist/client/connect/payoutActivationProof.d.ts.map +1 -0
  5. package/dist/client/connect/payoutActivationProof.js +72 -0
  6. package/dist/client/connect/payoutActivationProof.js.map +1 -0
  7. package/dist/client/connect/payoutAdoption.d.ts +35 -0
  8. package/dist/client/connect/payoutAdoption.d.ts.map +1 -0
  9. package/dist/client/connect/payoutAdoption.js +230 -0
  10. package/dist/client/connect/payoutAdoption.js.map +1 -0
  11. package/dist/client/connect/payoutAdoptionAge.d.ts +19 -0
  12. package/dist/client/connect/payoutAdoptionAge.d.ts.map +1 -0
  13. package/dist/client/connect/payoutAdoptionAge.js +56 -0
  14. package/dist/client/connect/payoutAdoptionAge.js.map +1 -0
  15. package/dist/client/connect/payoutAdoptionAllocation.d.ts +24 -0
  16. package/dist/client/connect/payoutAdoptionAllocation.d.ts.map +1 -0
  17. package/dist/client/connect/payoutAdoptionAllocation.js +78 -0
  18. package/dist/client/connect/payoutAdoptionAllocation.js.map +1 -0
  19. package/dist/client/connect/payoutExecution.d.ts +34 -0
  20. package/dist/client/connect/payoutExecution.d.ts.map +1 -0
  21. package/dist/client/connect/payoutExecution.js +189 -0
  22. package/dist/client/connect/payoutExecution.js.map +1 -0
  23. package/dist/client/connect/payoutHistory.d.ts +22 -0
  24. package/dist/client/connect/payoutHistory.d.ts.map +1 -0
  25. package/dist/client/connect/payoutHistory.js +122 -0
  26. package/dist/client/connect/payoutHistory.js.map +1 -0
  27. package/dist/client/connect/payoutReconciliation.d.ts.map +1 -1
  28. package/dist/client/connect/payoutReconciliation.js +6 -2
  29. package/dist/client/connect/payoutReconciliation.js.map +1 -1
  30. package/dist/client/payoutPolicy.d.ts +10 -1
  31. package/dist/client/payoutPolicy.d.ts.map +1 -1
  32. package/dist/client/payoutPolicy.js +82 -7
  33. package/dist/client/payoutPolicy.js.map +1 -1
  34. package/dist/component/_generated/component.d.ts +269 -0
  35. package/dist/component/_generated/component.d.ts.map +1 -1
  36. package/dist/component/earnings/triggers.d.ts +40 -4
  37. package/dist/component/earnings/triggers.d.ts.map +1 -1
  38. package/dist/component/payoutPolicy/adoption.d.ts +9 -0
  39. package/dist/component/payoutPolicy/adoption.d.ts.map +1 -0
  40. package/dist/component/payoutPolicy/adoption.js +45 -0
  41. package/dist/component/payoutPolicy/adoption.js.map +1 -0
  42. package/dist/component/payoutPolicy/mutations.d.ts +96 -0
  43. package/dist/component/payoutPolicy/mutations.d.ts.map +1 -1
  44. package/dist/component/payoutPolicy/mutations.js +38 -5
  45. package/dist/component/payoutPolicy/mutations.js.map +1 -1
  46. package/dist/component/payoutPolicy/queries.d.ts +16 -0
  47. package/dist/component/payoutPolicy/queries.d.ts.map +1 -1
  48. package/dist/component/payoutPolicy/schema.d.ts +299 -2
  49. package/dist/component/payoutPolicy/schema.d.ts.map +1 -1
  50. package/dist/component/payoutPolicy/schema.js +7 -0
  51. package/dist/component/payoutPolicy/schema.js.map +1 -1
  52. package/dist/component/payoutRelease/adoption.d.ts +269 -0
  53. package/dist/component/payoutRelease/adoption.d.ts.map +1 -0
  54. package/dist/component/payoutRelease/adoption.js +197 -0
  55. package/dist/component/payoutRelease/adoption.js.map +1 -0
  56. package/dist/component/payoutRelease/helpers.d.ts +4 -0
  57. package/dist/component/payoutRelease/helpers.d.ts.map +1 -1
  58. package/dist/component/payoutRelease/helpers.js +20 -0
  59. package/dist/component/payoutRelease/helpers.js.map +1 -1
  60. package/dist/component/payoutRelease/mutations.d.ts +87 -0
  61. package/dist/component/payoutRelease/mutations.d.ts.map +1 -1
  62. package/dist/component/payoutRelease/mutations.js +13 -1
  63. package/dist/component/payoutRelease/mutations.js.map +1 -1
  64. package/dist/component/payoutRelease/observation.d.ts +18 -0
  65. package/dist/component/payoutRelease/observation.d.ts.map +1 -0
  66. package/dist/component/payoutRelease/observation.js +11 -0
  67. package/dist/component/payoutRelease/observation.js.map +1 -0
  68. package/dist/component/payoutRelease/queries.d.ts +74 -0
  69. package/dist/component/payoutRelease/queries.d.ts.map +1 -1
  70. package/dist/component/payoutRelease/queries.js +29 -0
  71. package/dist/component/payoutRelease/queries.js.map +1 -1
  72. package/dist/component/payoutRelease/schema.d.ts +13 -19
  73. package/dist/component/payoutRelease/schema.d.ts.map +1 -1
  74. package/dist/component/payoutRelease/schema.js +4 -9
  75. package/dist/component/payoutRelease/schema.js.map +1 -1
  76. package/dist/component/schema.d.ts +75 -2
  77. package/docs/settlement.md +181 -40
  78. package/package.json +1 -1
  79. package/src/client/connect/payoutActivationProof.ts +101 -0
  80. package/src/client/connect/payoutAdoption.test.ts +421 -0
  81. package/src/client/connect/payoutAdoption.ts +330 -0
  82. package/src/client/connect/payoutAdoptionAge.test.ts +89 -0
  83. package/src/client/connect/payoutAdoptionAge.ts +74 -0
  84. package/src/client/connect/payoutAdoptionAllocation.test.ts +132 -0
  85. package/src/client/connect/payoutAdoptionAllocation.ts +106 -0
  86. package/src/client/connect/payoutExecution.test.ts +504 -0
  87. package/src/client/connect/payoutExecution.ts +265 -0
  88. package/src/client/connect/payoutHistory.test.ts +145 -0
  89. package/src/client/connect/payoutHistory.ts +149 -0
  90. package/src/client/connect/payoutReconciliation.test.ts +29 -0
  91. package/src/client/connect/payoutReconciliation.ts +10 -2
  92. package/src/client/payoutPolicy.test.ts +16 -0
  93. package/src/client/payoutPolicy.ts +121 -5
  94. package/src/component/_generated/api.ts +6 -0
  95. package/src/component/_generated/component.ts +272 -1
  96. package/src/component/payout-adoption.test.ts +272 -0
  97. package/src/component/payout-policy-adoption.test.ts +131 -0
  98. package/src/component/payout-release-snapshot.test.ts +57 -0
  99. package/src/component/payoutPolicy/adoption.ts +76 -0
  100. package/src/component/payoutPolicy/mutations.ts +46 -3
  101. package/src/component/payoutPolicy/schema.ts +9 -0
  102. package/src/component/payoutRelease/adoption.ts +262 -0
  103. package/src/component/payoutRelease/helpers.ts +21 -0
  104. package/src/component/payoutRelease/mutations.ts +19 -1
  105. package/src/component/payoutRelease/observation.ts +10 -0
  106. package/src/component/payoutRelease/queries.ts +35 -0
  107. package/src/component/payoutRelease/schema.ts +4 -9
@@ -1,9 +1,12 @@
1
+ import { collectAdoptionProof } from "./connect/payoutActivationProof.js";
2
+ import { adoptRecipientPayouts, } from "./connect/payoutAdoption.js";
3
+ import { releaseRecipientPayout, } from "./connect/payoutExecution.js";
1
4
  import { reconcileRecipientPayout, } from "./connect/payoutReconciliation.js";
2
5
  import { getRecipientPayoutReceipt, } from "./connect/payoutReceipt.js";
3
6
  import { getTransferFundingReceipt, } from "./connect/transferReceipt.js";
4
7
  import { runMutationOrThrow } from "./helpers.js";
5
8
  import { componentRef } from "./webhooks/helpers.js";
6
- import { canonicalSchedule, canonicalThresholds, validateScope, } from "../component/payoutPolicy/helpers.js";
9
+ import { canonicalSchedule, canonicalThresholds, validateScope, holdingDays, } from "../component/payoutPolicy/helpers.js";
7
10
  function readSchedule(settings) {
8
11
  const s = settings.payments.payouts?.schedule;
9
12
  if (!s?.interval ||
@@ -36,6 +39,12 @@ export class PayoutPolicyClient {
36
39
  this.component = component;
37
40
  this.provider = provider;
38
41
  }
42
+ adoptPayouts(ctx, opts) {
43
+ return adoptRecipientPayouts(this.provider(), this.component, ctx, opts);
44
+ }
45
+ release(ctx, opts) {
46
+ return releaseRecipientPayout(this.provider(), this.component, ctx, opts, () => this.verify(ctx, opts));
47
+ }
39
48
  reconcilePayout(ctx, opts) {
40
49
  return reconcileRecipientPayout(this.provider(), this.component, ctx, opts);
41
50
  }
@@ -105,6 +114,12 @@ export class PayoutPolicyClient {
105
114
  if (payouts.has_more || payouts.data.length)
106
115
  return { status: "migration_required", reason: "in_flight_payouts" };
107
116
  }
117
+ const history = await stripe.payouts.list({ limit: 1 }, { stripeAccount: scope.accountId });
118
+ if (history.has_more || history.data.length)
119
+ return {
120
+ status: "migration_required",
121
+ reason: "existing_payout_history",
122
+ };
108
123
  return null;
109
124
  }
110
125
  /** Persist restoration intent first. Existing mixed funds require explicit adoption; never infer ownership. */
@@ -127,7 +142,8 @@ export class PayoutPolicyClient {
127
142
  if (prior) {
128
143
  if (prior.mode !== opts.mode ||
129
144
  prior.expectedRevision !== opts.expectedRevision ||
130
- !equal(prior.thresholds, thresholds))
145
+ !equal(prior.thresholds, thresholds) ||
146
+ Boolean(prior.adoption) !== Boolean(opts.adoptExistingBalance))
131
147
  throw new Error("Payout policy operation identity cannot be reused.");
132
148
  return { status: "prepared", operation: prior };
133
149
  }
@@ -139,15 +155,39 @@ export class PayoutPolicyClient {
139
155
  const controls = await this.controls(opts, opts.mode === "custom", policy?.country);
140
156
  if ("status" in controls)
141
157
  return controls;
158
+ let adoption;
159
+ if (opts.adoptExistingBalance &&
160
+ (opts.mode !== "custom" || policy?.mode !== "stripe_managed"))
161
+ throw new Error("Funded adoption requires an owned automatic policy.");
142
162
  if (opts.mode === "custom" && policy?.mode !== "custom") {
143
163
  if (controls.schedule.interval === "manual")
144
164
  return {
145
165
  status: "migration_required",
146
166
  reason: "existing_manual_schedule",
147
167
  };
148
- const migration = await this.migrationPreflight(opts);
149
- if (migration)
150
- return migration;
168
+ if (opts.adoptExistingBalance) {
169
+ const proof = await collectAdoptionProof(this.provider(), this.component, ctx, opts, policy.revision, thresholds.map((t) => t.currency));
170
+ if (proof.status !== "verified")
171
+ return {
172
+ status: "migration_required",
173
+ reason: "existing_balance",
174
+ adoptionReason: proof.reason,
175
+ };
176
+ adoption = proof.proof;
177
+ if (adoption.oldestHeldAt !== undefined &&
178
+ adoption.oldestHeldAt + holdingDays(controls.country) * 86400000 <=
179
+ Date.now())
180
+ return {
181
+ status: "migration_required",
182
+ reason: "existing_balance",
183
+ adoptionReason: "holding_deadline_expired",
184
+ };
185
+ }
186
+ else {
187
+ const migration = await this.migrationPreflight(opts);
188
+ if (migration)
189
+ return migration;
190
+ }
151
191
  }
152
192
  const operation = (await runMutationOrThrow(ctx, componentRef(this.component, "payoutPolicy/mutations/prepare"), {
153
193
  accountId: opts.accountId,
@@ -159,11 +199,17 @@ export class PayoutPolicyClient {
159
199
  country: controls.country,
160
200
  observedSchedule: controls.schedule,
161
201
  observedAt,
202
+ ...(adoption ? { adoption } : {}),
162
203
  }));
163
204
  return { status: "prepared", operation };
164
205
  }
165
206
  /** Unknown provider outcomes remain pending; retry uses the persisted target and request identity. */
166
207
  async apply(ctx, args) {
208
+ args = {
209
+ accountId: args.accountId,
210
+ ownerKey: args.ownerKey,
211
+ operationKey: args.operationKey,
212
+ };
167
213
  const operation = await this.operation(ctx, args);
168
214
  if (!operation)
169
215
  throw new Error("Payout policy operation is unavailable.");
@@ -186,19 +232,48 @@ export class PayoutPolicyClient {
186
232
  return controls;
187
233
  if (operation.mode === "custom" && controls.country !== operation.country)
188
234
  return { status: "schedule_drift" };
235
+ if (operation.adoption &&
236
+ !operation.attempted &&
237
+ equal(controls.schedule, operation.targetSchedule))
238
+ return { status: "schedule_drift" };
239
+ let freshAdoption;
189
240
  if (!equal(controls.schedule, operation.targetSchedule)) {
190
241
  if (!equal(controls.schedule, operation.observedSchedule))
191
242
  return { status: "schedule_drift" };
192
243
  if (operation.mode === "custom" &&
193
244
  !operation.attempted &&
194
245
  policy?.mode === "stripe_managed") {
195
- const migration = await this.migrationPreflight(args);
246
+ const result = operation.adoption
247
+ ? await collectAdoptionProof(this.provider(), this.component, ctx, args, policy.revision, operation.thresholds.map((t) => t.currency))
248
+ : null;
249
+ if (result?.status === "verified")
250
+ freshAdoption = result.proof;
251
+ const ageExpired = result?.status === "verified" &&
252
+ result.proof.oldestHeldAt !== undefined &&
253
+ result.proof.oldestHeldAt +
254
+ holdingDays(operation.country) * 86400000 <=
255
+ Date.now();
256
+ const migration = ageExpired
257
+ ? {
258
+ status: "migration_required",
259
+ reason: "existing_balance",
260
+ adoptionReason: "holding_deadline_expired",
261
+ }
262
+ : result?.status === "held"
263
+ ? {
264
+ status: "migration_required",
265
+ reason: "existing_balance",
266
+ adoptionReason: result.reason,
267
+ }
268
+ : result
269
+ ? null
270
+ : await this.migrationPreflight(args);
196
271
  if (migration) {
197
272
  await runMutationOrThrow(ctx, componentRef(this.component, "payoutPolicy/mutations/cancelUnattempted"), { ...args, observedSchedule: controls.schedule });
198
273
  return migration;
199
274
  }
200
275
  }
201
- await runMutationOrThrow(ctx, componentRef(this.component, "payoutPolicy/mutations/beginAttempt"), args);
276
+ await runMutationOrThrow(ctx, componentRef(this.component, "payoutPolicy/mutations/beginAttempt"), { ...args, ...(freshAdoption ? { adoption: freshAdoption } : {}) });
202
277
  try {
203
278
  await this.provider().balanceSettings.update({
204
279
  payments: {
@@ -1 +1 @@
1
- {"version":3,"file":"payoutPolicy.js","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payoutPolicy.js","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"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"}
@@ -1656,12 +1656,44 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1656
1656
  mutations: {
1657
1657
  beginAttempt: FunctionReference<"mutation", "internal", {
1658
1658
  accountId: string;
1659
+ adoption?: {
1660
+ claims: Array<{
1661
+ fingerprint: string;
1662
+ operationKey: string;
1663
+ }>;
1664
+ observations: Array<{
1665
+ currency: string;
1666
+ ledgerFingerprint: string;
1667
+ matureNet: number;
1668
+ observedAt: number;
1669
+ pendingCredits: number;
1670
+ stripeTransferId: string;
1671
+ transactionIds: Array<string>;
1672
+ }>;
1673
+ oldestHeldAt?: number;
1674
+ };
1659
1675
  operationKey: string;
1660
1676
  ownerKey: string;
1661
1677
  }, {
1662
1678
  _creationTime: number;
1663
1679
  _id: string;
1664
1680
  accountId: string;
1681
+ adoption?: {
1682
+ claims: Array<{
1683
+ fingerprint: string;
1684
+ operationKey: string;
1685
+ }>;
1686
+ observations: Array<{
1687
+ currency: string;
1688
+ ledgerFingerprint: string;
1689
+ matureNet: number;
1690
+ observedAt: number;
1691
+ pendingCredits: number;
1692
+ stripeTransferId: string;
1693
+ transactionIds: Array<string>;
1694
+ }>;
1695
+ oldestHeldAt?: number;
1696
+ };
1665
1697
  attempted?: boolean;
1666
1698
  country: string;
1667
1699
  expectedRevision: number;
@@ -1704,6 +1736,22 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1704
1736
  _creationTime: number;
1705
1737
  _id: string;
1706
1738
  accountId: string;
1739
+ adoption?: {
1740
+ claims: Array<{
1741
+ fingerprint: string;
1742
+ operationKey: string;
1743
+ }>;
1744
+ observations: Array<{
1745
+ currency: string;
1746
+ ledgerFingerprint: string;
1747
+ matureNet: number;
1748
+ observedAt: number;
1749
+ pendingCredits: number;
1750
+ stripeTransferId: string;
1751
+ transactionIds: Array<string>;
1752
+ }>;
1753
+ oldestHeldAt?: number;
1754
+ };
1707
1755
  attempted?: boolean;
1708
1756
  country: string;
1709
1757
  expectedRevision: number;
@@ -1746,6 +1794,22 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1746
1794
  _creationTime: number;
1747
1795
  _id: string;
1748
1796
  accountId: string;
1797
+ adoption?: {
1798
+ claims: Array<{
1799
+ fingerprint: string;
1800
+ operationKey: string;
1801
+ }>;
1802
+ observations: Array<{
1803
+ currency: string;
1804
+ ledgerFingerprint: string;
1805
+ matureNet: number;
1806
+ observedAt: number;
1807
+ pendingCredits: number;
1808
+ stripeTransferId: string;
1809
+ transactionIds: Array<string>;
1810
+ }>;
1811
+ oldestHeldAt?: number;
1812
+ };
1749
1813
  attempted?: boolean;
1750
1814
  country: string;
1751
1815
  expectedRevision: number;
@@ -1777,6 +1841,22 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1777
1841
  }, Name>;
1778
1842
  prepare: FunctionReference<"mutation", "internal", {
1779
1843
  accountId: string;
1844
+ adoption?: {
1845
+ claims: Array<{
1846
+ fingerprint: string;
1847
+ operationKey: string;
1848
+ }>;
1849
+ observations: Array<{
1850
+ currency: string;
1851
+ ledgerFingerprint: string;
1852
+ matureNet: number;
1853
+ observedAt: number;
1854
+ pendingCredits: number;
1855
+ stripeTransferId: string;
1856
+ transactionIds: Array<string>;
1857
+ }>;
1858
+ oldestHeldAt?: number;
1859
+ };
1780
1860
  country: string;
1781
1861
  expectedRevision: number;
1782
1862
  mode: "stripe_managed" | "custom";
@@ -1796,6 +1876,22 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1796
1876
  _creationTime: number;
1797
1877
  _id: string;
1798
1878
  accountId: string;
1879
+ adoption?: {
1880
+ claims: Array<{
1881
+ fingerprint: string;
1882
+ operationKey: string;
1883
+ }>;
1884
+ observations: Array<{
1885
+ currency: string;
1886
+ ledgerFingerprint: string;
1887
+ matureNet: number;
1888
+ observedAt: number;
1889
+ pendingCredits: number;
1890
+ stripeTransferId: string;
1891
+ transactionIds: Array<string>;
1892
+ }>;
1893
+ oldestHeldAt?: number;
1894
+ };
1799
1895
  attempted?: boolean;
1800
1896
  country: string;
1801
1897
  expectedRevision: number;
@@ -1894,6 +1990,22 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1894
1990
  _creationTime: number;
1895
1991
  _id: string;
1896
1992
  accountId: string;
1993
+ adoption?: {
1994
+ claims: Array<{
1995
+ fingerprint: string;
1996
+ operationKey: string;
1997
+ }>;
1998
+ observations: Array<{
1999
+ currency: string;
2000
+ ledgerFingerprint: string;
2001
+ matureNet: number;
2002
+ observedAt: number;
2003
+ pendingCredits: number;
2004
+ stripeTransferId: string;
2005
+ transactionIds: Array<string>;
2006
+ }>;
2007
+ oldestHeldAt?: number;
2008
+ };
1897
2009
  attempted?: boolean;
1898
2010
  country: string;
1899
2011
  expectedRevision: number;
@@ -1927,6 +2039,82 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1927
2039
  };
1928
2040
  payoutRelease: {
1929
2041
  mutations: {
2042
+ adoptHistoricalBatch: FunctionReference<"mutation", "internal", {
2043
+ accountId: string;
2044
+ expectedClaims: Array<{
2045
+ fingerprint: string;
2046
+ operationKey: string;
2047
+ }>;
2048
+ expectedRevision: number;
2049
+ observations: Array<{
2050
+ currency: string;
2051
+ ledgerFingerprint: string;
2052
+ matureNet: number;
2053
+ observedAt: number;
2054
+ pendingCredits: number;
2055
+ stripeTransferId: string;
2056
+ transactionIds: Array<string>;
2057
+ }>;
2058
+ ownerKey: string;
2059
+ payouts: Array<{
2060
+ allocations: Array<{
2061
+ amount: number;
2062
+ role?: "store" | "affiliate" | "other";
2063
+ stripeTransferId: string;
2064
+ }>;
2065
+ payout: {
2066
+ amount: number;
2067
+ created: number;
2068
+ currency: string;
2069
+ debitFee: number;
2070
+ debitTransactionId: string;
2071
+ destinationId: string;
2072
+ returnFee?: number;
2073
+ returnTransactionId?: string;
2074
+ status: "paid" | "returned";
2075
+ stripePayoutId: string;
2076
+ };
2077
+ }>;
2078
+ }, {
2079
+ claims: Array<{
2080
+ _creationTime: number;
2081
+ _id: string;
2082
+ accountId: string;
2083
+ allocations: Array<{
2084
+ amount: number;
2085
+ role?: "store" | "affiliate" | "other";
2086
+ stripeTransferId: string;
2087
+ }>;
2088
+ amount: number;
2089
+ attemptedAt?: number;
2090
+ currency: string;
2091
+ debitFee?: number;
2092
+ debitTransactionId?: string;
2093
+ destinationId?: string;
2094
+ expectedRevision: number;
2095
+ feeRevision?: number;
2096
+ historical?: boolean;
2097
+ observations: Array<{
2098
+ currency: string;
2099
+ ledgerFingerprint: string;
2100
+ matureNet: number;
2101
+ observedAt: number;
2102
+ pendingCredits: number;
2103
+ stripeTransferId: string;
2104
+ transactionIds: Array<string>;
2105
+ }>;
2106
+ operationKey: string;
2107
+ ownerKey: string;
2108
+ providerFee?: number;
2109
+ rejection?: {
2110
+ code: "balance_insufficient" | "amount_too_small";
2111
+ requestId: string;
2112
+ };
2113
+ returnTransactionId?: string;
2114
+ status: "reserved" | "submitted" | "paid" | "returned" | "canceled" | "rejected";
2115
+ stripePayoutId?: string;
2116
+ }>;
2117
+ }, Name>;
1930
2118
  beginAttempt: FunctionReference<"mutation", "internal", {
1931
2119
  accountId: string;
1932
2120
  operationKey: string;
@@ -1945,8 +2133,10 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1945
2133
  currency: string;
1946
2134
  debitFee?: number;
1947
2135
  debitTransactionId?: string;
2136
+ destinationId?: string;
1948
2137
  expectedRevision: number;
1949
2138
  feeRevision?: number;
2139
+ historical?: boolean;
1950
2140
  observations: Array<{
1951
2141
  currency: string;
1952
2142
  ledgerFingerprint: string;
@@ -1985,8 +2175,10 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1985
2175
  currency: string;
1986
2176
  debitFee?: number;
1987
2177
  debitTransactionId?: string;
2178
+ destinationId?: string;
1988
2179
  expectedRevision: number;
1989
2180
  feeRevision?: number;
2181
+ historical?: boolean;
1990
2182
  observations: Array<{
1991
2183
  currency: string;
1992
2184
  ledgerFingerprint: string;
@@ -2010,6 +2202,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2010
2202
  claim: FunctionReference<"mutation", "internal", {
2011
2203
  accountId: string;
2012
2204
  currency: string;
2205
+ destinationId?: string;
2013
2206
  expectedRevision: number;
2014
2207
  independentLiabilities: number;
2015
2208
  observations: Array<{
@@ -2038,8 +2231,10 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2038
2231
  currency: string;
2039
2232
  debitFee?: number;
2040
2233
  debitTransactionId?: string;
2234
+ destinationId?: string;
2041
2235
  expectedRevision: number;
2042
2236
  feeRevision?: number;
2237
+ historical?: boolean;
2043
2238
  observations: Array<{
2044
2239
  currency: string;
2045
2240
  ledgerFingerprint: string;
@@ -2094,8 +2289,10 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2094
2289
  currency: string;
2095
2290
  debitFee?: number;
2096
2291
  debitTransactionId?: string;
2292
+ destinationId?: string;
2097
2293
  expectedRevision: number;
2098
2294
  feeRevision?: number;
2295
+ historical?: boolean;
2099
2296
  observations: Array<{
2100
2297
  currency: string;
2101
2298
  ledgerFingerprint: string;
@@ -2136,8 +2333,10 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2136
2333
  currency: string;
2137
2334
  debitFee?: number;
2138
2335
  debitTransactionId?: string;
2336
+ destinationId?: string;
2139
2337
  expectedRevision: number;
2140
2338
  feeRevision?: number;
2339
+ historical?: boolean;
2141
2340
  observations: Array<{
2142
2341
  currency: string;
2143
2342
  ledgerFingerprint: string;
@@ -2186,8 +2385,10 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2186
2385
  currency: string;
2187
2386
  debitFee?: number;
2188
2387
  debitTransactionId?: string;
2388
+ destinationId?: string;
2189
2389
  expectedRevision: number;
2190
2390
  feeRevision?: number;
2391
+ historical?: boolean;
2191
2392
  observations: Array<{
2192
2393
  currency: string;
2193
2394
  ledgerFingerprint: string;
@@ -2236,8 +2437,56 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2236
2437
  currency: string;
2237
2438
  debitFee?: number;
2238
2439
  debitTransactionId?: string;
2440
+ destinationId?: string;
2441
+ expectedRevision: number;
2442
+ feeRevision?: number;
2443
+ historical?: boolean;
2444
+ observations: Array<{
2445
+ currency: string;
2446
+ ledgerFingerprint: string;
2447
+ matureNet: number;
2448
+ observedAt: number;
2449
+ pendingCredits: number;
2450
+ stripeTransferId: string;
2451
+ transactionIds: Array<string>;
2452
+ }>;
2453
+ operationKey: string;
2454
+ ownerKey: string;
2455
+ providerFee?: number;
2456
+ rejection?: {
2457
+ code: "balance_insufficient" | "amount_too_small";
2458
+ requestId: string;
2459
+ };
2460
+ returnTransactionId?: string;
2461
+ status: "reserved" | "submitted" | "paid" | "returned" | "canceled" | "rejected";
2462
+ stripePayoutId?: string;
2463
+ }>;
2464
+ }, Name>;
2465
+ snapshot: FunctionReference<"query", "internal", {
2466
+ accountId: string;
2467
+ ownerKey: string;
2468
+ }, {
2469
+ reason: "snapshot_limit";
2470
+ status: "held";
2471
+ } | {
2472
+ claims: Array<{
2473
+ _creationTime: number;
2474
+ _id: string;
2475
+ accountId: string;
2476
+ allocations: Array<{
2477
+ amount: number;
2478
+ role?: "store" | "affiliate" | "other";
2479
+ stripeTransferId: string;
2480
+ }>;
2481
+ amount: number;
2482
+ attemptedAt?: number;
2483
+ currency: string;
2484
+ debitFee?: number;
2485
+ debitTransactionId?: string;
2486
+ destinationId?: string;
2239
2487
  expectedRevision: number;
2240
2488
  feeRevision?: number;
2489
+ historical?: boolean;
2241
2490
  observations: Array<{
2242
2491
  currency: string;
2243
2492
  ledgerFingerprint: string;
@@ -2258,6 +2507,26 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2258
2507
  status: "reserved" | "submitted" | "paid" | "returned" | "canceled" | "rejected";
2259
2508
  stripePayoutId?: string;
2260
2509
  }>;
2510
+ status: "ready";
2511
+ transfers: Array<{
2512
+ _creationTime: number;
2513
+ _id: string;
2514
+ amount: number;
2515
+ currency: string;
2516
+ destinationAccountId: string;
2517
+ metadata?: any;
2518
+ paymentId?: string;
2519
+ reinstatement?: boolean;
2520
+ reversalClaimedAmount?: number;
2521
+ reversalStatus?: "partially_reversed" | "fully_reversed";
2522
+ reversedAmount?: number;
2523
+ role?: "store" | "affiliate" | "other";
2524
+ sourceChargeId?: string;
2525
+ sourceInvoiceId?: string;
2526
+ status: "pending" | "paid" | "failed" | "reversed";
2527
+ stripeTransferId: string;
2528
+ totalsRecorded?: true;
2529
+ }>;
2261
2530
  }, Name>;
2262
2531
  };
2263
2532
  };