Files
project-afterlife/apps/web/src/app/api/afc/payments/route.ts
consultoria-as a76d513659
Some checks failed
Deploy / deploy (push) Has been cancelled
feat: add AFC Store with MercadoPago purchases and prize redemption
Players can now buy AfterCoin with real money (MercadoPago Checkout Pro,
$15 MXN/AFC) and redeem AFC for gift cards or cash withdrawals. Admin
fulfills redemptions manually.

- Bridge: payments + redemptions tables, CRUD routes, PATCH auth
- Next.js API: verify-disk, balance, create-preference, webhook (idempotent
  minting with HMAC signature verification), redeem, payment/redemption history
- Frontend: hub, buy flow (4 packages + custom), redeem flow (gift cards +
  cash out), success/failure/pending pages, history with tabs, 8 components
- i18n: full English + Spanish translations
- Infra: nginx /api/afc/ → Next.js, docker-compose env vars, .env.example

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 02:26:13 +00:00

17 lines
586 B
TypeScript

import { NextRequest, NextResponse } from "next/server";
import { bridgeGet } from "../lib/bridge";
export async function GET(req: NextRequest) {
const diskId = req.nextUrl.searchParams.get("diskId");
if (!diskId) {
return NextResponse.json({ error: "diskId is required" }, { status: 400 });
}
try {
const data = await bridgeGet(`/api/payments/history/${diskId}`);
return NextResponse.json(data);
} catch (e: unknown) {
const message = e instanceof Error ? e.message : "Unknown error";
return NextResponse.json({ error: message }, { status: 500 });
}
}