@fantastic.dev/better-stripe 0.15.0 → 0.17.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 +16 -0
- package/MIGRATION.md +6 -0
- package/README.md +15 -1
- package/dist/client/connect/payoutSnapshot.d.ts +2 -0
- package/dist/client/connect/payoutSnapshot.d.ts.map +1 -1
- package/dist/client/connect/payoutSnapshot.js +2 -0
- package/dist/client/connect/payoutSnapshot.js.map +1 -1
- package/dist/client/connect/refunds.d.ts +12 -0
- package/dist/client/connect/refunds.d.ts.map +1 -1
- package/dist/client/connect/refunds.js +8 -0
- package/dist/client/connect/refunds.js.map +1 -1
- package/dist/client/index.d.ts +8 -10
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -3
- package/dist/client/index.js.map +1 -1
- package/dist/client/readContracts.d.ts +50 -0
- package/dist/client/readContracts.d.ts.map +1 -0
- package/dist/client/readContracts.js +24 -0
- package/dist/client/readContracts.js.map +1 -0
- package/dist/client/types/documents.d.ts +2 -0
- package/dist/client/types/documents.d.ts.map +1 -1
- package/dist/client/webhooks/processors.js +2 -0
- package/dist/client/webhooks/processors.js.map +1 -1
- package/dist/component/_generated/component.d.ts +213 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/connect/mutations.d.ts +2 -0
- package/dist/component/connect/mutations.d.ts.map +1 -1
- package/dist/component/connect/mutations.js +8 -8
- package/dist/component/connect/mutations.js.map +1 -1
- package/dist/component/connect/queries.d.ts +102 -2
- package/dist/component/connect/queries.d.ts.map +1 -1
- package/dist/component/connect/queries.js +88 -45
- package/dist/component/connect/queries.js.map +1 -1
- package/dist/component/connect/schema.d.ts +14 -2
- package/dist/component/connect/schema.d.ts.map +1 -1
- package/dist/component/connect/schema.js +19 -1
- package/dist/component/connect/schema.js.map +1 -1
- package/dist/component/connect/validators.d.ts +13 -2
- package/dist/component/connect/validators.d.ts.map +1 -1
- package/dist/component/connect/validators.js +4 -0
- package/dist/component/connect/validators.js.map +1 -1
- package/dist/component/earnings/legacyReads.d.ts +51 -0
- package/dist/component/earnings/legacyReads.d.ts.map +1 -0
- package/dist/component/earnings/legacyReads.js +43 -0
- package/dist/component/earnings/legacyReads.js.map +1 -0
- package/dist/component/earnings/mutations.d.ts +9 -0
- package/dist/component/earnings/mutations.d.ts.map +1 -0
- package/dist/component/earnings/mutations.js +23 -0
- package/dist/component/earnings/mutations.js.map +1 -0
- package/dist/component/earnings/reads.d.ts +14 -0
- package/dist/component/earnings/reads.d.ts.map +1 -0
- package/dist/component/earnings/reads.js +28 -0
- package/dist/component/earnings/reads.js.map +1 -0
- package/dist/component/earnings/schema.d.ts +20 -0
- package/dist/component/earnings/schema.d.ts.map +1 -0
- package/dist/component/earnings/schema.js +12 -0
- package/dist/component/earnings/schema.js.map +1 -0
- package/dist/component/earnings/triggers.d.ts +1294 -0
- package/dist/component/earnings/triggers.d.ts.map +1 -0
- package/dist/component/earnings/triggers.js +68 -0
- package/dist/component/earnings/triggers.js.map +1 -0
- package/dist/component/products/queries.d.ts +47 -0
- package/dist/component/products/queries.d.ts.map +1 -1
- package/dist/component/products/queries.js +59 -0
- package/dist/component/products/queries.js.map +1 -1
- package/dist/component/refundHistory/queries.d.ts +28 -0
- package/dist/component/refundHistory/queries.d.ts.map +1 -0
- package/dist/component/refundHistory/queries.js +59 -0
- package/dist/component/refundHistory/queries.js.map +1 -0
- package/dist/component/schema.d.ts +33 -2
- package/dist/component/schema.js +2 -0
- package/dist/component/schema.js.map +1 -1
- package/dist/react/components/EarningsSummary.d.ts +3 -1
- package/dist/react/components/EarningsSummary.d.ts.map +1 -1
- package/dist/react/components/EarningsSummary.js +3 -3
- package/dist/react/components/EarningsSummary.js.map +1 -1
- package/dist/react/hooks/useCurrencyEarnings.d.ts +31 -0
- package/dist/react/hooks/useCurrencyEarnings.d.ts.map +1 -0
- package/dist/react/hooks/useCurrencyEarnings.js +30 -0
- package/dist/react/hooks/useCurrencyEarnings.js.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/workflows/Costs.d.ts +1 -0
- package/dist/react/workflows/Costs.d.ts.map +1 -1
- package/dist/react/workflows/Costs.js +7 -3
- package/dist/react/workflows/Costs.js.map +1 -1
- package/docs/react-workflows.md +40 -0
- package/docs/read-contracts.md +136 -0
- package/package.json +3 -2
- package/src/client/connect/payoutSnapshot.test.ts +27 -0
- package/src/client/connect/payoutSnapshot.ts +4 -0
- package/src/client/connect/refunds.ts +28 -0
- package/src/client/index.ts +10 -11
- package/src/client/readContracts.ts +90 -0
- package/src/client/readPagination.test.ts +62 -0
- package/src/client/refund-history.test.ts +67 -0
- package/src/client/types/documents.ts +2 -0
- package/src/client/webhooks/payout-canceled.integration.test.ts +25 -0
- package/src/client/webhooks/processors.ts +2 -0
- package/src/component/_generated/api.ts +10 -0
- package/src/component/_generated/component.ts +257 -0
- package/src/component/connect/mutations.ts +8 -8
- package/src/component/connect/queries.ts +110 -48
- package/src/component/connect/schema.ts +19 -1
- package/src/component/connect/validators.ts +4 -0
- package/src/component/currency-migration.test.ts +119 -0
- package/src/component/currency-totals.test.ts +95 -0
- package/src/component/earnings/legacyReads.ts +59 -0
- package/src/component/earnings/mutations.ts +21 -0
- package/src/component/earnings/reads.ts +41 -0
- package/src/component/earnings/schema.ts +11 -0
- package/src/component/earnings/triggers.ts +91 -0
- package/src/component/products/queries.ts +74 -0
- package/src/component/public.test.ts +1 -1
- package/src/component/read-pagination.test.ts +193 -0
- package/src/component/refund-history.test.ts +198 -0
- package/src/component/refundHistory/queries.ts +99 -0
- package/src/component/schema.ts +2 -0
- package/src/react/components/EarningsSummary.tsx +5 -2
- package/src/react/hooks/useCurrencyEarnings.test.ts +59 -0
- package/src/react/hooks/useCurrencyEarnings.ts +73 -0
- package/src/react/index.ts +12 -0
- package/src/react/read-contracts.render.test.tsx +20 -0
- package/src/react/workflows/Costs.test.tsx +21 -0
- package/src/react/workflows/Costs.tsx +9 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
package/dist/react/index.js
CHANGED
|
@@ -88,4 +88,7 @@ export { getRequirementKey, getRequirementLabel, } from "./lib/connect-requireme
|
|
|
88
88
|
export * from "./workflows/index.js";
|
|
89
89
|
export { chargeAmountToDecimal, getChargeCurrencyMetadata, parseChargeAmount, formatChargeAmount, } from "../client/charge-currency.js";
|
|
90
90
|
export { SaveCard } from "./workflows/SaveCard.js";
|
|
91
|
+
export { createUseCurrencyEarnings } from "./hooks/useCurrencyEarnings.js";
|
|
92
|
+
// Pins end cursors for the component paginator, including reactive page splits.
|
|
93
|
+
export { usePaginatedQuery as useComponentPaginatedQuery } from "convex-helpers/react";
|
|
91
94
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Costs.d.ts","sourceRoot":"","sources":["../../../src/react/workflows/Costs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,wBAAgB,YAAY,CAAC,KAAK,EAAE,uBAAuB,CAAC,eAAe,CAAC,+
|
|
1
|
+
{"version":3,"file":"Costs.d.ts","sourceRoot":"","sources":["../../../src/react/workflows/Costs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,wBAAgB,YAAY,CAAC,KAAK,EAAE,uBAAuB,CAAC,eAAe,CAAC,+BA+B3E;AACD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;CAC/C,CAAC;AACF,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,SAAS,CAAC;CAC9D,+BA2DA"}
|
|
@@ -3,18 +3,22 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
3
3
|
import { Collection } from "./Collection.js";
|
|
4
4
|
import { formatPrice } from "../lib/price-helpers.js";
|
|
5
5
|
export function CostRecovery(props) {
|
|
6
|
+
const reserved = props.rows?.some((row) => row.reservedAmount !== undefined);
|
|
6
7
|
const columns = [
|
|
7
8
|
{ id: "payment", label: "Payment", cell: (row) => row.paymentIntentId },
|
|
8
9
|
...[
|
|
9
10
|
["amountDue", "Total cost"],
|
|
10
|
-
["collectedAmount", "Deducted from earnings"],
|
|
11
|
-
[
|
|
11
|
+
["collectedAmount", reserved ? "Collected" : "Deducted from earnings"],
|
|
12
|
+
[
|
|
13
|
+
reserved ? "reservedAmount" : "invoicedAmount",
|
|
14
|
+
reserved ? "Reserved" : "Added to invoice",
|
|
15
|
+
],
|
|
12
16
|
["outstanding", "Outstanding"],
|
|
13
17
|
].map(([field, label]) => ({
|
|
14
18
|
id: field,
|
|
15
19
|
label,
|
|
16
20
|
align: "end",
|
|
17
|
-
cell: (row) => formatPrice(row[field], row.currency),
|
|
21
|
+
cell: (row) => formatPrice(row[field] ?? row.invoicedAmount, row.currency),
|
|
18
22
|
})),
|
|
19
23
|
];
|
|
20
24
|
return (_jsx(Collection, { emptyLabel: "No costs yet.", loadingLabel: "Loading costs\u2026", ...props, columns: props.columns ?? columns, getKey: (row) => row._id ?? row.id ?? row.paymentIntentId }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Costs.js","sourceRoot":"","sources":["../../../src/react/workflows/Costs.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Costs.js","sourceRoot":"","sources":["../../../src/react/workflows/Costs.tsx"],"names":[],"mappings":"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"}
|
package/docs/react-workflows.md
CHANGED
|
@@ -391,6 +391,40 @@ Preview grouping performs no reads, writes or provider operations and cannot pro
|
|
|
391
391
|
bank delivery or complete-account earnings. Authorize and bound the source read in
|
|
392
392
|
the host; keep authoritative full-account aggregates separate.
|
|
393
393
|
|
|
394
|
+
### Complete refund history (added after 0.16.0)
|
|
395
|
+
|
|
396
|
+
`BetterStripe.paginateRefunds(ctx, opts)` reads authoritative synchronized component
|
|
397
|
+
refund records. `RefundPageOptions` is exported from the main package entrypoint.
|
|
398
|
+
Pass `paginationOpts: { numItems, cursor }` with an integer page size from 1 to 100
|
|
399
|
+
and `null` for the initial cursor. The result has `page`, `isDone` and
|
|
400
|
+
`continueCursor`; feed the returned cursor into the next request until `isDone`.
|
|
401
|
+
Each request performs one bounded helper-compatible component paginate operation
|
|
402
|
+
in newest-first order. Bind the authorized host query with the package React
|
|
403
|
+
`useComponentPaginatedQuery`, matching the catalog and payout readers. Pinned
|
|
404
|
+
ranges may grow beyond the requested page size; reads cap at 200 rows or 1 MB
|
|
405
|
+
and return split hints for the hook. Existing `listRefunds` retains its
|
|
406
|
+
capped-array compatibility.
|
|
407
|
+
|
|
408
|
+
The host must authenticate the session and derive an authorized account/payment
|
|
409
|
+
scope before exposing this method through its reactive query. Optional
|
|
410
|
+
`stripeAccountId`, `stripePaymentIntentId` and `status` filters all apply together;
|
|
411
|
+
a mismatched account/payment pair returns no records. Do not expose an unscoped
|
|
412
|
+
reader to ordinary sellers, trust browser-supplied account IDs or treat this
|
|
413
|
+
component API as an authentication boundary.
|
|
414
|
+
|
|
415
|
+
Render returned records with `RefundHistory` or its render prop, retaining their
|
|
416
|
+
original amount, currency, status and charge/payment identifiers. Dojo supplies
|
|
417
|
+
translated Shadcn presentation and its application audit context. Loaded pages
|
|
418
|
+
and the existing 25-row Vite preview are incomplete until pagination finishes;
|
|
419
|
+
neither is a monetary aggregate. Grouped preview amounts remain explicitly
|
|
420
|
+
bounded, and authoritative monetary totals require currency-isolated aggregate
|
|
421
|
+
APIs. This reader performs no Stripe request, refund or ledger write.
|
|
422
|
+
|
|
423
|
+
This method is absent from public 0.16.0. Source acceptance does not publish it.
|
|
424
|
+
Host applications must wait for a separately verified published artifact and
|
|
425
|
+
package adoption before importing it; source merges alone do not satisfy that
|
|
426
|
+
consumer gate.
|
|
427
|
+
|
|
394
428
|
## Store-plan pricing editor
|
|
395
429
|
|
|
396
430
|
`PlanPricingEditor` accepts a `plan` with `id`, `name`, `monthlyAmount` in minor
|
|
@@ -572,3 +606,9 @@ again or treat confirmation as changing a subscription default.
|
|
|
572
606
|
Existing `AddCardForm` and `PaymentMethods` tokenization/attach integrations remain
|
|
573
607
|
available. Tokenization plus attachment does not complete SetupIntent or SCA
|
|
574
608
|
verification.
|
|
609
|
+
|
|
610
|
+
## Component history and currency summaries
|
|
611
|
+
|
|
612
|
+
See the [read contract guide](read-contracts.md) for reactive product, price and payout
|
|
613
|
+
cursors, exact currency summaries, legacy backfill, payout failure details, and
|
|
614
|
+
published-version adoption requirements.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Reactive history and currency totals
|
|
2
|
+
|
|
3
|
+
`BetterStripe.paginateProducts`, `paginatePrices`, and `paginatePayouts` read
|
|
4
|
+
webhook-synchronized component records. They return standard Convex
|
|
5
|
+
`{ page, isDone, continueCursor }` results. Pass `paginationOpts` with an opaque
|
|
6
|
+
`cursor` or `null` and an integer `numItems` between 1 and 100. These readers use
|
|
7
|
+
one indexed pagination call per invocation, ordered newest first. Existing array
|
|
8
|
+
methods remain available. Neither an array preview nor one cursor page is an
|
|
9
|
+
exact financial total.
|
|
10
|
+
|
|
11
|
+
Products support `accountId` and `active`. Prices support the component's
|
|
12
|
+
`productId` and `active`; this ID differs from `stripeProductId`. Authorize the
|
|
13
|
+
parent product before exposing price reads. Payout history requires `accountId`
|
|
14
|
+
and optionally accepts `status`. No filter means no restriction on that field.
|
|
15
|
+
An omitted product account filter includes all accounts, including platform
|
|
16
|
+
products. Host applications must derive allowed account and product scope from
|
|
17
|
+
the authenticated user. A client-supplied account ID is not authorization.
|
|
18
|
+
|
|
19
|
+
The Vite reference provides bindings in `example/convex/readContracts.ts` and
|
|
20
|
+
`example/src/lib/stripe-hooks.ts`. Its selectable personas are demo identities.
|
|
21
|
+
Production hosts must replace them with session authorization.
|
|
22
|
+
|
|
23
|
+
## React pagination
|
|
24
|
+
|
|
25
|
+
Wrap the public client method in an authorized host Convex query with
|
|
26
|
+
`paginationOptsValidator` in its arguments. Return the package result unchanged.
|
|
27
|
+
Bind that query with `useComponentPaginatedQuery` from the package React export.
|
|
28
|
+
This uses the helper-compatible hook to pin end cursors when another page loads.
|
|
29
|
+
Native `convex/react` pagination does not pin component helper cursors and can
|
|
30
|
+
leave gaps when new rows arrive between loaded pages.
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
const products = useComponentPaginatedQuery(
|
|
34
|
+
api.catalog.paginateProducts,
|
|
35
|
+
{}, // Host derives account scope from the session.
|
|
36
|
+
{ initialNumItems: 25 },
|
|
37
|
+
);
|
|
38
|
+
const manager = useProductManager({
|
|
39
|
+
scopeKey: authenticatedUser.id,
|
|
40
|
+
createProduct,
|
|
41
|
+
createPrice,
|
|
42
|
+
updateProduct,
|
|
43
|
+
deactivateProduct,
|
|
44
|
+
deactivatePrice,
|
|
45
|
+
});
|
|
46
|
+
// Render products.results with the existing Products/useProductManager callbacks.
|
|
47
|
+
// Expand each product with a separate useComponentPaginatedQuery for its component productId.
|
|
48
|
+
// Do not join unbounded prices onto every product in a page.
|
|
49
|
+
<button
|
|
50
|
+
disabled={products.status !== "CanLoadMore"}
|
|
51
|
+
onClick={() => products.loadMore(25)}
|
|
52
|
+
>
|
|
53
|
+
Load more products
|
|
54
|
+
</button>;
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Use the standard `LoadingFirstPage`, `LoadingMore`, `CanLoadMore`, and `Exhausted`
|
|
58
|
+
statuses for loading, empty, and terminal states. Queries react to writes
|
|
59
|
+
and reset when their arguments change. Keep price hooks in a child component
|
|
60
|
+
keyed by product ID. Do not invoke hooks inside a variable-length loop. A payout
|
|
61
|
+
history binding uses the same contract. Pinned ranges can grow beyond the requested
|
|
62
|
+
page size. The server caps each read at 200 rows or 1 MB and returns split hints
|
|
63
|
+
for the hook to split large ranges without dropping rows. The `Payouts` workflow's live snapshot
|
|
64
|
+
loader remains a separate Stripe action API, not a substitute for reactive
|
|
65
|
+
component history or exact paid totals.
|
|
66
|
+
|
|
67
|
+
## Exact totals by currency
|
|
68
|
+
|
|
69
|
+
Use `getAccountEarningsByCurrency` and `getAccountPayoutsByCurrency` through the
|
|
70
|
+
client or component. They return `totals` sorted by currency and bounded
|
|
71
|
+
`transfers` or `payouts` previews. `previewLimit` is an integer from 0 to 100,
|
|
72
|
+
defaulting to 50. Earnings totals include `gross`, `reversed`, `net`, and
|
|
73
|
+
`transferCount`; payout totals include `paidOut` and `payoutCount`. Only payouts
|
|
74
|
+
with status `paid` contribute to `paidOut`. Reinstatement transfers contribute to
|
|
75
|
+
gross, while the original transfer's reversal remains recorded.
|
|
76
|
+
|
|
77
|
+
All amounts use the currency's original minor units. Never add different
|
|
78
|
+
currencies, or apply a fixed two-decimal conversion to JPY or KWD. The package
|
|
79
|
+
maintains summaries transactionally with every supported transfer and payout
|
|
80
|
+
mutation, including reversal mutations. Reads examine at most 501 summary rows,
|
|
81
|
+
one unbackfilled-row probe, and 100 preview rows, regardless of history size.
|
|
82
|
+
Accounts with more than 500 distinct currency strings fail explicitly. Summary
|
|
83
|
+
updates serialize per account/currency through Convex OCC.
|
|
84
|
+
|
|
85
|
+
Bind authorized wrappers to `createUseCurrencyEarnings(useQuery, earningsRef,
|
|
86
|
+
payoutsRef)`. Its `totals` joins the two summaries by currency and never sums the
|
|
87
|
+
previews. Render an `EarningsSummary` for each currency, passing that row's
|
|
88
|
+
`currency` and only that currency's payout preview. The default earnings formatter handles supported ordinary charge currencies.
|
|
89
|
+
Pass an explicit `formatAmount` callback for other observed currency precision,
|
|
90
|
+
including KWD, or render the raw typed totals with your own currency policy.
|
|
91
|
+
Use `getAccountBalance` or
|
|
92
|
+
`getPayoutSnapshot` for per-currency available/pending balances. The component's
|
|
93
|
+
earnings ledger does not determine settlement availability.
|
|
94
|
+
|
|
95
|
+
### Existing installations
|
|
96
|
+
|
|
97
|
+
After deploying the optional marker fields and summary table, invoke
|
|
98
|
+
`components.betterStripe.earnings.mutations.backfillCurrencyTotals` from a trusted
|
|
99
|
+
server migration. Run separately for `kind: "earnings"` and `kind: "payouts"`,
|
|
100
|
+
starting with `cursor: null` and continuing with each `continueCursor` until
|
|
101
|
+
`isDone`. Each mutation visits at most 100 rows. Retrying a page is safe, and
|
|
102
|
+
ordinary package writes can continue during migration. A row's marker and its
|
|
103
|
+
summary contribution commit together. New readers throw while an account has
|
|
104
|
+
unbackfilled rows, so callers cannot mistake incomplete totals for zero.
|
|
105
|
+
|
|
106
|
+
Keep raw imports and direct database edits out of normal application writes.
|
|
107
|
+
If importing historical ledger rows, omit `totalsRecorded` and run the backfill.
|
|
108
|
+
Never copy markers without their matching summaries.
|
|
109
|
+
|
|
110
|
+
Legacy `getAccountEarnings`, `getAccountPayouts`, and `createUseEarnings` retain
|
|
111
|
+
their single-currency shapes. The legacy queries now reject mixed-currency
|
|
112
|
+
accounts and direct callers to the new methods. Their historical scans remain
|
|
113
|
+
subject to Convex read limits; migrate busy accounts to the maintained summaries.
|
|
114
|
+
Full referred-sale history uses `paginateTransfersByAccount`, not the preview.
|
|
115
|
+
|
|
116
|
+
## Payout failures
|
|
117
|
+
|
|
118
|
+
Component payout rows and live `RecipientPayoutRow` snapshots expose optional
|
|
119
|
+
`failureCode` and `failureMessage`. Signed payout events write the provider's
|
|
120
|
+
current snapshot to the existing payout identity. A later snapshot with absent
|
|
121
|
+
or null provider failure fields clears stored details. Legacy rows remain valid.
|
|
122
|
+
Ordinary event replay is deduplicated. This is snapshot reconciliation and does
|
|
123
|
+
not guarantee convergence for globally out-of-order events.
|
|
124
|
+
|
|
125
|
+
Host apps should translate known codes into safe recovery instructions and a
|
|
126
|
+
settings link. Do not log or blindly render raw provider messages. Authorize
|
|
127
|
+
reads using the recipient's shared connected account.
|
|
128
|
+
|
|
129
|
+
## Publication and consumer acceptance
|
|
130
|
+
|
|
131
|
+
A source merge does not activate an API in a published package. DOJO-908,
|
|
132
|
+
DOJO-1037, DOJO-1041, and DOJO-2257 require a verified published version and
|
|
133
|
+
explicit consumer adoption, authorized adapters, translated UI, and their own
|
|
134
|
+
acceptance evidence. These package changes do not complete those tickets or add
|
|
135
|
+
a second Dojo financial ledger, payout table, catalog store, or webhook processor.
|
|
136
|
+
Use the repository release workflow; do not publish npm manually.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fantastic.dev/better-stripe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "A Convex component for Stripe V2 Accounts API integration.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"stripe",
|
|
@@ -62,7 +62,8 @@
|
|
|
62
62
|
"docs/accounts-v2-preview.md",
|
|
63
63
|
"docs/react-workflows-audit.md",
|
|
64
64
|
"CHANGELOG.md",
|
|
65
|
-
"MIGRATION.md"
|
|
65
|
+
"MIGRATION.md",
|
|
66
|
+
"docs/read-contracts.md"
|
|
66
67
|
],
|
|
67
68
|
"scripts": {
|
|
68
69
|
"build": "tsc --project ./tsconfig.build.json",
|
|
@@ -89,3 +89,30 @@ it("reports bounded upcoming previews and not-ready accounts explicitly", async
|
|
|
89
89
|
reason: "account_unavailable",
|
|
90
90
|
});
|
|
91
91
|
});
|
|
92
|
+
|
|
93
|
+
it("exposes optional provider failure details in history", async () => {
|
|
94
|
+
const stripe = {
|
|
95
|
+
balance: { retrieve: async () => ({ available: [], pending: [] }) },
|
|
96
|
+
payouts: {
|
|
97
|
+
list: async (args: { status?: string }) => ({
|
|
98
|
+
data: args.status
|
|
99
|
+
? []
|
|
100
|
+
: [
|
|
101
|
+
{
|
|
102
|
+
...payout("po_failed", "failed"),
|
|
103
|
+
failure_code: "account_closed",
|
|
104
|
+
failure_message: "Bank account closed",
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
has_more: false,
|
|
108
|
+
}),
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
const result = await getPayoutSnapshot(stripe as unknown as Stripe, {
|
|
112
|
+
stripeAccountId: "acct_a",
|
|
113
|
+
});
|
|
114
|
+
expect(result.payouts[0]).toMatchObject({
|
|
115
|
+
failureCode: "account_closed",
|
|
116
|
+
failureMessage: "Bank account closed",
|
|
117
|
+
});
|
|
118
|
+
});
|
|
@@ -8,6 +8,8 @@ export type RecipientPayoutRow = {
|
|
|
8
8
|
status: string;
|
|
9
9
|
arrivalDate: number | null;
|
|
10
10
|
created: number;
|
|
11
|
+
failureCode?: string;
|
|
12
|
+
failureMessage?: string;
|
|
11
13
|
};
|
|
12
14
|
export type RecipientPayoutSnapshot = {
|
|
13
15
|
balances: AccountBalance[];
|
|
@@ -31,6 +33,8 @@ const row = (p: Stripe.Payout): RecipientPayoutRow => ({
|
|
|
31
33
|
status: p.status,
|
|
32
34
|
arrivalDate: p.arrival_date ? p.arrival_date * 1000 : null,
|
|
33
35
|
created: p.created * 1000,
|
|
36
|
+
...(p.failure_code != null ? { failureCode: p.failure_code } : {}),
|
|
37
|
+
...(p.failure_message != null ? { failureMessage: p.failure_message } : {}),
|
|
34
38
|
});
|
|
35
39
|
/** Account-scoped live balance and cursor history. Upcoming truncation is explicit. */
|
|
36
40
|
export async function getPayoutSnapshot(
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type Stripe from "stripe";
|
|
2
|
+
import type { PaginationOptions, PaginationResult } from "convex/server";
|
|
2
3
|
|
|
3
4
|
import type { RefundStatus } from "../../component/connect/validators.js";
|
|
4
5
|
import { throwStripeError } from "../errors.js";
|
|
@@ -12,6 +13,33 @@ import { type RefundActor, isRefundAuthorized } from "./refundActor.js";
|
|
|
12
13
|
|
|
13
14
|
export type { RefundActor } from "./refundActor.js";
|
|
14
15
|
|
|
16
|
+
export type RefundListOptions = {
|
|
17
|
+
stripeAccountId?: string;
|
|
18
|
+
stripePaymentIntentId?: string;
|
|
19
|
+
status?: RefundStatus;
|
|
20
|
+
limit?: number;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type RefundPageOptions = Omit<RefundListOptions, "limit"> & {
|
|
24
|
+
paginationOpts: PaginationOptions;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/** The host must authenticate/authorize scopes before exposing this reactive reader. */
|
|
28
|
+
export async function paginateRefunds(
|
|
29
|
+
component: Component,
|
|
30
|
+
ctx: RunCtx,
|
|
31
|
+
opts: RefundPageOptions,
|
|
32
|
+
): Promise<PaginationResult<StripeComponentRefund>> {
|
|
33
|
+
const { stripeAccountId, ...rest } = opts;
|
|
34
|
+
return await ctx.runQuery(
|
|
35
|
+
componentRef(component, "refundHistory/queries/paginateRefunds"),
|
|
36
|
+
{
|
|
37
|
+
...rest,
|
|
38
|
+
...(stripeAccountId !== undefined ? { accountId: stripeAccountId } : {}),
|
|
39
|
+
},
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
15
43
|
// =============================================================================
|
|
16
44
|
// Refund methods
|
|
17
45
|
// =============================================================================
|
package/src/client/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { CreateCheckoutSessionOptions } from "./billing/checkoutOptions.js"
|
|
|
2
2
|
export type { CreateCheckoutSessionOptions } from "./billing/checkoutOptions.js";
|
|
3
3
|
import * as intentsImpl from "./billing/intents.js";
|
|
4
4
|
export type * from "./billing/intents.js";
|
|
5
|
+
import { ReadContractClient } from "./readContracts.js";
|
|
5
6
|
import { CostRecoveryClient } from "./costRecovery.js";
|
|
6
7
|
export * from "./charge-currency.js";
|
|
7
8
|
export * from "./costRecovery.js";
|
|
@@ -78,7 +79,6 @@ import type { ComponentApi } from "../component/_generated/component.js";
|
|
|
78
79
|
import type {
|
|
79
80
|
DisputeStatus,
|
|
80
81
|
PayoutStatus,
|
|
81
|
-
RefundStatus,
|
|
82
82
|
} from "../component/connect/validators.js";
|
|
83
83
|
import type { SplitRecipient } from "../component/lib/fees.js";
|
|
84
84
|
import * as checkoutImpl from "./billing/checkout.js";
|
|
@@ -88,6 +88,7 @@ import * as disputesImpl from "./connect/disputes.js";
|
|
|
88
88
|
import * as paymentMethodsImpl from "./connect/paymentMethods.js";
|
|
89
89
|
import * as payoutsImpl from "./connect/payouts.js";
|
|
90
90
|
import * as refundsImpl from "./connect/refunds.js";
|
|
91
|
+
export type { RefundPageOptions } from "./connect/refunds.js";
|
|
91
92
|
import * as transfersImpl from "./connect/transfers.js";
|
|
92
93
|
import * as accountLinksImpl from "./core/accountLinks.js";
|
|
93
94
|
import * as accountsImpl from "./core/accounts.js";
|
|
@@ -107,7 +108,7 @@ export type { RefundActor } from "./connect/refunds.js";
|
|
|
107
108
|
import type { RefundActor } from "./connect/refunds.js";
|
|
108
109
|
export type { AccountBalance } from "./connect/payouts.js";
|
|
109
110
|
export type { WedgedReversalClaim } from "./connect/transfers.js";
|
|
110
|
-
import type {
|
|
111
|
+
import type { RunCtx } from "./helpers.js";
|
|
111
112
|
import { getStripeClient } from "./helpers.js";
|
|
112
113
|
import type {
|
|
113
114
|
V2AccountRetrieveInclude,
|
|
@@ -210,8 +211,7 @@ export type BetterStripeComponent = ComponentApi;
|
|
|
210
211
|
|
|
211
212
|
// BETTER STRIPE CLIENT
|
|
212
213
|
|
|
213
|
-
export class BetterStripe {
|
|
214
|
-
public component: Component;
|
|
214
|
+
export class BetterStripe extends ReadContractClient {
|
|
215
215
|
readonly stripeApiVersion: SupportedStripeApiVersion;
|
|
216
216
|
private _apiKey?: string;
|
|
217
217
|
private _triggers?: SyncTriggers;
|
|
@@ -220,7 +220,7 @@ export class BetterStripe {
|
|
|
220
220
|
private _statementDescriptorSuffix?: string;
|
|
221
221
|
|
|
222
222
|
constructor(component: BetterStripeComponent, options?: BetterStripeOptions) {
|
|
223
|
-
|
|
223
|
+
super(component);
|
|
224
224
|
this.stripeApiVersion = resolveStripeApiVersion(options?.stripeApiVersion);
|
|
225
225
|
this._apiKey = options?.STRIPE_SECRET_KEY;
|
|
226
226
|
this._triggers = options?.triggers;
|
|
@@ -1360,16 +1360,15 @@ export class BetterStripe {
|
|
|
1360
1360
|
|
|
1361
1361
|
async listRefunds(
|
|
1362
1362
|
ctx: RunCtx,
|
|
1363
|
-
opts?:
|
|
1364
|
-
stripeAccountId?: string;
|
|
1365
|
-
stripePaymentIntentId?: string;
|
|
1366
|
-
status?: RefundStatus;
|
|
1367
|
-
limit?: number;
|
|
1368
|
-
},
|
|
1363
|
+
opts?: refundsImpl.RefundListOptions,
|
|
1369
1364
|
): Promise<StripeComponentRefund[]> {
|
|
1370
1365
|
return refundsImpl.listRefunds(this.component, ctx, opts);
|
|
1371
1366
|
}
|
|
1372
1367
|
|
|
1368
|
+
paginateRefunds(ctx: RunCtx, opts: refundsImpl.RefundPageOptions) {
|
|
1369
|
+
return refundsImpl.paginateRefunds(this.component, ctx, opts);
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1373
1372
|
// DISPUTE METHODS
|
|
1374
1373
|
|
|
1375
1374
|
async getDisputeByStripeId(
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ComponentApi } from "../component/_generated/component.js";
|
|
2
|
+
import type { PaginationOptions, PaginationResult } from "convex/server";
|
|
3
|
+
import type { Component, RunCtx } from "./helpers.js";
|
|
4
|
+
import type { PayoutStatus } from "../component/connect/validators.js";
|
|
5
|
+
import type {
|
|
6
|
+
StripeComponentPayout,
|
|
7
|
+
StripeComponentProduct,
|
|
8
|
+
StripeComponentPrice,
|
|
9
|
+
} from "./types/documents.js";
|
|
10
|
+
import { componentRef } from "./webhooks/helpers.js";
|
|
11
|
+
/** Shared component readers inherited by BetterStripe. */
|
|
12
|
+
export class ReadContractClient {
|
|
13
|
+
constructor(public component: Component) {}
|
|
14
|
+
async paginateProducts(
|
|
15
|
+
ctx: RunCtx,
|
|
16
|
+
opts: {
|
|
17
|
+
accountId?: string;
|
|
18
|
+
active?: boolean;
|
|
19
|
+
paginationOpts: PaginationOptions;
|
|
20
|
+
},
|
|
21
|
+
): Promise<PaginationResult<StripeComponentProduct>> {
|
|
22
|
+
return ctx.runQuery(
|
|
23
|
+
componentRef(this.component, "products/queries/paginateProducts"),
|
|
24
|
+
opts,
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
async paginatePrices(
|
|
28
|
+
ctx: RunCtx,
|
|
29
|
+
opts: {
|
|
30
|
+
productId?: string;
|
|
31
|
+
active?: boolean;
|
|
32
|
+
paginationOpts: PaginationOptions;
|
|
33
|
+
},
|
|
34
|
+
): Promise<PaginationResult<StripeComponentPrice>> {
|
|
35
|
+
return ctx.runQuery(
|
|
36
|
+
componentRef(this.component, "products/queries/paginatePrices"),
|
|
37
|
+
opts,
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
async paginatePayouts(
|
|
41
|
+
ctx: RunCtx,
|
|
42
|
+
opts: {
|
|
43
|
+
accountId: string;
|
|
44
|
+
status?: PayoutStatus;
|
|
45
|
+
paginationOpts: PaginationOptions;
|
|
46
|
+
},
|
|
47
|
+
): Promise<PaginationResult<StripeComponentPayout>> {
|
|
48
|
+
return ctx.runQuery(
|
|
49
|
+
componentRef(this.component, "connect/queries/paginatePayouts"),
|
|
50
|
+
opts,
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async getAccountEarningsByCurrency(
|
|
55
|
+
ctx: RunCtx,
|
|
56
|
+
opts: { destinationAccountId: string; previewLimit?: number },
|
|
57
|
+
): Promise<{
|
|
58
|
+
totals: {
|
|
59
|
+
currency: string;
|
|
60
|
+
gross: number;
|
|
61
|
+
reversed: number;
|
|
62
|
+
net: number;
|
|
63
|
+
transferCount: number;
|
|
64
|
+
}[];
|
|
65
|
+
transfers: ComponentApi["connect"]["queries"]["getAccountEarningsByCurrency"]["_returnType"]["transfers"];
|
|
66
|
+
}> {
|
|
67
|
+
return ctx.runQuery(
|
|
68
|
+
componentRef(
|
|
69
|
+
this.component,
|
|
70
|
+
"connect/queries/getAccountEarningsByCurrency",
|
|
71
|
+
),
|
|
72
|
+
opts,
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
async getAccountPayoutsByCurrency(
|
|
76
|
+
ctx: RunCtx,
|
|
77
|
+
opts: { accountId: string; previewLimit?: number },
|
|
78
|
+
): Promise<{
|
|
79
|
+
totals: { currency: string; paidOut: number; payoutCount: number }[];
|
|
80
|
+
payouts: StripeComponentPayout[];
|
|
81
|
+
}> {
|
|
82
|
+
return ctx.runQuery(
|
|
83
|
+
componentRef(
|
|
84
|
+
this.component,
|
|
85
|
+
"connect/queries/getAccountPayoutsByCurrency",
|
|
86
|
+
),
|
|
87
|
+
opts,
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { expect, it, vi } from "vitest";
|
|
2
|
+
import { BetterStripe } from "./index.js";
|
|
3
|
+
import { components } from "./setup.test.js";
|
|
4
|
+
it("forwards typed component cursors and account scope through public readers", async () => {
|
|
5
|
+
const bs = new BetterStripe(components.betterStripe, {
|
|
6
|
+
STRIPE_SECRET_KEY: "sk_test_reader_fixture",
|
|
7
|
+
});
|
|
8
|
+
const page = { page: [], isDone: true, continueCursor: "end" };
|
|
9
|
+
const ctx = { runQuery: vi.fn().mockResolvedValue(page) };
|
|
10
|
+
const paginationOpts = { numItems: 10, cursor: "opaque" };
|
|
11
|
+
expect(
|
|
12
|
+
await bs.paginatePayouts(ctx, {
|
|
13
|
+
accountId: "acct_a",
|
|
14
|
+
status: "paid",
|
|
15
|
+
paginationOpts,
|
|
16
|
+
}),
|
|
17
|
+
).toBe(page);
|
|
18
|
+
expect(ctx.runQuery).toHaveBeenLastCalledWith(
|
|
19
|
+
components.betterStripe.connect.queries.paginatePayouts,
|
|
20
|
+
{ accountId: "acct_a", status: "paid", paginationOpts },
|
|
21
|
+
);
|
|
22
|
+
expect(
|
|
23
|
+
await bs.paginateProducts(ctx, {
|
|
24
|
+
accountId: "acct_a",
|
|
25
|
+
active: true,
|
|
26
|
+
paginationOpts,
|
|
27
|
+
}),
|
|
28
|
+
).toBe(page);
|
|
29
|
+
expect(ctx.runQuery).toHaveBeenLastCalledWith(
|
|
30
|
+
components.betterStripe.products.queries.paginateProducts,
|
|
31
|
+
{ accountId: "acct_a", active: true, paginationOpts },
|
|
32
|
+
);
|
|
33
|
+
expect(
|
|
34
|
+
await bs.paginatePrices(ctx, {
|
|
35
|
+
productId: "prod_a",
|
|
36
|
+
active: false,
|
|
37
|
+
paginationOpts,
|
|
38
|
+
}),
|
|
39
|
+
).toBe(page);
|
|
40
|
+
expect(ctx.runQuery).toHaveBeenLastCalledWith(
|
|
41
|
+
components.betterStripe.products.queries.paginatePrices,
|
|
42
|
+
{ productId: "prod_a", active: false, paginationOpts },
|
|
43
|
+
);
|
|
44
|
+
});
|
|
45
|
+
it("forwards exact currency summary reads through the public client", async () => {
|
|
46
|
+
const bs = new BetterStripe(components.betterStripe);
|
|
47
|
+
const ctx = { runQuery: vi.fn().mockResolvedValue({ totals: [] }) };
|
|
48
|
+
expect(
|
|
49
|
+
await bs.getAccountEarningsByCurrency(ctx, {
|
|
50
|
+
destinationAccountId: "acct_a",
|
|
51
|
+
}),
|
|
52
|
+
).toEqual({ totals: [] });
|
|
53
|
+
expect(ctx.runQuery).toHaveBeenLastCalledWith(
|
|
54
|
+
components.betterStripe.connect.queries.getAccountEarningsByCurrency,
|
|
55
|
+
{ destinationAccountId: "acct_a" },
|
|
56
|
+
);
|
|
57
|
+
await bs.getAccountPayoutsByCurrency(ctx, { accountId: "acct_a" });
|
|
58
|
+
expect(ctx.runQuery).toHaveBeenLastCalledWith(
|
|
59
|
+
components.betterStripe.connect.queries.getAccountPayoutsByCurrency,
|
|
60
|
+
{ accountId: "acct_a" },
|
|
61
|
+
);
|
|
62
|
+
});
|