2
0
Files
bot/apps/builder/services/stripe.ts
2022-02-14 16:41:39 +01:00

19 lines
652 B
TypeScript

import { User } from 'db'
import { loadStripe } from '@stripe/stripe-js'
import { sendRequest } from 'utils'
export const pay = async (user: User, currency: 'usd' | 'eur') => {
if (!process.env.NEXT_PUBLIC_STRIPE_PUBLIC_KEY)
throw new Error('NEXT_PUBLIC_STRIPE_PUBLIC_KEY is missing in env')
const stripe = await loadStripe(process.env.NEXT_PUBLIC_STRIPE_PUBLIC_KEY)
const { data, error } = await sendRequest<{ sessionId: string }>({
method: 'POST',
url: '/api/stripe/checkout',
body: { email: user.email, currency },
})
if (error || !data) return
return stripe?.redirectToCheckout({
sessionId: data?.sessionId,
})
}