@ambushsoftworks/nestjs-payments-graphql 0.4.0-rc.2 → 0.4.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -34,7 +34,10 @@ prose for buried obligations. The marker was introduced in v0.4.0 and
34
34
  > feature with no way to reach it from GraphQL — `CreateRecurringInvoiceInput`,
35
35
  > `UpdateRecurringTemplateInput` and `RecurringInvoiceModel` all lacked the
36
36
  > field. Fixed in `0.4.0-rc.2`; if you tested against rc.1, that is the
37
- > difference.
37
+ > difference. `0.4.0-rc.3` fixes a duplicate-refund bug present in both — one
38
+ > refund wrote two `Refund` rows and doubled the invoice's `amountDue`. It
39
+ > carries an external-configuration step; see below. If you tested refunds
40
+ > against rc.1 or rc.2, retest them.
38
41
 
39
42
  > **Upgrade notes.** Two database changes, both in your own schema:
40
43
  >
@@ -56,12 +59,63 @@ prose for buried obligations. The marker was introduced in v0.4.0 and
56
59
  > the 0.3.1 notes below before moving traffic onto this — the double-application
57
60
  > fix has an audit step attached to it.
58
61
 
62
+ ### ⚠ External configuration required
63
+
64
+ **Subscribe your Stripe webhook endpoint to `refund.created` and `refund.updated`.**
65
+
66
+ They replace `charge.refunded`, which is no longer routed. An endpoint left on
67
+ the old subscription stops recording refunds altogether — no error, no row, and
68
+ an invoice that keeps reporting money it no longer holds.
69
+
70
+ Nothing in your repository can catch this: the subscription lives in the Stripe
71
+ Dashboard. Two things will tell you. `verifyStripeConfiguration` reports the
72
+ missing events as an `error` (and `stripe.verifyOnBoot` runs it at startup),
73
+ and the gateway logs one warning per process if `charge.refunded` still
74
+ arrives. `charge.refunded` can then be removed from the endpoint, or left
75
+ subscribed and ignored.
76
+
59
77
  ### Fixed
60
78
  - **Tax rates lost precision at 4 decimal places, systematically over-charging.** `Invoice.taxRate`, `RecurringInvoice.taxRate` and `PaymentConfig.defaultTaxRate` were declared `Decimal(5, 4)` in `prisma/payment-models.prisma`, which cannot hold Quebec's 9.975% QST: `0.09975` stores as `0.0998`. The error is not random — it rounds up, so every affected invoice over-charges by the same margin (5¢ per $1,000). All three are now `Decimal(6, 5)`.
61
79
  - **This is a reference-schema fix, not a package-code fix.** `DecimalLike` always handled five decimal places, and `recalculateTotals` has carried a comment about *"rates like 9.975%"* since before the column existed — we anticipated the rate and then shipped a column that could not hold it. Consumers who chose their own column types were never affected.
62
80
  - **Migration required if you copied the reference schema.** Widening a numeric scale is non-destructive and no package behaviour changes, but values already truncated on write stay truncated: re-save any tax rate with more than four decimal places after migrating. `ALTER TABLE "Invoice" ALTER COLUMN "taxRate" TYPE numeric(6,5);` and likewise for `RecurringInvoice.taxRate` and `PaymentConfig.defaultTaxRate`.
63
81
  - A spec now asserts the precision of every tax-rate column in the reference schema, and that every money column stays `Int`, so a future re-sync cannot narrow them back silently.
64
82
 
83
+ - **A single refund wrote two `Refund` rows, doubled `amountDue`, and emailed
84
+ the client twice.** Reported by the Ariadne team against `0.4.0-rc.1`,
85
+ reproduced unchanged on `0.4.0-rc.2`.
86
+
87
+ `handleChargeRefunded` read the refund id from `charge.refunds.data[0]`.
88
+ `charge.refunds` is a paginated sub-list that Stripe does not expand in
89
+ webhook payloads, and a webhook cannot request expansion the way an API read
90
+ can — so the id was `undefined` on **every** delivery, not intermittently.
91
+ `handleRefundSucceeded` then looked for an existing refund by that
92
+ `undefined`, found nothing, and created a second record for the refund it had
93
+ just made itself.
94
+
95
+ Refunds are now recorded from `refund.created` / `refund.updated`, where the
96
+ Refund object *is* `event.data.object`, so `id`, `amount` and `status` are
97
+ present as delivered. See the external-configuration note above.
98
+
99
+ - **A second partial refund was recorded at the charge's cumulative refunded
100
+ total rather than its own amount.** `charge.refunded` carried
101
+ `amount_refunded` — a running total — which the create path treated as one
102
+ refund's amount. Masked in the original report because a single full refund
103
+ makes the two figures identical. `refund.amount` is per-refund, so the new
104
+ path does not have the ambiguity.
105
+
106
+ - **Failed refunds were never recorded.** `refund.failed` has been a routable
107
+ event type with a controller branch and a `handleRefundFailed` implementation
108
+ since before v0.4.0, but no Stripe event ever mapped to it, so the handler was
109
+ unreachable. `refund.updated` now supplies it via the refund's `status`. A
110
+ failure that matches no known refund is logged at `warn` instead of being
111
+ silently dropped.
112
+
113
+ - **`amountPaid` and `amountDue` could disagree with `total`.** The two were
114
+ clamped to zero independently, so a negative computed balance stored
115
+ `amountPaid: 0` alongside an unclamped `amountDue` — which is how a $210.00
116
+ invoice came to report $420.00 outstanding with nothing paid. `amountDue` is
117
+ now derived from the stored `amountPaid`, so `amountPaid + amountDue == total`
118
+ holds regardless of what is wrong upstream.
65
119
  ### Added
66
120
  - **Invoices can carry more than one tax.** `Invoice.taxRate` models a sale attracting exactly one tax, which is all most sales are — and cannot express one attracting two. A Quebec sale carries 5% GST *and* 9.975% QST: two taxes, levied by two governments, remitted separately. Blending them to 14.975% produces an invoice the client cannot claim input tax credits from and the supplier cannot reconcile two remittances against. US state + county + city sales tax stacks the same way. `CreateInvoiceInput.taxComponents` now accepts a list of `{ name, rate, authority?, registrationNumber?, sortOrder? }`, stored as `InvoiceTaxComponent` rows.
