fix(server): selfhost subscription customer portal creation (#10149)

This commit is contained in:
forehalo
2025-02-13 08:23:28 +00:00
parent ea95ff39c5
commit ab538ef9bb
2 changed files with 6 additions and 9 deletions
@@ -228,24 +228,24 @@ export class LicenseController {
@Post('/:license/create-customer-portal')
async createCustomerPortal(@Param('license') key: string) {
const invoice = await this.db.invoice.findFirst({
const subscription = await this.db.subscription.findFirst({
where: {
targetId: key,
},
});
if (!invoice) {
if (!subscription || !subscription.stripeSubscriptionId) {
throw new LicenseNotFound();
}
const invoiceData = await this.stripe.invoices.retrieve(
invoice.stripeInvoiceId,
const subscriptionData = await this.stripe.subscriptions.retrieve(
subscription.stripeSubscriptionId,
{
expand: ['customer'],
}
);
const customer = invoiceData.customer as Stripe.Customer;
const customer = subscriptionData.customer as Stripe.Customer;
try {
const portal = await this.stripe.billingPortal.sessions.create({
customer: customer.id,