@arnaudjnn/billing-tools 0.31.0 → 0.32.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.
@@ -1,5 +1,61 @@
1
1
  import type { BillingInterval, PlansConfig } from "./plans.js";
2
2
  export type Quantities = Record<string, number>;
3
+ export type CheckoutSessionResult = {
4
+ sessionId: string;
5
+ customerId: string;
6
+ /** Pass to BillingCheckoutSessionProvider. Null only if Stripe returned none. */
7
+ clientSecret: string | null;
8
+ };
9
+ /**
10
+ * Create a seat Checkout Session whose tax Stripe calculates itself.
11
+ *
12
+ * Nothing is charged and no subscription exists yet: the session is an open
13
+ * basket the browser confirms. Read the result with `checkoutSessionOutcome`
14
+ * afterwards — never trust the client's word that payment happened.
15
+ *
16
+ * Quantities of 0 are dropped rather than sent (Stripe rejects a zero-quantity
17
+ * line, and "no Premium seats" must mean "no Premium line").
18
+ */
19
+ export declare function createCheckoutSession(opts: {
20
+ plans: PlansConfig;
21
+ plan: string;
22
+ interval: BillingInterval;
23
+ seats: Quantities;
24
+ /** Where Stripe returns the browser after an off-site step (3DS, bank app). */
25
+ returnUrl: string;
26
+ /** Reuse an existing customer, else one is created from `email`. */
27
+ customerId?: string;
28
+ email?: string;
29
+ currency?: string;
30
+ /** Stripe Tax. On by default — the whole point of this path. */
31
+ automaticTax?: boolean;
32
+ /** Collect a business tax ID (VAT number). On by default. */
33
+ taxIdCollection?: boolean;
34
+ /**
35
+ * Which payment methods the form offers. Defaults to CARD ONLY — no Link,
36
+ * Klarna, wallets — because that's what most subscription checkouts want, and
37
+ * Checkout otherwise shows every method enabled on the account. Pass a list to
38
+ * add methods (e.g. ["card", "klarna"]) or "automatic" to defer to the
39
+ * account's dashboard settings.
40
+ */
41
+ paymentMethods?: string[] | "automatic";
42
+ metadata?: Record<string, string>;
43
+ }): Promise<CheckoutSessionResult>;
44
+ /**
45
+ * What actually happened, read from Stripe.
46
+ *
47
+ * The server-side proof of payment: a caller could post any session id, so the
48
+ * subscription is required to be live as well as the session complete.
49
+ */
50
+ export declare function checkoutSessionOutcome(sessionId: string): Promise<{
51
+ paid: boolean;
52
+ subscriptionId: string | null;
53
+ customerId: string | null;
54
+ }>;
55
+ /** Close an abandoned session. Idempotent: one already completed or expired is
56
+ * left as-is. Optional — Stripe expires open sessions by itself (~24h) and an
57
+ * unconfirmed session has created nothing. */
58
+ export declare function expireCheckoutSession(sessionId: string): Promise<void>;
3
59
  export type SubscriptionResult = {
4
60
  subscriptionId: string;
5
61
  customerId: string;
@@ -9,6 +65,11 @@ export type SubscriptionResult = {
9
65
  /**
10
66
  * Create a subscription for `seats` that is awaiting its first payment.
11
67
  *
68
+ * Prefer `createCheckoutSession` — it lets Stripe Tax calculate the tax from the
69
+ * address the customer enters, which this path structurally cannot do (the total
70
+ * is fixed before the form is shown). Keep using this one only when the basket
71
+ * must be priced entirely server-side.
72
+ *
12
73
  * `payment_behavior: "default_incomplete"` is the crux: Stripe creates the
13
74
  * subscription and the invoice but does NOT charge, leaving a PaymentIntent whose
14
75
  * client secret the browser confirms. Without it Stripe would attempt payment
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgB/D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8E9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAkDnE;AAED;wEACwE;AACxE,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9E"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"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"}
package/dist/checkout.js CHANGED
@@ -1,8 +1,105 @@
1
1
  import { getStripe } from "./billing.js";
2
2
  import { ensurePlans, lookupKeyFor, planPriceId } from "./plans.js";
3
+ /**
4
+ * Create a seat Checkout Session whose tax Stripe calculates itself.
5
+ *
6
+ * Nothing is charged and no subscription exists yet: the session is an open
7
+ * basket the browser confirms. Read the result with `checkoutSessionOutcome`
8
+ * afterwards — never trust the client's word that payment happened.
9
+ *
10
+ * Quantities of 0 are dropped rather than sent (Stripe rejects a zero-quantity
11
+ * line, and "no Premium seats" must mean "no Premium line").
12
+ */
13
+ export async function createCheckoutSession(opts) {
14
+ const stripe = getStripe();
15
+ const wanted = Object.entries(opts.seats).filter(([, qty]) => qty > 0);
16
+ if (wanted.length === 0)
17
+ throw new Error("No seats selected");
18
+ // Idempotent: creates the managed products/prices the first time a seat type is
19
+ // ever sold, and is a no-op afterwards.
20
+ await ensurePlans(opts.plans, { currency: opts.currency });
21
+ const line_items = [];
22
+ for (const [seatType, quantity] of wanted) {
23
+ const price = await planPriceId(opts.plan, opts.interval, seatType);
24
+ if (!price) {
25
+ throw new Error(`No Stripe price for ${lookupKeyFor(opts.plan, opts.interval, seatType)}`);
26
+ }
27
+ line_items.push({ price, quantity });
28
+ }
29
+ const customerId = opts.customerId ??
30
+ (await stripe.customers.create({ email: opts.email, metadata: opts.metadata })).id;
31
+ const session = await stripe.checkout.sessions.create({
32
+ mode: "subscription",
33
+ // "custom" is this API version's name for what the docs now call elements
34
+ // mode: Stripe hosts no page, we mount the elements and own the layout.
35
+ ui_mode: "custom",
36
+ line_items,
37
+ customer: customerId,
38
+ // Writes the address (and business name) the customer types onto the Customer.
39
+ // Without it the typed address stays on the session, so Stripe Tax has no
40
+ // location for the customer and the tax is computed as zero. Required
41
+ // whenever `customer` is passed rather than `customer_email`.
42
+ customer_update: { address: "auto", name: "auto" },
43
+ automatic_tax: { enabled: opts.automaticTax ?? true },
44
+ tax_id_collection: { enabled: opts.taxIdCollection ?? true },
45
+ // A full address, collected by the billing-address element. The alternative
46
+ // ("auto", country + postal code inside the payment element) is enough for
47
+ // tax in most places but not everywhere, and an invoice wants the real thing.
48
+ billing_address_collection: "required",
49
+ return_url: opts.returnUrl,
50
+ ...(opts.paymentMethods === "automatic"
51
+ ? {}
52
+ : { payment_method_types: (opts.paymentMethods ?? ["card"]) }),
53
+ // Metadata on BOTH: the session is the checkout attempt, the subscription is
54
+ // what outlives it, and reconciliation reads the subscription.
55
+ metadata: opts.metadata,
56
+ subscription_data: { metadata: opts.metadata },
57
+ });
58
+ return {
59
+ sessionId: session.id,
60
+ customerId,
61
+ clientSecret: session.client_secret,
62
+ };
63
+ }
64
+ /**
65
+ * What actually happened, read from Stripe.
66
+ *
67
+ * The server-side proof of payment: a caller could post any session id, so the
68
+ * subscription is required to be live as well as the session complete.
69
+ */
70
+ export async function checkoutSessionOutcome(sessionId) {
71
+ const session = await getStripe().checkout.sessions.retrieve(sessionId, {
72
+ expand: ["subscription"],
73
+ });
74
+ const subscription = session.subscription;
75
+ return {
76
+ paid: session.status === "complete" &&
77
+ (subscription?.status === "active" || subscription?.status === "trialing"),
78
+ subscriptionId: subscription?.id ?? null,
79
+ customerId: typeof session.customer === "string"
80
+ ? session.customer
81
+ : (session.customer?.id ?? null),
82
+ };
83
+ }
84
+ /** Close an abandoned session. Idempotent: one already completed or expired is
85
+ * left as-is. Optional — Stripe expires open sessions by itself (~24h) and an
86
+ * unconfirmed session has created nothing. */
87
+ export async function expireCheckoutSession(sessionId) {
88
+ try {
89
+ await getStripe().checkout.sessions.expire(sessionId);
90
+ }
91
+ catch {
92
+ /* already complete / expired — nothing to close */
93
+ }
94
+ }
3
95
  /**
4
96
  * Create a subscription for `seats` that is awaiting its first payment.
5
97
  *
98
+ * Prefer `createCheckoutSession` — it lets Stripe Tax calculate the tax from the
99
+ * address the customer enters, which this path structurally cannot do (the total
100
+ * is fixed before the form is shown). Keep using this one only when the basket
101
+ * must be priced entirely server-side.
102
+ *
6
103
  * `payment_behavior: "default_incomplete"` is the crux: Stripe creates the
7
104
  * subscription and the invoice but does NOT charge, leaving a PaymentIntent whose
8
105
  * client secret the browser confirms. Without it Stripe would attempt payment
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -25,6 +25,6 @@ export { registerBillingCommands } from "./cli/commands.js";
25
25
  export { callTool, listTools, type ApiClientConfig } from "./cli/client.js";
26
26
  export { type CliOptions, type CliConfig, configPath, readConfig, writeConfig, resolveBaseUrl, resolveApiKey, } from "./cli/config.js";
27
27
  export { lookupCompany } from "./util/clearout.js";
28
- export { createSubscription, updateSubscription, cancelSubscription, } from "./checkout.js";
29
- export type { Quantities, SubscriptionResult } from "./checkout.js";
28
+ export { createCheckoutSession, checkoutSessionOutcome, expireCheckoutSession, createSubscription, updateSubscription, cancelSubscription, } from "./checkout.js";
29
+ export type { Quantities, CheckoutSessionResult, SubscriptionResult, } from "./checkout.js";
30
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -49,5 +49,7 @@ export { configPath, readConfig, writeConfig, resolveBaseUrl, resolveApiKey, } f
49
49
  // Utils
50
50
  export { lookupCompany } from "./util/clearout.js";
51
51
  // Embedded-checkout server side (pairs with @arnaudjnn/billing-tools/ui).
52
- export { createSubscription, updateSubscription, cancelSubscription, } from "./checkout.js";
52
+ // createCheckoutSession is the default path Stripe Tax calculates the tax;
53
+ // createSubscription is the older fixed-rate one.
54
+ export { createCheckoutSession, checkoutSessionOutcome, expireCheckoutSession, createSubscription, updateSubscription, cancelSubscription, } from "./checkout.js";
53
55
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/plans.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type Stripe from "stripe";
1
2
  /** One seat type within a plan (e.g. `standard` vs `premium`). Each type has
2
3
  * its own recurring per-seat price and included-token allowance, so a plan's
3
4
  * subscription carries one line item per seat type (quantity = members of that
@@ -57,6 +58,7 @@ export interface EnsuredPrice {
57
58
  * prices 0) create no Stripe objects. Safe to call on every boot / first use. */
58
59
  export declare function ensurePlans(plans: PlansConfig, opts?: {
59
60
  currency?: string;
61
+ taxBehavior?: Stripe.Price.TaxBehavior;
60
62
  }): Promise<EnsuredPrice[]>;
61
63
  /** Resolve the current Stripe price id for a plan + interval (via lookup_key).
62
64
  * Returns null for a free/absent price. */
@@ -1 +1 @@
1
- {"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"AAWA;;;0EAG0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,mDAAmD;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C;;;;8EAI0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC;;;;oFAIgF;IAChF,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CACvC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;AAQnD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAI1D,CAAC;AASF,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,UAAU,eAAe,EACzB,WAAW,MAAM,KAChB,MAAgF,CAAC;AAEpF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AA8BD;;kFAEkF;AAClF,wBAAsB,WAAW,CAC/B,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAqFzB;AAwBD;4CAC4C;AAC5C,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBxB;AAED,2EAA2E;AAC3E,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO5E;AAED;mCACmC;AACnC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOhF;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzE;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;;8CAG8C;AAC9C,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAYR"}
1
+ {"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAWjC;;;0EAG0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,mDAAmD;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C;;;;8EAI0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC;;;;oFAIgF;IAChF,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CACvC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;AAQnD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAI1D,CAAC;AASF,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,UAAU,eAAe,EACzB,WAAW,MAAM,KAChB,MAAgF,CAAC;AAEpF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AA8BD;;kFAEkF;AAClF,wBAAsB,WAAW,CAC/B,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAA;CAAO,GACvE,OAAO,CAAC,YAAY,EAAE,CAAC,CAuGzB;AAwBD;4CAC4C;AAC5C,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBxB;AAED,2EAA2E;AAC3E,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO5E;AAED;mCACmC;AACnC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOhF;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzE;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;;8CAG8C;AAC9C,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAYR"}
package/dist/plans.js CHANGED
@@ -47,6 +47,15 @@ async function findPlanProduct(stripe, plan) {
47
47
  export async function ensurePlans(plans, opts = {}) {
48
48
  const stripe = getStripe();
49
49
  const currency = (opts.currency ?? "usd").toLowerCase();
50
+ // EXCLUSIVE by default: the listed amount is pre-tax and tax is added on top.
51
+ //
52
+ // This has to be stated, not left to Stripe. Stripe Tax REFUSES to calculate on
53
+ // a price whose tax_behavior is `unspecified`, and the account-level default is
54
+ // `inferred_by_currency` — which for EUR infers INCLUSIVE, silently turning a
55
+ // "€42,08 + IVA" listing into "€42,08 including IVA" (same charge, less revenue).
56
+ // Exclusive matches how a "+ IVA" price is quoted, which is what these seat
57
+ // prices are.
58
+ const taxBehavior = opts.taxBehavior ?? "exclusive";
50
59
  const result = [];
51
60
  const wanted = new Set();
52
61
  for (const [plan, def] of Object.entries(plans)) {
@@ -94,6 +103,14 @@ export async function ensurePlans(plans, opts = {}) {
94
103
  existing.currency === currency &&
95
104
  existing.recurring?.interval === STRIPE_INTERVAL[interval];
96
105
  if (existing && matches) {
106
+ // Backfill: prices minted before this package set tax_behavior are
107
+ // `unspecified`, which Stripe Tax won't calculate on. It is settable once
108
+ // (unspecified → inclusive|exclusive) and immutable after, so this
109
+ // upgrades old prices in place rather than replacing them and moving
110
+ // every subscriber onto a new price id.
111
+ if (existing.tax_behavior === "unspecified") {
112
+ await stripe.prices.update(existing.id, { tax_behavior: taxBehavior });
113
+ }
97
114
  productId =
98
115
  typeof existing.product === "string" ? existing.product : existing.product.id;
99
116
  result.push({ plan, interval, seatType, priceId: existing.id, productId, amount, lookupKey });
@@ -115,6 +132,7 @@ export async function ensurePlans(plans, opts = {}) {
115
132
  recurring: { interval: STRIPE_INTERVAL[interval] },
116
133
  lookup_key: lookupKey,
117
134
  transfer_lookup_key: true,
135
+ tax_behavior: taxBehavior,
118
136
  metadata: { managedBy: MANAGED_BY, plan, interval, ...(seatType ? { seatType } : {}) },
119
137
  });
120
138
  if (existing)
package/dist/plans.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plans.js","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plans.js","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { AddressElement, PaymentElement, TaxIdElement, useElements, useStripe } from "@stripe/react-stripe-js";
2
+ import { BillingAddressElement, CheckoutElementsProvider, PaymentElement as CheckoutPaymentElement, TaxIdElement as CheckoutTaxIdElement, useCheckoutElements } from "@stripe/react-stripe-js/checkout";
2
3
  import { type Appearance, type StripeElementLocale } from "@stripe/stripe-js";
3
4
  import * as React from "react";
4
5
  export type BillingCheckoutProviderProps = {
@@ -65,6 +66,105 @@ export type BillingPaymentFormProps = {
65
66
  */
66
67
  export declare function BillingPaymentForm({ collectAddress, collectTaxId, returnUrl, children, onSuccess, onError, className, }: BillingPaymentFormProps): React.JSX.Element;
67
68
  export { AddressElement, PaymentElement, TaxIdElement, useElements, useStripe };
69
+ /** Amounts as Stripe computed them for the current session. */
70
+ export type CheckoutTotals = {
71
+ /** Pre-tax, in the smallest currency unit. */
72
+ subtotalCents: number;
73
+ /** Tax added on top. Zero until Stripe can compute it — see `taxPending`. */
74
+ taxCents: number;
75
+ /** What will actually be charged. */
76
+ totalCents: number;
77
+ /** e.g. "eur". */
78
+ currency: string;
79
+ /** Stripe's own formatted strings, already localised. */
80
+ formatted: {
81
+ subtotal: string;
82
+ tax: string;
83
+ total: string;
84
+ };
85
+ /**
86
+ * Stripe has no location yet, so `taxCents` is not the real tax — the customer
87
+ * hasn't entered an address. Show "calculated at payment" rather than "€0,00".
88
+ */
89
+ taxPending: boolean;
90
+ /** Tax rate Stripe applied, when it computed one (e.g. 22). */
91
+ taxPercent?: number;
92
+ };
93
+ export type BillingCheckoutSessionProviderProps = {
94
+ /** Stripe publishable key (pk_…). Safe in the browser by design. */
95
+ publishableKey: string;
96
+ /** `clientSecret` from `createCheckoutSession`. Cannot be changed once set —
97
+ * to price a new basket, create a new session and remount (key on it). */
98
+ clientSecret: string;
99
+ /** Stripe Elements appearance, so the form inherits the host app's theme. */
100
+ appearance?: Appearance;
101
+ /**
102
+ * e.g. "it" — defaults to the browser's locale. In elements mode this is a
103
+ * Stripe.js load-time option, not an Elements one, so it is baked into the
104
+ * cached Stripe instance rather than passed per-provider.
105
+ */
106
+ locale?: StripeElementLocale;
107
+ /**
108
+ * Load the beta the Tax ID Element needs (public preview). Defaults to ON,
109
+ * because `createCheckoutSession` enables tax ID collection by default; pass
110
+ * false to drop the beta along with the element.
111
+ */
112
+ taxIdBeta?: boolean;
113
+ children: React.ReactNode;
114
+ };
115
+ /** Wraps Stripe's <CheckoutElementsProvider> with the publishable-key singleton
116
+ * and options shape every consumer would otherwise repeat. */
117
+ export declare function BillingCheckoutSessionProvider({ publishableKey, clientSecret, appearance, locale, taxIdBeta, children, }: BillingCheckoutSessionProviderProps): React.JSX.Element;
118
+ /**
119
+ * Live totals for the surrounding session, or null while it loads.
120
+ *
121
+ * Call from inside BillingCheckoutSessionProvider — including from the order
122
+ * summary, which is the point: the summary and the payment form then read the
123
+ * same numbers from the same place.
124
+ */
125
+ export declare function useCheckoutTotals(): CheckoutTotals | null;
126
+ export type BillingCheckoutSessionFormProps = {
127
+ /**
128
+ * Collect a full billing address. ON by default: Stripe Tax needs a location,
129
+ * and `createCheckoutSession` sets `billing_address_collection: "required"`,
130
+ * which this element is what satisfies.
131
+ */
132
+ collectAddress?: boolean;
133
+ /**
134
+ * Render Stripe's Tax ID Element — the "Business tax ID (optional)" field.
135
+ *
136
+ * ON by default, matching `taxIdCollection` on the server. Unlike the
137
+ * fixed-rate path, the ID reaches a real Stripe Tax calculation here, so a valid
138
+ * EU VAT number from another member state actually applies reverse charge.
139
+ *
140
+ * The element is a public preview and is SKIPPED unless the account has been
141
+ * granted it (see `taxIdAvailable` below) — leaving this on costs nothing if it
142
+ * hasn't been.
143
+ */
144
+ collectTaxId?: boolean;
145
+ /** Rendered as the submit button. Receives the live submitting state. */
146
+ children: (state: {
147
+ submitting: boolean;
148
+ }) => React.ReactNode;
149
+ /** Called once the session is confirmed without a redirect. */
150
+ onSuccess?: () => void;
151
+ /** Called with a human-readable message when Stripe declines or validation fails. */
152
+ onError?: (message: string) => void;
153
+ className?: string;
154
+ };
155
+ /**
156
+ * The payment form for a Checkout Session: address, payment method, tax ID.
157
+ *
158
+ * The button is passed in as a render prop rather than styled here, so the host
159
+ * app's own Button keeps the design system consistent — this component owns the
160
+ * Stripe wiring, not the look.
161
+ *
162
+ * `redirect: "if_required"` keeps the common card case on-page and only leaves for
163
+ * methods that genuinely need it (3DS challenge, bank redirects); the session's
164
+ * `return_url` is where Stripe comes back to.
165
+ */
166
+ export declare function BillingCheckoutSessionForm({ collectAddress, collectTaxId, children, onSuccess, onError, className, }: BillingCheckoutSessionFormProps): React.JSX.Element;
167
+ export { BillingAddressElement, CheckoutElementsProvider, CheckoutPaymentElement, CheckoutTaxIdElement, useCheckoutElements, };
68
168
  export type CheckoutSync = {
69
169
  ok: true;
70
170
  clientSecret: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.tsx"],"names":[],"mappings":"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"}
package/dist/ui/index.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { AddressElement, Elements, PaymentElement, TaxIdElement, useElements, useStripe, } from "@stripe/react-stripe-js";
4
+ // The session-bound variants: same elements, but they read and mutate the
5
+ // Checkout Session. Aliased where the name collides with the root export above —
6
+ // mixing the two families inside one provider renders nothing at all.
7
+ import { BillingAddressElement, CheckoutElementsProvider, PaymentElement as CheckoutPaymentElement, TaxIdElement as CheckoutTaxIdElement, useCheckoutElements, } from "@stripe/react-stripe-js/checkout";
4
8
  import { loadStripe } from "@stripe/stripe-js";
5
9
  import * as React from "react";
6
10
  // The checkout UI, so every consumer app mounts the SAME payment form instead of
@@ -29,16 +33,17 @@ const stripeCache = new Map();
29
33
  // instantiated with this beta. It is opted into per-provider rather than always,
30
34
  // because a beta can change without notice.
31
35
  const TAX_ID_BETA = "elements_tax_id_1";
32
- function stripeFor(publishableKey, betas) {
33
- // The betas are part of the cache key: loadStripe is memoised per page, so
34
- // keying on the publishable key alone would let whichever provider mounted
35
- // FIRST decide whether the beta is active for every later one.
36
- const key = `${publishableKey}|${(betas ?? []).join(",")}`;
36
+ function stripeFor(publishableKey, betas, locale) {
37
+ // The betas and locale are part of the cache key: loadStripe is memoised per
38
+ // page, so keying on the publishable key alone would let whichever provider
39
+ // mounted FIRST decide both for every later one.
40
+ const key = `${publishableKey}|${(betas ?? []).join(",")}|${locale ?? ""}`;
37
41
  const hit = stripeCache.get(key);
38
42
  if (hit)
39
43
  return hit;
40
- const p = betas?.length
41
- ? loadStripe(publishableKey, { betas })
44
+ const options = { ...(betas?.length ? { betas } : {}), ...(locale ? { locale } : {}) };
45
+ const p = Object.keys(options).length
46
+ ? loadStripe(publishableKey, options)
42
47
  : loadStripe(publishableKey);
43
48
  stripeCache.set(key, p);
44
49
  return p;
@@ -92,6 +97,90 @@ export function BillingPaymentForm({ collectAddress = false, collectTaxId = fals
92
97
  return (_jsxs("form", { onSubmit: onSubmit, className: className, children: [collectAddress && _jsx(AddressElement, { options: { mode: "billing" } }), _jsx(PaymentElement, {}), collectTaxId && _jsx(TaxIdElement, { options: {} }), children({ submitting })] }));
93
98
  }
94
99
  export { AddressElement, PaymentElement, TaxIdElement, useElements, useStripe };
100
+ /** Wraps Stripe's <CheckoutElementsProvider> with the publishable-key singleton
101
+ * and options shape every consumer would otherwise repeat. */
102
+ export function BillingCheckoutSessionProvider({ publishableKey, clientSecret, appearance, locale, taxIdBeta = true, children, }) {
103
+ const stripe = React.useMemo(() => stripeFor(publishableKey, taxIdBeta ? [TAX_ID_BETA] : undefined, locale), [publishableKey, taxIdBeta, locale]);
104
+ return (_jsx(CheckoutElementsProvider, { stripe: stripe, options: { clientSecret, elementsOptions: { appearance } }, children: children }));
105
+ }
106
+ /**
107
+ * Live totals for the surrounding session, or null while it loads.
108
+ *
109
+ * Call from inside BillingCheckoutSessionProvider — including from the order
110
+ * summary, which is the point: the summary and the payment form then read the
111
+ * same numbers from the same place.
112
+ */
113
+ export function useCheckoutTotals() {
114
+ const result = useCheckoutElements();
115
+ if (result.type !== "success")
116
+ return null;
117
+ const { total, taxAmounts, tax, currency } = result.checkout;
118
+ // `taxAmounts` is null (not []) before a location is known, and the status says
119
+ // why. Either way the tax line is not yet real.
120
+ const taxPending = tax.status === "requires_billing_address" || taxAmounts === null;
121
+ // Stripe hands each amount over twice: `minorUnitsAmount` is the integer,
122
+ // `amount` is its already-localised display string.
123
+ return {
124
+ subtotalCents: total.subtotal.minorUnitsAmount,
125
+ taxCents: total.taxExclusive.minorUnitsAmount,
126
+ totalCents: total.total.minorUnitsAmount,
127
+ currency,
128
+ formatted: {
129
+ subtotal: total.subtotal.amount,
130
+ tax: total.taxExclusive.amount,
131
+ total: total.total.amount,
132
+ },
133
+ taxPending,
134
+ taxPercent: taxAmounts?.[0]?.percentage,
135
+ };
136
+ }
137
+ /**
138
+ * The payment form for a Checkout Session: address, payment method, tax ID.
139
+ *
140
+ * The button is passed in as a render prop rather than styled here, so the host
141
+ * app's own Button keeps the design system consistent — this component owns the
142
+ * Stripe wiring, not the look.
143
+ *
144
+ * `redirect: "if_required"` keeps the common card case on-page and only leaves for
145
+ * methods that genuinely need it (3DS challenge, bank redirects); the session's
146
+ * `return_url` is where Stripe comes back to.
147
+ */
148
+ export function BillingCheckoutSessionForm({ collectAddress = true, collectTaxId = true, children, onSuccess, onError, className, }) {
149
+ const result = useCheckoutElements();
150
+ const [submitting, setSubmitting] = React.useState(false);
151
+ // The Tax ID Element is a PUBLIC PREVIEW: Stripe.js only exposes it to accounts
152
+ // that have been granted it, and the beta flag alone doesn't grant it. Rendering
153
+ // it anyway throws `createTaxIdElement is not a function` mid-render and takes
154
+ // the whole payment form down with it, so ask the SDK rather than assume. When
155
+ // it's missing the checkout still works — no tax ID field, and B2B customers
156
+ // enter their VAT number on the invoice side instead.
157
+ const taxIdAvailable = result.type === "success" && typeof result.checkout.createTaxIdElement === "function";
158
+ async function onSubmit(e) {
159
+ e.preventDefault();
160
+ if (result.type !== "success" || submitting)
161
+ return;
162
+ setSubmitting(true);
163
+ try {
164
+ // Surface field-level problems before touching the session.
165
+ const validated = await result.checkout.validateElements();
166
+ if (validated.type === "error") {
167
+ onError?.(validated.error.message ?? "Payment details are incomplete");
168
+ return;
169
+ }
170
+ const confirmed = await result.checkout.confirm({ redirect: "if_required" });
171
+ if (confirmed.type === "error") {
172
+ onError?.(confirmed.error.message ?? "Payment failed");
173
+ return;
174
+ }
175
+ onSuccess?.();
176
+ }
177
+ finally {
178
+ setSubmitting(false);
179
+ }
180
+ }
181
+ return (_jsxs("form", { onSubmit: onSubmit, className: className, children: [collectAddress && _jsx(BillingAddressElement, {}), _jsx(CheckoutPaymentElement, {}), collectTaxId && taxIdAvailable && _jsx(CheckoutTaxIdElement, { options: {} }), children({ submitting })] }));
182
+ }
183
+ export { BillingAddressElement, CheckoutElementsProvider, CheckoutPaymentElement, CheckoutTaxIdElement, useCheckoutElements, };
95
184
  export function useCheckout(opts) {
96
185
  const { basket, create, update, cancel, debounceMs = 500, paused = false } = opts;
97
186
  const [state, setState] = React.useState(null);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arnaudjnn/billing-tools",
3
- "version": "0.31.0",
3
+ "version": "0.32.1",
4
4
  "description": "The get-paid engine for Stripe + WorkOS apps, for humans and AI agents. Drop-in API-key auth, token/credit + subscription billing, auth.md agent registration, and MPP machine payments, as MCP tools, a REST API, and a CLI. Framework-agnostic, storage-pluggable.",
5
5
  "license": "MIT",
6
6
  "author": "Arnaud Jeannin",