feat: 포트원 V2 결제 마이그레이션 + 법적 페이지 추가 (PG 심사용)
- 토스페이먼츠 SDK → 포트원 V2 (@portone/browser-sdk) 전환 - 4채널 결제수단 선택 UI: 카드(KPN)/카카오페이/네이버페이/토스페이 - 서버 결제 검증 API를 포트원 V2 조회 방식으로 변경 - 이용약관(/legal/terms), 개인정보처리방침(/legal/privacy), 환불정책(/legal/refund) 페이지 생성 - 푸터에 법적 페이지 링크 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
50
lib/payment-channels.ts
Normal file
50
lib/payment-channels.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
/**
|
||||
* 포트원 V2 결제 채널 설정
|
||||
* 포트원 admin에서 채널 추가 후 각 Channel Key를 .env.local에 설정
|
||||
*/
|
||||
|
||||
export type PayMethod = 'CARD' | 'EASY_PAY';
|
||||
|
||||
export interface PaymentChannel {
|
||||
id: string;
|
||||
label: string;
|
||||
icon: string; // SVG or emoji placeholder
|
||||
channelKey: string;
|
||||
payMethod: PayMethod;
|
||||
}
|
||||
|
||||
export const PAYMENT_CHANNELS: PaymentChannel[] = [
|
||||
{
|
||||
id: 'card',
|
||||
label: '신용/체크카드',
|
||||
icon: '💳',
|
||||
channelKey: process.env.NEXT_PUBLIC_PORTONE_CHANNEL_KPN ?? '',
|
||||
payMethod: 'CARD',
|
||||
},
|
||||
{
|
||||
id: 'kakaopay',
|
||||
label: '카카오페이',
|
||||
icon: '🟡',
|
||||
channelKey: process.env.NEXT_PUBLIC_PORTONE_CHANNEL_KAKAOPAY ?? '',
|
||||
payMethod: 'EASY_PAY',
|
||||
},
|
||||
{
|
||||
id: 'naverpay',
|
||||
label: '네이버페이',
|
||||
icon: '🟢',
|
||||
channelKey: process.env.NEXT_PUBLIC_PORTONE_CHANNEL_NAVERPAY ?? '',
|
||||
payMethod: 'EASY_PAY',
|
||||
},
|
||||
{
|
||||
id: 'tosspay',
|
||||
label: '토스페이',
|
||||
icon: '🔵',
|
||||
channelKey: process.env.NEXT_PUBLIC_PORTONE_CHANNEL_TOSSPAY ?? '',
|
||||
payMethod: 'EASY_PAY',
|
||||
},
|
||||
];
|
||||
|
||||
/** channelKey가 설정된 채널만 반환 */
|
||||
export function getActiveChannels(): PaymentChannel[] {
|
||||
return PAYMENT_CHANNELS.filter((ch) => ch.channelKey.length > 0);
|
||||
}
|
||||
Reference in New Issue
Block a user