@crvouga/mockingbird-service-stripe 1.4.1 → 1.5.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 +40 -0
- package/README.md +10 -1
- package/dist/{chunk-4YHVIH3S.js → chunk-HLEW2SR7.js} +245 -24
- package/dist/chunk-HLEW2SR7.js.map +7 -0
- package/dist/{chunk-RI3PMA5Y.js → chunk-L4SSW3ZW.js} +2 -2
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +10 -4
- 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-4YHVIH3S.js.map +0 -7
- /package/dist/{chunk-RI3PMA5Y.js.map → chunk-L4SSW3ZW.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-stripe
|
|
2
2
|
|
|
3
|
+
## 1.5.0 (2026-09-29)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- model basil InvoicePayments and drop Charge.invoice at basil ([c7b97f0](https://github.com/crvouga/mockingbird/commit/c7b97f0528461adda6f29bce76685a7c80a2baea))
|
|
8
|
+
|
|
9
|
+
### Fixes and improvements
|
|
10
|
+
|
|
11
|
+
- resolve list cursors before validating a subscription test_clock filter ([4c06ab9](https://github.com/crvouga/mockingbird/commit/4c06ab986e0eb5e63540cda6b2354c43f7be7e1e))
|
|
12
|
+
- call a missing event a notification, as Stripe does ([e72762a](https://github.com/crvouga/mockingbird/commit/e72762a763fe0c3cacd47749bfd0bbc309e3b07e))
|
|
13
|
+
- drop duplicate amount declarations left by the main merge ([df72fdc](https://github.com/crvouga/mockingbird/commit/df72fdc0924d6c5d13fa9ef8f098b10373fac042))
|
|
14
|
+
- refuse an empty metadata when creating a price ([aaf807f](https://github.com/crvouga/mockingbird/commit/aaf807f2d1bdf29c5ee2279b893ecf20b12b9205))
|
|
15
|
+
- refuse an invoice item list filtered by a missing invoice ([4516326](https://github.com/crvouga/mockingbird/commit/4516326117894548dd657100bb5806e1b122b4f7))
|
|
16
|
+
- give a non-object metadata Stripe's metadata message ([805b3e0](https://github.com/crvouga/mockingbird/commit/805b3e037ac0f7db21c1eef25efcfab82f61f0c3))
|
|
17
|
+
- name a missing invoice item cursor the way Stripe does ([c4b9ece](https://github.com/crvouga/mockingbird/commit/c4b9ece1e6cce38eb032b0c39c79a02c1434143f))
|
|
18
|
+
- refuse an empty marketing feature name as Stripe does ([015b016](https://github.com/crvouga/mockingbird/commit/015b016ab96b3d66c51a3bce38f7e2912cba4ac7))
|
|
19
|
+
- drop a duplicate empty-query check in search ([2de4b72](https://github.com/crvouga/mockingbird/commit/2de4b726e19ddc5d3eb557a54c368f751f0a5782))
|
|
20
|
+
- refuse an empty search expand after the other parameters ([bb3df1a](https://github.com/crvouga/mockingbird/commit/bb3df1a399c3d58a0700ef31e28fa68e780beabf))
|
|
21
|
+
- range-check a search limit before refusing an empty page ([6947944](https://github.com/crvouga/mockingbird/commit/694794462ffe366840a67faa624114ccc62df524))
|
|
22
|
+
- name a missing subscription schedule cursor the way Stripe does ([25f712b](https://github.com/crvouga/mockingbird/commit/25f712bed9bca38452089ad2cae91c0916eee260))
|
|
23
|
+
- answer 404 'No such setupintent' for a missing SetupIntent ([0ffa8c1](https://github.com/crvouga/mockingbird/commit/0ffa8c186a2f04e5009ea35573f413c6637a2210))
|
|
24
|
+
- report other empty parameters before an empty expand on writes ([f7e4b53](https://github.com/crvouga/mockingbird/commit/f7e4b530d9741cc02e95527ced805d970d27d483))
|
|
25
|
+
- leave the portal configuration list out of live parity walks ([79bdebd](https://github.com/crvouga/mockingbird/commit/79bdebd4f6ba125c3e21ab9ed2de8162062b6587))
|
|
26
|
+
- reject unit_amount with unit_amount_decimal before the product lookup ([b21c310](https://github.com/crvouga/mockingbird/commit/b21c310c409090e4b62820f045dac413eba4406a))
|
|
27
|
+
- let cleanup webhooks settle before the next parity walk ([432d1b3](https://github.com/crvouga/mockingbird/commit/432d1b32548c2261c18e35a12b3ebc024fb79f4d))
|
|
28
|
+
- match the real not-found error for subscription schedules ([28367fd](https://github.com/crvouga/mockingbird/commit/28367fd5ab6dc485dd3de64f91a2453dafe0e8f2))
|
|
29
|
+
- pass --all-snapshot to stripe listen for CLI 1.52 ([9d31ac9](https://github.com/crvouga/mockingbird/commit/9d31ac90880648c26e78a168db0b4d2f535169cc))
|
|
30
|
+
- surface redacted stripe listen output when the oracle fails to start ([571b8ed](https://github.com/crvouga/mockingbird/commit/571b8ede475aaece02f0e22391e17ee9f3be6fd2))
|
|
31
|
+
|
|
32
|
+
## 1.4.2 (2026-09-29)
|
|
33
|
+
|
|
34
|
+
### Fixes and improvements
|
|
35
|
+
|
|
36
|
+
- name missing portal configurations as real Stripe does and skip the account-dependent list in parity ([11833e0](https://github.com/crvouga/mockingbird/commit/11833e0fc344d93d46be16a577d36ccadf393902))
|
|
37
|
+
- answer an unknown SetupIntent with a 404 naming "setupintent" ([9db9fff](https://github.com/crvouga/mockingbird/commit/9db9fffd3495343ac17b0b9e3cf6850e3024195c))
|
|
38
|
+
- check product images in index order across empty and invalid URLs ([662cca3](https://github.com/crvouga/mockingbird/commit/662cca3a85e63279faa0b3a2f1b304ca67ed650c))
|
|
39
|
+
- pass --all-snapshot to stripe listen ([8e32c50](https://github.com/crvouga/mockingbird/commit/8e32c50f06517bcfc9deeb118d608dd94eaba76c))
|
|
40
|
+
- report why stripe listen exited before ready ([31f2f21](https://github.com/crvouga/mockingbird/commit/31f2f2117a1bfba1a70381462a7b9c3f75592527))
|
|
41
|
+
- store and return price currency_options ([36e2b5a](https://github.com/crvouga/mockingbird/commit/36e2b5a917ac27a3f6dc2f59bc5604aa136c22d3))
|
|
42
|
+
|
|
3
43
|
## 1.4.1 (2026-09-29)
|
|
4
44
|
|
|
5
45
|
### Fixes and improvements
|
package/README.md
CHANGED
|
@@ -109,7 +109,12 @@ headers). Hosted-page URLs carry the `/ns/<namespace>` prefix so the browser lan
|
|
|
109
109
|
`paid` / `subscription_details`, `subscription.current_period_*` and `subscription.discount`, and
|
|
110
110
|
invoice lines with `price` objects; `2025-02-24.acacia` adds `total_pretax_credit_amounts`;
|
|
111
111
|
2025-03-31.basil and later (the vendored latest) drop those and use `parent`, `pricing`,
|
|
112
|
-
`discount.source` and item-level periods
|
|
112
|
+
`discount.source` and item-level periods; at basil `charge.invoice` and `payment_intent.invoice` are gone
|
|
113
|
+
too, and an invoice's payments are `invoice_payment` objects (`inpay_…`): `expand[]=payments` on an
|
|
114
|
+
invoice (or `latest_invoice.payments` on a subscription), `GET /v1/invoice_payments` (filter by
|
|
115
|
+
`invoice`, `payment[type]=payment_intent&payment[payment_intent]`, `status`, `created`) and
|
|
116
|
+
`GET /v1/invoice_payments/{id}`. One default payment per invoice that has a PaymentIntent, derived from
|
|
117
|
+
the invoice; a $0 invoice has none, and payment records are not modelled. `charge.refunds` appears only with `expand[]=refunds` at
|
|
113
118
|
every one of these versions. `GET /v1/invoices/upcoming` answers at the older versions and returns
|
|
114
119
|
Stripe's "deprecated" 404 at basil and later. Expansion is generic (any path through ids the mock
|
|
115
120
|
holds, ancestors included); Stripe's own rules are enforced: a non-expandable first segment is
|
|
@@ -393,6 +398,10 @@ plus `port`, `host`; resolves `{url, port, runtime, close}`), `serveTarget` (the
|
|
|
393
398
|
- **Customer portal extras**: the login page (`login_page.url` is not served), `schedule_at_period_end`
|
|
394
399
|
downgrades, multi-item subscription updates, locales,
|
|
395
400
|
and payment method configurations. Portal sessions do not expire.
|
|
401
|
+
- **Multi-currency prices** store, merge (on update) and return `currency_options` when expanded,
|
|
402
|
+
and a Checkout Session `currency` charges a payment-mode line in that option. Per-option
|
|
403
|
+
`tiers` and `custom_unit_amount`, and subscription-mode sessions in a non-default currency, are
|
|
404
|
+
refused with a 400; subscriptions and invoices always bill in the price's own currency.
|
|
396
405
|
- **Webhook endpoint `api_version`**: payloads render at the account's version, not per endpoint.
|
|
397
406
|
- **Live keys** (`sk_live_…`) are refused with Stripe's 401: the mock is test mode only.
|
|
398
407
|
- Operations marked unsupported in SUPPORT.md (charge create/update, checkout session update,
|