67
121
  - **Nothing changes for single-rate invoices**, which remain the default and the entire behaviour when `taxComponents` is omitted. `taxRate` keeps working exactly as before, including against repository adapters that never implement the new optional methods.
@@ -93,9 +147,36 @@ prose for buried obligations. The marker was introduced in v0.4.0 and
93
147
  - **`stripe.webhookUrl?: string`** — the public URL of this app's webhook endpoint, used *only* by `verifyOnBoot`. The package does not route on it; the controller still mounts at the fixed path `POST /webhooks/stripe`. Without it, boot verification checks the keys and the account but cannot check the webhook subscription.
94
148
  - **Setting `publishableKey` is now treated as a declaration of intent.** Previously the package held that signal at module init and did nothing with it: the key gates `createPaymentIntent`, so configuring it means the deployment uses inline PaymentIntent flows, which is exactly what makes `payment_intent.succeeded` mandatory. With `verifyOnBoot` on, a webhook endpoint missing that subscription now logs at **error** naming the consequence in operator terms — *inline payments will succeed at Stripe and the invoice will never close* — instead of at `info`. Without a publishable key the same gap stays informational, because a Checkout-only deployment genuinely never receives that event.
95
149
 
150
+ - **`RefundService` refuses to create a refund record it cannot key.** A
151
+ `refund.succeeded` event with no `providerRefundId` is logged at `error` and
152
+ skipped rather than written. Independent of the gateway fix above and kept
153
+ deliberately: any event missing the id is undeduplicatable, and a missing
154
+ record surfaces at reconciliation while a duplicate silently misstates what a
155
+ client paid.
156
+
157
+ - **`providerData.recordedBy` on every `Refund` row** — `'api'`, `'webhook'`, or
158
+ `'manual'` — distinguishing a refund the package initiated from one the
159
+ provider reported from one entered by hand. Previously a duplicate was
160
+ indistinguishable in the data from a legitimate dashboard refund, which is
161
+ most of why the bug above took as long as it did to diagnose. Requires nothing
162
+ from consumers; `providerData` was already free-form.
163
+
164
+ - **`STRIPE_DEPRECATED_WEBHOOK_EVENTS`** — events the gateway still recognises
165
+ but deliberately no longer acts on, so a consumer asserting their live
166
+ subscription list can distinguish "safe to remove" from "missing".
167
+
168
+ - **`src/services/refund.service.spec.ts`** — the refund service had no test
169
+ coverage at all, which is why the above shipped. 21 cases, of which 11 fail
170
+ against `0.4.0-rc.2`.
96
171
  ### Changed
97
172
  - **The CHANGELOG now marks external configuration with its own `### ⚠ External configuration required` heading**, and the marker has been **retro-applied to 0.2.1 and 0.3.0** so it is reliable across the whole file — anyone upgrading from 0.1.x reads those entries, and a convention that only exists going forward does not help them. Requirements satisfied outside the consumer's repository are a different species from API changes: a compiler, a test and a code review all catch a changed signature, and none of them can see an unsubscribed webhook endpoint. The 0.2.1 requirement was previously the second-to-last sentence of a seven-line paragraph under `Fixed`, which read as a description of what was fixed rather than as a task. Consumers can now grep the versions they are skipping and build an upgrade checklist mechanically. Convention documented for readers at the top of this file and for maintainers in `CONTRIBUTING.md`.
98
173
 
174
+ - `STRIPE_WEBHOOK_EVENTS.always` drops `charge.refunded` and adds
175
+ `refund.created` and `refund.updated`.
176
+ - The `webhook-events` spec's `charge.refunded` fixture no longer contains an
177
+ expanded `refunds` sub-list. It previously supplied a field Stripe never
178
+ sends, so the one test covering the refund path asserted against a payload
179
+ that could not occur — which is why CI was green throughout.
99
180
  ### Testing
100
181
  - **293 specs across 14 suites** (up from 100 at 0.3.0). Beyond the per-feature coverage above, three of those suites exist to stop a class of silent drift rather than to test a behaviour, and a fourth exercises the module as a consumer would get it:
101
182
  - `webhook-events.spec.ts` — the exported webhook-event list against the gateway's routing switch, in both directions.
package/README.md CHANGED
@@ -331,7 +331,9 @@ When `stripe` config is provided, the module registers `StripeGateway` and mount
331
331
  - `payment_intent.processing` — observability for delayed bank-side methods.
332
332
  - `payment_intent.succeeded` — closes the loop for direct-PaymentIntent flows (chiefly the inline Stripe Elements surface in v0.3.0, plus any consumer calling `paymentIntents.create` directly). Required as of **v0.2.1** — without it, inline payments succeed at Stripe but the invoice never updates.
333
333
  - `payment_intent.payment_failed` — surfaces declines back into the payment record.
334
- - `charge.refunded` — closes the loop on refunds.
334
+ - `refund.created` and `refund.updated` — close the loop on refunds. Required as of **v0.4.0**, replacing `charge.refunded`. Subscribe to **both**: `refund.created` records a refund that succeeds immediately, `refund.updated` carries the ones that resolve later, including failures.
335
+
336
+ > **Upgrading from `charge.refunded`.** It is no longer routed, and a deployment that subscribes only to it will stop recording refunds entirely. The package cannot use it: the handler needed a refund id from `charge.refunds`, a paginated sub-list Stripe does not expand in webhook payloads and that a webhook cannot request expansion for. The id was absent on every delivery, so a refund issued through `createRefund` could not be matched to its own confirmation and was written twice — doubling `amountDue` and sending the client two refund emails. Fixed in v0.4.0; see the CHANGELOG. `charge.refunded` may be left subscribed (it is ignored, and logs one warning per process) or removed.
335
337
 
336
338
  **Do not transcribe that list by hand.** As of v0.4.0 the package exports it, so your deployment can assert its live Stripe configuration against the events this version actually routes instead of against a README you read once:
337
339
 
@@ -700,6 +702,10 @@ Uses `IPaymentRepository.findStaleByStatuses`, already part of the repository in
700
702
 
701
703
  Full and partial refunds through Stripe (when the originating payment went through Stripe) or manual refund records. All amounts in cents.
702
704
 
