fix stripe configuration

This commit is contained in:
2026-05-26 13:47:43 -04:00
parent 72609755f8
commit 3bcbdae678
35 changed files with 1189 additions and 1727 deletions

View File

@@ -84,8 +84,8 @@ function createCaller(user: User | null) {
createCheckoutSession: t.procedure.use(isAuthed)
.input(wrap(CreateCheckoutSessionSchema))
.mutation(async ({ ctx, input }) => {
const i = input as { priceId: string; successUrl: string; cancelUrl: string };
return mockCreateCheckoutSession(ctx.user.id, ctx.user.email, i.priceId, i.successUrl, i.cancelUrl);
const i = input as { priceId: string; returnUrl: string };
return mockCreateCheckoutSession(ctx.user.id, ctx.user.email, i.priceId, i.returnUrl);
}),
createPortalSession: t.procedure.use(isAuthed)
.input(wrap(CreatePortalSessionSchema))
@@ -159,20 +159,20 @@ describe("billing.getSubscription", () => {
});
describe("billing.createCheckoutSession", () => {
it("creates checkout session and returns URL", async () => {
it("creates checkout session and returns clientSecret", async () => {
mockCreateCheckoutSession.mockResolvedValue({
url: "https://checkout.stripe.com/session_123",
clientSecret: "cs_123_secret",
sessionId: "session_123",
});
const api = createCaller(makeUser());
const result = await api.createCheckoutSession({
priceId: "price_basic",
successUrl: "https://example.com/success",
cancelUrl: "https://example.com/cancel",
returnUrl: "https://example.com/return",
});
expect(result.url).toBe("https://checkout.stripe.com/session_123");
expect(result.clientSecret).toBe("cs_123_secret");
expect(result.sessionId).toBe("session_123");
});
});

View File

@@ -48,8 +48,7 @@ export const billingRouter = createTRPCRouter({
ctx.user.id,
ctx.user.email,
input.priceId,
input.successUrl,
input.cancelUrl,
input.returnUrl,
);
}),

View File

@@ -2,8 +2,7 @@ import { object, string, url, minLength, optional, picklist } from "valibot";
export const CreateCheckoutSessionSchema = object({
priceId: string([minLength(1)]),
successUrl: string([url()]),
cancelUrl: string([url()]),
returnUrl: string([url()]),
});
export const CreatePortalSessionSchema = object({