@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.
- package/CHANGELOG.md +6 -0
- package/README.md +3 -1
- package/dist/client/connect/payoutExecutionTestHelpers.js +1 -1
- package/dist/client/connect/payoutExecutionTestHelpers.js.map +1 -1
- package/dist/component/_generated/component.d.ts +2 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/payoutRelease/deadline.d.ts +10 -0
- package/dist/component/payoutRelease/deadline.d.ts.map +1 -0
- package/dist/component/payoutRelease/deadline.js +20 -0
- package/dist/component/payoutRelease/deadline.js.map +1 -0
- package/dist/component/payoutRelease/planning.d.ts +1 -0
- package/dist/component/payoutRelease/planning.d.ts.map +1 -1
- package/dist/component/payoutRelease/planning.js +5 -2
- package/dist/component/payoutRelease/planning.js.map +1 -1
- package/dist/component/payoutRelease/preview.d.ts +7 -1
- package/dist/component/payoutRelease/preview.d.ts.map +1 -1
- package/dist/component/payoutRelease/preview.js +5 -1
- package/dist/component/payoutRelease/preview.js.map +1 -1
- package/dist/component/payoutRelease/queries.d.ts +2 -0
- package/dist/component/payoutRelease/queries.d.ts.map +1 -1
- package/dist/component/payoutWorker/mutations.d.ts.map +1 -1
- package/dist/component/payoutWorker/mutations.js +12 -4
- package/dist/component/payoutWorker/mutations.js.map +1 -1
- package/dist/react/workflows/PayoutSettings.d.ts.map +1 -1
- package/dist/react/workflows/PayoutSettings.js +1 -1
- package/dist/react/workflows/PayoutSettings.js.map +1 -1
- package/dist/react/workflows/payout-progress-state.d.ts.map +1 -1
- package/dist/react/workflows/payout-progress-state.js +16 -7
- package/dist/react/workflows/payout-progress-state.js.map +1 -1
- package/docs/react-workflows.md +3 -0
- package/docs/settlement.md +22 -0
- package/package.json +1 -1
- package/src/client/connect/payoutDeadline.test.ts +168 -0
- package/src/client/connect/payoutExecutionTestHelpers.ts +1 -1
- package/src/component/_generated/api.ts +2 -0
- package/src/component/_generated/component.ts +2 -0
- package/src/component/payoutRelease/deadline.ts +24 -0
- package/src/component/payoutRelease/planning.ts +5 -2
- package/src/component/payoutRelease/preview.ts +5 -0
- package/src/component/payoutWorker/mutations.ts +20 -4
- package/src/react/workflows/PayoutProgress.test.tsx +23 -0
- package/src/react/workflows/PayoutSettings.tsx +4 -1
- 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
|
-
|
|
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;
|
|
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
|
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,WAAW;IACd,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;CACnC,CAAC;AACF,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACrB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAClC,IAAI,EACJ,CAAC,CAAC,MAAM,CAAC;IACP,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE;IACzB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE;IAClC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAClB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CACnB;QACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACtC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACvC,CAAC,CACH;CACF,CAAC,CACH,CAAC;AAIF,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAA2B,EAC3B,IAAU;IAEV,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,IACE,QAAQ;QACR,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC;YAC3B,QAAQ,CAAC,gBAAgB,GAAG,CAAC;YAC7B,QAAQ,CAAC,mBAAmB,GAAG,CAAC;YAChC,QAAQ,CAAC,eAAe,CAAC;QAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;SACzB,KAAK,CAAC,qBAAqB,CAAC;SAC5B,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAC3D;SACA,KAAK,EAAE,CAAC;IACX,IAAI,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3E,MAAM,EACJ,IAAI,EACJ,OAAO,EAAE,OAAO,EAChB,IAAI,EACJ,SAAS,
|
|
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
|
|
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":"
|
|
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
|
-
|
|
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
|
|
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
|
|
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()
|
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,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,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/payoutWorker/mutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,+
|
|
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":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA8C3D,MAAM,QAAQ,GAAmD;IAC/D,KAAK,EAAE,2BAA2B;IAClC,kBAAkB,EAChB,gFAAgF;IAClF,WAAW,EACT,0GAA0G;IAC5G,cAAc,EACZ,oGAAoG;IACtG,QAAQ,EACN,8EAA8E;CACjF,CAAC;AACF,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAC/B,KAA0B;IAE1B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC;IACzH,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CACrC,CAAC;IACF,MAAM,OAAO,GAAG;QACd,KAAK;QACL,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,IAAK,gBAA0B;QACvD,OAAO,EAAE,UAAU;YACjB,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClE,CAAC,CAAC,EAAE;QACN,OAAO,EAAE,KAAK;KACf,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;QAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IACvD,iGAAiG;IACjG,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,KAAK,gBAAgB;QAChC,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;QACxD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,SAAS,IAAI,UAAU,IAAI,CAAC,KAAK;YACnC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,OAAO,KAAK,CAAC,MAAM,CAAC;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,gBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;YAC9C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO;SACpD,CAAC,CAAC;IACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACV,MAAM,MAAM,GAAG,CAAC,MAA8B,EAAE,EAAE;QAChD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACnD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QAC5C,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QAC5C,SAAS;QACT,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK;QAChE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9D,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AACD,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,4BAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAI,CAAC;IACxD,OAAO,CACL,sCACqB,iBAAiB,EACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,aAED,2CAAwB,EACxB,gBAAO,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,OAAO,wCAAiC,EACxE,kBACE,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,OAAO,EAC3B,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,EAChE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAoC,CAAC,aAGlE,iBAAQ,KAAK,EAAC,gBAAgB,iEAErB,EACT,iBAAQ,KAAK,EAAC,QAAQ,wCAAiC,IAChD,EACR,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAC1B,8BACE,iBAAO,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,UAAU,0BAC9B,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,SAChC,EACR,gBACE,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,UAAU,EAC9B,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,EAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACzD,EACF,4BACE,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,EAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAC3D,sHAGI,EACR,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
65
|
-
|
|
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":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA0DtD,MAAM,OAAO,GAA2B;IACtC,eAAe,EACb,iFAAiF;IACnF,sBAAsB,EACpB,gGAAgG;IAClG,0BAA0B,EACxB,4EAA4E;IAC9E,mBAAmB,EACjB,0FAA0F;IAC5F,aAAa,EACX,2EAA2E;IAC7E,mBAAmB,EACjB,gGAAgG;IAClG,kBAAkB,EAAE,wDAAwD;IAC5E,OAAO,EACL,wHAAwH;IAC1H,cAAc,EACZ,yFAAyF;IAC3F,cAAc,EAAE,kDAAkD;CACnE,CAAC;AACF,MAAM,UAAU,mBAAmB,CAAC,EAClC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAM,GAAG,OAAO,GACI;IACpB,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvE,MAAM,KAAK,GAAwB;QACjC,MAAM,EAAE,SAAS;QACjB,QAAQ;QACR,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,YAAY,EACV,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAClE,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;YAC1B,KAAK,CAAC,OAAO;gBACX,4FAA4F,CAAC;QACjG,CAAC;aAAM,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACvD,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;YAChC,KAAK,CAAC,OAAO;gBACX,6EAA6E,CAAC;QAClF,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;YAC5C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC;gBACzC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;gBAC7B,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,wBAAwB,CAAC;gBAC3D,KAAK,CAAC,OAAO;oBACX,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;wBACrB,0EAA0E,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAC/B,CAAC;gBACF,IACE,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBAC7B,CAAC,UAAU;oBACX,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"payout-progress-state.js","sourceRoot":"","sources":["../../../src/react/workflows/payout-progress-state.ts"],"names":[],"mappings":"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"}
|
package/docs/react-workflows.md
CHANGED
|
@@ -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
|
package/docs/settlement.md
CHANGED
|
@@ -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
|
@@ -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;
|