@fantastic.dev/better-stripe 0.18.0 → 0.19.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 +6 -0
- package/README.md +4 -1
- package/dist/client/connect/transferReceipt.d.ts +48 -0
- package/dist/client/connect/transferReceipt.d.ts.map +1 -0
- package/dist/client/connect/transferReceipt.js +296 -0
- package/dist/client/connect/transferReceipt.js.map +1 -0
- package/dist/client/payoutPolicy.d.ts +3 -0
- package/dist/client/payoutPolicy.d.ts.map +1 -1
- package/dist/client/payoutPolicy.js +4 -0
- package/dist/client/payoutPolicy.js.map +1 -1
- package/docs/settlement.md +50 -0
- package/package.json +1 -1
- package/src/client/connect/transferReceipt.pagination.test.ts +209 -0
- package/src/client/connect/transferReceipt.test.ts +520 -0
- package/src/client/connect/transferReceipt.ts +422 -0
- package/src/client/payoutPolicy.ts +13 -0
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,12 @@
|
|
|
14
14
|
- Remove internal tracker references from public documentation and add a
|
|
15
15
|
regression check that prevents their reintroduction.
|
|
16
16
|
|
|
17
|
+
## [0.19.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.18.0...v0.19.0) (2026-10-15)
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
- **payouts:** verify recipient transfer funding receipts ([#182](https://github.com/FantasticDevHQ/better-stripe/issues/182)) ([e93d0a7](https://github.com/FantasticDevHQ/better-stripe/commit/e93d0a7a36245b20d568f8c2a3fe117a7f63ea8c))
|
|
22
|
+
|
|
17
23
|
## [0.18.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.17.1...v0.18.0) (2026-10-15)
|
|
18
24
|
|
|
19
25
|
### Features
|
package/README.md
CHANGED
|
@@ -39,12 +39,15 @@ See the [customer preview setup and webhook migration guide](docs/accounts-v2-pr
|
|
|
39
39
|
Recipient-held custom payout policies now have versioned preparation, verified
|
|
40
40
|
manual schedule changes, live drift checks, opt-out restoration, and a bounded
|
|
41
41
|
deadline-expiry API. See [policy setup and limits](docs/settlement.md#recipient-held-payout-policy-controls).
|
|
42
|
+
A [recipient funding reader](docs/settlement.md#verified-recipient-funding-receipts)
|
|
43
|
+
verifies original and reversal receipts, maturity, and exact settlement amounts;
|
|
44
|
+
received credit is kept distinct from still-unpaid entitlement.
|
|
42
45
|
Automatic combined release and adoption of existing balances still require the
|
|
43
46
|
separate release boundary; schedule controls alone do not enforce a minimum.
|
|
44
47
|
|
|
45
48
|
## Status
|
|
46
49
|
|
|
47
|
-
**Version**: `0.
|
|
50
|
+
**Version**: `0.19.0` <!-- x-release-please-version --> (pre-1.0). API may change between minor versions until 1.0.
|
|
48
51
|
|
|
49
52
|
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.
|
|
50
53
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type Stripe from "stripe";
|
|
2
|
+
import type { Component, RunCtx } from "../helpers.js";
|
|
3
|
+
export type TransferReceiptOptions = {
|
|
4
|
+
accountId: string;
|
|
5
|
+
stripeTransferId: string;
|
|
6
|
+
maxRequests?: number;
|
|
7
|
+
};
|
|
8
|
+
export type TransferReceiptTransaction = {
|
|
9
|
+
id: string;
|
|
10
|
+
sourceId: string;
|
|
11
|
+
amount: number;
|
|
12
|
+
fee: number;
|
|
13
|
+
net: number;
|
|
14
|
+
currency: string;
|
|
15
|
+
created: number;
|
|
16
|
+
/** Unix seconds, as returned by Stripe. */
|
|
17
|
+
availableOn: number;
|
|
18
|
+
status: "available" | "pending";
|
|
19
|
+
type: string;
|
|
20
|
+
};
|
|
21
|
+
export type TransferReceiptNotReadyReason = "not_in_ledger" | "transfer_pending" | "receipt_unavailable" | "reversal_pending" | "history_incomplete" | "currency_allocation_required" | "provider_changed" | "ledger_changed";
|
|
22
|
+
export type TransferFundingReceipt = {
|
|
23
|
+
status: "not_ready";
|
|
24
|
+
accountId: string;
|
|
25
|
+
stripeTransferId: string;
|
|
26
|
+
reason: TransferReceiptNotReadyReason;
|
|
27
|
+
} | {
|
|
28
|
+
status: "ready";
|
|
29
|
+
accountId: string;
|
|
30
|
+
stripeTransferId: string;
|
|
31
|
+
destinationPaymentId: string;
|
|
32
|
+
sourceAmount: number;
|
|
33
|
+
sourceCurrency: string;
|
|
34
|
+
settlementCurrency: string;
|
|
35
|
+
providerReversedAmount: number;
|
|
36
|
+
totalNet: number;
|
|
37
|
+
/** Signed source contribution; previous payouts are not allocated here. */
|
|
38
|
+
matureNet: number;
|
|
39
|
+
pendingCredits: number;
|
|
40
|
+
role?: "store" | "affiliate" | "other";
|
|
41
|
+
reinstatement: boolean;
|
|
42
|
+
transactions: TransferReceiptTransaction[];
|
|
43
|
+
/** Snapshot observation time in milliseconds. */
|
|
44
|
+
observedAt: number;
|
|
45
|
+
};
|
|
46
|
+
/** Recipient-scoped received credit. Previous payouts are deliberately not allocated here. */
|
|
47
|
+
export declare function getTransferFundingReceipt(stripe: Stripe, component: Component, ctx: RunCtx, opts: TransferReceiptOptions): Promise<TransferFundingReceipt>;
|
|
48
|
+
//# sourceMappingURL=transferReceipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferReceipt.d.ts","sourceRoot":"","sources":["../../../src/client/connect/transferReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,6BAA6B,GACrC,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,oBAAoB,GACpB,8BAA8B,GAC9B,kBAAkB,GAClB,gBAAgB,CAAC;AACrB,MAAM,MAAM,sBAAsB,GAC9B;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,6BAA6B,CAAC;CACvC,GACD;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;IACvC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,0BAA0B,EAAE,CAAC;IAC3C,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAwCN,8FAA8F;AAC9F,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CA6TjC"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { componentRef } from "../webhooks/helpers.js";
|
|
2
|
+
class NotReady extends Error {
|
|
3
|
+
reason;
|
|
4
|
+
constructor(reason) {
|
|
5
|
+
super(reason);
|
|
6
|
+
this.reason = reason;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
const id = (value) => typeof value === "string" ? value : value?.id;
|
|
10
|
+
function integer(value) {
|
|
11
|
+
if (!Number.isSafeInteger(value))
|
|
12
|
+
throw new Error("Receipt amounts must be safe integers.");
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
const add = (a, b) => integer(a + b);
|
|
16
|
+
function fingerprint(t) {
|
|
17
|
+
return JSON.stringify([
|
|
18
|
+
t.id,
|
|
19
|
+
id(t.destination),
|
|
20
|
+
id(t.destination_payment),
|
|
21
|
+
id(t.source_transaction),
|
|
22
|
+
t.amount,
|
|
23
|
+
t.currency,
|
|
24
|
+
t.amount_reversed,
|
|
25
|
+
t.metadata?.bsReinstateOf,
|
|
26
|
+
]);
|
|
27
|
+
}
|
|
28
|
+
function ledgerFingerprint(t) {
|
|
29
|
+
return JSON.stringify([
|
|
30
|
+
t.stripeTransferId,
|
|
31
|
+
t.destinationAccountId,
|
|
32
|
+
t.sourceChargeId,
|
|
33
|
+
t.amount,
|
|
34
|
+
t.currency,
|
|
35
|
+
t.role,
|
|
36
|
+
t.status,
|
|
37
|
+
t.reversedAmount ?? 0,
|
|
38
|
+
t.reversalClaimedAmount ?? 0,
|
|
39
|
+
t.reinstatement ?? false,
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
/** Recipient-scoped received credit. Previous payouts are deliberately not allocated here. */
|
|
43
|
+
export async function getTransferFundingReceipt(stripe, component, ctx, opts) {
|
|
44
|
+
const max = opts.maxRequests ?? 20;
|
|
45
|
+
if (!Number.isInteger(max) || max < 1 || max > 100)
|
|
46
|
+
throw new Error("Receipt request budget must be between 1 and 100.");
|
|
47
|
+
if (!/^acct_\w+$/.test(opts.accountId) ||
|
|
48
|
+
!/^tr_\w+$/.test(opts.stripeTransferId))
|
|
49
|
+
throw new Error("Invalid recipient transfer identity.");
|
|
50
|
+
const scope = {
|
|
51
|
+
accountId: opts.accountId,
|
|
52
|
+
stripeTransferId: opts.stripeTransferId,
|
|
53
|
+
};
|
|
54
|
+
const read = () => ctx.runQuery(componentRef(component, "connect/queries/getTransferByStripeId"), { stripeTransferId: opts.stripeTransferId });
|
|
55
|
+
const ledger = await read();
|
|
56
|
+
if (!ledger)
|
|
57
|
+
return { status: "not_ready", ...scope, reason: "not_in_ledger" };
|
|
58
|
+
if (ledger.destinationAccountId !== opts.accountId ||
|
|
59
|
+
ledger.stripeTransferId !== opts.stripeTransferId)
|
|
60
|
+
throw new Error("Transfer ledger identity does not match the recipient.");
|
|
61
|
+
if (!["paid", "reversed"].includes(ledger.status))
|
|
62
|
+
return { status: "not_ready", ...scope, reason: "transfer_pending" };
|
|
63
|
+
let requests = 0;
|
|
64
|
+
async function request(fn) {
|
|
65
|
+
if (requests++ >= max)
|
|
66
|
+
throw new NotReady("history_incomplete");
|
|
67
|
+
return fn();
|
|
68
|
+
}
|
|
69
|
+
async function scan(fn) {
|
|
70
|
+
const rows = [];
|
|
71
|
+
let cursor;
|
|
72
|
+
for (;;) {
|
|
73
|
+
const page = await request(() => fn(cursor));
|
|
74
|
+
rows.push(...page.data);
|
|
75
|
+
if (!page.has_more)
|
|
76
|
+
return rows;
|
|
77
|
+
const next = page.data[page.data.length - 1]?.id;
|
|
78
|
+
if (!next || next === cursor)
|
|
79
|
+
throw new NotReady("history_incomplete");
|
|
80
|
+
cursor = next;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const transfer = await request(() => stripe.transfers.retrieve(opts.stripeTransferId));
|
|
85
|
+
const destinationPaymentId = id(transfer.destination_payment);
|
|
86
|
+
if (transfer.id !== ledger.stripeTransferId ||
|
|
87
|
+
id(transfer.destination) !== ledger.destinationAccountId ||
|
|
88
|
+
transfer.amount !== ledger.amount ||
|
|
89
|
+
transfer.currency !== ledger.currency ||
|
|
90
|
+
!destinationPaymentId)
|
|
91
|
+
throw new Error("Provider transfer identity or provenance does not match the ledger.");
|
|
92
|
+
const source = id(transfer.source_transaction);
|
|
93
|
+
if (ledger.sourceChargeId &&
|
|
94
|
+
source !== ledger.sourceChargeId &&
|
|
95
|
+
!(ledger.reinstatement &&
|
|
96
|
+
!source &&
|
|
97
|
+
transfer.metadata?.bsReinstateOf === ledger.sourceChargeId))
|
|
98
|
+
throw new Error("Transfer source provenance does not match the ledger.");
|
|
99
|
+
integer(transfer.amount);
|
|
100
|
+
integer(transfer.amount_reversed);
|
|
101
|
+
if (transfer.amount <= 0 ||
|
|
102
|
+
transfer.amount_reversed < 0 ||
|
|
103
|
+
transfer.amount_reversed > transfer.amount)
|
|
104
|
+
throw new Error("Invalid transfer receipt amount.");
|
|
105
|
+
for (const amount of [
|
|
106
|
+
ledger.reversedAmount ?? 0,
|
|
107
|
+
ledger.reversalClaimedAmount ?? 0,
|
|
108
|
+
]) {
|
|
109
|
+
integer(amount);
|
|
110
|
+
if (amount < 0 || amount > transfer.amount)
|
|
111
|
+
throw new Error("Invalid ledger reversal amount.");
|
|
112
|
+
}
|
|
113
|
+
if (Math.max(ledger.reversedAmount ?? 0, ledger.reversalClaimedAmount ?? 0) >
|
|
114
|
+
transfer.amount_reversed)
|
|
115
|
+
throw new NotReady("reversal_pending");
|
|
116
|
+
const payment = await request(() => stripe.charges.retrieve(destinationPaymentId, {}, { stripeAccount: opts.accountId }));
|
|
117
|
+
if (payment.id !== destinationPaymentId ||
|
|
118
|
+
id(payment.source_transfer) !== transfer.id)
|
|
119
|
+
throw new Error("Recipient payment identity does not match the transfer.");
|
|
120
|
+
if (payment.currency !== transfer.currency)
|
|
121
|
+
throw new NotReady("currency_allocation_required");
|
|
122
|
+
if (payment.amount !== transfer.amount)
|
|
123
|
+
throw new Error("Recipient payment amount does not match the transfer.");
|
|
124
|
+
if (!payment.paid ||
|
|
125
|
+
payment.status !== "succeeded" ||
|
|
126
|
+
!id(payment.balance_transaction))
|
|
127
|
+
throw new NotReady("receipt_unavailable");
|
|
128
|
+
const records = new Map();
|
|
129
|
+
let settlementCurrency;
|
|
130
|
+
async function receipts(sourceId, primary) {
|
|
131
|
+
const txs = await scan((cursor) => stripe.balanceTransactions.list({
|
|
132
|
+
source: sourceId,
|
|
133
|
+
limit: 100,
|
|
134
|
+
...(cursor ? { starting_after: cursor } : {}),
|
|
135
|
+
}, { stripeAccount: opts.accountId }));
|
|
136
|
+
if (!txs.length)
|
|
137
|
+
throw new NotReady("receipt_unavailable");
|
|
138
|
+
for (const t of txs) {
|
|
139
|
+
if (id(t.source) !== sourceId)
|
|
140
|
+
throw new Error("Recipient receipt identity does not match its source.");
|
|
141
|
+
for (const amount of [
|
|
142
|
+
t.amount,
|
|
143
|
+
t.fee,
|
|
144
|
+
t.net,
|
|
145
|
+
t.created,
|
|
146
|
+
t.available_on,
|
|
147
|
+
])
|
|
148
|
+
integer(amount);
|
|
149
|
+
if (t.fee < 0 ||
|
|
150
|
+
t.net !== integer(t.amount - t.fee) ||
|
|
151
|
+
t.created < 0 ||
|
|
152
|
+
t.available_on < 0)
|
|
153
|
+
throw new Error("Invalid recipient receipt amount.");
|
|
154
|
+
if (t.status !== "available" && t.status !== "pending")
|
|
155
|
+
throw new NotReady("receipt_unavailable");
|
|
156
|
+
if (!/^[a-z]{3}$/.test(t.currency))
|
|
157
|
+
throw new Error("Invalid receipt currency.");
|
|
158
|
+
if ("balance_type" in t && t.balance_type !== "payments")
|
|
159
|
+
throw new NotReady("currency_allocation_required");
|
|
160
|
+
if (settlementCurrency && settlementCurrency !== t.currency)
|
|
161
|
+
throw new NotReady("currency_allocation_required");
|
|
162
|
+
settlementCurrency = t.currency;
|
|
163
|
+
if (t.id === primary.id) {
|
|
164
|
+
if (t.currency === primary.currency &&
|
|
165
|
+
t.amount !== primary.sign * primary.amount)
|
|
166
|
+
throw new Error("Original recipient receipt amount does not match the payment.");
|
|
167
|
+
if (t.currency !== primary.currency &&
|
|
168
|
+
(!Number.isFinite(t.exchange_rate) ||
|
|
169
|
+
!t.exchange_rate ||
|
|
170
|
+
t.exchange_rate <= 0))
|
|
171
|
+
throw new NotReady("currency_allocation_required");
|
|
172
|
+
}
|
|
173
|
+
const record = {
|
|
174
|
+
id: t.id,
|
|
175
|
+
sourceId,
|
|
176
|
+
amount: t.amount,
|
|
177
|
+
fee: t.fee,
|
|
178
|
+
net: t.net,
|
|
179
|
+
currency: t.currency,
|
|
180
|
+
created: t.created,
|
|
181
|
+
availableOn: t.available_on,
|
|
182
|
+
status: t.status,
|
|
183
|
+
type: t.type,
|
|
184
|
+
};
|
|
185
|
+
const prior = records.get(t.id);
|
|
186
|
+
if (prior && JSON.stringify(prior) !== JSON.stringify(record))
|
|
187
|
+
throw new Error("Conflicting recipient receipt identity.");
|
|
188
|
+
records.set(t.id, record);
|
|
189
|
+
}
|
|
190
|
+
if (!records.has(primary.id))
|
|
191
|
+
throw new NotReady("receipt_unavailable");
|
|
192
|
+
}
|
|
193
|
+
await receipts(destinationPaymentId, {
|
|
194
|
+
id: id(payment.balance_transaction),
|
|
195
|
+
amount: payment.amount,
|
|
196
|
+
currency: payment.currency,
|
|
197
|
+
sign: 1,
|
|
198
|
+
});
|
|
199
|
+
const reversals = await scan((cursor) => stripe.transfers.listReversals(transfer.id, {
|
|
200
|
+
limit: 100,
|
|
201
|
+
...(cursor ? { starting_after: cursor } : {}),
|
|
202
|
+
}));
|
|
203
|
+
const seenReversals = new Map();
|
|
204
|
+
let reversed = 0;
|
|
205
|
+
for (const r of reversals) {
|
|
206
|
+
if (id(r.transfer) !== transfer.id ||
|
|
207
|
+
r.currency !== transfer.currency ||
|
|
208
|
+
!Number.isSafeInteger(r.amount) ||
|
|
209
|
+
r.amount <= 0)
|
|
210
|
+
throw new Error("Transfer reversal identity or amount does not match.");
|
|
211
|
+
const prior = seenReversals.get(r.id);
|
|
212
|
+
if (prior) {
|
|
213
|
+
if (JSON.stringify([
|
|
214
|
+
prior.amount,
|
|
215
|
+
id(prior.destination_payment_refund),
|
|
216
|
+
]) !== JSON.stringify([r.amount, id(r.destination_payment_refund)]))
|
|
217
|
+
throw new Error("Conflicting reversal receipt identity.");
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
seenReversals.set(r.id, r);
|
|
221
|
+
reversed = add(reversed, r.amount);
|
|
222
|
+
const refundId = id(r.destination_payment_refund);
|
|
223
|
+
if (!refundId)
|
|
224
|
+
throw new NotReady("receipt_unavailable");
|
|
225
|
+
const refund = await request(() => stripe.refunds.retrieve(refundId, {}, { stripeAccount: opts.accountId }));
|
|
226
|
+
if (refund.id !== refundId ||
|
|
227
|
+
id(refund.charge) !== destinationPaymentId ||
|
|
228
|
+
refund.amount !== r.amount ||
|
|
229
|
+
refund.currency !== transfer.currency)
|
|
230
|
+
throw new Error("Recipient refund identity does not match its reversal.");
|
|
231
|
+
if (refund.status !== "succeeded")
|
|
232
|
+
throw new NotReady("reversal_pending");
|
|
233
|
+
const refundTransactionId = id(refund.balance_transaction);
|
|
234
|
+
if (!refundTransactionId)
|
|
235
|
+
throw new NotReady("receipt_unavailable");
|
|
236
|
+
await receipts(refundId, {
|
|
237
|
+
id: refundTransactionId,
|
|
238
|
+
amount: refund.amount,
|
|
239
|
+
currency: refund.currency,
|
|
240
|
+
sign: -1,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
if (reversed !== transfer.amount_reversed)
|
|
244
|
+
throw new NotReady("provider_changed");
|
|
245
|
+
const latest = await request(() => stripe.transfers.retrieve(transfer.id));
|
|
246
|
+
if (fingerprint(transfer) !== fingerprint(latest))
|
|
247
|
+
throw new NotReady("provider_changed");
|
|
248
|
+
const latestLedger = await read();
|
|
249
|
+
if (!latestLedger ||
|
|
250
|
+
ledgerFingerprint(ledger) !== ledgerFingerprint(latestLedger))
|
|
251
|
+
throw new NotReady("ledger_changed");
|
|
252
|
+
let totalNet = 0, availableNet = 0, pendingCredits = 0, pendingDebits = 0;
|
|
253
|
+
const now = Math.floor(Date.now() / 1000);
|
|
254
|
+
const primary = records.get(id(payment.balance_transaction));
|
|
255
|
+
const primaryPending = primary.net > 0 &&
|
|
256
|
+
!(primary.status === "available" && primary.availableOn <= now)
|
|
257
|
+
? primary.net
|
|
258
|
+
: 0;
|
|
259
|
+
for (const t of records.values()) {
|
|
260
|
+
totalNet = add(totalNet, t.net);
|
|
261
|
+
if (t.status === "available" && t.availableOn <= now)
|
|
262
|
+
availableNet = add(availableNet, t.net);
|
|
263
|
+
else if (t.net > 0)
|
|
264
|
+
pendingCredits = add(pendingCredits, t.net);
|
|
265
|
+
else
|
|
266
|
+
pendingDebits = add(pendingDebits, -t.net);
|
|
267
|
+
}
|
|
268
|
+
// Cancel a pending original credit first. Uncovered pending debits reduce
|
|
269
|
+
// mature credit; later positive fee credits never qualify before maturity.
|
|
270
|
+
const canceledPending = Math.min(primaryPending, pendingDebits);
|
|
271
|
+
const matureNet = add(availableNet, -(pendingDebits - canceledPending));
|
|
272
|
+
pendingCredits = add(pendingCredits, -canceledPending);
|
|
273
|
+
return {
|
|
274
|
+
status: "ready",
|
|
275
|
+
...scope,
|
|
276
|
+
destinationPaymentId,
|
|
277
|
+
sourceAmount: transfer.amount,
|
|
278
|
+
sourceCurrency: transfer.currency,
|
|
279
|
+
settlementCurrency: settlementCurrency,
|
|
280
|
+
providerReversedAmount: transfer.amount_reversed,
|
|
281
|
+
totalNet,
|
|
282
|
+
matureNet,
|
|
283
|
+
pendingCredits,
|
|
284
|
+
...(ledger.role ? { role: ledger.role } : {}),
|
|
285
|
+
reinstatement: ledger.reinstatement ?? false,
|
|
286
|
+
transactions: [...records.values()],
|
|
287
|
+
observedAt: Date.now(),
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
if (error instanceof NotReady)
|
|
292
|
+
return { status: "not_ready", ...scope, reason: error.reason };
|
|
293
|
+
throw error;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=transferReceipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferReceipt.js","sourceRoot":"","sources":["../../../src/client/connect/transferReceipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type TransferReceiptOptions } from "./connect/transferReceipt.js";
|
|
2
|
+
export type * from "./connect/transferReceipt.js";
|
|
1
3
|
import type Stripe from "stripe";
|
|
2
4
|
import type { Infer } from "convex/values";
|
|
3
5
|
import type { Component, RunCtx } from "./helpers.js";
|
|
@@ -25,6 +27,7 @@ export declare class PayoutPolicyClient {
|
|
|
25
27
|
private readonly component;
|
|
26
28
|
private readonly provider;
|
|
27
29
|
constructor(component: Component, provider: () => Stripe);
|
|
30
|
+
transferReceipt(ctx: RunCtx, opts: TransferReceiptOptions): Promise<import("./payoutPolicy.js").TransferFundingReceipt>;
|
|
28
31
|
get(ctx: RunCtx, scope: PayoutPolicyScope): Promise<PayoutPolicy | null>;
|
|
29
32
|
operation(ctx: RunCtx, args: PayoutPolicyScope & {
|
|
30
33
|
operationKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payoutPolicy.d.ts","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,QAAQ,EACT,MAAM,qCAAqC,CAAC;AAM7C,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AACnD,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAC7C,MAAM,EACF,4BAA4B,GAC5B,2BAA2B,GAC3B,qBAAqB,GACrB,qBAAqB,GACrB,kBAAkB,GAClB,mBAAmB,GACnB,0BAA0B,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AA8BpD,mFAAmF;AACnF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF3B,YACmB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,MAAM,EACrC;
|
|
1
|
+
{"version":3,"file":"payoutPolicy.d.ts","sourceRoot":"","sources":["../../src/client/payoutPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,mBAAmB,8BAA8B,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,QAAQ,EACT,MAAM,qCAAqC,CAAC;AAM7C,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AACnD,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAC7C,MAAM,EACF,4BAA4B,GAC5B,2BAA2B,GAC3B,qBAAqB,GACrB,qBAAqB,GACrB,kBAAkB,GAClB,mBAAmB,GACnB,0BAA0B,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AA8BpD,mFAAmF;AACnF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF3B,YACmB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,MAAM,EACrC;IACJ,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,+DAOxD;IACK,GAAG,CACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAM9B;IACK,SAAS,CACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,iBAAiB,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAUvC;IACK,GAAG,CACP,GAAG,EAAE,MAAM,EACX,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAC1D,OAAO,CAAC;QACT,IAAI,EAAE,YAAY,EAAE,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC,CAKD;YACa,YAAY;YA4BZ,QAAQ;YAaR,kBAAkB;IAuBhC,+GAA+G;IACzG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,mBAAmB,GACxB,OAAO,CACN;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,qBAAqB,CAAA;KAAE,GACxD,sBAAsB,CACzB,CAsEA;IACD,sGAAsG;IAChG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,iBAAiB,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CACN;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,qBAAqB,CAAA;KAAE,GACrD;QAAE,MAAM,EAAE,gBAAgB,CAAA;KAAE,GAC5B;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,qBAAqB,CAAA;KAAE,GACxD,sBAAsB,CACzB,CA8FA;IACD,kGAAkG;IAC5F,MAAM,CACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,iBAAiB,GACvB,OAAO,CACN;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,eAAe,EAAE,IAAI,CAAA;KAAE,GACnE;QACE,MAAM,EACJ,gBAAgB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,SAAS,CAAC;KACzE,GACD,sBAAsB,CACzB,CAeA;IACD,8FAA8F;IACxF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB;gBA/HpC,OAAO;mBAAa,qBAAqB;;gBACzC,gBAAgB;;gBAChB,UAAU;mBAAa,qBAAqB;;gBAgIrC,SAAS;OAqB7B;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getTransferFundingReceipt, } from "./connect/transferReceipt.js";
|
|
1
2
|
import { runMutationOrThrow } from "./helpers.js";
|
|
2
3
|
import { componentRef } from "./webhooks/helpers.js";
|
|
3
4
|
import { canonicalSchedule, canonicalThresholds, validateScope, } from "../component/payoutPolicy/helpers.js";
|
|
@@ -33,6 +34,9 @@ export class PayoutPolicyClient {
|
|
|
33
34
|
this.component = component;
|
|
34
35
|
this.provider = provider;
|
|
35
36
|
}
|
|
37
|
+
transferReceipt(ctx, opts) {
|
|
38
|
+
return getTransferFundingReceipt(this.provider(), this.component, ctx, opts);
|
|
39
|
+
}
|
|
36
40
|
async get(ctx, scope) {
|
|
37
41
|
validateScope(scope);
|
|
38
42
|
return ctx.runQuery(componentRef(this.component, "payoutPolicy/queries/get"), { accountId: scope.accountId, ownerKey: scope.ownerKey });
|
|
@@ -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":"AAAA,OAAO,EACL,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,sCAAsC,CAAC;AAuB9C,SAAS,YAAY,CAAC,QAAgC;IACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC9C,IACE,CAAC,CAAC,EAAE,QAAQ;QACZ,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE9D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CAAC;QACvB,QAAQ,EAAE,CAAC,CAAC,QAAsC;QAClD,UAAU,EAAE,CAAC,CAAC,kBAAkB;QAChC,WAAW,EAAE,CAAC,CAAC,mBAAmB;KACnC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,KAAK;QAC3B,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,uBAAuB;QACtC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,4BAA4B,EAAE;QACjE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AACD,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CACvC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,UAAU,GAAG,CACjB,CAAiB,EAC6C,EAAE,CAAC,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,QAAQ;IACpB,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACjE,CAAC,CAAC;AACH,mFAAmF;AACnF,MAAM,OAAO,kBAAkB;IAEV,SAAS;IACT,QAAQ;IAF3B,YACmB,SAAoB,EACpB,QAAsB;yBADtB,SAAS;wBACT,QAAQ;IACxB,CAAC;IACJ,eAAe,CAAC,GAAW,EAAE,IAA4B;QACvD,OAAO,yBAAyB,CAC9B,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,SAAS,EACd,GAAG,EACH,IAAI,CACL,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,GAAG,CACP,GAAW,EACX,KAAwB;QAExB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,GAAG,CAAC,QAAQ,CACjB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EACxD,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,SAAS,CACb,GAAW,EACX,IAAkD;QAElD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,GAAG,CAAC,QAAQ,CACjB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,EAC9D;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,GAAG,CACP,GAAW,EACX,cAA2D;QAM3D,OAAO,GAAG,CAAC,QAAQ,CACjB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EACxD,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,CACpC,CAAC;IACJ,CAAC;IACO,KAAK,CAAC,YAAY,CACxB,KAAwB,EACxB,gBAAgB,GAAG,IAAI,EACvB,eAAwB;QAIxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE;YACtE,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS;YAChC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC;YACtE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,eAAe,CAAC;QAC7D,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YACzC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE;YAChE,aAAa,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC,CAAC;QACH,IAAI,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS;YACrE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAClE,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;SACjC,CAAC;IACJ,CAAC;IACO,KAAK,CAAC,QAAQ,CACpB,KAAwB,EACxB,gBAAgB,GAAG,IAAI,EACvB,eAAwB;QAExB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACO,KAAK,CAAC,kBAAkB,CAC9B,KAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE;YACvD,aAAa,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC,CAAC;QACH,IACE,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAC9B;YAED,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS,EAAE,YAAY,CAAU,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CACvC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EACpB,EAAE,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,CACnC,CAAC;YACF,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM;gBACzC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+GAA+G;IAC/G,KAAK,CAAC,OAAO,CACX,GAAW,EACX,IAAyB;QAKzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;YAC1D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAE1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,IACE,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE;YAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG;YAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAEhC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YACjD,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,MAAM,UAAU,GAAG,mBAAmB,CACpC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,KAAK,QAAQ,CACvB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,IACE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBACxB,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,gBAAgB;gBAChD,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;gBAEpC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU;YAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB;YACpD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAClC,IAAI,EACJ,IAAI,CAAC,IAAI,KAAK,QAAQ,EACtB,MAAM,EAAE,OAAO,CAChB,CAAC;QACF,IAAI,QAAQ,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ;gBACzC,OAAO;oBACL,MAAM,EAAE,oBAAoB;oBAC5B,MAAM,EAAE,0BAA0B;iBACnC,CAAC;YACJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;QAClC,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,MAAM,kBAAkB,CACzC,GAAG,EACH,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,EAC9D;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU;YACV,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,UAAU;SACX,CACF,CAA0B,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC;IACD,sGAAsG;IACtG,KAAK,CAAC,KAAK,CACT,GAAW,EACX,IAAkD;QAOlD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU;YACjC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAClC,IAAI,EACJ,SAAS,CAAC,IAAI,KAAK,QAAQ,EAC3B,SAAS,CAAC,OAAO,CAClB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,IACE,SAAS,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,SAAS,CAAC,SAAS;YACpB,MAAM,EAAE,YAAY;YACpB,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE;YACjC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC;YACvB,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACpD,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,MAAM,kBAAkB,CACxC,GAAG,EACH,YAAY,CACV,IAAI,CAAC,SAAS,EACd,0CAA0C,CAC3C,EACD,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CACjD,CAA0B,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC1C,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;YACvE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC;gBACvD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACtC,IACE,SAAS,CAAC,IAAI,KAAK,QAAQ;gBAC3B,CAAC,SAAS,CAAC,SAAS;gBACpB,MAAM,EAAE,IAAI,KAAK,gBAAgB,EACjC,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,kBAAkB,CACtB,GAAG,EACH,YAAY,CACV,IAAI,CAAC,SAAS,EACd,0CAA0C,CAC3C,EACD,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CACjD,CAAC;oBACF,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,MAAM,kBAAkB,CACtB,GAAG,EACH,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,EACnE,IAAI,CACL,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,MAAM,CAC1C;oBACE,QAAQ,EAAE;wBACR,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;qBAC5D;iBACF,EACD;oBACE,aAAa,EAAE,IAAI,CAAC,SAAS;oBAC7B,cAAc,EAAE,oBAAoB,SAAS,CAAC,YAAY,EAAE;iBAC7D,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAC1B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAClC,IAAI,EACJ,SAAS,CAAC,IAAI,KAAK,QAAQ,EAC3B,SAAS,CAAC,OAAO,CAClB,CAAC;QACF,IAAI,QAAQ,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC1C,IACE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC;YACvE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC;YAEnD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,CAAC,MAAM,kBAAkB,CACzC,GAAG,EACH,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,EAC9D,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CACjD,CAA0B,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACnD,CAAC;IACD,kGAAkG;IAClG,KAAK,CAAC,MAAM,CACV,GAAW,EACX,KAAwB;QASxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU;YAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC1E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YACrC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,QAAQ,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC1C,IACE,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;YACnC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YAEvC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAC/D,CAAC;IACD,8FAA8F;IAC9F,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAwB;QAChD,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE;YAC3D,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnC,GAAG,KAAK;gBACR,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;gBAAE,OAAO,MAAM,CAAC;YAC7C,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YACrC,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,oBAAoB,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACvC,GAAG,KAAK;YACR,YAAY;YACZ,gBAAgB,EAAE,MAAM,CAAC,QAAQ;YACjC,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,QAAQ,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;CACF"}
|
package/docs/settlement.md
CHANGED
|
@@ -218,3 +218,53 @@ numeric payout-floor field, and retained balance reserves are not payout trigger
|
|
|
218
218
|
Sources: [payout schedules](https://docs.stripe.com/connect/manage-payout-schedule),
|
|
219
219
|
[manual payout holding limits](https://docs.stripe.com/connect/manual-payouts), and
|
|
220
220
|
[Dashboard control limits](https://docs.stripe.com/connect/platform-controls-for-stripe-dashboard-accounts#control-payout-timing).
|
|
221
|
+
|
|
222
|
+
## Verified recipient funding receipts
|
|
223
|
+
|
|
224
|
+
Use `stripe.payoutPolicy.transferReceipt(ctx, { accountId, stripeTransferId })`
|
|
225
|
+
in an authorized action to read a transfer's actual recipient funding. The
|
|
226
|
+
reader binds the component ledger to the provider transfer, destination payment,
|
|
227
|
+
original balance transaction and each transfer reversal's recipient refund.
|
|
228
|
+
It verifies account, amount, currency and source identities, and rechecks the
|
|
229
|
+
transfer and ledger before publishing a result. It performs no financial writes.
|
|
230
|
+
|
|
231
|
+
A `ready` result contains exact signed recipient settlement transactions and
|
|
232
|
+
`totalNet`, `matureNet`, and `pendingCredits`. `sourceCurrency` describes the
|
|
233
|
+
original transfer; `settlementCurrency` describes the actual recipient balance.
|
|
234
|
+
For supported FX receipts, amounts come directly from Stripe's settlement
|
|
235
|
+
transactions; the reader does not calculate exchange-rate conversions. Mixed
|
|
236
|
+
settlement currencies or missing conversion evidence require explicit allocation.
|
|
237
|
+
Transaction `created` and `availableOn` values are Unix seconds; the snapshot's
|
|
238
|
+
`observedAt` is milliseconds.
|
|
239
|
+
|
|
240
|
+
Positive credits qualify as mature only when their provider status is available
|
|
241
|
+
and their availability date has passed. Pending debits first cancel the matching
|
|
242
|
+
pending original credit; uncovered pending debits reduce mature credit. Other
|
|
243
|
+
positive pending adjustments never qualify early. Signed mature debt is preserved.
|
|
244
|
+
For example, in one settlement currency's minor units:
|
|
245
|
+
|
|
246
|
+
| Original credit | Reversal/debit | Total net | Mature net | Pending credits |
|
|
247
|
+
| --------------- | -------------- | --------: | ---------: | --------------: |
|
|
248
|
+
| 1000 pending | 250 pending | 750 | 0 | 750 |
|
|
249
|
+
| 1000 available | 250 pending | 750 | 750 | 0 |
|
|
250
|
+
| 1000 pending | 1000 pending | 0 | 0 | 0 |
|
|
251
|
+
| 1000 pending | 250 available | 750 | -250 | 1000 |
|
|
252
|
+
|
|
253
|
+
This is **received credit, not still-unpaid entitlement**. Previous bank payouts,
|
|
254
|
+
source allocations, recovery liabilities and outstanding reservations must be
|
|
255
|
+
reconciled before any release. Do not pay `matureNet` directly or infer ownership
|
|
256
|
+
from unrelated account-wide available funds. Stripe's balance-transaction
|
|
257
|
+
`payout` filter maps automatic payouts only; application-created manual payouts
|
|
258
|
+
need a maintained allocation ledger.
|
|
259
|
+
|
|
260
|
+
The default budget is 20 provider requests; `maxRequests` accepts 1–100. Exhausted
|
|
261
|
+
or incomplete history returns `not_ready` without partial financial totals.
|
|
262
|
+
Reserved reversal claims, changing provider/ledger snapshots and unavailable
|
|
263
|
+
receipts also fail closed. Identity mismatches and invalid financial arithmetic
|
|
264
|
+
throw. Larger histories need continued reconciliation rather than treating the
|
|
265
|
+
missing amount as zero or silently truncating it. The original transfer ledger
|
|
266
|
+
remains intact for retries.
|
|
267
|
+
|
|
268
|
+
Sources: [transfer provenance](https://docs.stripe.com/api/transfers/object),
|
|
269
|
+
[receipt maturity](https://docs.stripe.com/api/balance_transactions/object), and
|
|
270
|
+
[history pagination and payout-filter limits](https://docs.stripe.com/api/balance_transactions/list).
|