@crvouga/mockingbird-service-stripe 1.4.0 → 1.4.2
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 +24 -0
- package/README.md +14 -3
- package/dist/{chunk-ZSCTOAWQ.js → chunk-3IXCGEEZ.js} +2 -2
- package/dist/{chunk-P77GCNSW.js → chunk-G3CFEXYC.js} +198 -24
- package/dist/chunk-G3CFEXYC.js.map +7 -0
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +6 -0
- package/dist/index.js +1 -1
- package/dist/server.d.ts +6 -0
- package/dist/server.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-P77GCNSW.js.map +0 -7
- /package/dist/{chunk-ZSCTOAWQ.js.map → chunk-3IXCGEEZ.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-stripe
|
|
2
2
|
|
|
3
|
+
## 1.4.2 (2026-09-29)
|
|
4
|
+
|
|
5
|
+
### Fixes and improvements
|
|
6
|
+
|
|
7
|
+
- name missing portal configurations as real Stripe does and skip the account-dependent list in parity ([11833e0](https://github.com/crvouga/mockingbird/commit/11833e0fc344d93d46be16a577d36ccadf393902))
|
|
8
|
+
- answer an unknown SetupIntent with a 404 naming "setupintent" ([9db9fff](https://github.com/crvouga/mockingbird/commit/9db9fffd3495343ac17b0b9e3cf6850e3024195c))
|
|
9
|
+
- check product images in index order across empty and invalid URLs ([662cca3](https://github.com/crvouga/mockingbird/commit/662cca3a85e63279faa0b3a2f1b304ca67ed650c))
|
|
10
|
+
- pass --all-snapshot to stripe listen ([8e32c50](https://github.com/crvouga/mockingbird/commit/8e32c50f06517bcfc9deeb118d608dd94eaba76c))
|
|
11
|
+
- report why stripe listen exited before ready ([31f2f21](https://github.com/crvouga/mockingbird/commit/31f2f2117a1bfba1a70381462a7b9c3f75592527))
|
|
12
|
+
- store and return price currency_options ([36e2b5a](https://github.com/crvouga/mockingbird/commit/36e2b5a917ac27a3f6dc2f59bc5604aa136c22d3))
|
|
13
|
+
|
|
14
|
+
## 1.4.1 (2026-09-29)
|
|
15
|
+
|
|
16
|
+
### Fixes and improvements
|
|
17
|
+
|
|
18
|
+
- report a missing invoice item under param id ([c2a5ede](https://github.com/crvouga/mockingbird/commit/c2a5ede5056a6f64d6df128b3f118759d452bc10))
|
|
19
|
+
- validate search limit before an empty page ([cc755f7](https://github.com/crvouga/mockingbird/commit/cc755f7672b4e652bd40c3b087c1fb504b636d85))
|
|
20
|
+
- refuse both price amounts before reading any other parameter ([e6a6735](https://github.com/crvouga/mockingbird/commit/e6a6735ae8bef0e7f9b40152a6e02056497739dd))
|
|
21
|
+
- leave the portal configuration list out of live parity walks ([f378c9d](https://github.com/crvouga/mockingbird/commit/f378c9d76e36f9fdc86343a4c3eeebf5694eb1a0))
|
|
22
|
+
- pick stripe listen's all-events flag from the installed CLI ([89ad2f4](https://github.com/crvouga/mockingbird/commit/89ad2f414745881f1c1f64445c12b8c70f80072d))
|
|
23
|
+
- pass --events to stripe listen so CLI 1.52 starts ([eeb20b2](https://github.com/crvouga/mockingbird/commit/eeb20b2cce57729d817b00d5f8bd9d0681db0ecb))
|
|
24
|
+
- report the stripe listen output when it exits before ready ([0155f0a](https://github.com/crvouga/mockingbird/commit/0155f0acfb8aed6f1677a29339dbeb4ef0bdaaad))
|
|
25
|
+
- reset the billing cycle anchor on a change to a different billing interval ([314910a](https://github.com/crvouga/mockingbird/commit/314910af7ff36ebd900445e97529740639ada4d2))
|
|
26
|
+
|
|
3
27
|
## 1.4.0 (2026-09-29)
|
|
4
28
|
|
|
5
29
|
### Features
|
package/README.md
CHANGED
|
@@ -199,8 +199,12 @@ now and returns `incomplete` on a decline; `error_if_incomplete` fails the call
|
|
|
199
199
|
customer, and paying it through Stripe.js activates the subscription. `trial_end`,
|
|
200
200
|
`backdate_start_date` + `billing_cycle_anchor` + `proration_behavior=none` (a $0 first invoice),
|
|
201
201
|
item updates with `always_invoice` (billed now) or `create_prorations` (next invoice), and
|
|
202
|
-
discounts with stable `di_` ids (`discounts=""` clears) are modelled.
|
|
203
|
-
|
|
202
|
+
discounts with stable `di_` ids (`discounts=""` clears) are modelled. An item update to a price with
|
|
203
|
+
a different billing period (say monthly → yearly, through the API or the portal's **Update plan**)
|
|
204
|
+
resets `billing_cycle_anchor` to now, starts a new period and invoices it at once (less a
|
|
205
|
+
proration credit for the unused time unless `proration_behavior=none`); a trialing subscription
|
|
206
|
+
keeps its trial end instead. Items must be active recurring prices sharing one currency and
|
|
207
|
+
interval. `DELETE /v1/subscriptions/:id` takes
|
|
204
208
|
`cancellation_details[comment|feedback]`, `prorate` (a credit for the unused time as a pending
|
|
205
209
|
proration) and `invoice_now` (a final invoice; a net credit lands on the customer balance), in the
|
|
206
210
|
query string (as stripe-node sends them) or the body. A $0 invoice is `paid` on
|
|
@@ -381,11 +385,18 @@ plus `port`, `host`; resolves `{url, port, runtime, close}`), `serveTarget` (the
|
|
|
381
385
|
PaymentSheet cannot be redirected (member-app native keeps its fake provider).
|
|
382
386
|
- **Connect** (`Stripe-Account`, application fees, transfers), tax, shipping, Radar, mandates,
|
|
383
387
|
meters, quotes, credit notes, payouts, and non-card payment methods (bank debits, wallets).
|
|
388
|
+
- **Billing cycle anchor resets** other than a price change to a different billing period through
|
|
389
|
+
`POST /v1/subscriptions/:id`: an explicit `billing_cycle_anchor=now|unchanged` on update is ignored,
|
|
390
|
+
and the `/v1/subscription_items` endpoints change prices without resetting the period.
|
|
384
391
|
- **Proration arithmetic** is day-fraction approximate (Stripe prorates to the second);
|
|
385
392
|
`auto_advance` drafts are not finalized an hour later.
|
|
386
393
|
- **Customer portal extras**: the login page (`login_page.url` is not served), `schedule_at_period_end`
|
|
387
|
-
downgrades,
|
|
394
|
+
downgrades, multi-item subscription updates, locales,
|
|
388
395
|
and payment method configurations. Portal sessions do not expire.
|
|
396
|
+
- **Multi-currency prices** store, merge (on update) and return `currency_options` when expanded,
|
|
397
|
+
and a Checkout Session `currency` charges a payment-mode line in that option. Per-option
|
|
398
|
+
`tiers` and `custom_unit_amount`, and subscription-mode sessions in a non-default currency, are
|
|
399
|
+
refused with a 400; subscriptions and invoices always bill in the price's own currency.
|
|
389
400
|
- **Webhook endpoint `api_version`**: payloads render at the account's version, not per endpoint.
|
|
390
401
|
- **Live keys** (`sk_live_…`) are refused with Stripe's 401: the mock is test mode only.
|
|
391
402
|
- Operations marked unsupported in SUPPORT.md (charge create/update, checkout session update,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createRuntime,
|
|
3
3
|
validateAccounts
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-G3CFEXYC.js";
|
|
5
5
|
|
|
6
6
|
// src/server.ts
|
|
7
7
|
import { readFileSync } from "node:fs";
|
|
@@ -385,4 +385,4 @@ export {
|
|
|
385
385
|
createServer2 as createServer,
|
|
386
386
|
serveTarget
|
|
387
387
|
};
|
|
388
|
-
//# sourceMappingURL=chunk-
|
|
388
|
+
//# sourceMappingURL=chunk-3IXCGEEZ.js.map
|