@carlonicora/nestjs-neo4jsonapi 6.9.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/decorators/audit.decorator.d.ts +3 -0
- package/dist/common/decorators/audit.decorator.d.ts.map +1 -1
- package/dist/common/decorators/audit.decorator.js +15 -2
- package/dist/common/decorators/audit.decorator.js.map +1 -1
- package/dist/common/decorators/cache-invalidate.decorator.d.ts +2 -1
- package/dist/common/decorators/cache-invalidate.decorator.d.ts.map +1 -1
- package/dist/common/decorators/cache-invalidate.decorator.js +15 -3
- package/dist/common/decorators/cache-invalidate.decorator.js.map +1 -1
- package/dist/common/decorators/handler-wrapper.d.ts +13 -0
- package/dist/common/decorators/handler-wrapper.d.ts.map +1 -0
- package/dist/common/decorators/handler-wrapper.js +25 -0
- package/dist/common/decorators/handler-wrapper.js.map +1 -0
- package/dist/common/decorators/validate-id.decorator.d.ts +4 -1
- package/dist/common/decorators/validate-id.decorator.d.ts.map +1 -1
- package/dist/common/decorators/validate-id.decorator.js +14 -2
- package/dist/common/decorators/validate-id.decorator.js.map +1 -1
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.d.ts +2 -1
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.d.ts.map +1 -1
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.js +5 -4
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.js.map +1 -1
- package/dist/foundations/analytics/controllers/analytics.admin.controller.d.ts +2 -1
- package/dist/foundations/analytics/controllers/analytics.admin.controller.d.ts.map +1 -1
- package/dist/foundations/analytics/controllers/analytics.admin.controller.js +5 -4
- package/dist/foundations/analytics/controllers/analytics.admin.controller.js.map +1 -1
- package/dist/foundations/foundations.modules.d.ts.map +1 -1
- package/dist/foundations/foundations.modules.js +2 -0
- package/dist/foundations/foundations.modules.js.map +1 -1
- package/dist/foundations/handbook/controllers/handbook.controller.d.ts +3 -2
- package/dist/foundations/handbook/controllers/handbook.controller.d.ts.map +1 -1
- package/dist/foundations/handbook/controllers/handbook.controller.js +10 -8
- package/dist/foundations/handbook/controllers/handbook.controller.js.map +1 -1
- package/dist/foundations/notification/controllers/notification.controller.d.ts.map +1 -1
- package/dist/foundations/notification/controllers/notification.controller.js +0 -1
- package/dist/foundations/notification/controllers/notification.controller.js.map +1 -1
- package/dist/foundations/role/controllers/role.controller.d.ts +4 -3
- package/dist/foundations/role/controllers/role.controller.d.ts.map +1 -1
- package/dist/foundations/role/controllers/role.controller.js +13 -10
- package/dist/foundations/role/controllers/role.controller.js.map +1 -1
- package/dist/foundations/stripe/index.d.ts +1 -0
- package/dist/foundations/stripe/index.d.ts.map +1 -1
- package/dist/foundations/stripe/index.js +2 -0
- package/dist/foundations/stripe/index.js.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.d.ts +15 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.js +61 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.js.map +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.d.ts +28 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.js +137 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.js.map +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.d.ts +26 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.js +132 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.js.map +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.d.ts +12 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.js +49 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.js.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.d.ts +8 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.js +25 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.js.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.d.ts +13 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.js +55 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.js.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.d.ts +24 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.js +105 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.js.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.d.ts +8 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.js +36 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.js.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.d.ts +12 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.js +51 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.js.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.d.ts +31 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.js +120 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.js.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.d.ts +28 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.js +35 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.js.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.d.ts +5 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.js +12 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.js.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.d.ts +23 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.js +21 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.js.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.d.ts +6 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.js +13 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.js.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.d.ts +55 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.js +37 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.js.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.d.ts +5 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.js +12 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.js.map +1 -0
- package/dist/foundations/stripe-coupon/index.d.ts +22 -0
- package/dist/foundations/stripe-coupon/index.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/index.js +44 -0
- package/dist/foundations/stripe-coupon/index.js.map +1 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.d.ts +41 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.js +97 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.js.map +1 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.d.ts +29 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.js +55 -0
- package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.js.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.d.ts +67 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.js +172 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.js.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.d.ts +81 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.js +206 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.js.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.d.ts +92 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.js +134 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.js.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.d.ts +29 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.js +73 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.js.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.d.ts +98 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.js +236 -0
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.js.map +1 -0
- package/dist/foundations/stripe-coupon/stripe-coupon.module.d.ts +14 -0
- package/dist/foundations/stripe-coupon/stripe-coupon.module.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/stripe-coupon.module.js +91 -0
- package/dist/foundations/stripe-coupon/stripe-coupon.module.js.map +1 -0
- package/dist/foundations/stripe-coupon/utils/places-left.d.ts +19 -0
- package/dist/foundations/stripe-coupon/utils/places-left.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/utils/places-left.js +33 -0
- package/dist/foundations/stripe-coupon/utils/places-left.js.map +1 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.d.ts +22 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.d.ts.map +1 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.js +48 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.js.map +1 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.d.ts +51 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.d.ts.map +1 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.js +129 -0
- package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.js.map +1 -0
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.d.ts +7 -1
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js +18 -5
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.d.ts +30 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.d.ts.map +1 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.js +57 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.js.map +1 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts +7 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.js +6 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.js.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.d.ts +8 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.js +9 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.js.map +1 -1
- package/dist/foundations/stripe-subscription/index.d.ts +3 -2
- package/dist/foundations/stripe-subscription/index.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/index.js +5 -1
- package/dist/foundations/stripe-subscription/index.js.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts +14 -0
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js +32 -0
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js.map +1 -1
- package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.js +6 -0
- package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts +34 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js +165 -29
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts +7 -0
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js +29 -2
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.d.ts +27 -0
- package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.d.ts.map +1 -0
- package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.js +62 -0
- package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.js.map +1 -0
- package/dist/foundations/stripe-subscription/stripe-subscription.module.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/stripe-subscription.module.js +10 -0
- package/dist/foundations/stripe-subscription/stripe-subscription.module.js.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +16 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
- package/dist/foundations/two-factor/controllers/passkey.controller.d.ts +1 -1
- package/dist/foundations/two-factor/controllers/passkey.controller.d.ts.map +1 -1
- package/dist/foundations/two-factor/controllers/passkey.controller.js +6 -5
- package/dist/foundations/two-factor/controllers/passkey.controller.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var StripeSubscriptionAdminService_1;
|
|
11
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
16
|
exports.StripeSubscriptionAdminService = void 0;
|
|
13
17
|
const common_1 = require("@nestjs/common");
|
|
@@ -15,10 +19,14 @@ const jsonapi_1 = require("../../../core/jsonapi");
|
|
|
15
19
|
const stripe_customer_repository_1 = require("../../stripe-customer/repositories/stripe-customer.repository");
|
|
16
20
|
const stripe_customer_api_service_1 = require("../../stripe-customer/services/stripe-customer-api.service");
|
|
17
21
|
const stripe_price_repository_1 = require("../../stripe-price/repositories/stripe-price.repository");
|
|
22
|
+
const stripe_coupon_code_checkout_service_1 = require("../../stripe-coupon/services/stripe-coupon-code-checkout.service");
|
|
23
|
+
const stripe_errors_1 = require("../../stripe/errors/stripe.errors");
|
|
18
24
|
const stripe_payment_service_1 = require("../../stripe/services/stripe.payment.service");
|
|
19
25
|
const stripe_subscription_model_1 = require("../entities/stripe-subscription.model");
|
|
26
|
+
const stripe_subscription_discount_1 = require("../entities/stripe-subscription.discount");
|
|
20
27
|
const stripe_subscription_repository_1 = require("../repositories/stripe-subscription.repository");
|
|
21
28
|
const stripe_subscription_api_service_1 = require("./stripe-subscription-api.service");
|
|
29
|
+
const subscription_payment_confirmation_1 = require("./subscription-payment-confirmation");
|
|
22
30
|
/**
|
|
23
31
|
* StripeSubscriptionAdminService
|
|
24
32
|
*
|
|
@@ -37,8 +45,8 @@ const stripe_subscription_api_service_1 = require("./stripe-subscription-api.ser
|
|
|
37
45
|
*
|
|
38
46
|
* All operations update both Stripe and the local Neo4j database to maintain consistency.
|
|
39
47
|
*/
|
|
40
|
-
let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
41
|
-
constructor(subscriptionRepository, stripeCustomerRepository, stripePriceRepository, stripeSubscriptionApiService, stripeCustomerApiService, stripePaymentService, jsonApiService) {
|
|
48
|
+
let StripeSubscriptionAdminService = StripeSubscriptionAdminService_1 = class StripeSubscriptionAdminService {
|
|
49
|
+
constructor(subscriptionRepository, stripeCustomerRepository, stripePriceRepository, stripeSubscriptionApiService, stripeCustomerApiService, stripePaymentService, jsonApiService, stripeCouponCodeCheckoutService) {
|
|
42
50
|
this.subscriptionRepository = subscriptionRepository;
|
|
43
51
|
this.stripeCustomerRepository = stripeCustomerRepository;
|
|
44
52
|
this.stripePriceRepository = stripePriceRepository;
|
|
@@ -46,6 +54,8 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
46
54
|
this.stripeCustomerApiService = stripeCustomerApiService;
|
|
47
55
|
this.stripePaymentService = stripePaymentService;
|
|
48
56
|
this.jsonApiService = jsonApiService;
|
|
57
|
+
this.stripeCouponCodeCheckoutService = stripeCouponCodeCheckoutService;
|
|
58
|
+
this.logger = new common_1.Logger(StripeSubscriptionAdminService_1.name);
|
|
49
59
|
}
|
|
50
60
|
/**
|
|
51
61
|
* List subscriptions for a company
|
|
@@ -133,8 +143,9 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
133
143
|
throw new common_1.HttpException("Price not found", common_1.HttpStatus.NOT_FOUND);
|
|
134
144
|
}
|
|
135
145
|
// Prevent duplicate recurring subscriptions
|
|
146
|
+
let existingSubscriptions = [];
|
|
136
147
|
if (price.priceType === "recurring") {
|
|
137
|
-
|
|
148
|
+
existingSubscriptions = await this.subscriptionRepository.findByStripeCustomerId({
|
|
138
149
|
stripeCustomerId: customer.id,
|
|
139
150
|
});
|
|
140
151
|
const hasActiveRecurring = existingSubscriptions.some((sub) => (sub.status === "active" || sub.status === "trialing") && sub.stripePrice?.priceType === "recurring");
|
|
@@ -151,7 +162,9 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
151
162
|
if (paymentMethods.length === 0) {
|
|
152
163
|
throw new common_1.HttpException("No payment method available. Please add a payment method before creating a subscription.", common_1.HttpStatus.PAYMENT_REQUIRED);
|
|
153
164
|
}
|
|
154
|
-
|
|
165
|
+
// The customer default (the card picked last, e.g. "Use another card"); the first card only without one
|
|
166
|
+
paymentMethodId =
|
|
167
|
+
paymentMethods.find((method) => method.id === customer.defaultPaymentMethodId)?.id ?? paymentMethods[0].id;
|
|
155
168
|
}
|
|
156
169
|
// Branch based on price type: one-time vs recurring
|
|
157
170
|
if (price.priceType === "one_time") {
|
|
@@ -165,7 +178,17 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
165
178
|
});
|
|
166
179
|
}
|
|
167
180
|
// Recurring subscription flow
|
|
168
|
-
|
|
181
|
+
// A first payment gets the automatic code only when the server confirms it still applies.
|
|
182
|
+
const { promotionCode, automatic } = await this.resolvePromotionCode({
|
|
183
|
+
companyId: params.companyId,
|
|
184
|
+
priceId: params.priceId,
|
|
185
|
+
promotionCode: params.promotionCode,
|
|
186
|
+
firstPayment: !params.trialPeriodDays && !params.trialEnd,
|
|
187
|
+
});
|
|
188
|
+
// An earlier attempt that was never paid (declined card, failed 3D Secure) is
|
|
189
|
+
// cancelled first, so retries do not pile up unpaid subscriptions
|
|
190
|
+
await this.cancelUnpaidRecurringSubscriptions(existingSubscriptions);
|
|
191
|
+
const stripeSubscription = await this.withDiscountSoldOutMapping(automatic, promotionCode, () => this.stripeSubscriptionApiService.createSubscription({
|
|
169
192
|
stripeCustomerId: customer.stripeCustomerId,
|
|
170
193
|
priceId: price.stripePriceId,
|
|
171
194
|
paymentMethodId,
|
|
@@ -175,21 +198,12 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
175
198
|
companyId: params.companyId,
|
|
176
199
|
priceId: params.priceId,
|
|
177
200
|
},
|
|
178
|
-
promotionCode
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
const
|
|
184
|
-
if (latestInvoice && typeof latestInvoice !== "string") {
|
|
185
|
-
const invoice = latestInvoice;
|
|
186
|
-
const paymentIntent = invoice.payment_intent;
|
|
187
|
-
if (paymentIntent && typeof paymentIntent !== "string") {
|
|
188
|
-
clientSecret = paymentIntent.client_secret;
|
|
189
|
-
paymentIntentId = paymentIntent.id;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
const requiresAction = stripeSubscription.status === "incomplete" && clientSecret !== null;
|
|
201
|
+
promotionCode,
|
|
202
|
+
}));
|
|
203
|
+
if (promotionCode)
|
|
204
|
+
await this.stripeCouponCodeCheckoutService.refreshCountsByStripePromotionCodeId(promotionCode);
|
|
205
|
+
// Payment details the browser needs to confirm the first payment (SCA)
|
|
206
|
+
const { clientSecret, paymentIntentId, requiresAction } = (0, subscription_payment_confirmation_1.subscriptionPaymentConfirmation)(stripeSubscription);
|
|
193
207
|
const subscriptionItem = stripeSubscription.items.data[0];
|
|
194
208
|
const subscription = await this.subscriptionRepository.create({
|
|
195
209
|
stripeCustomerId: customer.id,
|
|
@@ -203,6 +217,7 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
203
217
|
trialStart: stripeSubscription.trial_start ? new Date(stripeSubscription.trial_start * 1000) : undefined,
|
|
204
218
|
trialEnd: stripeSubscription.trial_end ? new Date(stripeSubscription.trial_end * 1000) : undefined,
|
|
205
219
|
quantity: params.quantity ?? 1,
|
|
220
|
+
discount: (0, stripe_subscription_discount_1.discountFromStripeSubscription)(stripeSubscription),
|
|
206
221
|
});
|
|
207
222
|
const data = await this.jsonApiService.buildSingle(stripe_subscription_model_1.StripeSubscriptionModel, subscription);
|
|
208
223
|
return {
|
|
@@ -243,13 +258,46 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
243
258
|
throw new common_1.HttpException("Subscription does not belong to this company", common_1.HttpStatus.FORBIDDEN);
|
|
244
259
|
}
|
|
245
260
|
const stripeSubscription = await this.stripeSubscriptionApiService.cancelSubscription(subscription.stripeSubscriptionId, !params.cancelImmediately);
|
|
246
|
-
const updatedSubscription = await this.
|
|
247
|
-
|
|
261
|
+
const updatedSubscription = await this.storeCancellation(params.id, stripeSubscription);
|
|
262
|
+
return this.jsonApiService.buildSingle(stripe_subscription_model_1.StripeSubscriptionModel, updatedSubscription);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Stores the cancellation Stripe answered with on our subscription node.
|
|
266
|
+
*/
|
|
267
|
+
async storeCancellation(id, stripeSubscription) {
|
|
268
|
+
return this.subscriptionRepository.update({
|
|
269
|
+
id,
|
|
248
270
|
status: stripeSubscription.status,
|
|
249
271
|
cancelAtPeriodEnd: stripeSubscription.cancel_at_period_end,
|
|
250
272
|
canceledAt: stripeSubscription.canceled_at ? new Date(stripeSubscription.canceled_at * 1000) : undefined,
|
|
251
273
|
});
|
|
252
|
-
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Cancels, in Stripe and at once, every recurring subscription of the customer that is
|
|
277
|
+
* still `incomplete`: a first payment that never went through. Active, trialing and
|
|
278
|
+
* past_due subscriptions are never touched, nor one-time purchases (their node holds a
|
|
279
|
+
* PaymentIntent id, not a subscription id).
|
|
280
|
+
*
|
|
281
|
+
* A failed cancellation never blocks the new subscription: the node is re-read from
|
|
282
|
+
* Stripe instead (an attempt older than 23 hours is already `incomplete_expired`).
|
|
283
|
+
*/
|
|
284
|
+
async cancelUnpaidRecurringSubscriptions(subscriptions) {
|
|
285
|
+
const unpaid = subscriptions.filter((sub) => sub.status === "incomplete" && sub.stripePrice?.priceType === "recurring" && sub.stripeSubscriptionId);
|
|
286
|
+
for (const sub of unpaid) {
|
|
287
|
+
try {
|
|
288
|
+
const stripeSubscription = await this.stripeSubscriptionApiService.cancelUnpaidAttempt(sub.stripeSubscriptionId);
|
|
289
|
+
await this.storeCancellation(sub.id, stripeSubscription);
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
this.logger.warn(`Could not cancel unpaid subscription ${sub.stripeSubscriptionId}: ${error instanceof Error ? error.message : String(error)}`);
|
|
293
|
+
try {
|
|
294
|
+
await this.syncSubscriptionFromStripe({ stripeSubscriptionId: sub.stripeSubscriptionId });
|
|
295
|
+
}
|
|
296
|
+
catch (syncError) {
|
|
297
|
+
this.logger.warn(`Could not re-read unpaid subscription ${sub.stripeSubscriptionId}: ${syncError instanceof Error ? syncError.message : String(syncError)}`);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
253
301
|
}
|
|
254
302
|
/**
|
|
255
303
|
* Pause a subscription
|
|
@@ -343,21 +391,38 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
343
391
|
}
|
|
344
392
|
// Check if subscription is in trial status
|
|
345
393
|
const isTrialUpgrade = subscription.status === "trialing";
|
|
394
|
+
// The subscription charges the customer default from now on: a card saved on the
|
|
395
|
+
// subscription by an earlier payment would otherwise beat a card added since
|
|
396
|
+
let defaultPaymentMethodId = customer.defaultPaymentMethodId || undefined;
|
|
346
397
|
// For trial upgrades, require a payment method
|
|
347
398
|
if (isTrialUpgrade) {
|
|
348
399
|
const paymentMethods = await this.stripeCustomerApiService.listPaymentMethods(customer.stripeCustomerId);
|
|
349
400
|
if (paymentMethods.length === 0) {
|
|
350
401
|
throw new common_1.HttpException("A payment method is required to upgrade from trial", common_1.HttpStatus.PAYMENT_REQUIRED);
|
|
351
402
|
}
|
|
403
|
+
// A default that is no longer attached is not sent
|
|
404
|
+
if (!paymentMethods.some((method) => method.id === defaultPaymentMethodId))
|
|
405
|
+
defaultPaymentMethodId = undefined;
|
|
352
406
|
}
|
|
407
|
+
// Paying for a trial is a first payment and can get the automatic code.
|
|
408
|
+
// A paid plan change sends no code unless the GM typed one, so an existing discount stays.
|
|
409
|
+
const { promotionCode, automatic } = await this.resolvePromotionCode({
|
|
410
|
+
companyId: params.companyId,
|
|
411
|
+
priceId: params.newPriceId,
|
|
412
|
+
promotionCode: params.promotionCode,
|
|
413
|
+
firstPayment: isTrialUpgrade,
|
|
414
|
+
});
|
|
353
415
|
// Update with trial_end: 'now' for trial upgrades
|
|
354
|
-
const stripeSubscription = await this.stripeSubscriptionApiService.updateSubscription({
|
|
416
|
+
const stripeSubscription = await this.withDiscountSoldOutMapping(automatic, promotionCode, () => this.stripeSubscriptionApiService.updateSubscription({
|
|
355
417
|
subscriptionId: subscription.stripeSubscriptionId,
|
|
356
418
|
priceId: newPrice.stripePriceId,
|
|
357
419
|
prorationBehavior: isTrialUpgrade ? "none" : "create_prorations",
|
|
358
|
-
promotionCode
|
|
420
|
+
promotionCode,
|
|
359
421
|
trialEnd: isTrialUpgrade ? "now" : undefined,
|
|
360
|
-
|
|
422
|
+
defaultPaymentMethodId,
|
|
423
|
+
}));
|
|
424
|
+
if (promotionCode)
|
|
425
|
+
await this.stripeCouponCodeCheckoutService.refreshCountsByStripePromotionCodeId(promotionCode);
|
|
361
426
|
await this.subscriptionRepository.updatePrice({
|
|
362
427
|
id: params.id,
|
|
363
428
|
newPriceId: params.newPriceId,
|
|
@@ -368,8 +433,15 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
368
433
|
status: stripeSubscription.status,
|
|
369
434
|
currentPeriodStart: new Date(subscriptionItem.current_period_start * 1000),
|
|
370
435
|
currentPeriodEnd: new Date(subscriptionItem.current_period_end * 1000),
|
|
436
|
+
discount: (0, stripe_subscription_discount_1.discountFromStripeSubscription)(stripeSubscription),
|
|
371
437
|
});
|
|
372
|
-
|
|
438
|
+
const document = await this.jsonApiService.buildSingle(stripe_subscription_model_1.StripeSubscriptionModel, updatedSubscription);
|
|
439
|
+
// A trial upgrade charges at once; a card that asks for 3D Secure leaves the
|
|
440
|
+
// invoice open. The browser confirms it with the client secret in meta.
|
|
441
|
+
const confirmation = (0, subscription_payment_confirmation_1.subscriptionPaymentConfirmation)(stripeSubscription);
|
|
442
|
+
if (!confirmation.requiresAction)
|
|
443
|
+
return document;
|
|
444
|
+
return { ...document, meta: { ...document.meta, ...confirmation } };
|
|
373
445
|
}
|
|
374
446
|
/**
|
|
375
447
|
* Preview proration for plan change
|
|
@@ -499,6 +571,7 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
499
571
|
canceledAt: stripeSubscription.canceled_at ? new Date(stripeSubscription.canceled_at * 1000) : null,
|
|
500
572
|
trialStart: stripeSubscription.trial_start ? new Date(stripeSubscription.trial_start * 1000) : undefined,
|
|
501
573
|
trialEnd: stripeSubscription.trial_end ? new Date(stripeSubscription.trial_end * 1000) : undefined,
|
|
574
|
+
discount: (0, stripe_subscription_discount_1.discountFromStripeSubscription)(stripeSubscription),
|
|
502
575
|
});
|
|
503
576
|
}
|
|
504
577
|
}
|
|
@@ -565,16 +638,79 @@ let StripeSubscriptionAdminService = class StripeSubscriptionAdminService {
|
|
|
565
638
|
requiresAction,
|
|
566
639
|
};
|
|
567
640
|
}
|
|
641
|
+
/**
|
|
642
|
+
* Decides which promotion code goes to Stripe and whether it is our automatic code.
|
|
643
|
+
* - No code sent: on a first payment the server attaches the automatic code when it applies.
|
|
644
|
+
* - Our automatic code sent (the review showed it): it goes to Stripe only when it still applies.
|
|
645
|
+
* Otherwise the payment stops here, so the GM is never charged full price silently:
|
|
646
|
+
* 410 `discount_sold_out` when the places ran out, 422 `discount_unavailable` for any other reason.
|
|
647
|
+
* - Any other code (typed, or not ours): passed to Stripe unchanged.
|
|
648
|
+
*/
|
|
649
|
+
async resolvePromotionCode(params) {
|
|
650
|
+
if (!params.promotionCode) {
|
|
651
|
+
if (!params.firstPayment)
|
|
652
|
+
return { promotionCode: undefined, automatic: false };
|
|
653
|
+
const code = await this.stripeCouponCodeCheckoutService.findAutomaticForPrice({
|
|
654
|
+
companyId: params.companyId,
|
|
655
|
+
priceId: params.priceId,
|
|
656
|
+
});
|
|
657
|
+
return { promotionCode: code?.stripePromotionCodeId, automatic: !!code };
|
|
658
|
+
}
|
|
659
|
+
const status = await this.stripeCouponCodeCheckoutService.checkAutomaticForPrice({
|
|
660
|
+
companyId: params.companyId,
|
|
661
|
+
priceId: params.priceId,
|
|
662
|
+
stripePromotionCodeId: params.promotionCode,
|
|
663
|
+
firstPayment: params.firstPayment,
|
|
664
|
+
});
|
|
665
|
+
switch (status) {
|
|
666
|
+
case "eligible":
|
|
667
|
+
return { promotionCode: params.promotionCode, automatic: true };
|
|
668
|
+
case "sold_out":
|
|
669
|
+
throw new common_1.HttpException({ message: "The discount has no places left", code: "discount_sold_out" }, common_1.HttpStatus.GONE);
|
|
670
|
+
case "unavailable":
|
|
671
|
+
throw new common_1.HttpException({ message: "The discount is no longer available", code: "discount_unavailable" }, common_1.HttpStatus.UNPROCESSABLE_ENTITY);
|
|
672
|
+
case "not_automatic":
|
|
673
|
+
return { promotionCode: params.promotionCode, automatic: false };
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* Runs a Stripe call. When it carries our automatic code and Stripe refuses it because the code
|
|
678
|
+
* has no places left (two GMs on the last place), answers 410 `discount_sold_out`; Stripe
|
|
679
|
+
* refused the whole call, so nothing was charged. A typed code, and any other failure, is
|
|
680
|
+
* re-thrown unchanged: the "last founding place" message is only true for the automatic code.
|
|
681
|
+
*/
|
|
682
|
+
async withDiscountSoldOutMapping(automatic, promotionCode, call) {
|
|
683
|
+
try {
|
|
684
|
+
return await call();
|
|
685
|
+
}
|
|
686
|
+
catch (error) {
|
|
687
|
+
if (!(error instanceof stripe_errors_1.StripeError) || !automatic || !promotionCode)
|
|
688
|
+
throw error;
|
|
689
|
+
let exhausted = false;
|
|
690
|
+
try {
|
|
691
|
+
exhausted = await this.stripeCouponCodeCheckoutService.isExhausted(promotionCode);
|
|
692
|
+
}
|
|
693
|
+
catch {
|
|
694
|
+
throw error;
|
|
695
|
+
}
|
|
696
|
+
if (exhausted) {
|
|
697
|
+
throw new common_1.HttpException({ message: "The discount has no places left", code: "discount_sold_out" }, common_1.HttpStatus.GONE);
|
|
698
|
+
}
|
|
699
|
+
throw error;
|
|
700
|
+
}
|
|
701
|
+
}
|
|
568
702
|
};
|
|
569
703
|
exports.StripeSubscriptionAdminService = StripeSubscriptionAdminService;
|
|
570
|
-
exports.StripeSubscriptionAdminService = StripeSubscriptionAdminService = __decorate([
|
|
704
|
+
exports.StripeSubscriptionAdminService = StripeSubscriptionAdminService = StripeSubscriptionAdminService_1 = __decorate([
|
|
571
705
|
(0, common_1.Injectable)(),
|
|
706
|
+
__param(7, (0, common_1.Inject)((0, common_1.forwardRef)(() => stripe_coupon_code_checkout_service_1.StripeCouponCodeCheckoutService))),
|
|
572
707
|
__metadata("design:paramtypes", [stripe_subscription_repository_1.StripeSubscriptionRepository,
|
|
573
708
|
stripe_customer_repository_1.StripeCustomerRepository,
|
|
574
709
|
stripe_price_repository_1.StripePriceRepository,
|
|
575
710
|
stripe_subscription_api_service_1.StripeSubscriptionApiService,
|
|
576
711
|
stripe_customer_api_service_1.StripeCustomerApiService,
|
|
577
712
|
stripe_payment_service_1.StripePaymentService,
|
|
578
|
-
jsonapi_1.JsonApiService
|
|
713
|
+
jsonapi_1.JsonApiService,
|
|
714
|
+
stripe_coupon_code_checkout_service_1.StripeCouponCodeCheckoutService])
|
|
579
715
|
], StripeSubscriptionAdminService);
|
|
580
716
|
//# sourceMappingURL=stripe-subscription-admin.service.js.map
|
package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-subscription-admin.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/stripe-subscription-admin.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stripe-subscription-admin.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/stripe-subscription-admin.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,8 @@ export declare class StripeSubscriptionApiService {
|
|
|
89
89
|
metadata?: Record<string, string>;
|
|
90
90
|
promotionCode?: string;
|
|
91
91
|
trialEnd?: "now";
|
|
92
|
+
/** The card the subscription charges from now on (the customer default) */
|
|
93
|
+
defaultPaymentMethodId?: string;
|
|
92
94
|
}): Promise<Stripe.Subscription>;
|
|
93
95
|
/**
|
|
94
96
|
* Cancel a subscription
|
|
@@ -108,6 +110,11 @@ export declare class StripeSubscriptionApiService {
|
|
|
108
110
|
* ```
|
|
109
111
|
*/
|
|
110
112
|
cancelSubscription(subscriptionId: string, cancelAtPeriodEnd?: boolean): Promise<Stripe.Subscription>;
|
|
113
|
+
/**
|
|
114
|
+
* Cancel at once an unpaid first-payment attempt that a new attempt replaces, marking it
|
|
115
|
+
* so the webhook knows it never granted anything.
|
|
116
|
+
*/
|
|
117
|
+
cancelUnpaidAttempt(subscriptionId: string): Promise<Stripe.Subscription>;
|
|
111
118
|
/**
|
|
112
119
|
* Pause a subscription
|
|
113
120
|
*
|
package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-subscription-api.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/stripe-subscription-api.service.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"stripe-subscription-api.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/stripe-subscription-api.service.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAKrE;;;;;;;;;;;;;;GAcG;AACH,qBACa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEzD;;;;;;;;;;;;;;;;;;;;;OAqBG;IAEG,kBAAkB,CAAC,MAAM,EAAE;QAC/B,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IA6BhC;;;;;;;;;;;OAWG;IAEG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAOhF;;;;;;;;;;;;;;;;;;;OAmBG;IAEG,kBAAkB,CAAC,MAAM,EAAE;QAC/B,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,iBAAiB,CAAC;QACtE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,2EAA2E;QAC3E,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAyChC;;;;;;;;;;;;;;;;OAgBG;IAEG,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IASjH;;;OAGG;IAEG,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAO/E;;;;;;;;;;;;;OAaG;IAEG,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAa9F;;;;;;;;;;;OAWG;IAEG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAK9E;;;;;;;;;;;;;OAaG;IAEG,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAe3F;;;;;;;;;;;;;;;;OAgBG;IAEG,iBAAiB,CACrB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,CAAC,sBAAsB,CAAC,MAAM,GAC5C,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;CAYlC"}
|
|
@@ -17,6 +17,9 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const stripe_1 = __importDefault(require("stripe"));
|
|
18
18
|
const stripe_errors_1 = require("../../stripe/errors/stripe.errors");
|
|
19
19
|
const stripe_service_1 = require("../../stripe/services/stripe.service");
|
|
20
|
+
const stripe_subscription_discount_1 = require("../entities/stripe-subscription.discount");
|
|
21
|
+
const stripe_subscription_meta_1 = require("../entities/stripe-subscription.meta");
|
|
22
|
+
const subscription_payment_confirmation_1 = require("./subscription-payment-confirmation");
|
|
20
23
|
/**
|
|
21
24
|
* Stripe Subscription API Service
|
|
22
25
|
*
|
|
@@ -65,7 +68,7 @@ let StripeSubscriptionApiService = class StripeSubscriptionApiService {
|
|
|
65
68
|
items: [{ price: params.priceId }],
|
|
66
69
|
payment_behavior: "default_incomplete",
|
|
67
70
|
payment_settings: { save_default_payment_method: "on_subscription" },
|
|
68
|
-
expand: [
|
|
71
|
+
expand: [...subscription_payment_confirmation_1.SUBSCRIPTION_PAYMENT_EXPAND, "pending_setup_intent", stripe_subscription_discount_1.STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND],
|
|
69
72
|
metadata: params.metadata,
|
|
70
73
|
};
|
|
71
74
|
if (params.paymentMethodId) {
|
|
@@ -98,7 +101,7 @@ let StripeSubscriptionApiService = class StripeSubscriptionApiService {
|
|
|
98
101
|
async retrieveSubscription(subscriptionId) {
|
|
99
102
|
const stripe = this.stripeService.getClient();
|
|
100
103
|
return stripe.subscriptions.retrieve(subscriptionId, {
|
|
101
|
-
expand: ["latest_invoice", "default_payment_method"],
|
|
104
|
+
expand: ["latest_invoice", "default_payment_method", stripe_subscription_discount_1.STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND],
|
|
102
105
|
});
|
|
103
106
|
}
|
|
104
107
|
/**
|
|
@@ -143,6 +146,14 @@ let StripeSubscriptionApiService = class StripeSubscriptionApiService {
|
|
|
143
146
|
if (params.trialEnd === "now") {
|
|
144
147
|
updateParams.trial_end = "now";
|
|
145
148
|
}
|
|
149
|
+
// A card saved on the subscription by an earlier payment would otherwise beat the customer default
|
|
150
|
+
if (params.defaultPaymentMethodId) {
|
|
151
|
+
updateParams.default_payment_method = params.defaultPaymentMethodId;
|
|
152
|
+
}
|
|
153
|
+
// A change that charges at once (trial upgrade) can leave the invoice open
|
|
154
|
+
// when the card needs 3D Secure; the caller reads the client secret from it
|
|
155
|
+
// The discount is expanded so the caller can store what the subscription carries after the update.
|
|
156
|
+
updateParams.expand = [...subscription_payment_confirmation_1.SUBSCRIPTION_PAYMENT_EXPAND, stripe_subscription_discount_1.STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND];
|
|
146
157
|
return stripe.subscriptions.update(params.subscriptionId, updateParams);
|
|
147
158
|
}
|
|
148
159
|
/**
|
|
@@ -169,6 +180,16 @@ let StripeSubscriptionApiService = class StripeSubscriptionApiService {
|
|
|
169
180
|
}
|
|
170
181
|
return stripe.subscriptions.cancel(subscriptionId);
|
|
171
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Cancel at once an unpaid first-payment attempt that a new attempt replaces, marking it
|
|
185
|
+
* so the webhook knows it never granted anything.
|
|
186
|
+
*/
|
|
187
|
+
async cancelUnpaidAttempt(subscriptionId) {
|
|
188
|
+
const stripe = this.stripeService.getClient();
|
|
189
|
+
return stripe.subscriptions.cancel(subscriptionId, {
|
|
190
|
+
cancellation_details: { comment: stripe_subscription_meta_1.STRIPE_UNPAID_ATTEMPT_CANCELLATION_COMMENT },
|
|
191
|
+
});
|
|
192
|
+
}
|
|
172
193
|
/**
|
|
173
194
|
* Pause a subscription
|
|
174
195
|
*
|
|
@@ -291,6 +312,12 @@ __decorate([
|
|
|
291
312
|
__metadata("design:paramtypes", [String, Boolean]),
|
|
292
313
|
__metadata("design:returntype", Promise)
|
|
293
314
|
], StripeSubscriptionApiService.prototype, "cancelSubscription", null);
|
|
315
|
+
__decorate([
|
|
316
|
+
(0, stripe_errors_1.HandleStripeErrors)(),
|
|
317
|
+
__metadata("design:type", Function),
|
|
318
|
+
__metadata("design:paramtypes", [String]),
|
|
319
|
+
__metadata("design:returntype", Promise)
|
|
320
|
+
], StripeSubscriptionApiService.prototype, "cancelUnpaidAttempt", null);
|
|
294
321
|
__decorate([
|
|
295
322
|
(0, stripe_errors_1.HandleStripeErrors)(),
|
|
296
323
|
__metadata("design:type", Function),
|
package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-subscription-api.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/stripe-subscription-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oDAA4B;AAC5B,qEAAuE;AACvE,yEAAqE;
|
|
1
|
+
{"version":3,"file":"stripe-subscription-api.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/stripe-subscription-api.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Stripe from "stripe";
|
|
2
|
+
/**
|
|
3
|
+
* What a subscription create / update must expand so the first invoice's
|
|
4
|
+
* payment can be confirmed in the browser.
|
|
5
|
+
*
|
|
6
|
+
* Since Stripe API 2025-03-31 (basil) an invoice has no `payment_intent`: the
|
|
7
|
+
* client secret is on `confirmation_secret` and the PaymentIntent id under
|
|
8
|
+
* `payments`. `latest_invoice.payment_intent` stays for an app that pins an
|
|
9
|
+
* older `STRIPE_API_VERSION`; a newer version ignores it.
|
|
10
|
+
*/
|
|
11
|
+
export declare const SUBSCRIPTION_PAYMENT_EXPAND: readonly ["latest_invoice.confirmation_secret", "latest_invoice.payments", "latest_invoice.payment_intent"];
|
|
12
|
+
export type SubscriptionPaymentConfirmation = {
|
|
13
|
+
clientSecret: string | null;
|
|
14
|
+
paymentIntentId: string | null;
|
|
15
|
+
requiresAction: boolean;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Whether the browser must confirm the subscription's first payment, and with
|
|
19
|
+
* which client secret.
|
|
20
|
+
*
|
|
21
|
+
* It must when the latest invoice is still `open` (not paid) and the
|
|
22
|
+
* subscription waits on it: `incomplete` after a create with
|
|
23
|
+
* `payment_behavior: "default_incomplete"`, or `past_due` after a trial upgrade
|
|
24
|
+
* whose card asked for 3D Secure.
|
|
25
|
+
*/
|
|
26
|
+
export declare function subscriptionPaymentConfirmation(subscription: Stripe.Subscription): SubscriptionPaymentConfirmation;
|
|
27
|
+
//# sourceMappingURL=subscription-payment-confirmation.d.ts.map
|
package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription-payment-confirmation.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/subscription-payment-confirmation.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,6GAI9B,CAAC;AAEX,MAAM,MAAM,+BAA+B,GAAG;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AA0BF;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,GAAG,+BAA+B,CAclH"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUBSCRIPTION_PAYMENT_EXPAND = void 0;
|
|
4
|
+
exports.subscriptionPaymentConfirmation = subscriptionPaymentConfirmation;
|
|
5
|
+
/**
|
|
6
|
+
* What a subscription create / update must expand so the first invoice's
|
|
7
|
+
* payment can be confirmed in the browser.
|
|
8
|
+
*
|
|
9
|
+
* Since Stripe API 2025-03-31 (basil) an invoice has no `payment_intent`: the
|
|
10
|
+
* client secret is on `confirmation_secret` and the PaymentIntent id under
|
|
11
|
+
* `payments`. `latest_invoice.payment_intent` stays for an app that pins an
|
|
12
|
+
* older `STRIPE_API_VERSION`; a newer version ignores it.
|
|
13
|
+
*/
|
|
14
|
+
exports.SUBSCRIPTION_PAYMENT_EXPAND = [
|
|
15
|
+
"latest_invoice.confirmation_secret",
|
|
16
|
+
"latest_invoice.payments",
|
|
17
|
+
"latest_invoice.payment_intent",
|
|
18
|
+
];
|
|
19
|
+
/** The PaymentIntent id of the invoice's default payment, current or legacy shape. */
|
|
20
|
+
function paymentIntentIdOf(invoice) {
|
|
21
|
+
const payments = invoice.payments?.data ?? [];
|
|
22
|
+
const entry = payments.find((p) => p.is_default) ?? payments[0];
|
|
23
|
+
const fromPayments = entry?.payment?.payment_intent;
|
|
24
|
+
if (fromPayments)
|
|
25
|
+
return typeof fromPayments === "string" ? fromPayments : fromPayments.id;
|
|
26
|
+
const legacy = invoice.payment_intent;
|
|
27
|
+
if (legacy)
|
|
28
|
+
return typeof legacy === "string" ? legacy : legacy.id;
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
/** The client secret of the invoice's payment, current or legacy shape. */
|
|
32
|
+
function clientSecretOf(invoice) {
|
|
33
|
+
const secret = invoice.confirmation_secret;
|
|
34
|
+
if (secret?.client_secret)
|
|
35
|
+
return secret.client_secret;
|
|
36
|
+
const legacy = invoice.payment_intent;
|
|
37
|
+
if (legacy && typeof legacy !== "string" && legacy.client_secret)
|
|
38
|
+
return legacy.client_secret;
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Whether the browser must confirm the subscription's first payment, and with
|
|
43
|
+
* which client secret.
|
|
44
|
+
*
|
|
45
|
+
* It must when the latest invoice is still `open` (not paid) and the
|
|
46
|
+
* subscription waits on it: `incomplete` after a create with
|
|
47
|
+
* `payment_behavior: "default_incomplete"`, or `past_due` after a trial upgrade
|
|
48
|
+
* whose card asked for 3D Secure.
|
|
49
|
+
*/
|
|
50
|
+
function subscriptionPaymentConfirmation(subscription) {
|
|
51
|
+
const none = { clientSecret: null, paymentIntentId: null, requiresAction: false };
|
|
52
|
+
const latestInvoice = subscription.latest_invoice;
|
|
53
|
+
if (!latestInvoice || typeof latestInvoice === "string")
|
|
54
|
+
return none;
|
|
55
|
+
const invoice = latestInvoice;
|
|
56
|
+
const clientSecret = clientSecretOf(invoice);
|
|
57
|
+
const paymentIntentId = paymentIntentIdOf(invoice);
|
|
58
|
+
const waitsOnPayment = subscription.status === "incomplete" || subscription.status === "past_due";
|
|
59
|
+
const requiresAction = waitsOnPayment && invoice.status === "open" && clientSecret !== null;
|
|
60
|
+
return { clientSecret, paymentIntentId, requiresAction };
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=subscription-payment-confirmation.js.map
|
package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription-payment-confirmation.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/subscription-payment-confirmation.ts"],"names":[],"mappings":";;;AAwDA,0EAcC;AApED;;;;;;;;GAQG;AACU,QAAA,2BAA2B,GAAG;IACzC,oCAAoC;IACpC,yBAAyB;IACzB,+BAA+B;CACvB,CAAC;AAUX,sFAAsF;AACtF,SAAS,iBAAiB,CAAC,OAAsB;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC;IACpD,IAAI,YAAY;QAAE,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;IAE3F,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACtC,IAAI,MAAM;QAAE,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,OAAsB;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC3C,IAAI,MAAM,EAAE,aAAa;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IAEvD,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACtC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,+BAA+B,CAAC,YAAiC;IAC/E,MAAM,IAAI,GAAoC,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAEnH,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC;IAClD,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAErE,MAAM,OAAO,GAAG,aAA8B,CAAC;IAC/C,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,KAAK,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC;IAClG,MAAM,cAAc,GAAG,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,YAAY,KAAK,IAAI,CAAC;IAE5F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAC3D,CAAC"}
|