Solid Start Integration
Set up Better Billing with SolidJS Start framework
Setup
Create a catch-all API route:
// src/routes/api/billing/*billing.ts
import { billing } from "@/lib/billing";
import { toSolidStartHandler } from "better-billing/integrations/solid-start";
const handler = toSolidStartHandler(billing.api);
export const { GET, POST, PUT, DELETE, PATCH } = handler;Configuration
// src/lib/billing.ts
import { betterBilling } from "better-billing";
import { corePlugin } from "better-billing/plugins/core";
import { stripePlugin } from "better-billing/plugins/stripe";
export const billing = betterBilling({
plugins: [
corePlugin({ ... }),
stripePlugin({ ... }),
],
});Webhook URL
https://yourdomain.com/api/billing/stripe/webhookServer Functions
Use Solid Start's server functions:
import { createServerAction$ } from "solid-start/server";
import { billing } from "@/lib/billing";
export const getActiveSubscriptions = createServerAction$(async (formData: FormData) => {
const userId = "user_123"; // Get from your auth system
return await billing.providers.core.getBillableActiveSubscriptions({
billableId: userId,
billableType: "user",
});
});