@molecule/api-payments-stripe 1.0.3 → 1.2.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/README.md CHANGED
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
3
3
  Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
4
4
  Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
5
5
  To change this document, edit the module-level JSDoc in src/index.ts.
6
- Generated: 2026-08-16T14:04:40.246Z
6
+ Generated: 2026-08-17T19:23:12.284Z
7
7
  -->
8
8
 
9
9
  # @molecule/api-payments-stripe
@@ -346,7 +346,17 @@ interface SubscriptionResult {
346
346
  * cannot be claimed (ownership check in `verifyPayment`).
347
347
  */
348
348
  customer?: string
349
- items: { data: Array<{ id: string; price?: { id?: string; product?: string } }> }
349
+ /**
350
+ * The subscription's line items.
351
+ *
352
+ * `quantity` is the UNITS billed on that line — seats, on a per-seat plan.
353
+ * Carried because an app that sells seats has no other way to learn how many
354
+ * the customer actually paid for: the price id says what a seat costs, never
355
+ * how many were bought, so without this the app can only assume one.
356
+ */
357
+ items: {
358
+ data: Array<{ id: string; quantity?: number; price?: { id?: string; product?: string } }>
359
+ }
350
360
  current_period_start: number
351
361
  current_period_end: number
352
362
  cancel_at_period_end: boolean
@@ -444,6 +454,62 @@ function cancelSubscription(subscriptionId: string): Promise<SubscriptionResult>
444
454
 
445
455
  **Returns:** The canceled subscription result.
446
456
 
457
+ #### `chargeOffSession(options)`
458
+
459
+ Charges a customer's saved card OFF-SESSION for a fixed amount — the
460
+ PREPAID top-up primitive (the customer is not present to authenticate).
461
+
462
+ Distinct from {@link reportUsageOverage} in the property that matters:
463
+ `reportUsageOverage` records an amount to be collected LATER on an invoice,
464
+ so the money is a receivable until the cycle closes. This CAPTURES the money
465
+ now and reports whether it actually settled, which is what makes a prepaid
466
+ balance prepaid. Only credit a balance on `status: 'succeeded'`.
467
+
468
+ A saved card is required: the charge uses the customer's `invoice_settings.
469
+ default_payment_method`, falling back to their most recent attached card.
470
+ With `off_session: true` + `confirm: true`, Stripe either settles the payment
471
+ or fails — it never returns a client-side flow the absent customer could
472
+ complete. A card that demands 3DS therefore surfaces as
473
+ `status: 'requires_action'`, which callers MUST treat as a failure and
474
+ resolve by asking the customer to re-authenticate on-session.
475
+
476
+ IDEMPOTENCY: the caller MUST pass a stable `idempotencyKey`. A retry inside
477
+ Stripe's 24h idempotency window returns the ORIGINAL PaymentIntent rather
478
+ than charging again — the property that makes an auto-refill retry safe.
479
+
480
+ This function performs NO gating of its own — it charges what it is told to.
481
+ Whether a top-up is permitted (balance low? refill cap? velocity?) is the
482
+ consuming application's decision.
483
+
484
+ ```typescript
485
+ function chargeOffSession(options: {
486
+ customerId: string
487
+ amountCents: number
488
+ currency?: string
489
+ paymentMethodId?: string
490
+ description?: string
491
+ metadata?: Record<string, string>
492
+ idempotencyKey: string
493
+ }): Promise<{
494
+ id: string | null
495
+ status: 'succeeded' | 'requires_action' | 'failed'
496
+ amountCents: number
497
+ declineCode?: string
498
+ failureMessage?: string
499
+ }>
500
+ ```
501
+
502
+ - `options` — Off-session charge options.
503
+ - `options.customerId` — The Stripe customer to charge (`cus_...`).
504
+ - `options.amountCents` — The amount to capture in cents (must be `> 0`).
505
+ - `options.currency` — ISO currency (defaults to `usd`).
506
+ - `options.paymentMethodId` — Explicit payment method; defaults to the customer's default card, then their most recently attached card.
507
+ - `options.description` — Human-readable statement/line description.
508
+ - `options.metadata` — Reconciliation metadata (e.g. userId, period).
509
+ - `options.idempotencyKey` — REQUIRED stable key (see IDEMPOTENCY above).
510
+
511
+ **Returns:** The PaymentIntent id, the normalized outcome, the amount actually captured (0 unless settled), and a decline code/reason when it did not.
512
+
447
513
  #### `createAccountLink(params)`
448
514
 
449
515
  Creates a Stripe account link the connected account holder uses to finish
@@ -464,6 +530,7 @@ Creates a Stripe Checkout session for a new subscription.
464
530
  ```typescript
465
531
  function createCheckoutSession(options: {
466
532
  priceId: string
533
+ quantity?: number
467
534
  successUrl: string
468
535
  cancelUrl: string
469
536
  customerId?: string
@@ -481,6 +548,7 @@ function createCheckoutSession(options: {
481
548
  - `options.clientReferenceId` — Your own id for the buyer (the app's user id). Stripe echoes it back as `client_reference_id` on the session and on every `checkout.session.*` webhook event, which is how the customer (`cus_…`) created by this checkout gets linked to the account that paid. Always pass it: without it the first purchase has nothing tying the new Stripe customer to a user.
482
549
  - `options.metadata` — Optional key-value metadata to attach to the session.
483
550
  - `options.idempotencyKey` — Optional idempotency key for safe request retries.
551
+ - `options.quantity` — Units of `priceId` to bill — seats, on a per-seat plan. Defaults to 1, which is right for every flat-priced plan. Clamped to a whole number >= 1: Stripe rejects 0 and fractions, and a caller that computed a seat count from a bad read must not turn that into a free subscription.
484
552
 
485
553
  **Returns:** The checkout session ID and URL.
486
554
 
@@ -1 +1 @@
1
- {"version":3,"file":"bondAdapter.d.ts","sourceRoot":"","sources":["../src/bondAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAGL,KAAK,eAAe,EAQrB,MAAM,wBAAwB,CAAA;AA6C/B;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,eAwa7B,CAAA"}
1
+ {"version":3,"file":"bondAdapter.d.ts","sourceRoot":"","sources":["../src/bondAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAGL,KAAK,eAAe,EAQrB,MAAM,wBAAwB,CAAA;AA6C/B;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,eAob7B,CAAA"}
@@ -275,15 +275,24 @@ export const paymentProvider = {
275
275
  if (redirects.usingFallbackOrigin) {
276
276
  logger.warn(`Stripe checkout: APP_ORIGIN/ORIGIN not set — falling back to ${redirects.appOrigin} for redirect URLs (fine in dev, wrong in production).`);
277
277
  }
278
- // Generate idempotency key from userId + priceId + timestamp window (5-min buckets)
279
- // This prevents duplicate checkout sessions if the user double-clicks or retries
278
+ // Generate idempotency key from userId + priceId + QUANTITY + timestamp
279
+ // window (5-min buckets). This prevents duplicate checkout sessions if the
280
+ // user double-clicks or retries.
281
+ //
282
+ // The quantity has to be in the key. Without it, a buyer who picks 3
283
+ // seats, goes back, and picks 5 within the same five minutes is handed
284
+ // Stripe's cached session for THREE — they check out believing they bought
285
+ // five, and the difference only surfaces as a support ticket.
280
286
  const timeWindow = Math.floor(Date.now() / (5 * 60 * 1000));
281
287
  const idempotencyKey = crypto
282
288
  .createHash('sha256')
283
- .update(`checkout:${params.userId}:${params.newProductId}:${timeWindow}`)
289
+ .update(`checkout:${params.userId}:${params.newProductId}:${params.quantity ?? 1}:${timeWindow}`)
284
290
  .digest('hex');
285
291
  const session = await createCheckoutSession({
286
292
  priceId: params.newProductId,
293
+ // Seats, on a per-seat plan. Without this the session bills ONE unit
294
+ // however many the caller sold.
295
+ quantity: params.quantity,
287
296
  successUrl: redirects.successUrl,
288
297
  cancelUrl: redirects.cancelUrl,
289
298
  // Bind the session to the buying account BOTH ways Stripe echoes an
@@ -1 +1 @@
1
- {"version":3,"file":"bondAdapter.js","sourceRoot":"","sources":["../src/bondAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bondAdapter.js","sourceRoot":"","sources":["../src/bondAdapter.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,16 @@ export declare const getClient: () => Stripe;
31
31
  * Stripe customer to a user.
32
32
  * @param options.metadata - Optional key-value metadata to attach to the session.
33
33
  * @param options.idempotencyKey - Optional idempotency key for safe request retries.
34
+ * @param options.quantity - Units of `priceId` to bill — seats, on a per-seat
35
+ * plan. Defaults to 1, which is right for every flat-priced plan. Clamped to
36
+ * a whole number >= 1: Stripe rejects 0 and fractions, and a caller that
37
+ * computed a seat count from a bad read must not turn that into a free
38
+ * subscription.
34
39
  * @returns The checkout session ID and URL.
35
40
  */
36
41
  export declare const createCheckoutSession: (options: {
37
42
  priceId: string;
43
+ quantity?: number;
38
44
  successUrl: string;
39
45
  cancelUrl: string;
40
46
  customerId?: string;
@@ -190,6 +196,59 @@ export declare const reportUsageOverage: (options: {
190
196
  id: string;
191
197
  amountCents: number;
192
198
  }>;
199
+ /**
200
+ * Charges a customer's saved card OFF-SESSION for a fixed amount — the
201
+ * PREPAID top-up primitive (the customer is not present to authenticate).
202
+ *
203
+ * Distinct from {@link reportUsageOverage} in the property that matters:
204
+ * `reportUsageOverage` records an amount to be collected LATER on an invoice,
205
+ * so the money is a receivable until the cycle closes. This CAPTURES the money
206
+ * now and reports whether it actually settled, which is what makes a prepaid
207
+ * balance prepaid. Only credit a balance on `status: 'succeeded'`.
208
+ *
209
+ * A saved card is required: the charge uses the customer's `invoice_settings.
210
+ * default_payment_method`, falling back to their most recent attached card.
211
+ * With `off_session: true` + `confirm: true`, Stripe either settles the payment
212
+ * or fails — it never returns a client-side flow the absent customer could
213
+ * complete. A card that demands 3DS therefore surfaces as
214
+ * `status: 'requires_action'`, which callers MUST treat as a failure and
215
+ * resolve by asking the customer to re-authenticate on-session.
216
+ *
217
+ * IDEMPOTENCY: the caller MUST pass a stable `idempotencyKey`. A retry inside
218
+ * Stripe's 24h idempotency window returns the ORIGINAL PaymentIntent rather
219
+ * than charging again — the property that makes an auto-refill retry safe.
220
+ *
221
+ * This function performs NO gating of its own — it charges what it is told to.
222
+ * Whether a top-up is permitted (balance low? refill cap? velocity?) is the
223
+ * consuming application's decision.
224
+ *
225
+ * @param options - Off-session charge options.
226
+ * @param options.customerId - The Stripe customer to charge (`cus_...`).
227
+ * @param options.amountCents - The amount to capture in cents (must be `> 0`).
228
+ * @param options.currency - ISO currency (defaults to `usd`).
229
+ * @param options.paymentMethodId - Explicit payment method; defaults to the
230
+ * customer's default card, then their most recently attached card.
231
+ * @param options.description - Human-readable statement/line description.
232
+ * @param options.metadata - Reconciliation metadata (e.g. userId, period).
233
+ * @param options.idempotencyKey - REQUIRED stable key (see IDEMPOTENCY above).
234
+ * @returns The PaymentIntent id, the normalized outcome, the amount actually
235
+ * captured (0 unless settled), and a decline code/reason when it did not.
236
+ */
237
+ export declare const chargeOffSession: (options: {
238
+ customerId: string;
239
+ amountCents: number;
240
+ currency?: string;
241
+ paymentMethodId?: string;
242
+ description?: string;
243
+ metadata?: Record<string, string>;
244
+ idempotencyKey: string;
245
+ }) => Promise<{
246
+ id: string | null;
247
+ status: "succeeded" | "requires_action" | "failed";
248
+ amountCents: number;
249
+ declineCode?: string;
250
+ failureMessage?: string;
251
+ }>;
193
252
  /**
194
253
  * Maps a raw Stripe subscription status string (e.g. `past_due`, `incomplete`)
195
254
  * to the provider-agnostic `SubscriptionStatus`.
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAA;AAO3B,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAIxF,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAkBnB;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAO,MA+B5B,CAAA;AAoCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,GAAU,SAAS;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,KAAG,OAAO,CAAC,qBAAqB,CA0BhC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAAU,SAAS;IACjD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAY7C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,qBAAqB,CAYzF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAU,gBAAgB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAUxF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAU,gBAAgB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAQ3F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,MAAM,EACtB,QAAQ,wBAAwB,KAC/B,OAAO,CAAC,kBAAkB,CAW5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,MAAM,GAAG,MAAM,EACxB,WAAW,MAAM,KAChB,kBAeF,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAAU,SAAS;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAkCnE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,iBAAiB,MAAM,KACtB,OAAO,CAAC;IACT,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,IAAI,CAeP,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAU,iBAAiB,MAAM,KAAG,OAAO,CAAC,OAAO,CAQlF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,kBAAkB,GAAU,SAAS;IAChD,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;CACvB,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAmB9C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,gBAAgB,GAAU,SAAS;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;CACvB,KAAG,OAAO,CAAC;IACV,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,QAAQ,CAAA;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CA4FA,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,kBAa3E,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,cAAc,kBAAkB,KAAG,sBAaxE,CAAA"}
package/dist/provider.js CHANGED
@@ -80,6 +80,7 @@ const toSubscriptionResult = (sub) => {
80
80
  items: {
81
81
  data: sub.items.data.map((item) => ({
82
82
  id: item.id,
83
+ quantity: item.quantity,
83
84
  price: item.price
84
85
  ? {
85
86
  // The PRICE id is load-bearing for plan resolution: apps
@@ -113,6 +114,11 @@ const toSubscriptionResult = (sub) => {
113
114
  * Stripe customer to a user.
114
115
  * @param options.metadata - Optional key-value metadata to attach to the session.
115
116
  * @param options.idempotencyKey - Optional idempotency key for safe request retries.
117
+ * @param options.quantity - Units of `priceId` to bill — seats, on a per-seat
118
+ * plan. Defaults to 1, which is right for every flat-priced plan. Clamped to
119
+ * a whole number >= 1: Stripe rejects 0 and fractions, and a caller that
120
+ * computed a seat count from a bad read must not turn that into a free
121
+ * subscription.
116
122
  * @returns The checkout session ID and URL.
117
123
  */
118
124
  export const createCheckoutSession = async (options) => {
@@ -123,7 +129,7 @@ export const createCheckoutSession = async (options) => {
123
129
  line_items: [
124
130
  {
125
131
  price: options.priceId,
126
- quantity: 1,
132
+ quantity: Math.max(1, Math.floor(options.quantity ?? 1)),
127
133
  },
128
134
  ],
129
135
  success_url: options.successUrl,
@@ -396,6 +402,134 @@ export const reportUsageOverage = async (options) => {
396
402
  throw error;
397
403
  }
398
404
  };
405
+ /**
406
+ * Charges a customer's saved card OFF-SESSION for a fixed amount — the
407
+ * PREPAID top-up primitive (the customer is not present to authenticate).
408
+ *
409
+ * Distinct from {@link reportUsageOverage} in the property that matters:
410
+ * `reportUsageOverage` records an amount to be collected LATER on an invoice,
411
+ * so the money is a receivable until the cycle closes. This CAPTURES the money
412
+ * now and reports whether it actually settled, which is what makes a prepaid
413
+ * balance prepaid. Only credit a balance on `status: 'succeeded'`.
414
+ *
415
+ * A saved card is required: the charge uses the customer's `invoice_settings.
416
+ * default_payment_method`, falling back to their most recent attached card.
417
+ * With `off_session: true` + `confirm: true`, Stripe either settles the payment
418
+ * or fails — it never returns a client-side flow the absent customer could
419
+ * complete. A card that demands 3DS therefore surfaces as
420
+ * `status: 'requires_action'`, which callers MUST treat as a failure and
421
+ * resolve by asking the customer to re-authenticate on-session.
422
+ *
423
+ * IDEMPOTENCY: the caller MUST pass a stable `idempotencyKey`. A retry inside
424
+ * Stripe's 24h idempotency window returns the ORIGINAL PaymentIntent rather
425
+ * than charging again — the property that makes an auto-refill retry safe.
426
+ *
427
+ * This function performs NO gating of its own — it charges what it is told to.
428
+ * Whether a top-up is permitted (balance low? refill cap? velocity?) is the
429
+ * consuming application's decision.
430
+ *
431
+ * @param options - Off-session charge options.
432
+ * @param options.customerId - The Stripe customer to charge (`cus_...`).
433
+ * @param options.amountCents - The amount to capture in cents (must be `> 0`).
434
+ * @param options.currency - ISO currency (defaults to `usd`).
435
+ * @param options.paymentMethodId - Explicit payment method; defaults to the
436
+ * customer's default card, then their most recently attached card.
437
+ * @param options.description - Human-readable statement/line description.
438
+ * @param options.metadata - Reconciliation metadata (e.g. userId, period).
439
+ * @param options.idempotencyKey - REQUIRED stable key (see IDEMPOTENCY above).
440
+ * @returns The PaymentIntent id, the normalized outcome, the amount actually
441
+ * captured (0 unless settled), and a decline code/reason when it did not.
442
+ */
443
+ export const chargeOffSession = async (options) => {
444
+ const amount = Math.round(options.amountCents);
445
+ if (!Number.isFinite(amount) || amount <= 0) {
446
+ throw new Error('chargeOffSession requires a positive amountCents');
447
+ }
448
+ const client = getClient();
449
+ // Resolve the card to charge. Off-session confirmation cannot prompt the
450
+ // customer to pick one, so an unresolvable payment method is a failure to
451
+ // report — never an implicit "charge whatever Stripe finds".
452
+ let paymentMethodId = options.paymentMethodId;
453
+ if (!paymentMethodId) {
454
+ try {
455
+ const customer = await client.customers.retrieve(options.customerId);
456
+ if (!customer.deleted) {
457
+ const defaultPm = customer.invoice_settings?.default_payment_method;
458
+ paymentMethodId = typeof defaultPm === 'string' ? defaultPm : (defaultPm?.id ?? undefined);
459
+ }
460
+ }
461
+ catch (error) {
462
+ logger.error('Error resolving Stripe default payment method:', error);
463
+ }
464
+ }
465
+ if (!paymentMethodId) {
466
+ const methods = await client.paymentMethods.list({
467
+ customer: options.customerId,
468
+ type: 'card',
469
+ limit: 1,
470
+ });
471
+ paymentMethodId = methods.data[0]?.id;
472
+ }
473
+ if (!paymentMethodId) {
474
+ return {
475
+ id: null,
476
+ status: 'failed',
477
+ amountCents: 0,
478
+ failureMessage: 'No saved card on file for this customer.',
479
+ };
480
+ }
481
+ try {
482
+ const intent = await client.paymentIntents.create({
483
+ customer: options.customerId,
484
+ amount,
485
+ currency: options.currency ?? 'usd',
486
+ payment_method: paymentMethodId,
487
+ // The absent-customer contract: confirm immediately, and never hand
488
+ // back a redirect/next-action the customer is not there to complete.
489
+ off_session: true,
490
+ confirm: true,
491
+ automatic_payment_methods: { enabled: true, allow_redirects: 'never' },
492
+ description: options.description,
493
+ metadata: options.metadata,
494
+ }, { idempotencyKey: options.idempotencyKey });
495
+ if (intent.status === 'succeeded') {
496
+ return { id: intent.id, status: 'succeeded', amountCents: intent.amount_received || amount };
497
+ }
498
+ // Anything short of settled is NOT money: report it as such so the caller
499
+ // cannot mistake an authentication prompt for a captured payment.
500
+ return {
501
+ id: intent.id,
502
+ status: intent.status === 'requires_action' ? 'requires_action' : 'failed',
503
+ amountCents: 0,
504
+ failureMessage: intent.last_payment_error?.message,
505
+ ...(intent.last_payment_error?.decline_code
506
+ ? { declineCode: intent.last_payment_error.decline_code }
507
+ : {}),
508
+ };
509
+ }
510
+ catch (error) {
511
+ // A declined off-session charge arrives as a thrown StripeCardError whose
512
+ // payload carries the intent — a normal, expected outcome (an expired or
513
+ // insufficient-funds card), so it is reported, not re-thrown.
514
+ if (error instanceof Stripe.errors.StripeCardError) {
515
+ const intent = error.payment_intent;
516
+ logger.warn('Stripe off-session charge declined', {
517
+ code: error.code,
518
+ declineCode: error.decline_code,
519
+ });
520
+ return {
521
+ id: intent?.id ?? null,
522
+ status: intent?.status === 'requires_action' ? 'requires_action' : 'failed',
523
+ amountCents: 0,
524
+ ...(error.decline_code ? { declineCode: error.decline_code } : {}),
525
+ failureMessage: error.message,
526
+ };
527
+ }
528
+ // Never log the customer id or amount beyond the bare fact of failure.
529
+ logger.error('Error creating Stripe off-session charge:', error);
530
+ throw error;
531
+ }
532
+ };
399
533
  /**
400
534
  * Maps a raw Stripe subscription status string (e.g. `past_due`, `incomplete`)
401
535
  * to the provider-agnostic `SubscriptionStatus`.
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -25,9 +25,18 @@ export interface SubscriptionResult {
25
25
  * cannot be claimed (ownership check in `verifyPayment`).
26
26
  */
27
27
  customer?: string;
28
+ /**
29
+ * The subscription's line items.
30
+ *
31
+ * `quantity` is the UNITS billed on that line — seats, on a per-seat plan.
32
+ * Carried because an app that sells seats has no other way to learn how many
33
+ * the customer actually paid for: the price id says what a seat costs, never
34
+ * how many were bought, so without this the app can only assume one.
35
+ */
28
36
  items: {
29
37
  data: Array<{
30
38
  id: string;
39
+ quantity?: number;
31
40
  price?: {
32
41
  id?: string;
33
42
  product?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAE/B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,EAAE,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;IACjF,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5C,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAC1C;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,MAAM,CAAC;QACf;;WAEG;QACH,UAAiB,UAAU;YACzB;;eAEG;YACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;YAE1B;;eAEG;YACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;SAC/B;KACF;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAE/B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;OAOG;IACH,KAAK,EAAE;QACL,IAAI,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,EAAE,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAC1F,CAAA;IACD,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5C,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAC1C;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,MAAM,CAAC;QACf;;WAEG;QACH,UAAiB,UAAU;YACzB;;eAEG;YACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;YAE1B;;eAEG;YACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;SAC/B;KACF;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@molecule/api-payments-stripe",
3
- "version": "1.0.3",
3
+ "version": "1.2.0",
4
4
  "description": "Stripe payment provider for molecule.dev.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",