@crvouga/mockingbird-service-stripe 1.4.2 → 1.6.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 +50 -0
- package/README.md +11 -1
- package/dist/{chunk-3IXCGEEZ.js → chunk-JLJVLLWF.js} +2 -2
- package/dist/{chunk-G3CFEXYC.js → chunk-JMK5BHFP.js} +167 -28
- package/dist/chunk-JMK5BHFP.js.map +7 -0
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/server.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-G3CFEXYC.js.map +0 -7
- /package/dist/{chunk-3IXCGEEZ.js.map → chunk-JLJVLLWF.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-stripe
|
|
2
2
|
|
|
3
|
+
## 1.6.0 (2026-09-29)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- per-option data-testids on the portal's plan and reason choices ([237e5ef](https://github.com/crvouga/mockingbird/commit/237e5efc5425be3062e75cdfbcf942e8590bcd90))
|
|
8
|
+
|
|
9
|
+
### Fixes and improvements
|
|
10
|
+
|
|
11
|
+
- name a missing invoice item list cursor an invoice item ([7cfc811](https://github.com/crvouga/mockingbird/commit/7cfc81125e5e5ee23cfb03644bb7db4fa5473fa2))
|
|
12
|
+
- keep a customer address country as sent unless it is two letters ([6547c6c](https://github.com/crvouga/mockingbird/commit/6547c6c41e35dcfb469ebd53fbbb31dedbe34379))
|
|
13
|
+
- refuse a malformed preferred_locales before an empty invoice_settings on customer create ([65b18ed](https://github.com/crvouga/mockingbird/commit/65b18ed74f072b856a9c5334c3039c17f705bf45))
|
|
14
|
+
- resolve a payment method list's cursors before its customer_account ([8df4ce6](https://github.com/crvouga/mockingbird/commit/8df4ce63462b0192e32b8a14ce411c136ac55639))
|
|
15
|
+
- refuse both price amounts before looking up the product ([86700e2](https://github.com/crvouga/mockingbird/commit/86700e2e22576a4ebb79d5caa2790a2c86954da5))
|
|
16
|
+
- refuse an empty expand before looking up a Checkout Session ([4eb1010](https://github.com/crvouga/mockingbird/commit/4eb1010153a26f321dbc2870a537f8e0842bc945))
|
|
17
|
+
- refuse an empty cursor on a customer's balance transactions ([05fe354](https://github.com/crvouga/mockingbird/commit/05fe3549de39fb1a0208e79eba3c12d35641e5c7))
|
|
18
|
+
- name the dispute, not the cursor, in a missing-cursor error ([036ed1a](https://github.com/crvouga/mockingbird/commit/036ed1a249d015242e068c9c6796a320a9483f5c))
|
|
19
|
+
- name a missing portal configuration "configuration" ([d62e1df](https://github.com/crvouga/mockingbird/commit/d62e1df914536adef44a34414a0e42bfc726961a))
|
|
20
|
+
- leave portal configuration listing out of live parity walks ([ea11169](https://github.com/crvouga/mockingbird/commit/ea11169571ed61c2308ad5cb13fc07fa907ee9b2))
|
|
21
|
+
- refuse an empty search query before an empty expand ([2d0a11a](https://github.com/crvouga/mockingbird/commit/2d0a11aa1aab9e925597e63a1ec9df1744f8f9ef))
|
|
22
|
+
- show redacted startup output when stripe listen fails ([6c86bcc](https://github.com/crvouga/mockingbird/commit/6c86bccfe4654442cf20d2ab4e7114b63bd1ac04))
|
|
23
|
+
|
|
24
|
+
## 1.5.0 (2026-09-29)
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
- model basil InvoicePayments and drop Charge.invoice at basil ([c7b97f0](https://github.com/crvouga/mockingbird/commit/c7b97f0528461adda6f29bce76685a7c80a2baea))
|
|
29
|
+
|
|
30
|
+
### Fixes and improvements
|
|
31
|
+
|
|
32
|
+
- resolve list cursors before validating a subscription test_clock filter ([4c06ab9](https://github.com/crvouga/mockingbird/commit/4c06ab986e0eb5e63540cda6b2354c43f7be7e1e))
|
|
33
|
+
- call a missing event a notification, as Stripe does ([e72762a](https://github.com/crvouga/mockingbird/commit/e72762a763fe0c3cacd47749bfd0bbc309e3b07e))
|
|
34
|
+
- drop duplicate amount declarations left by the main merge ([df72fdc](https://github.com/crvouga/mockingbird/commit/df72fdc0924d6c5d13fa9ef8f098b10373fac042))
|
|
35
|
+
- refuse an empty metadata when creating a price ([aaf807f](https://github.com/crvouga/mockingbird/commit/aaf807f2d1bdf29c5ee2279b893ecf20b12b9205))
|
|
36
|
+
- refuse an invoice item list filtered by a missing invoice ([4516326](https://github.com/crvouga/mockingbird/commit/4516326117894548dd657100bb5806e1b122b4f7))
|
|
37
|
+
- give a non-object metadata Stripe's metadata message ([805b3e0](https://github.com/crvouga/mockingbird/commit/805b3e037ac0f7db21c1eef25efcfab82f61f0c3))
|
|
38
|
+
- name a missing invoice item cursor the way Stripe does ([c4b9ece](https://github.com/crvouga/mockingbird/commit/c4b9ece1e6cce38eb032b0c39c79a02c1434143f))
|
|
39
|
+
- refuse an empty marketing feature name as Stripe does ([015b016](https://github.com/crvouga/mockingbird/commit/015b016ab96b3d66c51a3bce38f7e2912cba4ac7))
|
|
40
|
+
- drop a duplicate empty-query check in search ([2de4b72](https://github.com/crvouga/mockingbird/commit/2de4b726e19ddc5d3eb557a54c368f751f0a5782))
|
|
41
|
+
- refuse an empty search expand after the other parameters ([bb3df1a](https://github.com/crvouga/mockingbird/commit/bb3df1a399c3d58a0700ef31e28fa68e780beabf))
|
|
42
|
+
- range-check a search limit before refusing an empty page ([6947944](https://github.com/crvouga/mockingbird/commit/694794462ffe366840a67faa624114ccc62df524))
|
|
43
|
+
- name a missing subscription schedule cursor the way Stripe does ([25f712b](https://github.com/crvouga/mockingbird/commit/25f712bed9bca38452089ad2cae91c0916eee260))
|
|
44
|
+
- answer 404 'No such setupintent' for a missing SetupIntent ([0ffa8c1](https://github.com/crvouga/mockingbird/commit/0ffa8c186a2f04e5009ea35573f413c6637a2210))
|
|
45
|
+
- report other empty parameters before an empty expand on writes ([f7e4b53](https://github.com/crvouga/mockingbird/commit/f7e4b530d9741cc02e95527ced805d970d27d483))
|
|
46
|
+
- leave the portal configuration list out of live parity walks ([79bdebd](https://github.com/crvouga/mockingbird/commit/79bdebd4f6ba125c3e21ab9ed2de8162062b6587))
|
|
47
|
+
- reject unit_amount with unit_amount_decimal before the product lookup ([b21c310](https://github.com/crvouga/mockingbird/commit/b21c310c409090e4b62820f045dac413eba4406a))
|
|
48
|
+
- let cleanup webhooks settle before the next parity walk ([432d1b3](https://github.com/crvouga/mockingbird/commit/432d1b32548c2261c18e35a12b3ebc024fb79f4d))
|
|
49
|
+
- match the real not-found error for subscription schedules ([28367fd](https://github.com/crvouga/mockingbird/commit/28367fd5ab6dc485dd3de64f91a2453dafe0e8f2))
|
|
50
|
+
- pass --all-snapshot to stripe listen for CLI 1.52 ([9d31ac9](https://github.com/crvouga/mockingbird/commit/9d31ac90880648c26e78a168db0b4d2f535169cc))
|
|
51
|
+
- surface redacted stripe listen output when the oracle fails to start ([571b8ed](https://github.com/crvouga/mockingbird/commit/571b8ede475aaece02f0e22391e17ee9f3be6fd2))
|
|
52
|
+
|
|
3
53
|
## 1.4.2 (2026-09-29)
|
|
4
54
|
|
|
5
55
|
### 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
|
|
@@ -278,6 +283,11 @@ billing.stripe.com) where the customer manages their billing, as the session's c
|
|
|
278
283
|
through a SetupIntent, which becomes the customer's and each subscription's default; **Make
|
|
279
284
|
default**; **Delete** a non-default card); billing information (the configured `allowed_updates`,
|
|
280
285
|
`customer.updated` with `previous_attributes`); invoice history with **Pay** for open invoices.
|
|
286
|
+
Repeated choices carry a per-option `data-testid` on the wrapping `<label class="option">`
|
|
287
|
+
(tapping it checks the radio), so a test-id-only driver can pick one: each plan is
|
|
288
|
+
`stripe-mock-portal-price-option-<price lookup_key, else price id>` and each cancellation reason
|
|
289
|
+
is `stripe-mock-portal-reason-<reason>` (e.g. `…-too_expensive`). The generic
|
|
290
|
+
`stripe-mock-portal-price-option` and `stripe-mock-portal-reason` ids stay on the radios.
|
|
281
291
|
- **Deep links** open on the flow's page — cancel (with a retention offer to accept), update, update
|
|
282
292
|
confirmation, payment method, billing details — and on completion honour `after_completion`:
|
|
283
293
|
`redirect` (302), `hosted_confirmation` (its `custom_message`) or the homepage. Every action
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createRuntime,
|
|
3
3
|
validateAccounts
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JMK5BHFP.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-JLJVLLWF.js.map
|