diff --git a/app/api/billing/checkout/route.js b/app/api/billing/checkout/route.js
new file mode 100644
index 0000000..1d650f2
--- /dev/null
+++ b/app/api/billing/checkout/route.js
@@ -0,0 +1,15 @@
+import { NextResponse } from 'next/server';
+import { requireUser } from '@/lib/session';
+import { engine } from '@/lib/engine';
+
+export async function POST(req) {
+ const user = await requireUser();
+ if (!user) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
+ try {
+ const { plan_code } = await req.json();
+ const data = await engine.call('/api/billing/checkout', {
+ userId: user.id, method: 'POST', body: { plan_code },
+ });
+ return NextResponse.json(data);
+ } catch (err) { return NextResponse.json({ error: err.message }, { status: 500 }); }
+}
diff --git a/app/plans/page.js b/app/plans/page.js
index 30b73f4..c57cf74 100644
--- a/app/plans/page.js
+++ b/app/plans/page.js
@@ -96,7 +96,17 @@ export default function PlansPage() {
Начать бесплатно
) : (
)}