@fantastic.dev/better-stripe 0.7.0 → 0.8.1
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 +29 -18
- package/README.md +123 -91
- package/dist/client/billing/checkout.d.ts +1 -1
- package/dist/client/billing/checkout.d.ts.map +1 -1
- package/dist/client/billing/checkout.js +7 -2
- package/dist/client/billing/checkout.js.map +1 -1
- package/dist/client/connect/disputes.d.ts +1 -1
- package/dist/client/connect/disputes.d.ts.map +1 -1
- package/dist/client/connect/disputes.js +12 -6
- package/dist/client/connect/disputes.js.map +1 -1
- package/dist/client/connect/paymentMethods.d.ts.map +1 -1
- package/dist/client/connect/paymentMethods.js.map +1 -1
- package/dist/client/connect/refundActor.d.ts.map +1 -1
- package/dist/client/connect/refundActor.js.map +1 -1
- package/dist/client/connect/refunds.d.ts.map +1 -1
- package/dist/client/connect/refunds.js.map +1 -1
- package/dist/client/connect/transfers.d.ts.map +1 -1
- package/dist/client/connect/transfers.js +15 -4
- package/dist/client/connect/transfers.js.map +1 -1
- package/dist/client/core/accountDefaults.d.ts +6 -0
- package/dist/client/core/accountDefaults.d.ts.map +1 -0
- package/dist/client/core/accountDefaults.js +15 -0
- package/dist/client/core/accountDefaults.js.map +1 -0
- package/dist/client/core/accounts.d.ts +1 -5
- package/dist/client/core/accounts.d.ts.map +1 -1
- package/dist/client/core/accounts.js +2 -14
- package/dist/client/core/accounts.js.map +1 -1
- package/dist/client/core/fees.d.ts.map +1 -1
- package/dist/client/core/fees.js +7 -2
- package/dist/client/core/fees.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/products/prices.d.ts.map +1 -1
- package/dist/client/products/prices.js.map +1 -1
- package/dist/client/products/products.d.ts.map +1 -1
- package/dist/client/products/products.js +3 -1
- package/dist/client/products/products.js.map +1 -1
- package/dist/client/utils/owner.d.ts.map +1 -1
- package/dist/client/utils/owner.js +3 -1
- package/dist/client/utils/owner.js.map +1 -1
- package/dist/client/utils/stripeDashboardUrl.d.ts.map +1 -1
- package/dist/client/utils/stripeDashboardUrl.js.map +1 -1
- package/dist/client/webhooks/helpers.d.ts +10 -0
- package/dist/client/webhooks/helpers.d.ts.map +1 -1
- package/dist/client/webhooks/helpers.js +18 -0
- package/dist/client/webhooks/helpers.js.map +1 -1
- package/dist/client/webhooks/processors.d.ts.map +1 -1
- package/dist/client/webhooks/processors.js +1 -19
- package/dist/client/webhooks/processors.js.map +1 -1
- package/dist/component/connect/mutations.d.ts.map +1 -1
- package/dist/component/connect/mutations.js +4 -33
- package/dist/component/connect/mutations.js.map +1 -1
- package/dist/component/connect/schema.d.ts.map +1 -1
- package/dist/component/connect/schema.js.map +1 -1
- package/dist/component/lib/paymentSeller.d.ts +3 -0
- package/dist/component/lib/paymentSeller.d.ts.map +1 -0
- package/dist/component/lib/paymentSeller.js +10 -0
- package/dist/component/lib/paymentSeller.js.map +1 -0
- package/dist/component/lib/reversals.d.ts +10 -0
- package/dist/component/lib/reversals.d.ts.map +1 -1
- package/dist/component/lib/reversals.js +17 -0
- package/dist/component/lib/reversals.js.map +1 -1
- package/dist/react/components/ConnectProvider.d.ts +1 -1
- package/dist/react/components/ConnectProvider.d.ts.map +1 -1
- package/dist/react/components/ConnectProvider.js +18 -4
- package/dist/react/components/ConnectProvider.js.map +1 -1
- package/dist/react/components/ConnectStatusBadge.d.ts.map +1 -1
- package/dist/react/components/ConnectStatusBadge.js.map +1 -1
- package/dist/react/components/DisputeDetail.d.ts +4 -1
- package/dist/react/components/DisputeDetail.d.ts.map +1 -1
- package/dist/react/components/DisputeDetail.js +12 -6
- package/dist/react/components/DisputeDetail.js.map +1 -1
- package/dist/react/components/DisputesList.d.ts.map +1 -1
- package/dist/react/components/DisputesList.js +2 -1
- package/dist/react/components/DisputesList.js.map +1 -1
- package/dist/react/components/EmbeddedDisputes.d.ts +1 -1
- package/dist/react/components/EmbeddedDisputes.d.ts.map +1 -1
- package/dist/react/components/EmbeddedDisputes.js +1 -1
- package/dist/react/components/EmbeddedDisputes.js.map +1 -1
- package/dist/react/components/SplitBreakdown.d.ts.map +1 -1
- package/dist/react/components/SplitBreakdown.js +12 -2
- package/dist/react/components/SplitBreakdown.js.map +1 -1
- package/dist/react/hooks/useCheckoutSession.d.ts.map +1 -1
- package/dist/react/hooks/useCheckoutSession.js.map +1 -1
- package/dist/react/hooks/useConfirmPayment.d.ts.map +1 -1
- package/dist/react/hooks/useConfirmPayment.js.map +1 -1
- package/dist/react/index.d.ts +2 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/workflows/Account.d.ts +67 -0
- package/dist/react/workflows/Account.d.ts.map +1 -0
- package/dist/react/workflows/Account.js +74 -0
- package/dist/react/workflows/Account.js.map +1 -0
- package/dist/react/workflows/Billing.d.ts +60 -0
- package/dist/react/workflows/Billing.d.ts.map +1 -0
- package/dist/react/workflows/Billing.js +84 -0
- package/dist/react/workflows/Billing.js.map +1 -0
- package/dist/react/workflows/BillingPlans.d.ts +45 -0
- package/dist/react/workflows/BillingPlans.d.ts.map +1 -0
- package/dist/react/workflows/BillingPlans.js +51 -0
- package/dist/react/workflows/BillingPlans.js.map +1 -0
- package/dist/react/workflows/Checkout.d.ts +46 -0
- package/dist/react/workflows/Checkout.d.ts.map +1 -0
- package/dist/react/workflows/Checkout.js +61 -0
- package/dist/react/workflows/Checkout.js.map +1 -0
- package/dist/react/workflows/CheckoutChooser.d.ts +20 -0
- package/dist/react/workflows/CheckoutChooser.d.ts.map +1 -0
- package/dist/react/workflows/CheckoutChooser.js +24 -0
- package/dist/react/workflows/CheckoutChooser.js.map +1 -0
- package/dist/react/workflows/CheckoutForms.d.ts +26 -0
- package/dist/react/workflows/CheckoutForms.d.ts.map +1 -0
- package/dist/react/workflows/CheckoutForms.js +126 -0
- package/dist/react/workflows/CheckoutForms.js.map +1 -0
- package/dist/react/workflows/ClipboardButton.d.ts +17 -0
- package/dist/react/workflows/ClipboardButton.d.ts.map +1 -0
- package/dist/react/workflows/ClipboardButton.js +35 -0
- package/dist/react/workflows/ClipboardButton.js.map +1 -0
- package/dist/react/workflows/Collection.d.ts +30 -0
- package/dist/react/workflows/Collection.d.ts.map +1 -0
- package/dist/react/workflows/Collection.js +25 -0
- package/dist/react/workflows/Collection.js.map +1 -0
- package/dist/react/workflows/Collections.d.ts +56 -0
- package/dist/react/workflows/Collections.d.ts.map +1 -0
- package/dist/react/workflows/Collections.js +111 -0
- package/dist/react/workflows/Collections.js.map +1 -0
- package/dist/react/workflows/Connect.d.ts +19 -0
- package/dist/react/workflows/Connect.d.ts.map +1 -0
- package/dist/react/workflows/Connect.js +43 -0
- package/dist/react/workflows/Connect.js.map +1 -0
- package/dist/react/workflows/Costs.d.ts +48 -0
- package/dist/react/workflows/Costs.d.ts.map +1 -0
- package/dist/react/workflows/Costs.js +66 -0
- package/dist/react/workflows/Costs.js.map +1 -0
- package/dist/react/workflows/Disputes.d.ts +36 -0
- package/dist/react/workflows/Disputes.d.ts.map +1 -0
- package/dist/react/workflows/Disputes.js +74 -0
- package/dist/react/workflows/Disputes.js.map +1 -0
- package/dist/react/workflows/Earnings.d.ts +42 -0
- package/dist/react/workflows/Earnings.d.ts.map +1 -0
- package/dist/react/workflows/Earnings.js +38 -0
- package/dist/react/workflows/Earnings.js.map +1 -0
- package/dist/react/workflows/Financials.d.ts +43 -0
- package/dist/react/workflows/Financials.d.ts.map +1 -0
- package/dist/react/workflows/Financials.js +57 -0
- package/dist/react/workflows/Financials.js.map +1 -0
- package/dist/react/workflows/IntegrationSwitch.d.ts +23 -0
- package/dist/react/workflows/IntegrationSwitch.d.ts.map +1 -0
- package/dist/react/workflows/IntegrationSwitch.js +31 -0
- package/dist/react/workflows/IntegrationSwitch.js.map +1 -0
- package/dist/react/workflows/Onboarding.d.ts +56 -0
- package/dist/react/workflows/Onboarding.d.ts.map +1 -0
- package/dist/react/workflows/Onboarding.js +86 -0
- package/dist/react/workflows/Onboarding.js.map +1 -0
- package/dist/react/workflows/Overview.d.ts +51 -0
- package/dist/react/workflows/Overview.d.ts.map +1 -0
- package/dist/react/workflows/Overview.js +63 -0
- package/dist/react/workflows/Overview.js.map +1 -0
- package/dist/react/workflows/PaymentMethods.d.ts +35 -0
- package/dist/react/workflows/PaymentMethods.d.ts.map +1 -0
- package/dist/react/workflows/PaymentMethods.js +63 -0
- package/dist/react/workflows/PaymentMethods.js.map +1 -0
- package/dist/react/workflows/PaymentReceipt.d.ts +20 -0
- package/dist/react/workflows/PaymentReceipt.d.ts.map +1 -0
- package/dist/react/workflows/PaymentReceipt.js +24 -0
- package/dist/react/workflows/PaymentReceipt.js.map +1 -0
- package/dist/react/workflows/Payouts.d.ts +48 -0
- package/dist/react/workflows/Payouts.d.ts.map +1 -0
- package/dist/react/workflows/Payouts.js +88 -0
- package/dist/react/workflows/Payouts.js.map +1 -0
- package/dist/react/workflows/Products.d.ts +92 -0
- package/dist/react/workflows/Products.d.ts.map +1 -0
- package/dist/react/workflows/Products.js +179 -0
- package/dist/react/workflows/Products.js.map +1 -0
- package/dist/react/workflows/ReferralLinks.d.ts +26 -0
- package/dist/react/workflows/ReferralLinks.d.ts.map +1 -0
- package/dist/react/workflows/ReferralLinks.js +30 -0
- package/dist/react/workflows/ReferralLinks.js.map +1 -0
- package/dist/react/workflows/Refunds.d.ts +72 -0
- package/dist/react/workflows/Refunds.d.ts.map +1 -0
- package/dist/react/workflows/Refunds.js +95 -0
- package/dist/react/workflows/Refunds.js.map +1 -0
- package/dist/react/workflows/Setup.d.ts +50 -0
- package/dist/react/workflows/Setup.d.ts.map +1 -0
- package/dist/react/workflows/Setup.js +59 -0
- package/dist/react/workflows/Setup.js.map +1 -0
- package/dist/react/workflows/Storefront.d.ts +53 -0
- package/dist/react/workflows/Storefront.d.ts.map +1 -0
- package/dist/react/workflows/Storefront.js +44 -0
- package/dist/react/workflows/Storefront.js.map +1 -0
- package/dist/react/workflows/SubscriptionOverview.d.ts +13 -0
- package/dist/react/workflows/SubscriptionOverview.d.ts.map +1 -0
- package/dist/react/workflows/SubscriptionOverview.js +26 -0
- package/dist/react/workflows/SubscriptionOverview.js.map +1 -0
- package/dist/react/workflows/Subscriptions.d.ts +92 -0
- package/dist/react/workflows/Subscriptions.d.ts.map +1 -0
- package/dist/react/workflows/Subscriptions.js +149 -0
- package/dist/react/workflows/Subscriptions.js.map +1 -0
- package/dist/react/workflows/Tasks.d.ts +40 -0
- package/dist/react/workflows/Tasks.d.ts.map +1 -0
- package/dist/react/workflows/Tasks.js +113 -0
- package/dist/react/workflows/Tasks.js.map +1 -0
- package/dist/react/workflows/checkout-options.d.ts +37 -0
- package/dist/react/workflows/checkout-options.d.ts.map +1 -0
- package/dist/react/workflows/checkout-options.js +43 -0
- package/dist/react/workflows/checkout-options.js.map +1 -0
- package/dist/react/workflows/current-subscription.d.ts +11 -0
- package/dist/react/workflows/current-subscription.d.ts.map +1 -0
- package/dist/react/workflows/current-subscription.js +14 -0
- package/dist/react/workflows/current-subscription.js.map +1 -0
- package/dist/react/workflows/filters.d.ts +17 -0
- package/dist/react/workflows/filters.d.ts.map +1 -0
- package/dist/react/workflows/filters.js +23 -0
- package/dist/react/workflows/filters.js.map +1 -0
- package/dist/react/workflows/index.d.ts +70 -0
- package/dist/react/workflows/index.d.ts.map +1 -0
- package/dist/react/workflows/index.js +38 -0
- package/dist/react/workflows/index.js.map +1 -0
- package/dist/react/workflows/useWorkflowAction.d.ts +11 -0
- package/dist/react/workflows/useWorkflowAction.d.ts.map +1 -0
- package/dist/react/workflows/useWorkflowAction.js +68 -0
- package/dist/react/workflows/useWorkflowAction.js.map +1 -0
- package/dist/react/workflows/useWorkflowResource.d.ts +9 -0
- package/dist/react/workflows/useWorkflowResource.d.ts.map +1 -0
- package/dist/react/workflows/useWorkflowResource.js +67 -0
- package/dist/react/workflows/useWorkflowResource.js.map +1 -0
- package/docs/react-workflows-audit.md +88 -0
- package/docs/react-workflows.md +234 -0
- package/package.json +19 -3
- package/src/client/billing/checkout-ui-modes.test.ts +49 -0
- package/src/client/billing/checkout.ts +8 -3
- package/src/client/billing/invoices.test.ts +12 -6
- package/src/client/connect/disputes.test.ts +15 -0
- package/src/client/connect/disputes.ts +13 -7
- package/src/client/connect/paymentMethods.test.ts +3 -1
- package/src/client/connect/paymentMethods.ts +4 -1
- package/src/client/connect/refundActor.ts +1 -2
- package/src/client/connect/refunds.test.ts +35 -10
- package/src/client/connect/refunds.ts +4 -1
- package/src/client/connect/transfers.test.ts +66 -12
- package/src/client/connect/transfers.ts +32 -8
- package/src/client/core/accountDefaults.ts +15 -0
- package/src/client/core/accounts.ts +14 -17
- package/src/client/core/config.test.ts +2 -1
- package/src/client/core/descriptors.test.ts +6 -4
- package/src/client/core/fees.test.ts +20 -28
- package/src/client/core/fees.ts +9 -2
- package/src/client/index.test.ts +22 -22
- package/src/client/index.ts +1 -1
- package/src/client/products/prices.test.ts +8 -2
- package/src/client/products/prices.ts +4 -1
- package/src/client/products/products.test.ts +61 -20
- package/src/client/products/products.ts +3 -1
- package/src/client/utils/data.test.ts +3 -1
- package/src/client/utils/owner.test.ts +4 -1
- package/src/client/utils/owner.ts +5 -1
- package/src/client/utils/stripeDashboardUrl.ts +1 -4
- package/src/client/webhooks/handler.test.ts +16 -19
- package/src/client/webhooks/helpers.test.ts +26 -13
- package/src/client/webhooks/helpers.ts +23 -0
- package/src/client/webhooks/hooks.test.ts +1 -2
- package/src/client/webhooks/processors.test.ts +18 -34
- package/src/client/webhooks/processors.ts +1 -23
- package/src/client/webhooks.test.ts +1 -2
- package/src/component/_generated/api.ts +2 -0
- package/src/component/connect/mutations.ts +5 -46
- package/src/component/connect/schema.ts +4 -3
- package/src/component/connect.test.ts +1 -5
- package/src/component/lib/paymentSeller.ts +15 -0
- package/src/component/lib/reversals.ts +30 -2
- package/src/component/subscription-scoping.test.ts +5 -1
- package/src/component/triggers.test.ts +7 -4
- package/src/react/components/BuyerBillingView.render.test.tsx +7 -2
- package/src/react/components/ConnectProvider.live.test.tsx +61 -0
- package/src/react/components/ConnectProvider.tsx +18 -4
- package/src/react/components/ConnectStatusBadge.tsx +1 -4
- package/src/react/components/DisputeDetail.render.test.tsx +5 -1
- package/src/react/components/DisputeDetail.tsx +14 -5
- package/src/react/components/DisputesList.render.test.tsx +21 -0
- package/src/react/components/DisputesList.tsx +2 -1
- package/src/react/components/EarningsSummary.render.test.tsx +2 -6
- package/src/react/components/EmbeddedDisputes.render.test.tsx +7 -5
- package/src/react/components/EmbeddedDisputes.tsx +4 -1
- package/src/react/components/EvidenceForm.render.test.tsx +3 -10
- package/src/react/components/SplitBreakdown.render.test.tsx +28 -5
- package/src/react/components/SplitBreakdown.tsx +12 -2
- package/src/react/hooks/useCheckoutSession.ts +1 -2
- package/src/react/hooks/useConfirmPayment.ts +1 -2
- package/src/react/hooks/useEarnings.test.ts +43 -8
- package/src/react/hooks/useStripeMode.test.ts +5 -8
- package/src/react/index.ts +7 -1
- package/src/react/workflows/Account.test.tsx +31 -0
- package/src/react/workflows/Account.tsx +183 -0
- package/src/react/workflows/Billing.test.tsx +45 -0
- package/src/react/workflows/Billing.tsx +213 -0
- package/src/react/workflows/BillingPlans.test.tsx +31 -0
- package/src/react/workflows/BillingPlans.tsx +130 -0
- package/src/react/workflows/Checkout.test.tsx +118 -0
- package/src/react/workflows/Checkout.tsx +135 -0
- package/src/react/workflows/CheckoutChooser.test.tsx +44 -0
- package/src/react/workflows/CheckoutChooser.tsx +77 -0
- package/src/react/workflows/CheckoutForm.test.tsx +66 -0
- package/src/react/workflows/CheckoutForms.test.tsx +123 -0
- package/src/react/workflows/CheckoutForms.tsx +247 -0
- package/src/react/workflows/ClipboardButton.test.tsx +34 -0
- package/src/react/workflows/ClipboardButton.tsx +67 -0
- package/src/react/workflows/Collection.tsx +76 -0
- package/src/react/workflows/Collections.test.tsx +86 -0
- package/src/react/workflows/Collections.tsx +213 -0
- package/src/react/workflows/Connect.test.tsx +50 -0
- package/src/react/workflows/Connect.tsx +107 -0
- package/src/react/workflows/Costs.test.tsx +41 -0
- package/src/react/workflows/Costs.tsx +133 -0
- package/src/react/workflows/Disputes.test.tsx +64 -0
- package/src/react/workflows/Disputes.tsx +173 -0
- package/src/react/workflows/Earnings.test.ts +19 -0
- package/src/react/workflows/Earnings.tsx +84 -0
- package/src/react/workflows/Financials.test.tsx +35 -0
- package/src/react/workflows/Financials.tsx +117 -0
- package/src/react/workflows/IntegrationSwitch.test.tsx +36 -0
- package/src/react/workflows/IntegrationSwitch.tsx +63 -0
- package/src/react/workflows/Onboarding.test.tsx +75 -0
- package/src/react/workflows/Onboarding.tsx +171 -0
- package/src/react/workflows/Overview.test.tsx +57 -0
- package/src/react/workflows/Overview.tsx +123 -0
- package/src/react/workflows/PaymentMethods.test.tsx +60 -0
- package/src/react/workflows/PaymentMethods.tsx +117 -0
- package/src/react/workflows/PaymentReceipt.test.tsx +24 -0
- package/src/react/workflows/PaymentReceipt.tsx +46 -0
- package/src/react/workflows/Payouts.test.tsx +112 -0
- package/src/react/workflows/Payouts.tsx +215 -0
- package/src/react/workflows/Products.test.tsx +90 -0
- package/src/react/workflows/Products.tsx +377 -0
- package/src/react/workflows/ReferralLinks.test.tsx +39 -0
- package/src/react/workflows/ReferralLinks.tsx +75 -0
- package/src/react/workflows/Refunds.test.tsx +75 -0
- package/src/react/workflows/Refunds.tsx +223 -0
- package/src/react/workflows/Setup.test.tsx +25 -0
- package/src/react/workflows/Setup.tsx +166 -0
- package/src/react/workflows/Storefront.test.tsx +82 -0
- package/src/react/workflows/Storefront.tsx +138 -0
- package/src/react/workflows/SubscriptionOverview.test.tsx +27 -0
- package/src/react/workflows/SubscriptionOverview.tsx +48 -0
- package/src/react/workflows/Subscriptions.test.tsx +61 -0
- package/src/react/workflows/Subscriptions.tsx +282 -0
- package/src/react/workflows/Tasks.test.tsx +23 -0
- package/src/react/workflows/Tasks.tsx +199 -0
- package/src/react/workflows/checkout-options.ts +42 -0
- package/src/react/workflows/current-subscription.test.ts +29 -0
- package/src/react/workflows/current-subscription.ts +25 -0
- package/src/react/workflows/filters.test.ts +12 -0
- package/src/react/workflows/filters.ts +22 -0
- package/src/react/workflows/index.ts +238 -0
- package/src/react/workflows/native-interactions.test.tsx +73 -0
- package/src/react/workflows/public-workflows.test.tsx +216 -0
- package/src/react/workflows/useWorkflowAction.test.tsx +54 -0
- package/src/react/workflows/useWorkflowAction.ts +75 -0
- package/src/react/workflows/useWorkflowResource.test.tsx +41 -0
- package/src/react/workflows/useWorkflowResource.ts +78 -0
package/CHANGELOG.md
CHANGED
|
@@ -14,46 +14,57 @@
|
|
|
14
14
|
- Remove internal tracker references from public documentation and add a
|
|
15
15
|
regression check that prevents their reintroduction.
|
|
16
16
|
|
|
17
|
-
## [0.
|
|
17
|
+
## [0.8.1](https://github.com/FantasticDevHQ/better-stripe/compare/v0.8.0...v0.8.1) (2026-10-13)
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
18
20
|
|
|
21
|
+
- harden sandbox example and reusable React workflows ([#135](https://github.com/FantasticDevHQ/better-stripe/issues/135)) ([65985a5](https://github.com/FantasticDevHQ/better-stripe/commit/65985a5be392e3bcb04c4055fb36515ba02de0b2))
|
|
22
|
+
|
|
23
|
+
## [0.8.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.7.0...v0.8.0) (2026-10-13)
|
|
19
24
|
|
|
20
25
|
### Features
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
- compare checkout and embedded integration examples ([#133](https://github.com/FantasticDevHQ/better-stripe/issues/133)) ([0d916f6](https://github.com/FantasticDevHQ/better-stripe/commit/0d916f6aecf734877da379327a3148753fc0c4c3))
|
|
28
|
+
- ship reusable React workflows and migrate the example UI ([#134](https://github.com/FantasticDevHQ/better-stripe/issues/134)) ([a1336ce](https://github.com/FantasticDevHQ/better-stripe/commit/a1336ced2a6d3a09210e769a89cf70022c0f7531))
|
|
23
29
|
|
|
24
|
-
|
|
30
|
+
### Maintenance
|
|
31
|
+
|
|
32
|
+
- add repo-gates and enforce check:all ([#131](https://github.com/FantasticDevHQ/better-stripe/issues/131)) ([be80b7f](https://github.com/FantasticDevHQ/better-stripe/commit/be80b7f8fe186bc22dbdc956357bd4a1120eec29))
|
|
25
33
|
|
|
34
|
+
## [0.7.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.6.1...v0.7.0) (2026-10-13)
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
- expand marketplace example with seller billing and sandbox fixtures ([#129](https://github.com/FantasticDevHQ/better-stripe/issues/129)) ([7f21f53](https://github.com/FantasticDevHQ/better-stripe/commit/7f21f5365ce82cab9ecc984b94f444408223f8b8))
|
|
39
|
+
|
|
40
|
+
## [0.6.1](https://github.com/FantasticDevHQ/better-stripe/compare/v0.6.0...v0.6.1) (2026-10-13)
|
|
26
41
|
|
|
27
42
|
### Bug Fixes
|
|
28
43
|
|
|
29
|
-
|
|
44
|
+
- complete large split reversals and keep public docs current ([#127](https://github.com/FantasticDevHQ/better-stripe/issues/127)) ([e7cc0a9](https://github.com/FantasticDevHQ/better-stripe/commit/e7cc0a9b0ea01f4993447f9d73edebe71b364081))
|
|
30
45
|
|
|
31
46
|
## [0.6.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.5.0...v0.6.0) (2026-10-12)
|
|
32
47
|
|
|
33
|
-
|
|
34
48
|
### ⚠ BREAKING CHANGES
|
|
35
49
|
|
|
36
|
-
|
|
50
|
+
- the package name changes to @fantastic.dev/better-stripe; @getdojo/better-stripe receives no further releases.
|
|
37
51
|
|
|
38
52
|
### Features
|
|
39
53
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
54
|
+
- complete Stripe Endive compatibility and release 0.5.0 ([#126](https://github.com/FantasticDevHQ/better-stripe/issues/126)) ([135695f](https://github.com/FantasticDevHQ/better-stripe/commit/135695f51906ea156a36dbe8d0d43cf1d99e5fc1))
|
|
55
|
+
- publish as [@fantastic](https://github.com/fantastic).dev/better-stripe via Release Please and trusted publishing ([#120](https://github.com/FantasticDevHQ/better-stripe/issues/120)) ([7451eeb](https://github.com/FantasticDevHQ/better-stripe/commit/7451eeb514b09a09656355c74c4bec083e1ddce7))
|
|
43
56
|
|
|
44
57
|
### Bug Fixes
|
|
45
58
|
|
|
46
|
-
|
|
47
|
-
|
|
59
|
+
- repair example checkout billing and seller flows ([#125](https://github.com/FantasticDevHQ/better-stripe/issues/125)) ([5911fb8](https://github.com/FantasticDevHQ/better-stripe/commit/5911fb8d8bc585fab62fe48e58e1e964047b8fd9))
|
|
48
60
|
|
|
49
61
|
### Maintenance
|
|
50
62
|
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
- **deps:** update dependencies to latest ([#122](https://github.com/FantasticDevHQ/better-stripe/issues/122)) ([a7e4161](https://github.com/FantasticDevHQ/better-stripe/commit/a7e416179d20afdd2356668cbd4482e2e3fa4eff))
|
|
53
64
|
|
|
54
65
|
### Continuous Integration
|
|
55
66
|
|
|
56
|
-
|
|
67
|
+
- **release:** open release PRs with the org release GitHub App ([#124](https://github.com/FantasticDevHQ/better-stripe/issues/124)) ([3c94f2e](https://github.com/FantasticDevHQ/better-stripe/commit/3c94f2ef317f939ac039c261f9c148e6b1f14a56))
|
|
57
68
|
|
|
58
69
|
## 0.5.0
|
|
59
70
|
|
|
@@ -125,7 +136,7 @@ changed by this release.
|
|
|
125
136
|
|
|
126
137
|
- [#76](https://github.com/kellykampen/better-stripe/pull/76) [`c9f1489`](https://github.com/kellykampen/better-stripe/commit/c9f148948f2f5ea77f343c5fc1a78faffbb5ac1e) Thanks [@kellykampen](https://github.com/kellykampen)! - Add headless `DisputesList` component with due-by countdown badges ([#41](https://github.com/kellykampen/better-stripe/issues/41)).
|
|
127
138
|
|
|
128
|
-
Pure, hook-free presentational list of a seller's disputes, sorted by evidence deadline (soonest first, no-deadline rows last, overdue rows naturally at the top). Rows accept the exact shape `getDisputeWithCountdown`/`useDisputeWithCountdown`
|
|
139
|
+
Pure, hook-free presentational list of a seller's disputes, sorted by evidence deadline (soonest first, no-deadline rows last, overdue rows naturally at the top). Rows accept the exact shape `getDisputeWithCountdown`/`useDisputeWithCountdown` produce, so the component never recomputes deadlines itself.
|
|
129
140
|
|
|
130
141
|
Headless overrides: `className`, i18n labels (`emptyLabel`, `loadingLabel`, `dueLabel`/`overdueLabel` with `{days}` templating), a per-row `renderRow` slot, and a whole-list `children` render prop. Default markup is semantic `ul[role=list] > li[data-dispute-id]` with a `span[role=status]` badge carrying `data-overdue`. Purely additive.
|
|
131
142
|
|
|
@@ -191,7 +202,7 @@ changed by this release.
|
|
|
191
202
|
|
|
192
203
|
- [#76](https://github.com/kellykampen/better-stripe/pull/76) [`c9f1489`](https://github.com/kellykampen/better-stripe/commit/c9f148948f2f5ea77f343c5fc1a78faffbb5ac1e) Thanks [@kellykampen](https://github.com/kellykampen)! - Add product-level `statement_descriptor` so it covers a subscription's first charge ([#63](https://github.com/kellykampen/better-stripe/issues/63)).
|
|
193
204
|
|
|
194
|
-
The invoice-time descriptor path
|
|
205
|
+
The invoice-time descriptor path sets the descriptor at `invoice.created`, which never reaches a subscription's first invoice — Stripe finalizes and (for `charge_automatically`/Checkout subscription-mode) pays invoice [#1](https://github.com/kellykampen/better-stripe/issues/1) synchronously at creation, before that handler runs. Per Stripe's descriptor precedence (Invoice → Product → charge-type default), a product-level `statement_descriptor` covers every cycle including the first.
|
|
195
206
|
|
|
196
207
|
`createProduct`/`updateProduct` now resolve the per-store descriptor (the store's stored suffix, else the platform default — mirroring the account-level descriptor resolution) and stamp it onto the Stripe Product's `statement_descriptor`, for products with an `accountId`. No public API change to existing call shapes.
|
|
197
208
|
|
|
@@ -280,7 +291,7 @@ changed by this release.
|
|
|
280
291
|
|
|
281
292
|
- A bare metadata/status update (no `evidence`) is unchanged — no `submit` is forced.
|
|
282
293
|
- An explicit `submit: true` / `submit: false` is always honored.
|
|
283
|
-
- `EvidenceForm`
|
|
294
|
+
- `EvidenceForm` already passes `submit` explicitly, so it is unaffected.
|
|
284
295
|
|
|
285
296
|
If you relied on the old behavior of submitting evidence by omitting `submit`, pass `submit: true` explicitly.
|
|
286
297
|
|
|
@@ -288,7 +299,7 @@ changed by this release.
|
|
|
288
299
|
|
|
289
300
|
- [#76](https://github.com/kellykampen/better-stripe/pull/76) [`c9f1489`](https://github.com/kellykampen/better-stripe/commit/c9f148948f2f5ea77f343c5fc1a78faffbb5ac1e) Thanks [@kellykampen](https://github.com/kellykampen)! - Regenerate the component's `_generated` API so transfer/dispute queries are typed for consumers ([#71](https://github.com/kellykampen/better-stripe/issues/71)).
|
|
290
301
|
|
|
291
|
-
`src/component/_generated/component.ts` was stale — it predated `listTransfersByCharge`/`listTransfersByAccount`
|
|
302
|
+
`src/component/_generated/component.ts` was stale — it predated `listTransfersByCharge`/`listTransfersByAccount` and `getDisputeByStripeId`/`listDisputes`, so `components.betterStripe.connect.queries.*` for those methods was untyped for any consumer reaching into the raw component API. Regenerated via `npx convex codegen`; no source logic changed, generated bindings only.
|
|
292
303
|
|
|
293
304
|
- [#76](https://github.com/kellykampen/better-stripe/pull/76) [`c9f1489`](https://github.com/kellykampen/better-stripe/commit/c9f148948f2f5ea77f343c5fc1a78faffbb5ac1e) Thanks [@kellykampen](https://github.com/kellykampen)! - Fix: `updateDispute` now sends an explicit `submit: false` on every call, including metadata-only updates ([#67](https://github.com/kellykampen/better-stripe/issues/67)).
|
|
294
305
|
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Built for Convex + Next.js applications. Follows the conventions established by
|
|
|
6
6
|
|
|
7
7
|
## Status
|
|
8
8
|
|
|
9
|
-
**Version**: `0.
|
|
9
|
+
**Version**: `0.8.1` <!-- x-release-please-version --> (pre-1.0). API may change between minor versions until 1.0.
|
|
10
10
|
|
|
11
11
|
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.
|
|
12
12
|
|
|
@@ -21,7 +21,8 @@ Releases are automated with [Release Please](https://github.com/googleapis/relea
|
|
|
21
21
|
- `docs:`, `chore:`, `ci:`, `refactor:`, `test:`, `build:` and `perf:` appear in the changelog too. On their own they still open a patch release PR, which you can leave open to collect more changes: nothing publishes until that PR is merged.
|
|
22
22
|
|
|
23
23
|
Write the title for consumers of the package: it becomes the changelog entry. A title that isn't a Conventional Commit is left out.
|
|
24
|
-
|
|
24
|
+
|
|
25
|
+
2. **On merge to `main`**, the `Release` workflow opens or updates a release PR that bumps `package.json`, `CHANGELOG.md`, the version line above and `.release-please-manifest.json`. It formats the generated changelog with the repository's pinned Prettier and commits any formatting changes through the release GitHub App, so CI validates the formatted branch. An already formatted changelog creates no extra commit.
|
|
25
26
|
3. **Merging the release PR** is the release decision. The same run tags the version, creates the GitHub release and publishes to npm through [trusted publishing](https://docs.npmjs.com/trusted-publishers) with provenance. There's no npm token.
|
|
26
27
|
|
|
27
28
|
Release policy lives in `release-please-config.json`. Keep the workflow file named `release.yml`, because the trusted publisher on npmjs.com is bound to that filename. A manually pushed `vX.Y.Z` tag also publishes, but only if it matches `package.json` and `CHANGELOG.md` has a section for it (`scripts/release-notes.mjs`). If publishing fails after the GitHub release is created, use **Re-run failed jobs** on that run. Check npm first if the outcome is uncertain: a published version can't be overwritten.
|
|
@@ -43,6 +44,19 @@ recovery. The example also demonstrates optional balance-funded subscriptions
|
|
|
43
44
|
using Stripe's Accounts v2 preview. See the setup guide for consent requirements,
|
|
44
45
|
renewal tests, and payment-recovery limitations.
|
|
45
46
|
|
|
47
|
+
The example also compares headless APIs, package React components, Stripe Connect
|
|
48
|
+
embeds, and hosted billing where supported. Its checkout chooser demonstrates
|
|
49
|
+
Hosted Checkout, Embedded Checkout, custom Checkout Sessions with Payment Element,
|
|
50
|
+
Payment Intents with Payment Element, and the preview Embedded Checkout Form,
|
|
51
|
+
with pros and cons for each. `createCheckoutSession` accepts `uiMode` values
|
|
52
|
+
`"redirect"`, `"embedded"`, `"custom"`, and `"form"`; the latter two map to Stripe's
|
|
53
|
+
`elements` and preview `form` modes. See [the integration examples](example/README.md#compare-integration-styles).
|
|
54
|
+
|
|
55
|
+
Run `pnpm run check:all` before submitting changes. It runs the build, lint,
|
|
56
|
+
formatting, typechecks, codegen drift check, tests, and repository quality gates
|
|
57
|
+
used by CI. Policy lives in `repo-gates.config.json`; measured baselines live in
|
|
58
|
+
`gates/`. Fix failures without weakening the gates or raising existing budgets.
|
|
59
|
+
|
|
46
60
|
Builds and typechecks use TypeScript 7 (`@typescript/native` aliases
|
|
47
61
|
`typescript`). ESLint and Convex code generation still need the TypeScript 6
|
|
48
62
|
API, so `typescript` aliases Microsoft's `@typescript/typescript6` compatibility
|
|
@@ -72,8 +86,8 @@ All three require a configured dev deployment (`CONVEX_DEPLOYMENT` env var, norm
|
|
|
72
86
|
**CI gate.** Two layers verify the committed files are not stale:
|
|
73
87
|
|
|
74
88
|
1. **Structural drift check** (`pnpm codegen:check`, always runs in CI): two independent scans, each checking both directions (every source export appears in the generated file, and every generated entry still has a matching source), neither needing a deployment:
|
|
75
|
-
- Library component — scans `src/component/**/*.{queries,mutations,actions}.ts` and verifies every exported function appears in `src/component/_generated/component.ts`. The reverse direction also flags a stale entry left behind by a
|
|
76
|
-
- Example app — scans `example/convex/**/*.ts` and verifies every source module is imported and registered in `example/convex/_generated/api.ts`. Catches the common case of adding a new `example/convex/<module>.ts` (or nested file like `example/convex/lib/<module>.ts`) without regenerating. The reverse direction likewise flags a stale import left behind by a
|
|
89
|
+
- Library component — scans `src/component/**/*.{queries,mutations,actions}.ts` and verifies every exported function appears in `src/component/_generated/component.ts`. The reverse direction also flags a stale entry left behind by a _deleted_ query/mutation/action. The export-detection regex intentionally matches only direct `query(...)`/`mutation(...)`/`action(...)` exports — not wrapper or re-export forms like `customQuery(...)` (convex-helpers) or `export { fn as name }`, which this component has none of today; widen the regex (and the reverse scan) rather than assuming that stays true.
|
|
90
|
+
- Example app — scans `example/convex/**/*.ts` and verifies every source module is imported and registered in `example/convex/_generated/api.ts`. Catches the common case of adding a new `example/convex/<module>.ts` (or nested file like `example/convex/lib/<module>.ts`) without regenerating. The reverse direction likewise flags a stale import left behind by a _deleted_ module.
|
|
77
91
|
2. **Authoritative regen-and-diff** (runs in CI when `CONVEX_DEPLOYMENT` is configured): runs `pnpm codegen` against the configured dev deployment and fails if `git diff` shows changes. Catches every drift case, including validator-shape changes the structural check can't see. To enable on a fork, set the `CONVEX_DEPLOYMENT` repo secret to a dev deployment name and authorize the CI runner — see Convex's [GitHub Actions guide](https://docs.convex.dev/production/integration/deployments#github-actions).
|
|
78
92
|
|
|
79
93
|
### Relation to `@convex-dev/stripe`
|
|
@@ -216,27 +230,27 @@ Methods named `get<Entity>` take the component document ID (exception: `getInvoi
|
|
|
216
230
|
|
|
217
231
|
### Account
|
|
218
232
|
|
|
219
|
-
| Method | Description
|
|
220
|
-
| --------------------------------------------------------------------------------- |
|
|
221
|
-
| `createAccount(ctx, { userId, email?, name?, country?, orgId?, metadata? })` | Create a V2 account in Stripe and the component database
|
|
222
|
-
| `getAccount(ctx, { accountId })` | Get account by component document ID
|
|
223
|
-
| `getAccountByStripeId(ctx, { stripeAccountId })` | Get account by Stripe account ID
|
|
224
|
-
| `getOrCreateAccount(ctx, { userId, email?, name?, country?, orgId?, metadata? })` | Get existing or create new account
|
|
225
|
-
| `getAccountByUserId(ctx, { userId })` | Get account by app-layer user ID
|
|
226
|
-
| `getAccountByOrgId(ctx, { orgId })` | Get account by organization/team ID
|
|
227
|
-
| `getAccountOnboardingStatus(ctx, { accountId })` | Get Connect onboarding status (by component document ID)
|
|
228
|
-
| `updateAccount(ctx, { stripeAccountId, email?, name?, metadata? })` | Update account fields
|
|
229
|
-
| `createAccountLink(ctx, { stripeAccountId, refreshUrl, returnUrl, type })` | Create Connect onboarding or update link
|
|
230
|
-
| `createAccountSession(ctx, { stripeAccountId, components })` | Create embedded account management session
|
|
231
|
-
| `createLoginLink(ctx, { stripeAccountId })` | Create Express dashboard login link
|
|
232
|
-
| `addRecipientConfiguration(ctx, { stripeAccountId })` | Add recipient configuration to an existing account
|
|
233
|
-
| `getV2Account(ctx, { stripeAccountId, include? })` | Retrieve a V2 account directly from Stripe
|
|
234
|
-
| `updateV2Account(ctx, { stripeAccountId, updateParams })` | Update a V2 account in Stripe
|
|
235
|
-
| `listStripeAccounts(ctx, { limit? })` | List V2 accounts directly from Stripe
|
|
236
|
-
| `closeAccount(ctx, { stripeAccountId })` | Close a V2 account; returns `{ closed: boolean }`
|
|
237
|
-
| `restartAccountOnboarding(ctx, { stripeAccountId })` | Close the account so onboarding can restart fresh
|
|
238
|
-
| `setAccountStatementDescriptor(ctx, { stripeAccountId, statementDescriptor })`
|
|
239
|
-
| `createDisputeSession(ctx, { stripeAccountId })`
|
|
233
|
+
| Method | Description |
|
|
234
|
+
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
|
235
|
+
| `createAccount(ctx, { userId, email?, name?, country?, orgId?, metadata? })` | Create a V2 account in Stripe and the component database |
|
|
236
|
+
| `getAccount(ctx, { accountId })` | Get account by component document ID |
|
|
237
|
+
| `getAccountByStripeId(ctx, { stripeAccountId })` | Get account by Stripe account ID |
|
|
238
|
+
| `getOrCreateAccount(ctx, { userId, email?, name?, country?, orgId?, metadata? })` | Get existing or create new account |
|
|
239
|
+
| `getAccountByUserId(ctx, { userId })` | Get account by app-layer user ID |
|
|
240
|
+
| `getAccountByOrgId(ctx, { orgId })` | Get account by organization/team ID |
|
|
241
|
+
| `getAccountOnboardingStatus(ctx, { accountId })` | Get Connect onboarding status (by component document ID) |
|
|
242
|
+
| `updateAccount(ctx, { stripeAccountId, email?, name?, metadata? })` | Update account fields |
|
|
243
|
+
| `createAccountLink(ctx, { stripeAccountId, refreshUrl, returnUrl, type })` | Create Connect onboarding or update link |
|
|
244
|
+
| `createAccountSession(ctx, { stripeAccountId, components })` | Create embedded account management session |
|
|
245
|
+
| `createLoginLink(ctx, { stripeAccountId })` | Create Express dashboard login link |
|
|
246
|
+
| `addRecipientConfiguration(ctx, { stripeAccountId })` | Add recipient configuration to an existing account |
|
|
247
|
+
| `getV2Account(ctx, { stripeAccountId, include? })` | Retrieve a V2 account directly from Stripe |
|
|
248
|
+
| `updateV2Account(ctx, { stripeAccountId, updateParams })` | Update a V2 account in Stripe |
|
|
249
|
+
| `listStripeAccounts(ctx, { limit? })` | List V2 accounts directly from Stripe |
|
|
250
|
+
| `closeAccount(ctx, { stripeAccountId })` | Close a V2 account; returns `{ closed: boolean }` |
|
|
251
|
+
| `restartAccountOnboarding(ctx, { stripeAccountId })` | Close the account so onboarding can restart fresh |
|
|
252
|
+
| `setAccountStatementDescriptor(ctx, { stripeAccountId, statementDescriptor })` | Set (or `null` to clear) the account's per-store statement-descriptor suffix |
|
|
253
|
+
| `createDisputeSession(ctx, { stripeAccountId })` | Create an embedded Account Session scoped to the seller's disputes |
|
|
240
254
|
|
|
241
255
|
### Product and Price
|
|
242
256
|
|
|
@@ -257,22 +271,22 @@ Methods named `get<Entity>` take the component document ID (exception: `getInvoi
|
|
|
257
271
|
|
|
258
272
|
### Checkout and Subscription
|
|
259
273
|
|
|
260
|
-
| Method
|
|
261
|
-
|
|
|
274
|
+
| Method | Description |
|
|
275
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
262
276
|
| `createCheckoutSession(ctx, { userId, stripePriceId, mode, returnUrl, uiMode?, quantity?, trialDays?, accountId?, orgId?, customerEmail?, destinationAccountId?, split?, fee?, amount?, metadata?, sessionOverrides? })` | Create checkout session (embedded or redirect); `destinationAccountId`/`split` route funds, `fee` overrides the platform's configured default |
|
|
263
|
-
| `getCheckoutSession(ctx, { sessionId })`
|
|
264
|
-
| `getCheckoutSessionByStripeId(ctx, { stripeSessionId })`
|
|
265
|
-
| `createSubscription(ctx, { userId, orgId?, customerAccount, stripePriceId, destinationAccountId?, split?, fee?, trialDays?, metadata? })`
|
|
266
|
-
| `getSubscription(ctx, { subscriptionId })`
|
|
267
|
-
| `getSubscriptionByStripeId(ctx, { stripeSubscriptionId })`
|
|
268
|
-
| `listSubscriptions(ctx, { stripeAccountId?, status?, limit? })`
|
|
269
|
-
| `listSubscriptionsByUser(ctx, { userId, status? })`
|
|
270
|
-
| `listSubscriptionsByOrg(ctx, { orgId, status? })`
|
|
271
|
-
| `getActiveSubscription(ctx, { userId, orgId? })`
|
|
272
|
-
| `getTrialStatus(ctx, { subscriptionId })`
|
|
273
|
-
| `cancelSubscription(ctx, { stripeSubscriptionId, cancelAtPeriodEnd? })`
|
|
274
|
-
| `reactivateSubscription(ctx, { stripeSubscriptionId })`
|
|
275
|
-
| `updateSubscriptionQuantity(ctx, { stripeSubscriptionId, quantity })`
|
|
277
|
+
| `getCheckoutSession(ctx, { sessionId })` | Get checkout session by component document ID |
|
|
278
|
+
| `getCheckoutSessionByStripeId(ctx, { stripeSessionId })` | Get checkout session by Stripe session ID |
|
|
279
|
+
| `createSubscription(ctx, { userId, orgId?, customerAccount, stripePriceId, destinationAccountId?, split?, fee?, trialDays?, metadata? })` | Create a subscription directly for a V2 buyer (off the checkout flow), with the same routing/fee options as checkout |
|
|
280
|
+
| `getSubscription(ctx, { subscriptionId })` | Get subscription by component document ID |
|
|
281
|
+
| `getSubscriptionByStripeId(ctx, { stripeSubscriptionId })` | Get subscription by Stripe subscription ID |
|
|
282
|
+
| `listSubscriptions(ctx, { stripeAccountId?, status?, limit? })` | List subscriptions, optionally scoped to a Connect account (use `listSubscriptionsByUser` for per-user filtering) |
|
|
283
|
+
| `listSubscriptionsByUser(ctx, { userId, status? })` | List all subscriptions for a user |
|
|
284
|
+
| `listSubscriptionsByOrg(ctx, { orgId, status? })` | List all subscriptions for an organization |
|
|
285
|
+
| `getActiveSubscription(ctx, { userId, orgId? })` | Get the active subscription for a user or org |
|
|
286
|
+
| `getTrialStatus(ctx, { subscriptionId })` | Get trial state for a subscription |
|
|
287
|
+
| `cancelSubscription(ctx, { stripeSubscriptionId, cancelAtPeriodEnd? })` | Cancel subscription immediately or at period end |
|
|
288
|
+
| `reactivateSubscription(ctx, { stripeSubscriptionId })` | Reactivate a canceled subscription |
|
|
289
|
+
| `updateSubscriptionQuantity(ctx, { stripeSubscriptionId, quantity })` | Update subscription seat quantity |
|
|
276
290
|
|
|
277
291
|
### Invoice, Payment Method, and Payout
|
|
278
292
|
|
|
@@ -294,17 +308,17 @@ Methods named `get<Entity>` take the component document ID (exception: `getInvoi
|
|
|
294
308
|
|
|
295
309
|
### Refund and Dispute
|
|
296
310
|
|
|
297
|
-
| Method
|
|
298
|
-
|
|
|
311
|
+
| Method | Description |
|
|
312
|
+
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
299
313
|
| `createRefund(ctx, { stripePaymentIntentId?, stripeChargeId?, amount?, reason?, metadata?, stripeAccountId?, refundApplicationFee?, reverseTransfer? })` | Issue a refund (provide a payment intent or charge); returns/reverses the platform fee and destination transfer by default; synced via `refund.created`/`.updated` |
|
|
300
|
-
| `getRefundByStripeId(ctx, { stripeRefundId })`
|
|
301
|
-
| `listRefunds(ctx, { stripeAccountId?, stripePaymentIntentId?, status?, limit? })`
|
|
302
|
-
| `getDisputeByStripeId(ctx, { stripeDisputeId })`
|
|
303
|
-
| `getDisputeWithCountdown(ctx, { stripeDisputeId })`
|
|
304
|
-
| `listDisputes(ctx, { stripeAccountId?, stripePaymentIntentId?, status?, limit? })`
|
|
305
|
-
| `updateDispute(ctx, { stripeDisputeId, evidence?, metadata?, submit?, stripeAccountId? })`
|
|
306
|
-
| `closeDispute(ctx, { stripeDisputeId, stripeAccountId? })`
|
|
307
|
-
| `reverseTransfers(ctx, { sourceChargeId, percent?, amount? })`
|
|
314
|
+
| `getRefundByStripeId(ctx, { stripeRefundId })` | Get a refund by Stripe refund ID |
|
|
315
|
+
| `listRefunds(ctx, { stripeAccountId?, stripePaymentIntentId?, status?, limit? })` | List refunds with optional filters |
|
|
316
|
+
| `getDisputeByStripeId(ctx, { stripeDisputeId })` | Get a dispute by Stripe dispute ID |
|
|
317
|
+
| `getDisputeWithCountdown(ctx, { stripeDisputeId })` | Get a dispute plus its evidence-due countdown (`daysRemaining`, `isOverdue`) |
|
|
318
|
+
| `listDisputes(ctx, { stripeAccountId?, stripePaymentIntentId?, status?, limit? })` | List disputes with optional filters |
|
|
319
|
+
| `updateDispute(ctx, { stripeDisputeId, evidence?, metadata?, submit?, stripeAccountId? })` | Submit/stage dispute evidence (`submit: true` finalizes the response) |
|
|
320
|
+
| `closeDispute(ctx, { stripeDisputeId, stripeAccountId? })` | Accept a dispute (concede the chargeback) — irreversible |
|
|
321
|
+
| `reverseTransfers(ctx, { sourceChargeId, percent?, amount? })` | Reverse split/destination transfers for a charge (the primitive behind automatic dispute clawback; also callable manually) |
|
|
308
322
|
|
|
309
323
|
Refunds denormalize cumulative state onto the linked `payments` row (`refundedAmount`, `refundStatus: "partially_refunded" | "fully_refunded"`) so "is this payment whole?" is a single read.
|
|
310
324
|
|
|
@@ -629,7 +643,11 @@ await stripe.createCheckoutSession(ctx, {
|
|
|
629
643
|
returnUrl,
|
|
630
644
|
split: [
|
|
631
645
|
{ destinationAccountId: storeAccountId, role: "store", percent: 80 },
|
|
632
|
-
{
|
|
646
|
+
{
|
|
647
|
+
destinationAccountId: affiliateAccountId,
|
|
648
|
+
role: "affiliate",
|
|
649
|
+
percent: 10,
|
|
650
|
+
},
|
|
633
651
|
],
|
|
634
652
|
fee: { percent: 10 }, // per-call override; omit to use the configured default
|
|
635
653
|
});
|
|
@@ -708,21 +726,21 @@ Read hooks are exported as factory functions that take the app's `useQuery` bind
|
|
|
708
726
|
|
|
709
727
|
### Read Hooks
|
|
710
728
|
|
|
711
|
-
| Hook Factory
|
|
712
|
-
|
|
|
713
|
-
| `createUseAccount`
|
|
714
|
-
| `createUseProducts`
|
|
715
|
-
| `createUsePrices`
|
|
716
|
-
| `createUseSubscription`
|
|
717
|
-
| `createUseSubscriptions`
|
|
718
|
-
| `createUseCheckout`
|
|
719
|
-
| `createUsePaymentMethods`
|
|
720
|
-
| `createUseInvoices`
|
|
721
|
-
| `createUseAccountOnboarding`
|
|
722
|
-
| `createUseEarnings`
|
|
723
|
-
| `createUseSplitBreakdown`
|
|
724
|
-
| `createUseDisputes`
|
|
725
|
-
| `createUseDisputeWithCountdown` | `(stripeDisputeId?)`
|
|
729
|
+
| Hook Factory | Hook Arguments | Returns |
|
|
730
|
+
| ------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
|
|
731
|
+
| `createUseAccount` | `(userId?)` | `{ account, isLoading }` |
|
|
732
|
+
| `createUseProducts` | `({ accountId?, active? }?)` | `{ products, isLoading }` |
|
|
733
|
+
| `createUsePrices` | `(productId?)` | `{ prices, isLoading }` |
|
|
734
|
+
| `createUseSubscription` | `(subscriptionId?)` | `{ subscription, isActive, isTrialing, isCanceling, daysUntilRenewal, daysUntilTrialEnd, isLoading }` |
|
|
735
|
+
| `createUseSubscriptions` | `({ userId?, status? }?)` | `{ subscriptions, activeSubscription, isLoading }` |
|
|
736
|
+
| `createUseCheckout` | `(sessionId?)` | `{ session, status, isComplete, isLoading }` |
|
|
737
|
+
| `createUsePaymentMethods` | `(accountId?)` | `{ methods, defaultMethod, isLoading }` |
|
|
738
|
+
| `createUseInvoices` | `({ userId?, subscriptionId?, status? }?)` | `{ invoices, isLoading }` |
|
|
739
|
+
| `createUseAccountOnboarding` | `(accountId?)` | `{ account, status, isReady, missingRequirements, isLoading }` |
|
|
740
|
+
| `createUseEarnings` | `(accountId?)` | `{ gross, reversed, net, payouts, paidOut, transfers, isLoading }` — recipient balance/earnings |
|
|
741
|
+
| `createUseSplitBreakdown` | `({ sourceChargeId?, saleAmount? })` | `{ breakdown: { legs, store, affiliate, other, recipientsTotal, platform? } \| null, isLoading }` — per-sale split |
|
|
742
|
+
| `createUseDisputes` | `({ accountId?, status? }?)` | `{ disputes, isLoading }` |
|
|
743
|
+
| `createUseDisputeWithCountdown` | `(stripeDisputeId?)` | `{ dispute, countdown: { dueBy?, daysRemaining?, isOverdue } \| null, isLoading }` |
|
|
726
744
|
|
|
727
745
|
### Checkout Session Hooks
|
|
728
746
|
|
|
@@ -794,14 +812,20 @@ These are re-exported so apps never need to import from `@stripe/react-stripe-js
|
|
|
794
812
|
|
|
795
813
|
## React Components
|
|
796
814
|
|
|
797
|
-
Import from `@fantastic.dev/better-stripe/react`.
|
|
815
|
+
Import from `@fantastic.dev/better-stripe/react`. The package includes the
|
|
816
|
+
example's reusable checkout, payouts, refunds, disputes, accounts, onboarding,
|
|
817
|
+
products, subscriptions, billing, referrals, and admin/setup workflows.
|
|
798
818
|
|
|
799
|
-
|
|
819
|
+
Use native unstyled markup, render props, or companion hooks with your own
|
|
820
|
+
design system. Bind authenticated server callbacks and query data in your app.
|
|
821
|
+
Supported workflows can select Stripe Connect embedded presentation; checkout
|
|
822
|
+
supports five integrations. No example router, persona provider, or CSS is required.
|
|
800
823
|
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
-
|
|
804
|
-
|
|
824
|
+
See [the React workflow guide](docs/react-workflows.md) for usage, the full
|
|
825
|
+
component/hook matrix, styling, data contracts, and Stripe integration limits.
|
|
826
|
+
Existing low-level components remain available below. Props vary by component;
|
|
827
|
+
Stripe iframe styling uses `appearance`, while custom markup uses render props
|
|
828
|
+
or the low-level component's `className`/label props.
|
|
805
829
|
|
|
806
830
|
### Provider
|
|
807
831
|
|
|
@@ -837,8 +861,8 @@ All components accept:
|
|
|
837
861
|
|
|
838
862
|
### Buyer Billing
|
|
839
863
|
|
|
840
|
-
| Component | Description
|
|
841
|
-
| ------------------ |
|
|
864
|
+
| Component | Description |
|
|
865
|
+
| ------------------ | ------------------------------------------------------------------------------------------------------- |
|
|
842
866
|
| `BuyerBillingView` | Per-store buyer billing view: subscriptions grouped by store, reusable saved card, embedded card update |
|
|
843
867
|
|
|
844
868
|
An embedded-only billing surface for buyers: their subscriptions are grouped by
|
|
@@ -856,7 +880,9 @@ import {
|
|
|
856
880
|
import { groupSubscriptionsByStore } from "@fantastic.dev/better-stripe";
|
|
857
881
|
|
|
858
882
|
function BuyerBilling({ userId, customerAccount }: Props) {
|
|
859
|
-
const subscriptions = useQuery(api.stripe.listSubscriptionsByUser, {
|
|
883
|
+
const subscriptions = useQuery(api.stripe.listSubscriptionsByUser, {
|
|
884
|
+
userId,
|
|
885
|
+
});
|
|
860
886
|
const { defaultMethod } = usePaymentMethods(customerAccount);
|
|
861
887
|
const cancel = useMutation(api.stripe.cancelSubscription);
|
|
862
888
|
const reactivate = useMutation(api.stripe.reactivateSubscription);
|
|
@@ -864,7 +890,10 @@ function BuyerBilling({ userId, customerAccount }: Props) {
|
|
|
864
890
|
return (
|
|
865
891
|
<BuyerBillingView
|
|
866
892
|
// groupSubscriptionsByStore reused, not recomputed
|
|
867
|
-
subscriptions={subscriptions?.map((s) => ({
|
|
893
|
+
subscriptions={subscriptions?.map((s) => ({
|
|
894
|
+
...s,
|
|
895
|
+
id: s.stripeSubscriptionId,
|
|
896
|
+
}))}
|
|
868
897
|
paymentMethod={defaultMethod}
|
|
869
898
|
isLoading={subscriptions === undefined}
|
|
870
899
|
onCancel={(sub) => cancel({ stripeSubscriptionId: sub.id })}
|
|
@@ -896,21 +925,21 @@ function BuyerBilling({ userId, customerAccount }: Props) {
|
|
|
896
925
|
|
|
897
926
|
### Payouts and Earnings
|
|
898
927
|
|
|
899
|
-
| Component
|
|
900
|
-
|
|
|
901
|
-
| `PayoutSchedule`
|
|
902
|
-
| `EarningsSummary`
|
|
903
|
-
| `SplitBreakdown`
|
|
928
|
+
| Component | Description |
|
|
929
|
+
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
930
|
+
| `PayoutSchedule` | Recipient balance + next-payout display, fed by a `balance` snapshot and `listPayouts` rows. Payouts are automatic/rolling — no manual-withdrawal action is offered. |
|
|
931
|
+
| `EarningsSummary` | Gross / reversals & adjustments / net + latest payout, fed by `useEarnings(accountId)`. Reversals cover both deferred fee collection and refund/dispute clawbacks — not a pure fees figure, hence the "Reversals & adjustments" label rather than "Fees". |
|
|
932
|
+
| `SplitBreakdown` | Per-sale store / affiliate / other / platform split lines, fed by `useSplitBreakdown`. The platform line reads "unknown" (not $0) when the hook wasn't given the sale amount. |
|
|
904
933
|
|
|
905
934
|
### Disputes (headless)
|
|
906
935
|
|
|
907
936
|
The app-owned alternative to [Embedded Disputes](#embedded-disputes-stripe-connect) below — build a custom dispute UI on the read hooks and these components instead of Stripe's hosted ConnectJS components.
|
|
908
937
|
|
|
909
|
-
| Component
|
|
910
|
-
|
|
|
911
|
-
| `DisputesList`
|
|
912
|
-
| `DisputeDetail`
|
|
913
|
-
| `EvidenceForm`
|
|
938
|
+
| Component | Description |
|
|
939
|
+
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
940
|
+
| `DisputesList` | Sorted-by-deadline dispute list (soonest evidence due-by first, no-deadline last), fed by `useDisputes` |
|
|
941
|
+
| `DisputeDetail` | Amount, reason, status, evidence-due countdown, and linked transfers for one dispute, fed by `useDisputeWithCountdown` |
|
|
942
|
+
| `EvidenceForm` | Plain-language evidence form (product description, access activity, additional info, customer communication) that maps through `buildDisputeEvidence` before calling an app-wired `onUpdateDispute`; `stage()` saves a draft, `submit()` finalizes |
|
|
914
943
|
|
|
915
944
|
### Embedded Disputes (Stripe Connect)
|
|
916
945
|
|
|
@@ -919,8 +948,8 @@ views and responds to their own disputes via Stripe's embedded `disputes_list`
|
|
|
919
948
|
/ `payment_disputes` components, driven by the Account Session that
|
|
920
949
|
`createDisputeSession` creates.
|
|
921
950
|
|
|
922
|
-
| Component | Description
|
|
923
|
-
| ------------------ |
|
|
951
|
+
| Component | Description |
|
|
952
|
+
| ------------------ | ----------------------------------------------------------------------------------------------- |
|
|
924
953
|
| `ConnectProvider` | Initializes ConnectJS with your publishable key + an account-session fetcher |
|
|
925
954
|
| `EmbeddedDisputes` | Mounts the embedded `disputes_list` (or `payment_disputes` when scoped via `payment`) component |
|
|
926
955
|
|
|
@@ -934,7 +963,10 @@ export const createDisputeSession = action({
|
|
|
934
963
|
});
|
|
935
964
|
|
|
936
965
|
// Seller disputes page (client side)
|
|
937
|
-
import {
|
|
966
|
+
import {
|
|
967
|
+
ConnectProvider,
|
|
968
|
+
EmbeddedDisputes,
|
|
969
|
+
} from "@fantastic.dev/better-stripe/react";
|
|
938
970
|
|
|
939
971
|
function SellerDisputes({ stripeAccountId }: { stripeAccountId: string }) {
|
|
940
972
|
const createSession = useAction(api.stripe.createDisputeSession);
|
|
@@ -1106,8 +1138,8 @@ Async hook (scheduled action) --> App calls external APIs
|
|
|
1106
1138
|
|
|
1107
1139
|
### Package Entry Points
|
|
1108
1140
|
|
|
1109
|
-
| Entry Point
|
|
1110
|
-
|
|
|
1141
|
+
| Entry Point | Contents |
|
|
1142
|
+
| -------------------------------------------- | -------------------------------------------------------- |
|
|
1111
1143
|
| `@fantastic.dev/better-stripe` | `BetterStripe` class, `registerRoutes`, TypeScript types |
|
|
1112
1144
|
| `@fantastic.dev/better-stripe/react` | React hooks, headless UI components, formatting helpers |
|
|
1113
1145
|
| `@fantastic.dev/better-stripe/testing` | Test fixtures, mock webhooks, `assertTestEnvironment` |
|
|
@@ -7,7 +7,7 @@ export declare function createCheckoutSession(stripe: Stripe, component: Compone
|
|
|
7
7
|
orgId?: string;
|
|
8
8
|
stripePriceId: string;
|
|
9
9
|
mode: "payment" | "subscription" | "setup";
|
|
10
|
-
uiMode?: "embedded" | "redirect";
|
|
10
|
+
uiMode?: "embedded" | "redirect" | "custom" | "form";
|
|
11
11
|
quantity?: number;
|
|
12
12
|
returnUrl: string;
|
|
13
13
|
trialDays?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../../src/client/billing/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,KAAK,EACV,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AAgGrB,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../../src/client/billing/checkout.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,8 +198,13 @@ export async function createCheckoutSession(stripe, component, ctx, opts) {
|
|
|
198
198
|
}
|
|
199
199
|
sessionParams.payment_intent_data = paymentIntentData;
|
|
200
200
|
}
|
|
201
|
-
if (uiMode === "embedded") {
|
|
202
|
-
sessionParams.ui_mode =
|
|
201
|
+
if (uiMode === "embedded" || uiMode === "custom" || uiMode === "form") {
|
|
202
|
+
sessionParams.ui_mode =
|
|
203
|
+
uiMode === "custom"
|
|
204
|
+
? "elements"
|
|
205
|
+
: uiMode === "form"
|
|
206
|
+
? "form"
|
|
207
|
+
: "embedded_page";
|
|
203
208
|
sessionParams.return_url = opts.returnUrl;
|
|
204
209
|
}
|
|
205
210
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/client/billing/checkout.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/client/billing/checkout.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAM1E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,MAAmC;IAMvD,MAAM,IAAI,GAAG,CAAC,CAAU,EAAsB,EAAE,CAC9C,OAAO,CAAC,KAAK,QAAQ;QACnB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAE,CAAwC,EAAE,EAAE,IAAI,SAAS,CAAC,CAAC;IAEnE,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CACtB,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,WAAW,CACrD,CAAC;QACF,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;QAC9D,OAAO;YACL,UAAU,EAAE,aAAa;YACzB,oBAAoB,EAAE,WAAW;YACjC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,CACtB,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,WAAW,CACvD,CAAC;QACF,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;QAC/D,OAAO;YACL,UAAU,EAAE,aAAa;YACzB,oBAAoB,EAAE,WAAW;YACjC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,SAAoB,EACpB,GAAW,EACX,aAAqB;IAErB,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAC/B,YAAY,CAAC,SAAS,EAAE,qCAAqC,CAAC,EAC9D,EAAE,aAAa,EAAE,CAClB,CAAwC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,eAAe;QAAE,OAAO;IAEpC,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CACjC,YAAY,CAAC,SAAS,EAAE,uCAAuC,CAAC,EAChE,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAC3C,CAAkC,CAAC;IAEpC,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,yEAAyE;YACzE,IACE,CAAC,KAAK;gBACN,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;gBAClB,KAAK,CAAC,IAAI,KAAK,kBAAkB;gBAEjC,MAAM,KAAK,CAAC;YACd,gBAAgB,CACd,uBAAuB,EACvB,SAAS,aAAa,8FAA8F,CACrH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,SAAoB,EACpB,GAAW,EACX,IAuCC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IAEzC,4EAA4E;IAC5E,0EAA0E;IAC1E,IACE,IAAI,CAAC,IAAI,KAAK,OAAO;QACrB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,SAAS,CAAC,EACnE,CAAC;QACD,gBAAgB,CACd,uBAAuB,EACvB,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,4EAA4E;IAC5E,yEAAyE;IACzE,0BAA0B;IAC1B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACrD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC;YACE,YAAY,EAAE,UAAU;YACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,QAAQ,GAAG;QACf,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;IAEF,4EAA4E;IAC5E,mEAAmE;IACnE,wEAAwE;IACxE,2EAA2E;IAC3E,IAAI,yBAA6C,CAAC;IAClD,IAAI,oBAAoB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CACjC,YAAY,CAAC,SAAS,EAAE,mCAAmC,CAAC,EAC5D,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAC1C,CAA4C,CAAC;QAC9C,yBAAyB;YACvB,OAAO,EAAE,mBAAmB,IAAI,IAAI,CAAC,gCAAgC,CAAC;IAC1E,CAAC;IAED,MAAM,aAAa,GAAgC;QACjD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;QACzE,QAAQ;KACT,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAqD;YACzE,QAAQ;SACT,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;QACtD,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,wEAAwE;YACxE,kEAAkE;YAClE,gBAAgB,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;QAC/D,CAAC;aAAM,IAAI,oBAAoB,EAAE,CAAC;YAChC,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,gBAAgB,CAAC,aAAa,GAAG,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;YACvE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,gBAAgB,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,QAAQ,GAAG;wBAC1B,GAAG,QAAQ;wBACX,SAAS,EAAE,aAAa;wBACxB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;qBAC5C,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,mEAAmE;gBACnE,2DAA2D;gBAC3D,gBAAgB,CAAC,QAAQ,GAAG;oBAC1B,GAAG,CAAC,gBAAgB,CAAC,QAAQ,IAAI,QAAQ,CAAC;oBAC1C,qBAAqB,EAAE,yBAAyB;iBACjD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,aAAa,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IACrD,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GACrB,EAAE,QAAQ,EAAE,CAAC;QACf,IAAI,UAAU,EAAE,CAAC;YACf,iBAAiB,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;QAChE,CAAC;aAAM,IAAI,oBAAoB,EAAE,CAAC;YAChC,4EAA4E;YAC5E,yEAAyE;YACzE,2EAA2E;YAC3E,wEAAwE;YACxE,yEAAyE;YACzE,iBAAiB,CAAC,aAAa,GAAG;gBAChC,WAAW,EAAE,oBAAoB;aAClC,CAAC;YACF,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,iBAAiB,CAAC,2BAA2B;oBAC3C,yBAAyB,CAAC;YAC9B,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,iBAAiB,CAAC,sBAAsB,GAAG,UAAU,CACnD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CACf,CAAC,SAAS,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,QAAQ,GAAG;wBAC3B,GAAG,QAAQ;wBACX,SAAS,EAAE,YAAY;wBACvB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;qBAC5C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,aAAa,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtE,aAAa,CAAC,OAAO;YACnB,MAAM,KAAK,QAAQ;gBACjB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,MAAM,KAAK,MAAM;oBACjB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,eAAe,CAAC;QACxB,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,SAAS,mCAAmC,CAAC;QACjF,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;IAClD,CAAC;SAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,4EAA4E;IAC5E,+EAA+E;IAC/E,uEAAuE;IACvE,MAAM,kBAAkB,GAAgC;QACtD,GAAG,aAAa;QAChB,GAAI,IAAI,CAAC,gBAAyD;KACnE,CAAC;IACF,kFAAkF;IAClF,uEAAuE;IACvE,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC,EAAE,UAAU,EAAE,UAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE;QAClE,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAErC,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAC/D,IACE,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,aAAa,CAAC;QACnD,OAAO,YAAY,KAAK,QAAQ,EAChC,CAAC;QACD,MAAM,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE1E,MAAM,kBAAkB,CACtB,GAAG,EACH,YAAY,CAAC,SAAS,EAAE,yCAAyC,CAAC,EAClE;QACE,eAAe,EAAE,OAAO,CAAC,EAAE;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,kBAAkB,CAAC,IAAI;QAC7B,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAoC;QACrE,YAAY,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;QAChD,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;QAC7B,OAAO,EAAE,IAAI,CAAC,aAAa;QAC3B,GAAG,MAAM;QACT,QAAQ;KACT,CACF,CAAC;IAEF,OAAO;QACL,eAAe,EAAE,OAAO,CAAC,EAAE;QAC3B,YAAY,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;QAChD,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,GAAW,EACX,IAA2B;IAE3B,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CACxB,YAAY,CAAC,SAAS,EAAE,oCAAoC,CAAC,EAC7D,IAAI,CACL,CAA0C,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAAoB,EACpB,GAAW,EACX,IAAiC;IAEjC,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CACxB,YAAY,CAAC,SAAS,EAAE,8CAA8C,CAAC,EACvE,IAAI,CACL,CAA0C,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAoB,EACpB,GAAW,EACX,IAAyC;IAEzC,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CACxB,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC,EACrE,IAAI,CACL,CAAqC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAoB,EACpB,GAAW,EACX,IAWC;IAED,MAAM,kBAAkB,CACtB,GAAG,EACH,YAAY,CAAC,SAAS,EAAE,yCAAyC,CAAC,EAClE,IAAI,CACL,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,IAAY,EACZ,IAGC;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;QAC1E,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -95,7 +95,7 @@ export declare function buildDisputeEvidence(input: {
|
|
|
95
95
|
accessActivity?: string;
|
|
96
96
|
/** Off-platform context / anything else (Stripe: uncategorized_text). */
|
|
97
97
|
additionalInfo?: string;
|
|
98
|
-
/**
|
|
98
|
+
/** Communication prose is appended to text evidence; file_ IDs remain file evidence. */
|
|
99
99
|
customerCommunication?: string;
|
|
100
100
|
}): import("stripe").Stripe.DisputeUpdateParams.Evidence;
|
|
101
101
|
/**
|