@fantastic.dev/better-stripe 0.28.2 → 0.28.3

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 (43) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +3 -1
  3. package/dist/client/connect/payoutExecutionTestHelpers.js +1 -1
  4. package/dist/client/connect/payoutExecutionTestHelpers.js.map +1 -1
  5. package/dist/component/_generated/component.d.ts +2 -0
  6. package/dist/component/_generated/component.d.ts.map +1 -1
  7. package/dist/component/payoutRelease/deadline.d.ts +10 -0
  8. package/dist/component/payoutRelease/deadline.d.ts.map +1 -0
  9. package/dist/component/payoutRelease/deadline.js +20 -0
  10. package/dist/component/payoutRelease/deadline.js.map +1 -0
  11. package/dist/component/payoutRelease/planning.d.ts +1 -0
  12. package/dist/component/payoutRelease/planning.d.ts.map +1 -1
  13. package/dist/component/payoutRelease/planning.js +5 -2
  14. package/dist/component/payoutRelease/planning.js.map +1 -1
  15. package/dist/component/payoutRelease/preview.d.ts +7 -1
  16. package/dist/component/payoutRelease/preview.d.ts.map +1 -1
  17. package/dist/component/payoutRelease/preview.js +5 -1
  18. package/dist/component/payoutRelease/preview.js.map +1 -1
  19. package/dist/component/payoutRelease/queries.d.ts +2 -0
  20. package/dist/component/payoutRelease/queries.d.ts.map +1 -1
  21. package/dist/component/payoutWorker/mutations.d.ts.map +1 -1
  22. package/dist/component/payoutWorker/mutations.js +12 -4
  23. package/dist/component/payoutWorker/mutations.js.map +1 -1
  24. package/dist/react/workflows/PayoutSettings.d.ts.map +1 -1
  25. package/dist/react/workflows/PayoutSettings.js +1 -1
  26. package/dist/react/workflows/PayoutSettings.js.map +1 -1
  27. package/dist/react/workflows/payout-progress-state.d.ts.map +1 -1
  28. package/dist/react/workflows/payout-progress-state.js +16 -7
  29. package/dist/react/workflows/payout-progress-state.js.map +1 -1
  30. package/docs/react-workflows.md +3 -0
  31. package/docs/settlement.md +22 -0
  32. package/package.json +1 -1
  33. package/src/client/connect/payoutDeadline.test.ts +168 -0
  34. package/src/client/connect/payoutExecutionTestHelpers.ts +1 -1
  35. package/src/component/_generated/api.ts +2 -0
  36. package/src/component/_generated/component.ts +2 -0
  37. package/src/component/payoutRelease/deadline.ts +24 -0
  38. package/src/component/payoutRelease/planning.ts +5 -2
  39. package/src/component/payoutRelease/preview.ts +5 -0
  40. package/src/component/payoutWorker/mutations.ts +20 -4
  41. package/src/react/workflows/PayoutProgress.test.tsx +23 -0
  42. package/src/react/workflows/PayoutSettings.tsx +4 -1
  43. package/src/react/workflows/payout-progress-state.ts +19 -7
@@ -1,6 +1,7 @@
1
1
  import { checkSnapshot, sourceById } from "./helpers.js";
2
2
  import { readFees } from "./fees.js";
3
3
  import { planRecipientPayout } from "./allocation.js";
4
+ import { waiveApplicationMinimum } from "./deadline.js";
4
5
  import { assertAllocationTotals } from "./allocationTotals.js";
5
6
  export async function readPayoutPlan(ctx, args, policy) {
6
7
  const minimum = policy.thresholds.find((t) => t.currency === args.currency);
@@ -24,14 +25,16 @@ export async function readPayoutPlan(ctx, args, policy) {
24
25
  }
25
26
  const fees = await readFees(ctx, args);
26
27
  await assertAllocationTotals(ctx, args, sources);
28
+ const minimumWaived = waiveApplicationMinimum(policy, Date.now());
27
29
  const plan = planRecipientPayout({
28
30
  currency: args.currency,
29
- threshold: minimum.amount,
31
+ // One minor unit is the positive-money guard, not an asserted provider floor.
32
+ threshold: minimumWaived ? 1 : minimum.amount,
30
33
  providerAvailable: args.providerAvailable,
31
34
  independentLiabilities: args.independentLiabilities,
32
35
  confirmedFees: fees?.amount ?? 0,
33
36
  sources,
34
37
  });
35
- return { plan, sources, fees, threshold: minimum.amount };
38
+ return { plan, sources, fees, threshold: minimum.amount, minimumWaived };
36
39
  }
37
40
  //# sourceMappingURL=planning.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/planning.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAA4B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAA2B,EAC3B,IAOC,EACD,MAA+B;IAE/B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,GAAG,EACH,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,EACjB,IAAI,CACL,CAAC;IACF,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAClE,IACE,KAAK;YACL,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;gBACjC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;gBAChC,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC;YAE1C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,WAAW;YACd,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAE,CAAC,IAAI;YAClD,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;YAClC,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,OAAO,CAAC,MAAM;QACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;QACnD,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QAChC,OAAO;KACR,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/planning.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAA4B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAA2B,EAC3B,IAOC,EACD,MAA+B;IAE/B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,GAAG,EACH,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,EACjB,IAAI,CACL,CAAC;IACF,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAClE,IACE,KAAK;YACL,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;gBACjC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;gBAChC,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC;YAE1C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,WAAW;YACd,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAE,CAAC,IAAI;YAClD,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;YAClC,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,8EAA8E;QAC9E,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;QAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;QACnD,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QAChC,OAAO;KACR,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;AAC3E,CAAC"}
