@fantastic.dev/better-stripe 0.20.1 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +16 -5
  3. package/dist/client/connect/payoutExecution.d.ts +34 -0
  4. package/dist/client/connect/payoutExecution.d.ts.map +1 -0
  5. package/dist/client/connect/payoutExecution.js +189 -0
  6. package/dist/client/connect/payoutExecution.js.map +1 -0
  7. package/dist/client/connect/payoutHistory.d.ts +22 -0
  8. package/dist/client/connect/payoutHistory.d.ts.map +1 -0
  9. package/dist/client/connect/payoutHistory.js +122 -0
  10. package/dist/client/connect/payoutHistory.js.map +1 -0
  11. package/dist/client/connect/payoutReceipt.d.ts +53 -0
  12. package/dist/client/connect/payoutReceipt.d.ts.map +1 -0
  13. package/dist/client/connect/payoutReceipt.js +185 -0
  14. package/dist/client/connect/payoutReceipt.js.map +1 -0
  15. package/dist/client/connect/payoutReconciliation.d.ts +38 -0
  16. package/dist/client/connect/payoutReconciliation.d.ts.map +1 -0
  17. package/dist/client/connect/payoutReconciliation.js +112 -0
  18. package/dist/client/connect/payoutReconciliation.js.map +1 -0
  19. package/dist/client/payoutPolicy.d.ts +9 -0
  20. package/dist/client/payoutPolicy.d.ts.map +1 -1
  21. package/dist/client/payoutPolicy.js +12 -0
  22. package/dist/client/payoutPolicy.js.map +1 -1
  23. package/dist/component/_generated/component.d.ts +112 -0
  24. package/dist/component/_generated/component.d.ts.map +1 -1
  25. package/dist/component/earnings/triggers.d.ts +52 -2
  26. package/dist/component/earnings/triggers.d.ts.map +1 -1
  27. package/dist/component/payoutRelease/allocation.d.ts +1 -0
  28. package/dist/component/payoutRelease/allocation.d.ts.map +1 -1
  29. package/dist/component/payoutRelease/allocation.js +3 -0
  30. package/dist/component/payoutRelease/allocation.js.map +1 -1
  31. package/dist/component/payoutRelease/fees.d.ts +22 -0
  32. package/dist/component/payoutRelease/fees.d.ts.map +1 -0
  33. package/dist/component/payoutRelease/fees.js +73 -0
  34. package/dist/component/payoutRelease/fees.js.map +1 -0
  35. package/dist/component/payoutRelease/helpers.d.ts +5 -0
  36. package/dist/component/payoutRelease/helpers.d.ts.map +1 -1
  37. package/dist/component/payoutRelease/mutations.d.ts +29 -0
  38. package/dist/component/payoutRelease/mutations.d.ts.map +1 -1
  39. package/dist/component/payoutRelease/mutations.js +24 -1
  40. package/dist/component/payoutRelease/mutations.js.map +1 -1
  41. package/dist/component/payoutRelease/queries.d.ts +87 -0
  42. package/dist/component/payoutRelease/queries.d.ts.map +1 -1
  43. package/dist/component/payoutRelease/queries.js +39 -0
  44. package/dist/component/payoutRelease/queries.js.map +1 -1
  45. package/dist/component/payoutRelease/schema.d.ts +43 -2
  46. package/dist/component/payoutRelease/schema.d.ts.map +1 -1
  47. package/dist/component/payoutRelease/schema.js +12 -0
  48. package/dist/component/payoutRelease/schema.js.map +1 -1
  49. package/dist/component/schema.d.ts +27 -1
  50. package/dist/component/schema.js +2 -1
  51. package/dist/component/schema.js.map +1 -1
  52. package/docs/settlement.md +134 -3
  53. package/package.json +1 -1
  54. package/src/client/connect/payoutAllocation.test.ts +36 -3
  55. package/src/client/connect/payoutExecution.test.ts +504 -0
  56. package/src/client/connect/payoutExecution.ts +265 -0
  57. package/src/client/connect/payoutHistory.test.ts +145 -0
  58. package/src/client/connect/payoutHistory.ts +149 -0
  59. package/src/client/connect/payoutReceipt.test.ts +312 -0
  60. package/src/client/connect/payoutReceipt.ts +287 -0
  61. package/src/client/connect/payoutReconciliation.test.ts +398 -0
  62. package/src/client/connect/payoutReconciliation.ts +178 -0
  63. package/src/client/payoutPolicy.ts +30 -0
  64. package/src/component/_generated/api.ts +2 -0
  65. package/src/component/_generated/component.ts +118 -0
  66. package/src/component/payout-fees.test.ts +224 -0
  67. package/src/component/payout-release-snapshot.test.ts +57 -0
  68. package/src/component/payoutRelease/allocation.ts +6 -0
  69. package/src/component/payoutRelease/fees.ts +93 -0
  70. package/src/component/payoutRelease/mutations.ts +26 -1
  71. package/src/component/payoutRelease/queries.ts +46 -0
  72. package/src/component/payoutRelease/schema.ts +13 -0
  73. package/src/component/schema.ts +2 -0