705
+ **Refund records are keyed by `providerRefundId`.** For a Stripe refund, that is the `re_…` id, and it is what lets the package recognise the confirming webhook as describing a refund it already recorded rather than a new one. A `refund.succeeded` event arriving without an id is refused — logged at `error` and skipped — because such an event cannot be deduplicated, and creating a row from it would double the refund. Prefer a missing record, which surfaces at reconciliation, over a duplicate, which silently misstates what a client paid. Manual refunds (against payments with no provider) legitimately have no id and are unaffected.
706
+
707
+ **`providerData.recordedBy`** records how each row came to exist: `'api'` (the package called the provider), `'webhook'` (the provider reported a refund the package did not initiate, e.g. one issued from the Stripe Dashboard), or `'manual'` (recorded by hand against an offline payment). Useful when reconciling, and the field a downstream ledger integration should read to decide what to publish. Added in v0.4.0.
708
+
703
709
  ### Payment Plans
704
710
 
705
711
  Split an invoice into installments with per-installment due dates.
@@ -8,6 +8,8 @@ export declare class StripeGateway implements PaymentGateway, RecurringPaymentGa
8
8
  private readonly publishableKeyValue;
9
9
  private readonly paymentRepository;
10
10
  private readonly logger;
11
+ private static hasWarnedChargeRefunded;
12
+ static resetDeprecationWarnings(): void;
11
13
  constructor(secretKey: string, webhookSecret?: string, publishableKey?: string | null, paymentRepository?: IPaymentRepository | null);
12
14
  get publishableKey(): string | null;
13
15
  private requirePublishableKey;
@@ -93,7 +95,9 @@ export declare class StripeGateway implements PaymentGateway, RecurringPaymentGa
93
95
  private handlePaymentIntentProcessing;
94
96
  private handlePaymentIntentSucceeded;
95
97
  private handlePaymentIntentFailed;
96
- private handleChargeRefunded;
98
+ private handleRefundEvent;
99
+ private mapRefundEventType;
100
+ private handleDeprecatedChargeRefunded;
97
101
  private mapPaymentIntentStatus;
98
102
  private mapPaymentIntentStatusV2;
99
103
  private mapRefundStatus;
@@ -9,6 +9,9 @@ const stripe_1 = __importDefault(require("stripe"));
9
9
  const exceptions_1 = require("../../exceptions");
10
10
  const types_1 = require("./types");