@@ -47,8 +47,10 @@ export declare const previewResult: import("convex/values").VUnion<{
47
47
  amount: number;
48
48
  confirmedFees: number;
49
49
  currency: string;
50
+ holdDeadline?: number | undefined;
50
51
  independentLiabilities: number;
51
52
  matureUnpaid: number;
53
+ minimumWaived?: boolean | undefined;
52
54
  observedAt: number;
53
55
  pendingCredits: number;
54
56
  providerAvailable: number;
@@ -81,8 +83,10 @@ export declare const previewResult: import("convex/values").VUnion<{
81
83
  amount: number;
82
84
  confirmedFees: number;
83
85
  currency: string;
86
+ holdDeadline?: number | undefined;
84
87
  independentLiabilities: number;
85
88
  matureUnpaid: number;
89
+ minimumWaived?: boolean | undefined;
86
90
  observedAt: number;
87
91
  pendingCredits: number;
88
92
  providerAvailable: number;
@@ -103,6 +107,8 @@ export declare const previewResult: import("convex/values").VUnion<{
103
107
  currency: import("convex/values").VString<string, "required">;
104
108
  amount: import("convex/values").VFloat64<number, "required">;
105
109
  threshold: import("convex/values").VFloat64<number, "required">;
110
+ minimumWaived: import("convex/values").VBoolean<boolean | undefined, "optional">;
111
+ holdDeadline: import("convex/values").VFloat64<number | undefined, "optional">;
106
112
  providerMinimum: import("convex/values").VNull<null, "required">;
107
113
  matureUnpaid: import("convex/values").VFloat64<number, "required">;
108
114
  pendingCredits: import("convex/values").VFloat64<number, "required">;
@@ -140,7 +146,7 @@ export declare const previewResult: import("convex/values").VUnion<{
140
146
  releasedAmount: import("convex/values").VFloat64<number | undefined, "optional">;
141
147
  reservedAmount: import("convex/values").VFloat64<number | undefined, "optional">;
142
148
  }, "required", "matureUnpaid" | "pendingCredits" | "releasedAmount" | "reservedAmount" | "role">, "required">;
143
- }, "required", "accounting" | "accounting.carriedForwardAmount" | "accounting.releasedAmount" | "accounting.reservedAmount" | "accounting.withheldAmount" | "amount" | "confirmedFees" | "currency" | "independentLiabilities" | "matureUnpaid" | "observedAt" | "pendingCredits" | "providerAvailable" | "providerMinimum" | "reason" | "sources" | "status" | "threshold">], "required", "accounting" | "accounting.carriedForwardAmount" | "accounting.releasedAmount" | "accounting.reservedAmount" | "accounting.withheldAmount" | "amount" | "confirmedFees" | "currency" | "independentLiabilities" | "matureUnpaid" | "observedAt" | "pendingCredits" | "providerAvailable" | "providerMinimum" | "reason" | "sources" | "status" | "threshold">;
149
+ }, "required", "accounting" | "accounting.carriedForwardAmount" | "accounting.releasedAmount" | "accounting.reservedAmount" | "accounting.withheldAmount" | "amount" | "confirmedFees" | "currency" | "holdDeadline" | "independentLiabilities" | "matureUnpaid" | "minimumWaived" | "observedAt" | "pendingCredits" | "providerAvailable" | "providerMinimum" | "reason" | "sources" | "status" | "threshold">], "required", "accounting" | "accounting.carriedForwardAmount" | "accounting.releasedAmount" | "accounting.reservedAmount" | "accounting.withheldAmount" | "amount" | "confirmedFees" | "currency" | "holdDeadline" | "independentLiabilities" | "matureUnpaid" | "minimumWaived" | "observedAt" | "pendingCredits" | "providerAvailable" | "providerMinimum" | "reason" | "sources" | "status" | "threshold">;
144
150
  type Args = {
145
151
  [K in keyof typeof previewFields]: Infer<(typeof previewFields)[K]>;
146
152
  };
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/preview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO3C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOzB,CAAC;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wtBA8BzB,CAAC;AACF,KAAK,IAAI,GAAG;KACT,CAAC,IAAI,MAAM,OAAO,aAAa,GAAG,KAAK,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CACpE,CAAC;AACF,kGAAkG;AAClG,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,GAAG,QAAQ,EAC3B,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CA+CtC"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/preview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO3C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOzB,CAAC;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8xBAgCzB,CAAC;AACF,KAAK,IAAI,GAAG;KACT,CAAC,IAAI,MAAM,OAAO,aAAa,GAAG,KAAK,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CACpE,CAAC;AACF,kGAAkG;AAClG,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,GAAG,QAAQ,EAC3B,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CAkDtC"}
@@ -24,6 +24,8 @@ export const previewResult = v.union(held, v.object({
24
24
  currency: v.string(),
25
25
  amount: v.number(),
26
26
  threshold: v.number(),
27
+ minimumWaived: v.optional(v.boolean()),
28
+ holdDeadline: v.optional(v.number()),
27
29
  providerMinimum: v.null(),
28
30
  matureUnpaid: v.number(),
29
31
  pendingCredits: v.number(),
@@ -56,7 +58,7 @@ export async function previewPlan(ctx, args) {
56
58
  .first();
57
59
  if (pending)
58
60
  return { status: "held", reason: "pending_claim", amount: 0 };
59
- const { plan, sources: funding, fees, threshold, } = await readPayoutPlan(ctx, args, policy);
61
+ const { plan, sources: funding, fees, threshold, minimumWaived, } = await readPayoutPlan(ctx, args, policy);
60
62
  const progress = summarizePayoutProgress(plan, funding, add(fees?.amount ?? 0, args.independentLiabilities));
61
63
  return {
62
64
  status: plan.status,
@@ -64,6 +66,8 @@ export async function previewPlan(ctx, args) {
64
66
  currency: plan.currency,
65
67
  amount: plan.amount,
66
68
  threshold,
69
+ minimumWaived,
70
+ holdDeadline: policy.holdDeadline,
67
71
  providerMinimum: null,
68
72
  matureUnpaid: plan.matureUnpaid,
69
73
  pendingCredits: plan.pendingCredits,
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/preview.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,10 @@ export declare const preview: import("convex/server").RegisteredQuery<"public",
28
28
  amount: number;
29
29
  confirmedFees: number;
30
30
  currency: string;
31
+ holdDeadline?: number | undefined;
31
32
  independentLiabilities: number;
32
33
  matureUnpaid: number;
34
+ minimumWaived?: boolean | undefined;
33
35
  observedAt: number;
34
36
  pendingCredits: number;
35
37
  providerAvailable: number;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/queries.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIlB,CAAC;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiBd,CAAC;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BlB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;GAQf,CAAC;AAEH,4FAA4F;AAC5F,eAAO,MAAM,QAAQ;;;;YA0BE,MAAM;YAAmB,gBAAgB;;;;;YAG3C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE1B,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/queries.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIlB,CAAC;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiBd,CAAC;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BlB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;GAQf,CAAC;AAEH,4FAA4F;AAC5F,eAAO,MAAM,QAAQ;;;;YA0BE,MAAM;YAAmB,gBAAgB;;;;;YAG3C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/component/payoutWorker/mutations.ts"],"names":[],"mappings":"AAYA,oFAAoF;AACpF,eAAO,MAAM,KAAK;;;;;;YAuBF,MAAM;;;;;;;YAiCC,MAAM;;;;;;;YA4Df,KAAK;;;;;;;;;;;;;;;;;;;;GAKjB,CAAC;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;GA6CjB,CAAC"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/component/payoutWorker/mutations.ts"],"names":[],"mappings":"AAgBA,oFAAoF;AACpF,eAAO,MAAM,KAAK;;;;;;YAuBF,MAAM;;;;;;;YAyCC,MAAM;;;;;;;YA4Df,KAAK;;;;;;;;;;;;;;;;;;;;GAKjB,CAAC;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;GAiDjB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { v } from "convex/values";
2
2
  import { mutation } from "../_generated/server.js";
3
+ import { finalAttemptStartsAt, nextPayoutAttempt, } from "../payoutRelease/deadline.js";
3
4
  import { readPolicy } from "../payoutPolicy/helpers.js";
4
5
  import { claimByKey, add } from "../payoutRelease/helpers.js";
5
6
  import { balance as recoveryBalance } from "../affiliateRecovery/accounting.js";
@@ -33,7 +34,14 @@ export const begin = mutation({
33
34
  reason: "worker_busy",
34
35
  nextAttemptAt: job.leaseUntil,
35
36
  };
36
- if (job && job.nextAttemptAt > now)
37
+ const finalStart = finalAttemptStartsAt(policy);
38
+ const enteringFinalWindow = policy?.mode === "custom" &&
39
+ policy.status === "ready" &&
40
+ finalStart !== undefined &&
41
+ finalStart <= now &&
42
+ policy.holdDeadline > now &&
43
+ (job?.lastAttemptAt ?? 0) < finalStart;
44
+ if (job && job.nextAttemptAt > now && !enteringFinalWindow)
37
45
  return {
38
46
  status: "held",
39
47
  reason: "not_due",
@@ -57,7 +65,7 @@ export const begin = mutation({
57
65
  hasOperation: false,
58
66
  leaseUntil: undefined,
59
67
  lastReason: "policy_inactive",
60
- nextAttemptAt: now + args.cadenceMs,
68
+ nextAttemptAt: nextPayoutAttempt(policy, now, args.cadenceMs),
61
69
  });
62
70
  return { status: "held", reason: "policy_inactive" };
63
71
  }
@@ -81,7 +89,7 @@ export const begin = mutation({
81
89
  recovery.reservedRecovery > 0 ||
82
90
  recovery.reservedRestoration > 0 ||
83
91
  recovery.activePayoutKey)) {
84
- const nextAttemptAt = now + args.cadenceMs;
92
+ const nextAttemptAt = nextPayoutAttempt(policy, now, args.cadenceMs);
85
93
  await ctx.db.patch("payoutWorkerJobs", job._id, {
86
94
  operationKey: undefined,
87
95
  hasOperation: false,
@@ -150,7 +158,7 @@ export const finish = mutation({
150
158
  operationKey: retain ? job.operationKey : undefined,
151
159
  hasOperation: retain,
152
160
  leaseUntil: undefined,
153
- nextAttemptAt: Date.now() + job.cadenceMs,
161
+ nextAttemptAt: nextPayoutAttempt(await readPolicy(ctx, args), Date.now(), job.cadenceMs),
154
162
  lastReason: args.reason,
155
163
  completedGeneration: args.generation,
156
164
  completedOperationKey: args.operationKey,
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/payoutWorker/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/payoutWorker/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACtC,CAAC,CAAC;AACH,oFAAoF;AACpF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,IAAI,EACJ,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACxB,GAAG,EAAE,MAAM;QACX,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;KAC3B,CAAC,CACH;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK;YACtB,IAAI,CAAC,SAAS,GAAG,QAAQ;YAEzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,UAAU,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG;YACzC,OAAO;gBACL,MAAM,EAAE,MAAe;gBACvB,MAAM,EAAE,aAAa;gBACrB,aAAa,EAAE,GAAG,CAAC,UAAU;aAC9B,CAAC;QACJ,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,mBAAmB,GACvB,MAAM,EAAE,IAAI,KAAK,QAAQ;YACzB,MAAM,CAAC,MAAM,KAAK,OAAO;YACzB,UAAU,KAAK,SAAS;YACxB,UAAU,IAAI,GAAG;YACjB,MAAM,CAAC,YAAa,GAAG,GAAG;YAC1B,CAAC,GAAG,EAAE,aAAa,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;QACzC,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,GAAG,GAAG,IAAI,CAAC,mBAAmB;YACxD,OAAO;gBACL,MAAM,EAAE,MAAe;gBACvB,MAAM,EAAE,SAAS;gBACjB,aAAa,EAAE,GAAG,CAAC,aAAa;aACjC,CAAC;QACJ,MAAM,KAAK,GAAG,GAAG,EAAE,YAAY;YAC7B,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;YACpE,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAC3C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,MAAM,UAAU,GACd,KAAK,EAAE,MAAM,KAAK,UAAU,IAAI,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;QAChE,IACE,CAAC,UAAU;YACX,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ;gBACxB,MAAM,CAAC,MAAM,KAAK,OAAO;gBACzB,CAAC,MAAM,CAAC,YAAY;gBACpB,MAAM,CAAC,YAAY,IAAI,GAAG;gBAC1B,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,EAC/D,CAAC;YACD,IAAI,GAAG;gBACL,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,EAAE;oBAC9C,YAAY,EAAE,SAAS;oBACvB,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,iBAAiB;oBAC7B,aAAa,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;iBAC9D,CAAC,CAAC;YACL,OAAO,EAAE,MAAM,EAAE,MAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBACjD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,GAAG;gBAClB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAE,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,GAAG,EACH,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,CACd,CAAC;YACF,IACE,QAAQ;gBACR,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC;oBAC3B,QAAQ,CAAC,gBAAgB,GAAG,CAAC;oBAC7B,QAAQ,CAAC,mBAAmB,GAAG,CAAC;oBAChC,QAAQ,CAAC,eAAe,CAAC,EAC3B,CAAC;gBACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrE,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,EAAE;oBAC9C,YAAY,EAAE,SAAS;oBACvB,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,4BAA4B;oBACxC,aAAa;iBACd,CAAC,CAAC;gBACH,OAAO;oBACL,MAAM,EAAE,MAAe;oBACvB,MAAM,EAAE,4BAA4B;oBACpC,aAAa;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QACD,4EAA4E;QAC5E,yEAAyE;QACzE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAM;YACzB,CAAC,CAAC,GAAG,CAAC,YAAa;YACnB,CAAC,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACrC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,EAAE;YAC9C,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAClC,QAAQ;YACR,YAAY;YACZ,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,GAAG,GAAG,MAAM;YACxB,aAAa,EAAE,GAAG;SACnB,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,KAAc;YACtB,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAE;YACrD,aAAa,EAAE,UAAU,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;SAC7D,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE;QACJ,GAAG,KAAK;QACR,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB;IACD,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,IACE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC,UAAU;YACnC,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,UAAU,EAC3C,CAAC;YACD,IACE,GAAG,CAAC,qBAAqB,KAAK,IAAI,CAAC,YAAY;gBAC/C,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM;gBAE9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IACE,CAAC,GAAG;YACJ,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;YAClC,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY;YAEtC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;YAC1C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,MAAM,MAAM,GACV,KAAK,EAAE,MAAM,KAAK,UAAU,IAAI,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;QAChE,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,EAAE;YAC9C,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YACnD,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,SAAS;YACrB,aAAa,EAAE,iBAAiB,CAC9B,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAC3B,IAAI,CAAC,GAAG,EAAE,EACV,GAAG,CAAC,SAAS,CACd;YACD,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,mBAAmB,EAAE,IAAI,CAAC,UAAU;YACpC,qBAAqB,EAAE,IAAI,CAAC,YAAY;SACzC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAE,CAAC;IAC1D,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PayoutSettings.d.ts","sourceRoot":"","sources":["../../../src/react/workflows/PayoutSettings.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMjE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EACF,OAAO,GACP,aAAa,GACb,oBAAoB,GACpB,gBAAgB,GAChB,UAAU,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EACF,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC,GACjE,IAAI,GACJ,SAAS,CAAC;IACd,MAAM,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,SAAS,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,KAAK,IAAI,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAYF,oFAAoF;AACpF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,GACzB,mBAAmB,CA8DrB;AACD,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BA6ExD"}
1
+ {"version":3,"file":"PayoutSettings.d.ts","sourceRoot":"","sources":["../../../src/react/workflows/PayoutSettings.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMjE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EACF,OAAO,GACP,aAAa,GACb,oBAAoB,GACpB,gBAAgB,GAChB,UAAU,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EACF,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC,GACjE,IAAI,GACJ,SAAS,CAAC;IACd,MAAM,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,SAAS,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,KAAK,IAAI,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAYF,oFAAoF;AACpF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,GACzB,mBAAmB,CA8DrB;AACD,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAgFxD"}
@@ -79,6 +79,6 @@ export function PayoutSettings(props) {
79
79
  return (_jsxs("form", { "data-better-stripe": "payout-settings", onSubmit: (event) => {
80
80
  event.preventDefault();
81
81
  void state.save();
82
- }, children: [_jsx("h2", { children: "Payout settings" }), _jsx("label", { htmlFor: `${state.inputId}-mode`, children: "Automatic payout policy" }), _jsxs("select", { id: `${state.inputId}-mode`, value: state.mode, disabled: state.isLoading || state.isPending || state.isChanging, onChange: (event) => state.setMode(event.target.value), children: [_jsx("option", { value: "stripe_managed", children: "Stripe-managed automatic payouts, all currencies" }), _jsx("option", { value: "custom", children: "Custom combined minimum" })] }), state.mode === "custom" && (_jsxs(_Fragment, { children: [_jsxs("label", { htmlFor: `${state.inputId}-minimum`, children: ["Minimum (", props.currency.toUpperCase(), ")"] }), _jsx("input", { id: `${state.inputId}-minimum`, inputMode: "decimal", value: state.minimum, disabled: state.isPending || state.isChanging, onChange: (event) => state.setMinimum(event.target.value) }), _jsxs("label", { children: [_jsx("input", { type: "checkbox", checked: state.consent, disabled: state.isPending || state.isChanging, onChange: (event) => state.setConsent(event.target.checked) }), "I agree to hold funds in my Stripe balance until the combined minimum is met, subject to the holding deadline."] }), _jsx("p", { children: "Store and affiliate earnings combine per currency. Below-minimum funds remain owed. Other currency minimums are preserved." })] })), state.isLoading && _jsx("p", { role: "status", children: "Loading payout settings\u2026" }), state.isChanging && (_jsx("p", { role: "status", children: "A settings change is being verified. The automatic worker will resume it." })), state.error && _jsx("p", { role: "alert", children: state.error }), state.message && _jsx("p", { role: "status", children: state.message }), _jsx("button", { type: "submit", disabled: !state.canSave, children: state.isPending ? "Saving…" : "Save payout settings" }), state.isChanging && props.onRetry && (_jsx("button", { type: "button", disabled: state.isPending, onClick: () => void state.retry(), children: "Retry settings verification" }))] }));
82
+ }, children: [_jsx("h2", { children: "Payout settings" }), _jsx("label", { htmlFor: `${state.inputId}-mode`, children: "Automatic payout policy" }), _jsxs("select", { id: `${state.inputId}-mode`, value: state.mode, disabled: state.isLoading || state.isPending || state.isChanging, onChange: (event) => state.setMode(event.target.value), children: [_jsx("option", { value: "stripe_managed", children: "Stripe-managed automatic payouts, all currencies" }), _jsx("option", { value: "custom", children: "Custom combined minimum" })] }), state.mode === "custom" && (_jsxs(_Fragment, { children: [_jsxs("label", { htmlFor: `${state.inputId}-minimum`, children: ["Minimum (", props.currency.toUpperCase(), ")"] }), _jsx("input", { id: `${state.inputId}-minimum`, inputMode: "decimal", value: state.minimum, disabled: state.isPending || state.isChanging, onChange: (event) => state.setMinimum(event.target.value) }), _jsxs("label", { children: [_jsx("input", { type: "checkbox", checked: state.consent, disabled: state.isPending || state.isChanging, onChange: (event) => state.setConsent(event.target.checked) }), "I agree to hold funds in my Stripe balance until the combined minimum is met, subject to the holding deadline."] }), _jsx("p", { children: "Store and affiliate earnings combine per currency. Below-minimum funds remain owed. During the final day before the holding deadline, the application minimum is waived for automatic payout attempts. Stripe payout limits and balance checks still apply. Other currency minimums are preserved." })] })), state.isLoading && _jsx("p", { role: "status", children: "Loading payout settings\u2026" }), state.isChanging && (_jsx("p", { role: "status", children: "A settings change is being verified. The automatic worker will resume it." })), state.error && _jsx("p", { role: "alert", children: state.error }), state.message && _jsx("p", { role: "status", children: state.message }), _jsx("button", { type: "submit", disabled: !state.canSave, children: state.isPending ? "Saving…" : "Save payout settings" }), state.isChanging && props.onRetry && (_jsx("button", { type: "button", disabled: state.isPending, onClick: () => void state.retry(), children: "Retry settings verification" }))] }));
83
83
  }
84
84
  //# sourceMappingURL=PayoutSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayoutSettings.js","sourceRoot":"","sources":["../../../src/react/workflows/PayoutSettings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PayoutSettings.js","sourceRoot":"","sources":["../../../src/react/workflows/PayoutSettings.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"payout-progress-state.d.ts","sourceRoot":"","sources":["../../../src/react/workflows/payout-progress-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEhF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EACC,YAAY,GACZ,SAAS,GACT,SAAS,GACT,UAAU,GACV,MAAM,GACN,aAAa,GACb,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EACJ,SAAS,GAAG,gBAAgB,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,WAAW,CACtB,OAAO,CAAC,aAAa,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,YAAY,CAAC,CAC3D,CAAC;IACF,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;QACtC,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EACF,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC,GACrE,IAAI,GACJ,SAAS,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,SAAS,CAAC;CACtD,CAAC;AAqBF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAgB,GACjB,EAAE,mBAAmB,GAAG,mBAAmB,CAkH3C"}
1
+ {"version":3,"file":"payout-progress-state.d.ts","sourceRoot":"","sources":["../../../src/react/workflows/payout-progress-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEhF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EACC,YAAY,GACZ,SAAS,GACT,SAAS,GACT,UAAU,GACV,MAAM,GACN,aAAa,GACb,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EACJ,SAAS,GAAG,gBAAgB,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,WAAW,CACtB,OAAO,CAAC,aAAa,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,YAAY,CAAC,CAC3D,CAAC;IACF,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;QACtC,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EACF,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC,GACrE,IAAI,GACJ,SAAS,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,SAAS,CAAC;CACtD,CAAC;AAqBF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAgB,GACjB,EAAE,mBAAmB,GAAG,mBAAmB,CA8H3C"}
@@ -49,21 +49,30 @@ export function payoutProgressState({ policy, preview, currency, nextAttemptAt,
49
49
  const configured = policy.thresholds.find((t) => t.currency === currency);
50
50
  if (preview.currency !== currency ||
51
51
  !configured ||
52
- configured.amount !== preview.threshold)
52
+ configured.amount !== preview.threshold ||
53
+ (preview.minimumWaived &&
54
+ preview.holdDeadline !== policy.holdDeadline))
53
55
  throw new Error("Payout progress currency or policy does not match the assessment.");
54
56
  state.status = "assessed";
55
57
  state.reason = preview.reason ?? null;
56
- state.message =
57
- preview.status === "qualified"
58
+ state.message = preview.minimumWaived
59
+ ? "The holding deadline is approaching. The application minimum is waived for final automatic attempts; provider limits and all balance checks still apply. " +
60
+ (preview.status === "qualified"
61
+ ? "The worker will verify eligibility again before any payout."
62
+ : (reasons[preview.reason ?? ""] ??
63
+ "Automatic payout remains on hold. Contact support before the deadline."))
64
+ : preview.status === "qualified"
58
65
  ? "The combined balance qualified at the assessment time. The automatic worker will verify it again before any payout."
59
66
  : (reasons[preview.reason ?? ""] ??
60
67
  "Automatic payout is on hold. Refresh or contact support.");
61
68
  state.observedAt = preview.observedAt;
62
69
  state.accounting = preview.accounting;
63
- state.progress = {
64
- value: Math.max(0, Math.min(preview.threshold, preview.matureUnpaid)),
65
- max: preview.threshold,
66
- };
70
+ state.progress = preview.minimumWaived
71
+ ? null
72
+ : {
73
+ value: Math.max(0, Math.min(preview.threshold, preview.matureUnpaid)),
74
+ max: preview.threshold,
75
+ };
67
76
  const definitions = [
68
77
  ["qualifying", "Combined qualifying balance", preview.matureUnpaid],
69
78
  ["pending", "Pending settlement", preview.pendingCredits],
@@ -1 +1 @@
1
- {"version":3,"file":"payout-progress-state.js","sourceRoot":"","sources":["../../../src/react/workflows/payout-progress-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payout-progress-state.js","sourceRoot":"","sources":["../../../src/react/workflows/payout-progress-state.ts"],"names":[],"mappings":"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"}
@@ -680,6 +680,9 @@ Stripe-managed defaults without inventing a numeric provider floor. Changing
680
680
  policies suppress prior financial progress during activation, opt-out and expiry
681
681
  restoration. A policy preserves its prior mode until confirmation, so mode alone
682
682
  does not establish verified controls while status is `changing`.
683
+ During the final day, an assessment with `minimumWaived` explains that only the
684
+ application minimum is waived; its saved threshold remains visible, and the
685
+ minimum progress bar is omitted. Stripe limits and balance checks still apply.
683
686
  An expired assessment explains the holding deadline and withholds financial
684
687
  progress until the schedule is restored and verified.
685
688
  For a ready custom policy, an
@@ -216,6 +216,28 @@ thresholds never extends the original deadline. Current limits are 10 days for
216
216
  Thailand, a conservative 730 days for the US, and 90 days elsewhere; verify
217
217
  current provider rules before enabling the feature in production.
218
218
 
219
+ During the final 24 hours before the persisted holding deadline, combined release
220
+ waives the optional application minimum. It still verifies source maturity,
221
+ unpaid allocations, live Stripe balance, liabilities, reservations, schedule
222
+ control and provider payout constraints. The one-minor-unit positive amount
223
+ guard is not a claimed Stripe payout floor. The configured minimum and original
224
+ deadline remain unchanged. Preview includes `minimumWaived` and `holdDeadline`
225
+ so hosts can explain eligibility below the saved minimum.
226
+
227
+ Worker attempts are due at the start of this final window even if an older job
228
+ had a later daily cadence. Within the window, retries are scheduled no more than
229
+ five minutes apart. Hosts must invoke discovery at least that often; stored
230
+ attempt times do not execute themselves. Unknown outcomes retain the same claim
231
+ for reconciliation. A provider floor rejection remains explicit and does not
232
+ consume entitlement.
233
+
234
+ Restoring a weekly/monthly schedule at expiry is a control fallback, not proof
235
+ of funded disbursement within the country holding window. Monitor approaching
236
+ deadlines and escalate provider failures, unavailable bank destinations,
237
+ unreconciled history and unresolved claims before expiry. Late funded expiry
238
+ and the operator recovery outcome remain separate acceptance work; do not claim
239
+ a successful bank payout from a schedule update alone.
240
+
219
241
  For opt-out, prepare a new operation with the latest revision,
220
242
  `mode: "stripe_managed"`, and `thresholds: []`, then apply it. Restoration remains
221
243
  available after Dashboard control is lost, subject to Stripe permissions. It
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fantastic.dev/better-stripe",
3
- "version": "0.28.2",
3
+ "version": "0.28.3",
4
4
  "description": "A Convex component for Stripe V2 Accounts API integration.",
5
5
  "keywords": [
6
6
  "stripe",
@@ -0,0 +1,168 @@
1
+ // @vitest-environment edge-runtime
2
+ import { afterEach, expect, it, vi } from "vitest";
3
+ import type Stripe from "stripe";
4
+ import { setup, scope, component } from "./payoutExecutionTestHelpers.js";
5
+ import { PayoutWorkerClient } from "./payoutWorker.js";
6
+ import { reconcileRecipientPayout } from "./payoutReconciliation.js";
7
+ import { previewRecipientPayout } from "./payoutPreview.js";
8
+ afterEach(() => vi.useRealTimers());
9
+ async function recipient(hours: number, amounts = [599, 400]) {
10
+ const s = await setup(amounts);
11
+ const deadline = Date.now() + hours * 3600000;
12
+ await s.t.run(async (ctx) => {
13
+ const policy = (await ctx.db.query("payoutPolicies").first())!;
14
+ await ctx.db.patch(policy._id, { holdDeadline: deadline });
15
+ });
16
+ const client = new PayoutWorkerClient(
17
+ component,
18
+ (_ctx, opts) => s.run(opts),
19
+ (_ctx, opts) =>
20
+ reconcileRecipientPayout(
21
+ s.provider as unknown as Stripe,
22
+ component,
23
+ s.ctx,
24
+ opts,
25
+ ),
26
+ );
27
+ const run = (cadenceMs = 300000) =>
28
+ client.run(s.ctx, { ...scope, cadenceMs });
29
+ return { ...s, deadline, client, worker: run };
30
+ }
31
+ it("the scheduled worker releases below-custom-minimum funds in the final day", async () => {
32
+ const s = await recipient(12);
33
+ expect(await s.worker()).toMatchObject({
34
+ payout: { claim: { status: "paid", amount: 999 } },
35
+ });
36
+ expect(s.provider.payouts.create).toHaveBeenCalledTimes(1);
37
+ const policy = await s.t.run((ctx) => ctx.db.query("payoutPolicies").first());
38
+ expect(policy).toMatchObject({
39
+ thresholds: [{ currency: "usd", amount: 1000 }],
40
+ holdDeadline: s.deadline,
41
+ });
42
+ });
43
+ it("retains the configured minimum before the final day", async () => {
44
+ const s = await recipient(48);
45
+ expect(await s.worker()).toMatchObject({
46
+ payout: { status: "held", reason: "below_threshold" },
47
+ });
48
+ expect(s.provider.payouts.create).not.toHaveBeenCalled();
49
+ });
50
+ it("the final attempt still subtracts known liabilities", async () => {
51
+ const s = await recipient(12);
52
+ expect(await s.run({ independentLiabilities: 100 })).toMatchObject({
53
+ claim: { status: "paid", amount: 899 },
54
+ });
55
+ });
56
+ it("previews the deadline waiver without changing the configured minimum or reserving money", async () => {
57
+ const s = await recipient(12);
58
+ expect(
59
+ await previewRecipientPayout(
60
+ s.provider as unknown as Stripe,
61
+ component,
62
+ s.ctx,
63
+ scope,
64
+ s.verify,
65
+ ),
66
+ ).toMatchObject({
67
+ status: "qualified",
68
+ amount: 999,
69
+ threshold: 1000,
70
+ minimumWaived: true,
71
+ holdDeadline: s.deadline,
72
+ providerMinimum: null,
73
+ });
74
+ expect(s.provider.payouts.create).not.toHaveBeenCalled();
75
+ expect(
76
+ await s.t.run((ctx) => ctx.db.query("payoutReleaseClaims").collect()),
77
+ ).toEqual([]);
78
+ });
79
+ it("caps a daily cadence at the beginning of the final-attempt window", async () => {
80
+ vi.useFakeTimers();
81
+ const s = await recipient(25);
82
+ expect(await s.worker(86400000)).toMatchObject({
83
+ payout: { reason: "below_threshold" },
84
+ job: { nextAttemptAt: s.deadline - 86400000 },
85
+ });
86
+ vi.advanceTimersByTime(3600000);
87
+ expect(await s.worker(86400000)).toMatchObject({
88
+ payout: { claim: { amount: 999, status: "paid" } },
89
+ });
90
+ });
91
+ it("retains an unknown final-attempt claim and reconciles without another create", async () => {
92
+ vi.useFakeTimers();
93
+ const s = await recipient(12);
94
+ const create = s.provider.payouts.create.getMockImplementation()!;
95
+ s.provider.payouts.create.mockImplementationOnce(async (params) => {
96
+ await create(params);
97
+ throw new Error("response lost after provider accepted");
98
+ });
99
+ await expect(s.worker()).rejects.toThrow(/response lost/);
100
+ vi.advanceTimersByTime(300000);
101
+ expect(await s.worker()).toMatchObject({
102
+ payout: { claim: { amount: 999, status: "paid" } },
103
+ });
104
+ expect(s.provider.payouts.create).toHaveBeenCalledTimes(1);
105
+ });
106
+
107
+ it.each(["balance_insufficient", "amount_too_small"])(
108
+ "the final attempt preserves provider rejection %s",
109
+ async (code) => {
110
+ const s = await recipient(12);
111
+ s.provider.payouts.create.mockRejectedValueOnce(
112
+ Object.assign(new Error(code), {
113
+ type: "StripeInvalidRequestError",
114
+ code,
115
+ requestId: "req_declined",
116
+ }),
117
+ );
118
+ expect(await s.worker()).toMatchObject({
119
+ payout: { claim: { status: "rejected", rejection: { code } } },
120
+ });
121
+ expect(
122
+ await s.t.run((ctx) => ctx.db.query("payoutSourceAllocations").collect()),
123
+ ).toMatchObject([{ reservedAmount: 0 }, { reservedAmount: 0 }]);
124
+ },
125
+ );
126
+ it("an exhausted balance cannot qualify a zero-amount final payout", async () => {
127
+ const s = await recipient(12);
128
+ expect(await s.run({ independentLiabilities: 999 })).toMatchObject({
129
+ status: "held",
130
+ amount: 0,
131
+ });
132
+ expect(s.provider.payouts.create).not.toHaveBeenCalled();
133
+ });
134
+ it("does not begin a new payout after the holding deadline", async () => {
135
+ const s = await recipient(-1);
136
+ expect(await s.worker()).toMatchObject({
137
+ status: "held",
138
+ reason: "policy_inactive",
139
+ });
140
+ expect(s.provider.payouts.create).not.toHaveBeenCalled();
141
+ });
142
+
143
+ it("retries an unknown final attempt within five minutes even with a daily cadence", async () => {
144
+ vi.useFakeTimers();
145
+ const s = await recipient(12);
146
+ s.provider.payouts.create.mockRejectedValueOnce(
147
+ new Error("network outcome unknown"),
148
+ );
149
+ await expect(s.worker(86400000)).rejects.toThrow(/network outcome unknown/);
150
+ expect((await s.client.get(s.ctx, scope))!.nextAttemptAt).toBe(
151
+ Date.now() + 300000,
152
+ );
153
+ });
154
+
155
+ it("rescues a pre-existing job whose stored cadence would skip the final window", async () => {
156
+ vi.useFakeTimers();
157
+ const s = await recipient(25);
158
+ await s.worker(86400000);
159
+ await s.t.run(async (ctx) => {
160
+ const job = (await ctx.db.query("payoutWorkerJobs").first())!;
161
+ await ctx.db.patch(job._id, { nextAttemptAt: Date.now() + 86400000 });
162
+ });
163
+ vi.advanceTimersByTime(3600000);
164
+ expect(await s.worker(86400000)).toMatchObject({
165
+ payout: { claim: { amount: 999, status: "paid" } },
166
+ });
167
+ expect(s.provider.payouts.create).toHaveBeenCalledTimes(1);
168
+ });
@@ -32,7 +32,7 @@ export async function setup(amounts = [600, 400]) {
32
32
  operationKey: "enable",
33
33
  country: "US",
34
34
  thresholds: [{ currency: "usd", amount: 1000 }],
35
- holdDeadline: Date.now() + 86400000,
35
+ holdDeadline: Date.now() + 7 * 86400000,
36
36
  });
37
37
  for (let i = 0; i < amounts.length; i++)
38
38
  await ctx.db.insert("transfers", {
@@ -53,6 +53,7 @@ import type * as payoutPolicy_queries from "../payoutPolicy/queries.js";
53
53
  import type * as payoutRelease_adoption from "../payoutRelease/adoption.js";
54
54
  import type * as payoutRelease_allocation from "../payoutRelease/allocation.js";
55
55
  import type * as payoutRelease_allocationTotals from "../payoutRelease/allocationTotals.js";
56
+ import type * as payoutRelease_deadline from "../payoutRelease/deadline.js";
56
57
  import type * as payoutRelease_fees from "../payoutRelease/fees.js";
57
58
  import type * as payoutRelease_helpers from "../payoutRelease/helpers.js";
58
59
  import type * as payoutRelease_mutations from "../payoutRelease/mutations.js";
@@ -137,6 +138,7 @@ const fullApi: ApiFromModules<{
137
138
  "payoutRelease/adoption": typeof payoutRelease_adoption;
138
139
  "payoutRelease/allocation": typeof payoutRelease_allocation;
139
140
  "payoutRelease/allocationTotals": typeof payoutRelease_allocationTotals;
141
+ "payoutRelease/deadline": typeof payoutRelease_deadline;
140
142
  "payoutRelease/fees": typeof payoutRelease_fees;
141
143
  "payoutRelease/helpers": typeof payoutRelease_helpers;
142
144
  "payoutRelease/mutations": typeof payoutRelease_mutations;