opengig-stripe
Version:
A wrapper for Stripe payment services with support for checkout and payment intents
49 lines (48 loc) • 1.6 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.StripeCheckout = void 0;
class StripeCheckout {
constructor(stripe) {
this.stripe = stripe;
}
async createPaymentSession({ priceId, customerId, successUrl, cancelUrl, mode = 'subscription', quantity = 1, metadata = {}, }) {
return await this.stripe.checkout.sessions.create({
customer: customerId,
mode,
line_items: [
{
price: priceId,
quantity,
},
],
metadata,
success_url: successUrl,
cancel_url: cancelUrl,
payment_method_types: ['card'],
billing_address_collection: 'required',
allow_promotion_codes: true,
});
}
async createOneTimePaymentSession({ amount, currency = 'usd', successUrl, cancelUrl, metadata = {}, }) {
return await this.stripe.checkout.sessions.create({
mode: 'payment',
line_items: [
{
price_data: {
currency,
product_data: {
name: 'One-time payment',
},
unit_amount: amount,
},
quantity: 1,
},
],
metadata,
success_url: successUrl,
cancel_url: cancelUrl,
payment_method_types: ['card'],
});
}
}
exports.StripeCheckout = StripeCheckout;
;