Files
jaengseung-made/app/payment/test/page.tsx
gahusb 9433a3664c feat: 사이트 3구역 개편 + AI 상품 결제 연결 + SEO 업데이트
- 사이드바: AI상품/무료도구/외주의뢰 3그룹 구조로 개편 (ARIA 시맨틱)
- 홈페이지: AI 상품 중심 재작성 (히어로+상품카드+무료도구+외주축소)
- SEO: 메타데이터·OG태그·JSON-LD를 AI 상품 포지셔닝으로 변경
- 프롬프트 페이지: 프리미엄 상품 5개에 PortOne PaymentButton 연결
- AI 키트 페이지: 월 구독 CTA 2곳에 PaymentButton 연결
- 사주: 유료 전환 복원(4,900원) + PaymentButton 연결
- 코드 품질: 인라인 스타일→globals.css, emoji→SVG, 미사용 데이터 제거
- DB 마이그레이션 005: 전체 18개 상품 등록 SQL 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 01:29:42 +09:00

57 lines
2.0 KiB
TypeScript

'use client';
import PaymentButton from '@/app/components/PaymentButton';
import { PRODUCTS } from '@/lib/products';
// DB products 테이블에 등록된 상품만 테스트 가능
const TEST_PRODUCTS = [
'saju_detail', // 4,900원
'lotto_gold', // 900원/월
'lotto_platinum', // 2,900원/월
'lotto_diamond', // 9,900원/월
];
export default function PaymentTestPage() {
return (
<div className="max-w-2xl mx-auto px-6 py-12">
<div className="mb-8">
<h1 className="text-2xl font-extrabold text-[#04102b] mb-2"> </h1>
<p className="text-slate-500 text-sm">
V2 .
</p>
<div className="mt-3 bg-amber-50 border border-amber-200 text-amber-800 text-xs px-4 py-2.5 rounded-xl">
. .
</div>
</div>
<div className="space-y-4">
{TEST_PRODUCTS.map((id) => {
const product = PRODUCTS[id];
if (!product) return null;
return (
<div
key={id}
className="flex items-center justify-between bg-white border border-slate-200 rounded-xl px-5 py-4"
>
<div>
<p className="font-semibold text-sm text-slate-800">{product.name}</p>
<p className="text-xs text-slate-400 mt-0.5">
{product.price.toLocaleString()}
{product.type === 'monthly' && ' / 월'}
<span className="ml-2 text-slate-300">({id})</span>
</p>
</div>
<PaymentButton
productId={id}
className="bg-[#1a56db] hover:bg-[#1e4fc2] text-white px-5 py-2.5 rounded-xl text-sm font-bold transition shadow-lg shadow-blue-600/20"
>
</PaymentButton>
</div>
);
})}
</div>
</div>
);
}