@@ -248,6 +248,25 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
248
248
  searchIndexes: {};
249
249
  vectorIndexes: {};
250
250
  };
251
+ payoutFeeBalances: {
252
+ document: {
253
+ _creationTime: number;
254
+ _id: import("convex/values").GenericId<"payoutFeeBalances">;
255
+ accountId: string;
256
+ amount: number;
257
+ currency: string;
258
+ ownerKey: string;
259
+ revision: number;
260
+ };
261
+ fieldPaths: "_id" | ("_creationTime" | "accountId" | "amount" | "currency" | "ownerKey" | "revision");
262
+ indexes: {
263
+ by_id: ["_id"];
264
+ by_creation_time: ["_creationTime"];
265
+ by_account_currency: ["accountId", "currency", "_creationTime"];
266
+ };
267
+ searchIndexes: {};
268
+ vectorIndexes: {};
269
+ };
251
270
  payoutPolicies: {
252
271
  document: {
253
272
  _creationTime: number;
@@ -336,7 +355,11 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
336
355
  amount: number;
337
356
  attemptedAt?: number | undefined;
338
357
  currency: string;
358
+ debitFee?: number | undefined;
359
+ debitTransactionId?: string | undefined;
360
+ destinationId?: string | undefined;
339
361
  expectedRevision: number;
362
+ feeRevision?: number | undefined;
340
363
  observations: {
341
364
  currency: string;
342
365
  ledgerFingerprint: string;
@@ -348,6 +371,7 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
348
371
  }[];
349
372
  operationKey: string;
350
373
  ownerKey: string;
374
+ providerFee?: number | undefined;
351
375
  rejection?: {
352
376
  code: "amount_too_small" | "balance_insufficient";
353
377
  requestId: string;
@@ -356,11 +380,12 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
356
380
  status: "canceled" | "paid" | "rejected" | "reserved" | "returned" | "submitted";
357
381
  stripePayoutId?: string | undefined;
358
382
  };
359
- fieldPaths: "_id" | ("_creationTime" | "accountId" | "allocations" | "amount" | "attemptedAt" | "currency" | "expectedRevision" | "observations" | "operationKey" | "ownerKey" | "rejection" | "rejection.code" | "rejection.requestId" | "returnTransactionId" | "status" | "stripePayoutId");
383
+ fieldPaths: "_id" | ("_creationTime" | "accountId" | "allocations" | "amount" | "attemptedAt" | "currency" | "debitFee" | "debitTransactionId" | "destinationId" | "expectedRevision" | "feeRevision" | "observations" | "operationKey" | "ownerKey" | "providerFee" | "rejection" | "rejection.code" | "rejection.requestId" | "returnTransactionId" | "status" | "stripePayoutId");
360
384
  indexes: {
361
385
  by_id: ["_id"];
362
386
  by_creation_time: ["_creationTime"];
363
387
  by_account_status: ["accountId", "status", "_creationTime"];
388
+ by_debit_receipt: ["debitTransactionId", "_creationTime"];
364
389
  by_operation: ["operationKey", "_creationTime"];
365
390
  by_provider_payout: ["stripePayoutId", "_creationTime"];
366
391
  by_rejection_request: ["rejection.requestId", "_creationTime"];
@@ -1036,6 +1061,25 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
1036
1061
  searchIndexes: {};
1037
1062
  vectorIndexes: {};
1038
1063
  };
1064
+ payoutFeeBalances: {
1065
+ document: {
1066
+ _creationTime: number;
1067
+ _id: import("convex/values").GenericId<"payoutFeeBalances">;
1068
+ accountId: string;
1069
+ amount: number;
1070
+ currency: string;
1071
+ ownerKey: string;
1072
+ revision: number;
1073
+ };
1074
+ fieldPaths: "_id" | ("_creationTime" | "accountId" | "amount" | "currency" | "ownerKey" | "revision");
1075
+ indexes: {
1076
+ by_id: ["_id"];
1077
+ by_creation_time: ["_creationTime"];
1078
+ by_account_currency: ["accountId", "currency", "_creationTime"];
1079
+ };
1080
+ searchIndexes: {};
1081
+ vectorIndexes: {};
1082
+ };
1039
1083
  payoutPolicies: {
1040
1084
  document: {
1041
1085
  _creationTime: number;
@@ -1124,7 +1168,11 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
1124
1168
  amount: number;
1125
1169
  attemptedAt?: number | undefined;
1126
1170
  currency: string;
1171
+ debitFee?: number | undefined;
1172
+ debitTransactionId?: string | undefined;
1173
+ destinationId?: string | undefined;
1127
1174
  expectedRevision: number;
1175
+ feeRevision?: number | undefined;
1128
1176
  observations: {
1129
1177
  currency: string;
1130
1178
  ledgerFingerprint: string;
@@ -1136,6 +1184,7 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
1136
1184
  }[];
1137
1185
  operationKey: string;
1138
1186
  ownerKey: string;
1187
+ providerFee?: number | undefined;
1139
1188
  rejection?: {
1140
1189
  code: "amount_too_small" | "balance_insufficient";
1141
1190
  requestId: string;
@@ -1144,11 +1193,12 @@ export declare const mutation: import("convex-helpers/server/customFunctions").C
1144
1193
  status: "canceled" | "paid" | "rejected" | "reserved" | "returned" | "submitted";
1145
1194
  stripePayoutId?: string | undefined;
1146
1195
  };
1147
- fieldPaths: "_id" | ("_creationTime" | "accountId" | "allocations" | "amount" | "attemptedAt" | "currency" | "expectedRevision" | "observations" | "operationKey" | "ownerKey" | "rejection" | "rejection.code" | "rejection.requestId" | "returnTransactionId" | "status" | "stripePayoutId");
1196
+ fieldPaths: "_id" | ("_creationTime" | "accountId" | "allocations" | "amount" | "attemptedAt" | "currency" | "debitFee" | "debitTransactionId" | "destinationId" | "expectedRevision" | "feeRevision" | "observations" | "operationKey" | "ownerKey" | "providerFee" | "rejection" | "rejection.code" | "rejection.requestId" | "returnTransactionId" | "status" | "stripePayoutId");
1148
1197
  indexes: {
1149
1198
  by_id: ["_id"];
1150
1199
  by_creation_time: ["_creationTime"];
1151
1200
  by_account_status: ["accountId", "status", "_creationTime"];
1201
+ by_debit_receipt: ["debitTransactionId", "_creationTime"];
1152
1202
  by_operation: ["operationKey", "_creationTime"];
1153
1203
  by_provider_payout: ["stripePayoutId", "_creationTime"];
1154
1204
  by_rejection_request: ["rejection.requestId", "_creationTime"];
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../src/component/earnings/triggers.ts"],"names":[],"mappings":"AA+FA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAA0D,CAAC"}
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../src/component/earnings/triggers.ts"],"names":[],"mappings":"AA+FA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAA0D,CAAC"}
@@ -12,6 +12,7 @@ export type PayoutAllocationOptions = {
12
12
  threshold: number;
13
13
  providerAvailable: number;
14
14
  independentLiabilities: number;
15
+ confirmedFees?: number;
15
16
  sources: PayoutFundingSource[];
16
17
  };
17
18
  export type RecipientPayoutPlan = {
@@ -1 +1 @@
1
- {"version":3,"file":"allocation.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/allocation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;CACxC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,eAAe,EAAE,IAAI,CAAC;CACvB,GAAG,CACA;IACE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,GAAG,wBAAwB,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC;CACX,GACD;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;KACpC,EAAE,CAAC;CACL,CACJ,CAAC;AAaF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,GAC5B,mBAAmB,CAmFrB"}
1
+ {"version":3,"file":"allocation.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/allocation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;CACxC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,eAAe,EAAE,IAAI,CAAC;CACvB,GAAG,CACA;IACE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,GAAG,wBAAwB,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC;CACX,GACD;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;KACpC,EAAE,CAAC;CACL,CACJ,CAAC;AAaF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,GAC5B,mBAAmB,CAwFrB"}
@@ -28,6 +28,7 @@ export function planRecipientPayout(opts) {
28
28
  throw new Error("Invalid payout threshold.");
29
29
  money(opts.providerAvailable);
30
30
  nonnegative(opts.independentLiabilities);
31
+ nonnegative(opts.confirmedFees ?? 0);
31
32
  const seen = new Set();
32
33
  for (const source of opts.sources) {
33
34
  if (!/^tr_\w+$/.test(source.stripeTransferId) ||
@@ -61,6 +62,8 @@ export function planRecipientPayout(opts) {
61
62
  pendingCredits = money(pendingCredits + source.pendingCredits);
62
63
  return { source, unpaid };
63
64
  });
65
+ matureUnpaid = money(money(matureUnpaid - (opts.confirmedFees ?? 0)) -
66
+ opts.independentLiabilities);
64
67
  const totals = {
65
68
  currency: opts.currency,
66
69
  matureUnpaid,
@@ -1 +1 @@
1
- {"version":3,"file":"allocation.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/allocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"allocation.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/allocation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { MutationCtx, QueryCtx } from "../_generated/server.js";
2
+ import type { Doc } from "../_generated/dataModel.js";
3
+ export declare function readFees(ctx: QueryCtx | MutationCtx, scope: {
4
+ accountId: string;
5
+ ownerKey: string;
6
+ currency: string;
7
+ }): Promise<{
8
+ _creationTime: number;
9
+ _id: import("convex/values").GenericId<"payoutFeeBalances">;
10
+ accountId: string;
11
+ amount: number;
12
+ currency: string;
13
+ ownerKey: string;
14
+ revision: number;
15
+ } | null>;
16
+ /** Atomically book verified debit/return fees along with the provider outcome. */
17
+ export declare function recordFees(ctx: MutationCtx, claim: Doc<"payoutReleaseClaims">, proof: {
18
+ debitTransactionId?: string;
19
+ debitFee?: number;
20
+ returnFee?: number;
21
+ }, returned: boolean): Promise<void>;
22
+ //# sourceMappingURL=fees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/fees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAGtD,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,QAAQ,GAAG,WAAW,EAC3B,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;;;;;;;;UAcjE;AACD,kFAAkF;AAClF,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,GAAG,CAAC,qBAAqB,CAAC,EACjC,KAAK,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7E,QAAQ,EAAE,OAAO,iBAkElB"}
@@ -0,0 +1,73 @@
1
+ import { addSummaryAmounts as add } from "../earnings/arithmetic.js";
2
+ import { validateScope } from "../payoutPolicy/helpers.js";
3
+ export async function readFees(ctx, scope) {
4
+ validateScope(scope);
5
+ if (scope.currency.length !== 3 || !/^[a-z]{3}$/.test(scope.currency))
6
+ throw new Error("Invalid payout fee currency.");
7
+ const row = await ctx.db
8
+ .query("payoutFeeBalances")
9
+ .withIndex("by_account_currency", (q) => q.eq("accountId", scope.accountId).eq("currency", scope.currency))
10
+ .unique();
11
+ if (row && row.ownerKey !== scope.ownerKey)
12
+ throw new Error("Payout fee owner does not match.");
13
+ return row;
14
+ }
15
+ /** Atomically book verified debit/return fees along with the provider outcome. */
16
+ export async function recordFees(ctx, claim, proof, returned) {
17
+ if (proof.debitTransactionId === undefined &&
18
+ proof.debitFee === undefined &&
19
+ proof.returnFee === undefined)
20
+ return;
21
+ if (!proof.debitTransactionId ||
22
+ !/^txn_\w+$/.test(proof.debitTransactionId) ||
23
+ proof.debitTransactionId.trim() !== proof.debitTransactionId ||
24
+ !Number.isSafeInteger(proof.debitFee) ||
25
+ (returned
26
+ ? !Number.isSafeInteger(proof.returnFee)
27
+ : proof.returnFee !== undefined))
28
+ throw new Error("Payout fee receipt is incomplete.");
29
+ if ((claim.debitTransactionId !== undefined &&
30
+ claim.debitTransactionId !== proof.debitTransactionId) ||
31
+ (claim.debitFee !== undefined && claim.debitFee !== proof.debitFee))
32
+ throw new Error("Original payout fee receipt changed.");
33
+ const existing = await ctx.db
34
+ .query("payoutReleaseClaims")
35
+ .withIndex("by_debit_receipt", (q) => q.eq("debitTransactionId", proof.debitTransactionId))
36
+ .unique();
37
+ if (existing && existing._id !== claim._id)
38
+ throw new Error("Payout debit receipt is already allocated.");
39
+ const fee = add(proof.debitFee, returned ? proof.returnFee : 0);
40
+ if (fee < 0)
41
+ throw new Error("Payout fee credit requires explicit allocation.");
42
+ if (claim.status === "returned" &&
43
+ claim.providerFee !== undefined &&
44
+ claim.providerFee !== fee)
45
+ throw new Error("Verified payout return fee receipt changed.");
46
+ const delta = add(fee, -(claim.providerFee ?? 0));
47
+ if (delta !== 0) {
48
+ const balance = await readFees(ctx, claim);
49
+ const amount = add(balance?.amount ?? 0, delta);
50
+ if (amount < 0)
51
+ throw new Error("Payout fee balance underflow.");
52
+ const revision = add(balance?.revision ?? 0, 1);
53
+ if (balance)
54
+ await ctx.db.patch("payoutFeeBalances", balance._id, {
55
+ amount,
56
+ revision,
57
+ });
58
+ else
59
+ await ctx.db.insert("payoutFeeBalances", {
60
+ accountId: claim.accountId,
61
+ ownerKey: claim.ownerKey,
62
+ currency: claim.currency,
63
+ amount,
64
+ revision,
65
+ });
66
+ }
67
+ await ctx.db.patch("payoutReleaseClaims", claim._id, {
68
+ debitTransactionId: proof.debitTransactionId,
69
+ debitFee: proof.debitFee,
70
+ providerFee: fee,
71
+ });
72
+ }
73
+ //# sourceMappingURL=fees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/fees.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,11 @@ export declare function claimByKey(ctx: MutationCtx, args: {
27
27
  amount: number;
28
28
  attemptedAt?: number | undefined;
29
29
  currency: string;
30
+ debitFee?: number | undefined;
31
+ debitTransactionId?: string | undefined;
32
+ destinationId?: string | undefined;
30
33
  expectedRevision: number;
34
+ feeRevision?: number | undefined;
31
35
  observations: {
32
36
  currency: string;
33
37
  ledgerFingerprint: string;
@@ -39,6 +43,7 @@ export declare function claimByKey(ctx: MutationCtx, args: {
39
43
  }[];
40
44
  operationKey: string;
41
45
  ownerKey: string;
46
+ providerFee?: number | undefined;
42
47
  rejection?: {
43
48
  code: "amount_too_small" | "balance_insufficient";
44
49
  requestId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,eAAO,MAAM,GAAG,0BAAoB,CAAC;AACrC,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,oBAAoB,CAAC,UAaxE;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,QAQA;AACD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAapE;AACD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;GAaxE;AACD,iFAAiF;AACjF,wBAAsB,aAAa,CACjC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,KAAK,CAAC,OAAO,WAAW,CAAC,EAAE,EACzC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;IAuDf;AACD,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM;;;;;;;;;UAK1E;AACD,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,GAAG,CAAC,qBAAqB,CAAC,EACjC,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,iBA8BzC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,eAAO,MAAM,GAAG,0BAAoB,CAAC;AACrC,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,oBAAoB,CAAC,UAaxE;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,QAQA;AACD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAapE;AACD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;GAaxE;AACD,iFAAiF;AACjF,wBAAsB,aAAa,CACjC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,KAAK,CAAC,OAAO,WAAW,CAAC,EAAE,EACzC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;IAuDf;AACD,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM;;;;;;;;;UAK1E;AACD,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,GAAG,CAAC,qBAAqB,CAAC,EACjC,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,iBA8BzC"}
@@ -2,6 +2,7 @@
2
2
  export declare const claim: import("convex/server").RegisteredMutation<"public", {
3
3
  accountId: string;
4
4
  currency: string;
5
+ destinationId?: string | undefined;
5
6
  expectedRevision: number;
6
7
  independentLiabilities: number;
7
8
  observations: {
@@ -28,7 +29,11 @@ export declare const claim: import("convex/server").RegisteredMutation<"public",
28
29
  amount: number;
29
30
  attemptedAt?: number | undefined;
30
31
  currency: string;
32
+ debitFee?: number | undefined;
33
+ debitTransactionId?: string | undefined;
34
+ destinationId?: string | undefined;
31
35
  expectedRevision: number;
36
+ feeRevision?: number | undefined;
32
37
  observations: {
33
38
  currency: string;
34
39
  ledgerFingerprint: string;
@@ -40,6 +45,7 @@ export declare const claim: import("convex/server").RegisteredMutation<"public",
40
45
  }[];
41
46
  operationKey: string;
42
47
  ownerKey: string;
48
+ providerFee?: number | undefined;
43
49
  rejection?: {
44
50
  code: "amount_too_small" | "balance_insufficient";
45
51
  requestId: string;
@@ -79,7 +85,11 @@ export declare const beginAttempt: import("convex/server").RegisteredMutation<"p
79
85
  amount: number;
80
86
  attemptedAt?: number | undefined;
81
87
  currency: string;
88
+ debitFee?: number | undefined;
89
+ debitTransactionId?: string | undefined;
90
+ destinationId?: string | undefined;
82
91
  expectedRevision: number;
92
+ feeRevision?: number | undefined;
83
93
  observations: {
84
94
  currency: string;
85
95
  ledgerFingerprint: string;
@@ -91,6 +101,7 @@ export declare const beginAttempt: import("convex/server").RegisteredMutation<"p
91
101
  }[];
92
102
  operationKey: string;
93
103
  ownerKey: string;
104
+ providerFee?: number | undefined;
94
105
  rejection?: {
95
106
  code: "amount_too_small" | "balance_insufficient";
96
107
  requestId: string;
@@ -115,7 +126,11 @@ export declare const cancelUnattempted: import("convex/server").RegisteredMutati
115
126
  amount: number;
116
127
  attemptedAt?: number | undefined;
117
128
  currency: string;
129
+ debitFee?: number | undefined;
130
+ debitTransactionId?: string | undefined;
131
+ destinationId?: string | undefined;
118
132
  expectedRevision: number;
133
+ feeRevision?: number | undefined;
119
134
  observations: {
120
135
  currency: string;
121
136
  ledgerFingerprint: string;
@@ -127,6 +142,7 @@ export declare const cancelUnattempted: import("convex/server").RegisteredMutati
127
142
  }[];
128
143
  operationKey: string;
129
144
  ownerKey: string;
145
+ providerFee?: number | undefined;
130
146
  rejection?: {
131
147
  code: "amount_too_small" | "balance_insufficient";
132
148
  requestId: string;
@@ -139,9 +155,12 @@ export declare const recordOutcome: import("convex/server").RegisteredMutation<"
139
155
  accountId: string;
140
156
  amount: number;
141
157
  currency: string;
158
+ debitFee?: number | undefined;
159
+ debitTransactionId?: string | undefined;
142
160
  operationKey: string;
143
161
  ownerKey: string;
144
162
  providerStatus: "canceled" | "failed" | "in_transit" | "paid" | "pending";
163
+ returnFee?: number | undefined;
145
164
  returnTransactionId?: string | undefined;
146
165
  stripePayoutId: string;
147
166
  }, Promise<{
@@ -156,7 +175,11 @@ export declare const recordOutcome: import("convex/server").RegisteredMutation<"
156
175
  amount: number;
157
176
  attemptedAt?: number | undefined;
158
177
  currency: string;
178
+ debitFee?: number | undefined;
179
+ debitTransactionId?: string | undefined;
180
+ destinationId?: string | undefined;
159
181
  expectedRevision: number;
182
+ feeRevision?: number | undefined;
160
183
  observations: {
161
184
  currency: string;
162
185
  ledgerFingerprint: string;
@@ -168,6 +191,7 @@ export declare const recordOutcome: import("convex/server").RegisteredMutation<"
168
191
  }[];
169
192
  operationKey: string;
170
193
  ownerKey: string;
194
+ providerFee?: number | undefined;
171
195
  rejection?: {
172
196
  code: "amount_too_small" | "balance_insufficient";
173
197
  requestId: string;
@@ -195,7 +219,11 @@ export declare const recordRejection: import("convex/server").RegisteredMutation
195
219
  amount: number;
196
220
  attemptedAt?: number | undefined;
197
221
  currency: string;
222
+ debitFee?: number | undefined;
223
+ debitTransactionId?: string | undefined;
224
+ destinationId?: string | undefined;
198
225
  expectedRevision: number;
226
+ feeRevision?: number | undefined;
199
227
  observations: {
200
228
  currency: string;
201
229
  ledgerFingerprint: string;
@@ -207,6 +235,7 @@ export declare const recordRejection: import("convex/server").RegisteredMutation
207
235
  }[];
208
236
  operationKey: string;
209
237
  ownerKey: string;
238
+ providerFee?: number | undefined;
210
239
  rejection?: {
211
240
  code: "amount_too_small" | "balance_insufficient";
212
241
  requestId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/mutations.ts"],"names":[],"mappings":"AA0BA,gHAAgH;AAChH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkCF,MAAM;YACN,eAAe;YACf,CAAC;;;;;;;;;;;;IAgEf,CAAC;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAevB,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkB5B,CAAC;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FxB,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkD1B,CAAC"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/component/payoutRelease/mutations.ts"],"names":[],"mappings":"AA2BA,gHAAgH;AAChH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAyCF,MAAM;YACN,eAAe;YACf,CAAC;;;;;;;;;;;;IAoEf,CAAC;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkBvB,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkB5B,CAAC;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsGxB,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkD1B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { readFees, recordFees } from "./fees.js";
1
2
  import { v } from "convex/values";
2
3
  import { mutation } from "../_generated/server.js";
3
4
  import { identity, observation, claimDoc } from "./schema.js";
@@ -18,6 +19,7 @@ export const claim = mutation({
18
19
  ...identity,
19
20
  expectedRevision: v.number(),
20
21
  currency: v.string(),
22
+ destinationId: v.optional(v.string()),
21
23
  providerAvailable: v.number(),
22
24
  independentLiabilities: v.number(),
23
25
  observations: v.array(observation),
@@ -25,10 +27,14 @@ export const claim = mutation({
25
27
  returns: v.union(claimDoc, held),
26
28
  handler: async (ctx, args) => {
27
29
  validateIdentity(args);
30
+ if (args.destinationId !== undefined &&
31
+ !/^ba_\w+$/.test(args.destinationId))
32
+ throw new Error("Invalid payout bank destination.");
28
33
  const existing = await claimByKey(ctx, args);
29
34
  if (existing) {
30
35
  if (existing.currency !== args.currency ||
31
- existing.expectedRevision !== args.expectedRevision)
36
+ existing.expectedRevision !== args.expectedRevision ||
37
+ existing.destinationId !== args.destinationId)
32
38
  throw new Error("Payout claim identity cannot be reused.");
33
39
  return existing;
34
40
  }
@@ -64,11 +70,13 @@ export const claim = mutation({
64
70
  reservedAmount: prior?.reservedAmount ?? 0,
65
71
  });
66
72
  }
73
+ const fees = await readFees(ctx, args);
67
74
  const plan = planRecipientPayout({
68
75
  currency: args.currency,
69
76
  threshold: minimum.amount,
70
77
  providerAvailable: args.providerAvailable,
71
78
  independentLiabilities: args.independentLiabilities,
79
+ confirmedFees: fees?.amount ?? 0,
72
80
  sources,
73
81
  });
74
82
  if (plan.status === "held")
@@ -96,8 +104,10 @@ export const claim = mutation({
96
104
  expectedRevision: args.expectedRevision,
97
105
  currency: args.currency,
98
106
  amount: plan.amount,
107
+ ...(args.destinationId ? { destinationId: args.destinationId } : {}),
99
108
  allocations: plan.allocations,
100
109
  observations: args.observations,
110
+ feeRevision: fees?.revision ?? 0,
101
111
  status: "reserved",
102
112
  });
103
113
  return (await ctx.db.get("payoutReleaseClaims", id));
@@ -113,6 +123,9 @@ export const beginAttempt = mutation({
113
123
  if (claim.attemptedAt !== undefined)
114
124
  return claim;
115
125
  await readyPolicy(ctx, claim);
126
+ const feeRevision = (await readFees(ctx, claim))?.revision ?? 0;
127
+ if (feeRevision !== (claim.feeRevision ?? 0))
128
+ throw new Error("Payout fee revision changed after reservation.");
116
129
  await checkSnapshot(ctx, claim.accountId, claim.observations, true);
117
130
  await ctx.db.patch("payoutReleaseClaims", claim._id, {
118
131
  attemptedAt: Date.now(),
@@ -146,6 +159,9 @@ export const recordOutcome = mutation({
146
159
  currency: v.string(),
147
160
  providerStatus: v.union(v.literal("pending"), v.literal("in_transit"), v.literal("paid"), v.literal("failed"), v.literal("canceled")),
148
161
  returnTransactionId: v.optional(v.string()),
162
+ debitTransactionId: v.optional(v.string()),
163
+ debitFee: v.optional(v.number()),
164
+ returnFee: v.optional(v.number()),
149
165
  },
150
166
  returns: claimDoc,
151
167
  handler: async (ctx, args) => {
@@ -186,8 +202,15 @@ export const recordOutcome = mutation({
186
202
  if (claim.status === "returned") {
187
203
  if (returned && args.returnTransactionId !== claim.returnTransactionId)
188
204
  throw new Error("Payout return receipt identity changed.");
205
+ if (returned) {
206
+ await recordFees(ctx, claim, args, true);
207
+ return (await ctx.db.get("payoutReleaseClaims", claim._id));
208
+ }
189
209
  return claim;
190
210
  }
211
+ if (claim.status === "paid" && args.providerStatus !== "paid" && !returned)
212
+ return claim;
213
+ await recordFees(ctx, claim, args, returned);
191
214
  if (returned) {
192
215
  await moveAllocations(ctx, claim, claim.status === "paid" ? "return" : "release");
193
216
  await ctx.db.patch("payoutReleaseClaims", claim._id, {
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/payoutRelease/mutations.ts"],"names":[],"mappings":"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"}