@ambushsoftworks/nestjs-payments-graphql 0.6.0 → 0.7.0-rc.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +51 -2
  3. package/dist/dto/create-recurring-invoice.input.d.ts +2 -0
  4. package/dist/dto/create-recurring-invoice.input.js +16 -0
  5. package/dist/dto/create-recurring-invoice.input.js.map +1 -1
  6. package/dist/dto/update-recurring-template.input.d.ts +2 -0
  7. package/dist/dto/update-recurring-template.input.js +13 -0
  8. package/dist/dto/update-recurring-template.input.js.map +1 -1
  9. package/dist/gateways/stripe/stripe.gateway.d.ts +1 -0
  10. package/dist/gateways/stripe/stripe.gateway.js +19 -0
  11. package/dist/gateways/stripe/stripe.gateway.js.map +1 -1
  12. package/dist/interfaces/recurring-invoice-repository.interface.d.ts +1 -0
  13. package/dist/models/recurring-invoice.model.d.ts +1 -0
  14. package/dist/models/recurring-invoice.model.js +9 -0
  15. package/dist/models/recurring-invoice.model.js.map +1 -1
  16. package/dist/prisma/assert-payments-schema.js +4 -1
  17. package/dist/prisma/assert-payments-schema.js.map +1 -1
  18. package/dist/prisma/columns.d.ts +3 -1
  19. package/dist/prisma/columns.js +9 -2
  20. package/dist/prisma/columns.js.map +1 -1
  21. package/dist/prisma/prisma-recurring-invoice.repository.d.ts +1 -0
  22. package/dist/prisma/prisma-recurring-invoice.repository.js +10 -0
  23. package/dist/prisma/prisma-recurring-invoice.repository.js.map +1 -1
  24. package/dist/services/payment-method.service.d.ts +5 -1
  25. package/dist/services/payment-method.service.js +20 -3
  26. package/dist/services/payment-method.service.js.map +1 -1
  27. package/dist/services/recurring-invoice.service.d.ts +9 -1
  28. package/dist/services/recurring-invoice.service.js +49 -2
  29. package/dist/services/recurring-invoice.service.js.map +1 -1
  30. package/dist/types/recurring-invoice.types.d.ts +3 -0
  31. package/package.json +1 -1
  32. package/prisma/payment-models.prisma +13 -1
package/CHANGELOG.md CHANGED
@@ -28,6 +28,85 @@ prose for buried obligations. The marker was introduced in v0.4.0 and
28
28
 
29
29
  ## [Unreleased]
30
30
 
31
+ ## [0.7.0] - 2026-09-19
32
+
33
+ > **Upgrade notes.** One optional database column, required only if you want
34
+ > the feature.
35
+ >
36
+ > 1. **To pin a recurring schedule to a card**, add
37
+ > `paymentMethodId String?` to `RecurringInvoice` and enable
38
+ > `features.cardManagement`. Leave the flag off and nothing changes —
39
+ > `assertPaymentsSchema` does not ask for the column, so an existing
40
+ > recurring consumer boots unchanged.
41
+ > 2. **`RecurringInvoiceService` takes a new last constructor argument**,
42
+ > `PaymentMethodService`. This only matters if you construct it by hand, in
43
+ > tests for example.
44
+ > 3. **`removePaymentMethod` returns two more fields.** Nothing breaks: the
45
+ > return is an intersection, so every existing call site still compiles and
46
+ > a `PaymentCustomer` assignment still type-checks. Read
47
+ > `wasDefault`/`remainingCount` when you want to prompt.
48
+ > 4. **`failureReason` can now say `payment_method_unavailable`.** If you
49
+ > switch on that string, add a branch: it means the card a schedule was
50
+ > pinned to was refused, usually because it was detached. Previously this
51
+ > case surfaced as a raw exception message.
52
+
53
+ ### Added
54
+ - **A recurring schedule can name the card it charges.**
55
+ `RecurringInvoice.paymentMethodId` pins a schedule to one saved card instead
56
+ of the client's provider-level default — departmental billing, or a card that
57
+ is not the client's default. `attemptAutoCharge` threads it to the gateway,
58
+ which has accepted a `paymentMethodId` since 0.5.0 with nothing able to supply
59
+ one. Raised by the jobsites team, who had shipped the feature and switched it
60
+ off: they refuse the enrolment rather than charge the wrong card.
61
+ - **A pinned card that has been detached fails the renewal.** It does not
62
+ fall back to the client default, because falling back charges a card the
63
+ client deliberately did not nominate. The failure carries
64
+ `payment_method_unavailable`, distinct from `no_payment_method`, so a
65
+ consumer can tell "the card you chose is gone" from "you have no card".
66
+ - **The pin is checked when the template is written**, not when it is
67
+ charged: a bad pin discovered at charge time is discovered as a failed
68
+ renewal, which is the failure the feature exists to prevent.
69
+ - **`autoCharge` is settable through the package.** It is a column, it gates
70
+ the whole auto-charge path, and until now neither `create` nor
71
+ `updateTemplate` carried it — a consumer had to write it through their
72
+ repository directly. Found while mapping the above; a pinned card on a
73
+ template whose `autoCharge` nobody can turn on is half a feature.
74
+ - **`removePaymentMethod` reports what it broke.** It now returns
75
+ `remainingCount` and `wasDefault` alongside the customer. `wasDefault: true`
76
+ with `remainingCount > 0` is the state worth acting on — the client has cards
77
+ and nothing chargeable, and the first sign otherwise is a renewal-failure
78
+ email, then a paused schedule. **The package still promotes nothing**:
79
+ choosing a card nobody nominated is the one thing it refuses to do, and the
80
+ consumer knows what their customers mean by removing a default. Costs no
81
+ extra provider calls — the count comes from the listing the ownership check
82
+ already fetched.
83
+ - **`IRecurringInvoiceRepository.findByPaymentMethodId?()`** and
84
+ `RecurringInvoiceService.findByPaymentMethodId` — the schedules pinned to a
85
+ card, so "removing this card stops 3 renewals" can be said before it happens
86
+ rather than discovered after. Optional, so a v0.6.x adapter is unaffected;
87
+ the service throws a named error rather than reporting "nothing breaks"
88
+ without having checked. Closes the `remove-payment-method-cascade` thread
89
+ deferred in May 2026.
90
+ - **`PaymentMethodService.ownsPaymentMethod`** — the ownership check without
91
+ the throw, for a caller validating input rather than acting on it.
92
+
93
+ ### Changed
94
+ - **The `failureReason` vocabulary is documented.** The README listed three of
95
+ the package's tokens and omitted two; there was no enumeration anywhere else,
96
+ and `RecurringPaymentFailedEvent.failureReason` is a bare `string`. The full
97
+ set now has a table, separating the package's own tokens (configuration
98
+ problems, worth alerting on) from provider codes (ordinary declines).
99
+ - **The docs warn against subclassing `StripeGateway`.** A subclass declares
100
+ the signatures it was written against, so an optional parameter added later
101
+ is silently dropped. A consumer carried a 0.2.0-era subclass across an
102
+ upgrade and it discarded the `idempotencyKey` the package computes — two
103
+ PaymentIntents for one renewal, and a $5.00 charge against a $2.50 invoice,
104
+ verified in Stripe test mode. Implement `RecurringPaymentGateway` instead.
105
+ - **`CONTRIBUTING`'s semver table gains a row** for widening a service return
106
+ type. An intersection is assignable to its left side, so existing call sites
107
+ compile and it is a minor with an upgrade note — which is why 0.7.0 has no
108
+ breaking change despite `removePaymentMethod` returning more.
109
+
31
110
  ## [0.6.0] - 2026-09-19
