@stacksjs/defaults 0.75.268 → 0.75.269
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.
|
@@ -68,7 +68,7 @@ Browser runtime bindings are documented separately in `stacks-auto-imports`.
|
|
|
68
68
|
| `@stacksjs/orm` | [`stacks-orm`](../stacks-orm/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/orm/src/index.ts) | 72 |
|
|
69
69
|
| `@stacksjs/pagination` | [`stacks-pagination`](../stacks-pagination/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/pagination/src/index.ts) | 0 |
|
|
70
70
|
| `@stacksjs/path` | [`stacks-path`](../stacks-path/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/path/src/index.ts) | 13 |
|
|
71
|
-
| `@stacksjs/payments` | [`stacks-payments`](../stacks-payments/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/index.ts) |
|
|
71
|
+
| `@stacksjs/payments` | [`stacks-payments`](../stacks-payments/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/index.ts) | 29 |
|
|
72
72
|
| `@stacksjs/push` | [`stacks-push`](../stacks-push/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/push/src/index.ts) | 6 |
|
|
73
73
|
| `@stacksjs/query-builder` | [`stacks-query-builder`](../stacks-query-builder/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/query-builder/src/index.ts) | 6 |
|
|
74
74
|
| `@stacksjs/queue` | [`stacks-queue`](../stacks-queue/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/queue/src/index.ts) | 49 |
|
|
@@ -659,7 +659,7 @@ Declared runtime exports: `Payment`, `freshIdempotencyKey`, `stacksIdempotencyKe
|
|
|
659
659
|
|
|
660
660
|
Local source modules: [src/billable/index.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/billable/index.ts), [src/checkout-outcome.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/checkout-outcome.ts), [src/connect/index.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/connect/index.ts), [src/direct-debit.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/direct-debit.ts), [src/driver/index.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/driver/index.ts), [src/drivers/stripe.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/drivers/stripe.ts), [src/idempotency.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/idempotency.ts), [src/payment.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/payment.ts), [src/subscription-state.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/subscription-state.ts), [src/terminal.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/src/terminal.ts).
|
|
661
661
|
|
|
662
|
-
Evidence directory: [
|
|
662
|
+
Evidence directory: [29 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/payments/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
|
|
663
663
|
|
|
664
664
|
### @stacksjs/push
|
|
665
665
|
|
|
@@ -133,6 +133,38 @@ const changed = await Payment.changeSubscription(user, 'enterprise-monthly')
|
|
|
133
133
|
|
|
134
134
|
`Payment.connect` (source `src/connect/`) onboards merchants as Express connected accounts and settles sales to them, while the customer, the charge and its refunds and disputes stay on the platform.
|
|
135
135
|
|
|
136
|
+
### Direct charges (Managed Risk, the default for new accounts)
|
|
137
|
+
|
|
138
|
+
`createConnectedAccount` makes a Managed Risk account unless you pass `type` or
|
|
139
|
+
`controller` (`MANAGED_RISK_CONTROLLER`: Stripe carries losses, full Stripe
|
|
140
|
+
Dashboard, Stripe-hosted onboarding). Stripe refuses `type: 'express'`/`'custom'`
|
|
141
|
+
on a platform that has not taken on loss liability, and such a platform sells
|
|
142
|
+
with **direct charges**: the sale is made on the merchant's account and the
|
|
143
|
+
platform's cut is an application fee. Everything of the sale lives there (the
|
|
144
|
+
customer, session, PaymentIntent, subscription and invoices, payment methods,
|
|
145
|
+
refund), so every call acts as the account with `asAccount(id)` (the
|
|
146
|
+
`Stripe-Account` header). Stripe's fees are the merchant's; webhooks for it
|
|
147
|
+
arrive on the **Connect** endpoint with `event.account` set.
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
import { asAccount, checkoutLineItemsTotal, connectedCustomer, connectRefund, directCheckout, directCheckoutPaymentData, directSubscriptionParams, manageDirectSubscription } from '@stacksjs/payments'
|
|
151
|
+
|
|
152
|
+
// One-off: Checkout on the account, the user's customer there found or created
|
|
153
|
+
await directCheckout(user, gym.stripe_account_id, {
|
|
154
|
+
line_items,
|
|
155
|
+
payment_intent_data: directCheckoutPaymentData(checkoutLineItemsTotal(line_items), { feeCents: 140 }, { metadata }),
|
|
156
|
+
success_url, cancel_url,
|
|
157
|
+
})
|
|
158
|
+
// Recurring: a subscription on the account paying the platform a percent of each invoice
|
|
159
|
+
await manageDirectSubscription.checkout(user, { account, price: { amount: 4900, currency: 'eur', interval: 'month', productName: 'Unlimited' }, platformFeePercent: 5, successUrl, cancelUrl })
|
|
160
|
+
await stripe.subscriptions.create({ customer: (await connectedCustomer(user, account)).id, items: [{ price }], ...directSubscriptionParams({ feePercent: 5 }) }, asAccount(account))
|
|
161
|
+
// Read, expire and refund as the account; a direct refund gives the fee back by default
|
|
162
|
+
await stripe.checkout.sessions.retrieve(sessionId, asAccount(account))
|
|
163
|
+
await connectRefund(paymentIntentId, { account, amount: 500 })
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Destination charges (a platform that took on loss liability)
|
|
167
|
+
|
|
136
168
|
```typescript
|
|
137
169
|
import { manageConnectedAccount, manageDestinationCharge, manageDestinationSubscription } from '@stacksjs/payments'
|
|
138
170
|
|
package/ide/vscode/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"publisher": "Stacks",
|
|
3
3
|
"name": "vscode-stacks",
|
|
4
4
|
"displayName": "Stacks",
|
|
5
|
-
"version": "0.75.
|
|
5
|
+
"version": "0.75.269",
|
|
6
6
|
"description": "Stacks, built into VS Code: stx templates, pickier linting and formatting, encrypted env files, the dev server preview and every buddy command. No other extensions required.",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"funding": "https://github.com/sponsors/chrisbbreuer",
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@stacksjs/defaults",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.75.
|
|
5
|
+
"version": "0.75.269",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git+https://github.com/stacksjs/stacks.git",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@iconify-json/f7": "^1.2.2",
|
|
47
47
|
"@iconify-json/hugeicons": "^1.2.35",
|
|
48
|
-
"@stacksjs/mobile": "0.75.
|
|
48
|
+
"@stacksjs/mobile": "0.75.269",
|
|
49
49
|
"@stacksjs/sanitizer": "0.2.667",
|
|
50
50
|
"@stacksjs/stx": "0.2.667",
|
|
51
51
|
"@xterm/addon-fit": "^0.11.0",
|