11
11
  class StripeGateway {
12
+ static resetDeprecationWarnings() {
13
+ StripeGateway.hasWarnedChargeRefunded = false;
14
+ }
12
15
  constructor(secretKey, webhookSecret = '', publishableKey = null, paymentRepository = null) {
13
16
  this.providerType = 'stripe';
14
17
  this.logger = new common_1.Logger(StripeGateway.name);
@@ -518,8 +521,11 @@ class StripeGateway {
518
521
  return this.handlePaymentIntentSucceeded(event);
519
522
  case 'payment_intent.payment_failed':
520
523
  return this.handlePaymentIntentFailed(event);
524
+ case 'refund.created':
525
+ case 'refund.updated':
526
+ return this.handleRefundEvent(event);
521
527
  case 'charge.refunded':
522
- return this.handleChargeRefunded(event);
528
+ return this.handleDeprecatedChargeRefunded(event);
523
529
  default:
524
530
  this.logger.debug(`Ignoring unhandled Stripe event type "${event.type}" (eventId=${event.id})`);
525
531
  return {
@@ -642,28 +648,60 @@ class StripeGateway {
642
648
  },
643
649
  };
644
650
  }
645
- handleChargeRefunded(event) {
646
- const charge = event.data.object;
647
- const paymentIntentId = typeof charge.payment_intent === 'string'
648
- ? charge.payment_intent
649
- : (charge.payment_intent?.id ?? '');
650
- const latestRefund = charge.refunds?.data?.[0];
651
+ handleRefundEvent(event) {
652
+ const refund = event.data.object;
653
+ const paymentIntentId = typeof refund.payment_intent === 'string'
654
+ ? refund.payment_intent
655
+ : (refund.payment_intent?.id ?? '');
656
+ const chargeId = typeof refund.charge === 'string'
657
+ ? refund.charge
658
+ : (refund.charge?.id ?? undefined);
659
+ const type = this.mapRefundEventType(refund.status);
660
+ if (!type) {
661
+ this.logger.debug(`Ignoring ${event.type} in non-terminal status "${refund.status}" ` +
662
+ `(refundId=${refund.id}, eventId=${event.id})`);
663
+ return { type: 'ignored', eventId: event.id, eventType: event.type };
664
+ }
651
665
  return {
652
- type: 'refund.succeeded',
666
+ type,
653
667
  eventId: event.id,
654
668
  providerPaymentId: paymentIntentId,
655
- providerRefundId: latestRefund?.id,
656
- amount: charge.amount_refunded,
657
- currency: charge.currency.toUpperCase(),
658
- receiptUrl: charge.receipt_url ?? undefined,
669
+ providerRefundId: refund.id,
670
+ amount: refund.amount,
671
+ currency: refund.currency.toUpperCase(),
659
672
  providerData: {
660
- chargeId: charge.id,
661
- refundId: latestRefund?.id,
662
- refundAmount: latestRefund?.amount,
663
- invoiceId: charge.metadata?.invoiceId,
673
+ chargeId,
674
+ refundId: refund.id,
675
+ refundAmount: refund.amount,
676
+ refundStatus: refund.status,
677
+ failureReason: refund.failure_reason,
678
+ invoiceId: refund.metadata?.invoiceId,
664
679
  },
665
680
  };
666
681
  }
682
+ mapRefundEventType(status) {
683
+ switch (status) {
684
+ case 'succeeded':
685
+ return 'refund.succeeded';
686
+ case 'failed':
687
+ case 'canceled':
688
+ return 'refund.failed';
689
+ default:
690
+ return null;
691
+ }
692
+ }
693
+ handleDeprecatedChargeRefunded(event) {
694
+ if (!StripeGateway.hasWarnedChargeRefunded) {
695
+ StripeGateway.hasWarnedChargeRefunded = true;
696
+ this.logger.warn('Received charge.refunded, which this version no longer routes — it ' +
697
+ 'cannot identify which refund it describes. Refunds are recorded from ' +
698
+ 'refund.created / refund.updated as of v0.4.0. Subscribe this endpoint ' +
699
+ 'to both in the Stripe Dashboard, or refunds will not be recorded. ' +
700
+ 'charge.refunded can then be removed from the endpoint. ' +
701
+ '(This warning is logged once per process.)');
702
+ }
703
+ return { type: 'ignored', eventId: event.id, eventType: event.type };
704
+ }
667
705
  mapPaymentIntentStatus(status) {
668
706
  switch (status) {
669
707
  case 'requires_payment_method':
@@ -712,4 +750,5 @@ class StripeGateway {
712
750
  }
713
751
  }
714
752
  exports.StripeGateway = StripeGateway;
753
+ StripeGateway.hasWarnedChargeRefunded = false;
715
754
  //# sourceMappingURL=stripe.gateway.js.map
@@ -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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"}
@@ -22,10 +22,11 @@ export interface StripeGatewayOptions {
22
22
  export declare const STRIPE_RESERVED_GATEWAY_KEYS: readonly string[];
23
23
  export declare const STRIPE_API_VERSION = "2025-02-24.acacia";
24
24
  export declare const STRIPE_WEBHOOK_EVENTS: Readonly<{
25
- always: readonly ["checkout.session.completed", "payment_intent.processing", "payment_intent.payment_failed", "charge.refunded"];
25
+ always: readonly ["checkout.session.completed", "payment_intent.processing", "payment_intent.payment_failed", "refund.created", "refund.updated"];
26
26
  inlinePaymentIntent: readonly ["payment_intent.succeeded"];
27
27
  }>;
28
28
  export declare const ALL_STRIPE_WEBHOOK_EVENTS: readonly string[];
29
+ export declare const STRIPE_DEPRECATED_WEBHOOK_EVENTS: readonly string[];
29
30
  export interface StripePaymentIntentGatewayOptions {
30
31
  metadata?: Record<string, string>;
31
32
  statement_descriptor_suffix?: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS = exports.ALL_STRIPE_WEBHOOK_EVENTS = exports.STRIPE_WEBHOOK_EVENTS = exports.STRIPE_API_VERSION = exports.STRIPE_RESERVED_GATEWAY_KEYS = void 0;
3
+ exports.STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS = exports.STRIPE_DEPRECATED_WEBHOOK_EVENTS = exports.ALL_STRIPE_WEBHOOK_EVENTS = exports.STRIPE_WEBHOOK_EVENTS = exports.STRIPE_API_VERSION = exports.STRIPE_RESERVED_GATEWAY_KEYS = void 0;
4
4
  exports.STRIPE_RESERVED_GATEWAY_KEYS = Object.freeze([
5
5
  'metadata.invoiceId',
6
6
  'success_url',
@@ -15,7 +15,8 @@ exports.STRIPE_WEBHOOK_EVENTS = Object.freeze({
15
15
  'checkout.session.completed',
16
16
  'payment_intent.processing',
17
17
  'payment_intent.payment_failed',
18
- 'charge.refunded',
18
+ 'refund.created',
19
+ 'refund.updated',
19
20
  ]),
20
21
  inlinePaymentIntent: Object.freeze(['payment_intent.succeeded']),
21
22
  });
@@ -23,6 +24,7 @@ exports.ALL_STRIPE_WEBHOOK_EVENTS = Object.freeze([
23
24
  ...exports.STRIPE_WEBHOOK_EVENTS.always,
24
25
  ...exports.STRIPE_WEBHOOK_EVENTS.inlinePaymentIntent,
25
26
  ]);
27
+ exports.STRIPE_DEPRECATED_WEBHOOK_EVENTS = Object.freeze(['charge.refunded']);
26
28
  exports.STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS = Object.freeze([
27
29
  'metadata.invoiceId',
28
30
  'amount',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/gateways/stripe/types.ts"],"names":[],"mappings":";;;AAsEa,QAAA,4BAA4B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC3E,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,qBAAqB;IACrB,MAAM;IACN,YAAY;CACb,CAAC,CAAC;AAYU,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AAyCzC,QAAA,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAEjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,4BAA4B;QAC5B,2BAA2B;QAC3B,+BAA+B;QAC/B,iBAAiB;KACT,CAAC;IAMX,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,0BAA0B,CAAU,CAAC;CAC1E,CAAC,CAAC;AASU,QAAA,yBAAyB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACxE,GAAG,6BAAqB,CAAC,MAAM;IAC/B,GAAG,6BAAqB,CAAC,mBAAmB;CAC7C,CAAC,CAAC;AAoEU,QAAA,2CAA2C,GACtD,MAAM,CAAC,MAAM,CAAC;IACZ,oBAAoB;IACpB,QAAQ;IACR,UAAU;IACV,2BAA2B;IAC3B,SAAS;IACT,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,aAAa;CACd,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/gateways/stripe/types.ts"],"names":[],"mappings":";;;AAsEa,QAAA,4BAA4B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC3E,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,qBAAqB;IACrB,MAAM;IACN,YAAY;CACb,CAAC,CAAC;AAYU,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AAyCzC,QAAA,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAEjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,4BAA4B;QAC5B,2BAA2B;QAC3B,+BAA+B;QAC/B,gBAAgB;QAChB,gBAAgB;KACR,CAAC;IAMX,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,0BAA0B,CAAU,CAAC;CAC1E,CAAC,CAAC;AASU,QAAA,yBAAyB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACxE,GAAG,6BAAqB,CAAC,MAAM;IAC/B,GAAG,6BAAqB,CAAC,mBAAmB;CAC7C,CAAC,CAAC;AA0BU,QAAA,gCAAgC,GAAsB,MAAM,CAAC,MAAM,CAC9E,CAAC,iBAAiB,CAAC,CACpB,CAAC;AAoEW,QAAA,2CAA2C,GACtD,MAAM,CAAC,MAAM,CAAC;IACZ,oBAAoB;IACpB,QAAQ;IACR,UAAU;IACV,2BAA2B;IAC3B,SAAS;IACT,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,aAAa;CACd,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -73,7 +73,7 @@ export { RecurringInvoiceFilterInput } from './dto/recurring-invoice-filter.inpu
73
73
  export { IsMetadata } from './dto/validators/is-metadata';
74
74
  export { StripeGateway } from './gateways/stripe/stripe.gateway';
75
75
  export type { StripeGatewayOptions, StripePaymentIntentGatewayOptions, } from './gateways/stripe/types';
76
- export { STRIPE_RESERVED_GATEWAY_KEYS, STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS, STRIPE_WEBHOOK_EVENTS, ALL_STRIPE_WEBHOOK_EVENTS, STRIPE_API_VERSION, } from './gateways/stripe/types';
76
+ export { STRIPE_RESERVED_GATEWAY_KEYS, STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS, STRIPE_WEBHOOK_EVENTS, ALL_STRIPE_WEBHOOK_EVENTS, STRIPE_DEPRECATED_WEBHOOK_EVENTS, STRIPE_API_VERSION, } from './gateways/stripe/types';
77
77
  export { verifyStripeConfiguration } from './gateways/stripe/verify-stripe-configuration';
78
78
  export type { StripeConfigFinding, StripeConfigFindingCode, StripeVerificationClient, VerifyStripeConfigurationOptions, } from './gateways/stripe/verify-stripe-configuration';
79
79
  export { PaymentsWebhook, PAYMENTS_WEBHOOK, } from './gateways/stripe/stripe-webhook.controller';
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RefundStatusEnum = exports.PaymentStatusEnum = exports.PaymentMethodEnum = exports.InvoiceStatusEnum = exports.InvoiceModel = exports.InvalidTaxConfigurationException = exports.PaymentIntentOperationNotSupportedException = exports.PaymentIntentNotCancellableException = exports.PaymentIntentNotReusableException = exports.PublishableKeyNotConfiguredException = exports.UniqueConstraintViolationException = exports.InvalidRecurringInvoiceStateException = exports.InvalidPaymentStateException = exports.RefundNotAllowedException = exports.InvoiceNumberExhaustedException = exports.InvoiceNotPayableException = exports.DuplicatePaymentException = exports.PaymentGatewayException = exports.PaymentAmountExceededException = exports.InvalidInvoiceStateException = exports.PaymentException = exports.GatewayRegistryService = exports.ETransferService = exports.CustomerService = exports.RecurringInvoiceService = exports.PaymentEmailService = exports.PaymentPlanService = exports.PaymentConfigService = exports.RefundService = exports.PaymentService = exports.InvoiceNumberService = exports.InvoiceService = exports.E_TRANSFER_CODE_PREFIX = exports.DEFAULT_CURRENCY = exports.WEBHOOK_ERROR_REPORTER = exports.PAYMENT_EMAIL_TEMPLATE_RENDERER = exports.PAYMENT_EMAIL_BRANDING_RESOLVER = exports.PAYMENT_CLIENT_RESOLVER = exports.PAYMENT_EMAIL_SENDER = exports.PAYMENT_EVENT_LISTENER = exports.TRANSACTION_MANAGER = exports.PAYMENT_CUSTOMER_REPOSITORY = exports.RECURRING_INVOICE_REPOSITORY = exports.WEBHOOK_IDEMPOTENCY_REPOSITORY = exports.PAYMENT_CONFIG_REPOSITORY = exports.PAYMENT_PLAN_REPOSITORY = exports.REFUND_REPOSITORY = exports.PAYMENT_REPOSITORY = exports.INVOICE_REPOSITORY = exports.PaymentsModule = void 0;
4
- exports.verifyStripeConfiguration = exports.STRIPE_API_VERSION = exports.ALL_STRIPE_WEBHOOK_EVENTS = exports.STRIPE_WEBHOOK_EVENTS = exports.STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS = exports.STRIPE_RESERVED_GATEWAY_KEYS = exports.StripeGateway = exports.IsMetadata = exports.RecurringInvoiceFilterInput = exports.PaymentPlanFilterInput = exports.InvoiceFilterInput = exports.UpsertPaymentProviderInput = exports.UpdateRecurringTemplateInput = exports.UpdateInvoiceMetadataInput = exports.UpdatePaymentConfigInput = exports.RecordManualPaymentInput = exports.CreateRecurringLineItemInput = exports.CreateRecurringInvoiceInput = exports.CreatePaymentPlanInput = exports.CreateInstallmentInput = exports.CreateRefundInput = exports.CreateTaxComponentInput = exports.CreateLineItemInput = exports.CreateInvoiceInput = exports.PaymentIntentStatusEnum = exports.StripePublicConfigModel = exports.InlinePaymentIntentModel = exports.Paginated = exports.RecurringInvoiceTaxComponentModel = exports.RecurringInvoiceLineItemModel = exports.RecurringInvoiceStatusEnum = exports.RecurringIntervalUnitEnum = exports.RecurringInvoiceModel = exports.PaginatedRecurringInvoices = exports.PaginatedPaymentPlans = exports.PaginatedInvoices = exports.PaymentMethodSetupModel = exports.PaymentPlanInstallmentModel = exports.PaymentPlanModel = exports.PaymentProviderModel = exports.PaymentConfigModel = exports.OnlinePaymentSessionModel = exports.ETransferInstructionsModel = exports.RefundModel = exports.PaymentModel = exports.InvoiceClientModel = exports.InvoiceTaxComponentModel = exports.InvoiceLineItemModel = exports.InstallmentStatusEnum = exports.PaymentPlanStatusEnum = void 0;
5
- exports.DefaultPaymentEmailTemplateRenderer = exports.computeCycleCount = exports.computeNextInvoiceDate = exports.StaticBrandingResolver = exports.PAYMENTS_WEBHOOK = exports.PaymentsWebhook = void 0;
4
+ exports.STRIPE_API_VERSION = exports.STRIPE_DEPRECATED_WEBHOOK_EVENTS = exports.ALL_STRIPE_WEBHOOK_EVENTS = exports.STRIPE_WEBHOOK_EVENTS = exports.STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS = exports.STRIPE_RESERVED_GATEWAY_KEYS = exports.StripeGateway = exports.IsMetadata = exports.RecurringInvoiceFilterInput = exports.PaymentPlanFilterInput = exports.InvoiceFilterInput = exports.UpsertPaymentProviderInput = exports.UpdateRecurringTemplateInput = exports.UpdateInvoiceMetadataInput = exports.UpdatePaymentConfigInput = exports.RecordManualPaymentInput = exports.CreateRecurringLineItemInput = exports.CreateRecurringInvoiceInput = exports.CreatePaymentPlanInput = exports.CreateInstallmentInput = exports.CreateRefundInput = exports.CreateTaxComponentInput = exports.CreateLineItemInput = exports.CreateInvoiceInput = exports.PaymentIntentStatusEnum = exports.StripePublicConfigModel = exports.InlinePaymentIntentModel = exports.Paginated = exports.RecurringInvoiceTaxComponentModel = exports.RecurringInvoiceLineItemModel = exports.RecurringInvoiceStatusEnum = exports.RecurringIntervalUnitEnum = exports.RecurringInvoiceModel = exports.PaginatedRecurringInvoices = exports.PaginatedPaymentPlans = exports.PaginatedInvoices = exports.PaymentMethodSetupModel = exports.PaymentPlanInstallmentModel = exports.PaymentPlanModel = exports.PaymentProviderModel = exports.PaymentConfigModel = exports.OnlinePaymentSessionModel = exports.ETransferInstructionsModel = exports.RefundModel = exports.PaymentModel = exports.InvoiceClientModel = exports.InvoiceTaxComponentModel = exports.InvoiceLineItemModel = exports.InstallmentStatusEnum = exports.PaymentPlanStatusEnum = void 0;
5
+ exports.DefaultPaymentEmailTemplateRenderer = exports.computeCycleCount = exports.computeNextInvoiceDate = exports.StaticBrandingResolver = exports.PAYMENTS_WEBHOOK = exports.PaymentsWebhook = exports.verifyStripeConfiguration = void 0;
6
6
  var payments_module_1 = require("./payments.module");
7
7
  Object.defineProperty(exports, "PaymentsModule", { enumerable: true, get: function () { return payments_module_1.PaymentsModule; } });
8
8
  var constants_1 = require("./constants");
@@ -157,6 +157,7 @@ Object.defineProperty(exports, "STRIPE_RESERVED_GATEWAY_KEYS", { enumerable: tru
157
157
  Object.defineProperty(exports, "STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS", { enumerable: true, get: function () { return types_1.STRIPE_PAYMENT_INTENT_RESERVED_GATEWAY_KEYS; } });
158
158
  Object.defineProperty(exports, "STRIPE_WEBHOOK_EVENTS", { enumerable: true, get: function () { return types_1.STRIPE_WEBHOOK_EVENTS; } });
159
159
  Object.defineProperty(exports, "ALL_STRIPE_WEBHOOK_EVENTS", { enumerable: true, get: function () { return types_1.ALL_STRIPE_WEBHOOK_EVENTS; } });
160
+ Object.defineProperty(exports, "STRIPE_DEPRECATED_WEBHOOK_EVENTS", { enumerable: true, get: function () { return types_1.STRIPE_DEPRECATED_WEBHOOK_EVENTS; } });
160
161
  Object.defineProperty(exports, "STRIPE_API_VERSION", { enumerable: true, get: function () { return types_1.STRIPE_API_VERSION; } });
161
162
  var verify_stripe_configuration_1 = require("./gateways/stripe/verify-stripe-configuration");
162
163
  Object.defineProperty(exports, "verifyStripeConfiguration", { enumerable: true, get: function () { return verify_stripe_configuration_1.verifyStripeConfiguration; } });
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":";;;;;AAKA,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAOvB,yCAkBqB;AAjBnB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,oHAAA,uBAAuB,OAAA;AACvB,sHAAA,yBAAyB,OAAA;AACzB,2HAAA,8BAA8B,OAAA;AAC9B,yHAAA,4BAA4B,OAAA;AAC5B,wHAAA,2BAA2B,OAAA;AAC3B,gHAAA,mBAAmB,OAAA;AACnB,mHAAA,sBAAsB,OAAA;AACtB,iHAAA,oBAAoB,OAAA;AACpB,oHAAA,uBAAuB,OAAA;AACvB,4HAAA,+BAA+B,OAAA;AAC/B,4HAAA,+BAA+B,OAAA;AAC/B,mHAAA,sBAAsB,OAAA;AACtB,6GAAA,gBAAgB,OAAA;AAChB,mHAAA,sBAAsB,OAAA;AA0DxB,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AAEvB,4EAAyE;AAAhE,8HAAA,oBAAoB,OAAA;AAC7B,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AACtB,4EAAyE;AAAhE,8HAAA,oBAAoB,OAAA;AAC7B,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAE3B,0EAAuE;AAA9D,4HAAA,mBAAmB,OAAA;AAC5B,kFAA+E;AAAtE,oIAAA,uBAAuB,OAAA;AAChC,gEAA8D;AAArD,mHAAA,eAAe,OAAA;AACxB,oEAAiE;AAAxD,sHAAA,gBAAgB,OAAA;AACzB,gFAA6E;AAApE,kIAAA,sBAAsB,OAAA;AA8C/B,2CAiBsB;AAhBpB,8GAAA,gBAAgB,OAAA;AAChB,0HAAA,4BAA4B,OAAA;AAC5B,4HAAA,8BAA8B,OAAA;AAC9B,qHAAA,uBAAuB,OAAA;AACvB,uHAAA,yBAAyB,OAAA;AACzB,wHAAA,0BAA0B,OAAA;AAC1B,6HAAA,+BAA+B,OAAA;AAC/B,uHAAA,yBAAyB,OAAA;AACzB,0HAAA,4BAA4B,OAAA;AAC5B,mIAAA,qCAAqC,OAAA;AACrC,gIAAA,kCAAkC,OAAA;AAClC,kIAAA,oCAAoC,OAAA;AACpC,+HAAA,iCAAiC,OAAA;AACjC,kIAAA,oCAAoC,OAAA;AACpC,yIAAA,2CAA2C,OAAA;AAC3C,8HAAA,gCAAgC,OAAA;AAIlC,wDAQgC;AAP9B,6GAAA,YAAY,OAAA;AACZ,kHAAA,iBAAiB,OAAA;AACjB,kHAAA,iBAAiB,OAAA;AACjB,kHAAA,iBAAiB,OAAA;AACjB,iHAAA,gBAAgB,OAAA;AAChB,sHAAA,qBAAqB,OAAA;AACrB,sHAAA,qBAAqB,OAAA;AAEvB,4EAAwE;AAA/D,+HAAA,oBAAoB,OAAA;AAC7B,oFAAgF;AAAvE,uIAAA,wBAAwB,OAAA;AACjC,sEAAmE;AAA1D,0HAAA,kBAAkB,OAAA;AAC3B,wDAAsD;AAA7C,6GAAA,YAAY,OAAA;AACrB,sDAAoD;AAA3C,2GAAA,WAAW,OAAA;AACpB,wFAAoF;AAA3E,2IAAA,0BAA0B,OAAA;AACnC,sFAAkF;AAAzE,yIAAA,yBAAyB,OAAA;AAClC,sEAGuC;AAFrC,0HAAA,kBAAkB,OAAA;AAClB,4HAAA,oBAAoB,OAAA;AAEtB,kEAA+D;AAAtD,sHAAA,gBAAgB,OAAA;AACzB,0FAAsF;AAA7E,6IAAA,2BAA2B,OAAA;AACpC,kFAA8E;AAArE,qIAAA,uBAAuB,OAAA;AAChC,8EAAsE;AAA7D,6HAAA,iBAAiB,OAAA;AAC1B,wFAA+E;AAAtE,sIAAA,qBAAqB,OAAA;AAC9B,kGAAyF;AAAhF,gJAAA,0BAA0B,OAAA;AACnC,4EAAyE;AAAhE,gIAAA,qBAAqB,OAAA;AAC9B,4EAG0C;AAFxC,oIAAA,yBAAyB,OAAA;AACzB,qIAAA,0BAA0B,OAAA;AAE5B,gGAA2F;AAAlF,kJAAA,6BAA6B,OAAA;AACtC,wGAAmG;AAA1F,0JAAA,iCAAiC,OAAA;AAC1C,4DAAqD;AAA5C,4GAAA,SAAS,OAAA;AAElB,oFAAgF;AAAvE,uIAAA,wBAAwB,OAAA;AACjC,kFAA8E;AAArE,qIAAA,uBAAuB,OAAA;AAChC,kFAA8E;AAArE,qIAAA,uBAAuB,OAAA;AAGhC,mEAAgE;AAAvD,0HAAA,kBAAkB,OAAA;AAC3B,uEAAmE;AAA1D,6HAAA,mBAAmB,OAAA;AAC5B,+EAA2E;AAAlE,qIAAA,uBAAuB,OAAA;AAChC,iEAA8D;AAArD,wHAAA,iBAAiB,OAAA;AAC1B,2EAAwE;AAA/D,kIAAA,sBAAsB,OAAA;AAC/B,6EAAyE;AAAhE,mIAAA,sBAAsB,OAAA;AAC/B,uFAAmF;AAA1E,6IAAA,2BAA2B,OAAA;AACpC,2FAAsF;AAA7E,gJAAA,4BAA4B,OAAA;AACrC,iFAA6E;AAApE,uIAAA,wBAAwB,OAAA;AACjC,iFAA6E;AAApE,uIAAA,wBAAwB,OAAA;AACjC,qFAAiF;AAAxE,2IAAA,0BAA0B,OAAA;AACnC,yFAAqF;AAA5E,+IAAA,4BAA4B,OAAA;AACrC,qFAAiF;AAAxE,2IAAA,0BAA0B,OAAA;AACnC,mEAAgE;AAAvD,0HAAA,kBAAkB,OAAA;AAC3B,6EAAyE;AAAhE,mIAAA,sBAAsB,OAAA;AAC/B,uFAAmF;AAA1E,6IAAA,2BAA2B,OAAA;AAGpC,4DAA0D;AAAjD,yGAAA,UAAU,OAAA;AAGnB,mEAAiE;AAAxD,+GAAA,aAAa,OAAA;AAKtB,iDAOiC;AAN/B,qHAAA,4BAA4B,OAAA;AAC5B,oIAAA,2CAA2C,OAAA;AAC3C,8GAAA,qBAAqB,OAAA;AACrB,kHAAA,yBAAyB,OAAA;AACzB,yHAAA,gCAAgC,OAAA;AAChC,2GAAA,kBAAkB,OAAA;AAIpB,6FAA0F;AAAjF,wIAAA,yBAAyB,OAAA;AASlC,yFAGqD;AAFnD,4HAAA,eAAe,OAAA;AACf,6HAAA,gBAAgB,OAAA;AAIlB,gFAA6E;AAApE,kIAAA,sBAAsB,OAAA;AAC/B,8EAG4C;AAF1C,iIAAA,sBAAsB,OAAA;AACtB,4HAAA,iBAAiB,OAAA;AAEnB,8FAAiG;AAAxF,sJAAA,mCAAmC,OAAA"}
@@ -24,6 +24,11 @@ const REFUNDABLE_STATUSES = new Set([
24
24
  'SUCCEEDED',
25
25
  'PARTIALLY_REFUNDED',
26
26
  ]);
27
+ const REFUND_ORIGIN = Object.freeze({
28
+ API: 'api',
29
+ WEBHOOK: 'webhook',
30
+ MANUAL: 'manual',
31
+ });
27
32
  let RefundService = RefundService_1 = class RefundService {
28
33
  constructor(invoiceRepo, paymentRepo, refundRepo, webhookIdempotencyRepo, transactionManager, gatewayRegistry, moduleRef) {
29
34
  this.invoiceRepo = invoiceRepo;
@@ -107,6 +112,15 @@ let RefundService = RefundService_1 = class RefundService {
107
112
  await repos.webhookIdempotency.record(event.eventId);
108
113
  return null;
109
114
  }
115
+ if (!event.providerRefundId) {
116
+ this.logger.error(`refund.succeeded webhook carried no providerRefundId ` +
117
+ `(eventId=${event.eventId}, paymentId=${payment.id}, amount=${event.amount}). ` +
118
+ `Refusing to create an unkeyable refund record — it could not be ` +
119
+ `deduplicated against a later event for the same refund. No refund ` +
120
+ `was recorded; reconcile this payment against the provider by hand.`);
121
+ await repos.webhookIdempotency.record(event.eventId);
122
+ return null;
123
+ }
110
124
  let refund = await this.findRefundByProviderRefundId(repos.refunds, payment.id, event.providerRefundId);
111
125
  if (!refund) {
112
126
  this.logger.log(`Creating record for provider-initiated refund: providerRefundId=${event.providerRefundId}`);
@@ -117,14 +131,21 @@ let RefundService = RefundService_1 = class RefundService {
117
131
  currency: event.currency,
118
132
  status: 'SUCCEEDED',
119
133
  providerRefundId: event.providerRefundId,
120
- providerData: event.providerData,
134
+ providerData: {
135
+ ...event.providerData,
136
+ recordedBy: REFUND_ORIGIN.WEBHOOK,
137
+ },
121
138
  createdBy: 'system',
122
139
  });
123
140
  }
124
141
  else if (refund.status !== 'SUCCEEDED') {
125
142
  refund = await repos.refunds.update(refund.id, {
126
143
  status: 'SUCCEEDED',
127
- providerData: event.providerData,
144
+ providerData: {
145
+ ...event.providerData,
146
+ recordedBy: refund.providerData?.recordedBy ??
147
+ REFUND_ORIGIN.API,
148
+ },
128
149
  });
129
150
  }
130
151
  const newStatus = await this.recalculateInvoiceAmounts(repos, payment.invoiceId);
@@ -157,8 +178,21 @@ let RefundService = RefundService_1 = class RefundService {
157
178
  if (refund && refund.status === 'PENDING') {
158
179
  await repos.refunds.update(refund.id, {
159
180
  status: 'FAILED',
160
- providerData: event.providerData,
181
+ providerData: {
182
+ ...event.providerData,
183
+ recordedBy: refund.providerData?.recordedBy ?? REFUND_ORIGIN.API,
184
+ },
161
185
  });
186
+ this.logger.log(`Refund ${refund.id} marked FAILED (providerRefundId=${event.providerRefundId})`);
187
+ }
188
+ else if (!refund) {
189
+ this.logger.warn(`refund.failed webhook did not match any refund record ` +
190
+ `(eventId=${event.eventId}, paymentId=${payment.id}, ` +
191
+ `providerRefundId=${event.providerRefundId ?? 'none'}). Nothing to update.`);
192
+ }
193
+ else {
194
+ this.logger.log(`refund.failed webhook for refund ${refund.id} already in terminal ` +
195
+ `status "${refund.status}" — no transition applied.`);
162
196
  }
163
197
  await repos.webhookIdempotency.record(event.eventId);
164
198
  });
@@ -201,6 +235,7 @@ let RefundService = RefundService_1 = class RefundService {
201
235
  status: gatewayResult.status,
202
236
  reason: input.reason,
203
237
  providerRefundId: gatewayResult.providerRefundId,
238
+ providerData: { recordedBy: REFUND_ORIGIN.API },
204
239
  createdBy: input.createdBy,
205
240
  });
206
241
  this.logger.log(`Online refund created: refundId=${refund.id} providerRefundId=${gatewayResult.providerRefundId} ` +
@@ -220,6 +255,7 @@ let RefundService = RefundService_1 = class RefundService {
220
255
  currency: payment.currency,
221
256
  status: 'SUCCEEDED',
222
257
  reason: input.reason,
258
+ providerData: { recordedBy: REFUND_ORIGIN.MANUAL },
223
259
  createdBy: input.createdBy,
224
260
  processedBy: input.createdBy,
225
261
  });
@@ -249,6 +285,13 @@ let RefundService = RefundService_1 = class RefundService {
249
285
  }
250
286
  const newAmountPaid = totalPayments - totalRefunds;
251
287
  const newAmountDue = invoice.total - newAmountPaid;
288
+ if (newAmountPaid < 0) {
289
+ this.logger.error(`Invoice ${invoiceId} has refunds exceeding payments: ` +
290
+ `payments=${totalPayments} refunds=${totalRefunds} ` +
291
+ `(computed amountPaid=${newAmountPaid}). This should be unreachable — ` +
292
+ `suspect duplicate or mis-attributed refund records. Amounts will be ` +
293
+ `clamped to zero, so the stored invoice will understate what was refunded.`);
294
+ }
252
295
  let newStatus;
253
296
  if (newAmountPaid <= 0) {
254
297
  newStatus = 'REFUNDED';
@@ -259,12 +302,18 @@ let RefundService = RefundService_1 = class RefundService {
259
302
  else {
260
303
  newStatus = invoice.status;
261
304
  }
305
+ const storedAmountPaid = Math.max(newAmountPaid, 0);
306
+ const storedAmountDue = Math.max(invoice.total - storedAmountPaid, 0);
262
307
  await repos.invoices.update(invoice.id, {
263
- amountPaid: Math.max(newAmountPaid, 0),
264
- amountDue: Math.max(newAmountDue, 0),
308
+ amountPaid: storedAmountPaid,
309
+ amountDue: storedAmountDue,
265
310
  status: newStatus,
266
311
  });
267
- this.logger.log(`Invoice ${invoiceId} recalculated: amountPaid=${newAmountPaid} amountDue=${newAmountDue} status=${newStatus}`);
312
+ this.logger.log(`Invoice ${invoiceId} recalculated: amountPaid=${storedAmountPaid} ` +
313
+ `amountDue=${storedAmountDue} status=${newStatus}` +
314
+ (storedAmountPaid !== newAmountPaid
315
+ ? ` (clamped from amountPaid=${newAmountPaid} amountDue=${newAmountDue})`
316
+ : ''));
268
317
  return newStatus;
269
318
  }
270
319
  async updatePaymentRefundStatus(repos, paymentId) {
@@ -1 +1 @@
1
- {"version":3,"file":"refund.service.js","sourceRoot":"","sources":["../../src/services/refund.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refund.service.js","sourceRoot":"","sources":["../../src/services/refund.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ambushsoftworks/nestjs-payments-graphql",
3
- "version": "0.4.0-rc.2",
3
+ "version": "0.4.0-rc.3",
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",
@@ -378,6 +378,16 @@ model Refund {
378
378
  reason String?
379
379
 
380
380
  // Provider fields (null for manual refunds)
381
+ //
382
+ // providerRefundId is the dedup key for provider-reported refunds: the
383
+ // package matches an incoming webhook against it rather than creating a
384
+ // second row, and refuses to create a row from an event that lacks one.
385
+ // Null is legitimate ONLY for manual refunds against offline payments.
386
+ //
387
+ // providerData carries `recordedBy`: 'api' (the package called the
388
+ // provider), 'webhook' (the provider reported a refund the package did not
389
+ // initiate, e.g. issued from the Stripe Dashboard), or 'manual' (entered by
390
+ // hand). No column needed — it rides in the existing Json.
381
391
  providerRefundId String?
382
392
  providerData Json?
383
393