32
111
 
33
112
  > **Upgrade notes.** One optional database column; nothing else to migrate.
package/README.md CHANGED
@@ -22,6 +22,7 @@ Production-grade payments module for NestJS with GraphQL support. Invoicing (inc
22
22
  - [Recurring Invoices](#recurring-invoices)
23
23
  - [Saved Cards](#saved-cards)
24
24
  - [Managing saved cards](#managing-saved-cards)
25
+ - [Pinning a schedule to one card](#pinning-a-schedule-to-one-card)
25
26
  - [E-Transfer](#e-transfer)
26
27
  - [Email Notifications](#email-notifications)
27
28
  - [Event Listeners](#event-listeners)
@@ -151,6 +152,7 @@ Some interfaces also carry **optional methods** that unlock a capability without
151
152
  | `findReusablePendingByInvoiceId` | `IPaymentRepository` | Durable PaymentIntent reuse for inline flows (v0.3.0) |
152
153
  | `findTaxComponentsByInvoice` + `replaceTaxComponents` | `IInvoiceRepository` | Invoices carrying more than one tax (v0.4.0) |
153
154
  | `findTaxComponentsByRecurringInvoice` + `replaceTaxComponents` | `IRecurringInvoiceRepository` | The same, on recurring templates (v0.4.0) |
155
+ | `findByPaymentMethodId` | `IRecurringInvoiceRepository` | Lists the schedules pinned to a card, so you can warn before removing it (v0.7.0) |
154
156
  | `setDefaultPaymentMethod` | `IPaymentCustomerRepository` | Mirrors the provider's default card so it can be shown without a provider call; required by `features.cardManagement` (v0.6.0) |
155
157
  | `findInstallmentByIdForUpdate` | `IPaymentPlanRepository` | Two concurrent `invoiceInstallment` calls for one installment cannot both link an invoice (v0.5.0) |
156
158
 
@@ -855,6 +857,38 @@ Auto-charge: when `autoCharge: true`, the scheduler pulls the stored `PaymentCus
855
857
 
856
858
  Auto-charge requires a saved card — see [Saved Cards](#saved-cards).
857
859
 
860
+ #### Pinning a schedule to one card
861
+
862
+ By default a renewal charges whatever the provider holds as the client's default. Set `paymentMethodId` on the template to charge a specific saved card instead — departmental billing, or a card that is not the client's default:
863
+
864
+ ```typescript
865
+ await recurringInvoices.create(divisionId, {
866
+ ...template,
867
+ autoCharge: true,
868
+ paymentMethodId: 'pm_1UHPtD…', // must already belong to this client
869
+ });
870
+ ```
871
+
872
+ The card is checked against that client when the template is written, not when it is charged — a bad pin discovered at charge time is discovered as a failed renewal, which is the failure this exists to avoid. Requires `features.cardManagement`. Pass `null` on update to unpin and return the schedule to the client default.
873
+
874
+ **A pinned card that has been detached fails the renewal.** It does not fall back to the client default, because falling back charges a card the client deliberately did not nominate. The failure carries `payment_method_unavailable`, distinct from `no_payment_method`, so you can prompt for the right thing.
875
+
876
+ Before removing a card, `recurringInvoices.findByPaymentMethodId(pm)` lists the schedules pinned to it — "removing this card stops 3 renewals" is a warning a person can act on. Schedules riding the client default are not returned: they are not tied to any one card.
877
+
878
+ #### What `failureReason` can say
879
+
880
+ `onRecurringPaymentFailed` and `RecurringInvoice.lastFailureReason` carry one of these. The package's own tokens are configuration problems; anything else is the provider's own code for a decline.
881
+
882
+ | Token | Means |
883
+ |---|---|
884
+ | `invoice_not_payable` | The invoice was not in a payable status when the charge was attempted — usually `autoSend: false`, or sending failed |
885
+ | `no_payment_customer` | The client has no provider customer, so no card to charge |
886
+ | `no_payment_method` | The client has a provider customer but no card the package can resolve |
887
+ | `payment_method_unavailable` | The card this schedule is pinned to was refused by the provider — usually detached (v0.7.0) |
888
+ | `sca_required` | The charge needs customer authentication, which an off-session charge cannot collect |
889
+ | `unknown_error` | An error with no message reached the failure handler. Worth investigating rather than retrying |
890
+ | anything else | A provider code — `card_declined`, `expired_card`, `insufficient_funds`. These are ordinary declines |
891
+
858
892
  Utility helpers exported:
859
893
 
860
894
  ```typescript
@@ -917,15 +951,30 @@ paymentCustomerRepositoryInstance: paymentCustomerRepo,
917
951
  |---|---|
918
952
  | `listPaymentMethods(divisionId, clientDetailsId, provider?)` | The client's saved cards, read from the provider, with `isDefault` flagged. Empty for a client who never saved one. |
919
953
  | `setDefaultPaymentMethod(divisionId, clientDetailsId, paymentMethodId, provider?)` | Makes that card the one auto-charge uses. |
920
- | `removePaymentMethod(divisionId, clientDetailsId, paymentMethodId, provider?)` | Detaches it. Removing the default clears it rather than leaving a card the client no longer has. |
954
+ | `removePaymentMethod(divisionId, clientDetailsId, paymentMethodId, provider?)` | Detaches it. Removing the default clears it rather than leaving a card the client no longer has. Returns the customer plus `{ remainingCount, wasDefault }` — see below (v0.7.0). |
921
955
  | `confirmSetup(divisionId, clientDetailsId, setupIntentId, provider?)` | Records a completed setup session on demand, idempotent with the webhook. |
922
956
  | `resolveChargeablePaymentMethod(divisionId, clientDetailsId, provider?)` | What an auto-charge would use, or `null`. |
923
957
  | `requireChargeablePaymentMethod(…)` | As above but throws `NoChargeablePaymentMethodException`. |
924
958
 
925
959
  **Ownership is checked in the package, not left to you.** Every method taking a `paymentMethodId` verifies it belongs to that client first and throws `PaymentMethodNotOwnedException` otherwise. Getting this wrong is silent and crosses tenants: a consumer who implemented card management themselves checked ownership in one of two adjacent methods and not the other, and the one that skipped it detached whatever id it was handed. If you drive a provider SDK directly anywhere, that check is your obligation.
926
960
 
961
+ **Removal reports what it broke, and promotes nothing.** `wasDefault: true` with `remainingCount > 0` is the state worth acting on: the client has cards and nothing chargeable, and the first sign otherwise is a renewal-failure email. The package will not promote a survivor — choosing a card nobody nominated is the one thing it refuses to do — so prompt the client, or promote from your side with `setDefaultPaymentMethod`. Pair it with `RecurringInvoiceService.findByPaymentMethodId` to say what stops renewing.
962
+
963
+ ```typescript
964
+ const { remainingCount, wasDefault } = await paymentMethods.removePaymentMethod(
965
+ divisionId, clientDetailsId, 'pm_1UHPtD…',
966
+ );
967
+ if (wasDefault && remainingCount > 0) {
968
+ // They have cards and nothing chargeable. Ask which one takes over.
969
+ }
970
+ ```
971
+
972
+ `remainingCount` is counted from the listing the ownership check already fetched, minus the card just removed — a fresh read would cost two more provider calls to report something this call already knew.
973
+
927
974
  **The provider is written before the mirror.** If the mirror write fails, the call still succeeds and logs — the provider is what decides the charge, so a stale cache shows the wrong card while a stale provider would bill the wrong one.
928
975
 
976
+ > **Implement `RecurringPaymentGateway`; do not subclass `StripeGateway`.** A subclass declares the signatures it was written against, so every optional parameter added later is silently dropped on the way through. A consumer carried a 0.2.0-era subclass across an upgrade and it discarded the `idempotencyKey` the package computes — two PaymentIntents for one renewal, and a $5.00 charge against a $2.50 invoice. The failure is silent and monetary, and nothing in the type system catches it.
977
+
929
978
  A custom gateway needs `listPaymentMethods`, `detachPaymentMethod`, `setDefaultPaymentMethod` and `getDefaultPaymentMethod` on `RecurringPaymentGateway`. All four are optional, so a v0.5.x gateway still compiles; `GatewayRegistryService.getPaymentMethodCapable()` throws `PaymentMethodOperationNotSupportedException` if any is missing.
930
979
 
931
980
  **If no card resolves, the charge is refused.** `createOffSessionPayment` returns `failureReason: 'no_payment_method'` without calling the provider. It never falls back to the most recently added card — billing a card the client did not choose for this is worse than not billing.
@@ -1230,7 +1279,7 @@ What to watch once this is live. The package emits these; none of them page you
1230
1279
  | `failures[]` | Return of all three `PaymentJobsService` jobs | Individual invoices failed their sweep. Non-empty for two consecutive runs is worth a look. |
1231
1280
  | `updated` | `runReconciliation` | Payments the sweep had to fix because no webhook arrived. **Persistently non-zero means your webhook endpoint is broken**, and invoices are closing up to 15 minutes late. |
1232
1281
  | Webhook 500 rate | Your HTTP logs, or `webhook.errorReporter` | Since v0.5.0 a failed handler answers 500 so Stripe retries. A sustained rate means handlers are failing and you have ~3 days before Stripe disables the endpoint. |
1233
- | `onRecurringPaymentFailed` | Event listener | `failureReason` is one of `invoice_not_payable`, `no_payment_customer`, `no_payment_method`, or a provider code. The first three are configuration, not declines. |
1282
+ | `onRecurringPaymentFailed` | Event listener | See the `failureReason` table under [Recurring Invoices](#recurring-invoices). The package's own tokens are configuration problems, not declines, and are worth alerting on separately from card failures. |
1234
1283
  | `onRecurringInvoicePaused` | Event listener | Three consecutive failures auto-paused a subscription. It stays paused until someone resumes it. |
1235
1284
  | `Payment.needsReconciliation` | Your database | Set when a provider session could not be cancelled during a void. The session may still be payable. |
1236
1285
  | `onPaymentDisputed` | Event listener | A chargeback. The funds are already gone; the package records it and leaves the invoice alone. |
@@ -17,4 +17,6 @@ export declare class CreateRecurringInvoiceInput {
17
17
  clientNotes?: string;
18
18
  metadata?: Record<string, string>;
19
19
  lineItems: CreateRecurringLineItemInput[];
20
+ autoCharge?: boolean;
21
+ paymentMethodId?: string;
20
22
  }
@@ -119,6 +119,22 @@ __decorate([
119
119
  (0, class_transformer_1.Type)(() => create_recurring_line_item_input_1.CreateRecurringLineItemInput),
120
120
  __metadata("design:type", Array)
121
121
  ], CreateRecurringInvoiceInput.prototype, "lineItems", void 0);
122
+ __decorate([
123
+ (0, graphql_1.Field)({ nullable: true, description: 'Charge the saved card on renewal' }),
124
+ (0, class_validator_1.IsOptional)(),
125
+ (0, class_validator_1.IsBoolean)(),
126
+ __metadata("design:type", Boolean)
127
+ ], CreateRecurringInvoiceInput.prototype, "autoCharge", void 0);
128
+ __decorate([
129
+ (0, graphql_1.Field)({
130
+ nullable: true,
131
+ description: 'Pin this schedule to one saved card instead of the client default',
132
+ }),
133
+ (0, class_validator_1.IsOptional)(),
134
+ (0, class_validator_1.IsString)(),
135
+ (0, class_validator_1.MaxLength)(255),
136
+ __metadata("design:type", String)
137
+ ], CreateRecurringInvoiceInput.prototype, "paymentMethodId", void 0);
122
138
  exports.CreateRecurringInvoiceInput = CreateRecurringInvoiceInput = __decorate([
123
139
  (0, graphql_1.InputType)()
124
140
  ], CreateRecurringInvoiceInput);
@@ -1 +1 @@
1
- {"version":3,"file":"create-recurring-invoice.input.js","sourceRoot":"","sources":["../../src/dto/create-recurring-invoice.input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-recurring-invoice.input.js","sourceRoot":"","sources":["../../src/dto/create-recurring-invoice.input.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,6 @@ export declare class UpdateRecurringTemplateInput {
11
11
  metadata?: Record<string, string>;
12
12
  autoSend?: boolean;
13
13
  lineItems?: CreateRecurringLineItemInput[];
14
+ autoCharge?: boolean;
15
+ paymentMethodId?: string | null;
14
16
  }
@@ -91,6 +91,19 @@ __decorate([
91
91
  (0, class_transformer_1.Type)(() => create_recurring_line_item_input_1.CreateRecurringLineItemInput),
92
92
  __metadata("design:type", Array)
93
93
  ], UpdateRecurringTemplateInput.prototype, "lineItems", void 0);
94
+ __decorate([
95
+ (0, graphql_1.Field)({ nullable: true }),
96
+ (0, class_validator_1.IsOptional)(),
97
+ (0, class_validator_1.IsBoolean)(),
98
+ __metadata("design:type", Boolean)
99
+ ], UpdateRecurringTemplateInput.prototype, "autoCharge", void 0);
100
+ __decorate([
101
+ (0, graphql_1.Field)(() => String, { nullable: true }),
102
+ (0, class_validator_1.IsOptional)(),
103
+ (0, class_validator_1.IsString)(),
104
+ (0, class_validator_1.MaxLength)(255),
105
+ __metadata("design:type", Object)
106
+ ], UpdateRecurringTemplateInput.prototype, "paymentMethodId", void 0);
94
107
  exports.UpdateRecurringTemplateInput = UpdateRecurringTemplateInput = __decorate([
95
108
  (0, graphql_1.InputType)()
96
109
  ], UpdateRecurringTemplateInput);
@@ -1 +1 @@
1
- {"version":3,"file":"update-recurring-template.input.js","sourceRoot":"","sources":["../../src/dto/update-recurring-template.input.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA0D;AAC1D,yDAAyC;AACzC,qDAUyB;AACzB,0EAA4C;AAC5C,yFAAkF;AAClF,6EAAuE;AACvE,0DAAsD;AAG/C,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;CAqExC,CAAA;AArEY,oEAA4B;AAMvC;IALC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,eAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,qBAAG,EAAC,CAAC,CAAC;;6DACU;AAiBjB;IAJC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,oDAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,oDAAuB,CAAC;;mEACM;AAM1C;IAJC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;8DACK;AAMlB;IAJC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,IAAI,CAAC;;2DACD;AAMf;IAJC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,IAAI,CAAC;;iEACK;AAMrB;IAJC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;mEACQ;AAKvB;IAHC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;iEACY;AAKrB;IAHC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,2BAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAU,GAAE;;8DACqB;AAKlC;IAHC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;8DACO;AAMnB;IAJC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,+DAA4B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,+DAA4B,CAAC;;+DACE;uCApEhC,4BAA4B;IADxC,IAAA,mBAAS,GAAE;GACC,4BAA4B,CAqExC"}
1
+ {"version":3,"file":"update-recurring-template.input.js","sourceRoot":"","sources":["../../src/dto/update-recurring-template.input.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,7 @@ export declare class StripeGateway implements PaymentGateway, RecurringPaymentGa
106
106
  madeDefault: boolean;
107
107
  }>;
108
108
  private wrapStripeError;
109
+ private isMissingPaymentMethod;
109
110
  private resolveDefaultPaymentMethod;
110
111
  createSetupSession(params: {
111
112
  providerCustomerId: string;
@@ -505,6 +505,17 @@ class StripeGateway {
505
505
  failureReason: error.code ?? 'card_declined',
506
506
  };
507
507
  }
508
+ if (error instanceof stripe_1.default.errors.StripeInvalidRequestError &&
509
+ this.isMissingPaymentMethod(error)) {
510
+ this.logger.warn(`Off-session charge for customer ${params.providerCustomerId} named ` +
511
+ `payment method ${params.paymentMethodId ?? '(resolved default)'}, ` +
512
+ `which the provider will not accept: ${error.message}`);
513
+ return {
514
+ providerPaymentId: error.payment_intent?.id ?? '',
515
+ status: 'failed',
516
+ failureReason: 'payment_method_unavailable',
517
+ };
518
+ }
508
519
  throw new exceptions_1.PaymentGatewayException(`Off-session payment failed: ${error instanceof Error ? error.message : String(error)}`);
509
520
  }
510
521
  }
@@ -614,6 +625,14 @@ class StripeGateway {
614
625
  }
615
626
  return error;
616
627
  }
628
+ isMissingPaymentMethod(error) {
629
+ const param = error.param ?? '';
630
+ if (param === 'payment_method' || param.startsWith('payment_method')) {
631
+ return true;
632
+ }
633
+ return (error.code === 'resource_missing' &&
634
+ /payment ?method/i.test(error.message ?? ''));
635
+ }
617
636
  async resolveDefaultPaymentMethod(providerCustomerId) {
618
637
  const customer = await this.stripe.customers.retrieve(providerCustomerId);
619
638
  if (customer.deleted)
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.gateway.js","sourceRoot":"","sources":["../../../src/gateways/stripe/stripe.gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe.gateway.js","sourceRoot":"","sources":["../../../src/gateways/stripe/stripe.gateway.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ export interface IRecurringInvoiceRepository {
15
15
  replaceTaxComponents?(recurringInvoiceId: string, components: CreateRecurringInvoiceTaxComponentData[]): Promise<RecurringInvoiceTaxComponent[]>;
16
16
  replaceLineItems(recurringInvoiceId: string, items: CreateRecurringLineItemData[]): Promise<RecurringInvoiceLineItem[]>;
17
17
  claimDueRecurringInvoices(now: Date, limit: number, computeNextDate: (config: RecurringInvoice) => Date): Promise<RecurringInvoiceWithItems[]>;
18
+ findByPaymentMethodId?(paymentMethodId: string, divisionId?: string): Promise<RecurringInvoice[]>;
18
19
  }
@@ -28,6 +28,7 @@ export declare class RecurringInvoiceModel {
28
28
  referenceType?: string;
29
29
  referenceId?: string;
30
30
  autoCharge: boolean;
31
+ paymentMethodId?: string | null;
31
32
  metadata?: Record<string, unknown>;
32
33
  consecutiveFailures: number;
33
34
  lastFailureReason?: string;
@@ -100,6 +100,15 @@ __decorate([
100
100
  (0, graphql_1.Field)(),
101
101
  __metadata("design:type", Boolean)
102
102
  ], RecurringInvoiceModel.prototype, "autoCharge", void 0);
103
+ __decorate([
104
+ (0, graphql_1.Field)(() => String, {
105
+ nullable: true,
106
+ description: 'Saved card this schedule charges instead of the client default. Null ' +
107
+ 'means the client default. A pinned card that has been detached fails ' +
108
+ 'the renewal rather than falling back.',
109
+ }),
110
+ __metadata("design:type", Object)
111
+ ], RecurringInvoiceModel.prototype, "paymentMethodId", void 0);
103
112
  __decorate([
104
113
  (0, graphql_1.Field)(() => graphql_type_json_1.default, { nullable: true }),
105
114
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"recurring-invoice.model.js","sourceRoot":"","sources":["../../src/models/recurring-invoice.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recurring-invoice.model.js","sourceRoot":"","sources":["../../src/models/recurring-invoice.model.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,10 @@ function requirementsFor(features) {
63
63
  model: 'RecurringInvoice',
64
64
  fields: [
65
65
  ...TIMESTAMPS,
66
- ...columns_1.RECURRING_INVOICE_COLUMNS,
66
+ ...columns_1.RECURRING_INVOICE_BASE_COLUMNS,
67
+ ...(features.cardManagement
68
+ ? columns_1.RECURRING_INVOICE_PAYMENT_METHOD_COLUMNS
69
+ : []),
67
70
  'templateLineItems',
68
71
  ...(features.taxComponents ? ['templateTaxComponents'] : []),
69
72
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"assert-payments-schema.js","sourceRoot":"","sources":["../../src/prisma/assert-payments-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assert-payments-schema.js","sourceRoot":"","sources":["../../src/prisma/assert-payments-schema.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,9 @@ export declare const REFUND_COLUMNS: readonly ["paymentId", "amount", "currency"
8
8
  export declare const PROCESSED_WEBHOOK_EVENT_COLUMNS: readonly ["eventId", "processedAt"];
9
9
  export declare const PAYMENT_PLAN_COLUMNS: readonly ["divisionId", "status", "clientDetailsId", "referenceType", "referenceId", "totalAmount", "currency", "name", "description", "createdBy", "cancelledBy", "cancelledAt", "cancelReason"];
10
10
  export declare const PAYMENT_PLAN_INSTALLMENT_COLUMNS: readonly ["paymentPlanId", "sequenceOrder", "amount", "status", "dueAt", "invoiceId"];
11
- export declare const RECURRING_INVOICE_COLUMNS: readonly ["divisionId", "intervalUnit", "intervalValue", "anchorDate", "nextInvoiceAt", "lastGeneratedAt", "status", "autoSend", "clientDetailsId", "currency", "taxRate", "notes", "clientNotes", "referenceType", "referenceId", "autoCharge", "metadata", "consecutiveFailures", "lastFailureReason", "pausedAt", "pausedBy", "cancelledAt", "cancelledBy", "cancelReason", "createdBy"];
11
+ export declare const RECURRING_INVOICE_BASE_COLUMNS: readonly ["divisionId", "intervalUnit", "intervalValue", "anchorDate", "nextInvoiceAt", "lastGeneratedAt", "status", "autoSend", "clientDetailsId", "currency", "taxRate", "notes", "clientNotes", "referenceType", "referenceId", "autoCharge", "metadata", "consecutiveFailures", "lastFailureReason", "pausedAt", "pausedBy", "cancelledAt", "cancelledBy", "cancelReason", "createdBy"];
12
+ export declare const RECURRING_INVOICE_PAYMENT_METHOD_COLUMNS: readonly ["paymentMethodId"];
13
+ export declare const RECURRING_INVOICE_COLUMNS: readonly ["divisionId", "intervalUnit", "intervalValue", "anchorDate", "nextInvoiceAt", "lastGeneratedAt", "status", "autoSend", "clientDetailsId", "currency", "taxRate", "notes", "clientNotes", "referenceType", "referenceId", "autoCharge", "metadata", "consecutiveFailures", "lastFailureReason", "pausedAt", "pausedBy", "cancelledAt", "cancelledBy", "cancelReason", "createdBy", "paymentMethodId"];
12
14
  export declare const RECURRING_INVOICE_LINE_ITEM_COLUMNS: readonly ["recurringInvoiceId", "description", "quantity", "unitPrice", "sortOrder", "isTaxable", "referenceType", "referenceId", "metadata"];
13
15
  export declare const RECURRING_INVOICE_TAX_COMPONENT_COLUMNS: readonly ["recurringInvoiceId", "name", "rate", "authority", "registrationNumber", "sortOrder"];
14
16
  export declare const PAYMENT_CUSTOMER_BASE_COLUMNS: readonly ["divisionId", "clientDetailsId", "provider", "providerCustomerId"];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PAYMENT_CUSTOMER_COLUMNS = exports.PAYMENT_CUSTOMER_CARD_COLUMNS = exports.PAYMENT_CUSTOMER_BASE_COLUMNS = exports.RECURRING_INVOICE_TAX_COMPONENT_COLUMNS = exports.RECURRING_INVOICE_LINE_ITEM_COLUMNS = exports.RECURRING_INVOICE_COLUMNS = exports.PAYMENT_PLAN_INSTALLMENT_COLUMNS = exports.PAYMENT_PLAN_COLUMNS = exports.PROCESSED_WEBHOOK_EVENT_COLUMNS = exports.REFUND_COLUMNS = exports.PAYMENT_COLUMNS = exports.INVOICE_TAX_COMPONENT_COLUMNS = exports.INVOICE_LINE_ITEM_COLUMNS = exports.INVOICE_COLUMNS = exports.PAYMENT_PROVIDER_COLUMNS = exports.PAYMENT_CONFIG_COLUMNS = void 0;
3
+ exports.PAYMENT_CUSTOMER_COLUMNS = exports.PAYMENT_CUSTOMER_CARD_COLUMNS = exports.PAYMENT_CUSTOMER_BASE_COLUMNS = exports.RECURRING_INVOICE_TAX_COMPONENT_COLUMNS = exports.RECURRING_INVOICE_LINE_ITEM_COLUMNS = exports.RECURRING_INVOICE_COLUMNS = exports.RECURRING_INVOICE_PAYMENT_METHOD_COLUMNS = exports.RECURRING_INVOICE_BASE_COLUMNS = exports.PAYMENT_PLAN_INSTALLMENT_COLUMNS = exports.PAYMENT_PLAN_COLUMNS = exports.PROCESSED_WEBHOOK_EVENT_COLUMNS = exports.REFUND_COLUMNS = exports.PAYMENT_COLUMNS = exports.INVOICE_TAX_COMPONENT_COLUMNS = exports.INVOICE_LINE_ITEM_COLUMNS = exports.INVOICE_COLUMNS = exports.PAYMENT_PROVIDER_COLUMNS = exports.PAYMENT_CONFIG_COLUMNS = void 0;
4
4
  exports.PAYMENT_CONFIG_COLUMNS = [
5
5
  'divisionId',
6
6
  'eTransferEnabled',
@@ -122,7 +122,7 @@ exports.PAYMENT_PLAN_INSTALLMENT_COLUMNS = [
122
122
  'dueAt',
123
123
  'invoiceId',
124
124
  ];
125
- exports.RECURRING_INVOICE_COLUMNS = [
125
+ exports.RECURRING_INVOICE_BASE_COLUMNS = [
126
126
  'divisionId',
127
127
  'intervalUnit',
128
128
  'intervalValue',
@@ -149,6 +149,13 @@ exports.RECURRING_INVOICE_COLUMNS = [
149
149
  'cancelReason',
150
150
  'createdBy',
151
151
  ];
152
+ exports.RECURRING_INVOICE_PAYMENT_METHOD_COLUMNS = [
153
+ 'paymentMethodId',
154
+ ];
155
+ exports.RECURRING_INVOICE_COLUMNS = [
156
+ ...exports.RECURRING_INVOICE_BASE_COLUMNS,
157
+ ...exports.RECURRING_INVOICE_PAYMENT_METHOD_COLUMNS,
158
+ ];
152
159
  exports.RECURRING_INVOICE_LINE_ITEM_COLUMNS = [
153
160
  'recurringInvoiceId',
154
161
  'description',
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../src/prisma/columns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../src/prisma/columns.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare class PrismaRecurringInvoiceRepository extends PrismaRepositoryBa
21
21
  findTaxComponentsByRecurringInvoice(recurringInvoiceId: string): Promise<RecurringInvoiceTaxComponent[]>;
22
22
  replaceTaxComponents(recurringInvoiceId: string, components: CreateRecurringInvoiceTaxComponentData[]): Promise<RecurringInvoiceTaxComponent[]>;
23
23
  claimDueRecurringInvoices(now: Date, limit: number, computeNextDate: (config: RecurringInvoice) => Date): Promise<RecurringInvoiceWithItems[]>;
24
+ findByPaymentMethodId(paymentMethodId: string, divisionId?: string): Promise<RecurringInvoice[]>;
24
25
  protected templateData(data: Partial<RecurringInvoice> | CreateRecurringInvoiceData): Record<string, unknown>;
25
26
  protected lineItemData(data: CreateRecurringLineItemData): Record<string, unknown>;
26
27
  protected toRecurringInvoice(row: unknown): RecurringInvoice;
@@ -146,6 +146,16 @@ class PrismaRecurringInvoiceRepository extends prisma_repository_base_1.PrismaRe
146
146
  }));
147
147
  return rows.map((row) => this.toRecurringInvoiceWithItems(row));
148
148
  }
149
+ async findByPaymentMethodId(paymentMethodId, divisionId) {
150
+ const rows = await this.templates.findMany({
151
+ where: {
152
+ paymentMethodId,
153
+ ...(divisionId ? { divisionId } : {}),
154
+ },
155
+ orderBy: { nextInvoiceAt: 'asc' },
156
+ });
157
+ return rows.map((row) => this.toRecurringInvoice(row));
158
+ }
149
159
  templateData(data) {
150
160
  return {
151
161
  ...this.pick(data, columns_1.RECURRING_INVOICE_COLUMNS),
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-recurring-invoice.repository.js","sourceRoot":"","sources":["../../src/prisma/prisma-recurring-invoice.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-recurring-invoice.repository.js","sourceRoot":"","sources":["../../src/prisma/prisma-recurring-invoice.repository.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,10 @@ export declare class PaymentMethodService {
9
9
  constructor(customerRepo: IPaymentCustomerRepository | null, gatewayRegistry: GatewayRegistryService);
10
10
  listPaymentMethods(divisionId: string, clientDetailsId: string, provider?: string): Promise<SavedPaymentMethod[]>;
11
11
  setDefaultPaymentMethod(divisionId: string, clientDetailsId: string, paymentMethodId: string, provider?: string): Promise<PaymentCustomer>;
12
- removePaymentMethod(divisionId: string, clientDetailsId: string, paymentMethodId: string, provider?: string): Promise<PaymentCustomer>;
12
+ removePaymentMethod(divisionId: string, clientDetailsId: string, paymentMethodId: string, provider?: string): Promise<PaymentCustomer & {
13
+ remainingCount: number;
14
+ wasDefault: boolean;
15
+ }>;
13
16
  confirmSetup(divisionId: string, clientDetailsId: string, setupIntentId: string, provider?: string): Promise<PaymentCustomer>;
14
17
  resolveChargeablePaymentMethod(divisionId: string, clientDetailsId: string, provider?: string): Promise<string | null>;
15
18
  requireChargeablePaymentMethod(divisionId: string, clientDetailsId: string, provider?: string): Promise<string>;
@@ -17,5 +20,6 @@ export declare class PaymentMethodService {
17
20
  private findCustomer;
18
21
  private requireCustomer;
19
22
  private assertOwned;
23
+ ownsPaymentMethod(divisionId: string, clientDetailsId: string, paymentMethodId: string, provider?: string): Promise<boolean>;
20
24
  private mirrorDefault;
21
25
  }
@@ -46,7 +46,7 @@ let PaymentMethodService = PaymentMethodService_1 = class PaymentMethodService {
46
46
  async removePaymentMethod(divisionId, clientDetailsId, paymentMethodId, provider = 'stripe') {
47
47
  const customer = await this.requireCustomer(divisionId, clientDetailsId, provider);
48
48
  const gateway = this.gatewayRegistry.getPaymentMethodCapable(provider);
49
- await this.assertOwned(gateway, customer, paymentMethodId);
49
+ const { methods, method } = await this.assertOwned(gateway, customer, paymentMethodId);
50
50
  await gateway.detachPaymentMethod({
51
51
  providerCustomerId: customer.providerCustomerId,
52
52
  paymentMethodId,
@@ -54,7 +54,12 @@ let PaymentMethodService = PaymentMethodService_1 = class PaymentMethodService {
54
54
  const remaining = await gateway.getDefaultPaymentMethod({
55
55
  providerCustomerId: customer.providerCustomerId,
56
56
  });
57
- return this.mirrorDefault(customer, remaining);
57
+ const updated = await this.mirrorDefault(customer, remaining);
58
+ return {
59
+ ...updated,
60
+ remainingCount: methods.length - 1,
61
+ wasDefault: method.isDefault,
62
+ };
58
63
  }
59
64
  async confirmSetup(divisionId, clientDetailsId, setupIntentId, provider = 'stripe') {
60
65
  const customer = await this.requireCustomer(divisionId, clientDetailsId, provider);
@@ -116,10 +121,22 @@ let PaymentMethodService = PaymentMethodService_1 = class PaymentMethodService {
116
121
  const methods = await gateway.listPaymentMethods({
117
122
  providerCustomerId: customer.providerCustomerId,
118
123
  });
119
- if (!methods.some((method) => method.id === paymentMethodId)) {
124
+ const method = methods.find((m) => m.id === paymentMethodId);
125
+ if (!method) {
120
126
  throw new exceptions_1.PaymentMethodNotOwnedException(`Payment method ${paymentMethodId} does not belong to client ` +
121
127
  `${customer.clientDetailsId} in division ${customer.divisionId}.`);
122
128
  }
129
+ return { methods, method };
130
+ }
131
+ async ownsPaymentMethod(divisionId, clientDetailsId, paymentMethodId, provider = 'stripe') {
132
+ const customer = await this.findCustomer(divisionId, clientDetailsId, provider);
133
+ if (!customer)
134
+ return false;
135
+ const gateway = this.gatewayRegistry.getPaymentMethodCapable(provider);
136
+ const methods = await gateway.listPaymentMethods({
137
+ providerCustomerId: customer.providerCustomerId,
138
+ });
139
+ return methods.some((method) => method.id === paymentMethodId);
123
140
  }
124
141
  async mirrorDefault(customer, paymentMethodId) {
125
142
  const repo = this.requireRepo();
@@ -1 +1 @@
1
- {"version":3,"file":"payment-method.service.js","sourceRoot":"","sources":["../../src/services/payment-method.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment-method.service.js","sourceRoot":"","sources":["../../src/services/payment-method.service.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { InvoiceService, type TaxComponentInput, type TaxOptions } from './invoi
7
7
  import { PaymentService } from './payment.service';
8
8
  import { PaymentConfigService } from './payment-config.service';
9
9
  import { CustomerService } from './customer.service';
10
+ import { PaymentMethodService } from './payment-method.service';
10
11
  import { GatewayRegistryService } from '../gateways/gateway-registry.service';
11
12
  export interface CreateRecurringInvoiceInput {
12
13
  intervalUnit: 'DAYS' | 'MONTHS';
@@ -18,6 +19,8 @@ export interface CreateRecurringInvoiceInput {
18
19
  taxRate?: number;
19
20
  taxComponents?: TaxComponentInput[];
20
21
  autoSend?: boolean;
22
+ autoCharge?: boolean;
23
+ paymentMethodId?: string;
21
24
  notes?: string;
22
25
  clientNotes?: string;
23
26
  referenceType?: string;
@@ -44,6 +47,8 @@ export interface UpdateRecurringTemplateInput {
44
47
  referenceId?: string | null;
45
48
  metadata?: Record<string, unknown> | null;
46
49
  autoSend?: boolean;
50
+ autoCharge?: boolean;
51
+ paymentMethodId?: string | null;
47
52
  lineItems?: Array<{
48
53
  description: string;
49
54
  quantity: number;
@@ -64,9 +69,10 @@ export declare class RecurringInvoiceService implements OnModuleInit {
64
69
  private readonly gatewayRegistry;
65
70
  private readonly moduleRef;
66
71
  private readonly taxOptions;
72
+ private readonly paymentMethodService;
67
73
  private readonly logger;
68
74
  private paymentEventListener;
69
- constructor(repo: IRecurringInvoiceRepository | null, invoiceService: InvoiceService, paymentService: PaymentService, configService: PaymentConfigService, customerService: CustomerService, gatewayRegistry: GatewayRegistryService, moduleRef: ModuleRef, taxOptions: TaxOptions);
75
+ constructor(repo: IRecurringInvoiceRepository | null, invoiceService: InvoiceService, paymentService: PaymentService, configService: PaymentConfigService, customerService: CustomerService, gatewayRegistry: GatewayRegistryService, moduleRef: ModuleRef, taxOptions: TaxOptions, paymentMethodService: PaymentMethodService);
70
76
  onModuleInit(): void;
71
77
  create(divisionId: string, input: CreateRecurringInvoiceInput, createdBy: string): Promise<RecurringInvoiceWithItems>;
72
78
  pause(id: string, divisionId: string, pausedBy: string, _reason?: string): Promise<RecurringInvoice>;
@@ -83,6 +89,8 @@ export declare class RecurringInvoiceService implements OnModuleInit {
83
89
  errors: number;
84
90
  }>;
85
91
  triggerRecurringInvoice(id: string, divisionId: string): Promise<InvoiceWithItems>;
92
+ findByPaymentMethodId(paymentMethodId: string, divisionId?: string): Promise<RecurringInvoice[]>;
93
+ private assertPinnableCard;
86
94
  private requireRepo;
87
95
  private validateTemplateTaxComponents;
88
96
  private requireTemplateTaxComponentSupport;
@@ -22,6 +22,7 @@ const invoice_service_1 = require("./invoice.service");
22
22
  const payment_service_1 = require("./payment.service");
23
23
  const payment_config_service_1 = require("./payment-config.service");
24
24
  const customer_service_1 = require("./customer.service");
25
+ const payment_method_service_1 = require("./payment-method.service");
25
26
  const gateway_registry_service_1 = require("../gateways/gateway-registry.service");
26
27
  const recurring_interval_util_1 = require("./recurring-interval.util");
27
28
  const UPDATABLE_STATUSES = new Set(['ACTIVE', 'PAUSED']);
@@ -39,7 +40,7 @@ class SimpleDecimal {
39
40
  }
40
41
  }
41
42
  let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoiceService {
42
- constructor(repo, invoiceService, paymentService, configService, customerService, gatewayRegistry, moduleRef, taxOptions) {
43
+ constructor(repo, invoiceService, paymentService, configService, customerService, gatewayRegistry, moduleRef, taxOptions, paymentMethodService) {
43
44
  this.repo = repo;
44
45
  this.invoiceService = invoiceService;
45
46
  this.paymentService = paymentService;
@@ -48,6 +49,7 @@ let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoice
48
49
  this.gatewayRegistry = gatewayRegistry;
49
50
  this.moduleRef = moduleRef;
50
51
  this.taxOptions = taxOptions;
52
+ this.paymentMethodService = paymentMethodService;
51
53
  this.logger = new common_1.Logger(RecurringInvoiceService_1.name);
52
54
  this.paymentEventListener = null;
53
55
  }
@@ -67,6 +69,9 @@ let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoice
67
69
  if (input.intervalValue < 1) {
68
70
  throw new exceptions_1.InvalidRecurringInvoiceStateException('intervalValue must be >= 1');
69
71
  }
72
+ if (input.paymentMethodId) {
73
+ await this.assertPinnableCard(divisionId, input.clientDetailsId, input.paymentMethodId);
74
+ }
70
75
  const nextInvoiceAt = input.nextInvoiceAt ??
71
76
  (0, recurring_interval_util_1.computeNextInvoiceDate)(input.anchorDate, input.intervalUnit, input.intervalValue, 1);
72
77
  if (input.taxComponents) {
@@ -101,6 +106,8 @@ let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoice
101
106
  referenceType: input.referenceType,
102
107
  referenceId: input.referenceId,
103
108
  metadata: input.metadata,
109
+ autoCharge: input.autoCharge,
110
+ paymentMethodId: input.paymentMethodId,
104
111
  };
105
112
  const config = await this.requireRepo().create(createData);
106
113
  if (componentInputs) {
@@ -181,6 +188,9 @@ let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoice
181
188
  if (!UPDATABLE_STATUSES.has(config.status)) {
182
189
  throw new exceptions_1.InvalidRecurringInvoiceStateException(`Cannot update recurring invoice in "${config.status}" status. Must be ACTIVE or PAUSED.`);
183
190
  }
191
+ if (input.paymentMethodId) {
192
+ await this.assertPinnableCard(divisionId, config.clientDetailsId, input.paymentMethodId);
193
+ }
184
194
  if (input.taxComponents !== undefined) {
185
195
  this.requireTemplateTaxComponentSupport();
186
196
  }
@@ -224,6 +234,12 @@ let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoice
224
234
  if (input.autoSend !== undefined) {
225
235
  updateData.autoSend = input.autoSend;
226
236
  }
237
+ if (input.autoCharge !== undefined) {
238
+ updateData.autoCharge = input.autoCharge;
239
+ }
240
+ if (input.paymentMethodId !== undefined) {
241
+ updateData.paymentMethodId = input.paymentMethodId;
242
+ }
227
243
  if (Object.keys(updateData).length > 0) {
228
244
  await this.requireRepo().update(id, updateData);
229
245
  }
@@ -309,6 +325,34 @@ let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoice
309
325
  }
310
326
  return this.generateInvoiceFromConfig(config);
311
327
  }
328
+ async findByPaymentMethodId(paymentMethodId, divisionId) {
329
+ const repo = this.requireRepo();
330
+ if (!repo.findByPaymentMethodId) {
331
+ throw new exceptions_1.InvalidRecurringInvoiceStateException('This IRecurringInvoiceRepository does not implement ' +
332
+ 'findByPaymentMethodId (optional, added in v0.7.0), so the schedules ' +
333
+ 'pinned to a card cannot be listed. Implement it, or do not offer the ' +
334
+ 'warning — reporting "nothing breaks" without checking is worse than ' +
335
+ 'not reporting.');
336
+ }
337
+ return repo.findByPaymentMethodId(paymentMethodId, divisionId);
338
+ }
339
+ async assertPinnableCard(divisionId, clientDetailsId, paymentMethodId) {
340
+ let owns;
341
+ try {
342
+ owns = await this.paymentMethodService.ownsPaymentMethod(divisionId, clientDetailsId, paymentMethodId);
343
+ }
344
+ catch (error) {
345
+ throw new exceptions_1.InvalidRecurringInvoiceStateException(`Cannot pin a payment method to this template: saved-card management is ` +
346
+ `not available. Enable features.cardManagement and use a gateway that ` +
347
+ `implements the card-management members. ` +
348
+ `(${error instanceof Error ? error.message : String(error)})`);
349
+ }
350
+ if (!owns) {
351
+ throw new exceptions_1.PaymentMethodNotOwnedException(`Payment method ${paymentMethodId} does not belong to client ` +
352
+ `${clientDetailsId} in division ${divisionId}, so it cannot be pinned ` +
353
+ `to a recurring template.`);
354
+ }
355
+ }
312
356
  requireRepo() {
313
357
  if (!this.repo) {
314
358
  throw new Error('RecurringInvoiceService requires recurringInvoiceRepositoryInstance, but ' +
@@ -473,6 +517,9 @@ let RecurringInvoiceService = RecurringInvoiceService_1 = class RecurringInvoice
473
517
  invoiceId: invoice.id,
474
518
  recurringInvoiceId: config.id,
475
519
  },
520
+ ...(config.paymentMethodId
521
+ ? { paymentMethodId: config.paymentMethodId }
522
+ : {}),
476
523
  idempotencyKey: `off-session:${invoice.id}:${config.consecutiveFailures}`,
477
524
  });
478
525
  if (result.status === 'succeeded') {
@@ -583,6 +630,6 @@ exports.RecurringInvoiceService = RecurringInvoiceService = RecurringInvoiceServ
583
630
  payment_config_service_1.PaymentConfigService,
584
631
  customer_service_1.CustomerService,
585
632
  gateway_registry_service_1.GatewayRegistryService,
586
- core_1.ModuleRef, Object])
633
+ core_1.ModuleRef, Object, payment_method_service_1.PaymentMethodService])
587
634
  ], RecurringInvoiceService);
588
635
  //# sourceMappingURL=recurring-invoice.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recurring-invoice.service.js","sourceRoot":"","sources":["../../src/services/recurring-invoice.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recurring-invoice.service.js","sourceRoot":"","sources":["../../src/services/recurring-invoice.service.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export interface RecurringInvoice {
19
19
  referenceType: string | null;
20
20
  referenceId: string | null;
21
21
  autoCharge: boolean;
22
+ paymentMethodId?: string | null;
22
23
  metadata: Record<string, unknown> | null;
23
24
  consecutiveFailures: number;
24
25
  lastFailureReason: string | null;
@@ -84,6 +85,8 @@ export interface CreateRecurringInvoiceData {
84
85
  referenceType?: string;
85
86
  referenceId?: string;
86
87
  metadata?: Record<string, unknown> | null;
88
+ autoCharge?: boolean;
89
+ paymentMethodId?: string;
87
90
  }
88
91
  export interface CreateRecurringLineItemData {
89
92
  recurringInvoiceId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ambushsoftworks/nestjs-payments-graphql",
3
- "version": "0.6.0",
3
+ "version": "0.7.0-rc.1",
4
4
  "description": "NestJS payments module with GraphQL support — invoicing, payment processing, recurring billing, and email notifications",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -51,6 +51,8 @@
51
51
  // Required when `features.cardManagement = true`:
52
52
  // - PaymentCustomer, including its `defaultPaymentMethodId` column
53
53
  // (also required by features.recurringInvoices, minus that column)
54
+ // - RecurringInvoice's `paymentMethodId` column, when features.recurringInvoices
55
+ // is also on (the model itself is required by that flag)
54
56
  //
55
57
  // Required only for invoices carrying more than one tax (GST + QST, state +
56
58
  // county + city). Single-rate invoices use `Invoice.taxRate` and need none of
@@ -529,8 +531,18 @@ model RecurringInvoice {
529
531
  referenceType String?
530
532
  referenceId String?
531
533
 
532
- // Auto-charge — uses the stored PaymentCustomer for the client
534
+ // Auto-charge — charges the client's stored PaymentCustomer on each renewal
533
535
  autoCharge Boolean @default(false)
536
+
537
+ /// Charge this saved card instead of the client's provider-level default.
538
+ /// Null means "use whatever the provider holds as the default", which is how
539
+ /// every template behaved before v0.7.0. Set it when a client nominates a
540
+ /// specific card for one schedule.
541
+ /// A pinned card that has been detached FAILS the charge rather than falling
542
+ /// back — falling back would bill a card the client did not nominate.
543
+ /// Required when features.cardManagement = true. Added in v0.7.0.
544
+ paymentMethodId String?
545
+
534
546
  metadata Json?
535
547
  consecutiveFailures Int @default(0)
536
548
  lastFailureReason String?