your message
This commit is contained in:
@ -45,6 +45,38 @@ export class StripeService {
|
||||
});
|
||||
}
|
||||
|
||||
async createOneTimeCheckoutSession(params: {
|
||||
customerId: string;
|
||||
successUrl: string;
|
||||
cancelUrl: string;
|
||||
metadata?: Record<string, string>;
|
||||
currency: string;
|
||||
unitAmount: number;
|
||||
productName: string;
|
||||
productDescription?: string;
|
||||
}): Promise<Stripe.Checkout.Session> {
|
||||
return this.stripe.checkout.sessions.create({
|
||||
customer: params.customerId,
|
||||
mode: 'payment',
|
||||
line_items: [
|
||||
{
|
||||
price_data: {
|
||||
currency: params.currency.toLowerCase(),
|
||||
unit_amount: params.unitAmount,
|
||||
product_data: {
|
||||
name: params.productName,
|
||||
description: params.productDescription,
|
||||
},
|
||||
},
|
||||
quantity: 1,
|
||||
},
|
||||
],
|
||||
success_url: params.successUrl,
|
||||
cancel_url: params.cancelUrl,
|
||||
metadata: params.metadata,
|
||||
});
|
||||
}
|
||||
|
||||
async createPortalSession(customerId: string, returnUrl: string): Promise<Stripe.BillingPortal.Session> {
|
||||
return this.stripe.billingPortal.sessions.create({
|
||||
customer: customerId,
|
||||
|
||||
Reference in New Issue
Block a user