@fantastic.dev/better-stripe 0.20.0 → 0.21.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.
- package/CHANGELOG.md +12 -0
- package/README.md +28 -1
- package/dist/client/connect/payoutReceipt.d.ts +53 -0
- package/dist/client/connect/payoutReceipt.d.ts.map +1 -0
- package/dist/client/connect/payoutReceipt.js +185 -0
- package/dist/client/connect/payoutReceipt.js.map +1 -0
- package/dist/client/connect/payoutReconciliation.d.ts +38 -0
- package/dist/client/connect/payoutReconciliation.d.ts.map +1 -0
- package/dist/client/connect/payoutReconciliation.js +110 -0
- package/dist/client/connect/payoutReconciliation.js.map +1 -0
- package/dist/client/payoutPolicy.d.ts +6 -0
- package/dist/client/payoutPolicy.d.ts.map +1 -1
- package/dist/client/payoutPolicy.js +8 -0
- package/dist/client/payoutPolicy.js.map +1 -1
- package/dist/component/_generated/component.d.ts +39 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/earnings/triggers.d.ts +50 -2
- package/dist/component/earnings/triggers.d.ts.map +1 -1
- package/dist/component/payoutRelease/allocation.d.ts +1 -0
- package/dist/component/payoutRelease/allocation.d.ts.map +1 -1
- package/dist/component/payoutRelease/allocation.js +3 -0
- package/dist/component/payoutRelease/allocation.js.map +1 -1
- package/dist/component/payoutRelease/fees.d.ts +22 -0
- package/dist/component/payoutRelease/fees.d.ts.map +1 -0
- package/dist/component/payoutRelease/fees.js +73 -0
- package/dist/component/payoutRelease/fees.js.map +1 -0
- package/dist/component/payoutRelease/helpers.d.ts +4 -0
- package/dist/component/payoutRelease/helpers.d.ts.map +1 -1
- package/dist/component/payoutRelease/mutations.d.ts +23 -0
- package/dist/component/payoutRelease/mutations.d.ts.map +1 -1
- package/dist/component/payoutRelease/mutations.js +17 -0
- package/dist/component/payoutRelease/mutations.js.map +1 -1
- package/dist/component/payoutRelease/queries.d.ts +16 -0
- package/dist/component/payoutRelease/queries.d.ts.map +1 -1
- package/dist/component/payoutRelease/queries.js +10 -0
- package/dist/component/payoutRelease/queries.js.map +1 -1
- package/dist/component/payoutRelease/schema.d.ts +38 -2
- package/dist/component/payoutRelease/schema.d.ts.map +1 -1
- package/dist/component/payoutRelease/schema.js +11 -0
- package/dist/component/payoutRelease/schema.js.map +1 -1
- package/dist/component/schema.d.ts +25 -1
- package/dist/component/schema.js +2 -1
- package/dist/component/schema.js.map +1 -1
- package/docs/accounts-v2-preview.md +39 -1
- package/docs/react-workflows.md +31 -0
- package/docs/settlement.md +74 -3
- package/package.json +1 -1
- package/src/client/connect/payoutAllocation.test.ts +36 -3
- package/src/client/connect/payoutReceipt.test.ts +312 -0
- package/src/client/connect/payoutReceipt.ts +287 -0
- package/src/client/connect/payoutReconciliation.test.ts +385 -0
- package/src/client/connect/payoutReconciliation.ts +174 -0
- package/src/client/payoutPolicy.ts +16 -0
- package/src/component/_generated/api.ts +2 -0
- package/src/component/_generated/component.ts +38 -0
- package/src/component/payout-fees.test.ts +224 -0
- package/src/component/payoutRelease/allocation.ts +6 -0
- package/src/component/payoutRelease/fees.ts +93 -0
- package/src/component/payoutRelease/mutations.ts +17 -0
- package/src/component/payoutRelease/queries.ts +11 -0
- package/src/component/payoutRelease/schema.ts +12 -0
- package/src/component/schema.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,18 @@
|
|
|
14
14
|
- Remove internal tracker references from public documentation and add a
|
|
15
15
|
regression check that prevents their reintroduction.
|
|
16
16
|
|
|
17
|
+
## [0.21.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.20.1...v0.21.0) (2026-10-15)
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
- **payouts:** reconcile verified payout outcomes and fees ([#187](https://github.com/FantasticDevHQ/better-stripe/issues/187)) ([7f14edb](https://github.com/FantasticDevHQ/better-stripe/commit/7f14edb93dcc2c7808f1e3e3f3a8dbe2ff84ad3d))
|
|
22
|
+
|
|
23
|
+
## [0.20.1](https://github.com/FantasticDevHQ/better-stripe/compare/v0.20.0...v0.20.1) (2026-10-15)
|
|
24
|
+
|
|
25
|
+
### Documentation
|
|
26
|
+
|
|
27
|
+
- record live saved-card verification and sandbox setup ([#178](https://github.com/FantasticDevHQ/better-stripe/issues/178)) ([18d8b30](https://github.com/FantasticDevHQ/better-stripe/commit/18d8b30cd739c90e68508bd4d119297dc219da5c))
|
|
28
|
+
|
|
17
29
|
## [0.20.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.19.0...v0.20.0) (2026-10-15)
|
|
18
30
|
|
|
19
31
|
### Features
|
package/README.md
CHANGED
|
@@ -42,6 +42,9 @@ deadline-expiry API. See [policy setup and limits](docs/settlement.md#recipient-
|
|
|
42
42
|
A [recipient funding reader](docs/settlement.md#verified-recipient-funding-receipts)
|
|
43
43
|
verifies original and reversal receipts, maturity, and exact settlement amounts;
|
|
44
44
|
received credit is kept distinct from still-unpaid entitlement.
|
|
45
|
+
A [payout receipt and reconciliation API](docs/settlement.md#verified-payout-receipts-and-reconciliation)
|
|
46
|
+
verifies actual bank-payout debits and returns, adopts an attempted claim's
|
|
47
|
+
provider outcome, and books its net payout fees once.
|
|
45
48
|
The component also has an internal transactional claim ledger for reservations
|
|
46
49
|
and paid allocations. Automatic combined release and adoption of existing
|
|
47
50
|
balances still require the separate release boundary; schedule controls and
|
|
@@ -49,7 +52,7 @@ claim primitives alone do not enforce a minimum.
|
|
|
49
52
|
|
|
50
53
|
## Status
|
|
51
54
|
|
|
52
|
-
**Version**: `0.
|
|
55
|
+
**Version**: `0.21.0` <!-- x-release-please-version --> (pre-1.0). API may change between minor versions until 1.0.
|
|
53
56
|
|
|
54
57
|
Used in production by its authors. Webhook pipeline is covered by unit tests and a live E2E harness (`npm run e2e:webhooks`) that fires real Stripe-signed events and asserts the ledger.
|
|
55
58
|
|
|
@@ -131,6 +134,13 @@ existing integration to this API version.
|
|
|
131
134
|
|
|
132
135
|
The component ships committed Convex codegen output at `src/component/_generated/{api,component,dataModel,server}.ts` — consumers reach the bindings via the `./_generated/component` subpath export. The example app also commits its own codegen at `example/convex/_generated/`. Running `pnpm dev` (which wraps `convex dev`) regenerates these automatically when the schema or function definitions change, but only against the live dev deployment and only while the dev server is watching.
|
|
133
136
|
|
|
137
|
+
The example resolves the workspace package through `dist/`. After changing
|
|
138
|
+
component source, regenerate library bindings with `pnpm codegen:lib`, run
|
|
139
|
+
`pnpm build`, then deploy the rebuilt component from the example directory with
|
|
140
|
+
`pnpm exec convex dev --once`. Run `pnpm codegen:example` afterward. Code generation
|
|
141
|
+
alone does not prove that a newly added function is mounted; invoke a representative
|
|
142
|
+
query or action against the development deployment before running financial tests.
|
|
143
|
+
|
|
134
144
|
If you add, remove, or rename a query/mutation/action on a branch without the dev server watching — or after a rebase — regenerate explicitly before committing:
|
|
135
145
|
|
|
136
146
|
```bash
|
|
@@ -1649,6 +1659,23 @@ Creation and browser confirmation are not settlement proof. Customer-account
|
|
|
1649
1659
|
operations require Accounts v2 support in the sandbox or merchant account; the
|
|
1650
1660
|
[customer preview guide](docs/accounts-v2-preview.md) explains eligibility.
|
|
1651
1661
|
|
|
1662
|
+
#### Live sandbox verification, 2026-10-15
|
|
1663
|
+
|
|
1664
|
+
The public intent APIs and `SaveCard` passed real Stripe test-mode verification
|
|
1665
|
+
at commit `332d49c`, merged in [PR #166](https://github.com/FantasticDevHQ/better-stripe/pull/166).
|
|
1666
|
+
Browser 3DS failure, retry on the same SetupIntent, and successful authentication
|
|
1667
|
+
passed. A card saved for `off_session` use then succeeded on a later PaymentIntent;
|
|
1668
|
+
all successful test payments were refunded. Provider checks also covered customer
|
|
1669
|
+
ownership, redisplay permission, idempotent retries and declines.
|
|
1670
|
+
|
|
1671
|
+
The initial `non_connect_platform_accounts_v2_access_blocked` error was resolved
|
|
1672
|
+
by enabling Connect in the intended Connect test sandbox. The browser flow used
|
|
1673
|
+
`2026-09-30.endive`; separate API checks also passed on `2026-09-30.preview`.
|
|
1674
|
+
This does not establish customer-only preview eligibility for another account.
|
|
1675
|
+
See the [sandbox setup findings](docs/accounts-v2-preview.md#connect-sandbox-setup-findings-2026-10-15),
|
|
1676
|
+
[authentication and reuse results](docs/react-workflows.md#live-authentication-and-reuse-results-2026-10-15),
|
|
1677
|
+
and [uploaded screenshots and provider records](https://github.com/FantasticDevHQ/better-stripe/pull/166#issuecomment-6185124292).
|
|
1678
|
+
|
|
1652
1679
|
## Component history and currency summaries
|
|
1653
1680
|
|
|
1654
1681
|
See the [read contract guide](docs/read-contracts.md) for reactive product, price and payout
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type Stripe from "stripe";
|
|
2
|
+
import type { PayoutStatus } from "../../component/connect/validators.js";
|
|
3
|
+
export type RecipientPayoutReceiptOptions = {
|
|
4
|
+
accountId: string;
|
|
5
|
+
stripePayoutId: string;
|
|
6
|
+
/** Required when adopting a provider payout into a previously attempted claim. */
|
|
7
|
+
operationKey?: string;
|
|
8
|
+
};
|
|
9
|
+
export type PayoutReceiptTransaction = {
|
|
10
|
+
id: string;
|
|
11
|
+
amount: number;
|
|
12
|
+
fee: number;
|
|
13
|
+
net: number;
|
|
14
|
+
currency: string;
|
|
15
|
+
status: "available" | "pending";
|
|
16
|
+
created: number;
|
|
17
|
+
availableOn: number;
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
20
|
+
export type RecipientPayoutReceipt = {
|
|
21
|
+
status: "not_ready";
|
|
22
|
+
accountId: string;
|
|
23
|
+
stripePayoutId: string;
|
|
24
|
+
reason: "debit_unavailable" | "debit_pending" | "return_unavailable" | "return_pending" | "provider_changed" | "reversal_allocation_required" | "currency_allocation_required";
|
|
25
|
+
} | {
|
|
26
|
+
status: "ready";
|
|
27
|
+
accountId: string;
|
|
28
|
+
stripePayoutId: string;
|
|
29
|
+
operationKey?: string;
|
|
30
|
+
amount: number;
|
|
31
|
+
currency: string;
|
|
32
|
+
providerStatus: PayoutStatus;
|
|
33
|
+
automatic: boolean;
|
|
34
|
+
method: string;
|
|
35
|
+
type: string;
|
|
36
|
+
sourceType: string;
|
|
37
|
+
destinationId: string;
|
|
38
|
+
created: number;
|
|
39
|
+
arrivalDate: number;
|
|
40
|
+
debit: PayoutReceiptTransaction;
|
|
41
|
+
credit?: PayoutReceiptTransaction;
|
|
42
|
+
returnedPrincipal: number;
|
|
43
|
+
returnedNet: number;
|
|
44
|
+
observedAt: number;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Read-only provider receipts, not unpaid entitlement or authorization to release
|
|
48
|
+
* a reservation. Fees remain separate from principal and must be accounted for
|
|
49
|
+
* by the payout/recovery ledger. Manual payout receipts do not identify the
|
|
50
|
+
* original transfers that funded them. Host authorizes access to this account.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getRecipientPayoutReceipt(stripe: Stripe, options: RecipientPayoutReceiptOptions): Promise<RecipientPayoutReceipt>;
|
|
53
|
+
//# sourceMappingURL=payoutReceipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payoutReceipt.d.ts","sourceRoot":"","sources":["../../../src/client/connect/payoutReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,sBAAsB,GAC9B;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EACF,mBAAmB,GACnB,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,8BAA8B,GAC9B,8BAA8B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,YAAY,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,wBAAwB,CAAC;IAChC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqFN;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CA2IjC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
function id(value) {
|
|
2
|
+
return typeof value === "string"
|
|
3
|
+
? value
|
|
4
|
+
: value &&
|
|
5
|
+
typeof value === "object" &&
|
|
6
|
+
"id" in value &&
|
|
7
|
+
typeof value.id === "string"
|
|
8
|
+
? value.id
|
|
9
|
+
: undefined;
|
|
10
|
+
}
|
|
11
|
+
function safeInteger(value) {
|
|
12
|
+
if (!Number.isSafeInteger(value))
|
|
13
|
+
throw new Error("Payout receipt requires safe integer amounts and timestamps.");
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
function timestamp(value) {
|
|
17
|
+
if (safeInteger(value) < 0)
|
|
18
|
+
throw new Error("Payout receipt timestamp is invalid.");
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
function currency(value) {
|
|
22
|
+
if (value.length !== 3 || !/^[a-z]{3}$/.test(value))
|
|
23
|
+
throw new Error("Payout receipt currency is invalid.");
|
|
24
|
+
}
|
|
25
|
+
function fingerprint(p) {
|
|
26
|
+
return JSON.stringify([
|
|
27
|
+
p.id,
|
|
28
|
+
p.amount,
|
|
29
|
+
p.currency,
|
|
30
|
+
p.status,
|
|
31
|
+
p.automatic,
|
|
32
|
+
p.method,
|
|
33
|
+
p.type,
|
|
34
|
+
p.source_type,
|
|
35
|
+
id(p.destination),
|
|
36
|
+
id(p.balance_transaction),
|
|
37
|
+
id(p.failure_balance_transaction),
|
|
38
|
+
id(p.reversed_by),
|
|
39
|
+
p.created,
|
|
40
|
+
p.arrival_date,
|
|
41
|
+
p.metadata?.bsPayoutClaim,
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
function transaction(t, expectedId, payoutId, amount, types) {
|
|
45
|
+
if (t.id !== expectedId ||
|
|
46
|
+
id(t.source) !== payoutId ||
|
|
47
|
+
t.amount !== amount ||
|
|
48
|
+
!types.includes(t.type))
|
|
49
|
+
throw new Error("Payout transaction receipt identity or principal does not match.");
|
|
50
|
+
safeInteger(t.amount);
|
|
51
|
+
safeInteger(t.fee);
|
|
52
|
+
safeInteger(t.net);
|
|
53
|
+
if (safeInteger(t.amount - t.fee) !== t.net)
|
|
54
|
+
throw new Error("Payout transaction receipt net amount does not match.");
|
|
55
|
+
if (!["available", "pending"].includes(t.status) ||
|
|
56
|
+
("balance_type" in t && t.balance_type !== "payments"))
|
|
57
|
+
throw new Error("Payout transaction receipt balance is unsupported.");
|
|
58
|
+
currency(t.currency);
|
|
59
|
+
return {
|
|
60
|
+
id: t.id,
|
|
61
|
+
amount: t.amount,
|
|
62
|
+
fee: t.fee,
|
|
63
|
+
net: t.net,
|
|
64
|
+
currency: t.currency,
|
|
65
|
+
status: t.status,
|
|
66
|
+
created: timestamp(t.created),
|
|
67
|
+
availableOn: timestamp(t.available_on),
|
|
68
|
+
type: t.type,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Read-only provider receipts, not unpaid entitlement or authorization to release
|
|
73
|
+
* a reservation. Fees remain separate from principal and must be accounted for
|
|
74
|
+
* by the payout/recovery ledger. Manual payout receipts do not identify the
|
|
75
|
+
* original transfers that funded them. Host authorizes access to this account.
|
|
76
|
+
*/
|
|
77
|
+
export async function getRecipientPayoutReceipt(stripe, options) {
|
|
78
|
+
const scope = {
|
|
79
|
+
accountId: options.accountId,
|
|
80
|
+
stripePayoutId: options.stripePayoutId,
|
|
81
|
+
};
|
|
82
|
+
if (!/^acct_\w+$/.test(scope.accountId) ||
|
|
83
|
+
scope.accountId.trim() !== scope.accountId ||
|
|
84
|
+
scope.accountId.length > 80 ||
|
|
85
|
+
!/^po_\w+$/.test(scope.stripePayoutId) ||
|
|
86
|
+
scope.stripePayoutId.trim() !== scope.stripePayoutId ||
|
|
87
|
+
scope.stripePayoutId.length > 100)
|
|
88
|
+
throw new Error("Invalid recipient payout identity.");
|
|
89
|
+
if (options.operationKey !== undefined &&
|
|
90
|
+
(!options.operationKey.trim() ||
|
|
91
|
+
options.operationKey.length > 180 ||
|
|
92
|
+
/[\r\n]/.test(options.operationKey)))
|
|
93
|
+
throw new Error("Invalid payout claim identity.");
|
|
94
|
+
const request = { stripeAccount: scope.accountId };
|
|
95
|
+
const readPayout = () => stripe.payouts.retrieve(scope.stripePayoutId, {}, request);
|
|
96
|
+
const payout = await readPayout();
|
|
97
|
+
if (payout.id !== scope.stripePayoutId)
|
|
98
|
+
throw new Error("Provider payout identity does not match.");
|
|
99
|
+
if (safeInteger(payout.amount) <= 0)
|
|
100
|
+
throw new Error("Payout receipt principal is invalid.");
|
|
101
|
+
currency(payout.currency);
|
|
102
|
+
timestamp(payout.created);
|
|
103
|
+
timestamp(payout.arrival_date);
|
|
104
|
+
if (!["pending", "in_transit", "paid", "failed", "canceled"].includes(payout.status) ||
|
|
105
|
+
typeof payout.automatic !== "boolean" ||
|
|
106
|
+
!["standard", "instant"].includes(payout.method) ||
|
|
107
|
+
!["bank_account", "card"].includes(payout.type) ||
|
|
108
|
+
!["card", "bank_account", "fpx"].includes(payout.source_type) ||
|
|
109
|
+
!id(payout.destination))
|
|
110
|
+
throw new Error("Payout receipt state is unsupported.");
|
|
111
|
+
if (options.operationKey !== undefined &&
|
|
112
|
+
payout.metadata?.bsPayoutClaim !== options.operationKey)
|
|
113
|
+
throw new Error("Provider payout claim identity does not match.");
|
|
114
|
+
if (options.operationKey !== undefined &&
|
|
115
|
+
(payout.automatic ||
|
|
116
|
+
payout.method !== "standard" ||
|
|
117
|
+
payout.type !== "bank_account"))
|
|
118
|
+
throw new Error("Provider payout does not match a standard manual bank claim.");
|
|
119
|
+
if (payout.reversed_by != null)
|
|
120
|
+
return {
|
|
121
|
+
status: "not_ready",
|
|
122
|
+
...scope,
|
|
123
|
+
reason: "reversal_allocation_required",
|
|
124
|
+
};
|
|
125
|
+
const debitId = id(payout.balance_transaction);
|
|
126
|
+
if (!debitId)
|
|
127
|
+
return { status: "not_ready", ...scope, reason: "debit_unavailable" };
|
|
128
|
+
const debit = transaction(await stripe.balanceTransactions.retrieve(debitId, {}, request), debitId, payout.id, -payout.amount, ["payout"]);
|
|
129
|
+
if (debit.currency !== payout.currency)
|
|
130
|
+
return {
|
|
131
|
+
status: "not_ready",
|
|
132
|
+
...scope,
|
|
133
|
+
reason: "currency_allocation_required",
|
|
134
|
+
};
|
|
135
|
+
if (debit.status !== "available" ||
|
|
136
|
+
debit.availableOn > Math.floor(Date.now() / 1000))
|
|
137
|
+
return { status: "not_ready", ...scope, reason: "debit_pending" };
|
|
138
|
+
let credit;
|
|
139
|
+
if (payout.status === "failed" || payout.status === "canceled") {
|
|
140
|
+
const creditId = id(payout.failure_balance_transaction);
|
|
141
|
+
if (!creditId)
|
|
142
|
+
return { status: "not_ready", ...scope, reason: "return_unavailable" };
|
|
143
|
+
if (creditId === debitId)
|
|
144
|
+
throw new Error("Payout return receipt cannot also be the original debit.");
|
|
145
|
+
credit = transaction(await stripe.balanceTransactions.retrieve(creditId, {}, request), creditId, payout.id, payout.amount, ["payout_failure", "payout_cancel"]);
|
|
146
|
+
if (credit.currency !== payout.currency)
|
|
147
|
+
return {
|
|
148
|
+
status: "not_ready",
|
|
149
|
+
...scope,
|
|
150
|
+
reason: "currency_allocation_required",
|
|
151
|
+
};
|
|
152
|
+
if (credit.status !== "available" ||
|
|
153
|
+
credit.availableOn > Math.floor(Date.now() / 1000))
|
|
154
|
+
return { status: "not_ready", ...scope, reason: "return_pending" };
|
|
155
|
+
}
|
|
156
|
+
else if (payout.failure_balance_transaction != null) {
|
|
157
|
+
return { status: "not_ready", ...scope, reason: "provider_changed" };
|
|
158
|
+
}
|
|
159
|
+
const verified = await readPayout();
|
|
160
|
+
if (fingerprint(payout) !== fingerprint(verified))
|
|
161
|
+
return { status: "not_ready", ...scope, reason: "provider_changed" };
|
|
162
|
+
return {
|
|
163
|
+
status: "ready",
|
|
164
|
+
...scope,
|
|
165
|
+
...(payout.metadata?.bsPayoutClaim
|
|
166
|
+
? { operationKey: payout.metadata.bsPayoutClaim }
|
|
167
|
+
: {}),
|
|
168
|
+
amount: payout.amount,
|
|
169
|
+
currency: payout.currency,
|
|
170
|
+
providerStatus: payout.status,
|
|
171
|
+
automatic: payout.automatic,
|
|
172
|
+
method: payout.method,
|
|
173
|
+
type: payout.type,
|
|
174
|
+
sourceType: payout.source_type,
|
|
175
|
+
destinationId: id(payout.destination),
|
|
176
|
+
created: payout.created,
|
|
177
|
+
arrivalDate: payout.arrival_date,
|
|
178
|
+
debit,
|
|
179
|
+
...(credit ? { credit } : {}),
|
|
180
|
+
returnedPrincipal: credit?.amount ?? 0,
|
|
181
|
+
returnedNet: credit?.net ?? 0,
|
|
182
|
+
observedAt: Date.now(),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=payoutReceipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payoutReceipt.js","sourceRoot":"","sources":["../../../src/client/connect/payoutReceipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type Stripe from "stripe";
|
|
2
|
+
import type { Infer } from "convex/values";
|
|
3
|
+
import type { claimDoc } from "../../component/payoutRelease/schema.js";
|
|
4
|
+
import type { Component, RunCtx } from "../helpers.js";
|
|
5
|
+
import { type RecipientPayoutReceipt } from "./payoutReceipt.js";
|
|
6
|
+
export type PayoutReconciliationOptions = {
|
|
7
|
+
accountId: string;
|
|
8
|
+
ownerKey: string;
|
|
9
|
+
operationKey: string;
|
|
10
|
+
stripePayoutId?: string;
|
|
11
|
+
/** Complete discovery only. Exhausting this budget never adopts a partial match. */
|
|
12
|
+
maxPages?: number;
|
|
13
|
+
};
|
|
14
|
+
type Claim = Infer<typeof claimDoc>;
|
|
15
|
+
export type PayoutReconciliation = {
|
|
16
|
+
status: "terminal";
|
|
17
|
+
claim: Claim;
|
|
18
|
+
} | {
|
|
19
|
+
status: "updated";
|
|
20
|
+
claim: Claim;
|
|
21
|
+
receipt: Extract<RecipientPayoutReceipt, {
|
|
22
|
+
status: "ready";
|
|
23
|
+
}>;
|
|
24
|
+
} | {
|
|
25
|
+
status: "held";
|
|
26
|
+
reason: "not_found" | "not_attempted" | "payout_unidentified" | "multiple_matches" | "history_incomplete" | "provider_changed" | "fee_allocation_required" | "source_allocation_required" | Extract<RecipientPayoutReceipt, {
|
|
27
|
+
status: "not_ready";
|
|
28
|
+
}>["reason"];
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Recover provider outcomes without creating or retrying a payout. Host must
|
|
32
|
+
* authorize account/owner/operation. A complete metadata match plus scoped
|
|
33
|
+
* receipts is required for adoption; no match never proves money did not move.
|
|
34
|
+
* Fees and principal are persisted together in the component transaction.
|
|
35
|
+
*/
|
|
36
|
+
export declare function reconcileRecipientPayout(stripe: Stripe, component: Component, ctx: RunCtx, options: PayoutReconciliationOptions): Promise<PayoutReconciliation>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=payoutReconciliation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payoutReconciliation.d.ts","sourceRoot":"","sources":["../../../src/client/connect/payoutReconciliation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAGxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,KAAK,KAAK,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AACpC,MAAM,MAAM,oBAAoB,GAC5B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACpC;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC,sBAAsB,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC/D,GACD;IACE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EACF,WAAW,GACX,eAAe,GACf,qBAAqB,GACrB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,4BAA4B,GAC5B,OAAO,CAAC,sBAAsB,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;CACxE,CAAC;AA2CN;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CA+E/B"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { validateIdentity } from "../../component/payoutRelease/helpers.js";
|
|
2
|
+
import { addSummaryAmounts } from "../../component/earnings/arithmetic.js";
|
|
3
|
+
import { runMutationOrThrow } from "../helpers.js";
|
|
4
|
+
import { componentRef } from "../webhooks/helpers.js";
|
|
5
|
+
import { getRecipientPayoutReceipt, } from "./payoutReceipt.js";
|
|
6
|
+
async function discover(stripe, opts, claim, maxPages) {
|
|
7
|
+
const request = { stripeAccount: opts.accountId };
|
|
8
|
+
const created = {
|
|
9
|
+
gte: Math.max(0, Math.floor(claim.attemptedAt / 1000) - 60),
|
|
10
|
+
};
|
|
11
|
+
const matches = new Set();
|
|
12
|
+
let cursor;
|
|
13
|
+
let firstId;
|
|
14
|
+
for (let page = 0; page < maxPages; page++) {
|
|
15
|
+
const result = await stripe.payouts.list({ limit: 100, created, ...(cursor ? { starting_after: cursor } : {}) }, request);
|
|
16
|
+
if (page === 0)
|
|
17
|
+
firstId = result.data[0]?.id;
|
|
18
|
+
for (const payout of result.data)
|
|
19
|
+
if (payout.metadata?.bsPayoutClaim === opts.operationKey)
|
|
20
|
+
matches.add(payout.id);
|
|
21
|
+
if (!result.has_more) {
|
|
22
|
+
const head = await stripe.payouts.list({ limit: 1, created }, request);
|
|
23
|
+
if (head.data[0]?.id !== firstId)
|
|
24
|
+
return { status: "held", reason: "provider_changed" };
|
|
25
|
+
if (matches.size > 1)
|
|
26
|
+
return { status: "held", reason: "multiple_matches" };
|
|
27
|
+
if (!matches.size)
|
|
28
|
+
return { status: "held", reason: "payout_unidentified" };
|
|
29
|
+
return { status: "found", stripePayoutId: [...matches][0] };
|
|
30
|
+
}
|
|
31
|
+
const next = result.data[result.data.length - 1]?.id;
|
|
32
|
+
if (!next || next === cursor)
|
|
33
|
+
return { status: "held", reason: "history_incomplete" };
|
|
34
|
+
cursor = next;
|
|
35
|
+
}
|
|
36
|
+
return { status: "held", reason: "history_incomplete" };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Recover provider outcomes without creating or retrying a payout. Host must
|
|
40
|
+
* authorize account/owner/operation. A complete metadata match plus scoped
|
|
41
|
+
* receipts is required for adoption; no match never proves money did not move.
|
|
42
|
+
* Fees and principal are persisted together in the component transaction.
|
|
43
|
+
*/
|
|
44
|
+
export async function reconcileRecipientPayout(stripe, component, ctx, options) {
|
|
45
|
+
validateIdentity(options);
|
|
46
|
+
const maxPages = options.maxPages ?? 10;
|
|
47
|
+
if (!Number.isInteger(maxPages) || maxPages < 1 || maxPages > 100)
|
|
48
|
+
throw new Error("Payout discovery page budget must be between 1 and 100.");
|
|
49
|
+
if (!ctx.runMutation)
|
|
50
|
+
throw new Error("Payout reconciliation requires a Convex ctx with runMutation.");
|
|
51
|
+
const identity = {
|
|
52
|
+
accountId: options.accountId,
|
|
53
|
+
ownerKey: options.ownerKey,
|
|
54
|
+
operationKey: options.operationKey,
|
|
55
|
+
};
|
|
56
|
+
const claim = (await ctx.runQuery(componentRef(component, "payoutRelease/queries/get"), identity));
|
|
57
|
+
if (!claim)
|
|
58
|
+
return { status: "held", reason: "not_found" };
|
|
59
|
+
if (claim.status === "rejected" || claim.status === "canceled")
|
|
60
|
+
return { status: "terminal", claim };
|
|
61
|
+
if (claim.attemptedAt === undefined)
|
|
62
|
+
return { status: "held", reason: "not_attempted" };
|
|
63
|
+
if (claim.stripePayoutId &&
|
|
64
|
+
options.stripePayoutId &&
|
|
65
|
+
claim.stripePayoutId !== options.stripePayoutId)
|
|
66
|
+
throw new Error("Payout receipt identity conflicts with the durable claim.");
|
|
67
|
+
let payoutId = claim.stripePayoutId ?? options.stripePayoutId;
|
|
68
|
+
if (!payoutId) {
|
|
69
|
+
const result = await discover(stripe, options, claim, maxPages);
|
|
70
|
+
if (result.status === "held")
|
|
71
|
+
return result;
|
|
72
|
+
payoutId = result.stripePayoutId;
|
|
73
|
+
}
|
|
74
|
+
const receipt = await getRecipientPayoutReceipt(stripe, {
|
|
75
|
+
accountId: options.accountId,
|
|
76
|
+
stripePayoutId: payoutId,
|
|
77
|
+
operationKey: options.operationKey,
|
|
78
|
+
});
|
|
79
|
+
if (receipt.status !== "ready")
|
|
80
|
+
return { status: "held", reason: receipt.reason };
|
|
81
|
+
if (receipt.amount !== claim.amount || receipt.currency !== claim.currency)
|
|
82
|
+
throw new Error("Payout receipt money does not match the durable claim.");
|
|
83
|
+
if (receipt.created * 1000 < claim.attemptedAt - 60000 ||
|
|
84
|
+
receipt.created * 1000 > Date.now() + 60000)
|
|
85
|
+
throw new Error("Payout receipt predates its durable attempt or has an invalid creation time.");
|
|
86
|
+
// Current claims use the default card source balance. Other rails need a
|
|
87
|
+
// persisted allocation contract before a provider receipt can be adopted.
|
|
88
|
+
if (receipt.sourceType !== "card")
|
|
89
|
+
return { status: "held", reason: "source_allocation_required" };
|
|
90
|
+
const fee = addSummaryAmounts(receipt.debit.fee, receipt.credit?.fee ?? 0);
|
|
91
|
+
if (fee < 0)
|
|
92
|
+
return { status: "held", reason: "fee_allocation_required" };
|
|
93
|
+
const saved = (await runMutationOrThrow(ctx, componentRef(component, "payoutRelease/mutations/recordOutcome"), {
|
|
94
|
+
...identity,
|
|
95
|
+
stripePayoutId: receipt.stripePayoutId,
|
|
96
|
+
amount: receipt.amount,
|
|
97
|
+
currency: receipt.currency,
|
|
98
|
+
providerStatus: receipt.providerStatus,
|
|
99
|
+
debitTransactionId: receipt.debit.id,
|
|
100
|
+
debitFee: receipt.debit.fee,
|
|
101
|
+
...(receipt.credit
|
|
102
|
+
? {
|
|
103
|
+
returnTransactionId: receipt.credit.id,
|
|
104
|
+
returnFee: receipt.credit.fee,
|
|
105
|
+
}
|
|
106
|
+
: {}),
|
|
107
|
+
}));
|
|
108
|
+
return { status: "updated", claim: saved, receipt };
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=payoutReconciliation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payoutReconciliation.js","sourceRoot":"","sources":["../../../src/client/connect/payoutReconciliation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { type PayoutReconciliationOptions } from "./connect/payoutReconciliation.js";
|
|
2
|
+
export type * from "./connect/payoutReconciliation.js";
|
|
3
|
+
import { type RecipientPayoutReceiptOptions } from "./connect/payoutReceipt.js";
|
|
4
|
+
export type * from "./connect/payoutReceipt.js";
|
|
1
5
|
import { type TransferReceiptOptions } from "./connect/transferReceipt.js";
|
|
2
6
|
export type * from "./connect/transferReceipt.js";
|
|
3
7
|
import type Stripe from "stripe";
|
|
@@ -27,6 +31,8 @@ export declare class PayoutPolicyClient {
|
|
|
27
31
|
private readonly component;
|
|
28
32
|
private readonly provider;
|
|
29
33
|
constructor(component: Component, provider: () => Stripe);
|
|
34
|
+
reconcilePayout(ctx: RunCtx, opts: PayoutReconciliationOptions): Promise<import("./payoutPolicy.js").PayoutReconciliation>;
|
|
35
|
+
payoutReceipt(opts: RecipientPayoutReceiptOptions): Promise<import("./payoutPolicy.js").RecipientPayoutReceipt>;
|
|
30
36
|
transferReceipt(ctx: RunCtx, opts: TransferReceiptOptions): Promise<import("./payoutPolicy.js").TransferFundingReceipt>;
|
|
31
37
|
get(ctx: RunCtx, scope: PayoutPolicyScope): Promise<PayoutPolicy | null>;
|
|
32
38
|
operation(ctx: RunCtx, args: PayoutPolicyScope & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payoutPolicy.d.ts","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payoutPolicy.d.ts","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { reconcileRecipientPayout, } from "./connect/payoutReconciliation.js";
|
|
2
|
+
import { getRecipientPayoutReceipt, } from "./connect/payoutReceipt.js";
|
|
1
3
|
import { getTransferFundingReceipt, } from "./connect/transferReceipt.js";
|
|
2
4
|
import { runMutationOrThrow } from "./helpers.js";
|
|
3
5
|
import { componentRef } from "./webhooks/helpers.js";
|
|
@@ -34,6 +36,12 @@ export class PayoutPolicyClient {
|
|
|
34
36
|
this.component = component;
|
|
35
37
|
this.provider = provider;
|
|
36
38
|
}
|
|
39
|
+
reconcilePayout(ctx, opts) {
|
|
40
|
+
return reconcileRecipientPayout(this.provider(), this.component, ctx, opts);
|
|
41
|
+
}
|
|
42
|
+
payoutReceipt(opts) {
|
|
43
|
+
return getRecipientPayoutReceipt(this.provider(), opts);
|
|
44
|
+
}
|
|
37
45
|
transferReceipt(ctx, opts) {
|
|
38
46
|
return getTransferFundingReceipt(this.provider(), this.component, ctx, opts);
|
|
39
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payoutPolicy.js","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payoutPolicy.js","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"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"}
|