|
|
@ -41,7 +41,7 @@ export class SubscriptionService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async createCheckoutSession({ |
|
|
public async createStripeCheckoutSession({ |
|
|
couponId, |
|
|
couponId, |
|
|
priceId, |
|
|
priceId, |
|
|
user |
|
|
user |
|
|
@ -61,33 +61,34 @@ export class SubscriptionService { |
|
|
} |
|
|
} |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
const checkoutSessionCreateParams: Stripe.Checkout.SessionCreateParams = { |
|
|
const stripeCheckoutSessionCreateParams: Stripe.Checkout.SessionCreateParams = |
|
|
cancel_url: `${this.configurationService.get('ROOT_URL')}/${ |
|
|
{ |
|
|
user.settings.settings.language |
|
|
cancel_url: `${this.configurationService.get('ROOT_URL')}/${ |
|
|
}/account`,
|
|
|
user.settings.settings.language |
|
|
client_reference_id: user.id, |
|
|
}/account`,
|
|
|
line_items: [ |
|
|
client_reference_id: user.id, |
|
|
{ |
|
|
line_items: [ |
|
|
price: priceId, |
|
|
{ |
|
|
quantity: 1 |
|
|
price: priceId, |
|
|
} |
|
|
quantity: 1 |
|
|
], |
|
|
} |
|
|
locale: |
|
|
], |
|
|
(user.settings?.settings |
|
|
locale: |
|
|
?.language as Stripe.Checkout.SessionCreateParams.Locale) ?? |
|
|
(user.settings?.settings |
|
|
DEFAULT_LANGUAGE_CODE, |
|
|
?.language as Stripe.Checkout.SessionCreateParams.Locale) ?? |
|
|
metadata: subscriptionOffer |
|
|
DEFAULT_LANGUAGE_CODE, |
|
|
? { subscriptionOffer: JSON.stringify(subscriptionOffer) } |
|
|
metadata: subscriptionOffer |
|
|
: {}, |
|
|
? { subscriptionOffer: JSON.stringify(subscriptionOffer) } |
|
|
mode: 'payment', |
|
|
: {}, |
|
|
payment_method_types: ['card'], |
|
|
mode: 'payment', |
|
|
success_url: `${this.configurationService.get( |
|
|
payment_method_types: ['card'], |
|
|
'ROOT_URL' |
|
|
success_url: `${this.configurationService.get( |
|
|
)}/api/v1/subscription/stripe/callback?checkoutSessionId={CHECKOUT_SESSION_ID}` |
|
|
'ROOT_URL' |
|
|
}; |
|
|
)}/api/v1/subscription/stripe/callback?checkoutSessionId={CHECKOUT_SESSION_ID}` |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
if (couponId) { |
|
|
if (couponId) { |
|
|
checkoutSessionCreateParams.discounts = [ |
|
|
stripeCheckoutSessionCreateParams.discounts = [ |
|
|
{ |
|
|
{ |
|
|
coupon: couponId |
|
|
coupon: couponId |
|
|
} |
|
|
} |
|
|
@ -95,7 +96,7 @@ export class SubscriptionService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const session = await this.stripe.checkout.sessions.create( |
|
|
const session = await this.stripe.checkout.sessions.create( |
|
|
checkoutSessionCreateParams |
|
|
stripeCheckoutSessionCreateParams |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
|