feat(#14): Update signup component to create a stripe customer on signup

This commit is contained in:
Josh Creek
2024-07-04 19:22:39 +01:00
parent 1303c97f72
commit 66698445f2
+21 -1
View File
@@ -1,10 +1,15 @@
<script lang="ts"> <script lang="ts">
import stripe from 'stripe';
import { PUBLIC_STRIPE_SECRET_KEY } from '$env/static/public';
let email = ''; let email = '';
let password = ''; let password = '';
// Access the supabase client from the layout data // Access the supabase client from the layout data
export let supabase: any; export let supabase: any;
const stripeClient = new stripe(PUBLIC_STRIPE_SECRET_KEY);
async function signUpNewUser() { async function signUpNewUser() {
try { try {
const { data, error } = await supabase.auth.signUp({ const { data, error } = await supabase.auth.signUp({
@@ -12,7 +17,7 @@
password: password, password: password,
options: { options: {
// Redirect URL after successful sign-up // Redirect URL after successful sign-up
redirectTo: '/welcome' redirectTo: '/profile'
} }
}); });
@@ -20,6 +25,21 @@
throw error; throw error;
} }
const customer = await stripeClient.customers.create({
email
});
const response = await supabase
.from('user')
.update({
customer_id: customer.id
})
.match({
id: data.user.id
});
console.log(response);
// Handle success (optional) // Handle success (optional)
} catch (error: any) { } catch (error: any) {
console.error('Sign up error:', error.message); console.error('Sign up error:', error.message);